Hi Andrew,

I have checked the aa.js api. i think you refer to this function
getGlobalScriptsDeclarationsList. I did overwrite this function in my jsp
page and  return an array of global variable. 
but the tomahawk popup window still not popup as what I expected. any idea
about this?
The way how do I get the htmlpopup client id is by viewing the jsp source
code and get the html popup id from there. When I reload the page I can see
the htmlpopup global variable still remain the same.
the code in getGlobalScriptsDeclarationsList is straight forward (delcare an
array, add an string object and return the array), something like this:

AjaxAnywhere.prototype.getGlobalScriptsDeclarationsList = function(script) {
       var gloVar = new Array();
       gloVar.push('Tree2Id_3A0_3A_5Fid9Popup');
    return gloVar;
}

At the moment I haven't found a way how to pass a htmlpopup client id to my
page. I am thinking of storing the htmlpopup client id in a static HashMap
in a class. but i don't think this is a good way. any suggestion for this?

Thanks,

Pdt


pdt_p wrote:
> 
> Hi Andrew,
> 
> Thank you for your help. I will give it a try. 
> 
> Thanks,
> 
> Pdt
> 
> 
> Andrew Robinson-5 wrote:
>> 
>> Sorry, just remembered after saying that, I think I did have to setup
>> some kind of registration with javascript (check the aa.js API) that
>> told AA that the variable was a global variable and AA will
>> automatically set a window variable from the var.
>> 
>> FYI, the code that sets the variable gets the ID from:
>> 
>> String popupId =
>> JavascriptUtils.getValidJavascriptName(clientId+"Popup",false);
>> 
>> On 8/16/07, Andrew Robinson <[EMAIL PROTECTED]> wrote:
>>> It should work fine without any additional code. BTW - I stopped using
>>> AA a long time ago, and now switched to Trinidad from A4J
>>>
>>> On 8/16/07, pdt_p <[EMAIL PROTECTED]> wrote:
>>> >
>>> > Hi Andrew,
>>> >
>>> > Just wondering, have you able to integrate ajaxanywhere with tomahawk
>>> popup?
>>> >
>>> > Thanks,
>>> >
>>> > Pdt
>>> >
>>> >
>>> > Andrew Robinson-5 wrote:
>>> > >
>>> > > Wondering if anyone has a work around for this...
>>> > >
>>> > > The tomahawk popup (1.1.2) is not AJAX friendly, at least not
>>> AjaxAnywhere
>>> > > friendly.
>>> > >
>>> > > The popup creates the following javascript in the renderer:
>>> > >         String popupId = JavascriptUtils.getValidJavascriptName
>>> > > (clientId+"Popup",false);
>>> > >
>>> > >         ResponseWriter writer = context.getResponseWriter();
>>> > >         writer.startElement(HTML.SCRIPT_ELEM, uiComponent);
>>> > >         writer.writeAttribute(HTML.SCRIPT_TYPE_ATTR,
>>> > > HTML.SCRIPT_TYPE_TEXT_JAVASCRIPT,null);
>>> > >         writer.writeText("var "+popupId+"=new
>>> > > orgApacheMyfacesPopup('"+clientId+"',"+
>>> > >                
>>> (displayAtDistanceX==null?-5:displayAtDistanceX.intValue
>>> > > ())+","+
>>> > >                
>>> (displayAtDistanceY==null?-5:displayAtDistanceY.intValue
>>> > > ())+");",null);
>>> > >         writer.endElement(HTML.SCRIPT_ELEM);
>>> > >
>>> > > As you can see, it uses the "var" syntax. To get JavaScript to load,
>>> > > AjaxAnywhere will execute an eval on the JavaScript contents. As a
>>> result,
>>> > > this variable will immediately lose scope and not be available to
>>> code on
>>> > > the page.
>>> > >
>>> > > If it was "window[" + popupId + "]" = new ..." it would bind the
>>> > > javascript
>>> > > variable to the window (the recommended method of having a global
>>> > > variable).
>>> > >
>>> > >
>>> > > Has anyone come across this, and if so, found a workaround?
>>> > >
>>> > > -Andrew
>>> > >
>>> > >
>>> >
>>> > --
>>> > View this message in context:
>>> http://www.nabble.com/Tomahawk-popup---AjaxAnywhere-tf1637487.html#a12192138
>>> > Sent from the MyFaces - Users mailing list archive at Nabble.com.
>>> >
>>> >
>>>
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Tomahawk-popup---AjaxAnywhere-tf1637487.html#a12195190
Sent from the MyFaces - Users mailing list archive at Nabble.com.

Reply via email to