1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-07-08 04:54:23 +00:00
TiddlyWiki5/js/TiddlyWiki.js

53 lines
1.2 KiB
JavaScript
Raw Normal View History

/*global require: false, exports: false */
"use strict";
var Tiddler = require("./Tiddler.js").Tiddler;
2011-11-22 14:29:29 +00:00
2011-12-02 16:13:17 +00:00
var TiddlyWiki = function TiddlyWiki(shadowStore) {
2011-11-22 14:29:29 +00:00
this.tiddlers = {};
2011-12-02 16:13:17 +00:00
this.shadows = shadowStore === undefined ? new TiddlyWiki(null) : shadowStore;
2011-11-22 14:29:29 +00:00
};
TiddlyWiki.prototype.clear = function() {
this.tiddlers = {};
2011-12-01 10:19:21 +00:00
};
2011-11-22 14:29:29 +00:00
2011-12-01 15:07:10 +00:00
TiddlyWiki.prototype.getTiddler = function(title) {
2011-11-22 14:29:29 +00:00
var t = this.tiddlers[title];
2011-12-03 17:02:34 +00:00
if(t instanceof Tiddler) {
return t;
} else if(this.shadows) {
return this.shadows.getTiddler(title);
} else {
return null;
}
2011-12-01 10:19:21 +00:00
};
2011-11-22 14:29:29 +00:00
2011-12-01 15:07:10 +00:00
TiddlyWiki.prototype.getTiddlerText = function(title) {
2011-12-03 17:02:34 +00:00
var t = this.getTiddler(title);
2011-12-01 15:07:10 +00:00
return t instanceof Tiddler ? t.fields.text : null;
};
2011-11-22 14:29:29 +00:00
TiddlyWiki.prototype.deleteTiddler = function(title) {
delete this.tiddlers[title];
2011-12-01 10:19:21 +00:00
};
2011-11-22 14:29:29 +00:00
2011-12-03 17:02:34 +00:00
TiddlyWiki.prototype.tiddlerExists = function(title) {
2011-12-01 15:07:10 +00:00
return this.tiddlers[title] instanceof Tiddler;
};
2011-12-01 15:07:10 +00:00
2011-11-22 14:29:29 +00:00
TiddlyWiki.prototype.addTiddler = function(tiddler) {
2011-12-01 15:07:10 +00:00
this.tiddlers[tiddler.fields.title] = tiddler;
2011-12-01 10:19:21 +00:00
};
2011-11-22 14:29:29 +00:00
TiddlyWiki.prototype.forEachTiddler = function(callback) {
var t;
for(t in this.tiddlers) {
var tiddler = this.tiddlers[t];
if(tiddler instanceof Tiddler)
2011-11-22 14:29:29 +00:00
callback.call(this,t,tiddler);
}
2011-12-01 10:19:21 +00:00
};
2011-11-22 14:29:29 +00:00
2011-12-01 10:19:21 +00:00
exports.TiddlyWiki = TiddlyWiki;