Switch the story list over to using the new list field

This commit is contained in:
Jeremy Ruston
2013-08-07 17:54:27 +01:00
parent 6a6e7454d7
commit 83ea953a1d
4 changed files with 9 additions and 12 deletions
+1 -1
View File
@@ -47,7 +47,7 @@ exports.startup = function() {
for(var t=0; t<defaultTiddlers.length; t++) { for(var t=0; t<defaultTiddlers.length; t++) {
story[t] = defaultTiddlers[t]; story[t] = defaultTiddlers[t];
} }
$tw.wiki.addTiddler({title: storyTitle, text: story.join("\n")},$tw.wiki.getModificationFields()); $tw.wiki.addTiddler({title: storyTitle, text: "", list: story},$tw.wiki.getModificationFields());
// Host-specific startup // Host-specific startup
if($tw.browser) { if($tw.browser) {
// Call browser startup modules // Call browser startup modules
+2 -7
View File
@@ -51,19 +51,14 @@ NavigatorWidget.prototype.refreshInDom = function(changedAttributes,changedTiddl
}; };
NavigatorWidget.prototype.getStoryList = function() { NavigatorWidget.prototype.getStoryList = function() {
var text = this.renderer.renderTree.wiki.getTextReference(this.storyTitle,""); this.storyList = this.renderer.renderTree.wiki.getTiddlerList(this.storyTitle);
if(text && text.length > 0) {
this.storyList = text.split("\n");
} else {
this.storyList = [];
}
}; };
NavigatorWidget.prototype.saveStoryList = function() { NavigatorWidget.prototype.saveStoryList = function() {
var storyTiddler = this.renderer.renderTree.wiki.getTiddler(this.storyTitle); var storyTiddler = this.renderer.renderTree.wiki.getTiddler(this.storyTitle);
this.renderer.renderTree.wiki.addTiddler(new $tw.Tiddler({ this.renderer.renderTree.wiki.addTiddler(new $tw.Tiddler({
title: this.storyTitle title: this.storyTitle
},storyTiddler,{text: this.storyList.join("\n")})); },storyTiddler,{list: this.storyList}));
}; };
NavigatorWidget.prototype.findTitleInStory = function(title,defaultIndex) { NavigatorWidget.prototype.findTitleInStory = function(title,defaultIndex) {
+2 -2
View File
@@ -494,8 +494,8 @@ Return the content of a tiddler as an array containing each line
*/ */
exports.getTiddlerList = function(title) { exports.getTiddlerList = function(title) {
var tiddler = this.getTiddler(title); var tiddler = this.getTiddler(title);
if(tiddler && tiddler.fields.text && tiddler.fields.text.length > 0) { if(tiddler && $tw.utils.isArray(tiddler.fields.list)) {
return tiddler.fields.text.split("\n"); return tiddler.fields.list;
} }
return []; return [];
}; };
+4 -2
View File
@@ -64,7 +64,8 @@ describe("Filter tests", function() {
tags: []}); tags: []});
addShadowTiddler({ addShadowTiddler({
title: "TiddlerSeventh", title: "TiddlerSeventh",
text: "TiddlerOne\nTiddler Three\na fourth tiddler\nMissingTiddler", text: "",
list: "TiddlerOne [[Tiddler Three]] [[a fourth tiddler]] MissingTiddler",
tags: []}); tags: []});
addShadowTiddler({ addShadowTiddler({
title: "Tiddler8", title: "Tiddler8",
@@ -113,13 +114,14 @@ describe("Filter tests", function() {
it("should handle the tagging operator", 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[]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("[[two]tagging[]sort[title]]").join(",")).toBe("$:/TiddlerTwo,Tiddler Three");
expect(wiki.filterTiddlers("[is[current]tagging[]sort[title]]","one").join(",")).toBe("Tiddler Three,TiddlerOne"); expect(wiki.filterTiddlers("[is[current]tagging[]sort[title]]","one").join(",")).toBe("Tiddler Three,TiddlerOne");
}); });
it("should handle the links operator", function() { 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("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() { it("should handle the backlinks operator", function() {