Stanton,

I could have sworn that’s what my code was doing originally (the callback).  
But I just tried it in the sample I sent and it’s working.  Thanks!  I’ll let 
ya know if I experience any further problems with it.

doug

On May 5, 2015, at 8:35 PM, Stanton Sievers <ssiev...@apache.org> wrote:

> Hi Doug,
> 
> If you want to get a handle to the sites and holders you should be doing so
> in the optional callback to navigateGadget.  See the method signature [1]
> for more information.  You can also hook the lifecycle callbacks [2] and
> listen for ON_NAVIGATED [3] and you'll be given the site after the gadget
> has rendered.
> 
> I hope that helps!
> 
> -Stanton
> 
> [1]
> https://github.com/apache/shindig/blob/trunk/features/src/main/javascript/features/container/container.js#L192
> [2]
> https://github.com/apache/shindig/blob/trunk/features/src/main/javascript/features/container/container.js#L275
> [3]
> https://github.com/apache/shindig/blob/trunk/features/src/main/javascript/features/container.util/constant.js#L170
> 
> On Tue, May 5, 2015 at 9:29 AM, Davies,Douglas <davi...@oclc.org> wrote:
> 
>> Hi Stanton,
>> 
>> Thanks for the feedback.
>> 
>> Here’s a working (or non-working) example of the problem.  Just drop this
>> in your common container directory along-side index.html.
>> 
>> <html><body onload="init();"><div id="1"></div></body></html>
>> 
>> <script type="text/javascript"
>> src="../../../gadgets/js/container.js?c=1&debug=1&container=default"></script>
>> <script type="text/javascript">
>>    function init() {
>>        var gadgetXml = '
>> https://dl.dropboxusercontent.com/u/445894/gadgets/settitle.xml';
>>        var container = new osapi.container.Container({});
>>        var gadgetSite = container.newGadgetSite(
>> document.getElementById('1') );
>>        container.navigateGadget(gadgetSite, gadgetXml, [], {});
>>        // log active site immediately (undefined)
>>        console.log("activeSiteHolder1=" +
>> gadgetSite.getActiveSiteHolder());
>>        // log active site 1 second later (now has a value)
>>        setTimeout(function() {
>>            console.log("activeSiteHolder2=" +
>> gadgetSite.getActiveSiteHolder());
>>        }, 1000);
>>    }
>> </script>
>> 
>> and the output
>> 
>> "activeSiteHolder1=undefined"
>> "activeSiteHolder2=[object Object]"
>> 
>> Occasionally even activeSiteHolder2 will still be undefined.  A refresh
>> usually causes it to have a value.  activeSiteHolder1 always appears to be
>> undefined.  This occasionally bites us with our chrome not rendering
>> (chrome not shown here) because it’s dependent on finding the gadget
>> element.
>> 
>> Should I reopen or create a new jira?  I can try to look into why it’s
>> doing this.  Any suggestions are welcome.  I tried to wait for the onRender
>> lifecycle callback, and even that didn’t work.
>> 
>> Also (Ryan included), about my earlier question about updating the wiki
>> with my module_id discoveries… how is that commonly done.  Funneled through
>> someone?
>> 
>> Thanks,
>> doug
>> 
>> On May 1, 2015, at 9:28 AM, Stanton Sievers <ssiev...@apache.org<mailto:
>> ssiev...@apache.org>> wrote:
>> 
>> This seems vaguely familiar but I can't pinpoint a JIRA ticket for the
>> exact issue.  I did find [1] which I encountered a year ago or so.
>> 
>> What version of Shindig are you using?  At what point in the gadget
>> lifecycle are you trying to get the active holder?
>> 
>> [1] https://issues.apache.org/jira/browse/SHINDIG-1965
>> 
>> On Wed, Apr 29, 2015 at 11:39 AM, Davies,Douglas <davi...@oclc.org<mailto:
>> davi...@oclc.org>> wrote:
>> 
>> Has anyone had any inconsistencies with gadgetSite.getActiveSiteHolder()
>> not being initialized immediately after container.navigateGadget?  I use
>> this to add chrome to my gadget.  Sometimes this fails because the active
>> site holder isn’t set yet.  If I delay for a second (or add an alert) then
>> it’s set.  I even tried adding an onRender lifecycle callback, with the
>> same result (I figured if I was getting the callback rendering should be
>> done).  It appears that it’s either suppose to return loadingGadgetHolder
>> or currentGadgetHolder.
>> 
>> Ideas?
>> 
>> doug
>> 
>> 
>> 
>> 
>> 


Reply via email to