}
},
+ compressionChange: function(f, value, oldValue) {
+ this.getView().lookup('backupAdvanced').updateCompression(value, f.isDisabled());
+ },
+
+ compressionDisable: function(f) {
+ this.getView().lookup('backupAdvanced').updateCompression(f.getValue(), true);
+ },
+
+ compressionEnable: function(f) {
+ this.getView().lookup('backupAdvanced').updateCompression(f.getValue(), false);
+ },
+
init: function(view) {
let me = this;
if (view.isCreate) {
deleteEmpty: '{!isCreate}',
},
value: 'zstd',
+ listeners: {
+ change: 'compressionChange',
+ disable: 'compressionDisable',
+ enable: 'compressionEnable',
+ },
},
{
xtype: 'pveBackupModeSelector',
},
{
xtype: 'pveBackupAdvancedOptionsPanel',
+ reference: 'backupAdvanced',
title: gettext('Advanced'),
cbind: {
isCreate: '{isCreate}',
return {};
},
+ controller: {
+ xclass: 'Ext.app.ViewController',
+ },
+
onGetValues: function(formValues) {
if (this.needMask) { // isMasked() may not yet be true if not rendered once
return {};
return options;
},
+ updateCompression: function(value, disabled) {
+ if (!disabled && value === 'zstd') {
+ this.lookup('zstdThreadCount').setDisabled(false);
+ } else {
+ this.lookup('zstdThreadCount').setDisabled(true);
+ }
+ },
+
column1: [
{
xtype: 'pveBandwidthField',
{
xtype: 'proxmoxintegerfield',
name: 'zstd',
+ reference: 'zstdThreadCount',
fieldLabel: Ext.String.format(gettext('{0} Threads'), 'Zstd'),
fieldStyle: 'text-align: right',
emptyText: gettext('use fallback'),