2011-12-13 16:20:56 +00:00
|
|
|
/*\
|
|
|
|
title: js/StoryNavigator.js
|
|
|
|
|
|
|
|
This browser component manages navigating to new tiddlers in a TiddlyWiki classic story style
|
|
|
|
|
|
|
|
\*/
|
|
|
|
(function(){
|
|
|
|
|
2011-12-14 14:11:11 +00:00
|
|
|
/*jslint node: true, jquery: true */
|
2011-12-13 16:20:56 +00:00
|
|
|
"use strict";
|
|
|
|
|
2012-01-25 12:48:12 +00:00
|
|
|
var Tiddler = require("./Tiddler.js").Tiddler;
|
|
|
|
|
2011-12-13 16:20:56 +00:00
|
|
|
var StoryNavigator = function(navigators) {
|
|
|
|
this.navigators = navigators;
|
2011-12-14 14:11:11 +00:00
|
|
|
};
|
2011-12-13 16:20:56 +00:00
|
|
|
|
|
|
|
StoryNavigator.prototype.navigateTo = function(title) {
|
2012-01-25 12:48:12 +00:00
|
|
|
var store = this.navigators.store,
|
|
|
|
tiddler = store.getTiddler(title),
|
2012-01-25 19:15:07 +00:00
|
|
|
storyTiddler = store.getTiddler("StoryTiddlers"); // This is a hack, obviously
|
2012-01-25 12:48:12 +00:00
|
|
|
if(tiddler) {
|
|
|
|
store.addTiddler(new Tiddler(storyTiddler,{text: title + "\n" + storyTiddler.text}));
|
2011-12-28 16:10:03 +00:00
|
|
|
$("html,body").animate({
|
2012-01-25 12:48:12 +00:00
|
|
|
scrollTop: 0
|
2011-12-28 16:10:03 +00:00
|
|
|
}, 400);
|
2011-12-13 16:20:56 +00:00
|
|
|
return false;
|
|
|
|
} else {
|
|
|
|
return true;
|
|
|
|
}
|
2011-12-14 14:11:11 +00:00
|
|
|
};
|
2011-12-13 16:20:56 +00:00
|
|
|
|
|
|
|
exports.StoryNavigator = StoryNavigator;
|
|
|
|
|
|
|
|
})();
|