vendredi 31 octobre 2014

Enable loadmask Iframe while processing

how to set a loadmask for an Iframe while generating a pdf report


Code:



onBtnImprimirClick: function(button, e, eOpts) {
var Iframepanel=Ext.create('Ext.ux.IFrame', {
extend: 'Ext.Component',
alias: 'widget.uxiframe',
loadMask: 'Creating report...please wait! ',
src:'pdf.php',

});
var WinReporte=Ext.create('Ext.Window', {
title: 'Reporte de Clientes',
width: 750,
height: 400,
layout: 'fit',
xtype: 'panel',
modal:true,
items: Iframepanel
LoadMask: true
});

WinReporte.show();
} ,

I've set loadmask to true, but didn't work!

Is there anything glaringly wrong here?

thanks




Enable loadmask Iframe while processing

Starting to play arround with my eval copy of Sencha Architect







version:3.1.0.1934








channel:3.1-stable








platform:1.4.1.960








cmd:5.0.3.324








framework:Ext JS 4.2.x




So does this product provide any kind of intellisense?

What is the purpose of the Sencha CMD with respect to Architect??


How do I use Source control with Architect. How does that work? e.g GIT, CVS, SVN etc..??






Starting to play arround with my eval copy of Sencha Architect

multiple instances of store in controller

hi experts

I am trying to instantiate a grid component in my accordion


In my controller i am doing


Ext.each(Items, function(Item, index) {

Ext.Ajax.request({

loadMask : true,

url : 'getByNew.controller',

method : 'GET',

params: {

Id: Id,


},

scope : this,

success : function(response, callOptions) {

var Data = Ext.decode(response.responseText);


accordian.add({


titleata.id


items: [

{


layout: {

type: 'hbox',

pack : 'center'

},

items:[{


initComponent : function(){

debugger;

var me = this;

var tpainStore = Ext.create('TPAIN.store.MyStore');

Ext.apply(me,{

store: tpainStore

});

me.callParent(arguments);

},


xtype: 'grid',

id : 'tod'+index,

alias: 'widget.tod'+index,

title: 'Product',

height : 400,

width : 420,

stripeRows : true,

columnLines: true,

//store:

margin : '3 3 3 3',

columns: [

{header: 'Product', dataIndex: 'product', flex: 1,sortable:true,hideable:false}

]


}


In my initComponent i am trying to instatiate store each time and it doesnt work ,

When i run the app i get error : Uncaught TypeError: Cannot read property 'items' of undefined


If i remove the initComponent function it works fine.


Any idea how i can do this?

Any help will be appreciated


Thanks

Jay






multiple instances of store in controller

Confirmation message to save changes before closing a window

Hello all,

I have an editable window. When the user tries to close the window, I need to check if any changes are made in the window. If there are no changes, the window should close. If there any changes I need to prompt the user if the changes needs to be saved. If the user says yes, the changes will be saved and window closes else the window closes without the changes. For this I wrote my code in the controller layer of my code. When the user clicks on the close button in the window, everything is working fine as expected. But the problem comes only when the user tries to close the window by clicking the default [X] in the upper right corner of the window. I am trying to call my method when user clicks on this but due to the async nature of extjs the window closes initially and then the method gets called. I tried using the beforeclose event but of no use.


Here is my piece of code in the view layer.


Ext.define('MyApp.view.MyWindow',

{

extend: 'Ext.window.Window',


requires: [

'ABC.controller.myDetail.myDetailController'

],

cls:'windowPopup myDetail',

title : 'ABC Detail',

layout: 'fit',

minimizable: true,

maximizable: true,

constrain: true,

controller: null,

initComponent: function() {

this.items = [ --------------------- ]

this.setTitle('ABC Detail - ' + this.config.myDetail.referenceNum);

var userNotification = '';

var bodyStyle = 'color: #000000;'

this.dockedItems = [

{

xtype: 'toolbar', dock: 'bottom', ui: 'footer',

items: [

{

iconCls: 'icon-save',

cls:'blackButton',

itemId: 'updateAndClose',

text: 'Update & Close',

action: 'updateClose'

},

{

iconCls: 'icon-reset',

cls:'blackButton',

text: 'Update',

action: 'update',

itemId: 'update'

},

{

iconCls: 'icon-reset',

cls:'blackButton',

itemId: 'composeEmail',

text: 'Compose Email',

action: 'composeEmail'

},

{

iconCls: 'icon-reset',

cls:'blackButton',

text: 'Refresh',

action: 'refresh',

itemId: 'refresh'

},

{

iconCls: 'icon-reset',

text: 'Close',

cls:'blackButton',

scope: this,

itemId: 'closeBtn'

}

] }];

this.callParent(arguments);

this.controller = Ext.create(XYZ.controller.mydetail.myDetailController', {view:this,identifier:this.identifier}); }

});

I am handling the buttons in the contoller layer, so if a user clicks on the close button then the contoller will check if any changes are made and then acts accordingly.


In the contoller, I am using the


this.on('closeBtn', 'click', this.confirmSaveBeforeClose, this);

this.on(null, 'close', this.confirmSaveBeforeClose, this);


Here the closeBtn event works fine but the problem comes only with the default windows close option.


Can someone give me an idea of how I can point to the method in the contoller when the user clicks on the [x] button as well.

Thanks..






Confirmation message to save changes before closing a window

5.0.1 and 5.0.2 Ext.selection.Model can't select multiple items, allowDeselect broken



  1. You found a bug! We've classified it as



    EXTJS-15630
    .

    We encourage you to continue the discussion and to find an acceptable workaround while we work on a permanent fix.







  2. Default 5.0.1 and 5.0.2 Ext.selection.Model can't select multiple items, allowDeselect broken



    5.0.1 and 5.0.2 Ext.selection.Model can't select multiple items, allowDeselect broken





    I am unable to select multiple items for views when setting the selection model mode to either 'simple' or 'multi'. The allowDeselect option is also broken. I have verified the bugs in Ext 5.0.1.1255 and 5.0.2.1495.

    Have a look at this fiddle: http://ift.tt/1u2k85K














  3. Default







    Thanks for the report! I have opened a bug in our bug tracker.

    I was able to confirm that the allowDeselect isn't working as of 5.0.1 (make sure you use it with selection mode "SINGLE" though).


    I didn't see an issue with "MULTI". Make sure you're using all uppercase when setting the mode.















5.0.1 and 5.0.2 Ext.selection.Model can't select multiple items, allowDeselect broken

binding and reference incompatible when using same name with checkbox



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







  2. Default binding and reference incompatible when using same name with checkbox



    binding and reference incompatible when using same name with checkbox





    All buttons in the example are working. However, if click on button checkbox for bacon you will see it's not working. If you remove the reference, it start to work.

    http://ift.tt/1nXleh6















binding and reference incompatible when using same name with checkbox

grid plugins are not available with column locking



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







  2. Default grid plugins are not available with column locking



    grid plugins are not available with column locking





    When I add column locking to a grid, I can no longer access the grid's plugins.

    See attached fiddle and click on the button. If you comment out enableLocking: true then the plugin is returned.


    http://ift.tt/1udu1hD















grid plugins are not available with column locking

waitForReload method in BufferedStore.reload



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







  2. Default waitForReload method in BufferedStore.reload



    waitForReload method in BufferedStore.reload





    Hi guys,

    Think possibly related to this thread here: http://ift.tt/107Z80f


    Issue is with the following code:



    Code:



    waitForReload = function() {
    if (me.rangeCached(startIdx, Math.min(endIdx, me.getTotalCount()))) {
    me.loading = false;
    data.un('pageadd', waitForReload);
    records = data.getRange(startIdx, endIdx + 1);
    me.fireEvent('load', me, records, true);
    me.fireEvent('refresh', me);
    }
    };

    It's checking that the range is cached, then asking for something completely different.

    It should be:



    Code:



    waitForReload = function() {
    if (me.rangeCached(startIdx, Math.min(endIdx, me.getTotalCount()))) {
    me.loading = false;
    data.un('pageadd', waitForReload);
    records = data.getRange(startIdx, Math.min(endIdx, me.getTotalCount()));
    me.fireEvent('load', me, records, true);
    me.fireEvent('refresh', me);
    }
    };

    Cheers,

    Westy















waitForReload method in BufferedStore.reload

[5.0.2] List filter - error on check



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







  2. Default [5.0.2] List filter - error on check



    [5.0.2] List filter - error on check





    Ext version tested:

    Uncaught TypeError: undefined is not a function ext-all-debug.js:154696

    onValueChange ( define in Ext.grid.filters.filter.Base ):



    Code:




    onValueChange: function (field, e) {


    var me = this;




    if (e.getKey() === e.RETURN && field.isValid()) {
    me.menu.hide();
    return;
    }




    me.task.delay(me.updateBuffer, null, null, [me.getValue(field)]);
    },.....

    Wrong attribute e.

    This function (onValueChange) call on checkchange event in CheckMenu:

    See API Doc:

    http://ift.tt/1xI8FGn

    checkchange( this, checked, eOpts )...

    Here 2 argument checked

    - boolean check state ( Not Event object )


    I Fix thix problem:



    Code:



    Ext.define('Overrides.grid.filters.filter.List', {
    override: 'Ext.grid.filters.filter.List',
    onValueChange: function (field, e) {
    var me = this;
    me.task.delay(me.updateBuffer, null, null, [me.getValue(field)]);
    }

    });
















[5.0.2] List filter - error on check

Charts: Chart works in fiddle but not in application

Hej

A simple chart I made works fine in fiddle (see here) but will not run in my application. the error I can see in Chrome Developer Tools is:

Uncaught TypeError: Cannot read property 'get' of undefined at ext-all.js:19


I included ext-charts.js and even Cartesian.js to see if this will help, but no cigar.



HTML Code:



<script type="text/javascript" src="Components/Sencha/ext-all.js"></script>
<script type="text/javascript" src="Components/Sencha/packages/ext-charts/build/ext-charts.js"></script>
<script type="text/javascript" src="Components/Sencha/packages/ext-charts/src/chart/series/Cartesian.js"></script>

Why is this happening?

Thanks






Charts: Chart works in fiddle but not in application

ExtJS4.2: How can I add an array of objects into another object.



I am using model association in ExtJS4.2. I need to use hasMany to associate the Shelf with Books. This is how my json structure has to be as per the requirement.


Code:



{ "name": "Jam",
"noOfBooksRequired": "2",
"type": "Type 1",
"books": [
{"name": "The Magic", "author": "John Doe"},
{"name": "The Power", "author": "Jane Doe"}
]
}

Here is my Shelf model:

Code:



Ext.define('ELM.model.Shelf',{ extend: 'Ext.data.Model',
requires: ['ELM.model.Book'],
fields: [
{ name: 'name',type:'string' },
{ name: 'noOfBooksRequired',type: 'string' },
{ name: 'type',type: 'string' },
],
hasMany: [
{
name: 'books',
associationKey: 'books',
model: 'ELM.model.Book'
}
]
});

and the proxy is given in Shelf store like this:

Code:



proxy: {
type: 'ajax',
url: 'ShelfServlet',
reader:{
type: 'json',
root: 'data'
}
}

This is the book Model:

Code:



Ext.define('ELM.model.Book',{
extend: 'Ext.data.Model',
fields: [
{ name: 'bookName',type:'string' },
{ name: 'bookAuthor',type:'string' },
]
});

Now, I am not sure how I have to accept this book data in the Shelf form.I am able to pass this data into the servlet but the data is not in the required format. Here is my json structure that I currently have:


Code:



{
"name": "Jam",
"noOfBooksRequired": "2",
"type": "Type 1",
"bookName": [ "The Magic","The Power" ],
"bookAuthor":[ "John Dae","John Doe" ]
}

And this is how I have coded the Shelf form: Shelf.js


Code:



Ext.define('ELM.view.Shelf.Edit',{
extend : 'Ext.form.Panel',
requires : [ 'ELM.view.shelf.Book' ],
alias : 'widget.shelf',
id : 'shelf',
layout : 'fit',
autoShow : true,
items : [{
xtype : 'form',id : 'shelfdetails',
items : [ {
xtype : 'fieldset',
title : 'Shelf Details',
defaults : {
layout : {
type : 'hbox',
defaultMargins : {top : 0,right : 25,bottom : 0,left : 0 }
}
},
items : [
{fieldLabel : 'Name :',xtype : 'textfield',name : 'name'},
{fieldLabel : 'Number Of Books Required',xtype : 'combo',
name : 'noOfBooksRequired',id : 'noOfBooksRequired',
store : new Ext.data.SimpleStore({
fields : [ 'no', 'val' ],
data : [ [ '1', '1' ], [ '2', '2' ], [ '3', '3' ] ]
}),
displayField : 'no',valueField : 'val',
listeners : {
select : function(combo, value) {
var dynamicPanel = Ext.getCmp("dynamicPanel");
var bookField = {
xtype : 'fieldset',title : 'Book Details',
defaults : {
layout : {
type : 'hbox',
defaultMargins : {top : 0,right : 25,bottom : 0,left : 0 }
}
},
items : [ { xtype : 'textfield',fieldLabel : 'Book Name',name : 'bookName'},
{xtype : 'textfield',fieldLabel : 'Book Author',name : 'bookAuthor'} ]
};
dynamicPanel.removeAll(true);
for ( var i = 0; i < combo.getValue(); i++) {
var index = dynamicPanel.items.length;
dynamicPanel.insert(index, bookField);
dynamicPanel.doLayout();
}
}
}
}, {
fieldLabel : 'Type',xtype : 'combo',
name : 'type',
store : Ext.create('Ext.data.SimpleStore', {
fields : [ 'typeCode', 'typeName' ],
data : [ [ '1', 'type 1' ], [ '2', 'type 2' ] ]
}),
displayField : 'typeName',valueField : 'typeCode',
} ]
}, {
xtype : 'panel',
id : 'dynamicPanel',
items : []
} ]
} ],




buttons : [ {
text : 'Save',
action : 'formSave'
} ]




});

I have a few more questions here considering the code above

  • When defining the model, can I use Book as a type in Shelf.js ( to make it more clear,can I have a Book Object within the Shelf Object)?

  • What is the difference between Ext.data.SimpleStore and Ext.data.Store? because when I tried changing SimpleStore to Store It did not work.

  • I also want to display the json received in a window. Should I make any changes to the form other than using form.loadRecord(record) to display it?

  • What is the major difference between ajax and rest proxies. What I have understood about that is, in case of rest proxy..the CRUD operations will be mapped to POST,GET,PUT,DELETE methods and the Url will be automatically updated.


Since I am new to ExtJS and actually finding it difficult to understand few concepts. It will be really helpful for me to understand the concept if anyone can tell a little more about it.

Thanks in advance






ExtJS4.2: How can I add an array of objects into another object.

Kế toán giảm bất động sản đầu tư

Set displayfield of combo and binding its store dyanamically



bindStore()
is suitable for changing data only provided that its fields are the same.
Reference : http://ift.tt/1ubPebU

I need to destroy some members.Here is the solution.


Ext.destroyMembers(combobox, 'displayTpl');

combobox.displayTpl = Ext.create('Ext.XTemplate',

'<tpl for=".">' +

'{[typeof values === "string" ? values : values["' + combobox.displayField + '"]]}' +

'<tpl if="xindex < xcount">' + combobox.delimiter + '</tpl>' +

'</tpl>'

);

Ext.destroyMembers(combobox, 'picker');






Set displayfield of combo and binding its store dyanamically

Using hasMany Association not giving me data for my nested xml

I am getting nested xml from the server


Code:



<row id=1>
<category>
<CategoryId>1</CategoryId>
<CategoryName>test</CategoryName>
</category>
</row>
<row id=2>
<category>
<CategoryId>2</CategoryId>
<CategoryName>test</CategoryName>
</category>
</row>
<row id=3>
<category>
<CategoryId>3</CategoryId>
<CategoryName>tested</CategoryName>
</category>
</row>

for this xml i created model like:


Code:



Ext.define('App.model.CategoryRow',
extend :'App.model.Base',

fields :[{
name :'RowId',
mapping :'@id'
}],
hasMany : ['Category']
});


Code:



Ext.define('App.model.Category',
extend :'App.model.Base',

fields :[{
name :'CategoryId'
},{
name :'CategoryName'
}]
});

Ext.define('App.store.Category',
extend :'Ext.data.Store',
model :'CategoryRow',

proxy :{
type :'ajax',
url :'test/test.php',
reader :{
type :'xml',
record :'row'
}

when i load store with this Model i am getting the RowId but there is no data in record.category() association.

Any idea.


Thnx in advance,






Using hasMany Association not giving me data for my nested xml

Roadmap of Sencha Touch

I notice Ext JS 5 claims it supports touch device. What is the roadmap of Sencha Touch then? I want to develop mobile app, and have already acquired Ext JS 5 license, do I need to purchase Sencha Touch too?

I was wondering if Sencha Touch will obsolete sooner or later.


Thanks!







Roadmap of Sencha Touch

jeudi 30 octobre 2014

Combobox MultiSelect With Toolbar



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







  2. Default Combobox MultiSelect With Toolbar



    Combobox MultiSelect With Toolbar





    Guys, i want to add toolbar with button in Combobox, i use the button to select all record in combobox. In ExtJS 4 it's worked, but in ExtJS 5.0.1 i can't even pressed the button so event is not fired. Combobox always unexpand if i pressed the button. It is bug?

    here's the fiddle: http://ift.tt/1wiDSl8















Combobox MultiSelect With Toolbar

[NOREPRO] sencha touch store memory leaks



  1. Looks like we cannot reproduce this. Please provide another test case to reproduce this issue.







  2. Default sencha touch store memory leaks



    sencha touch store memory leaks





    when i use dynamic store, not config storeId and autoDestroy then

    store will increase and no method destroy.

    so store memory leaks is happen.


    guys help me?



    Code:



    pushButton: { tap: function() {
    //console.log('pushButton');
    var mainView = this.getMainView();
    //mainView.push({
    // xtype: 'subview'
    //});
    //var m=Ext.widget('subview');




    var m = Ext.create('MyApp.view.SubView');
    // if(m.getStore()!=null){
    // Ext.destory(m.getStore());
    //}
    //console.log(m);
    var store = Ext.create('Ext.data.Store', {
    //storeId:'ggg',
    //autoDestroy:true,
    fields: [{
    name: 'firstName',
    type: 'string'
    }, {
    name: 'lastName',
    type: 'string'
    }],
    data: [{
    firstName: new Date(),
    lastName: "Spencer"
    }, {
    firstName: "Tommy",
    lastName: "Maintz"
    }, {
    firstName: "Aaron",
    lastName: "Conran"
    }, {
    firstName: "Jamie",
    lastName: "Avins"
    }]
    });
    m.setStore(store);


    mainView.push(m);
    console.log(Ext.StoreManager);
    //console.log(Ext.ComponentManager);
    }
    }

    无标题.jpg







    Last edited by steven_jiangxf; Today at 6:44 PM.


    Reason: add test case











[NOREPRO] sencha touch store memory leaks

(5.0.1.1255) Component setLoading Error



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







  2. Default (5.0.1.1255) Component setLoading Error



    (5.0.1.1255) Component setLoading Error





    STAND-ALONE TEST CASE

    Fiddle: https://fiddle.sencha.com/#fiddle/cjj

    ADDITIONAL INFO

    Ext version tested:


    Browser versions tested against: DOCTYPE tested against: Description:

    • Using the setLoading method breaks some components.


    Steps to reproduce the problem:

    • Make an htmleditor component.

    • Some time after the htmleditor object has been created, execute the object's setLoading method with <true> as its argument).


    The result that was expected:

    • The load mask should show up.


    The result that occurs instead:

    • No load mask shows up. An exception is logged.


    It appears that it's setting the Window DOM object as the "focusEl" for the htmleditor object. I'm not sure if the same error applies to other component types as well, but someone mentioned a similar issue happening for Ext.window.Window objects here.

    Any ideas what could be causing this?


    WORKAROUND

    None yet.


    RELATED THREADS

    This one: http://www.sencha.com/forum/showthre...7959&langid=14


    FIDDLE















(5.0.1.1255) Component setLoading Error

ExtJS 5: Container should overlap with same position but different zIndex



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










  2. Default







    In your style you'd also need to set position: 'absolute' (and zIndex is not a valid config for container).

    Though I'd recommend instead making the component floating: true and showing where you want it to appear.








    Are you a Sencha products veteran who has wondered what it might be like to work at Sencha? If so, please reach out to our recruiting manager: sheryl@sencha.com












ExtJS 5: Container should overlap with same position but different zIndex

Move focus from textfield to panel Tool icons



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







  2. Default Move focus from textfield to panel Tool icons



    Move focus from textfield to panel Tool icons





    Configuration: Chrome 37

    Ext JS Version: 4.2.1

    Description:
    Actually I am not aware if this is a bug or not.

    I have a text field and the below that a panel with tool icons. I want to navigate between textfield to panel tool icons using Tab Key.


    Fiddle: https://fiddle.sencha.com/#fiddle/cjg


    tab1234.png















Move focus from textfield to panel Tool icons

Ext.data.reader.Reader.readAssociated uses wrong model class for associated records



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







  2. Default Ext.data.reader.Reader.readAssociated uses wrong model class for associated records



    Ext.data.reader.Reader.readAssociated uses wrong model class for associated records





    Please look at Ext.data.reader.Reader.readAssociated:


    Code:



    readAssociated: function(record, data, readOptions) {
    var roles = record.associations,
    key, role;

    for (key in roles) {
    if (roles.hasOwnProperty(key)) {
    role = roles[key];
    // The class for the other role may not have loaded yet
    if (role.cls) {
    role.read(record, data, this, readOptions );
    }
    }
    }
    }

    In readOptions there is property model which is set to right role type (in other words onwer of the association type). But left part type is required.

    This fix makes associated records be read correctly:


    Code:



    readAssociated: function (record, data, readOptions) {
    var roles = record.associations,
    key, role;


    for (key in roles) {
    if (roles.hasOwnProperty(key)) {
    role = roles[key];
    // The class for the other role may not have loaded yet
    if (role.cls) {
    role.read(record, data, this, Ext.apply({}, {model: role.type}, readOptions) );
    }
    }
    }
    }














Ext.data.reader.Reader.readAssociated uses wrong model class for associated records

Managing Third-Party Libraries for ExtJS 5 Apps and Packages

My company is transitioning to ExtJS 5 for web app development. We've created a site repository on our Nexus server for hosting our custom ExtJS packages that we plan to share with multiple teams. We've also uploaded .zip artifacts for ExtJS 5, Sencha Cmd, and Siesta to Nexus, and we pull them down via Gradle and extract them into the local project directory, and we have Gradle tasks that create workspaces/apps/packages as well as builds them. So far, that is working well.

However, we are now trying to incorporate some third-party JavaScript libraries, and we're struggling with how to distribute them. Via ExtJS packages? npm?


We need to be able to pull down:

- ExtJS and Sencha Cmd

- Siesta and extract it to the test location of the project

- A beta build of PhantomJS 2 for inclusion into Siesta

- ESLint plus custom company rules for inclusion at the project level

- Custom company utility libraries that also utilize third-party libraries

- Custom company ExtJS packages that themselves may or may not use third-party libraries


From what I've read, Sencha only speaks to using third-party libraries within the context of an app, not a shareable package. We'd like to use ExtJS packages to deliver all of our custom components and tools, but that seems to be an odd choice when packages are included/bundled within apps, and a package that is only for testing or for project configuration purposes has nothing to do with a deployed app. We've started looking at using Node.js and npms as Nexus just provided support for npms in version 2.10.


How is everyone else handling these types of dependencies? We want it to be automated so that developers have to do as little manual configuration as possible. We are using Intellij IDEA, btw.






Managing Third-Party Libraries for ExtJS 5 Apps and Packages

ignoreRightMouseSelection:true (DataViewModel, RowModel) problem with some browsers



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







  2. Default ignoreRightMouseSelection:true (DataViewModel, RowModel) problem with some browsers



    ignoreRightMouseSelection:true (DataViewModel, RowModel) problem with some browsers





    I fixed this issue myself but I think this should be resolved in the library.

    The problem description:




    On IE 8 and possibly IE 9, e.button comes undefined so ignoreRightMouseSelection check

    in original vetoSelection function is ignored, this fixes the button property before calling parent.

    Also on Mac and iOS safari, the selections in DataView occur early before click event. This is because

    an event named focusenter occurs (even before mousedown event) and original function vetos

    the selection only if the event is mousedown. This fix vetoes the selection when the event is focusenter too.

    So the selections in DataView will be enforced upon click only (not upon right click) as expected.

    This effects both dataview, gridpanel, treepanel (RowModel inherits DataViewModel from now on)



    Here is the fix:


    Code:



    //Target: 5.0.2.1411
    //On IE 8 and possibly IE 9, e.button comes undefined so ignoreRightMouseSelection check
    //in original vetoSelection function is ignored, this fixes the button property before calling parent.
    //Also on Mac and iOS safari, the selections in DataView occur early before click event. This is because
    //an event named focusenter occurs (even before mousedown event) and original function vetos
    //the selection only if the event is mousedown. This fix vetoes the selection when the event is focusenter too.
    //So the selections in DataView will be enforced upon click only (not upon right click) as expected.
    //This effects both dataview, gridpanel, treepanel (RowModel inherits DataViewModel from now on)


    Ext.override(Ext.selection.DataViewModel, {
    vetoSelection: function (e) {
    if (e.button === undefined)
    e.button = e.browserEvent.button;

    return (e.type === "focusenter") || this.callParent(arguments);
    }
    });








    Last edited by gtdev; Today at 9:43 AM.


    Reason: copied description to post body











ignoreRightMouseSelection:true (DataViewModel, RowModel) problem with some browsers

[OPEN] Ext.toolbar.Breadcrumb is not visible with Gray or Classic theme

Here is the simple code to replicate the problem (similar to the Kitchen Sink example):



Code:



Ext.define('KitchenSink.store.Files', {
extend: 'Ext.data.TreeStore',

root: {
text: 'Ext JS',
expanded: true,
children: [
{
text: 'app',
children: [
{ leaf: true, text: 'Application.js' }
]
},
{
text: 'button',
expanded: true,
children: [
{ leaf: true, text: 'Button.js' },
{ leaf: true, text: 'Cycle.js' },
{ leaf: true, text: 'Split.js' }
]
},
{
text: 'container',
children: [
{ leaf: true, text: 'ButtonGroup.js' },
{ leaf: true, text: 'Container.js' },
{ leaf: true, text: 'Viewport.js' }
]
},
{
text: 'core',
children: [
{
text: 'dom',
children: [
{ leaf: true, text: 'Element.form.js' },
{ leaf: true, text: 'Element.static-more.js' }
]
}
]
},
{
text: 'dd',
children: [
{ leaf: true, text: 'DD.js' },
{ leaf: true, text: 'DDProxy.js' },
{ leaf: true, text: 'DDTarget.js' },
{ leaf: true, text: 'DragDrop.js' },
{ leaf: true, text: 'DragDropManager.js' },
{ leaf: true, text: 'DragSource.js' },
{ leaf: true, text: 'DragTracker.js' },
{ leaf: true, text: 'DragZone.js' },
{ leaf: true, text: 'DragTarget.js' },
{ leaf: true, text: 'DragZone.js' },
{ leaf: true, text: 'Registry.js' },
{ leaf: true, text: 'ScrollManager.js' },
{ leaf: true, text: 'StatusProxy.js' }
]
},
{
text: 'core',
children: [
{ leaf: true, text: 'Element.alignment.js' },
{ leaf: true, text: 'Element.anim.js' },
{ leaf: true, text: 'Element.dd.js' },
{ leaf: true, text: 'Element.fx.js' },
{ leaf: true, text: 'Element.js' },
{ leaf: true, text: 'Element.position.js' },
{ leaf: true, text: 'Element.scroll.js' },
{ leaf: true, text: 'Element.style.js' },
{ leaf: true, text: 'Element.traversal.js' },
{ leaf: true, text: 'Helper.js' },
{ leaf: true, text: 'Query.js' }
]
},
{ leaf: true, text: 'Action.js' },
{ leaf: true, text: 'Component.js' },
{ leaf: true, text: 'Editor.js' },
{ leaf: true, text: 'Img.js' },
{ leaf: true, text: 'Layer.js' },
{ leaf: true, text: 'LoadMask.js' },
{ leaf: true, text: 'ProgressBar.js' },
{ leaf: true, text: 'Shadow.js' },
{ leaf: true, text: 'ShadowPool.js' },
{ leaf: true, text: 'ZIndexManager.js' }
]
}
});

var store = new KitchenSink.store.Files();

var win = new Ext.window.Window({
width: 400,
height: 200,
items: new Ext.toolbar.Breadcrumb({
store: store,
selection: store.getRoot().childNodes[4].childNodes[7]
})
});

win.show();





[OPEN] Ext.toolbar.Breadcrumb is not visible with Gray or Classic theme

How migrate Ext to Sencha

hello!!!

I have a project in Ext, I need to know how to migrate this code to sencha tocuh 2.3.

here's an example of the code



Code:



Ext.onReady(function() {
var botones_pagina = Ext.widget({
xtype: 'form',
layout: 'form',
id: 'botones_pagina',
renderTo: Ext.getBody(),
bodyPadding: '5 5 0',
border:false,
width: '100%',
items: [],
buttons: []
})
};

Appreciate your help!!!!



How migrate Ext to Sencha

Add buttons to tabpanel tab header

Hello,

I've searched some hours, but did not find any solution for my question. Using ExtJS 4.2.3.1477, I have a Ext.tab.Panel, for which I require to add buttons to some tabs with extra functionality. Most tabs are "closable: true" so they have a "x" on the top right of the panel header for closing the tab. What I need is a functionality like the "tools" configuration of panels and windows, so I can add extra functionionality to the tab panel header right beside the "x" button:


Google ChromeScreenSnapz098.png


Does anybody have a solution for this task?


Greetings,


Harald






Add buttons to tabpanel tab header

How to prevent hiding grid row editor when click cancel button there data is dirty

Wrong sprites in Neptune grid header icons when ClientBundle.enableInlining=false



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







  2. Default Wrong sprites in Neptune grid header icons when ClientBundle.enableInlining=false



    Wrong sprites in Neptune grid header icons when ClientBundle.enableInlining=false





    Setting the following in your GWT module

    <set-property name="ClientBundle.enableInlining" value="false" />
    will result in the wrong sprites being displayed in the headers for grids, grouping grids and trees. Please see attached image.

    badNeptune.png















Wrong sprites in Neptune grid header icons when ClientBundle.enableInlining=false

Creating TreeStore throws "Not found" for TreeModel



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





  2. Sencha User



    Join Date

    Jun 2014


    Location

    Murmansk, Russia


    Posts

    84


    Vote Rating

    12













Creating TreeStore throws "Not found" for TreeModel

Button with icon which changed when i click

Hello

I am beginner. I have a TV server with button to show passwords. This button have icon named 'eye' which is savev in ext.css:

.eye {

background-image: url(../icons/eye.png) !important;

}

Code button in idnode.js is:


if (conf.hidepwd) {

buttons.push('-');

abuttons.add = new Ext.Toolbar.Button({

tooltip: 'Show or hide passwords',

iconCls: 'eye',

text: 'Show passwords',

disabled: false,

handler: function() {

conf.showpwd = !conf.showpwd ? true : false;

this.setText(conf.showpwd ? 'Hide passwords' : 'Show passwords');

roweditor_destroy();

roweditor(select.getSelected());

}

});

buttons.push(abuttons.add);

}

I wnat changed icon for this:


.showPass{

background-image: url(../icons/show_pass.png) !important;

}

.hidePass{

background-image: url(../icons/hide_pass.png) !important;

}


When button have text Show password the icon must be: show_pass.png

When button have text Hide password the icon must be: hide_pass.png


Please help me how changed the code of button to work with this double icon.






Button with icon which changed when i click

Grouping summary not updated after filter update



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







  2. Default Grouping summary not updated after filter update



    Grouping summary not updated after filter update





    Here's a fiddle with grouping summary and filtering. The grouping summary should update if the filter is updated, but it doesn't. I've also tested with 4.2.3.

    http://ift.tt/102OWpN


    Does anybody know a workaround for this?















Grouping summary not updated after filter update

Same Video is playing in Nested List leaf ?

Hi All

The same video is showing up in all of the leafs in my nestedList .

When I do check it , I do see the correct video listed as the source.

But whatever video I start with that is the video that would play on all the leafs in the nested list.

Is their something I am missing?


Thanks

Jim



HTML Code:



Ext.define('TuT.view.NestedList',{ extend:'Ext.NestedList',
xtype:'nestedList',

requires:['Ext.Video'],

config:{
title:'NestedList',
iconCls:'star',
fullscreen: true,
scrollable:true,
styleHtmlContent:true,
styleHtmlCls:'homepage',
displayField: 'text',
store: 'TreeStore',

detailCard:{
xtype:'video',

},

}
});


HTML Code:



Ext.define('TuT.model.ListItem', {
extend: 'Ext.data.Model',
config:{
fields:['text','url']
}
})


HTML Code:



Ext.define('TuT.store.TreeStore', {
extend: 'Ext.data.TreeStore',
config: {
model: 'TuT.model.ListItem',
defaultRootProperty:'items',
root: {
items: [
{
text: 'Drinks',
items: [
{
text: 'Water',
items: [
{ text: 'Still', url: ['http://ift.tt/1zhwPM8' ], leaf: true },
{ text: 'Sparkling', url: ['http://ift.tt/1zhwNUy' ], leaf: true },
{ text: 'JB', leaf:true}

]
},
{ text: 'Soda', leaf: true }
]
},
{
text: 'Snacks',
items: [
{ text: 'Nuts', leaf: true },
{ text: 'Pretzels', leaf: true },
{ text: 'Wasabi Peas', url: ['http://ift.tt/1wGQMZg '], leaf: true}
]
}
]
}
}
});




HTML Code:



Ext.define('TuT.controller.NestedList', {
extend: 'Ext.app.Controller',

config: {
refs: {
nestedList: 'nestedList'
},
control: {
'nestedList':{

leafitemtap: function(nestedList, list, index, target, record) {
var detailCard = nestedList.getDetailCard();


detailCard.setUrl(record.get('url'));
},
}

});





Same Video is playing in Nested List leaf ?

mercredi 29 octobre 2014

HOW TO change to an UP arrow with the combobox?

[unable to retrieve full-text content]Hi: I have made the picker to go upwards as my combobox is at the bottom of the page. Is there a way in the API to change the down arrow to an...



HOW TO change to an UP arrow with the combobox?

How to get the .message from a model.save() from the server?

I'd like to do something like this but for a model.save() rather than a store.sync() in Ext JS 5. I tried adding an exception listener to the proxy via Sencha Architect 3.1 but this is broken at the moment. Is there a way to craft a callback to the .save() such that I can get access to the .success, .message and .total properties from the server's response?

I've tried this but I only seem to be able to get access to the success, and after console.logging() the other two parameters, I can't see the .message anywhere:



Code:



this.getViewModel().data.theClient.save({
callback: function(record, operation, success) {
if (success === false) {
record.reject();
}
}
});

Thanks.



How to get the .message from a model.save() from the server?

How can I get selected items for checkbox tree panel?

Adding an exception listener to a JsonReader doesn't work

If you add an exception listener to a JsonReader in Architect 3.1 it adds the new event below the JsonReader, but it does so with a "me" reference which does not exist:

Code:



listeners: {
exception: {
fn: me.onJsonException,
scope: me
}
}

The body of onJsonException is added to the model/store but it can't work because "me is not defined".

Sencha Architect






Adding an exception listener to a JsonReader doesn't work

Grid does not work with chained store and grouping summary



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







  2. Default Grid does not work with chained store and grouping summary



    Grid does not work with chained store and grouping summary





    STAND-ALONE TESTCASE

    http://ift.tt/1p3DzKd



    ADDITIONAL INFO


    Ext version tested:


    Browser versions tested against: DOCTYPE tested against: Description:

    • Grid does not work with chained store and grouping summary.


    Steps to reproduce the problem:

    • Create a grid with a chained store and a grouping summary.


    The result that was expected:

    • A working grid with grouping summary.


    The result that occurs instead:

    • The grid has no row and an error is thrown: Cannot read property 'childNodes' of null















Grid does not work with chained store and grouping summary

Total NOOB: Call URL from button on Toolbar

I need to call a URL when user clicks a button on the tooldbar The URL will print the selected grid row and redirect to a pdf

/wTxnMgr?task=Print&txnlogid=<datastore.txnlogid>


Ext.define('TxnLog.view.vtxnlog', {

extend: 'Ext.grid.Panel',

....

this.dockedItems = [{

xtype: 'toolbar',

dock: 'top',

items: [{

iconCls: 'icon-print',

text: 'Print',

disabled: false,

itemId: 'btnPrint',

scope: this,

handler: this.onPrintClick






Total NOOB: Call URL from button on Toolbar

Carousel within another carousel

Hi,

I am trying to use carousel within another carousel, for example - carousel 2 inside carousel 1. But carousel 1 is collapsing with carousel 2 when try to swipe carousel 2. Is it possible to deactivate carousel 1 on carousel 2 area ( when i try to use carousel 2).

Carousel within another carousel.png


Thanks






Carousel within another carousel

Scrollbar disappear for grid inside Window



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







  2. Default Scrollbar disappear for grid inside Window



    Scrollbar disappear for grid inside Window





    How to reproduce:

    • Put a grid inside a window and load many records to let you see the scrollbars.

    • Scroll for a while (up-down / right-left), after some scrolling the scrollbars will disappear

    Tested on MacOS 10.8.5 (with hiding system scrollbars mode) / Chrome (latest) and webkit


    Here the fiddle:

    https://fiddle.sencha.com/#fiddle/ch8















Scrollbar disappear for grid inside Window

Automatisation of sencha Cmd installation

[unable to retrieve full-text content]Hi, is there a way to install Sencha Cmd from start to finish in an automated process. Specifying an installation path upon calling sencha...



Automatisation of sencha Cmd installation

Sencha Touch build error

Hello all,

I have been given an older ish sencha touch project to work on.

ST version: 2.3

CMD version: 4.0.2.67

I get this build error:



Code:



[ERR] The following error occurred while executing this line:
/Volumes/Work/Mindscape/Applications/Mobile/SenchaTouch/ArmadaTech/build.xml:8: The following error occurred while executing this line:
/Volumes/Work/Mindscape/Applications/Mobile/SenchaTouch/ArmadaTech/.sencha/app/build-impl.xml:127: Cannot find /Volumes/Work/Mindscape/Applications/Mobile/SenchaTouch/ArmadaTech/.sencha/app/find-cmd-impl.xml imported from /Volumes/Work/Mindscape/Applications/Mobile/SenchaTouch/ArmadaTech/.sencha/app/build-impl.xml

Now the file it wants is not there. But I guess why is it looking for something that isn't there? Or is that a dumb question?

Any help will be greatly appreciated.


Thanks

Jason






Sencha Touch build error

Focus on selection model checkbox using Tab key

Configuration:


Chrome 37

Ext JS 4.2.1

Description:

Want to get focus on selection model check box using Tab Key


Fiddle: https://fiddle.sencha.com/#fiddle/cgc


How to reproduce:


Do focus on Name header item text box. then press Tab OR Shift+Tab to move the focus throw all the focus able items. I tried to do the same but focus is not coming on header check box .

Do you have any suggestion on it. Any help will be appreciated


Attachment:


Issue123.png






Focus on selection model checkbox using Tab key

Sencha Charts - Axis questions

I'm trying to learn the new Sencha Charts and I have two code questions about the nightly build, see below,


Code:



Ext.define('Ext.chart.axis.Axis', {
xtype: 'axis',


mixins: {
observable: 'Ext.mixin.Observable'
},
...
constructor: function (config) {
....
me.mixins.observable.constructor.apply(me, arguments);
Ext.ComponentManager.register(me); // <-- Why this call? Axis is not a component.
this.initConfig(config); // <-- Is this call needed? initConfig is also called by the Observable mixin.
},
....





Sencha Charts - Axis questions

Request Method:OPTIONS

how to check in the form whether any filed is enterd

Can I bind options to Ext.grid.filters.filter.List?


Code:



Ext.define('App.view.request.List', {
extend: 'Ext.grid.Panel',


alias: 'widget.requestlist',
plugins: 'gridfilters',
columns: [
{
text: 'Status',
dataIndex: 'status',
width: 200,
filter: {
type: 'list',
single: true,
labelField: 'title',
bind: {
options: '{statuses}'
}
}
},





Can I bind options to Ext.grid.filters.filter.List?

How to resize window height in ExtJS

I below code I am able to resize or get event while changing (resize) width but not call rezise event while changing height.

If any one know how manage resize event while changing height?

Ext.define('ClaimPortalApp.view.dialogs.Email', {

extend: 'Ext.window.Window',

alias: 'widget.dialogEmail',


requires: [

'Common.view.Text',

'Common.view.ButtonPrimary',

'Common.view.ButtonSecondary'

],


title : 'Email',

id:'previewWindow',

closable : true,

modal: true,

height:550,

layout: 'fit',

resizable: true,

width: 800,


/*layout: {

type: 'absolute'

},*/

items:[

{

xtype: 'form',

items:[

{

xtype: 'form',

layout: {

align: 'stretch',

type: 'vbox'

},

bodyPadding: 10,

header: false,

title: 'Email',

items: [


{

xtype: 'container',

itemId:'errorBox',

style:'background-color: #fff1ce; color: #cc2d30;',

hidden:true,

items: [

{

xtype:'label',

itemId: 'errorMsg'

}

]

},

{

xtype: 'textfield',

itemId: 'toData',

// vtype: 'email',

//vtypeText: null,

//regex: /^([\w\-\'\-]+)(\.[-\'\-]+)*@([\w\-]+\.){1,5}([A-Za-z]){2,4}$/,

flex: 1,

labelAlign: 'left',

labelWidth: 60,

fieldLabel: 'To'

},

{

xtype: 'textfield',

itemId: 'ccData',

// vtype: 'email',

//vtypeText: 'email id is not valid',

//msgTarget: 'under',

flex: 1,

labelAlign: 'left',

labelWidth: 60,

fieldLabel: 'Cc'

},

{

xtype: 'textfield',

itemId: 'subjectData',

flex: 1,

labelAlign: 'left',

labelWidth: 60,

fieldLabel: 'Subject'

},


/*{

xtype: 'filefield',

itemId:'uploadFile',

emptyText: 'select file',

buttonText: 'Browse',

hidden:false

},*/

{

xtype: 'textareafield', //htmleditor

itemId:'textFreeForm',

height: 130,

margin: '4 0 0 0',

flex: 1

},

{

xtype: 'container',

height: 180,


style:'overflow:auto;',

items: [

{

xtype: 'displayfield',

fieldLabel: 'The following data sections will be emailed',

labelAlign: 'top',

labelWidth:'100%',

width:'100%',

value: '',

itemId: 'dataPreview'

}

]

},


{

xtype: 'container',

flex: 1,

margin: '4 0 0 0',

layout: {

align: 'middle',

type: 'hbox'

},

items: [

{

xtype: 'buttonprimary',

itemID:'send',

flex: 1,

text: 'Send',

handler:function(){

var toData = ClaimPortalApp.controller.Utilities.GetComponentByItemId('toData').getValue();

var ccData = ClaimPortalApp.controller.Utilities.GetComponentByItemId('ccData').getValue();

var subject = ClaimPortalApp.controller.Utilities.GetComponentByItemId('subjectData').getValue();

var body = ClaimPortalApp.controller.Utilities.GetComponentByItemId('textFreeForm').getValue();


var stringVal = ClaimPortalApp.controller.Utilities.GetComponentByItemId('dataPreview').getValue();

var regex = /<br\s*[\/]?><br\s*[\/]?>/gi;

var queryString = stringVal.replace(regex , ',');


var reg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

if (reg.test(toData))

{

var closeWindow = Ext.getCmp('previewWindow');

if(ccData!== ''){

if (reg.test(ccData)){

closeWindow.isMailValidate(toData,ccData,subject,body,queryString);

}

else{

ClaimPortalApp.controller.Utilities.GetComponentByItemId('errorMsg').setText('Please Enter Valid Email Id');

ClaimPortalApp.controller.Utilities.GetComponentByItemId('errorBox').show();

return false;

}

}

else{

closeWindow.isMailValidate(toData,ccData,subject,body,queryString);

ClaimPortalApp.controller.Utilities.GetComponentByItemId('errorMsg').setText('');

ClaimPortalApp.controller.Utilities.GetComponentByItemId('errorBox').hide();

}


}

else{

ClaimPortalApp.controller.Utilities.GetComponentByItemId('errorMsg').setText('Please Enter Valid Email Id');

ClaimPortalApp.controller.Utilities.GetComponentByItemId('errorBox').show();

return false;

}


}

},

{

xtype: 'buttonsecondary',

itemId:'cancel',

flex: 1,

text: 'Cancel',

handler:function(){

this.up('.window').close();

}

}

]

}

]

}

],


listeners: {

resize: {

fn: function(el) {

alert('outer panel resize');

}

},


}

}


],






How to resize window height in ExtJS

enabling html id insertion

Hello,

I should apologize for my limited english.

I searched previously in these forums, without finding anything related to my problem.

My company upgrades GXT from GXT2 to GXT3 recently.

GXT2 generated a different id for each HTML element, that I used for automatic testing purpose.

They are no more inserted in the HTML our GXT3 vesrion produces, and I have not found the right option to enable this feature.

I should say that I do not installed GXT by myself. But I require some hint, to help the person who does it to configure GXT 3 with this option.

Thanks for any hint or link to a web page.

Best regards







enabling html id insertion

Extjs 4.2.1 Grid panel not showing horizontal scroll bar when show/hide columns

Hi

Am new to Extjs and facing problems with grid panel.

When am adding more columns to the grid from the column menu show/hide columns, the grid is not getting the horizontal scroll bar when the grid is overflowed. This is cutting off my data in the grid and there is no way to check the data without the scroll bar. I have set autoscroll: true to the grid definition. The same problem when the window resizes the grid is not getting scrollbars.


Please post me any overrides or code snippets to help my situation.

Thanks in advance!!!!






Extjs 4.2.1 Grid panel not showing horizontal scroll bar when show/hide columns

grid cell down not show image

I'm trying to show in image in a grid cell. I searched google and mostly found the advice using the renderer. I'm using the architect (Version 3.1) and the renderer of this cell looks like:

return '\<img style="width:60px;height:60px" src="resources/images/attention.gif"/\>';


But the page won't show the image and in the devtools the corresponding element looks like a text element. The text is shown instead.


How do I instruct the architect to create an image element?






grid cell down not show image

List with paging plugin messes up the store

I have an infinite list that is bound to an associated store i.e. something like: group.members();

I have paging plugin on this list, and it seems to initialize correctly. But, as soon as I do store.load() or store.loadPage(1) after a store.add(), it shows members from all groups – I have verified that the XHR actually fetches the right thing.


Thoughts? Any help is much appreciated!


Thanks!






List with paging plugin messes up the store

mardi 28 octobre 2014

Ext.form.field.ComboBox not firing select even upon calling .select()



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







  2. Default Ext.form.field.ComboBox not firing select even upon calling .select()



    Ext.form.field.ComboBox not firing select even upon calling .select()





    Ext version tested:

    Ext 5.0.2.1476

    Browser versions tested against:

    Chromium 38


    DOCTYPE tested against:

    html


    Description:

    According to the documentation, if .select(<record>) is called on a combo, the select event should be fired. This does not appear to be the case. If I select a value from the UI, then the event handler is called as expected.


    Steps to reproduce the problem:

    programatically call .select(<record>) on a combo


    The result that was expected:

    The select event on the combobox is fired.















Ext.form.field.ComboBox not firing select even upon calling .select()

Search result count / result highlighting

When using the search functionality in the code editor, it'd be great if no results were found, some text saying '0 results' or similar could be shown somewhere in the search bar. The same area could be used to show the total number of results in the case of using 'Find All'.

Improving the contrast of the highlighted search term in the code view when using the dark theme would help too. At the moment it feels like I'm playing http://ift.tt/WvBp8k having reached about level 10.







Search result count / result highlighting

rowcontextmenu not working with grid that has enableLocking true



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







  2. Default rowcontextmenu not working with grid that has enableLocking true



    rowcontextmenu not working with grid that has enableLocking true





    When we added a locked column to our grid, the context menu stopped working. See fiddle where just setting enableLocking to true prevents the rowcontextmenu event from being called on the grid.

    http://ift.tt/1xCPm0W















rowcontextmenu not working with grid that has enableLocking true

Is there a way to slide a list item out on destroy?

HTML style issues with HTML email content - app gets destroyed

Hello,

I have a ST 2.3/Cmd 4/Cordova 3.6 email app that pulls a list of emails based on search criteria. It's a simple Navigation View implementation; when a user taps a list item (email snippet), a details panel opens up that then loads the email via AJAX into the panel. It loads the HTML version of the email.


The problem I have is that depending on the email content, some emails completely destroy the styling and sizing of the entire app. Most emails load fine, but some emails cause complete UI damage, requiring the user to restart the app.


The first example shows the app working fine (all screens below from iPhone 4S in landscape; portrait does not solve the probem):

List of results:

photo 1.PNG


Tapping on a result opens the details successfully (I can navigate back to the above list successfully):


photo 2.PNG


Now, in the following case, I try to load another result, and get into trouble. The search results list looks fine:


photo 3.PNG

Now, when I tap the first result, the following happens (notice the reduced width of the panel, and the missing title, navigation arrow adjusted right by a lot):

photo 5.PNG


Worse, when I try to navigate back to the original list, I end up with this screen (the original results list is completely destroyed:


photo.PNG


I suspect it's a styling interference or HTML tags issue; I don't control what styles are being used/referenced in the email HTML content.


This has me completely stumped. Any help or suggestions or best practices on how best to load external content into panels would be hugely appreciated. I would like to avoid using iFrames as that would introduce new problems even if it fixes this one. Do I need to wrap my external HTML content with something to prevent this?


Please help!


Thanks,

Mohammad

San Jose, CA






HTML style issues with HTML email content - app gets destroyed

User extension does not draw in dev mode

Hi Everyone!

I'm pretty new with user extensions, so maybe my problem is a stupid one, but it already took me a day.


Started from an override of Ext.grid.Panel - everything was OK - and decided to make a package. It never draws in SA3 and shows in the log: Category: Design View, Message: Framework Error: object is not a function.


But the listing in the toolbox and the configs seem OK.


I've recreated the package numerous times, attached is the last just empty package, as a .zip of the \Extensions folder.


The package was compiled with no warnings, as per http://ift.tt/1tf6b1w


Please, advise, what am I doing wrong!


Thanks in advance!

Ilia


Attachment 50834






User extension does not draw in dev mode

Ext.ElementLoader.url behaves differently than Ext.data.proxy.Rest.url



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







  2. Default Ext.ElementLoader.url behaves differently than Ext.data.proxy.Rest.url



    Ext.ElementLoader.url behaves differently than Ext.data.proxy.Rest.url





    Despite both properties are strings:

    http://ift.tt/1u4yALe

    http://ift.tt/1wE1xKX


    when I assign the function returning a string to both of them:



    Code:



    url: function () {
    return Ext.get("container").getAttribute("data-url");
    }

    I'm getting different results:


    • For loader it's treated as string.

    • For proxy it's threated as function so returns an error somewhere inside the framework:


    indexOf() is not a function.


















Ext.ElementLoader.url behaves differently than Ext.data.proxy.Rest.url

Grid binding store selection with extra parameters

Is it possible to add extra options to this way of binding a store?

Code:



bind: {
store : '{punchsGrid.selection.punchEquipments}'
},

For example, I would like to set filters or pageSize options

Code:



bind: {
store : {
id : '{punchsGrid.selection.punchEquipments}',
pageSize : 20,
remoteFilter : true
}
},

thx



Grid binding store selection with extra parameters

HasMany Array not being inherited

Need advice on code: Video not showing up

Hi All

I am trying to get a video to show up in a nestedList leaf.

I an not sure what I am missing here. Its fine when I put the URL in the nestedList detailCard config.

I would like to display a different URL for the other list items.

Thanks

Jim


Ext.define('TuT.view.NestedList',{ extend:'Ext.NestedList',

xtype:'nestedList',


requires:['Ext.Video'],


config:{

title:'NestedList',

iconCls:'star',

fullscreen: true,

scrollable:true,

styleHtmlContent:true,

styleHtmlCls:'homepage',

displayField: 'text',

store: 'TreeStore',


detailCard:{

xtype:'video',

styleHtmlContent: true,

scrollable: true,

url: '{Video}'

},


}

});


Ext.define('TuT.store.TreeStore', { extend: 'Ext.data.TreeStore',

config: {

model: 'TuT.model.ListItem',

defaultRootProperty:'items',

root: {

items: [

{

text: 'Drinks',

items: [

{

text: 'Water',

items: [

{ text: 'Still', leaf: true },

{ text: 'Sparkling', video: 'http://ift.tt/1vbmzOC History.mp4', leaf: true },

{ text: 'JB', video: 'http://ift.tt/1tGolMm' , leaf:true}


]

},

{ text: 'Soda', leaf: true }

]

},

{

text: 'Snacks',

items: [

{ text: 'Nuts', leaf: true },

{ text: 'Pretzels', leaf: true },

{ text: 'Wasabi Peas', leaf: true}

]

}

]

}

}

});


Ext.define('TuT.model.ListItem', {

extend: 'Ext.data.Model',

config:{

fields:['text','video']

}

})


Ext.define('TuT.controller.NestedList', {

extend: 'Ext.app.Controller',


config: {

refs: {

nestedList: 'nestedList'

},

control: {

'nestedList':{


leafitemtap: function(nestedList, list, index, target, record) {

var detailCard = nestedList.getDetailCard();


detailCard.setData(record.getData());

},

}


});






Need advice on code: Video not showing up