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(a)redhat.com>
Sent: Tuesday 22nd January 2013 19:34
To: René Koch <r.koch(a)ovido.at>
Cc: users(a)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(a)ovido.at>
> To: "Oved Ourfalli" <ovedo(a)redhat.com>
> Cc: users(a)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(a)redhat.com>
> > Sent: Monday 21st January 2013 14:56
> > To: René Koch <r.koch(a)ovido.at>
> > Cc: users(a)ovirt.org; Vojtech Szocs <vszocs(a)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(a)ovido.at>
> > > To: users(a)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(a)ovirt.org
> > >
http://lists.ovirt.org/mailman/listinfo/users
> > >
> >
> _______________________________________________
> Users mailing list
> Users(a)ovirt.org
>
http://lists.ovirt.org/mailman/listinfo/users
>