disabled: false,
hideHeaders: true,
- rows: {},
+ monStoreErrors: false,
- add_boolean_row: function(name, text, opts) {
+ add_combobox_row: function(name, text, opts) {
var me = this;
opts = opts || {};
+ me.rows = me.rows || {};
- var tm = new Ext.util.TextMetrics();
+ me.rows[name] = {
+ required: true,
+ defaultValue: opts.defaultValue,
+ header: text,
+ renderer: opts.renderer,
+ editor: {
+ xtype: 'proxmoxWindowEdit',
+ subject: text,
+ onlineHelp: opts.onlineHelp,
+ fieldDefaults: {
+ labelWidth: opts.labelWidth || 100
+ },
+ items: {
+ xtype: 'proxmoxKVComboBox',
+ name: name,
+ comboItems: opts.comboItems,
+ value: opts.defaultValue,
+ deleteEmpty: opts.deleteEmpty ? true : false,
+ emptyText: opts.defaultValue,
+ labelWidth: Proxmox.Utils.compute_min_label_width(
+ text, opts.labelWidth),
+ fieldLabel: text
+ }
+ }
+ };
+ },
+
+ add_text_row: function(name, text, opts) {
+ var me = this;
+
+ opts = opts || {};
+ me.rows = me.rows || {};
+
+ me.rows[name] = {
+ required: true,
+ defaultValue: opts.defaultValue,
+ header: text,
+ renderer: opts.renderer,
+ editor: {
+ xtype: 'proxmoxWindowEdit',
+ subject: text,
+ onlineHelp: opts.onlineHelp,
+ fieldDefaults: {
+ labelWidth: opts.labelWidth || 100
+ },
+ items: {
+ xtype: 'proxmoxtextfield',
+ name: name,
+ deleteEmpty: opts.deleteEmpty ? true : false,
+ emptyText: opts.defaultValue,
+ labelWidth: Proxmox.Utils.compute_min_label_width(
+ text, opts.labelWidth),
+ vtype: opts.vtype,
+ fieldLabel: text
+ }
+ }
+ };
+ },
+
+ add_boolean_row: function(name, text, opts) {
+ var me = this;
+
+ opts = opts || {};
+ me.rows = me.rows || {};
me.rows[name] = {
required: true,
editor: {
xtype: 'proxmoxWindowEdit',
subject: text,
+ onlineHelp: opts.onlineHelp,
+ fieldDefaults: {
+ labelWidth: opts.labelWidth || 100
+ },
items: {
xtype: 'proxmoxcheckbox',
name: name,
defaultValue: opts.defaultValue || 0,
checked: opts.defaultValue ? true : false,
deleteDefaultValue: opts.deleteDefaultValue ? true : false,
- labelWidth: opts.labelWidth || tm.getWidth(text + ':'),
+ labelWidth: Proxmox.Utils.compute_min_label_width(
+ text, opts.labelWidth),
fieldLabel: text
}
}
var me = this;
opts = opts || {}
-
- var tm = new Ext.util.TextMetrics();
+ me.rows = me.rows || {};
me.rows[name] = {
required: true,
defaultValue: opts.defaultValue,
header: text,
+ renderer: opts.renderer,
editor: {
xtype: 'proxmoxWindowEdit',
subject: text,
+ onlineHelp: opts.onlineHelp,
+ fieldDefaults: {
+ labelWidth: opts.labelWidth || 100
+ },
items: {
xtype: 'proxmoxintegerfield',
name: name,
minValue: opts.minValue,
maxValue: opts.maxValue,
emptyText: gettext('Default'),
- deleteEmpty: true,
+ deleteEmpty: opts.deleteEmpty ? true : false,
value: opts.defaultValue,
- labelWidth: opts.labelWidth || tm.getWidth(text + ':'),
+ labelWidth: Proxmox.Utils.compute_min_label_width(
+ text, opts.labelWidth),
fieldLabel: text
}
}
return value;
},
+ listeners: {
+ itemkeydown: function(view, record, item, index, e) {
+ if (e.getKey() === e.ENTER) {
+ this.pressedIndex = index;
+ }
+ },
+ itemkeyup: function(view, record, item, index, e) {
+ if (e.getKey() === e.ENTER && index == this.pressedIndex) {
+ this.run_editor();
+ }
+
+ this.pressedIndex = undefined;
+ }
+ },
+
initComponent : function() {
var me = this;
});
me.callParent();
+
+ if (me.monStoreErrors) {
+ Proxmox.Utils.monStoreErrors(me, me.store);
+ }
}
});