]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/panel/BackupAdvancedOptions.js
2 * Input panel for advanced backup options intended to be used as part of an edit/create window.
4 Ext
.define('PVE.panel.BackupAdvancedOptions', {
5 extend
: 'Proxmox.panel.InputPanel',
6 xtype
: 'pveBackupAdvancedOptionsPanel',
7 mixins
: ['Proxmox.Mixin.CBind'],
9 cbindData: function() {
11 me
.isCreate
= !!me
.isCreate
;
15 onGetValues: function(formValues
) {
16 if (this.needMask
) { // isMasked() may not yet be true if not rendered once
20 let options
= { 'delete': [] };
23 let performanceOptions
= ['max-workers', 'pbs-entries-max'];
25 for (const [key
, value
] of Object
.entries(formValues
)) {
26 if (performanceOptions
.includes(key
)) {
27 performance
[key
] = value
;
28 // deleteEmpty is not currently implemented for pveBandwidthField
29 } else if (key
=== 'bwlimit' && value
=== '') {
30 options
.delete.push('bwlimit');
31 } else if (key
=== 'delete') {
32 if (Array
.isArray(value
)) {
33 value
.filter(opt
=> !performanceOptions
.includes(opt
)).forEach(
34 opt
=> options
.delete.push(opt
),
36 } else if (!performanceOptions
.includes(formValues
.delete)) {
37 options
.delete.push(value
);
44 if (Object
.keys(performance
).length
> 0) {
45 options
.performance
= PVE
.Parser
.printPropertyString(performance
);
47 options
.delete.push('performance');
51 delete options
.delete;
59 xtype
: 'pveBandwidthField',
61 fieldLabel
: gettext('Bandwidth Limit'),
62 emptyText
: gettext('use fallback'),
68 'data-qtip': Ext
.String
.format(gettext('Use {0} for unlimited'), 0),
72 xtype
: 'proxmoxintegerfield',
74 fieldLabel
: Ext
.String
.format(gettext('{0} Threads'), 'Zstd'),
75 fieldStyle
: 'text-align: right',
76 emptyText
: gettext('use fallback'),
79 deleteEmpty
: '{!isCreate}',
83 'data-qtip': gettext('With 0, half of the available cores are used'),
87 xtype
: 'proxmoxintegerfield',
91 fieldLabel
: gettext('VM Workers'),
92 fieldStyle
: 'text-align: right',
93 emptyText
: gettext('use fallback'),
95 deleteEmpty
: '{!isCreate}',
99 // It's part of the 'performance' property string, so have a field to preserve the
100 // value, but don't expose it. It's a rather niche setting and difficult to
101 // convey/understand what it does.
102 xtype
: 'proxmoxintegerfield',
103 name
: 'pbs-entries-max',
106 fieldStyle
: 'text-align: right',
107 emptyText
: gettext('use fallback'),
109 deleteEmpty
: '{!isCreate}',
116 xtype
: 'displayfield',
117 value
: gettext('Limit I/O bandwidth'),
120 xtype
: 'displayfield',
121 value
: `${gettext('Threads used for zstd compression')} (${gettext('non-PBS')})`,
124 xtype
: 'displayfield',
125 value
: `${gettext('I/O workers in the QEMU process')} (${gettext('VM only')})`,
128 xtype
: 'displayfield',
130 hidden
: true, // see definition of pbs-entries-max field
139 html
: gettext("Note that vzdump.conf is used as a fallback"),