[pbs-devel] [PATCH proxmox-backup v2 1/4] ui: add GroupSelector
Dominik Csapak
d.csapak at proxmox.com
Mon Nov 29 15:39:40 CET 2021
to select either a group from a datastore
for now it is expected to set the data in the store manually
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
www/Makefile | 1 +
www/form/GroupSelector.js | 54 +++++++++++++++++++++++++++++++++++++++
2 files changed, 55 insertions(+)
create mode 100644 www/form/GroupSelector.js
diff --git a/www/Makefile b/www/Makefile
index 616c3e12..c975387c 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -42,6 +42,7 @@ JSSRC= \
form/DataStoreSelector.js \
form/CalendarEvent.js \
form/PermissionPathSelector.js \
+ form/GroupSelector.js \
data/RunningTasksStore.js \
button/TaskButton.js \
config/UserView.js \
diff --git a/www/form/GroupSelector.js b/www/form/GroupSelector.js
new file mode 100644
index 00000000..4bf51104
--- /dev/null
+++ b/www/form/GroupSelector.js
@@ -0,0 +1,54 @@
+Ext.define('pbs-groups', {
+ extend: 'Ext.data.Model',
+ fields: [
+ 'backup-type',
+ 'backup-id',
+ {
+ name: 'group',
+ type: 'string',
+ convert: function(value, record) {
+ if (record.data['backup-type'] && record.data['backup-id']) {
+ return `${record.data['backup-type']}/${record.data['backup-id']}`;
+ }
+ return value;
+ },
+ },
+ ],
+ proxy: {
+ type: 'proxmox',
+ },
+});
+
+Ext.define('PBS.form.GroupSelector', {
+ extend: 'Proxmox.form.ComboGrid',
+ alias: 'widget.pbsGroupSelector',
+
+ allowBlank: false,
+ autoSelect: false,
+ notFoundIsValid: true,
+ editable: true,
+ valueField: 'group',
+ displayField: 'group',
+
+ store: {
+ sorters: 'group',
+ model: 'pbs-groups',
+ },
+
+ listConfig: {
+ minHeight: 80,
+ emptyText: gettext('No Groups'),
+ viewConfig: {
+ deferEmptyText: false,
+ },
+ columns: [
+ {
+ header: gettext('Group'),
+ sortable: true,
+ dataIndex: 'group',
+ renderer: Ext.String.htmlEncode,
+ flex: 1,
+ },
+ ],
+ },
+});
--
2.30.2
More information about the pbs-devel
mailing list