ui: corosync addLink: more flexible params and pass emptyText

Use that instead of the label, as it's using less space

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2020-05-05 18:21:44 +02:00
parent 61b05a5d82
commit 4ea2cac2ae
2 changed files with 15 additions and 14 deletions

View File

@ -241,7 +241,7 @@ Ext.define('PVE.ClusterJoinNodeWindow', {
joinInfo.ring_addr[0] === joinInfo.ipAddress) { joinInfo.ring_addr[0] === joinInfo.ipAddress) {
links[0].allowBlank = true; links[0].allowBlank = true;
linkEditor.setInfoText(gettext("Leave empty to use IP resolved by node's hostname")); links[0].emptyText = gettext("IP resolved by node's hostname");
} }
linkEditor.setLinks(links); linkEditor.setLinks(links);

View File

@ -14,7 +14,7 @@ Ext.define('PVE.form.CorosyncLinkEditorController', {
this.addLink(); this.addLink();
}, },
addLink: function(number, value, allowBlank, text) { addLink: function(link) {
let me = this; let me = this;
let view = me.getView(); let view = me.getView();
let vm = view.getViewModel(); let vm = view.getViewModel();
@ -24,20 +24,23 @@ Ext.define('PVE.form.CorosyncLinkEditorController', {
return; return;
} }
if (number === undefined) { link = link || {};
number = me.getNextFreeNumber();
if (link.number === undefined) {
link.number = me.getNextFreeNumber();
} }
if (value === undefined) { if (link.value === undefined) {
value = me.getNextFreeNetwork(); link.value = me.getNextFreeNetwork();
} }
let linkSelector = Ext.create('PVE.form.CorosyncLinkSelector', { let linkSelector = Ext.create('PVE.form.CorosyncLinkSelector', {
maxLinkNumber: vm.get('maxLinkCount') - 1, maxLinkNumber: vm.get('maxLinkCount') - 1,
allowNumberEdit: vm.get('allowNumberEdit'), allowNumberEdit: vm.get('allowNumberEdit'),
allowBlankNetwork: allowBlank, allowBlankNetwork: link.allowBlank,
initNumber: number, initNumber: link.number,
initNetwork: value, initNetwork: link.value,
text: text, text: link.text,
emptyText: link.emptyText,
// needs to be set here, because we need to update the viewmodel // needs to be set here, because we need to update the viewmodel
removeBtnHandler: function() { removeBtnHandler: function() {
@ -127,6 +130,7 @@ Ext.define('PVE.form.CorosyncLinkSelector', {
allowNumberEdit: true, allowNumberEdit: true,
allowBlankNetwork: false, allowBlankNetwork: false,
removeBtnHandler: undefined, removeBtnHandler: undefined,
emptyText: '',
// values // values
initNumber: 0, initNumber: 0,
@ -348,10 +352,7 @@ Ext.define('PVE.form.CorosyncLinkEditor', {
me.removeAll(); me.removeAll();
vm.set('linkCount', 0); vm.set('linkCount', 0);
Ext.Array.each(links, link => { Ext.Array.each(links, link => controller.addLink(link));
controller.addLink(link['number'], link['value'],
link['allowBlank'], link['text']);
});
}, },
setDefaultLinks: function() { setDefaultLinks: function() {