ui: datastore: add option view tab
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
65595e169f
commit
b614b29bea
@ -53,6 +53,7 @@ JSSRC= \
|
|||||||
datastore/PruneAndGC.js \
|
datastore/PruneAndGC.js \
|
||||||
datastore/Prune.js \
|
datastore/Prune.js \
|
||||||
datastore/Content.js \
|
datastore/Content.js \
|
||||||
|
datastore/OptionView.js \
|
||||||
datastore/Panel.js \
|
datastore/Panel.js \
|
||||||
BackupGroupChangeOwner.js \
|
BackupGroupChangeOwner.js \
|
||||||
ServerStatus.js \
|
ServerStatus.js \
|
||||||
|
87
www/datastore/OptionView.js
Normal file
87
www/datastore/OptionView.js
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
Ext.define('PBS.Datastore.Options', {
|
||||||
|
extend: 'Proxmox.grid.ObjectGrid',
|
||||||
|
xtype: 'pbsDatastoreOptionView',
|
||||||
|
mixins: ['Proxmox.Mixin.CBind'],
|
||||||
|
|
||||||
|
cbindData: function(initial) {
|
||||||
|
let me = this;
|
||||||
|
|
||||||
|
me.datastore = encodeURIComponent(me.datastore);
|
||||||
|
me.url = `/api2/json/config/datastore/${me.datastore}`;
|
||||||
|
me.editorConfig = {
|
||||||
|
url: `/api2/extjs/config/datastore/${me.datastore}`,
|
||||||
|
datastore: me.datastore,
|
||||||
|
};
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
|
||||||
|
controller: {
|
||||||
|
xclass: 'Ext.app.ViewController',
|
||||||
|
|
||||||
|
edit: function() {
|
||||||
|
this.getView().run_editor();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
tbar: [
|
||||||
|
{
|
||||||
|
xtype: 'proxmoxButton',
|
||||||
|
text: gettext('Edit'),
|
||||||
|
disabled: true,
|
||||||
|
handler: 'edit',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
listeners: {
|
||||||
|
activate: function() { this.rstore.startUpdate(); },
|
||||||
|
destroy: function() { this.rstore.stopUpdate(); },
|
||||||
|
deactivate: function() { this.rstore.stopUpdate(); },
|
||||||
|
itemdblclick: 'edit',
|
||||||
|
},
|
||||||
|
|
||||||
|
rows: {
|
||||||
|
"notify": {
|
||||||
|
required: true,
|
||||||
|
header: gettext('Notfiy'),
|
||||||
|
renderer: (value) => {
|
||||||
|
let notify = PBS.Utils.parsePropertyString(value);
|
||||||
|
let res = [];
|
||||||
|
for (const k of ['Verify', 'Sync', 'GC']) {
|
||||||
|
let v = Ext.String.capitalize(notify[k.toLowerCase()]) || 'Always';
|
||||||
|
res.push(`${k}=${v}`);
|
||||||
|
}
|
||||||
|
return res.join(', ');
|
||||||
|
},
|
||||||
|
editor: {
|
||||||
|
xtype: 'pbsNotifyOptionEdit',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"notify-user": {
|
||||||
|
required: true,
|
||||||
|
defaultValue: 'root@pam',
|
||||||
|
header: gettext('Notfiy User'),
|
||||||
|
editor: {
|
||||||
|
xtype: 'pbsNotifyOptionEdit',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"verify-new": {
|
||||||
|
required: true,
|
||||||
|
header: gettext('Verify New Snapshots'),
|
||||||
|
defaultValue: false,
|
||||||
|
renderer: Proxmox.Utils.format_boolean,
|
||||||
|
editor: {
|
||||||
|
xtype: 'proxmoxWindowEdit',
|
||||||
|
title: gettext('Verify New'),
|
||||||
|
width: 350,
|
||||||
|
items: {
|
||||||
|
xtype: 'proxmoxcheckbox',
|
||||||
|
name: 'verify-new',
|
||||||
|
boxLabel: gettext("Verify new backups immediately after completion"),
|
||||||
|
defaultValue: false,
|
||||||
|
deleteDefaultValue: true,
|
||||||
|
deleteEmpty: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
@ -77,6 +77,15 @@ Ext.define('PBS.DataStorePanel', {
|
|||||||
datastore: '{datastore}',
|
datastore: '{datastore}',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
xtype: 'pbsDatastoreOptionView',
|
||||||
|
itemId: 'options',
|
||||||
|
title: gettext('Options'),
|
||||||
|
iconCls: 'fa fa-cog',
|
||||||
|
cbind: {
|
||||||
|
datastore: '{datastore}',
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
itemId: 'acl',
|
itemId: 'acl',
|
||||||
xtype: 'pbsACLView',
|
xtype: 'pbsACLView',
|
||||||
|
Loading…
Reference in New Issue
Block a user