]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/dc/OptionView.js
ui: datacenter config: adapt to new default MAC prefix
[pve-manager.git] / www / manager6 / dc / OptionView.js
index f32d9eee0b5a6392d13105300dc7e4243fe89fb5..b200fd12dcc935a0597b82213f744ec5567f4d61 100644 (file)
@@ -94,7 +94,7 @@ Ext.define('PVE.dc.OptionView', {
        me.add_text_row('mac_prefix', gettext('MAC address prefix'), {
            deleteEmpty: true,
            vtype: 'MacPrefix',
-           defaultValue: Proxmox.Utils.noneText,
+           defaultValue: 'BC:24:11',
        });
        me.add_inputpanel_row('migration', gettext('Migration Settings'), {
            renderer: PVE.Utils.render_as_property_string,
@@ -140,6 +140,7 @@ Ext.define('PVE.dc.OptionView', {
        });
        me.add_inputpanel_row('crs', gettext('Cluster Resource Scheduling'), {
            renderer: PVE.Utils.render_as_property_string,
+           width: 450,
            labelWidth: 120,
            url: "/api2/extjs/cluster/options",
            onlineHelp: 'ha_manager_crs',
@@ -155,6 +156,12 @@ Ext.define('PVE.dc.OptionView', {
                    ['static', 'Static Load'],
                ],
                defaultValue: '__default__',
+           }, {
+               xtype: 'proxmoxcheckbox',
+               name: 'ha-rebalance-on-start',
+               fieldLabel: gettext('Rebalance on Start'),
+               boxLabel: gettext('Use CRS to select the least loaded node when starting an HA service'),
+               value: 0,
            }],
        });
        me.add_inputpanel_row('u2f', gettext('U2F Settings'), {
@@ -338,17 +345,20 @@ Ext.define('PVE.dc.OptionView', {
                if (value === undefined) {
                    return gettext('No Overrides');
                }
-               let colors = PVE.Utils.parseTagOverrides(value?.['color-map']);
+               let colors = PVE.UIOptions.parseTagOverrides(value?.['color-map']);
                let shape = value.shape;
-               let shapeText = PVE.Utils.tagTreeStyles[shape ?? '__default__'];
+               let shapeText = PVE.UIOptions.tagTreeStyles[shape ?? '__default__'];
                let txt = Ext.String.format(gettext("Tree Shape: {0}"), shapeText);
-               let orderText = PVE.Utils.tagOrderOptions[value.ordering ?? '__default__'];
+               let orderText = PVE.UIOptions.tagOrderOptions[value.ordering ?? '__default__'];
                txt += `, ${Ext.String.format(gettext("Ordering: {0}"), orderText)}`;
-               if (Object.keys(colors).length > 0) {
-                   txt += ', ';
+               if (value['case-sensitive']) {
+                   txt += `, ${gettext('Case-Sensitive')}`;
                }
-               for (const tag of Object.keys(colors)) {
-                   txt += Proxmox.Utils.getTagElement(tag, colors);
+               if (Object.keys(colors).length > 0) {
+                   txt += `, ${gettext('Color Overrides')}: `;
+                   for (const tag of Object.keys(colors)) {
+                       txt += Proxmox.Utils.getTagElement(tag, colors);
+                   }
                }
                return txt;
            },
@@ -385,6 +395,9 @@ Ext.define('PVE.dc.OptionView', {
                            if (values.ordering) {
                                style.ordering = values.ordering;
                            }
+                           if (values['case-sensitive']) {
+                               style['case-sensitive'] = 1;
+                           }
                            let value = PVE.Parser.printPropertyString(style);
                            if (value === '') {
                                return {
@@ -427,7 +440,7 @@ Ext.define('PVE.dc.OptionView', {
                                    ],
                                },
                                store: {
-                                   data: Object.entries(PVE.Utils.tagTreeStyles).map(v => ({
+                                   data: Object.entries(PVE.UIOptions.tagTreeStyles).map(v => ({
                                        value: v[0],
                                        display: v[1],
                                    })),
@@ -440,11 +453,18 @@ Ext.define('PVE.dc.OptionView', {
                                name: 'ordering',
                                xtype: 'proxmoxKVComboBox',
                                fieldLabel: gettext('Ordering'),
-                               comboItems: Object.entries(PVE.Utils.tagOrderOptions),
+                               comboItems: Object.entries(PVE.UIOptions.tagOrderOptions),
                                defaultValue: '__default__',
                                value: '__default__',
                                deleteEmpty: true,
                            },
+                           {
+                               name: 'case-sensitive',
+                               xtype: 'proxmoxcheckbox',
+                               fieldLabel: gettext('Case-Sensitive'),
+                               boxLabel: gettext('Applies to new edits'),
+                               value: 0,
+                           },
                            {
                                xtype: 'displayfield',
                                fieldLabel: gettext('Color Overrides'),
@@ -470,9 +490,9 @@ Ext.define('PVE.dc.OptionView', {
                let mode = value?.['user-allow'] ?? 'free';
                let list = value?.['user-allow-list']?.join(',') ?? '';
                let modeTxt = Ext.String.format(gettext('Mode: {0}'), mode);
-               let overrides = PVE.Utils.tagOverrides;
+               let overrides = PVE.UIOptions.tagOverrides;
                let tags = PVE.Utils.renderTags(list, overrides);
-               let listTxt = tags !== '' ? `, ${gettext('Pre-defiend:')} ${tags}` : '';
+               let listTxt = tags !== '' ? `, ${gettext('Pre-defined:')} ${tags}` : '';
                return `${modeTxt}${listTxt}`;
            },
            header: gettext('User Tag Access'),
@@ -487,7 +507,7 @@ Ext.define('PVE.dc.OptionView', {
                if (value === undefined) {
                    return gettext('No Registered Tags');
                }
-               let overrides = PVE.Utils.tagOverrides;
+               let overrides = PVE.UIOptions.tagOverrides;
                return PVE.Utils.renderTags(value.join(','), overrides);
            },
            header: gettext('Registered Tags'),
@@ -526,13 +546,14 @@ Ext.define('PVE.dc.OptionView', {
            }
 
            var rec = store.getById('console');
-           PVE.UIOptions.console = rec.data.value;
+           PVE.UIOptions.options.console = rec.data.value;
            if (rec.data.value === '__default__') {
-               delete PVE.UIOptions.console;
+               delete PVE.UIOptions.options.console;
            }
 
-           PVE.UIOptions['tag-style'] = store.getById('tag-style')?.data?.value;
-           PVE.Utils.updateTagSettings(PVE.UIOptions['tag-style']);
+           PVE.UIOptions.options['tag-style'] = store.getById('tag-style')?.data?.value;
+           PVE.UIOptions.updateTagSettings(PVE.UIOptions.options['tag-style']);
+           PVE.UIOptions.fireUIConfigChanged();
        });
 
        me.on('activate', me.rstore.startUpdate);