From 95ab295fbb8a8a65b73eac3f309b09ba63c18564 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Tue, 7 Feb 2012 19:03:59 +0000 Subject: [PATCH] Refactored dependency handling Now each class of dependency can be tracked individually --- js/ImageParser.js | 2 +- js/JSONParser.js | 2 +- js/WikiStore.js | 35 ++++++++++++++++--------- js/WikiTextParseTree.js | 29 ++++++++++++++------ js/WikiTextParser.js | 33 +++++++++++------------ js/WikiTextRenderer.js | 26 +++++++++++++----- js/WikiTextRules.js | 21 ++++++++++----- js/macros/info.js | 6 ----- js/macros/link.js | 2 +- tiddlywiki5/styles.css | 18 +++++++++---- tiddlywiki5/tiddlers/SimpleTemplate.tid | 1 - 11 files changed, 111 insertions(+), 64 deletions(-) diff --git a/js/ImageParser.js b/js/ImageParser.js index 3c4a5b51e..5d7f5f66d 100644 --- a/js/ImageParser.js +++ b/js/ImageParser.js @@ -24,7 +24,7 @@ ImageRenderer.prototype.render = function(tiddler,store) { var ImageParseTree = function(type,text) { this.type = type; this.text = text; - this.dependencies = []; + this.dependencies = {}; }; ImageParseTree.prototype.compile = function(type) { diff --git a/js/JSONParser.js b/js/JSONParser.js index d2bca0000..163cf974a 100644 --- a/js/JSONParser.js +++ b/js/JSONParser.js @@ -29,7 +29,7 @@ JSONRenderer.prototype.toString = function(type) { // The parse tree is degenerate var JSONParseTree = function(tree) { this.tree = tree; - this.dependencies = []; + this.dependencies = {}; }; JSONParseTree.prototype.compile = function(type) { diff --git a/js/WikiStore.js b/js/WikiStore.js index edb68a417..8bdec2f95 100755 --- a/js/WikiStore.js +++ b/js/WikiStore.js @@ -491,19 +491,9 @@ WikiStore.prototype.refreshDomNode = function(node,changes,renderer,tiddler) { // Is this node a macro } else if(macro !== null) { // Get the render step - var r = renderer.renderSteps[renderStep], - hasChanged = false; + var r = renderer.renderSteps[renderStep]; // Refresh if a dependency has changed - if(r.dependencies === null) { - hasChanged = true; - } else { - for(var d=0; d>}}} <> -<> <> \ No newline at end of file