/** * Created by zhouy on 2018/10/18. */ Ext.define('saas.view.document.kind.KindController', { extend: 'Ext.app.ViewController', alias: 'controller.document-kind', loadDefualt:function(grid){ var me=this, view = me.getView(), vm = me.getViewModel(), defaultKind=vm.getData()['dataKind'].value, etc = view.etc[defaultKind]; grid.reconfigure(vm.getStore(defaultKind), me.insertActionColumn(etc.columns)); }, onKindToggle:function(container, button, pressed){ var me = this, name = button.value, view = me.getView(), grid = me.lookup('document-kind-Grid'), vm = me.getViewModel(), etc = view.etc[name], store=vm.getStore(name); var columns=me.insertActionColumn(etc.columns); grid.reconfigure(store, columns); if(store) store.reload(); vm.set('title', button.text); }, onAdd:function(){ var me=this, dataKind=me.getViewModel().getData()['dataKind'].value; me.createDialog(dataKind); }, onRefresh:function(){ }, insertActionColumn:function(columns){ var me=this; if(columns.length>0 && columns[0].xtype!='actioncolumn'){ return Ext.Array.insert(columns,0,[{ xtype:'actioncolumn', items: [{ tooltip: '编辑', iconCls: 'x-fa fa-pencil fa-fw', handler: me.onEdit, scope:this },{ text:'删除', iconCls:'x-fa fa-trash-o fa-fw', tooltip: '删除', handler: me.onDelete, scope:this }] }]); } return columns; }, onEdit:function(grid,row,col){ var me=this, view=me.getView(), dataKind=me.getViewModel().getData()['dataKind'].value; rec = grid.getStore().getAt(row); var keyField=rec.get(view.etc[dataKind].keyField); this.createDialog(dataKind,rec); }, onDelete:function(grid,row,col){ var me=this, view=me.getView(), dataKind=me.getViewModel().getData()['dataKind'].value; rec = grid.getStore().getAt(row); var keyV=rec.get(view.etc[dataKind].keyField); alert('删除ID:'+keyV); }, createDialog: function(dataKind,record) { var view = this.getView();var me=this; this.isEdit = !!record; this.dialog = view.add({ xtype: 'document-kind-childwin', bind: { title: record ? '修改{title}类型' : '新增{title}类型' }, dataKind:dataKind, belong:this.getView().etc[dataKind], _parent:this.getView(), record:record, session: true }); this.dialog.show(); } });