namely for 'tag-tree-style' and 'tag-colors'. display the tag overrides directly as they will appear as tags
Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- www/manager6/Utils.js | 20 ++++++++++++++++ www/manager6/dc/OptionView.js | 43 ++++++++++++++++++++++++++++++++++- 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js index 63687d08..2fe823ff 100644 --- a/www/manager6/Utils.js +++ b/www/manager6/Utils.js @@ -1862,6 +1862,26 @@ Ext.define('PVE.Utils', { Ext.ComponentQuery.query('pveResourceTree')[0].setUserCls(`proxmox-tags-${style}`); }, + tagTreeStyles: { + '__default__': Proxmox.Utils.defaultText, + 'full': gettext('Full'), + 'circle': gettext('Circle'), + 'dense': gettext('Dense'), + 'none': Proxmox.Utils.NoneText, + }, + + renderTags: function(tagstext, overrides) { + let text = ''; + if (tagstext) { + let tags = (tagstext.split(/[,; ]/) || []).filter(t => !!t); + text += ' '; + tags.forEach((tag) => { + text += Proxmox.Utils.getTagElement(tag, overrides); + }); + } + return text; + }, + tagCharRegex: /^[a-z0-9+_.-]$/i, }, diff --git a/www/manager6/dc/OptionView.js b/www/manager6/dc/OptionView.js index 6b30ede9..aef77964 100644 --- a/www/manager6/dc/OptionView.js +++ b/www/manager6/dc/OptionView.js @@ -5,6 +5,7 @@ Ext.define('PVE.dc.OptionView', { onlineHelp: 'datacenter_configuration_file', monStoreErrors: true, + userCls: 'proxmox-tags-full', add_inputpanel_row: function(name, text, opts) { var me = this; @@ -284,7 +285,43 @@ Ext.define('PVE.dc.OptionView', { minValue: 1, maxValue: 64, // arbitrary but generous limit as limits are good }); - + me.add_combobox_row('tag-tree-style', gettext('Tag Tree Style'), { + renderer: (value) => PVE.Utils.tagTreeStyles[value] ?? value, + comboItems: Object.entries(PVE.Utils.tagTreeStyles), + defaultValue: '__default__', + deleteEmpty: true, + }); + me.rows['tag-colors'] = { + required: true, + renderer: (value) => { + if (value === undefined) { + return gettext('No Overrides'); + } + let overrides = PVE.Utils.parseTagOverrides(value); + let txt = ''; + for (const tag of Object.keys(overrides)) { + txt += Proxmox.Utils.getTagElement(tag, overrides); + } + return txt; + }, + header: gettext('Tag Color Override'), + editor: { + xtype: 'proxmoxWindowEdit', + width: 800, + bodyPadding: 0, + subject: gettext('Tag Color Override'), + fieldDefaults: { + labelWidth: 100, + }, + url: '/api2/extjs/cluster/options', + items: [{ + name: 'tag-colors', + xtype: 'pveTagColorGrid', + deleteEmpty: true, + height: 300, + }], + }, + }; me.selModel = Ext.create('Ext.selection.RowModel', {}); Ext.apply(me, { @@ -319,6 +356,10 @@ Ext.define('PVE.dc.OptionView', { if (rec.data.value === '__default__') { delete PVE.VersionInfo.console; } + + let colors = store.getById('tag-colors')?.data?.value; + let style = store.getById('tag-tree-style')?.data?.value; + PVE.Utils.updateTagSettings(colors, style); }); me.on('activate', me.rstore.startUpdate); -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel