]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/dc/RegisteredTagsEdit.js
ui: guest import: add warning for losing efi state
[pve-manager.git] / www / manager6 / dc / RegisteredTagsEdit.js
CommitLineData
0a627d94
DC
1Ext.define('PVE.dc.RegisteredTagsEdit', {
2 extend: 'Proxmox.window.Edit',
3 alias: 'widget.pveRegisteredTagEdit',
4
5 subject: gettext('Registered Tags'),
6 onlineHelp: 'datacenter_configuration_file',
7
8 url: '/api2/extjs/cluster/options',
9
10 hintText: gettext('NOTE: The following tags are also defined in the user allow list.'),
11
12 controller: {
13 xclass: 'Ext.app.ViewController',
14
15 tagChange: function(field, value) {
16 let me = this;
17 let view = me.getView();
18 let also_allowed = [];
19 value = Ext.isArray(value) ? value : value.split(';');
20 value.forEach(tag => {
21 if (view.allowed_tags.indexOf(tag) !== -1) {
22 also_allowed.push(tag);
23 }
24 });
25 let hint_field = me.lookup('hintField');
26 hint_field.setVisible(also_allowed.length > 0);
27 if (also_allowed.length > 0) {
28 hint_field.setValue(`${view.hintText} ${also_allowed.join(', ')}`);
29 }
30 },
31 },
32
33 items: [
34 {
35 xtype: 'inputpanel',
36 setValues: function(values) {
37 let allowed_tags = values?.['user-tag-access']?.['user-allow-list'] ?? [];
38 this.up('pveRegisteredTagEdit').allowed_tags = allowed_tags;
56dee217 39 let tags = values?.['registered-tags'];
0a627d94
DC
40 return Proxmox.panel.InputPanel.prototype.setValues.call(this, { tags });
41 },
42 onGetValues: function(values) {
56dee217
DC
43 if (!values.tags) {
44 return {
45 'delete': 'registered-tags',
46 };
47 } else {
48 return {
49 'registered-tags': values.tags,
50 };
51 }
0a627d94
DC
52 },
53 items: [
54 {
55 name: 'tags',
56 xtype: 'pveListField',
0a627d94 57 maskRe: PVE.Utils.tagCharRegex,
432aec56
DC
58 gridConfig: {
59 height: 200,
60 scrollable: true,
56dee217 61 emptyText: gettext('No Tags defined'),
432aec56 62 },
0a627d94
DC
63 listeners: {
64 change: 'tagChange',
65 },
66 },
67 {
68 hidden: true,
69 xtype: 'displayfield',
70 reference: 'hintField',
71 userCls: 'pmx-hint',
72 },
73 ],
74 },
75 ],
76});