]>
git.proxmox.com Git - pmg-gui.git/blob - js/PBSRemoteEdit.js
1 Ext
.define('PMG.PBSInputPanel', {
2 extend
: 'Ext.tab.Panel',
3 xtype
: 'pmgPBSInputPanel',
4 mixins
: ['Proxmox.Mixin.CBind'],
9 cbindData: function(initialConfig
) {
12 me
.isCreate
= initialConfig
.isCreate
|| !initialConfig
.remoteId
;
14 unsetValue
: me
.isCreate
? null : undefined,
21 title
: gettext('Backup Server'),
22 onGetValues: function(values
) {
23 values
.disable
= values
.enable
? 0 : 1;
29 xtype
: 'pmxDisplayEditField',
32 value
: '{unsetValue}',
33 editable
: '{isCreate}',
35 fieldLabel
: gettext('ID'),
39 xtype
: 'proxmoxtextfield',
42 value
: '{unsetValue}',
45 fieldLabel
: gettext('Server'),
49 xtype
: 'proxmoxtextfield',
52 value
: '{unsetValue}',
54 fieldLabel
: 'Datastore',
60 xtype
: 'proxmoxtextfield',
63 value
: '{unsetValue}',
65 emptyText
: gettext('Example') + ': admin@pbs',
66 fieldLabel
: gettext('Username'),
68 regexText
: gettext('Example') + ': admin@pbs',
72 xtype
: 'proxmoxtextfield',
73 inputType
: 'password',
76 value
: '{unsetValue}',
77 allowBlank
: '{!isCreate}',
78 emptyText
: (get) => get('isCreate') ? '' : gettext('Unchanged'),
80 fieldLabel
: gettext('Password'),
83 xtype
: 'proxmoxcheckbox',
87 fieldLabel
: gettext('Enable'),
92 xtype
: 'proxmoxtextfield',
95 value
: '{unsetValue}',
97 fieldLabel
: gettext('Fingerprint'),
98 emptyText
: gettext('Server certificate SHA-256 fingerprint, required for self-signed certificates'),
99 regex
: /[A-Fa-f0-9]{2}(:[A-Fa-f0-9]{2}){31}/,
100 regexText
: gettext('Example') + ': AB:CD:EF:...',
107 title
: gettext('Prune Options'),
109 // set nested, else we'd only set the defaults for the two column containers
118 xtype
: 'proxmoxintegerfield',
119 fieldLabel
: gettext('Keep Last'),
121 cbind
: { deleteEmpty
: '{!isCreate}' },
124 xtype
: 'proxmoxintegerfield',
125 fieldLabel
: gettext('Keep Daily'),
127 cbind
: { deleteEmpty
: '{!isCreate}' },
130 xtype
: 'proxmoxintegerfield',
131 fieldLabel
: gettext('Keep Monthly'),
132 name
: 'keep-monthly',
133 cbind
: { deleteEmpty
: '{!isCreate}' },
138 xtype
: 'proxmoxintegerfield',
139 fieldLabel
: gettext('Keep Hourly'),
141 cbind
: { deleteEmpty
: '{!isCreate}' },
144 xtype
: 'proxmoxintegerfield',
145 fieldLabel
: gettext('Keep Weekly'),
147 cbind
: { deleteEmpty
: '{!isCreate}' },
150 xtype
: 'proxmoxintegerfield',
151 fieldLabel
: gettext('Keep Yearly'),
153 cbind
: { deleteEmpty
: '{!isCreate}' },
160 Ext
.define('PMG.PBSEdit', {
161 extend
: 'Proxmox.window.Edit',
163 onlineHelp
: 'pmgbackup_pbs_remotes',
165 subject
: 'Proxmox Backup Server',
170 initComponent: function() {
173 me
.isCreate
= !me
.remoteId
;
176 me
.url
= '/api2/extjs/config/pbs';
178 me
.url
+= `/${me.remoteId}`;
183 xtype
: 'pmgPBSInputPanel',
184 isCreate
: me
.isCreate
,
185 remoteId
: me
.remoteId
,
192 success: function(response
, options
) {
193 let values
= response
.result
.data
;
195 values
.enable
= values
.disable
? 0 : 1;
196 me
.setValues(values
);