Jelajahi Sumber

trigger编辑结束立即保存到grid

zhuth 8 tahun lalu
induk
melakukan
b17f7a86f2

+ 18 - 0
kanban-console/src/main/webapp/resources/app/view/core/trigger/FormRenderTrigger.js

@@ -2,6 +2,7 @@ Ext.define('erp.view.core.trigger.FormRenderTrigger', {
     extend: 'Ext.form.field.Trigger',
     alias: 'widget.formrendertrigger',
     triggerCls: 'render-trigger-icon-form',
+    editable: false,
     onTriggerClick: function() {
         var trigger = this;
         var symbolStore = Ext.create('Ext.data.Store', {
@@ -120,6 +121,23 @@ Ext.define('erp.view.core.trigger.FormRenderTrigger', {
                                 break;
                             }
                         }
+                        var getPropConfigByRecord = function(records) {
+                            var propConfig = new Array();
+                            var obj;
+                            Ext.Array.each(records,function(record){
+                                obj = new Object();
+                                obj.display = record.get('display');
+                                obj.property = record.get('property');
+                                obj.propvalue = record.get('propvalue');
+                                propConfig.push(obj);
+                            });
+                            return propConfig;
+                        }
+
+                        var detailGrid = Ext.getCmp('elementdetailgrid');
+                        var detailSelect = detailGrid.getSelectionModel().getSelection()[0];
+                        detailSelect.set('propconfig',getPropConfigByRecord(grid.store.data.items));
+
                         grid.getPlugin().startEditByPosition({row: rowIndex, column: colIndex});
                     }else {
                         win.field.setValue(win.getRender());

+ 18 - 0
kanban-console/src/main/webapp/resources/app/view/core/trigger/GridRenderTrigger.js

@@ -2,6 +2,7 @@ Ext.define('erp.view.core.trigger.GridRenderTrigger', {
     extend: 'Ext.form.field.Trigger',
     alias: 'widget.gridrendertrigger',
     triggerCls: 'render-trigger-icon-form',
+    editable: false,
     onTriggerClick: function() {
         var trigger = this;
         var symbolStore = Ext.create('Ext.data.Store', {
@@ -116,6 +117,23 @@ Ext.define('erp.view.core.trigger.GridRenderTrigger', {
                                 break;
                             }
                         }
+                        var getPropConfigByRecord = function(records) {
+                            var propConfig = new Array();
+                            var obj;
+                            Ext.Array.each(records,function(record){
+                                obj = new Object();
+                                obj.display = record.get('display');
+                                obj.property = record.get('property');
+                                obj.propvalue = record.get('propvalue');
+                                propConfig.push(obj);
+                            });
+                            return propConfig;
+                        }
+
+                        var detailGrid = Ext.getCmp('elementdetailgrid');
+                        var detailSelect = detailGrid.getSelectionModel().getSelection()[0];
+                        detailSelect.set('propconfig',getPropConfigByRecord(grid.store.data.items));
+
                         grid.getPlugin().startEditByPosition({row: rowIndex, column: colIndex});
                     }else {
                         win.field.setValue(win.getRender());

+ 19 - 0
kanban-console/src/main/webapp/resources/app/view/core/trigger/StyleTrigger.js

@@ -2,6 +2,7 @@ Ext.define('erp.view.core.trigger.StyleTrigger', {
     extend: 'Ext.form.field.Trigger',
     alias: 'widget.styletrigger',
     triggerCls: 'style-trigger-icon-form',
+    editable: false,
     onTriggerClick: function() {
         var trigger = this;
         try {
@@ -197,6 +198,24 @@ Ext.define('erp.view.core.trigger.StyleTrigger', {
                                 break;
                             }
                         }
+
+                        var getPropConfigByRecord = function(records) {
+                            var propConfig = new Array();
+                            var obj;
+                            Ext.Array.each(records,function(record){
+                                obj = new Object();
+                                obj.display = record.get('display');
+                                obj.property = record.get('property');
+                                obj.propvalue = record.get('propvalue');
+                                propConfig.push(obj);
+                            });
+                            return propConfig;
+                        }
+
+                        var detailGrid = Ext.getCmp('elementdetailgrid');
+                        var detailSelect = detailGrid.getSelectionModel().getSelection()[0];
+                        detailSelect.set('propconfig',getPropConfigByRecord(grid.store.data.items));
+
                         grid.getPlugin().startEditByPosition({row: rowIndex, column: colIndex});
                     }else {
                         win.field.setValue( Ext.JSON.encode( win.getStyle() ) );