
Hi René, sorry for my very late reply, and thanks to Oved for helping with this issue. As Oved suggested, you should always check 'arguments' before accessing entities from it. The reason why VirtualMachineSelectionChange event stopped working for your plugin after you switch away from VM tab and into VM tab again, is because when you switch again into VM tab, VM table selection is cleared and VirtualMachineSelectionChange is triggered with empty 'arguments'. Since your plugin does 'arguments[0].name' regardless of 'arguments.length', this throws uncaught exception, and WebAdmin puts your plugin out of service as per the standard plugin lifecycle. In future, I'm planning to add new event handler function (e.g. 'Error') that will allow your plugin to detect such uncaught exceptions, but for now you have to ensure your plugin doesn't throw such exceptions. (Maybe you can use JavaScript console to detect such errors that happen within the plugin iframe.)
Btw, do you know if I can get the name of a host instead the hostname/ip?
This is a bug, it's fixed by http://gerrit.ovirt.org/#/c/11420/ so that 'vm.name' returns the value of name column, and 'vm.hostname' returns the hostname/IP. Regards, Vojtech ----- Original Message ----- From: "René Koch" <r.koch@ovido.at> To: "Oved Ourfalli" <ovedo@redhat.com> Cc: users@ovirt.org Sent: Tuesday, January 22, 2013 10:51:58 PM Subject: Re: [Users] UI Plugin issue when switching main tabs Thanks a lot for your input - it was really helpfu! I added a check for argument.length and now it's working as expected. The working code is: VirtualMachineSelectionChange: function() { if (arguments.length == 1) { var vmName = arguments[0].name; alert(vmName); // Reload VM Sub Tab api.setTabContentUrl('vms-monitoring', conf.url + '?subtab=vms&name=' + encodeURIComponent(vmName)); } } Btw, do you know if I can get the name of a host instead the hostname/ip? arguments[0].name; gives me the IP address (value of webadmin column "hostname/ip") but not the name (column "name") - (I always use ips instead of dns names for hypervisors)... Thanks, René -----Original message-----
From:Oved Ourfalli <ovedo@redhat.com> Sent: Tuesday 22nd January 2013 19:34 To: René Koch <r.koch@ovido.at> Cc: users@ovirt.org Subject: Re: [Users] UI Plugin issue when switching main tabs
Found your bug (I think): You don't check in your code whether there is a selection (if (arguments.length == 1) for example, if you want to act only when one is selected).
You'll probably want to do similar logic to the Foreman plugin, setting the sub-tab content URL only in case one VM is selected, and setting the URL properly.
The fact that your alert won't show is that you call arguments[0].name, and it fails when nothing is selected... and I guess that's the case when you switch tabs. Didn't check it out, but please check it out... and let me know what you found :-)
Oved
----- Original Message -----
From: "René Koch" <r.koch@ovido.at> To: "Oved Ourfalli" <ovedo@redhat.com> Cc: users@ovirt.org Sent: Monday, January 21, 2013 6:05:47 PM Subject: Re: [Users] UI Plugin issue when switching main tabs
When switching back to vm main tab changing the selection doesn't work.
No matter which VM I select the VirtualMachineSelectionChange function isn't called again (as my debug alert window doesn't appear), but the last vm I selected before switching to another main tab is cached in variable vmName... It works again after restarting engine-service.
I just tested your foreman plugin and it seems that this one is working as expected.
Regards, René
-----Original message-----
From:Oved Ourfalli <ovedo@redhat.com> Sent: Monday 21st January 2013 14:56 To: René Koch <r.koch@ovido.at> Cc: users@ovirt.org; Vojtech Szocs <vszocs@redhat.com> Subject: Re: [Users] UI Plugin issue when switching main tabs
I'll let Vojtech (cc-ed) to give a more accurate answer, but, trying to narrow down the issue: when you switch to a different main tab and then back to the VM main tab, and change the selection in there, does it work? (Trying to understand if the problem is only when doing the switch, and it works afterwards, or not).
Thank you, Oved ----- Original Message -----
From: "René Koch" <r.koch@ovido.at> To: users@ovirt.org Sent: Sunday, January 20, 2013 11:07:13 PM Subject: [Users] UI Plugin issue when switching main tabs
Hi,
I'm working on an UI plugin to integrate Nagios/Icinga into oVirt Engine and made some progress, but have an issue when switching the main tabs.
I use VirtualMachineSelectionChange to create URL with name of vm (and HostSelectionChange for hosts). Name is used in my backend code (Perl) for fetching monitoring status.
Here's the code of VirtualMachineSelectionChange:
VirtualMachineSelectionChange: function() { var vmName = arguments[0].name; alert(vmName); // Reload VM Sub Tab api.setTabContentUrl('vms-monitoring', conf.url + '?subtab=vms&name=' + encodeURIComponent(vmName)); }
Everything works fine as long as I stay in Virtual Machine main tab. When switching to e.g. Disks and back to Virtual Machines again the JavaScript code of start.html isn't processed anymore (or cached (?) as the my generated URL with last vm name will still be sent back to my Perl backend) - added alert() to test this.
oVirt Engine version: ovirt-engine-3.2.0-1.20130118.gitd102d6f.fc18.noarch
Full code of start.hml: http://pastebin.com/iEY6dA6F
Thanks a lot for your help, René
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users