kopia lustrzana https://github.com/miklobit/TiddlyWiki5
Get rid of the Renderer() wrapper and use the MacroNode directly
rodzic
53f652bf2a
commit
5ca478d106
|
@ -100,14 +100,14 @@ var App = function() {
|
|||
// Set up navigation if we're in the browser
|
||||
if(this.isBrowser) {
|
||||
// Open the PageTemplate
|
||||
var renderer = new Renderer("PageTemplate",null,this.store);
|
||||
var renderer = this.store.renderMacro("tiddler",{target: "PageTemplate"});
|
||||
renderer.renderInDom(document.body);
|
||||
// Register an event handler to handle refreshing the DOM
|
||||
this.store.addEventListener("",function(changes) {
|
||||
renderer.refreshInDom(changes);
|
||||
});
|
||||
// Set the page title and refresh it when needed
|
||||
var titleRenderer = new Renderer("WindowTitle",null,this.store);
|
||||
var titleRenderer = this.store.renderMacro("tiddler",{target: "WindowTitle"});
|
||||
document.title = titleRenderer.render("text/plain");
|
||||
this.store.addEventListener("",function(changes) {
|
||||
titleRenderer.refresh(changes);
|
||||
|
|
|
@ -427,44 +427,16 @@ var SliderNode = function(type,label,tooltip,isOpen,children) {
|
|||
);
|
||||
};
|
||||
|
||||
/*
|
||||
Construct a renderer object to render a tiddler, optionally specifying a template it should be rendered through
|
||||
*/
|
||||
var Renderer = function(tiddlerTitle,templateTitle,store) {
|
||||
this.store = store;
|
||||
// Start the renderer with the tiddler macro
|
||||
this.macro = new MacroNode(
|
||||
"tiddler",
|
||||
{target: tiddlerTitle, template: templateTitle},
|
||||
null,
|
||||
store);
|
||||
this.macro.execute();
|
||||
var Renderer = {
|
||||
MacroNode: MacroNode,
|
||||
ElementNode: ElementNode,
|
||||
TextNode: TextNode,
|
||||
EntityNode: EntityNode,
|
||||
LabelNode: LabelNode,
|
||||
SplitLabelNode: SplitLabelNode,
|
||||
SliderNode: SliderNode
|
||||
};
|
||||
|
||||
Renderer.prototype.render = function(type) {
|
||||
return this.macro.render(type);
|
||||
};
|
||||
|
||||
Renderer.prototype.renderInDom = function(domNode,type) {
|
||||
this.macro.renderInDom(domNode,type);
|
||||
};
|
||||
|
||||
Renderer.prototype.refresh = function(changes) {
|
||||
this.macro.refresh(changes);
|
||||
};
|
||||
|
||||
Renderer.prototype.refreshInDom = function(changes) {
|
||||
this.macro.refreshInDom(changes);
|
||||
};
|
||||
|
||||
Renderer.MacroNode = MacroNode;
|
||||
Renderer.ElementNode = ElementNode;
|
||||
Renderer.TextNode = TextNode;
|
||||
Renderer.EntityNode = EntityNode;
|
||||
Renderer.LabelNode = LabelNode;
|
||||
Renderer.SplitLabelNode = SplitLabelNode;
|
||||
Renderer.SliderNode = SliderNode;
|
||||
|
||||
exports.Renderer = Renderer;
|
||||
|
||||
})();
|
||||
|
|
|
@ -287,6 +287,12 @@ WikiStore.prototype.installMacro = function(macro) {
|
|||
this.macros[macro.name] = macro;
|
||||
};
|
||||
|
||||
WikiStore.prototype.renderMacro = function(macroName,params,children,tiddler) {
|
||||
var macro = Renderer.MacroNode(macroName,params,children,this);
|
||||
macro.execute([],tiddler);
|
||||
return macro;
|
||||
};
|
||||
|
||||
exports.WikiStore = WikiStore;
|
||||
|
||||
})();
|
||||
|
|
Ładowanie…
Reference in New Issue