samedi 31 mai 2014

ToggleButton does not have centered text as expected



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Exclamation ToggleButton does not have centered text as expected



    ToggleButton does not have centered text as expected





    In 3.1.0 ToggleButtons no longer have centered text if the button also contains an icon. The text needs to be centered on the button not left aligned, and have consistent behavior with and without an icon.

    I had reported this in the beta phase for 3.1 but it's still broke in the released version. This is a show stopper for us for the 3.1 product as we can't have some centered text and some left justified.














backgorund stays red when I set setBadgeText(null)

[unable to retrieve full-text content]Hi all I have a badgeText on a back button but when I set setBadgeText(null) the red background stays behind the back button. Anyone an idea...


Tree DD reorder same levels only

I have a tree with multiple levels, and each level has different types of nodes, e.g.:

- Territory1

- - Country 1

- - - City 1

- - - City 2

- - Country 2

- - - City 3

- - - City 4


I want to enable reordering using DD, but only within each level. For example, dragging City1 should only work within Country1. Dragging Country1 should only work under Territory1.


Likewise, I would like to enable drop from another tree only into a specific level, e.g. dragging a city into the tree should allow it to drop only under a country node.


Is this possible?





Ext.window.Window hidden:false does not work



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Exclamation Ext.window.Window hidden:false does not work



    Ext.window.Window hidden:false does not work





    Execute this in firebug...

    Code:



    Ext.create('Ext.window.Window', {title:'AutoShow', hidden: false, modal: true, html:'This is an autoshowing window.'});

    I would expect the window to show. It does not show for Ext 4.2 either.

    It does show for Ext 3.4



    Code:



    new Ext.Window({title:'AutoShow', hidden: false, modal: true, html:'This is an autoshowing window.'});

    I think this was mentioned in another post and I agree, I believe this default should be false.












A problem which recurs periodically with ComponentLoader

I have a model that represent image which should be displayed.


Code:



Ext.define('ItemModel', {
extend: 'Ext.data.Model',
idProperty: 'itemModel',
fields: [{
name: 'id',
type: 'int'
},{
name: 'src',
type: 'string'
}]
});

I'm using a 'store' with a 'reader' to add imaged on panel:


Code:



var previews = Ext.create('Ext.Panel',{
layout: 'column',
height: 500,
});

Ext.define('ItemModelStore', {
extend: 'Ext.data.Store',
model: 'ItemModel',
proxy: {
type: 'ajax',
url: 'php/read.php',
reader:{
type:'json',
root: 'objs'
}
}
});

var itemModelStore = Ext.create('ItemModelStore');
itemModelStore.load(function() {
itemModelStore.each(function(record){
previews.add({
'id': record.get('id'),
'xtype': 'image',
'src': record.get('src'),
'style' : 'padding-left:5px;padding-top:5px;cursor:pointer;',
listeners: {
el: {
click: function() {
albumId = record.get('id');
var tabs = Ext.getCmp('tabs');
tabs.remove('albumsTab', true);
tabs.remove('photosTab', true);
tabs.add({
title: 'New album',
items: [
{
xtype: 'panel',
layout: {
type: 'vbox',
align: 'stretch'
},
items: [
uploadForm
]
}
]
});
}
}
}
});
});
});
previews.doLayout();

In a first time loading a page displayed fine. But if I reload page, periodically the error occurs in 37654 row of ext-all-dev.js:



TypeError: me.el is null me.container = Ext.get(me.el.dom.parentNode);



JSON retrieved from server is looks like this:



{"objs":[{"id":"1","src":"img\/newalbum.png"},{"id":"2","src":"img\/newalbum1.png"}]}





I'm using Ext JS 4.1.


AcionSheet in Cupertino theme native looking

[unable to retrieve full-text content]Hi. Why the ActionSheet in Cupertino theme does not reflect the aspect of its native counterpart on iPhone? Please see below the screenshot of a...


Web app not using full screen under iOS 7.1 when packaged

I've tested my web app in the iOS Simulator, on an iPhone 3GS in Safari running iOS 6.1 and on an iPhone 5 in Safari running iOS 7.1 and all seems OK.

Here is the iPhone 3GS/iOS 6.1 screenshot:


web app ios 6.PNG


and here is the iPhone 5/iOS 7.1 screenshot:


web app ios 7.jpg


As you can see, it happily uses the full screen on the iPhone 5/iOS 7.


However when I package it as a native app and run it on the iPhone 5/iOS 7 it has black bars at the top and bottom of the screen & the status bar is pushed down:


ios app ios 7.jpg


I've checked other posts and run "sencha app upgrade --noframework" and "sencha app build -r native" neither of which had any effect.


I'm using Sencha Touch 2.3.1a and Sench Cmd 4.0.4.84


Looking forward to hearing how to overcome this problem.





Road map for modern features (MVVM and other extjs 5)

Hi,

When (if at all) do you intend to provide the features already found in the latest release of ExtJS 5 as part of sencha touch. We are starting a new project, and are not satisfied with the current flavour of MVC/routing architecture of version 2.x. We do not find deftjs to be any better, since while fixing some issues it breaks other things (such as routing).


When/can we expect this to be available for beta? When can we expect a production release?


10x





vendredi 30 mai 2014

Where's the MultiSelectGrid widget?

What cloud storage are people using with Sencha?

When designing a mobile app, it's common to need to line up a cloud storage service for account management, data storage, real-time updates, etc. What are other people using with Sencha?

There are lots of options for hosted services, including running my own db server. But what about other features like iOS notifications, etc? Sencha Space seems a bit much for someone developing a smaller stand-alone app for the app store, and it's hard to tell if it does everything sencha.io was meant to do before they canned it.


Thanks!





Click handler for div added in column renderer ?

Hi,

I am adding a <div> and html table for a sparkline within a grid column renderer.


How can I add a on click listener to that div (string) within the renderer, since it won't yet be added to the DOM ?


Thanks !


simplified code...



Code:



columnSparklineRenderer: function(value, metaData, record, rowIndex, colIndex, store) {


var myData = record.get('usefulStuff'),
sparkline = '<div id="' + "sparkline" + idValue + '" class="f-myGrid-sparkline"><table><tr>';


for(var i=0; i<myData.length; i++) {


var cellData = myData[i],
cellClass = 'myCellClass';


sparkline += '<td style="width:5px" class="' + cellClass + '"></td>';
}


sparkline += '</tr></table></div>';
return sparkline + '<div style="font-weight:bold">' + value + '<div>';
},




Why does the first panel of ExtJS 4.2.1 accordion layout never close?

I have an ExtJS 4.2.1 accordion layout with three panels.

When the app is first launched, the first panel is open and the 2nd/3rd are closed.


I can open and close the 2nd and 3rd, but I can never close the first panel.



Code:



Ext.define('MyAccordion', {
extend: 'Ext.container.Container',
alias: 'widget.myAccordion',
padding: 0,
margin: 0,
width: 200,

layout: {
type: 'accordion',
align: 'stretch',
animate: true,
hideCollapseTool: true
},


items: [{
xtype: 'panel',
title: 'Test Volumes',
layout: {
type: 'vbox',
align: 'stretch'
},
items: [{
xtype: 'label',
text: 'volume one'
},{
xtype: 'label',
text: 'volume two'
},{
xtype: 'label',
text: 'volume three'
}]
}, {
xtype: 'panel',
title: 'Production Volumes',
layout: {
type: 'vbox',
align: 'stretch'
},
items: [{
xtype: 'label',
text: 'volume one'
},{
xtype: 'label',
text: 'volume two'
},{
xtype: 'label',
text: 'volume three'
}]
}, {
xtype: 'panel',
title: 'Extra Volumes',
layout: {
type: 'vbox',
align: 'stretch'
},
items: [{
xtype: 'label',
text: 'volume one'
},{
xtype: 'label',
text: 'volume two'
},{
xtype: 'label',
text: 'volume three'
}]
}]
});

In the following code leveraged from the 4.2.1 examples layout browser example, if the first thing you do after launching the app is click the first header, is does close, but then re-open it and it never closes again:

Code:



Ext.onReady(function() {
Ext.create('Ext.container.Viewport', {
renderTo: Ext.getBody(),
items: [{
xtype: 'panel',
title: 'Accordion Layout',
layout: 'accordion',
defaults: {bodyStyle: 'padding:15px'},
items: [{
title: 'Introduction',
tools: [{type:'gear'},{type:'refresh'}],
html: '<p>Here is some accordion content. Click on one of the other bars below for more.</p>'
},{
title: 'Basic Content',
html: '<br /><br /><p>More content. Open the third panel for a customized look and feel example.</p>',
items: {
xtype: 'button',
text: 'Show Next Panel',
handler: function(){
Ext.getCmp('acc-custom').expand(true);
}
}
},{
id: 'acc-custom',
title: 'Custom Panel Look and Feel',
cls: 'custom-accordion', // look in layout-browser.css to see the CSS rules for this class
html: '<p>Here is an example of how easy it is to completely customize the look and feel of an individual panel simply by adding a CSS class in the config.</p>'
}]
}]
});
});

Even more strange, if I do show the collapse/expand tool, the tool for the first panel stops working.


RTL In Responsive Mixin

I was looking at the responsiveConfig of the Responsive mixin documentation and realized that one of the obvious addition in the scopes will be "rtl". In an earlier discussion, "RTL Support: Is There A Right Way Left?" @dongryphon has suggested a way to handle cases where developers of multi-lingual applications may choose for "dock" config or "region" in border layout if they want it to switch the left/right or east/west directions when switching between RTL and LTR languages. Sometimes it is not desired to mirror the sidebars when switching to a langues with different direction while sometimes it is.

Adding a "direction" or "rtl" scope in "responsiveConfig" seems to be very clean approach to solve this problem. Here is the quote from @dongryphon's post:





All very good points and thanks for taking the time to provide so much detail.

We discussed adding "start" and "end" options, but those words did not make sense in a 2D space... for example: left, top, right, bottom would become start, top, end, bottom. Also north, south, east, west ... all were problematic nomenclature.


That said, there are ways to achieve this goal, though not declaratively:



Code:



region: rtl ? 'east' : 'west'

dock: rtl ? 'right' : 'left'

We could probably add something declarative here. Perhaps "west!" and "left!". Thoughts?








Displaying Mapquest map in ExtJs single-page aplication - Ext 4.2.2

I am having a problem using the Mapquest API to render a Mapquest map in an ExtJS panel.

I've done the following:



Code:



generateMap: function(){
var mapPanel = Ext.create('Ext.panel;
var mapOptions = {
elt: mapPanel.body.dom, /*ID of element on the page where you want the map added*/
zoom: 10, /*initial zoom level of the map*/
latLng: { lat: 40, lng: -78 }, /*center of map in latitude/longitude */
mtype: 'map', /*map type (map)*/
bestFitMargin: 0, /*margin offset from the map viewport when applying a bestfit on shapes*/
zoomOnDoubleClick: true /*zoom in when double-clicking on map*/
};
var map = new MQA.TileMap(mapOptions);



return mapPanel;
}

I believe that this code is correct. (Please alert me to any problems you see!)

As such, I'm very confused as to why my panel is not displaying a Mapquest map.


If anyone has any input, I'd be most appreciative!


Thank you!





Chart bug on tab panel, rendered in other than selected tab..

When I create a chart in a tab panel, it works fine as long as it's positioned in "selected" tab on render. But if I place it in hidden / other than selected tab, it throws error, and the panel draws blank.


I tried to create a test case in Sencha Fiddle but I failed. I didn't know how to include sencha-chart package to a sencha fiddle project. I'm using code from examples, and an app generated by sencha command. So here is my code (I put it all in app/view folder):



Code:



Ext.define('MyApp.view.main.Chart', {
extend: 'Ext.Panel',
requires: 'Ext.chart.Chart',
xtype: 'myapp-chart',
layout: 'fit',
initComponent: function() {

var me = this;

this.myDataStore = Ext.create('Ext.data.JsonStore', {
fields: ['month', 'data1', 'data2', 'data3', 'data4',
{ name: 'other', convert: function(value, record) {
var total = 0;
Ext.Object.each(record.data, function(key, value) {
total += Ext.isNumber(value) ? value : 0;
});
return Math.max(0, 100 - total);
} }
],
data: [
{ month: 'Jan', data1: 20, data2: 37, data3: 35, data4: 4 },
{ month: 'Feb', data1: 20, data2: 37, data3: 36, data4: 5 },
{ month: 'Mar', data1: 19, data2: 36, data3: 37, data4: 4 },
{ month: 'Apr', data1: 18, data2: 36, data3: 38, data4: 5 },
{ month: 'May', data1: 18, data2: 35, data3: 39, data4: 4 },
{ month: 'Jun', data1: 17, data2: 34, data3: 42, data4: 4 },
{ month: 'Jul', data1: 16, data2: 34, data3: 43, data4: 4 },
{ month: 'Aug', data1: 16, data2: 33, data3: 44, data4: 4 },
{ month: 'Sep', data1: 16, data2: 32, data3: 44, data4: 4 },
{ month: 'Oct', data1: 16, data2: 32, data3: 45, data4: 4 },
{ month: 'Nov', data1: 15, data2: 31, data3: 46, data4: 4 },
{ month: 'Dec', data1: 15, data2: 31, data3: 47, data4: 4 }
]
});

me.items = [{
xtype: 'cartesian',
width: '100%',
height: 410,
style: 'background: #fff;',
legend: {
docked: 'bottom'
},
store: this.myDataStore,
insetPadding: {
top: 40,
left: 40,
right: 40,
bottom: 20
},
items: [{
type: 'text',
text: 'Column Charts - 100% Stacked Columns',
font: '22px Helvetica',
width: 100,
height: 30,
x: 40, // the sprite x position
y: 20 // the sprite y position
}, {
type: 'text',
text: 'Data: Browser Stats 2012',
font: '10px Helvetica',
x: 12,
y: 380
}, {
type: 'text',
text: 'Source: http://ift.tt/rAg5Mm',
font: '10px Helvetica',
x: 12,
y: 390
}],
axes: [{
type: 'numeric',
position: 'left',
grid: true,
fields: ['data1', 'data2', 'data3', 'data4', 'other' ],
renderer: function(v) { return v + '%'; },
minimum: 0,
maximum: 100
}, {
type: 'category',
position: 'bottom',
grid: true,
fields: ['month'],
label: {
rotate: {
degrees: -45
}
}
}],
series: [{
type: 'bar',
axis: 'left',
title: [ 'IE', 'Firefox', 'Chrome', 'Safari', 'Others' ],
xField: 'month',
yField: [ 'data1', 'data2', 'data3', 'data4', 'other' ],
stacked: true,
style: {
opacity: 0.80
},
highlightCfg: {
fillStyle: '#000',
lineWidth: 1,
strokeStyle: '#fff'
},
tips: {
trackMouse: true,
style: 'background: #FFF',
height: 20,
renderer: function(storeItem, item) {
var browser = item.series.title[item.series.yField.indexOf(item.yField)];
this.setTitle(browser + ' for ' + storeItem.get('month') + ': ' + storeItem.get(item.yField) + '%');
}
}
}]
}];

this.callParent();

}
});


Code:



Ext.define('MyApp.view.main.Main', {
extend: 'Ext.container.Container',
requires: [
'MyApp.view.main.Chart'
],
xtype: 'app-main',

controller: 'main',
viewModel: {
type: 'main'
},

layout: {
type: 'border'
},

items: [{
xtype: 'panel',
bind: {
title: '{name}'
},
region: 'west',
html: '<ul><li>This area is commonly used for navigation, for example, using a "tree" component.</li></ul>',
width: 250,
split: true,
tbar: [{
text: 'Button',
handler: 'onClickButton'
}]
},{
xtype: 'tabpanel',
region: 'center',
items:[{
title: 'Tab 1',
html: '<h2>Content appropriate for the current navigation.</h2>'

},{
title: 'Tab 2',
xtype: 'myapp-chart'


}]
}]
});




One page application, how many views ?

Hello

I'm fairly new to ExtJS's MVC concept and I plan to do a one page application. A navigation menu's buttons will simply hide and show windows with whatever items they'll have.


From there, I am a bit confused as how many views I will need.


The view "Viewport.js" seems to be used to declare all views and host methods that create them. In this example, "createSearchBar" for create the view that holds the search bar.


But this example shows all views at once all rendered into the viewport.


How one would handle showing and hiding views to give the illusion of browsing from page to page and what needs to be done in MVC for this to be done as per best practices ?





It is possible spinnerfield in Ext.Picker

It is possible to insert a spinnerfield inside a Picker? Or it is best to insert it in an ActionSheet?

I'm developing a mobile commerce app. Products are in a dataview (vertical list) and on itemtap I display an ActionSheet /Picker showing all variations and the possibility for the user to select a quantity for each variation (so user can buy, for example, two items of the red variation and one of the green variation).


I would use multille spinnerfield for the quantity selector, arranged vertically.


Best the action sheet or the picker? I need scrolling as variations may be up to 10





ST Rhino Parse Error with Ext.ux.AccordionList after upgrading Sencha Cmd

I made an app with SA (3.0.4). After upgrading to the last Command version the app cannot be compiled, even though it runs smoothly on the browser.

Trying to compile it for testing the following error is coming up now and again:

Code:



[ERR] C2000: Rhino Parse Error (missing ; before statement => "className" : "Ext.ux.AccordionList",) -- /Applications/XAMPP/xamppfiles/htdocs/aprojects/AlvaroDelPortillo/touch/src/ux/AccordionList.js:2:18

... followed by plenty of errors referred to that same file.

Would anyone give me some directions to solve this problem? Thanks in advance.

Fdo


How get column Id in Tree Panel

var treePanel = Ext.create('Ext.tree.Panel', { id: 'tree-panel', title: 'Sample Layouts', region:'north', split: true, height: 560, minSize: 150, rootVisible: false, autoScroll: true, store: store, columns: [ { xtype: 'treecolumn', text: 'name', flex: 2.5, sortable: true, dataIndex: 'name' }, { text: 'id',//I want to get this id flex: 1, dataIndex: 'id', sortable: true } , { text: 'Done', dataIndex: 'done', width: 55, stopSelection: false, menuDisabled: true, listeners:{ renderer:function(value, metaData, record, rowIndex, colIndex, store,column){ My code... } } }] });

How can i get column id or dataIndex in the rendered fuction


for example if the column is 'Done' how can i get its dataIndex 'done'

Please do help me in getting this since column["id"] is tree node id.





Text Overwrite Issue

Hi,

Can anyone please tell me how text overwrite functionality works in textbox.


Like if we press insert key of keyboard and thn we write in between the text of textbox it overwrites the text after the cursor.


similarly i want to implement in textbox of sencha, is there any property by which directly we can implement this ?


Thanks in advance,

Ankit





Component.setVisible() has no when not rendered yet



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Default Component.setVisible() has no when not rendered yet



    Component.setVisible() has no when not rendered yet





    Ext version tested:

    Description:

    • Component.setVisible() has no effect when component is not rendered yet




    Steps to reproduce the problem:

    • Create Grid

    • Cycle through columns and hide some using setVisible(false)




    The result that was expected:

    The result that occurs instead:

    Currently I have to do:


    Code:



    // Create grid
    Ext.suspendLayouts();

    grid.headerCt.items.each(function(col) {
    // Obviously this would be based on something dynamic
    var visible = (col.itemId == 'test');
    col.hidden = !visible;
    col.setVisible(visible);
    });

    Ext.resumeLayouts(true);
    // Add grid to parentCt

    or:


    Code:



    Ext.define('ECL.override.Component', {
    override: 'Ext.Component',

    setVisible : function(visible) {
    this.hidden = !visible;
    return this[visible ? 'show': 'hide']();
    }
    });

    Would it be an idea to make the override the standard behavior as this seems to be the intent.












Where to set rights for users to managing apps?

jeudi 29 mai 2014

Ext.form.Panel - setValues() and checkboxfield



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Default Ext.form.Panel - setValues() and checkboxfield



    Ext.form.Panel - setValues() and checkboxfield





    ST 2.3.2

    Issue: When a checkbox is "checked" and setValues is called to "uncheck" the checkbox > no effect.














[5.0.0] GridPanels with Bound Chained Stores Have Views Drawn Twice



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Default [5.0.0] GridPanels with Bound Chained Stores Have Views Drawn Twice



    [5.0.0] GridPanels with Bound Chained Stores Have Views Drawn Twice





    Ext version tested:

    Browser versions tested against:




    Description:

    • Chained stores in a ViewModel that are bound to a GridPanel cause the GridPanel's View to be drawn twice. If the binding is replaced with a direct reference to the parent's storeId, the grid panel is only drawn once




    Steps to reproduce the problem:

    • See fiddle attached below




    The result that was expected:

    • GridPanel's View should be drawn once




    The attached fiddle shows two grids, one with a bound store, the other one with an explicit store configuration. The "refresh" event on the grids writes the following to the console.

    [Log] Bound Store Updated (fiddle.sencha.com, line 61)

    [Log] Bound Store Updated (fiddle.sencha.com, line 61)

    [Log] Configured Store Updated (fiddle.sencha.com, line 61)


    See the following Fiddle:














  3. Default







    It's fairly difficult to call this a bug. The view model notifications run asynchronously, so the first time the view refreshes it has the empty store attached to it. Once the VM fires, the chained store gets bound (after render) to the parent store.

    You would get the same behaviour had you not configured the grid with a store. The difficulty is that you don't know when the bind will show up.








    Evan Trimboli

    Sencha Developer

    Twitter - @evantrimboli

    Don't be afraid of the source code!












  4. Default







    That's what I thought at first...

    So I added a column renderer to output the firstName field on every pass. It appears that the data is already available in the chained store the first time the view refreshes.


    I've updated the fiddle to reflect this.


    Here's my output:


    [Log] Jimmy (fiddle.sencha.com, line 67)

    [Log] Robert (fiddle.sencha.com, line 67)

    [Log] John Paul (fiddle.sencha.com, line 67)

    [Log] John (fiddle.sencha.com, line 67)

    [Log] Bound Store Updated (fiddle.sencha.com, line 61)

    [Log] Jimmy (fiddle.sencha.com, line 67)

    [Log] Robert (fiddle.sencha.com, line 67)

    [Log] John Paul (fiddle.sencha.com, line 67)

    [Log] John (fiddle.sencha.com, line 67)

    [Log] Bound Store Updated (fiddle.sencha.com, line 61)

    [Log] Jimmy (fiddle.sencha.com, line 67)

    [Log] Robert (fiddle.sencha.com, line 67)

    [Log] John Paul (fiddle.sencha.com, line 67)

    [Log] John (fiddle.sencha.com, line 67)

    [Log] Configured Store Updated (fiddle.sencha.com, line 61)














Element setRegion gone?

[unable to retrieve full-text content]Any replacement for it? Documented in the upgrade guide? Is there a compat layer file I could check in the mean time?


How can I clear the data from a second combo of a linked combobox pair after changing

I have 2 comboboxes which are linked. The data store of the first combo box remains constant, but the data store of the second combo box changes depending on the data selected in the first combo box.

Fairly straight forward so far:

Select Disease Combo box



Code:



Ext.define("COMS.view.Common.selDisease" ,{
extend: "Ext.form.field.ComboBox",
alias : "widget.selDisease",
name : "selDisease",
store : "DiseaseType",
emptyText : "Select a Cancer Type",
allowBlank: false,
width: 500,
size : 50,
labelWidth: 160,
fieldLabel: "Select a type of cancer <em>*</em>",
labelAlign: "right",

displayField: "name",
valueField: "id"
});



Select DiseaseStage Combo box

Code:



Ext.define("COMS.view.Common.selDiseaseStage" ,{
extend: "Ext.form.field.ComboBox",
alias : "widget.selDiseaseStage",
name : "Select Disease Stage Control",
store : "DiseaseStage",
emptyText : "Select a Cancer Stage",
allowBlank: false,
width: 250,
size : 10,
labelWidth: 90,
fieldLabel: "Cancer Stage",
labelAlign: "right",

displayField: "Stage",
valueField: "ID"
});

Event Handlers

Code:



onDiseaseSelected: function (combo, recs, eOpts) {
this.application.Cancer = recs[0].data;
var stage = this.getDiseaseStage();
var stageStore = stage.getStore();
stageStore.removeAll();

stageStore.load({
scope : this,
params : {
URL : Ext.URLs.DiseaseStage + "/",
ID : this.application.Cancer.id
}
});
},

onDiseaseStageChange: function (combo, recs, eOpts) {
this.application.Cancer.Stage = recs[0].data;
}

Now, if I select "Appendix Cancer" in the Disease combo box my selectable values for the Disease Stage combo box are as follows:

DiseaseStage Store for Appendix Cancer Data:



Code:



Value: "Stage 1", ID : "S1a"
Value: "Stage 2", ID : "S2a"
Value: "Stage 3", ID : "S3a"
Value: "Stage 4", ID : "S4a"

So if I select "Stage 1" for my disease stage in my second combo box the "value" of the field is "S1a" (but the combo displays "Stage 1").

All good so far.

Now, if I go back and select "Colon Cancer" in the Disease combo box, a different data set is loaded into the store:



Code:



Value: "Stage Alpha", ID : "S1b"
Value: "Stage Beta", ID : "S2b"
Value: "Stage Gamma", ID : "S3b"
Value: "Stage Epsilon", ID : "S4b"

Note that there is no matching value for an ID of "S1a" which was the value from the initial selection.

I see "S1a" in the Disease Stage combo box before I even have the chance to make a selection.

HOW do I prevent the disease stage combo from displaying the ID value from the previously store and display the "emptyText" configured for the combo box?


I've tried so many various combinations of clearValue(), setValue(""), reset(), resetOriginalValue(), resetOriginalValue(), bindStore(null), etc that I have just run out of methods on the combobox to call! .


Thanks in advance

MikeB





Question about reader's rootProperty and Parse.com's REST API

My backend is Parse.com's REST API, and parse send me back a results object that looks like:

{

...fields...

}


when there is only object, meaning any time there is a create, a read or an update to one record. When I GET a collection of objects from Parse, it sends out a results object that looks like:


{

results: [

{

...fields...

}

]

}


In ST, when I have my proxy's reader's rootProperty set to: 'results', my reader isn't able to read the record Parse sends on a create or an update and therefore the local record doesn't get synced with the one the server sent.


When I have my reader's rootProperty set to: '', my local record gets synced with the one that Parse sent, but now my list, which takes a store, isn't displaying the list of records, because Parse sends that with a "results" node.


I tried using setRootProperty, but despite confirming that the reader's root property just before calling save() on a record is in fact: '', the local record doesn't sync with Parse's response. As soon as I remove the logic that does real time changes to root property, it starts working again.


What is the suggested way of handling this situation? Any help is much appreciated! Thanks!





Pop up at app launch

I have an existing architect project using Sencha Touch that has a listview as the main page and a second page with details. It works great.

I now want to add a pop up dialog at launch for the user to enter an authentication token, which I plan to verify before allowing them to continue.


Could anyone give me a pointer on how to add this pop up capability to an existing Architect app?


Thanks in advance,

Tim





how to bind a store to all the references to an xtype

so I have an xtype (extending grid) that has no store defined. in the controller I do a


Code:



grid.bindStore(store);

and now that grid is bound to that store as expected. but other references of that xtype are not.

I understand why. I want to know if there is a way of doing it with out creating a for loop of the


Code:



Ext.ComponentQuery.query('mygrid')[i].bindStore(store);




GridPanel - RemoteSort is not working correctly

Using ExtJS 4.2.1,

I have a GridPanel, and a store.


On the store it's configured with remoteSort set to true, it does send the parameters to the server. That's not the problem.


In this case, it's a reporting tool, so I am sorting by individual fields (in this case, registrations on our webpage).


I checked the JSON, it returns in proper order from the server, however, once it hits the grid, it seems to filter by the internal elements..


It's not putting them in the order it's receiving them, I don't know why.


It goes something like: 1,2,3,4,5,11,10,13


Anyone have any idea why this is happening and how to fix that?





How to insert other text in an ExtJS XTemplate tpl?

UPDATE - SOLVED - I solved this by adding to the data in my setLinks() method, and then referencing the value like this: {baseText}

I am using an XTemplate in my custom component to generate LI elements in an UL element.


But elsewhere in the HTML, outside the tpl definition, I need to insert text from another config into a span in the HTML.


So in the code below, the tpl generates the LI elements, but I need this.baseText to be inserted into the span element. baseText will not change, but I can't just hard code it because it will differ for localization.


Currently the span displays UNDEFINED.



Code:



Ext.define('MyQuickLinks', {
extend: 'Ext.Component',
alias: 'widget.myQuickLinks',


baseText: 'Quick Links',


// Use an XTemplate to dynamically create the quick link HTML.
tpl: new Ext.XTemplate(
'<div style="border-bottom-style: solid; border-bottom-color: #666666; border-bottom-width: 1px; margin-bottom: 5px;">' +
'<div style="border-bottom-style: solid; border-bottom-color: #666666; border-bottom-width: 1px; padding-bottom: 4px;">' +
'<span style="font-weight: bold; font-size: 12px;">{baseText}</span>' +
'</div>' +
'<ul style="list-style-type: none; font-size: 12px; margin-top: 4px; margin-left: 10px;">' +
'<tpl for=".">' +
'<li>{label}</li>' +
'</tpl>' +
'</ul>' +
'</div>'),


setLinks: function(data) {
data.baseText = this.baseText;
this.update(data);
}
});




Separate css for IE and not-IE

Hi,

I need to produce seperate css files , one with IE support and one without.

I guess that It's needed to compile the sass second time, and somehow pass $include-ie=false.

Can anyone give a hint how it can be achieved (at least setting a SASS variable during build from ant) ?


Thanks,

Michael






Tree Panel Grouped header is not Working

Hi i am using sandbox (4.0) version to render tree panel

I want to group the column header of tree Panel

But it is not working


here is my code


var treegrid=Ext4.create('Ext4.tree.Panel', {

title: repName,

renderTo:treerender,

//border:false,

rootVisible:false,

columnLines: true,

anchor:'100%',

layout: 'fit',

width:resolutionWidth,

height: 500,

plugins:[new Ext.ux.grid.ColumnHeaderGroup({

rows: leveljson

})],

columns: columnModel,

storetore,

frame:false,

footer:false,

// layout:'fit',

viewConfig: {

forceFit: forcefitFlag,

scrollOffsetcrollOffsetFlag

},

tbar: Ext4.create('Ext4.toolbar.Toolbar', {

hideBorders:true,

id:'tbarmain'+resA["title"],

bodyStyle:'padding:3px',

frame:false,

items:[{

xtype:'tbtext',

text: '<span style="color:black;font-size:11px;font-family:tahoma;font-weight:bold;" ext:qtip="'+reportdescription+'">'+resA["title"]+'</span>'//the description of the report appears when hovering the reportname

}


]})


});


It is coming like this


682BE4EEC76423.jpg


I want like this


EEADE173FB20F9.jpg





Apk Release Android build file missing

Hi there, I think I found a bug inside Sencha Architect.

Here the detail:



Code:



version: 3.0.4.1386
channel: 3.0.1-stable
platform: 1.3.0.803
cmd: 4.0.4.84
framework: Sencha Touch 2.3.2

If I build the android app using the Debug configuration the .apk file is generated correctly.

I can install on my android device and it works perfectly.

The .apk file is generated in



Code:



/build/native-package-mobile/<appName>/http://ift.tt/1tTrzc9

After that I change the If I build the android app using the "Release" configuration the .apk file is missing.

The build file is should be in



Code:



build/native-package-mobile/<appName>/packager.json

but the folder is empty.

During the build process I can see the files generated by sencha cmd, but when cmd arrives at the last step the folder returns empty.


Thanks for your help.





TextBox Cursor Position

[unable to retrieve full-text content]Hi, is there any method to get the cursor position in the text box ? I have a requirement where as the user types in the textbox i need to...


Gauge series with sectors

Hi,

I am trying to create a gauge chart with diferent sectors, as it is explained in the API documentation, but it is not working.


http://ift.tt/1owXsr9


Is this a bug? Or maybe the documentation is wrong?


Thanks in advance,


Lucia





mercredi 28 mai 2014

Scroller problem.

I have a container that is preloaded with some HTML values from database and it has scroller into.

Now this container has a with attribute

Code:



contenteditable="true"

.

Now when I am trying to edit it, the scroller bugs, see the image below:


Untitled5.png


Do you have any idea to solve this?





Does a Ext.data.reader.Json use an idProperty? If not, bug in docs



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Default Does a Ext.data.reader.Json use an idProperty? If not, bug in docs



    Does a Ext.data.reader.Json use an idProperty? If not, bug in docs





    If you check out the JsonStore docs: http://ift.tt/1k2M84l

    There is this example below which suggests a json reader can use an 'idProperty' config option. I know Model's use that, but I can't find anything about a reader using it. Does anything other than a Model use the idProperty?

    Also I noticed the 'root' config option for the reader is used but the docs for the reader say to use 'rootProperty', which I assume is the recommended config property to use?



    Code:



    var store = new Ext.data.JsonStore({
    // store configs
    storeId: 'myStore',


    proxy: {
    type: 'ajax',
    url: 'get-images.php',
    reader: {
    type: 'json',
    root: 'images',
    idProperty: 'name' <---------
    }
    },


    //alternatively, a Ext.data.Model name can be given (see Ext.data.Store for an example)
    fields: ['name', 'url', {name:'size', type: 'float'}, {name:'lastmod', type:'date'}]
    });

    Thanks!












grid rowEditing for textarea where grow = true

We are noticing an issue with our grid rowEditor when the editor is a textarea set with grow = true. The textarea will grow within the roweditor, which is exactly what we want. The problem is the Update and Cancel buttons to not grow. They float, so after the row grows with the textarea the buttons will appear in the middle of the rowEditor row.

Is there any setting we can make on the rowEditor plugin to keep the buttons docked at the bottom of the rowEditor?






Button dropped mixins



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Default Button dropped mixins



    Button dropped mixins





    In API docs button does not have any mixin. After upgrade from 4 to 5, buttons in my app have lost style. What would be an alternative to mixin in this case? What did I miss?



    Thanks














Chart Axis Adjust By Major Unit

In working with the sencha touch charting I have learned that the min, max, and tick steps are generated by the library looking at the data set. If for example you have data ranging from 1 to 95 I will get an axis that ranges for 1 to 95, even though my tick steps may be in 10. The result is the final tick is 5 instead of 10, and thus you you have a chart axis which reads ... 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 95 instead of 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100.

There in a configuration in the chart/axis/Axis class called adjustMaximumByMajorUnit which is a boolean, and I assume will tell the library to have a full ticket on the max instead of capping based on the data set max.


Is there anyone who has come across this, or a workaround to get the library to behave in a way that would line up with that config?





Combobox setValue for many combo box selection.

Custom classes vs writing Extensions

I could really use someone to verify my logic here.

I come from an IOS/Xcode/Objective C background


In most of my IOS/Xcode projects, for example, I have a class file called SteveTextField which extends Apple's UITextField. I use the SteveTextField class everywhere instead of a UITextField so that I can easily change global behavior for all of my text fields quickly and easily


Now I am trying to use Architect to build a complex ExtJS app. From what I've read so far, it seems I can't mimic this workflow and have it work visually in Architect. The only way it seems I can do this is to build an extension for architect to allow this type of functionality.


If I create a custom class in Architect that extends Ext.form.field.Text for example, it doesn't work in Architect's Canvas (Apple's Xcode environment sees the base class of a custom class and handles it nicely), it doesn't seem to be this way with the (current) version of Architect.


If I want to change some default config value for 20 field elements in an Architect app, it would seem that the only way to manage this type of thing is to build an extension?





Get the value store in variable

Hello,

I have the store, and I need to catch the first cell value and set in a variable.


My Code:



Code:



var me = this;
var data;

// Set all specialities by default
data = Ext.encode({
name : 'periodos-cdd'
});

me.store = new MBAInterface.store.PeriodoCDDVigente();

me.store.getProxy().setExtraParam('action', 'getreportcdd');
me.store.getProxy().setExtraParam('data', data);


me.store.on('load', me.onStoreLoad, me);
me.store.load();

var record = me.store.getAt(0);
console.log(record);

thanks for help

Andre Vieira

Brasil





Is this JSON JSONPStore is able to read somehow ?

I've got the JSON below:

Code:



[
[
{
"Key": "mobilephone",
"Value": "(430) 565-1212"
},
{
"Key": "firstname",
"Value": "John"
}
],
[
{
"Key": "mobilephone",
"Value": "(430) 565-1313"
},
{
"Key": "firstname",
"Value": "Mark"
}
]
]

JSONLint says it's all good. But I don't really have any top element like "allElements" or anything.

FWIW, the JSON comes from an ASP MVC WebAPI web service and I can change it if need be. (It's a List<AttributeCollection>. AttributeCollection is also somewhat of a list as you can see).


I'm trying to load it into this and I'm getting the "Loading..." spinning logo for 30 seconds before it stops and no data is shown, so I'm pretty sure it's my 'root' property or my JSON format that's the issue.



Code:



Ext.define('Contact', {
extend: 'Ext.data.Model',
fields: [
{ name: 'firstname', type: 'string', mapping: 'Value'},
{ name: 'lastname', type: 'string', mapping: 'Value'},
{ name: 'contactid', type: 'string', mapping: 'Value'}
]


});


var contactStore = new Ext.data.JsonPStore({
storeId: 'contactStore',
id: 'contactid',
proxy: { type: 'jsonp', url: 'http://webserver/CustomerPortal.WebAPI/api/contact/get', headers: { 'Content-type': 'application/json'} },
autoLoad: true,
//root: '', //That's a bit hard to decide as I have no top element...
model: 'Contact'
});

Thanks!


Is this JSON JSONP is able to read somehow ?

I've got the JSON below:

Code:



[
[
{
"Key": "mobilephone",
"Value": "(430) 565-1212"
},
{
"Key": "firstname",
"Value": "John"
}
],
[
{
"Key": "mobilephone",
"Value": "(430) 565-1313"
},
{
"Key": "firstname",
"Value": "Mark"
}
]
]

JSONLint says it's all good. But I don't really have any top element like "allElements" or anything.

FWIW, the JSON comes from an ASP MVC WebAPI web service and I can change it if need be. (It's a List<AttributeCollection>. AttributeCollection is also somewhat of a list as you can see).


Thanks!





adding jquery to app.json

I want to include the jQuery js file in my production build, but it doesn't seem to bundle the file. I have this in app.json, is this correct?

"js": [

{

"path": "/common/jQuery/jquery-1.9.1.js",

"includeInBundle": true

},


{

"path": "app.js",

"bundle": true

}

],





Is there a way to make bottom chart legend to have vertical layout?

ViewControllers and beforeInit

After reading about ViewControllers in the Sencha Blog post about them, I tried using the beforeInit function to initialise some variables, but found that the function was never called. Has anyone else tried this? Is this functionality broken, or have I done something wrong?

Here's the code I'm using (fairly straight-forward):



Code:



Ext.define('MyApp.view.MainController', {
extend: 'Ext.app.ViewController',
alias: 'controller.main',

beforeInit: function () {
console.log('beforeInit - loading css files');
},
init: function () {
console.log('init - doing stuff here now');
}
});

In the application's launch function, I create the main view which uses the above controller. I see the console entry for the init function, but nothing for beforeInit. Thoughts?


Are there additional Beta releases planned?

Add ToolTp to Anchor Link

[unable to retrieve full-text content]I am using ExtJs 3.4.2. In one of grid I am renderring a Text with anchor Link I want to add a tool tip which show the anchor text. Is it...


Tree events children collapsed node bug



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Default Tree events children collapsed node bug



    Tree events children collapsed node bug





    When you add children to collapsed tree node, some events doesn't work properly.

    I want to catch each of store change. Therefore, I tried to use some events, e.g: "update", "datachanged" which works for me in all cases of adding new nodes, but doesn't work when I add new children nodes to a collapsed node -

    New node is added, however, event is not occur.


    However, when node not in "collapsed" mode, everything works fine for me.


    I would be grateful to be able to catch store change in a real-time for all cases.














Will Sencha Market get active ever again?

id param when a object is created

I'm using Parse.com's REST API, and I'm running into an issue with newly created objects.

Using Sencha Touch, when I do:



Code:



var group = Ext.create('X.model.Group', newGroup);
group.save()

Sencha Touch automatically creates an id for the new instance of Group which gets sent to the server as POST on save()

Unfortunately Parse doesn't like that and it fails to create a new record in the database.


I've tested creating a new object without the id field (outside of Sencha Touch) and it worked.


So, is there any way to make sure that objectId is not sent on create.


One thing I tried was having persist: false on id. Doing this does create the group, but then the local group instance's id isn't getting updated with the new id sent by Parse on create.


Note that when I say id above, I really mean 'objectId', as I have idProperty: 'objectId' set on my models.


Any ideas how to make this work? Any help is much appreciated! Thanks!





mardi 27 mai 2014

Consider renaming "examples" root folder



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Default Consider renaming "examples" root folder



    Consider renaming "examples" root folder





    I would suggest to move examples to examples-src or to src/examples.

    At the very least - if renaming is not an option - I would suggest to note within the Readme.md that this folder consists of sources and not running examples.

    I would have expected that a root folder that is called examples would provide running examples, instead of sources that were not built; while the ones that are fully working are residing in the build folder. The fact, that those example sources are partially working was very confusing to me

    This took me at least 2 hours. I was able to resolve it thanks to a forum reply. In retrospection I could have found the reason for the non-working examples if I were to open index.html or started browsing the build folder, but that was not an intuitive approach for me.














grid trigger editor icon not works

dynamically assign store to chart

{"seriesRow":[{"Index":-576.0,"date1":"2014-05-01T00:00:00","total1":207.72},{"Index":-648.0,"date1":"0001-01-01T00:00:00","total1":0.0,"date2":"2014-05-01T00:00:00","total2":8.25}],

"revClass":[{"RevenueId":11,"RevenueName":"Food","Sales":76.2200,"Qty":11.0,"NonSales":false},{"RevenueId":13,"RevenueName":"Beer - Wine","Sales":92.2500,"Qty":23.0,"NonSales":false},{"RevenueId":14,"RevenueName":"Liquor","Sales":31.0000,"Qty":9.0,"NonSales":false}],"Id":1}


how to get Object param of (tab listeners: activate)?

Dear:

activate have 2 paramthis, object),

if if add an objY:{aa:"001",bb:"002"} for tab item,

and pass as activate: function(tab,objY){}


how can I get objY.aa in the function.


I have tried as: objY.aa or objY['aa']

but it is not work.


I have problem in ext to get josn object.


thx



Code:



var tabs2 = Ext.create('Ext.tab.Panel',{
renderTo: document.body,
activeTab: 0,
width: 600,
height: 250,
plain: true,
margin:'0 10 0 80',
defaults :{
autoScroll: true,
bodyPadding: 10
},
items: [{
title: '點觸發事件',
listeners: {
activate: function(tab,objY){
alert(tab.title+objY);
}
},
html: "XXXX",
objY:{aa:"001",bb:"002"}
},{
title: 'Tabs DISABLE',
disabled: true
}
]
})




Problem adding cordova plugin after build

I'm not sure whether this is a cordova or sencha touch problem. I have a project I already worked on (for quite a while), now I want to add some other cordova plugin to that project.

Whenever I do



Code:



sencha app build -run native

I get the following error:





Code:



[ERR] The following error occurred while executing this line:
/Users/martin/phonegapprojects/touch-2.3.1 copy/ibus/.sencha/app/build-impl.xml:422: The following error occurred while executing this line:
/Users/martin/phonegapprojects/touch-2.3.1 copy/ibus/.sencha/app/cordova-impl.xml:118: The following error occurred while executing this line:
jar:file:/Users/martin/bin/Sencha/Cmd/4.0.4.84/sencha.jar!/com/sencha/ant/antlib.xml:608: shellscript returned: 1

Any ideas about why this is happening?


Does Button drop mixins

Sencha Sliding Navigation Menu - facebook style - Adding a Panel with two child panel

I downloaded the latest version of http://ift.tt/1mvUAYz and in the view/Main.js , for the Item1/Group 1 item, added toolbar + 2 panels, instead of toolbar + 1 panel, the code works fine:


Code:



{
title : 'Item1',
group : 'Group 1',

xtype : 'container',

// Enable the slide button using the
// defaults defined above in
// `slideButtonDefaults`.
slideButton : true,
layout: 'vbox',

items : [
{
xtype : 'toolbar',
title : 'Item 1',
docked : 'top'
},
{
xtype : 'panel',
style: 'background: red',
html: 'New1',
flex: 1,

// Mask this item when the
// container is opened
maskOnOpen : true
},
{
xtype : 'panel',
style: 'background: green',
html: 'New2',
flex: 2,

// Mask this item when the
// container is opened
maskOnOpen : true
}

]
},

The code works fine - it replaces the image you have in your demo with a panel with two vertically placed subpanels in red and green

3a4e9056-e548-11e3-8e7c-7a62e0b22e58.jpg


I am trying to refactor the code into into separate view



Code:



Ext.define('Volt.view.FeedView', {
extend: 'Ext.Panel',

requires: [
'Ext.TitleBar',
'Ext.Button',
'Ext.Toolbar',
//'Ext.Panel'
],

xtype: 'feedViewCard',


config: {

iconCls: 'action',
title: 'FeedView',

layout:
{
type: 'vbox'
},

items : [
{
xtype : 'toolbar',
title : 'FeedView',
docked : 'top'
},
{
xtype : 'container',
style: 'background: red',
html: 'New1',

flex: 1

// Mask this item when the
// container is opened
//maskOnOpen : true
},
{
xtype : 'container',
style: 'background: green',
html: 'New2',
flex: 1

// Mask this item when the
// container is opened
//maskOnOpen : true
}

]
}
});

and use the following code in view/Main.js , removing the earlier code- there are no errors, but only the green box shows up

Code:



{
xtype: 'feedViewCard',
title : 'Home Page',
group : 'Group 1',
slideButton : true

},



d811f788-e548-11e3-8378-5b1717efc73e.jpg

Also, this refactored FeedView.js shows up as two child panels when used in a TabPanel view - so it is definitely working fine. Any advice? Thanks much





ExtJS 3.x vs 4.2.1

Hello,

I am fairly used to version 3.x and I am now getting back at it almost 4 years later


I see there's, what seems to me to be a new concept, the "Application". Generated with its dependencies, models, stores, etc.


I tried going at it the old fashioned way, which is basically including the basic .js file of the SDK, creating an Ext.onReady method and rendering controls to DOM elements within my HTML page.


I am getting weird errors, but for the moment, my question is not about the errors, but rather whether I absolutely need to use SenchaCmd and use this "application" concept for it to load and work correctly.


It's been quite a while since last time I used ExtJS, so I'm wondering if a lot of concepts and best practices changed since...





How to clear binding

I set a data object to viewModel, and the object's properties are bound to the view's components. At some point I want to set this object to null, and expect the bound components to clear (display nothing). But this is not working for me:

Code:



viewModel.set('myObj', null);

How can I clear the data, so that the bound components reset?


Cannot call parent method with callParent?

Hi,

I am having a problem with the following code:

Code:



my.Window = Ext.define(null, {
'extend': 'Ext.window.Window',
'cls': 'bb-window',
'bodyCls': 'bb-window-body',
'border': false,
'initComponent': function () {
this.callParent(arguments);
this.setupListeners();
}
});


my.Window.prototype.setupListeners = function () {
// do stuff
};




my.FormWindow = Ext.define(null, {
'extend': my.Window,
'closeAction': 'destroy',
'modal': true,
'resizable': false,
'layout': 'anchor',
'initComponent': function () {
this.callParent(arguments);
}
}));


my.FormWindow.prototype.setupListeners = function() {
this.callParent(arguments);
// do something
};

In FormWindow I am trying to just add a couple listeners on top of the base class' listeners defined in the setupListeners method. I want something like this:

new my.FormWindow > my.FormWindow.initComponent > my.Window.initComponent > my.FormWindow.setupListeners > my.Window.setupListeners


But the last step is never called. Any thoughts?


Thanks!





how to setup the centeralized EXT library path in EXT Architect

Ext.data.Types.STRING and sorting



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Default Ext.data.Types.STRING and sorting



    Ext.data.Types.STRING and sorting





    Hi,

    Can't believe this has not come up before really, but am using strings in models with useNull true.


    When come to sort by one of these fields you get the data appearing in the middle of the data when you have a null value.


    I've tracked it down to the following in Ext.data.SortTypes



    Code:



    asUCString : function(s) {
    return String(s).toUpperCase();
    },

    It seems that String(null) or String(undefined) results in "null" or "undefined".

    This is clearly wrong.

    My fix:



    Code:



    Ext.define('Altus.overrides.data.Types', {
    override: 'Ext.data.Types',


    requires: [
    'Ext.data.SortTypes'
    ]
    },
    function() {
    Ext.apply(Ext.data.SortTypes, {
    asNullableUCString: function(s) {
    if (s) {
    return Ext.data.SortTypes.asUCString(s);
    }
    return s;
    }
    });


    Ext.data.Types.STRING.sortType = Ext.data.SortTypes.asNullableUCString;
    });

    Sorry, not got time to craft a case, but I'm seeing the effect with a combobox containing users, a template that renders "displayName (username)" or "username", and a null displayName.

    You can try "String(null)" in your console to verify that bit though.


    There are other uses of "String(s)" in that class that probably warrant the same treatment too.


    Cheers,

    Westy














Problems with Ext.application without bootstrap.js

I downloaded extJS5 today and deployed it on a local host.

However I have problems to get some examples running.

The Ext object seems not fully loaded as calling Ext.application will result in an "undefined is not a function" error (for the full list, see attachement).

Code:



[W] Overriding existing mapping: 'Ext.CompositeElement' From 'Ext.dom.CompositeElement' to 'Ext.dom.CompositeElementLite'. Is this intentional? Util.js:679
Uncaught TypeError: undefined is not a function app.js:1
[W] Overriding existing mapping: 'Ext.CompositeElement' From 'Ext.dom.CompositeElementLite' to 'Ext.dom.CompositeElement'. Is this intentional? Util.js:679
[W] Ext.data.Store created with no model. Util.js:679
[W] Private method "schedule" declared by Ext.data.session.Binding hides public method inherited from Ext.util.Schedulable Util.js:679
[W] Private method "sort" declared by Ext.data.session.Binding hides inherited public method. Util.js:679



This affects namely those using Ext.application at the beginning, which don't use bootstrap.js:

* ext-5.0.0.736/examples/MVC/pandora/index.html

* ext-5.0.0.736/examples/history/history-router.html

* ext-5.0.0.736/examples/app/feed-viewer/feed-viewer.html

* ext-5.0.0.736/examples/app/nested-loading/nested-loading.html

* ext-5.0.0.736/examples/app/simple/simple.html

* ext-5.0.0.736/examples/neptune-components/index.html

* ext-5.0.0.736/examples/grid/simjax-paging.html

These examples that also call Ext.application, but use bootstrap.js are working fine

* ext-5.0.0.736/examples/charts-kitchensink/index.html

* ext-5.0.0.736/examples/desktop/index.html

* ext-5.0.0.736/examples/portal/index.html

* ext-5.0.0.736/examples/simple-tasks/index.html

* ext-5.0.0.736/examples/ticket-app/index.html


All HTTP requests are working fine (status 200) and I'm a bit puzzled what might be causing it.

Has anyone encountered similar problems in the past?





Use Ext 5.0 Crispy Theme in Ext 4.2 web app

Hi,

Recently I went through Ext 5.0 samples and found this Crispy theme, which is quite appealing. I have my application developed in Ext 4.2, however migrating to Ext 5.0 is out of question at the moment, yet I would like to have the look and feel of crispy in my application.


I tried to port crispy in my app, however apparently it looks like that either I have to switch to Ext 5.0 all together or drop this idea. I couldn't even get the message boxes working as they were in the earlier application, which demands me to change application source, eventually calling Ext 5.0 into action, which again put me back to the square one.


In this context, my question is, if it is possible to get the feel of Crispy without paying the price of including Ext 5.0 (at the moment)?


Any assistance in this matter will be highly appreciated and thanks in advance.


Regards,


Ejaz.





Store timeout WHILE loading data

Hello there, I'm having a store which loads JSON objects from a server (see below).

As you can see the timeout for this request is set to 1 minute. Now that my JSON objects get pretty big (15mb) and the server connection is not always the best, I sometimes get timeout error, ALTHOUGH I'm still recieving data from that request.


Now I'm looking for some inside here, where to start off and how to handle this, because actually when data is coming in I dont want this request to fail. But only by increasing the timeout, this is no option for me, because its not very cool to wait like 2-3 minutes and your devices tells you the request timed out! I would only abort the store load, when I'm not recieving data for a specific time.


From XHR request I know for example, that they fire the onprogress event while still loading data...


Do you have an idea for me?


Greetz, vanson


Ext.create('Ext.data.Store', { model: 'ST.model.remote.Project', storeId: 'remoteProjectStore', autoLoad: false, proxy: { type: 'jsonp', timeout: 60000, url: activationUrl, reader: { type: 'json', rootProperty: 'projects' } } });





How to set URL prefix for native app build

Grid: set column value very SLOW

Hi!

I have a program with a grid. In this grid I can set all the values of a column with a single action.


I do like this:



Code:



var g = Ext.getCmp('id_myGrid');
var s = g.getStore();
var tot = s.getCount();
tot--;
var records = s.getRange(0,tot);


Ext.each(records, function(record) {
record.set("col_01",val);
});

It works, but is VERY SLOW!!! (in a grid with 40 rows, the execution time is more than 60 seconds!)

So I think I'm doing something wrong...


Can you help me, please?


Thanks in advance.





lundi 26 mai 2014

Sync event in application with device's calendar

Hi guys, Im currently doing my company project which I need to sync event in native application with device calendar. So after do some googling , I found this site which I think may be the first step to learn how from the native app, I can add event to calendar.I want to apply the plugin into some demo I've created which is Dinmu Weather, so I already done for the native part using phonegap. So from there I want to apply the calendar function into the Dinmu for testing purpose. But from the site, it ask me to add permission at AndroidManifest.xml which I couldnt found it in the Dinmu folder. So any idea how I can add the permission? Tq for your time.

Link of the plugin.

http://ift.tt/1mj4QBQ






Unable to login to Sencha Architect 2 -getting server error

Hi,

I am using Sencha Architect 2 Trial version and the trail version got expired.So I registered with a new ID and tried login with the new credentials but getting a 'Server Error has occurred" message.


I am using Windows 7 64 bit and turned off firewall also.


Regards

Krish





Adding a Class to a Dataview Item

I'm not a Javascript pro, so I'm having a bit of trouble adding a class to a dataview item when a toolbar button is pressed.

Essentially when the toolbar button is pressed, the following function is called:



Code:



var questionBank = Ext.getCmp('questionSelector');
var currentQuestion = this.getCurrentQuestion();
var questionItem = questionBank.getItemAt(currentQuestion);

questionItem.addCls('x-item-selected');

This results in the following error: Uncaught TypeError: undefined is not a function

Adding a console log of 'questionItem' shows that the data item is being selected. The result:



Code:



<div class="x-dataview-item id="ext-element-47">...</div>

Any ideas on why attempting to getCls or addCls renders an error?


Rowediting in grid containing actioncolumns throws error



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Default Rowediting in grid containing actioncolumns throws error



    Rowediting in grid containing actioncolumns throws error





    Ext version tested: 5.0.0.736


    Browser versions tested against:


    • Chrome 34.0.1847.137

    • FF 28

    • FF 29.0.1

    • Safari 7.0.4 (9537.76.4)


    DOCTYPE tested against:

    Description:


    • If a grid contains actioncolumns and the rowediting plugin, rowediting throws an error. After removing the actioncolumns, all works as expected. The following error comes up: Uncaught TypeError: Cannot read property 'disabled' of undefined. The Error comes from Ext.grid.column.Action#defaultRenderer line: disabled = item.disabled || (item.isDisabled ? item.isDisabled.call(item.scope || scope, view, rowIdx, colIdx, item, record) : false);


    Sencha-Fiddle


    http://ift.tt/1psiNzj

    Steps to reproduce the problem:



    • Click on a row to edit

    • Look in the console window of the browser


    The result that was expected:

    • After click on row

    • Edit a columncontent

    • Click on Update

    • Update the store


    The result that occurs instead:












Infinite Scrolling Grid: PageDown doesn't go beyond 1000 records



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Exclamation Infinite Scrolling Grid: PageDown doesn't go beyond 1000 records



    Infinite Scrolling Grid: PageDown doesn't go beyond 1000 records





    Sample Example:

    http://ift.tt/1tGs3CB

    Steps:
    Keep scrolling down using Page Down key, scroll won't go beyond 1000 records.


    Pls share the possible workaround. Thanks














[ext-4.2.1.883]BUG: Grid hidden columns and row editor



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Exclamation [ext-4.2.1.883]BUG: Grid hidden columns and row editor



    [ext-4.2.1.883]BUG: Grid hidden columns and row editor





    I noticed a bug with Grid component and row editor when some columns are hidden. This bug happens when using latest public available ext: 4.2.1.883

    Example:


    Bug occurs: http://ift.tt/1teilFl


    No bug ( older Ext ): http://ift.tt/1r9PxlG


    How to reproduce bug: Un-hide hidden column "Salary", double-click to enable row editor, note editor does not have an input box for "Salary".


    In real app this will also create js errors, but in jsfiddle it looks to be intercepted by something.


    Please let me know if there is a solution I can implement in the application to avoid this bug.


    Thank you














sencha-charts - Ext.ComponentQuery.query('chart[name=myChart]') returns empty array



  1. Thank you for reporting this bug. We will make it our priority to review this report.







  2. Default sencha-charts - Ext.ComponentQuery.query('chart[name=myChart]') returns empty array



    sencha-charts - Ext.ComponentQuery.query('chart[name=myChart]') returns empty array





    Hi guys,

    After upgrading from extjs charts to sencha charts, the component query for


    does not work.

    In ExtJS 4.2.1 I used



    Code:



    Ext.ComponentQuery.query('chart[name=myChart]')

    and the chart component was returned as array element.

    After upgrading to 5.0.0, the same code returns empty array.


    I first noticed this problem while using method



    Code:



    chartParentCmp.down('chart[name=myChart]')

    , but in the end it is the same code internally, I suppose.

    [Browser]

    Firefox and Chrome


    [OS]

    Ubuntu 14.04 LTS














Dynamic table or cell arrangment

I searched a few questions here as well as in GWT forums.

Is there any option , be it either in GWT or GXT, whereby say i have 7 items and I give some configuration as 2 then either GWT or GXT sencha should be able to arrange these 7 items 2 in each row. So i get something like

item1 item2

item3 item4

item5 item6

item7


all these items added to a framedpanel


And each item should be able to have a hyperlink (anchor to hit another URL)