port button from proxmox-widget-toolkit

we want the new behaviour of the proxmox button also in pve, but
we do not want to change to proxmox-widget-toolkit yet

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2017-06-13 14:56:02 +02:00 committed by Dietmar Maurer
parent ddd26302d7
commit 1344537655

View File

@ -22,9 +22,12 @@ Ext.define('PVE.button.Button', {
/*jslint confusion: true */ /*jslint confusion: true */
var me = this; var me = this;
var grid;
if (me.handler) { if (me.handler) {
me.realHandler = me.handler;
// Note: me.realHandler may be a string (see named scopes)
var realHandler = me.handler;
me.handler = function(button, event) { me.handler = function(button, event) {
var rec, msg; var rec, msg;
@ -51,17 +54,33 @@ Ext.define('PVE.button.Button', {
if (btn !== 'yes') { if (btn !== 'yes') {
return; return;
} }
me.realHandler(button, event, rec); Ext.callback(realHandler, me.scope, [button, event, rec], 0, me);
} }
}); });
} else { } else {
me.realHandler(button, event, rec); Ext.callback(realHandler, me.scope, [button, event, rec], 0, me);
} }
}; };
} }
me.callParent(); me.callParent();
if (!me.selModel && me.selModel !== null) {
grid = me.up('grid');
if (grid && grid.selModel) {
me.selModel = grid.selModel;
}
}
if (me.waitMsgTarget === true) {
grid = me.up('grid');
if (grid) {
me.waitMsgTarget = grid;
} else {
throw "unable to find waitMsgTarget";
}
}
if (me.selModel) { if (me.selModel) {
me.mon(me.selModel, "selectionchange", function() { me.mon(me.selModel, "selectionchange", function() {