From 7ec6cd9e86d8c5c5a410b6aad2ebf277d874f88b Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Fri, 24 Feb 2017 10:50:03 +0100 Subject: [PATCH] ObjectGrid: add run_editor() and reload() helpers --- grid/ObjectGrid.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/grid/ObjectGrid.js b/grid/ObjectGrid.js index 7f221eb..762dbd3 100644 --- a/grid/ObjectGrid.js +++ b/grid/ObjectGrid.js @@ -22,6 +22,48 @@ Ext.define('Proxmox.grid.ObjectGrid', { disabled: false, hideHeaders: true, + editorConfig: {}, // default config passed to editor + + run_editor: function() { + var me = this; + + var sm = me.getSelectionModel(); + var rec = sm.getSelection()[0]; + if (!rec) { + return; + } + + var rows = me.rows; + var rowdef = rows[rec.data.key]; + if (!rowdef.editor) { + return; + } + + var win; + var config; + if (Ext.isString(rowdef.editor)) { + config = Ext.apply({ + confid: rec.data.key, + }, me.editorConfig); + win = Ext.create(rowdef.editor, config); + } else { + config = Ext.apply({ + confid: rec.data.key, + }, me.editorConfig); + Ext.apply(config, rowdef.editor); + win = Ext.createWidget(rowdef.editor.xtype, config); + win.load(); + } + + win.show(); + win.on('destroy', me.reload, me); + }, + + reload: function() { + var me = this; + me.rstore.load(); + }, + getObjectValue: function(key, defaultValue) { var me = this; var rec = me.store.getById(key); -- 2.39.2