[pbs-devel] [PATCH proxmox-backup 18/26] ui: window: add RemovableDeviceEdit

Hannes Laimer h.laimer at proxmox.com
Tue Jul 5 15:08:26 CEST 2022


Signed-off-by: Hannes Laimer <h.laimer at proxmox.com>
---
 www/Makefile                      |  1 +
 www/window/RemovableDeviceEdit.js | 76 +++++++++++++++++++++++++++++++
 2 files changed, 77 insertions(+)
 create mode 100644 www/window/RemovableDeviceEdit.js

diff --git a/www/Makefile b/www/Makefile
index 4d29f1b4..12be1ce5 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -74,6 +74,7 @@ JSSRC=							\
 	window/MaintenanceOptions.js			\
 	window/NotesEdit.js				\
 	window/RemoteEdit.js				\
+	window/RemovableDeviceEdit.js			\
 	window/TrafficControlEdit.js			\
 	window/NotifyOptions.js				\
 	window/SyncJobEdit.js				\
diff --git a/www/window/RemovableDeviceEdit.js b/www/window/RemovableDeviceEdit.js
new file mode 100644
index 00000000..6a14e9a6
--- /dev/null
+++ b/www/window/RemovableDeviceEdit.js
@@ -0,0 +1,76 @@
+Ext.define('PBS.window.RemovableDeviceEdit', {
+    extend: 'Proxmox.window.Edit',
+    alias: 'widget.pbsRemovableDeviceEdit',
+    mixins: ['Proxmox.Mixin.CBind'],
+
+    isAdd: true,
+
+    subject: gettext('Removable Device'),
+
+    fieldDefaults: { labelWidth: 120 },
+
+    cbindData: function(initialConfig) {
+	let me = this;
+
+	let baseurl = '/api2/extjs/config/removable-device';
+	let name = initialConfig.name;
+
+	me.isCreate = !name;
+	me.url = name ? `${baseurl}/${name}` : baseurl;
+	me.method = name ? 'PUT' : 'POST';
+	me.autoLoad = !!name;
+	me.datastore = initialConfig.datastore;
+	me.editDatastore = me.datastore === undefined;
+    },
+    width: 450,
+
+    items: {
+	xtype: 'inputpanel',
+	items: [
+	    {
+		xtype: 'pmxDisplayEditField',
+		name: 'name',
+		fieldLabel: gettext('Name'),
+		renderer: Ext.htmlEncode,
+		allowBlank: false,
+		minLength: 4,
+		cbind: {
+		    editable: '{isCreate}',
+		},
+	    },
+	    {
+		xtype: 'pmxDisplayEditField',
+		fieldLabel: gettext('UUID'),
+		name: 'uuid',
+		submitValue: true,
+		cbind: {
+		    editable: '{isCreate}',
+		},
+		editConfig: {
+		    xtype: 'pbsPartitionSelector',
+		    allowBlank: false,
+		},
+	    },
+	    {
+		fieldLabel: gettext('Initialized'),
+		xtype: 'proxmoxcheckbox',
+		uncheckedValue: false,
+		name: 'initialized',
+	    },
+	    {
+		xtype: 'pmxDisplayEditField',
+		fieldLabel: gettext('Datastore'),
+		name: 'store',
+		submitValue: true,
+		cbind: {
+		    editable: '{editDatastore}',
+		    value: '{datastore}',
+		},
+		editConfig: {
+		    xtype: 'pbsDataStoreSelector',
+		    allowBlank: false,
+		},
+	    },
+	],
+    },
+});
-- 
2.30.2






More information about the pbs-devel mailing list