krider2010
7 Sep 2007, 1:54 AM
Hi,
I've been through the forums with a variety of searches but am unable to find a solution to my problem. I wondered if anyone had any insight about where I should look next...?
I've got a context menu on a grid row which displays fine. The event handling on the (currently single) item on the menu also works fine and things happen, debug goes into the console etc. However nothing causes that menu to be hidden. Even explicitly calling the hide function on the menu does nothing visually (though it does cause isVisible() to then return false instead of true).
In the same layout I've got a tree with a context menu which does exactly as it should. It appears, clicking on an item causes things to happen based on my event handler, and then it disappears.
I've debugged both in FF2/Firebug and it appears that the handleClick() in BaseItem makes the following call:
this.parentMenu.hide.defer(this.hideDelay, this.parentMenu, [true]);
Which for the menu on the tree then some time later causes the hide() method the menu to fire. This doesn't seem to be happening on the grid context menu. The parameters of hideDelay, parentMenu etc. are all valid according to firebug.
Right clicking on the again grid causes another instance of the menu to appear with the old one still visible.
If I replace the contents of the region in which the grid resides with a new content panel as part of the menu item click handler this works, but my menu is still sat on top of that too!
Has anyone experienced a menu that won't hide (aside from when it's config is to stay open ;) ) or issues with this sort of defer call? Would it be related to where the dom element the menu is using is declared?
Thanks for any advice/pointers.
PS I've even explicitly set hideOnClick: true in the item even though that should be the default behaviour and the menu still won't go away.
I've been through the forums with a variety of searches but am unable to find a solution to my problem. I wondered if anyone had any insight about where I should look next...?
I've got a context menu on a grid row which displays fine. The event handling on the (currently single) item on the menu also works fine and things happen, debug goes into the console etc. However nothing causes that menu to be hidden. Even explicitly calling the hide function on the menu does nothing visually (though it does cause isVisible() to then return false instead of true).
In the same layout I've got a tree with a context menu which does exactly as it should. It appears, clicking on an item causes things to happen based on my event handler, and then it disappears.
I've debugged both in FF2/Firebug and it appears that the handleClick() in BaseItem makes the following call:
this.parentMenu.hide.defer(this.hideDelay, this.parentMenu, [true]);
Which for the menu on the tree then some time later causes the hide() method the menu to fire. This doesn't seem to be happening on the grid context menu. The parameters of hideDelay, parentMenu etc. are all valid according to firebug.
Right clicking on the again grid causes another instance of the menu to appear with the old one still visible.
If I replace the contents of the region in which the grid resides with a new content panel as part of the menu item click handler this works, but my menu is still sat on top of that too!
Has anyone experienced a menu that won't hide (aside from when it's config is to stay open ;) ) or issues with this sort of defer call? Would it be related to where the dom element the menu is using is declared?
Thanks for any advice/pointers.
PS I've even explicitly set hideOnClick: true in the item even though that should be the default behaviour and the menu still won't go away.