diff --git a/core/modules/startup.js b/core/modules/startup.js index 912e1eb5a..263cc0674 100644 --- a/core/modules/startup.js +++ b/core/modules/startup.js @@ -47,7 +47,7 @@ exports.startup = function() { for(var t=0; t 0) { - this.storyList = text.split("\n"); - } else { - this.storyList = []; - } + this.storyList = this.renderer.renderTree.wiki.getTiddlerList(this.storyTitle); }; NavigatorWidget.prototype.saveStoryList = function() { var storyTiddler = this.renderer.renderTree.wiki.getTiddler(this.storyTitle); this.renderer.renderTree.wiki.addTiddler(new $tw.Tiddler({ title: this.storyTitle - },storyTiddler,{text: this.storyList.join("\n")})); + },storyTiddler,{list: this.storyList})); }; NavigatorWidget.prototype.findTitleInStory = function(title,defaultIndex) { diff --git a/core/modules/wiki.js b/core/modules/wiki.js index 8df1e9f3b..1dff1381d 100644 --- a/core/modules/wiki.js +++ b/core/modules/wiki.js @@ -494,8 +494,8 @@ Return the content of a tiddler as an array containing each line */ exports.getTiddlerList = function(title) { var tiddler = this.getTiddler(title); - if(tiddler && tiddler.fields.text && tiddler.fields.text.length > 0) { - return tiddler.fields.text.split("\n"); + if(tiddler && $tw.utils.isArray(tiddler.fields.list)) { + return tiddler.fields.list; } return []; }; diff --git a/editions/test/tiddlers/tests/test-filters.js b/editions/test/tiddlers/tests/test-filters.js index ca6687c24..7e0d59bda 100644 --- a/editions/test/tiddlers/tests/test-filters.js +++ b/editions/test/tiddlers/tests/test-filters.js @@ -64,7 +64,8 @@ describe("Filter tests", function() { tags: []}); addShadowTiddler({ title: "TiddlerSeventh", - text: "TiddlerOne\nTiddler Three\na fourth tiddler\nMissingTiddler", + text: "", + list: "TiddlerOne [[Tiddler Three]] [[a fourth tiddler]] MissingTiddler", tags: []}); addShadowTiddler({ title: "Tiddler8", @@ -113,13 +114,14 @@ describe("Filter tests", function() { it("should handle the tagging operator", function() { expect(wiki.filterTiddlers("[[one]tagging[]sort[title]]").join(",")).toBe("Tiddler Three,TiddlerOne"); + expect(wiki.filterTiddlers("[[one]tagging[]]").join(",")).toBe("TiddlerOne,Tiddler Three"); expect(wiki.filterTiddlers("[[two]tagging[]sort[title]]").join(",")).toBe("$:/TiddlerTwo,Tiddler Three"); expect(wiki.filterTiddlers("[is[current]tagging[]sort[title]]","one").join(",")).toBe("Tiddler Three,TiddlerOne"); }); it("should handle the links operator", function() { expect(wiki.filterTiddlers("[!is[shadow]links[]sort[title]]").join(",")).toBe("a fourth tiddler,one,Tiddler Three,TiddlerSix,TiddlerTwo,TiddlerZero"); - expect(wiki.filterTiddlers("[is[shadow]links[]sort[title]]").join(",")).toBe("MissingTiddler,TiddlerOne"); + expect(wiki.filterTiddlers("[is[shadow]links[]sort[title]]").join(",")).toBe("TiddlerOne"); }); it("should handle the backlinks operator", function() {