diff --git a/core/modules/commands/new_rendertiddlers.js b/core/modules/commands/new_rendertiddlers.js index 291b3840b..26362f39d 100644 --- a/core/modules/commands/new_rendertiddlers.js +++ b/core/modules/commands/new_rendertiddlers.js @@ -41,18 +41,7 @@ Command.prototype.execute = function() { tiddlers = wiki.filterTiddlers(filter); $tw.utils.each(tiddlers,function(title) { var parser = wiki.new_parseTiddler(template), - parseTreeNode = parser ? {type: "widget", children: [{ - type: "setvariable", - attributes: { - name: {type: "string", value: "currentTiddler"}, - value: {type: "string", value: title} - }, - children: parser.tree - }]} : undefined, - widgetNode = new widget.widget(parseTreeNode,{ - wiki: wiki, - document: $tw.document - }); + widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}); var container = $tw.document.createElement("div"); widgetNode.render(container,null); var text = type === "text/html" ? container.innerHTML : container.textContent; diff --git a/core/modules/parsers/wikiparser/rules/typedblock.js b/core/modules/parsers/wikiparser/rules/typedblock.js index 3ee3b5e35..ac4891043 100644 --- a/core/modules/parsers/wikiparser/rules/typedblock.js +++ b/core/modules/parsers/wikiparser/rules/typedblock.js @@ -65,12 +65,8 @@ exports.parse = function() { return parser.tree; } else { // Otherwise, render to the rendertype and return in a
tag - var parseTreeNode = parser ? {type: "widget", children: parser.tree} : undefined, - widgetNode = new widget.widget(parseTreeNode,{ - wiki: $tw.wiki, - document: $tw.document - }); - var container = $tw.document.createElement("div"); + var widgetNode = this.parser.wiki.makeWidget(parser), + container = $tw.document.createElement("div"); widgetNode.render(container,null); var text = renderType === "text/html" ? container.innerHTML : container.textContent; return [{ diff --git a/core/modules/startup.js b/core/modules/startup.js index c20b42198..eab58379a 100755 --- a/core/modules/startup.js +++ b/core/modules/startup.js @@ -105,12 +105,7 @@ exports.startup = function() { // Display the PageTemplate var templateTitle = "$:/core/ui/PageTemplate", parser = $tw.wiki.new_parseTiddler(templateTitle), - parseTreeNode = parser ? {type: "widget", children: parser.tree} : undefined, - widgetNode = new widget.widget(parseTreeNode,{ - wiki: $tw.wiki, - parentWidget: $tw.rootWidget, - document: document - }); + widgetNode = $tw.wiki.makeWidget(parser,{document: document, parentWidget: $tw.rootWidget}); $tw.new_pageContainer = document.createElement("div"); $tw.utils.addClass($tw.new_pageContainer,"tw-page-container"); document.body.insertBefore($tw.new_pageContainer,document.body.firstChild); diff --git a/core/modules/utils/dom/modal.js b/core/modules/utils/dom/modal.js index 641f68938..76cb2f5f3 100644 --- a/core/modules/utils/dom/modal.js +++ b/core/modules/utils/dom/modal.js @@ -74,24 +74,14 @@ Modal.prototype.display = function(title,options) { titleText = title; } var headerParser = this.wiki.new_parseText("text/vnd.tiddlywiki",titleText,{parseAsInline: true}), - headerParseTreeNode = headerParser ? {type: "widget", children: headerParser.tree} : undefined, - headerWidgetNode = new widget.widget(headerParseTreeNode,{ - wiki: this.wiki, - parentWidget: $tw.rootWidget, - document: document - }); + headerWidgetNode = this.wiki.makeWidget(headerParser,{parentWidget: $tw.rootWidget, document: document}); headerWidgetNode.render(modalHeader,null); this.wiki.addEventListener("change",function(changes) { headerWidgetNode.refresh(changes,modalHeader,null); }); // Render the body of the message var bodyParser = this.wiki.new_parseTiddler(title), - bodyParseTreeNode = bodyParser ? {type: "widget", children: bodyParser.tree} : undefined, - bodyWidgetNode = new widget.widget(bodyParseTreeNode,{ - wiki: this.wiki, - parentWidget: $tw.rootWidget, - document: document - }); + bodyWidgetNode = this.wiki.makeWidget(bodyParser,{parentWidget: $tw.rootWidget, document: document}); bodyWidgetNode.render(modalBody,null); this.wiki.addEventListener("change",function(changes) { bodyWidgetNode.refresh(changes,modalBody,null); @@ -118,12 +108,7 @@ Modal.prototype.display = function(title,options) { footerText = '<$button message="tw-close-tiddler" class="btn btn-primary">Close$button>'; } var footerParser = this.wiki.new_parseText("text/vnd.tiddlywiki",footerText,{parseAsInline: true}), - footerParseTreeNode = footerParser ? {type: "widget", children: footerParser.tree} : undefined, - footerWidgetNode = new widget.widget(footerParseTreeNode,{ - wiki: this.wiki, - parentWidget: $tw.rootWidget, - document: document - }); + footerWidgetNode = this.wiki.makeWidget(footerParser,{parentWidget: $tw.rootWidget, document: document}); footerWidgetNode.render(modalFooterButtons,null); this.wiki.addEventListener("change",function(changes) { footerWidgetNode.refresh(changes,modalFooterButtons,null); diff --git a/core/modules/utils/dom/notifier.js b/core/modules/utils/dom/notifier.js index ad9aab86e..caf355944 100644 --- a/core/modules/utils/dom/notifier.js +++ b/core/modules/utils/dom/notifier.js @@ -38,12 +38,7 @@ Notifier.prototype.display = function(title,options) { $tw.utils.addClass(notification,"tw-notification"); // Render the body of the notification var parser = this.wiki.new_parseTiddler(title), - parseTreeNode = parser ? {type: "widget", children: parser.tree} : undefined, - widgetNode = new widget.widget(parseTreeNode,{ - wiki: this.wiki, - parentWidget: $tw.rootWidget, - document: document - }); + widgetNode = this.wiki.makeWidget(parser,{parentWidget: $tw.rootWidget, document: document}); widgetNode.render(notification,null); this.wiki.addEventListener("change",function(changes) { widgetNode.refresh(changes,notification,null);