1 Ext
.define('PVE.window.Snapshot', {
2 extend
: 'Proxmox.window.Edit',
4 onGetValues: function(values
) {
7 if (me
.type
=== 'lxc') {
14 initComponent : function() {
18 throw "no node name specified";
22 throw "no VM ID specified";
26 throw "no VM ID specified";
31 xtype
: me
.snapname
? 'displayfield' : 'textfield',
34 fieldLabel
: gettext('Name'),
39 xtype
: 'displayfield',
41 disabled
: !me
.snapname
,
43 renderer
: PVE
.Utils
.render_timestamp_human_readable
,
44 fieldLabel
: gettext('Timestamp')
47 xtype
: 'proxmoxcheckbox',
48 hidden
: me
.type
!== 'qemu' || me
.snapname
,
49 disabled
: me
.type
!== 'qemu' || me
.snapname
,
54 fieldLabel
: gettext('Include RAM')
57 xtype
: 'textareafield',
59 editable
: !me
.viewonly
,
61 fieldLabel
: gettext('Description')
64 title
: gettext('Settings'),
81 header
: gettext('Key'),
86 header
: gettext('Value'),
94 me
.url
= `/nodes/${me.nodename}/${me.type}/${me.vmid}/snapshot`;
98 subject
= gettext('Snapshot') + ` ${me.snapname}`;
99 me
.url
+= `/${me.snapname}/config`;
101 subject
= (me
.type
=== 'qemu' ? 'VM' : 'CT') + me
.vmid
+ ' ' + gettext('Snapshot');
103 me
.showProgress
= true;
108 width
: me
.snapname
? 620 : 450,
109 height
: me
.snapname
? 420 : undefined,
119 success: function(response
) {
121 Ext
.Object
.each(response
.result
.data
, function(key
, value
) {
122 if (key
=== 'description' || key
=== 'snaptime') {
125 kvarray
.push({ key
: key
, value
: value
});
128 let summarystore
= me
.down('#summary').getStore();
129 summarystore
.suspendEvents();
130 summarystore
.add(kvarray
);
132 summarystore
.resumeEvents();
133 summarystore
.fireEvent('refresh', summarystore
);
135 me
.setValues(response
.result
.data
);