On Sun, Nov 9, 2008 at 9:09 PM, Michał Pasternak <[EMAIL PROTECTED]>wrote:

> Jean-Paul Calderone pisze:
>
>> On Sun, 09 Nov 2008 13:28:26 +0100, Michał Pasternak <
>> [EMAIL PROTECTED]> wrote:
>>
>>> Hi,
>>>
>>> I want to be able to add athena.LiveElement to an already rendered
>>> LivePage. Quick Googling revealed this blog entry:
>>>
>>>   http://techblog.ironfroggy.com/2006/01/nevow-post-render-injection-of.html
>>>
>>> I'd like to know, if there are any other, simpler ways to do that - or,
>>> maybe, is there a preferred method to do that in the API already?
>>>
>>
>> See Nevow.Athena.Widget.addChildWidgetFromWidgetInfo.
>>
> This method will not add the markup automatically. Am I right?


Yep, I think you're right.


>
> Is this the official way of doing that, or am I missing something?
>


I'm on a similar track - here's what I use (don't know if it's "official"
either :) -

    function createDynamicWidget(self, className, left, top, args, kw) {
        var result = self.callRemote('getDynamicWidget', className, left,
top, args, ((kw) ? kw : {}));
        result.addCallback(
            function(widgetInfo) {
                return self.addChildWidgetFromWidgetInfo(widgetInfo);
            });
        result.addCallback(
            function(widget) {
                var insertedNode =
document.body.children(0).insertAdjacentElement('beforeBegin', widget.node);
                var s = insertedNode.getElementsByTagName('script');
                if (s.length == 1) {
                    var js = new Function(s[0].text);
                    js.apply(insertedNode);
                }
                insertedNode.style.zIndex = ++max_zIndex;
                return widget.objectID;
            });
        return result;
    },
Harald
_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web

Reply via email to