* [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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.Service provided by Proxmox Server Solutions GmbH | Privacy | Legal