pve-manager/www/manager6/dc/OptionView.js
Emmanuel Kasper 3c813f7416 Enlarge Object Grid first column default size
The framework value of 100 is not enough for many of our description
fields.
Setting this at the parent component level allow to remove
the end component setting.
2016-05-17 11:33:34 +02:00

195 lines
3.5 KiB
JavaScript

Ext.define('PVE.dc.HttpProxyEdit', {
extend: 'PVE.window.Edit',
initComponent : function() {
var me = this;
Ext.applyIf(me, {
subject: gettext('HTTP proxy'),
items: {
xtype: 'pvetextfield',
name: 'http_proxy',
vtype: 'HttpProxy',
emptyText: gettext('Do not use any proxy'),
deleteEmpty: true,
value: '',
fieldLabel: gettext('HTTP proxy')
}
});
me.callParent();
me.load();
}
});
Ext.define('PVE.dc.KeyboardEdit', {
extend: 'PVE.window.Edit',
initComponent : function() {
var me = this;
Ext.applyIf(me, {
subject: gettext('Keyboard Layout'),
items: {
xtype: 'VNCKeyboardSelector',
name: 'keyboard',
value: '__default__',
fieldLabel: gettext('Keyboard Layout')
}
});
me.callParent();
me.load();
}
});
Ext.define('PVE.dc.ConsoleViewerEdit', {
extend: 'PVE.window.Edit',
initComponent : function() {
var me = this;
var data = [];
Ext.Array.each(['__default__','vv', 'html5'], function(value) {
data.push([value, PVE.Utils.render_console_viewer(value)]);
});
Ext.applyIf(me, {
subject: gettext('Console Viewer'),
items: {
xtype: 'pveKVComboBox',
name: 'console',
value: '__default__',
fieldLabel: gettext('Console Viewer'),
comboItems: data
}
});
me.callParent();
me.load();
}
});
Ext.define('PVE.dc.EmailFromEdit', {
extend: 'PVE.window.Edit',
initComponent : function() {
var me = this;
Ext.applyIf(me, {
subject: gettext('Email from address'),
items: {
xtype: 'pvetextfield',
name: 'email_from',
vtype: 'pveMail',
emptyText: 'root@$hostname',
deleteEmpty: true,
value: '',
fieldLabel: gettext('Email from address')
}
});
me.callParent();
me.load();
}
});
Ext.define('PVE.dc.OptionView', {
extend: 'PVE.grid.ObjectGrid',
alias: ['widget.pveDcOptionView'],
noProxyText: gettext('Do not use any proxy'),
initComponent : function() {
var me = this;
var reload = function() {
me.rstore.load();
};
var rows = {
keyboard: {
header: gettext('Keyboard Layout'),
editor: 'PVE.dc.KeyboardEdit',
renderer: PVE.Utils.render_kvm_language,
required: true
},
http_proxy: {
header: gettext('HTTP proxy'),
editor: 'PVE.dc.HttpProxyEdit',
required: true,
renderer: function(value) {
if (!value) {
return me.noProxyText;
}
return value;
}
},
console: {
header: gettext('Console Viewer'),
editor: 'PVE.dc.ConsoleViewerEdit',
required: true,
renderer: PVE.Utils.render_console_viewer
},
email_from: {
header: gettext('Email from address'),
editor: 'PVE.dc.EmailFromEdit',
required: true,
renderer: function(value) {
if (!value) {
return 'root@$hostname';
}
return value;
}
}
};
var sm = Ext.create('Ext.selection.RowModel', {});
var run_editor = function() {
var rec = sm.getSelection()[0];
if (!rec) {
return;
}
var rowdef = rows[rec.data.key];
if (!rowdef.editor) {
return;
}
var win = Ext.create(rowdef.editor, {
url: "/api2/extjs/cluster/options",
confid: rec.data.key
});
win.show();
win.on('destroy', reload);
};
var edit_btn = new PVE.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,
handler: run_editor
});
Ext.apply(me, {
url: "/api2/json/cluster/options",
interval: 1000,
selModel: sm,
tbar: [ edit_btn ],
rows: rows,
listeners: {
itemdblclick: run_editor,
activate: reload
}
});
me.callParent();
}
});