Hi Felix Glad you've got things working. You didn't say anything wrong, it's great to have your commentary on what you're doing and I'm sure other people are finding it useful as well.
Best wishes On Tue, Nov 18, 2014 at 9:49 AM, Felix Küppers <[email protected]> wrote: > Hi Jeremy, > > thanks for the quick reply. It worked. > > I thought internally i wouldn't use the transclude widget but using the > widget tree is really nice. > > What I use as equivalent for {{currentview}} is now > > > /** > * Compute the internal state of the widget > */ > TaskGraphWidget.prototype.execute = function() { > > // Construct the child widgets > > var body = { > type : "element", > tag : "div", > attributes : { > class : { type : "string", value : "filterbar" } > }, > children : [{ > type : "tiddler", > attributes : { > tiddler : { type : "string", value : this.getCurView().fields.title > } > }, > children : [{ > type : "transclude" > }] > }] > }; > > this.makeChildWidgets([body]); > }; > > I removed the tiddler attribute for transclude as it seems to use the > currentTiddler as fallback. Also I use the tiddler Widget as parent because > otherwise, the other transcludes (my graphview transcludes itself > "$:/core/ui/EditTemplate/tags") would not be bound to the graphview. > > I tried the following at first, but it did not set the currentTiddler for > consequent transcludes. > > // transclude works, but currentTiddler is not propagated to other > transcludes so e.g. changes of tags are not written to the parent. > var body = { > type : "transclude", > attributes : { > tiddler : { type : "string", value : this.getCurView().fields.title > } > } > }; > > During refresh() I check if the currentview (this.getCurView()) has > changed and rebuild only the subtree via > > this.removeChildDomNodes(); > this.execute(); > this.renderChildren(this.parentDomNode); > > So it all works fine. :) > > I just posted my result for documentation purposes (hope I didn't say > something wrong). > > Thanks! > > Felix > -- Jeremy Ruston mailto:[email protected] -- You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/tiddlywikidev. For more options, visit https://groups.google.com/d/optout.
