i guess it would be good to make this window non-resizable because the fields do not really resize well
otherwise looks good On 03/27/2018 03:45 PM, Thomas Lamprecht wrote:
Signed-off-by: Thomas Lamprecht <t.lampre...@proxmox.com> --- www/manager6/dc/Cluster.js | 20 +++++++++++ www/manager6/dc/ClusterEdit.js | 76 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) diff --git a/www/manager6/dc/Cluster.js b/www/manager6/dc/Cluster.js index 97f7496d..ca43c8f9 100644 --- a/www/manager6/dc/Cluster.js +++ b/www/manager6/dc/Cluster.js @@ -101,6 +101,18 @@ Ext.define('PVE.ClusterAdministration', { } } }); + }, + + onClusterInfo: function() { + var vm = this.getViewModel(); + var win = Ext.create('PVE.ClusterInfoWindow', { + joinInfo: { + ipAddress: vm.get('preferred_node.addr'), + fingerprint: vm.get('preferred_node.fp'), + totem: vm.get('totem') + } + }); + win.show(); } }, tbar: [ @@ -111,6 +123,14 @@ Ext.define('PVE.ClusterAdministration', { bind: { disabled: '{isInCluster}' } + }, + { + text: gettext('Join Information'), + reference: 'addButton', + handler: 'onClusterInfo', + bind: { + disabled: '{!isInCluster}' + } } ], layout: 'hbox', diff --git a/www/manager6/dc/ClusterEdit.js b/www/manager6/dc/ClusterEdit.js index 0c44ec44..249801c3 100644 --- a/www/manager6/dc/ClusterEdit.js +++ b/www/manager6/dc/ClusterEdit.js @@ -29,3 +29,79 @@ Ext.define('PVE.ClusterCreateWindow', { // TODO: for advanced options: ring1_addr ] }); + +Ext.define('PVE.ClusterInfoWindow', { + extend: 'Ext.window.Window', + xtype: 'pveClusterInfoWindow', + mixins: ['Proxmox.Mixin.CBind'], + + width: 800, + modal: true, + title: gettext('Cluster Join Information'), + + joinInfo: { + ipAddress: undefined, + fingerprint: undefined, + totem: {} + }, + + items: [ + { + xtype: 'component', + border: false, + padding: '10 10 10 10', + html: gettext("Copy the Join Information here and use it on the node you want to add.") + }, + { + xtype: 'container', + layout: 'form', + border: false, + padding: '0 10 10 10', + items: [ + { + xtype: 'textfield', + fieldLabel: gettext('IP Address'), + cbind: { value: '{joinInfo.ipAddress}' }, + editable: false + }, + { + xtype: 'textfield', + fieldLabel: gettext('Fingerprint'), + cbind: { value: '{joinInfo.fingerprint}' }, + editable: false + }, + { + xtype: 'textarea', + inputId: 'pveSerializedClusterInfo', + fieldLabel: gettext('Join Information'), + grow: true, + cbind: { joinInfo: '{joinInfo}' }, + editable: false, + listeners: { + afterrender: function(field) { + if (!field.joinInfo) { + return; + } + var jsons = Ext.JSON.encode(field.joinInfo); + var base64s = Ext.util.Base64.encode(jsons); + field.setValue(base64s); + } + } + } + ] + } + ], + dockedItems: [{ + dock: 'bottom', + xtype: 'toolbar', + items: [{ + xtype: 'button', + handler: function(b) { + var el = document.getElementById('pveSerializedClusterInfo'); + el.select(); + document.execCommand("copy"); + }, + text: gettext('Copy Information') + }] + }] +});
_______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel