* [pve-devel] [PATCH docs] fix #3994: Added blockid to chapter Proxmox Node Management @ 2022-04-20 10:09 Daniel Tschlatscher 2022-04-20 10:09 ` [pve-devel] [PATCH widget-toolkit] fix #3994: Node config options in the GUI Daniel Tschlatscher ` (2 more replies) 0 siblings, 3 replies; 5+ messages in thread From: Daniel Tschlatscher @ 2022-04-20 10:09 UTC (permalink / raw) To: pve-devel to make it possible to reference it through the help button in the GUI. Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com> --- pvenode.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pvenode.adoc b/pvenode.adoc index 571afee..6ea9d7a 100644 --- a/pvenode.adoc +++ b/pvenode.adoc @@ -17,6 +17,8 @@ DESCRIPTION ----------- endif::manvolnum[] ifndef::manvolnum[] + +[[proxmox_node_management]] Proxmox Node Management ----------------------- ifdef::wiki[] -- 2.30.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [pve-devel] [PATCH widget-toolkit] fix #3994: Node config options in the GUI 2022-04-20 10:09 [pve-devel] [PATCH docs] fix #3994: Added blockid to chapter Proxmox Node Management Daniel Tschlatscher @ 2022-04-20 10:09 ` Daniel Tschlatscher 2022-04-22 10:12 ` Thomas Lamprecht 2022-04-20 10:09 ` [pve-devel] [PATCH manager] fix #3994: Options menu entry in the System menu Daniel Tschlatscher 2022-04-22 9:42 ` [pve-devel] applied: [PATCH docs] fix #3994: Added blockid to chapter Proxmox Node Management Thomas Lamprecht 2 siblings, 1 reply; 5+ messages in thread From: Daniel Tschlatscher @ 2022-04-20 10:09 UTC (permalink / raw) To: pve-devel Added a new file for displaying and editing the node config options which were not exposed through the GUI yet. Namely those are the settings for wakeonlan and startall-on-boot-delay. Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com> --- src/Makefile | 1 + src/node/OptionsView.js | 85 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 src/node/OptionsView.js diff --git a/src/Makefile b/src/Makefile index dd7729e..0217ae1 100644 --- a/src/Makefile +++ b/src/Makefile @@ -96,6 +96,7 @@ JSSRC= \ node/DNSEdit.js \ node/HostsView.js \ node/DNSView.js \ + node/OptionsView.js \ node/Tasks.js \ node/ServiceView.js \ node/TimeEdit.js \ diff --git a/src/node/OptionsView.js b/src/node/OptionsView.js new file mode 100644 index 0000000..3d1e7bb --- /dev/null +++ b/src/node/OptionsView.js @@ -0,0 +1,85 @@ +Ext.define('Proxmox.node.OptionsView', { + extend: 'Proxmox.grid.ObjectGrid', + alias: ['widget.proxmoxNodeOptionsView'], + + gridRows: [ + { + xtype: 'integer', + name: 'startall-onboot-delay', + text: gettext('Start on boot delay'), + minValue: 0, + maxValue: 300, + labelWidth: 130, + deleteEmpty: true, + renderer: function(value) { + if (value === undefined) { + return Proxmox.Utils.defaultText; + } + + let secString = value === 1 ? gettext('Second') : gettext('Seconds'); + return `${value} ${secString}`; + }, + }, + { + xtype: 'text', + name: 'wakeonlan', + text: gettext('Wake on LAN'), + vtype: 'MacAddress', + deleteEmpty: true, + renderer: function(value) { + if (value === undefined) { + return Proxmox.Utils.NoneText; + } + + return value; + }, + }, + ], + + initComponent: function() { + let me = this; + let baseUrl = `/nodes/${me.nodename}/config`; + + if (!me.nodename) { + throw "no node name specified"; + } + + let editBtn = new Ext.Button({ + text: gettext('Edit'), + disabled: true, + handler: function() { me.run_editor(); }, + }); + + + let setButtonStatus = function() { + let sm = me.getSelectionModel(); + let rec = sm.getSelection()[0]; + + if (!rec) { + editBtn.disable(); + return; + } + + let rowdef = me.rows[rec.data.key]; + editBtn.setDisabled(!rowdef.editor); + }; + + Ext.apply(me, { + url: `/api2/json${baseUrl}`, + tbar: [editBtn], + editorConfig: { + url: `/api2/extjs/${baseUrl}`, + }, + listeners: { + itemdblclick: me.run_editor, + selectionchange: setButtonStatus, + }, + }); + + me.callParent(); + + me.on('activate', me.rstore.startUpdate); + me.on('deactivate', me.rstore.stopUpdate); + me.on('destroy', me.rstore.stopUpdate); + }, +}); -- 2.30.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [pve-devel] [PATCH widget-toolkit] fix #3994: Node config options in the GUI 2022-04-20 10:09 ` [pve-devel] [PATCH widget-toolkit] fix #3994: Node config options in the GUI Daniel Tschlatscher @ 2022-04-22 10:12 ` Thomas Lamprecht 0 siblings, 0 replies; 5+ messages in thread From: Thomas Lamprecht @ 2022-04-22 10:12 UTC (permalink / raw) To: Proxmox VE development discussion, Daniel Tschlatscher On 20.04.22 12:09, Daniel Tschlatscher wrote: > Added a new file for displaying and editing the node config options > which were not exposed through the GUI yet. Namely those are the > settings for wakeonlan and startall-on-boot-delay. Why is this in widget toolkit if it's only PVE specific? (see below) I'd just add it in pve-manager, no point in adding the headache of splitting a feature over multiple packages if it cannot be reused anyway. > Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com> > --- > src/Makefile | 1 + > src/node/OptionsView.js | 85 +++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 86 insertions(+) > create mode 100644 src/node/OptionsView.js > > diff --git a/src/Makefile b/src/Makefile > index dd7729e..0217ae1 100644 > --- a/src/Makefile > +++ b/src/Makefile > @@ -96,6 +96,7 @@ JSSRC= \ > node/DNSEdit.js \ > node/HostsView.js \ > node/DNSView.js \ > + node/OptionsView.js \ > node/Tasks.js \ > node/ServiceView.js \ > node/TimeEdit.js \ > diff --git a/src/node/OptionsView.js b/src/node/OptionsView.js > new file mode 100644 > index 0000000..3d1e7bb > --- /dev/null > +++ b/src/node/OptionsView.js > @@ -0,0 +1,85 @@ > +Ext.define('Proxmox.node.OptionsView', { > + extend: 'Proxmox.grid.ObjectGrid', > + alias: ['widget.proxmoxNodeOptionsView'], > + > + gridRows: [ > + { > + xtype: 'integer', > + name: 'startall-onboot-delay', pve specific > + text: gettext('Start on boot delay'), > + minValue: 0, > + maxValue: 300, > + labelWidth: 130, > + deleteEmpty: true, > + renderer: function(value) { > + if (value === undefined) { > + return Proxmox.Utils.defaultText; > + } > + > + let secString = value === 1 ? gettext('Second') : gettext('Seconds'); > + return `${value} ${secString}`; > + }, > + }, > + { > + xtype: 'text', > + name: 'wakeonlan', pve specific > + text: gettext('Wake on LAN'), > + vtype: 'MacAddress', > + deleteEmpty: true, > + renderer: function(value) { > + if (value === undefined) { > + return Proxmox.Utils.NoneText; > + } > + > + return value; > + }, > + }, > + ], > + > + initComponent: function() { > + let me = this; > + let baseUrl = `/nodes/${me.nodename}/config`; you use nodename before you check that it's set, not that it matters much but it's just not /that/ nice code-style wise (things tend to get copied and adapted, which such unnecessary subtleties may cause headache with). > + > + if (!me.nodename) { > + throw "no node name specified"; > + } > + > + let editBtn = new Ext.Button({ > + text: gettext('Edit'), > + disabled: true, > + handler: function() { me.run_editor(); }, > + }); > + > + > + let setButtonStatus = function() { > + let sm = me.getSelectionModel(); > + let rec = sm.getSelection()[0]; > + > + if (!rec) { > + editBtn.disable(); > + return; > + } > + > + let rowdef = me.rows[rec.data.key]; > + editBtn.setDisabled(!rowdef.editor); > + }; > + > + Ext.apply(me, { > + url: `/api2/json${baseUrl}`, > + tbar: [editBtn], > + editorConfig: { > + url: `/api2/extjs/${baseUrl}`, > + }, > + listeners: { > + itemdblclick: me.run_editor, > + selectionchange: setButtonStatus, > + }, > + }); > + > + me.callParent(); > + > + me.on('activate', me.rstore.startUpdate); > + me.on('deactivate', me.rstore.stopUpdate); > + me.on('destroy', me.rstore.stopUpdate); you could try using a view controller for above, that could theoretically also allow to drop the whole initComponents. (search the code base for `ViewController`); not a requirement but good to check out as learning purpose and maybe you like it better. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [pve-devel] [PATCH manager] fix #3994: Options menu entry in the System menu 2022-04-20 10:09 [pve-devel] [PATCH docs] fix #3994: Added blockid to chapter Proxmox Node Management Daniel Tschlatscher 2022-04-20 10:09 ` [pve-devel] [PATCH widget-toolkit] fix #3994: Node config options in the GUI Daniel Tschlatscher @ 2022-04-20 10:09 ` Daniel Tschlatscher 2022-04-22 9:42 ` [pve-devel] applied: [PATCH docs] fix #3994: Added blockid to chapter Proxmox Node Management Thomas Lamprecht 2 siblings, 0 replies; 5+ messages in thread From: Daniel Tschlatscher @ 2022-04-20 10:09 UTC (permalink / raw) To: pve-devel Add the subentry "Options" in the "System" menu to expose some options in the GUI which were not exposed before. Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com> --- www/manager6/node/Config.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/www/manager6/node/Config.js b/www/manager6/node/Config.js index 52357df8..7e7d45f7 100644 --- a/www/manager6/node/Config.js +++ b/www/manager6/node/Config.js @@ -195,6 +195,15 @@ Ext.define('PVE.node.Config', { nodename: nodename, onlineHelp: 'sysadmin_network_configuration', }, + { + xtype: 'proxmoxNodeOptionsView', + title: gettext('Options'), + iconCls: 'fa fa-gear', + groups: ['services'], + itemId: 'options', + nodename: nodename, + onlineHelp: 'proxmox_node_management', + }, { xtype: 'proxmoxNodeHostsView', title: gettext('Hosts'), -- 2.30.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [pve-devel] applied: [PATCH docs] fix #3994: Added blockid to chapter Proxmox Node Management 2022-04-20 10:09 [pve-devel] [PATCH docs] fix #3994: Added blockid to chapter Proxmox Node Management Daniel Tschlatscher 2022-04-20 10:09 ` [pve-devel] [PATCH widget-toolkit] fix #3994: Node config options in the GUI Daniel Tschlatscher 2022-04-20 10:09 ` [pve-devel] [PATCH manager] fix #3994: Options menu entry in the System menu Daniel Tschlatscher @ 2022-04-22 9:42 ` Thomas Lamprecht 2 siblings, 0 replies; 5+ messages in thread From: Thomas Lamprecht @ 2022-04-22 9:42 UTC (permalink / raw) To: Proxmox VE development discussion, Daniel Tschlatscher On 20.04.22 12:09, Daniel Tschlatscher wrote: > to make it possible to reference it through the help button in the > GUI. > > Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com> > --- > pvenode.adoc | 2 ++ > 1 file changed, 2 insertions(+) > > applied, thanks! ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-04-22 10:12 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-04-20 10:09 [pve-devel] [PATCH docs] fix #3994: Added blockid to chapter Proxmox Node Management Daniel Tschlatscher 2022-04-20 10:09 ` [pve-devel] [PATCH widget-toolkit] fix #3994: Node config options in the GUI Daniel Tschlatscher 2022-04-22 10:12 ` Thomas Lamprecht 2022-04-20 10:09 ` [pve-devel] [PATCH manager] fix #3994: Options menu entry in the System menu Daniel Tschlatscher 2022-04-22 9:42 ` [pve-devel] applied: [PATCH docs] fix #3994: Added blockid to chapter Proxmox Node Management Thomas Lamprecht
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox