pve-manager/www/manager6/button/Revert.js
Thomas Lamprecht 591efb6725 ui: factor out pending changes revert button
makes no sense to have the, more or less, exact same 25 line method 5
times..

could be moved to widget TK, but that's for another time.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-30 11:48:03 +01:00

39 lines
942 B
JavaScript

Ext.define('PVE.button.PendingRevert', {
extend: 'Proxmox.button.Button',
alias: 'widget.pvePendingRevertButton',
text: gettext('Revert'),
disabled: true,
config: {
pendingGrid: null,
baseurl: undefined,
},
handler: function() {
let view = this.pendingGrid;
let rec = view.getSelectionModel().getSelection()[0];
if (!rec) return;
let rowdef = view.rows[rec.data.key] || {};
let keys = rowdef.multiKey || [ rec.data.key ];
Proxmox.Utils.API2Request({
url: this.baseurl || view.editorConfig.url,
waitMsgTarget: view,
selModel: view.getSelectionModel(),
method: 'PUT',
params: {
'revert': keys.join(',')
},
callback: () => view.reload(),
failure: (response) => Ext.Msg.alert('Error', response.htmlStatus),
});
},
initComponent: function() {
if (!this.pendingGrid) throw "revert button requires a pendingGrid";
this.callParent(arguments);
},
});