mirror of
https://github.com/TiddlyWiki/TiddlyWiki5.git
synced 2026-05-03 12:47:03 +00:00
Refactor rendertree to simplify context handling
Get rid of the separate renderContext stack and instead have a parent pointer on renderer nodes. This lets us walk back up the render tree to resolve context references
This commit is contained in:
@@ -15,14 +15,14 @@ Macro definition renderer
|
||||
/*
|
||||
Macro definition renderer
|
||||
*/
|
||||
var MacroDefRenderer = function(renderTree,renderContext,parseTreeNode) {
|
||||
var MacroDefRenderer = function(renderTree,parentRenderer,parseTreeNode) {
|
||||
// Store state information
|
||||
this.renderTree = renderTree;
|
||||
this.renderContext = renderContext;
|
||||
this.parentRenderer = parentRenderer;
|
||||
this.parseTreeNode = parseTreeNode;
|
||||
// Save the macro definition into the render context
|
||||
this.renderContext.macroDefinitions = this.renderContext.macroDefinitions || {};
|
||||
this.renderContext.macroDefinitions[this.parseTreeNode.name] = this.parseTreeNode;
|
||||
// Save the macro definition into the context of the rendertree
|
||||
this.renderTree.context.macroDefinitions = this.renderTree.context.macroDefinitions || {};
|
||||
this.renderTree.context.macroDefinitions[this.parseTreeNode.name] = this.parseTreeNode;
|
||||
};
|
||||
|
||||
exports.macrodef = MacroDefRenderer
|
||||
|
||||
Reference in New Issue
Block a user