disabled: false,
hideHeaders: true,
- rows: {},
+ monStoreErrors: false,
+
+ add_combobox_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,
+ 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,
+ 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,
+ fieldDefaults: {
+ labelWidth: opts.labelWidth || 100
+ },
items: {
xtype: 'proxmoxcheckbox',
name: name,
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,
+ 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: Proxmox.Utils.compute_min_label_width(
text, opts.labelWidth),
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);
+ }
}
});