]> git.proxmox.com Git - proxmox-widget-toolkit.git/commitdiff
ObjectGrid: add helpers to add editor
authorDietmar Maurer <dietmar@proxmox.com>
Fri, 24 Feb 2017 16:43:49 +0000 (17:43 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Fri, 24 Feb 2017 16:43:49 +0000 (17:43 +0100)
Utils.js
grid/ObjectGrid.js

index 80526cddd1145dd562581072caf5f6eb6026e527..a41fbc6ee2d3ad54c96f7346cadd8f382ba19c3a 100644 (file)
--- a/Utils.js
+++ b/Utils.js
@@ -75,6 +75,10 @@ Ext.define('Proxmox.Utils', { utilities: {
        return !value ? Proxmox.Utils.yesText : Proxmox.Utils.noText;
     },
 
+    format_enabled_toggle: function(value) {
+       return value ? Proxmox.Utils.enabledText : Proxmox.Utils.disabledText;
+    },
+
     authOK: function() {
        return (Proxmox.UserName !== '') && Ext.util.Cookies.get(Proxmox.Setup.auth_cookie_name);
     },
index 762dbd3ac87c118ec00fb4cf76abae56e366f807..743532dbec024b4f240af52c79ef4a014535f711 100644 (file)
@@ -22,6 +22,66 @@ Ext.define('Proxmox.grid.ObjectGrid', {
     disabled: false,
     hideHeaders: true,
 
+    rows: {},
+
+    add_boolean_row: function(name, text, opts) {
+       var me = this;
+
+       opts = opts || {};
+
+       var tm = new Ext.util.TextMetrics();
+
+       me.rows[name] = {
+           required: true,
+           defaultValue: opts.defaultValue || 0,
+           header: text,
+           renderer: opts.renderer || Proxmox.Utils.format_boolean,
+           editor: {
+               xtype: 'proxmoxWindowEdit',
+               subject: text,
+               items: {
+                   xtype: 'proxmoxcheckbox',
+                   name: name,
+                   uncheckedValue: 0,
+                   defaultValue: opts.defaultValue  || 0,
+                   checked: opts.defaultValue ? true : false,
+                   deleteDefaultValue: opts.deleteDefaultValue ? true : false,
+                   labelWidth: opts.labelWidth || tm.getWidth(text + ':'),
+                   fieldLabel: text
+               }
+           }
+       };
+    },
+
+    add_integer_row: function(name, text, opts) {
+       var me = this;
+
+       opts = opts || {}
+
+       var tm = new Ext.util.TextMetrics();
+
+       me.rows[name] = {
+           required: true,
+           defaultValue: opts.defaultValue,
+           header: text,
+           editor: {
+               xtype: 'proxmoxWindowEdit',
+               subject: text,
+               items: {
+                   xtype: 'proxmoxintegerfield',
+                   name: name,
+                   minValue: opts.minValue,
+                   maxValue: opts.maxValue,
+                   emptyText: gettext('Default'),
+                   deleteEmpty: true,
+                   value: opts.defaultValue,
+                   labelWidth: opts.labelWidth || tm.getWidth(text + ':'),
+                   fieldLabel: text
+               }
+           }
+       };
+    },
+
     editorConfig: {}, // default config passed to editor
 
     run_editor: function() {