]>
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
) {
11 me
.isCreate
= initialConfig
.isCreate
|| !initialConfig
.remoteId
;
18 title
: gettext('Backup Server'),
19 onGetValues: function(values
) {
20 values
.disable
= values
.enable
? 0 : 1;
26 xtype
: 'pmxDisplayEditField',
29 editable
: '{isCreate}',
31 fieldLabel
: gettext('ID'),
35 xtype
: 'pmxDisplayEditField',
38 fieldLabel
: gettext('Server'),
39 cbind
: { editable
: '{isCreate}' },
43 xtype
: 'pmxDisplayEditField',
45 fieldLabel
: 'Datastore',
46 cbind
: { editable
: '{isCreate}' },
50 xtype
: 'pmxDisplayEditField',
52 fieldLabel
: gettext('Namespace'),
53 cbind
: { editable
: '{isCreate}' },
54 emptyText
: gettext('Root'),
59 xtype
: 'pmxDisplayEditField',
61 fieldLabel
: gettext('Username'),
62 emptyText
: gettext('Example') + ': admin@pbs',
63 cbind
: { editable
: '{isCreate}' },
65 regexText
: gettext('Example') + ': admin@pbs',
69 xtype
: 'pmxDisplayEditField',
70 editable
: true, // FIXME: set to false if (!create && user == token)
71 inputType
: 'password',
74 allowBlank
: '{!isCreate}',
75 emptyText
: (get) => get('isCreate') ? '' : gettext('Unchanged'),
77 fieldLabel
: gettext('Password'),
80 xtype
: 'proxmoxKVComboBox',
82 fieldLabel
: gettext('Notify'),
84 ['always', gettext('Always')],
85 ['error', gettext('Errors')],
86 ['never', gettext('Never')],
89 emptyText
: gettext('Never'),
92 xtype
: 'proxmoxcheckbox',
96 fieldLabel
: gettext('Enable'),
101 xtype
: 'proxmoxcheckbox',
102 name
: 'include-statistics',
105 fieldLabel
: gettext('Statistics'),
106 boxLabel
: gettext('Include in Backup'),
109 xtype
: 'proxmoxtextfield',
111 fieldLabel
: gettext('Fingerprint'),
112 emptyText
: gettext('Server certificate SHA-256 fingerprint, required for self-signed certificates'),
113 regex
: /[A-Fa-f0-9]{2}(:[A-Fa-f0-9]{2}){31}/,
114 regexText
: gettext('Example') + ': AB:CD:EF:...',
121 title
: gettext('Prune Options'),
123 // set nested, else we'd only set the defaults for the two column containers
132 xtype
: 'proxmoxintegerfield',
133 fieldLabel
: gettext('Keep Last'),
135 cbind
: { deleteEmpty
: '{!isCreate}' },
138 xtype
: 'proxmoxintegerfield',
139 fieldLabel
: gettext('Keep Daily'),
141 cbind
: { deleteEmpty
: '{!isCreate}' },
144 xtype
: 'proxmoxintegerfield',
145 fieldLabel
: gettext('Keep Monthly'),
146 name
: 'keep-monthly',
147 cbind
: { deleteEmpty
: '{!isCreate}' },
152 xtype
: 'proxmoxintegerfield',
153 fieldLabel
: gettext('Keep Hourly'),
155 cbind
: { deleteEmpty
: '{!isCreate}' },
158 xtype
: 'proxmoxintegerfield',
159 fieldLabel
: gettext('Keep Weekly'),
161 cbind
: { deleteEmpty
: '{!isCreate}' },
164 xtype
: 'proxmoxintegerfield',
165 fieldLabel
: gettext('Keep Yearly'),
167 cbind
: { deleteEmpty
: '{!isCreate}' },
174 Ext
.define('PMG.PBSEdit', {
175 extend
: 'Proxmox.window.Edit',
177 onlineHelp
: 'pmgbackup_pbs_remotes',
179 subject
: 'Proxmox Backup Server',
184 initComponent: function() {
187 me
.isCreate
= !me
.remoteId
;
190 me
.url
= '/api2/extjs/config/pbs';
192 me
.url
+= `/${me.remoteId}`;
197 xtype
: 'pmgPBSInputPanel',
198 isCreate
: me
.isCreate
,
199 remoteId
: me
.remoteId
,
206 success: function(response
, options
) {
207 let values
= response
.result
.data
;
209 values
.enable
= values
.disable
? 0 : 1;
210 me
.setValues(values
);