We have a non-modal form that displays a map. The map is an html area.
On this same form have a ‘menu’ at the top. We are using the popmenu to make this work.
We use the popmenu on various forms and it works great… but not on this form for some reason.
I ran this using the built-in Ajax debugger and here’s the output for when the menu does not work…
<script type="text/javascript" src="resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/yahoo-dom-event.js"></script>
<script type="text/javascript" src="resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/container_core-min.js"></script>
<script type="text/javascript" src="resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/menu-min.js"></script>
<script type="text/javascript" id="yahoomenu"><![CDATA[/*>]^]^>*/</script>
</head>]]></header-contribution><component id="contribution6c" ><![CDATA[<span id="contribution6c"></span>]]></component><evaluate><![CDATA[restoreValueAfterUpdate();]]></evaluate><evaluate><![CDATA[testStyleSheets();]]></evaluate><evaluate><![CDATA[clearDoubleClickId('sv_da182b61_79c3_489d_af8a_c2b851a90fda')]]></evaluate><evaluate><![CDATA[oMenu.clearContent();mi = new YAHOO.widget.MenuItem('Open Map Position...');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=bf8FO3Kbld7YgqN667D7j6LZwSBUYDw7KASOQIrhk6EqM3eFiYkEHA6T1QYLw3YjA2BCnKL7xoi0Y3iz0dEhww&m=1328905"});oMenu.addItem(mi,1);mi = new YAHOO.widget.MenuItem('Update Extents Info (pre-save)');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=bf8FO3Kbld7YgqN667D7j6LZwSBUYDw7KASOQIrhk6EqM3eFiYkEHA6T1QYLw3YjA2BCnKL7xoi0Y3iz0dEhww&m=21218256"});oMenu.addItem(mi,2);mi = new YAHOO.widget.MenuItem('Save Map Position');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=bf8FO3Kbld7YgqN667D7j6LZwSBUYDw7KASOQIrhk6EqM3eFiYkEHA6T1QYLw3YjA2BCnKL7xoi0Y3iz0dEhww&m=32291974"});oMenu.addItem(mi,2);mi = new YAHOO.widget.MenuItem('Save Map Position As...');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=bf8FO3Kbld7YgqN667D7j6LZwSBUYDw7KASOQIrhk6EqM3eFiYkEHA6T1QYLw3YjA2BCnKL7xoi0Y3iz0dEhww&m=21825415"});oMenu.addItem(mi,2);mi = new YAHOO.widget.MenuItem('Delete Map Position');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=bf8FO3Kbld7YgqN667D7j6LZwSBUYDw7KASOQIrhk6EqM3eFiYkEHA6T1QYLw3YjA2BCnKL7xoi0Y3iz0dEhww&m=2712319"});oMenu.addItem(mi,3);setTimeout("oMenu.render(document.getElementById('form_seis_set_map'));var jsComp = document.getElementById('-1:sv_da182b61_79c3_489d_af8a_c2b851a90fda');var oMenuReg = YAHOO.util.Dom.getRegion(document.getElementById(oMenu.id));var parentReg = YAHOO.util.Dom.getRegion(jsComp.offsetParent);var jsCompReg = YAHOO.util.Dom.getRegion(jsComp);if(jsComp.offsetParent && jsCompReg.top + 20+(oMenuReg.bottom - oMenuReg.top) > parentReg.top + (parentReg.bottom - parentReg.top) && jsCompReg.top + 20 - (oMenuReg.bottom - oMenuReg.top) > parentReg.top){oMenu.moveTo(jsCompReg.left + 0,jsCompReg.top - (oMenuReg.bottom - oMenuReg.top));} else {oMenu.moveTo(jsCompReg.left + 0,jsCompReg.top + 20);}oMenu.show();", 0);]]></evaluate></ajax-response>
INFO: Response parsed. Now invoking steps...
INFO: Response processed successfully.
INFO: Invoking post-call handler(s)...
INFO: last focus id was not set
INFO:
INFO: Initiating Ajax GET request on ?x=bf8FO3Kbld7YgqN667D7jwNghpouFHyT*j-1rgh7wDrqo4PqZwYrczSTK6pyMezC8QSBDT2GEjTUduyBY12QCw&ignoremp=true&random=0.21076634474131806
INFO: Invoking pre-call handler(s)...
INFO: Received ajax response (512 characters)
INFO:
<?xml version="1.0" encoding="UTF-8"?><ajax-response><evaluate><![CDATA[storeValueBeforeUpdate();]]></evaluate><evaluate><![CDATA[restoreValueAfterUpdate();]]></evaluate><evaluate><![CDATA[testStyleSheets();]]></evaluate><evaluate><![CDATA[setTimeout("var wcall=wicketAjaxGet('?x=bf8FO3Kbld7YgqN667D7jwNghpouFHyT*j-1rgh7wDrqo4PqZwYrczSTK6pyMezC8QSBDT2GEjTUduyBY12QCw&ignoremp=true',null,function() { onAjaxError();}.bind(this), function() {return notDragging;}.bind(this));", 5000);]]></evaluate></ajax-response>
INFO: Response parsed. Now invoking steps...
INFO: Response processed successfully.
INFO: Invoking post-call handler(s)...
INFO: last focus id was not set
Here’s an example of another form where the menu does work…
<script type="text/javascript" src="resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/yahoo-dom-event.js"></script>
<script type="text/javascript" src="resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/container_core-min.js"></script>
<script type="text/javascript" src="resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/menu-min.js"></script>
<script type="text/javascript" id="yahoomenu"><![CDATA[/*>]^]^>*/</script>
</head>]]></header-contribution><component id="contribution2" ><![CDATA[<span id="contribution2"></span>]]></component><evaluate><![CDATA[restoreValueAfterUpdate();]]></evaluate><evaluate><![CDATA[setStatusText('Ready');]]></evaluate><evaluate><![CDATA[testStyleSheets();]]></evaluate><evaluate><![CDATA[clearDoubleClickId('sv_dc0e5ad9_8f21_4405_80f7_753f77791271')]]></evaluate><evaluate><![CDATA[oMenu.clearContent();mi = new YAHOO.widget.MenuItem('New List');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=10661148"});oMenu.addItem(mi,1);mi = new YAHOO.widget.MenuItem('Open List...');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=1261032"});oMenu.addItem(mi,1);mi = new YAHOO.widget.MenuItem('Save List');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=21326907"});oMenu.addItem(mi,2);mi = new YAHOO.widget.MenuItem('Save List As...');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=12899773"});oMenu.addItem(mi,2);mi = new YAHOO.widget.MenuItem('Delete List');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=11311314"});oMenu.addItem(mi,3);mi = new YAHOO.widget.MenuItem('Export');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=23410074"});oMenu.addItem(mi,4);mi = new YAHOO.widget.MenuItem('<html>Import</html>');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=27405003"});oMenu.addItem(mi,4);mi = new YAHOO.widget.MenuItem('<html>Print</html>');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=27765921"});oMenu.addItem(mi,5);mi = new YAHOO.widget.MenuItem('Log Out');mi.cfg.setProperty('onclick', {fn:svy_popmenu_click,obj:"?x=7FHF7aDBNhBra05es9dpnajnT5WTFooBDIi-VGXtR7lmu-eZFpnAIcfhOglCIyP342O7z1vF-g0&m=20361508"});oMenu.addItem(mi,6);setTimeout("oMenu.render(document.getElementById('form_iglass_main'));var jsComp = document.getElementById('sv_dc0e5ad9_8f21_4405_80f7_753f77791271');var oMenuReg = YAHOO.util.Dom.getRegion(document.getElementById(oMenu.id));var parentReg = YAHOO.util.Dom.getRegion(jsComp.offsetParent);var jsCompReg = YAHOO.util.Dom.getRegion(jsComp);if(jsComp.offsetParent && jsCompReg.top + 20+(oMenuReg.bottom - oMenuReg.top) > parentReg.top + (parentReg.bottom - parentReg.top) && jsCompReg.top + 20 - (oMenuReg.bottom - oMenuReg.top) > parentReg.top){oMenu.moveTo(jsCompReg.left + 0,jsCompReg.top - (oMenuReg.bottom - oMenuReg.top));} else {oMenu.moveTo(jsCompReg.left + 0,jsCompReg.top + 20);}oMenu.show();", 0);]]></evaluate></ajax-response>
INFO: Response parsed. Now invoking steps...
INFO:
INFO: Initiating Ajax GET request on resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/yahoo-dom-event.js
INFO: Invoking pre-call handler(s)...
INFO: Received ajax response (37029 characters)
INFO: Invoking post-call handler(s)...
INFO:
INFO: Initiating Ajax GET request on resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/container_core-min.js
INFO: Invoking pre-call handler(s)...
INFO: Received ajax response (43136 characters)
INFO: Invoking post-call handler(s)...
INFO:
INFO: Initiating Ajax GET request on resources/com.servoy.extensions.plugins.popupmenu.wicket.MenuExecutorBehavior/res/menu-min.js
INFO: Invoking pre-call handler(s)...
INFO: Received ajax response (74691 characters)
INFO: Invoking post-call handler(s)...
INFO: Response processed successfully.
INFO: Invoking post-call handler(s)...
INFO: last focus id was not set
INFO:
INFO: Initiating Ajax GET request on ?x=B6QcVxmd4CRK*Y1aQ5fnL*rfMZKlD-oKNy15ShJrQda5FLTFS7OsJ0Ncw6VQxoL5JjNPWwQHvjY&ignoremp=true&random=0.9109449113982921
INFO: Invoking pre-call handler(s)...
INFO: Received ajax response (557 characters)
INFO:
<?xml version="1.0" encoding="UTF-8"?><ajax-response><evaluate><![CDATA[storeValueBeforeUpdate();]]></evaluate><evaluate><![CDATA[restoreValueAfterUpdate();]]></evaluate><evaluate><![CDATA[setStatusText('Ready');]]></evaluate><evaluate><![CDATA[testStyleSheets();]]></evaluate><evaluate><![CDATA[setTimeout("var wcall=wicketAjaxGet('?x=B6QcVxmd4CRK*Y1aQ5fnL*rfMZKlD-oKNy15ShJrQda5FLTFS7OsJ0Ncw6VQxoL5JjNPWwQHvjY&ignoremp=true',null,function() { onAjaxError();}.bind(this), function() {return notDragging;}.bind(this));", 5000);]]></evaluate></ajax-response>
INFO: Response parsed. Now invoking steps...
INFO: Response processed successfully.
INFO: Invoking post-call handler(s)...
Any ideas on what might be going on here ?
Thanks in advance
Mark