[pbs-devel] [PATCH proxmox-backup 5/5] ui: add maintenance to datastore options
Hannes Laimer
h.laimer at proxmox.com
Tue Sep 28 12:05:48 CEST 2021
---
www/Makefile | 1 +
www/datastore/OptionView.js | 10 +++++
www/window/MaintenanceOptions.js | 63 ++++++++++++++++++++++++++++++++
3 files changed, 74 insertions(+)
create mode 100644 www/window/MaintenanceOptions.js
diff --git a/www/Makefile b/www/Makefile
index 4aec6e2c..8f6b17ed 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -63,6 +63,7 @@ JSSRC= \
window/BackupGroupChangeOwner.js \
window/CreateDirectory.js \
window/DataStoreEdit.js \
+ window/MaintenanceOptions.js \
window/NotesEdit.js \
window/RemoteEdit.js \
window/NotifyOptions.js \
diff --git a/www/datastore/OptionView.js b/www/datastore/OptionView.js
index 5a5e85be..1e0c3357 100644
--- a/www/datastore/OptionView.js
+++ b/www/datastore/OptionView.js
@@ -1,3 +1,4 @@
+
Ext.define('PBS.Datastore.Options', {
extend: 'Proxmox.grid.ObjectGrid',
xtype: 'pbsDatastoreOptionView',
@@ -111,5 +112,14 @@ Ext.define('PBS.Datastore.Options', {
},
},
},
+ "maintenance-type": {
+ required: true,
+ header: gettext('Maintenance mode'),
+ defaultValue: 'Off',
+ renderer: (value) => Ext.String.capitalize(value) || 'Off',
+ editor: {
+ xtype: 'pbsMaintenanceOptionEdit',
+ },
+ },
},
});
diff --git a/www/window/MaintenanceOptions.js b/www/window/MaintenanceOptions.js
new file mode 100644
index 00000000..8ff5ccf9
--- /dev/null
+++ b/www/window/MaintenanceOptions.js
@@ -0,0 +1,63 @@
+Ext.define('PBS.form.MaintenanceType', {
+ extend: 'Proxmox.form.KVComboBox',
+ alias: 'widget.pbsMaintenanceType',
+
+ comboItems: [
+ ['__default__', gettext('Off')],
+ ['readonly', gettext('Read Only')],
+ ['offline', gettext('Offline')],
+ ],
+});
+
+Ext.define('PBS.window.MaintenanceOptions', {
+ extend: 'Proxmox.window.Edit',
+ xtype: 'pbsMaintenanceOptionEdit',
+ mixins: ['Proxmox.Mixin.CBind'],
+
+ subject: gettext('Maintenance mode'),
+
+ width: 450,
+ fieldDefaults: {
+ labelWidth: 120,
+ },
+
+ items: {
+ xtype: 'inputpanel',
+ onGetValues: function(values) {
+ PBS.Utils.delete_if_default(values, 'maintenance-type', '');
+ PBS.Utils.delete_if_default(values, 'maintenance-msg', '');
+ if (values.delete) {
+ values.delete = values.delete.split(',');
+ }
+
+ return values;
+ },
+ items: [
+ {
+ xtype: 'pbsMaintenanceType',
+ name: 'maintenance-type',
+ fieldLabel: gettext('Maintenance Type'),
+ value: '__default__',
+ deleteEmpty: true,
+ },
+ {
+ xtype: 'textfield',
+ emptyText: 'none',
+ name: 'maintenance-msg',
+ fieldLabel: gettext('Description'),
+ value: '__default__',
+ deleteEmpty: true,
+ },
+ ],
+ },
+ setValues: function(values) {
+ let me = this;
+
+ const options = {
+ 'maintenance-type': values['maintenance-type'] || '__default__',
+ 'maintenance-msg': values['maintenance-msg'],
+ };
+
+ me.callParent([options]);
+ },
+});
--
2.30.2
More information about the pbs-devel
mailing list