]> git.proxmox.com Git - proxmox-widget-toolkit.git/commitdiff
add pmxUserSelector
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Tue, 9 Nov 2021 11:27:15 +0000 (12:27 +0100)
committerDominik Csapak <d.csapak@proxmox.com>
Wed, 10 Nov 2021 07:37:03 +0000 (08:37 +0100)
copied from pbs

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
src/Makefile
src/form/UserSelector.js [new file with mode: 0644]

index a490ccd7ef47510910f160daea58dc94c410a9d5..cc464c36fb4fdfcdafebf5986f362e703d1e084f 100644 (file)
@@ -42,6 +42,7 @@ JSSRC=                                        \
        form/MultiDiskSelector.js       \
        form/TaskTypeSelector.js        \
        form/ACME.js                    \
+       form/UserSelector.js            \
        button/Button.js                \
        button/HelpButton.js            \
        grid/ObjectGrid.js              \
diff --git a/src/form/UserSelector.js b/src/form/UserSelector.js
new file mode 100644 (file)
index 0000000..ce66fab
--- /dev/null
@@ -0,0 +1,50 @@
+Ext.define('Proxmox.form.UserSelector', {
+    extend: 'Proxmox.form.ComboGrid',
+    alias: 'widget.pmxUserSelector',
+
+    allowBlank: false,
+    autoSelect: false,
+    valueField: 'userid',
+    displayField: 'userid',
+
+    editable: true,
+    anyMatch: true,
+    forceSelection: true,
+
+    store: {
+       model: 'pmx-users',
+       autoLoad: true,
+       params: {
+           enabled: 1,
+       },
+       sorters: 'userid',
+    },
+
+    listConfig: {
+       columns: [
+           {
+               header: gettext('User'),
+               sortable: true,
+               dataIndex: 'userid',
+               renderer: Ext.String.htmlEncode,
+               flex: 1,
+           },
+           {
+               header: gettext('Name'),
+               sortable: true,
+               renderer: (first, mD, rec) => Ext.String.htmlEncode(
+                   `${first || ''} ${rec.data.lastname || ''}`,
+               ),
+               dataIndex: 'firstname',
+               flex: 1,
+           },
+           {
+               header: gettext('Comment'),
+               sortable: false,
+               dataIndex: 'comment',
+               renderer: Ext.String.htmlEncode,
+               flex: 1,
+           },
+       ],
+    },
+});