]>
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',
58 xtype
: 'proxmoxKVComboBox',
60 fieldLabel
: gettext('Notify'),
62 ['always', gettext('Always')],
63 ['error', gettext('Errors')],
64 ['never', gettext('Never')],
67 emptyText
: gettext('Never'),
72 xtype
: 'proxmoxtextfield',
75 value
: '{unsetValue}',
77 emptyText
: gettext('Example') + ': admin@pbs',
78 fieldLabel
: gettext('Username'),
80 regexText
: gettext('Example') + ': admin@pbs',
84 xtype
: 'proxmoxtextfield',
85 inputType
: 'password',
88 value
: '{unsetValue}',
89 allowBlank
: '{!isCreate}',
90 emptyText
: (get) => get('isCreate') ? '' : gettext('Unchanged'),
92 fieldLabel
: gettext('Password'),
95 xtype
: 'proxmoxcheckbox',
99 fieldLabel
: gettext('Enable'),
102 xtype
: 'proxmoxcheckbox',
103 name
: 'include-statistics',
106 fieldLabel
: gettext('Include Statistics'),
111 xtype
: 'proxmoxtextfield',
114 value
: '{unsetValue}',
116 fieldLabel
: gettext('Fingerprint'),
117 emptyText
: gettext('Server certificate SHA-256 fingerprint, required for self-signed certificates'),
118 regex
: /[A-Fa-f0-9]{2}(:[A-Fa-f0-9]{2}){31}/,
119 regexText
: gettext('Example') + ': AB:CD:EF:...',
126 title
: gettext('Prune Options'),
128 // set nested, else we'd only set the defaults for the two column containers
137 xtype
: 'proxmoxintegerfield',
138 fieldLabel
: gettext('Keep Last'),
140 cbind
: { deleteEmpty
: '{!isCreate}' },
143 xtype
: 'proxmoxintegerfield',
144 fieldLabel
: gettext('Keep Daily'),
146 cbind
: { deleteEmpty
: '{!isCreate}' },
149 xtype
: 'proxmoxintegerfield',
150 fieldLabel
: gettext('Keep Monthly'),
151 name
: 'keep-monthly',
152 cbind
: { deleteEmpty
: '{!isCreate}' },
157 xtype
: 'proxmoxintegerfield',
158 fieldLabel
: gettext('Keep Hourly'),
160 cbind
: { deleteEmpty
: '{!isCreate}' },
163 xtype
: 'proxmoxintegerfield',
164 fieldLabel
: gettext('Keep Weekly'),
166 cbind
: { deleteEmpty
: '{!isCreate}' },
169 xtype
: 'proxmoxintegerfield',
170 fieldLabel
: gettext('Keep Yearly'),
172 cbind
: { deleteEmpty
: '{!isCreate}' },
179 Ext
.define('PMG.PBSEdit', {
180 extend
: 'Proxmox.window.Edit',
182 onlineHelp
: 'pmgbackup_pbs_remotes',
184 subject
: 'Proxmox Backup Server',
189 initComponent: function() {
192 me
.isCreate
= !me
.remoteId
;
195 me
.url
= '/api2/extjs/config/pbs';
197 me
.url
+= `/${me.remoteId}`;
202 xtype
: 'pmgPBSInputPanel',
203 isCreate
: me
.isCreate
,
204 remoteId
: me
.remoteId
,
211 success: function(response
, options
) {
212 let values
= response
.result
.data
;
214 values
.enable
= values
.disable
? 0 : 1;
215 me
.setValues(values
);