How can I fire a function in viewcontrol from map event in ExtJS? -


i have mvvm app openlayers map. when doing specific event on map (like finishing draw) want fire "add" event of extjs grid.

i've tried accessing viewcontroller using myapp.app.getcontroller('itemscontroller') error :

unrecognized class name / alias: app.controller.itemscontroller

how can call viewcontroller method or fire event of grid item starting adding items grid ?

    ext.define('app.view.grids.itemsviewcontroller', {     extend: 'ext.app.viewcontroller',     alias: 'controller.itemscontroller',         onnewclick: function (button, evt) {                 var newitem = ext.create('app.model.items.item', {             id:'',             name:''                     });         this.isnewrecord = true;         this.newrecordid = newevent.get('id');         var grid = this.lookupreference('itemsgrid');         grid.getstore().insert(0, newevent);         grid.getplugin('itemsroweditingplugin').startedit(newevent);     } }); 

view definition:

ext.define('app.view.grids.itemsgrid', {     extend: 'ext.panel.panel',     alias: 'widget.items',     xtype: 'itemsgrid',     reference: 'items',     requires: [         'app.view.grids.itemsviewcontroller',         'app.view.grids.itemsviewmodel2'     ],     viewmodel: {         type: 'itemsviewmodel'     },     controller: 'itemscontroller',     session: true,     width: '100%',     height: 500,     layout: {         type: 'vbox',         align: 'stretch'     },     items: [         {             xtype: 'grid',             itemid: 'itemsgrid',             reference: 'itemsgrid',             width: '100%',             title: 'items',             flex: 5,             height: 350,             maxheight: 350,             scrollable: 'y',             header: true,             viewconfig: {                 striperows: true             },                         bind:{              store: '{itemsstore}'              },             columns: [                 {                     dataindex: 'id',                     text: 'id'                     //,hidden: true                 },                 {                     dataindex: 'hours',                     text: 'hours',                     editor: {                         xtype: 'numberfield',                         minvalue: 1,                         allowblank: false                     }                 },                 {                     dataindex: 'address',                     text: 'address',                     flex: 1,                     editor: {                         xtype: 'textfield',                         allowblank: false                     }                 },                 {                     dataindex: 'name',                     text: 'name',                     flex: 1,                     editor: {                         xtype: 'textfield',                         allowblank: false                     }                 }             ],              seltype: 'rowmodel',             plugins: [                 {                     ptype: 'rowediting',                     pluginid: 'itemsroweditingplugin',                     clickstoedit: 1                 }             ]         }] }); 

try accessing controller this:

ext.componentquery.query('itemsgrid')[0].getcontroller();


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -