pve-manager/www/manager6/window/TreeSettingsEdit.js
Dominik Csapak 3a2a696443 ui: add window for changing tree related options
such as the sorting/grouping of guests. saves them in the browser local
storage under 'pve-tree-sorting'

adds a button for it next to the the view selector

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2023-02-22 09:12:36 +01:00

88 lines
2.0 KiB
JavaScript

Ext.define('PVE.window.TreeSettingsEdit', {
extend: 'Proxmox.window.Edit',
alias: 'widget.pveTreeSettingsEdit',
title: gettext('Tree Settings'),
isCreate: false,
// we don't want an url, we override submit(), but it is needed by the parent class
url: 'bogus',
fieldDefaults: {
labelWidth: 120,
},
items: [
{
xtype: 'inputpanel',
items: [
{
xtype: 'proxmoxKVComboBox',
name: 'sort-field',
fieldLabel: gettext('Sort Field'),
comboItems: [
['__default__', `${Proxmox.Utils.defaultText} (VMID)`],
['vmid', 'VMID'],
['name', gettext('Name')],
],
defaultValue: '__default__',
value: '__default__',
deleteEmpty: false,
},
{
xtype: 'proxmoxKVComboBox',
name: 'group-templates',
fieldLabel: gettext('Group Templates'),
comboItems: [
['__default__', `${Proxmox.Utils.defaultText} (${gettext("Yes")})`],
[1, gettext('Yes')],
[0, gettext('No')],
],
defaultValue: '__default__',
value: '__default__',
deleteEmpty: false,
},
{
xtype: 'proxmoxKVComboBox',
name: 'group-guest-types',
fieldLabel: gettext('Group Types'),
comboItems: [
['__default__', `${Proxmox.Utils.defaultText} (${gettext("Yes")})`],
[1, gettext('Yes')],
[0, gettext('No')],
],
defaultValue: '__default__',
value: '__default__',
deleteEmpty: false,
},
{
xtype: 'displayfield',
userCls: 'pmx-hint',
value: gettext('Settings are saved in the local storage of the browser'),
},
],
},
],
submit: function() {
let me = this;
let localStorage = Ext.state.Manager.getProvider();
localStorage.set('pve-tree-sorting', me.down('inputpanel').getValues() || null);
me.apiCallDone();
me.close();
},
initComponent: function() {
let me = this;
me.callParent();
let localStorage = Ext.state.Manager.getProvider();
me.down('inputpanel').setValues(localStorage.get('pve-tree-sorting'));
},
});