From bb64cd03419c6d97a2428f601b0aff5844675920 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Wed, 23 Jun 2021 19:38:29 +0200 Subject: [PATCH] apt repos: make enable/disable text selection dependent the size hack is copied over from pve-manager's qemu/HardwareView Signed-off-by: Thomas Lamprecht --- src/node/APTRepositories.js | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/node/APTRepositories.js b/src/node/APTRepositories.js index 5a9e08a..49e46b3 100644 --- a/src/node/APTRepositories.js +++ b/src/node/APTRepositories.js @@ -70,7 +70,10 @@ Ext.define('Proxmox.node.APTRepositoriesGrid', { '-', { xtype: 'proxmoxButton', - text: gettext('Enable') + '/' + gettext('Disable'), + text: gettext('Enable'), + defaultText: gettext('Enable'), + altText: gettext('Disable'), + id: 'repoEnableButton', disabled: true, handler: function(button, event, record) { let me = this; @@ -99,6 +102,18 @@ Ext.define('Proxmox.node.APTRepositoriesGrid', { }, }); }, + listeners: { + render: function(btn) { + // HACK: calculate the max button width on first render to avoid toolbar glitches + let defSize = btn.getSize().width; + + btn.setText(btn.altText); + let altSize = btn.getSize().width; + + btn.setText(btn.defaultText); + btn.setSize({ width: altSize > defSize ? altSize : defSize }); + }, + }, }, ], @@ -279,6 +294,19 @@ Ext.define('Proxmox.node.APTRepositoriesGrid', { me.callParent(); }, + + listeners: { + selectionchange: function() { + let me = this; + + if (me.onSelectionChange) { + let sm = me.getSelectionModel(); + let rec = sm.getSelection()[0]; + + me.onSelectionChange(rec, sm); + } + }, + }, }); Ext.define('Proxmox.node.APTRepositories', { @@ -351,6 +379,13 @@ Ext.define('Proxmox.node.APTRepositories', { nodename: '{nodename}', }, majorUpgradeAllowed: false, // TODO get release information from an API call? + onSelectionChange: function(rec, sm) { + let me = this; + if (rec) { + let btn = me.up('proxmoxNodeAPTRepositories').down('#repoEnableButton'); + btn.setText(rec.get('Enabled') ? gettext('Disable') : gettext('Enable')); + } + }, }, ], -- 2.39.5