so i'm having trouble trying determine why store's data values aren't populating itemselector component, raw data values populated, looks model , stores setup correctly. i'm trying utilize first particular portion of json data that's why have rootproperty set 'data[0].options'. trying populate itemselector 'area' collection of json data. components below, appreciated.
itemselector
xtype: 'itemselector', cls: 'itemselectorplainpanel', margin: '10 10 10 10', labelalign: 'top', height: 200, flex: 1, autoscroll: true, id: 'ertcselector', buttons: ['add', 'remove'], reference: 'ertcselector', store: ext.create('cers.store.managerfilterstore'), displayfield: 'label', allowblank: true, msgtarget: 'side', fromtitle: 'available ertc home area', totitle: 'selected ertc home area', listeners: { render: function() { console.log(this); /*console.log('value ' + this.fromfield.store.data.items.length);*/ } }
store
ext.define('cers.store.managerfilterstore', { extend: 'cers.util.store', requires:[ 'cers.model.managerfilteritems', 'cers.util.msghelper', 'ext.data.proxy.rest' ], model: 'cers.model.managerfilteritems', storeid: 'managerfilterid', autoload: true, proxy: { type: 'rest', method: 'get', url: '/rest/mgrqueue/init', extraparams: { authuserid: 'eksioog' }, reader: { type: 'json', rootproperty: 'data[0].options', totalproperty: 'total', successproperty: 'success', messageproperty: 'message' } }, listeners: { datachanged: function() { /*console.log('rawdata below!!!!'); console.log(this.getproxy()); console.log('model info'); console.log(this.getproxy().getmodel().getfields()); console.log('getdata'); console.log(this.getdata()); console.log('fields'); console.log(this.getproxy().getmodel().getfields()); console.log('model'); console.log(this.getproxy().getmodel()); console.log('store'); console.log(this); console.log('data'); console.log(this.getdata());*/ console.log('reader'); console.log(this.getproxy().getreader()); } }, constructor: function(){ this.callparent(arguments); /*this.filter('model', 'area');*/ } });
model
ext.define('cers.model.managerfilteritems', { extend: 'cers.util.model', constructor: function (args) { this.callparent(args); // calls parent constructor of parent class being extended }, fields: [ { name: 'label', type: 'string'}, { name: 'value', type: 'string'}, { name: 'active', type: 'boolean'}, { name: 'selected', type: 'boolean'} ], idproperty: 'label', getlabel : function() { return this.get('label'); }, setlabel : function(value) { this.set('label', value); }, getvalue : function() { return this.get('value'); }, setvalue : function(value) { this.set('value', value); }, getactive : function() { return this.get('active'); }, setactive : function(value) { this.set('active', value); }, getselected : function() { return this.get('selected'); }, setselected : function(value) { this.set('selected', value); } });
json data
{ "data" : [ { "model" : "area", "functionality" : "managerqueuefilter", "options" : [ { "label" : "headquarters", "value" : "12", "active" : true, "selected" : false }, { "label" : "northeast", "value" : "2", "active" : true, "selected" : false }, { "label" : "testing area", "value" : "41", "active" : true, "selected" : false } ], } { "model" : "user", "functionality" : "managerqueuefilter", "options" : [ { "label" : "green, ted", "value" : "c0gret6_vzwm", "active" : false, "selected" : false }, { "label" : "eksioglu, oguz", "value" : "eksioog", "active" : true, "selected" : true } ] } ], "total" : 2, "success" : true, "message" : "success"
try add mode
property itemselector
:
... mode: 'local', ...
also, haven't set valuefield
'field'.
Comments
Post a Comment