use Button from widget toolkit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Dominik Csapak
2018-01-15 15:18:08 +01:00
parent 9ab1d02410
commit 55dd324575
35 changed files with 63 additions and 160 deletions

View File

@ -5,7 +5,6 @@ JSSRC= \
Toolkit.js \
Parser.js \
StateProvider.js \
button/Button.js \
menu/MenuItem.js \
button/ConsoleButton.js \
button/Split.js \

View File

@ -1,96 +0,0 @@
/* Button features:
* - observe selection changes to enable/disable the button using enableFn()
* - pop up confirmation dialog using confirmMsg()
*/
Ext.define('PVE.button.Button', {
extend: 'Ext.button.Button',
alias: 'widget.pveButton',
// the selection model to observe
selModel: undefined,
// if 'false' handler will not be called (button disabled)
enableFn: function(record) { },
// function(record) or text
confirmMsg: false,
// take special care in confirm box (select no as default).
dangerous: false,
initComponent: function() {
/*jslint confusion: true */
var me = this;
var grid;
if (me.handler) {
// Note: me.realHandler may be a string (see named scopes)
var realHandler = me.handler;
me.handler = function(button, event) {
var rec, msg;
if (me.selModel) {
rec = me.selModel.getSelection()[0];
if (!rec || (me.enableFn(rec) === false)) {
return;
}
}
if (me.confirmMsg) {
msg = me.confirmMsg;
if (Ext.isFunction(me.confirmMsg)) {
msg = me.confirmMsg(rec);
}
Ext.MessageBox.defaultButton = me.dangerous ? 2 : 1;
Ext.Msg.show({
title: gettext('Confirm'),
icon: me.dangerous ? Ext.Msg.WARNING : Ext.Msg.QUESTION,
msg: msg,
buttons: Ext.Msg.YESNO,
defaultFocus: me.dangerous ? 'no' : 'yes',
callback: function(btn) {
if (btn !== 'yes') {
return;
}
Ext.callback(realHandler, me.scope, [button, event, rec], 0, me);
}
});
} else {
Ext.callback(realHandler, me.scope, [button, event, rec], 0, me);
}
};
}
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) {
me.mon(me.selModel, "selectionchange", function() {
var rec = me.selModel.getSelection()[0];
if (!rec || (me.enableFn(rec) === false)) {
me.setDisabled(true);
} else {
me.setDisabled(false);
}
});
}
}
});

View File

@ -105,7 +105,7 @@ Ext.define('PVE.node.CephMonList', {
});
};
var start_btn = new PVE.button.Button({
var start_btn = new Proxmox.button.Button({
text: gettext('Start'),
selModel: sm,
disabled: true,
@ -114,7 +114,7 @@ Ext.define('PVE.node.CephMonList', {
}
});
var stop_btn = new PVE.button.Button({
var stop_btn = new Proxmox.button.Button({
text: gettext('Stop'),
selModel: sm,
disabled: true,
@ -133,7 +133,7 @@ Ext.define('PVE.node.CephMonList', {
}
});
var remove_btn = new PVE.button.Button({
var remove_btn = new Proxmox.button.Button({
text: gettext('Remove'),
selModel: sm,
disabled: true,

View File

@ -413,7 +413,7 @@ Ext.define('PVE.node.CephOsdTree', {
});
};
var create_btn = new PVE.button.Button({
var create_btn = new Proxmox.button.Button({
text: gettext('Create') + ': OSD',
handler: function() {
var rec = sm.getSelection()[0];

View File

@ -179,7 +179,7 @@ Ext.define('PVE.node.CephPoolList', {
}
});
var destroy_btn = Ext.create('PVE.button.Button', {
var destroy_btn = Ext.create('Proxmox.button.Button', {
text: gettext('Destroy'),
selModel: sm,
disabled: true,

View File

@ -151,7 +151,7 @@ Ext.define('PVE.dc.ACLView', {
store.load();
};
var remove_btn = new PVE.button.Button({
var remove_btn = new Proxmox.button.Button({
text: gettext('Remove'),
disabled: true,
selModel: sm,

View File

@ -39,7 +39,7 @@ Ext.define('PVE.dc.AuthView', {
win.show();
};
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,

View File

@ -355,7 +355,7 @@ Ext.define('PVE.dc.BackupView', {
win.show();
};
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,

View File

@ -46,7 +46,7 @@ Ext.define('PVE.dc.GroupView', {
win.show();
};
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,

View File

@ -207,7 +207,7 @@ Ext.define('PVE.dc.OptionView', {
win.on('destroy', reload);
};
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,

View File

@ -46,7 +46,7 @@ Ext.define('PVE.dc.PoolView', {
win.show();
};
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,

View File

@ -132,14 +132,14 @@ Ext.define('PVE.SecurityGroupList', {
win.on('destroy', reload);
};
me.editBtn = new PVE.button.Button({
me.editBtn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,
handler: run_editor
});
me.addBtn = new PVE.button.Button({
me.addBtn = new Proxmox.button.Button({
text: gettext('Create'),
handler: function() {
sm.deselectAll();

View File

@ -70,7 +70,7 @@ Ext.define('PVE.dc.StorageView', {
win.on('destroy', reload);
};
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,

View File

@ -108,7 +108,7 @@ Ext.define('PVE.dc.UserView', {
win.show();
};
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
enableFn: function(rec) {
@ -118,7 +118,7 @@ Ext.define('PVE.dc.UserView', {
handler: run_editor
});
var pwchange_btn = new PVE.button.Button({
var pwchange_btn = new Proxmox.button.Button({
text: gettext('Password'),
disabled: true,
selModel: sm,

View File

@ -134,7 +134,7 @@ Ext.define('PVE.grid.BackupView', {
}
});
var restore_btn = Ext.create('PVE.button.Button', {
var restore_btn = Ext.create('Proxmox.button.Button', {
text: gettext('Restore'),
disabled: true,
selModel: sm,
@ -175,7 +175,7 @@ Ext.define('PVE.grid.BackupView', {
}
});
var config_btn = Ext.create('PVE.button.Button', {
var config_btn = Ext.create('Proxmox.button.Button', {
text: gettext('Show Configuration'),
disabled: true,
selModel: sm,

View File

@ -134,7 +134,7 @@ Ext.define('PVE.FirewallAliases', {
win.on('destroy', reload);
};
me.editBtn = new PVE.button.Button({
me.editBtn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,

View File

@ -516,7 +516,7 @@ Ext.define('PVE.FirewallRules', {
win.on('destroy', reload);
};
me.editBtn = Ext.create('PVE.button.Button',{
me.editBtn = Ext.create('Proxmox.button.Button',{
text: gettext('Edit'),
disabled: true,
selModel: sm,
@ -561,7 +561,7 @@ Ext.define('PVE.FirewallRules', {
win.on('destroy', reload);
};
me.copyBtn = Ext.create('PVE.button.Button',{
me.copyBtn = Ext.create('Proxmox.button.Button',{
text: gettext('Copy'),
selModel: sm,
enableFn: function(rec) {

View File

@ -170,7 +170,7 @@ Ext.define('PVE.grid.PoolMembers', {
var sm = Ext.create('Ext.selection.RowModel', {});
var remove_btn = new PVE.button.Button({
var remove_btn = new Proxmox.button.Button({
text: gettext('Remove'),
disabled: true,
selModel: sm,

View File

@ -247,7 +247,7 @@ Ext.define('PVE.grid.ReplicaView', {
handler: 'addJob'
},
{
xtype: 'pveButton',
xtype: 'proxmoxButton',
text: gettext('Edit'),
itemId: 'editButton',
handler: 'editJob',
@ -261,14 +261,14 @@ Ext.define('PVE.grid.ReplicaView', {
callback: 'reload'
},
{
xtype: 'pveButton',
xtype: 'proxmoxButton',
text: gettext('Log'),
itemId: 'logButton',
handler: 'showLog',
disabled: true
},
{
xtype: 'pveButton',
xtype: 'proxmoxButton',
text: gettext('Schedule now'),
itemId: 'scheduleNowButton',
handler: 'scheduleJobNow',

View File

@ -44,7 +44,7 @@ Ext.define('PVE.ha.GroupsView', {
}
});
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,

View File

@ -79,7 +79,7 @@ Ext.define('PVE.ha.ResourcesView', {
}
});
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,

View File

@ -90,7 +90,7 @@ Ext.define('PVE.lxc.Config', {
iconCls: 'fa fa-send-o'
});
var moreBtn = Ext.create('PVE.button.Button', {
var moreBtn = Ext.create('Proxmox.button.Button', {
text: gettext('More'),
menu: { items: [
{

View File

@ -249,7 +249,7 @@ Ext.define('PVE.lxc.DNS', {
win.on('destroy', reload);
};
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,

View File

@ -395,7 +395,7 @@ Ext.define('PVE.lxc.NetworkView', {
var sm = Ext.create('Ext.selection.RowModel', {});
var remove_btn = new PVE.button.Button({
var remove_btn = new Proxmox.button.Button({
text: gettext('Remove'),
disabled: true,
selModel: sm,
@ -442,7 +442,7 @@ Ext.define('PVE.lxc.NetworkView', {
win.show();
};
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
selModel: sm,
disabled: true,

View File

@ -177,7 +177,7 @@ Ext.define('PVE.lxc.Options', {
win.on('destroy', reload);
};
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,

View File

@ -186,7 +186,7 @@ Ext.define('PVE.lxc.RessourceView', {
});
};
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
selModel: sm,
disabled: true,
@ -200,14 +200,14 @@ Ext.define('PVE.lxc.RessourceView', {
handler: run_editor
});
var resize_btn = new PVE.button.Button({
var resize_btn = new Proxmox.button.Button({
text: gettext('Resize disk'),
selModel: sm,
disabled: true,
handler: run_resize
});
var remove_btn = new PVE.button.Button({
var remove_btn = new Proxmox.button.Button({
text: gettext('Remove'),
selModel: sm,
disabled: true,

View File

@ -145,7 +145,7 @@ Ext.define('PVE.lxc.SnapshotTree', {
}
};
var editBtn = new PVE.button.Button({
var editBtn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,
@ -153,7 +153,7 @@ Ext.define('PVE.lxc.SnapshotTree', {
handler: run_editor
});
var rollbackBtn = new PVE.button.Button({
var rollbackBtn = new Proxmox.button.Button({
text: gettext('Rollback'),
disabled: true,
selModel: sm,
@ -188,7 +188,7 @@ Ext.define('PVE.lxc.SnapshotTree', {
}
});
var removeBtn = new PVE.button.Button({
var removeBtn = new Proxmox.button.Button({
text: gettext('Remove'),
disabled: true,
selModel: sm,

View File

@ -80,7 +80,7 @@ Ext.define('PVE.node.Config', {
})
});
var restartBtn = Ext.create('PVE.button.Button', {
var restartBtn = Ext.create('Proxmox.button.Button', {
text: gettext('Restart'),
disabled: !caps.nodes['Sys.PowerMgmt'],
dangerous: true,
@ -91,7 +91,7 @@ Ext.define('PVE.node.Config', {
iconCls: 'fa fa-undo'
});
var shutdownBtn = Ext.create('PVE.button.Button', {
var shutdownBtn = Ext.create('Proxmox.button.Button', {
text: gettext('Shutdown'),
disabled: !caps.nodes['Sys.PowerMgmt'],
dangerous: true,

View File

@ -153,14 +153,14 @@ Ext.define('PVE.node.DiskList', {
]
});
var reloadButton = Ext.create('PVE.button.Button', {
var reloadButton = Ext.create('Proxmox.button.Button', {
text: gettext('Reload'),
handler: function() {
me.store.load();
}
});
var smartButton = Ext.create('PVE.button.Button', {
var smartButton = Ext.create('Proxmox.button.Button', {
text: gettext('Show S.M.A.R.T. values'),
selModel: sm,
enableFn: function() {
@ -178,7 +178,7 @@ Ext.define('PVE.node.DiskList', {
}
});
var initButton = Ext.create('PVE.button.Button', {
var initButton = Ext.create('Proxmox.button.Button', {
text: gettext('Initialize Disk with GPT'),
selModel: sm,
enableFn: function() {

View File

@ -92,14 +92,14 @@ Ext.define('PVE.IPSetList', {
win.on('destroy', reload);
};
me.editBtn = new PVE.button.Button({
me.editBtn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,
handler: run_editor
});
me.addBtn = new PVE.button.Button({
me.addBtn = new Proxmox.button.Button({
text: gettext('Create'),
handler: function() {
sm.deselectAll();
@ -313,14 +313,14 @@ Ext.define('PVE.IPSetGrid', {
win.on('destroy', reload);
};
me.editBtn = new PVE.button.Button({
me.editBtn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,
handler: run_editor
});
me.addBtn = new PVE.button.Button({
me.addBtn = new Proxmox.button.Button({
text: gettext('Add'),
disabled: true,
handler: function() {

View File

@ -77,7 +77,7 @@ Ext.define('PVE.qemu.Config', {
iconCls: 'fa fa-send-o'
});
var moreBtn = Ext.create('PVE.button.Button', {
var moreBtn = Ext.create('Proxmox.button.Button', {
text: gettext('More'),
menu: { items: [
{

View File

@ -361,28 +361,28 @@ Ext.define('PVE.qemu.HardwareView', {
win.on('destroy', reload);
};
var edit_btn = new PVE.button.Button({
var edit_btn = new Proxmox.button.Button({
text: gettext('Edit'),
selModel: sm,
disabled: true,
handler: run_editor
});
var resize_btn = new PVE.button.Button({
var resize_btn = new Proxmox.button.Button({
text: gettext('Resize disk'),
selModel: sm,
disabled: true,
handler: run_resize
});
var move_btn = new PVE.button.Button({
var move_btn = new Proxmox.button.Button({
text: gettext('Move disk'),
selModel: sm,
disabled: true,
handler: run_move
});
var diskthrottle_btn = new PVE.button.Button({
var diskthrottle_btn = new Proxmox.button.Button({
text: gettext('Disk Throttle'),
selModel: sm,
disabled: true,
@ -394,7 +394,7 @@ Ext.define('PVE.qemu.HardwareView', {
handler: run_cpuoptions
});
var remove_btn = new PVE.button.Button({
var remove_btn = new Proxmox.button.Button({
text: gettext('Remove'),
defaultText: gettext('Remove'),
altText: gettext('Detach'),
@ -451,7 +451,7 @@ Ext.define('PVE.qemu.HardwareView', {
}
});
var revert_btn = new PVE.button.Button({
var revert_btn = new Proxmox.button.Button({
text: gettext('Revert'),
selModel: sm,
disabled: true,

View File

@ -344,7 +344,7 @@ Ext.define('PVE.qemu.Options', {
handler: run_editor
});
var revert_btn = new PVE.button.Button({
var revert_btn = new Proxmox.button.Button({
text: gettext('Revert'),
disabled: true,
handler: function() {

View File

@ -143,7 +143,7 @@ Ext.define('PVE.qemu.SnapshotTree', {
}
};
var editBtn = new PVE.button.Button({
var editBtn = new Proxmox.button.Button({
text: gettext('Edit'),
disabled: true,
selModel: sm,
@ -151,7 +151,7 @@ Ext.define('PVE.qemu.SnapshotTree', {
handler: run_editor
});
var rollbackBtn = new PVE.button.Button({
var rollbackBtn = new Proxmox.button.Button({
text: gettext('Rollback'),
disabled: true,
selModel: sm,
@ -186,7 +186,7 @@ Ext.define('PVE.qemu.SnapshotTree', {
}
});
var removeBtn = new PVE.button.Button({
var removeBtn = new Proxmox.button.Button({
text: gettext('Remove'),
disabled: true,
selModel: sm,

View File

@ -106,7 +106,7 @@ Ext.define('PVE.storage.TemplateDownload', {
var sm = grid.getSelectionModel();
var submitBtn = Ext.create('PVE.button.Button', {
var submitBtn = Ext.create('Proxmox.button.Button', {
text: gettext('Download'),
disabled: true,
selModel: sm,
@ -373,7 +373,7 @@ Ext.define('PVE.storage.ContentView', {
PVE.Utils.monStoreErrors(me, store);
var templateButton = Ext.create('PVE.button.Button',{
var templateButton = Ext.create('Proxmox.button.Button',{
itemId: 'tmpl-btn',
text: gettext('Templates'),
handler: function() {
@ -386,7 +386,7 @@ Ext.define('PVE.storage.ContentView', {
}
});
var uploadButton = Ext.create('PVE.button.Button', {
var uploadButton = Ext.create('Proxmox.button.Button', {
contents : ['iso','vztmpl'],
text: gettext('Upload'),
handler: function() {
@ -410,7 +410,7 @@ Ext.define('PVE.storage.ContentView', {
selModel: sm,
tbar: [
{
xtype: 'pveButton',
xtype: 'proxmoxButton',
text: gettext('Restore'),
selModel: sm,
disabled: true,
@ -451,7 +451,7 @@ Ext.define('PVE.storage.ContentView', {
templateButton,
uploadButton,
{
xtype: 'pveButton',
xtype: 'proxmoxButton',
text: gettext('Show Configuration'),
disabled: true,
selModel: sm,