mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-16 23:04:50 +00:00
9612aac296
Now shadow tiddlers are any tiddler whose title starts with "$:/"
68 lines
1.5 KiB
JavaScript
68 lines
1.5 KiB
JavaScript
/*\
|
|
title: $:/core/modules/tiddler.js
|
|
type: application/javascript
|
|
module-type: tiddlermethod
|
|
|
|
Extension methods for the $tw.Tiddler object
|
|
|
|
\*/
|
|
(function(){
|
|
|
|
/*jslint node: true, browser: true */
|
|
/*global $tw: false */
|
|
"use strict";
|
|
|
|
exports.hasTag = function(tag) {
|
|
return this.fields.tags && this.fields.tags.indexOf(tag) !== -1;
|
|
};
|
|
|
|
exports.hasField = function(field) {
|
|
return $tw.utils.hop(this.fields,field);
|
|
};
|
|
|
|
exports.isShadow = function() {
|
|
if(!$tw.utils.hop(this,"shadowFlag")) {
|
|
this.shadowFlag = this.fields.title.indexOf("$:/") === 0;
|
|
}
|
|
return this.shadowFlag;
|
|
};
|
|
|
|
exports.isTemporary = function() {
|
|
return this.fields.title.indexOf("$:/temp/") === 0;
|
|
};
|
|
|
|
exports.getFieldString = function(field) {
|
|
var value = this.fields[field];
|
|
// Check for a missing field
|
|
if(value === undefined) {
|
|
return "";
|
|
}
|
|
// Parse the field with the associated module (if any)
|
|
var fieldModule = $tw.Tiddler.fieldModules[field];
|
|
if(fieldModule) {
|
|
return fieldModule.stringify.call(this,value);
|
|
} else {
|
|
return value.toString();
|
|
}
|
|
};
|
|
|
|
/*
|
|
Get all the fields as a name:value block. Options:
|
|
exclude: an array of field names to exclude
|
|
*/
|
|
exports.getFieldStringBlock = function(options) {
|
|
options = options || {};
|
|
var exclude = options.exclude || [];
|
|
var fields = [];
|
|
for(var field in this.fields) {
|
|
if($tw.utils.hop(this.fields,field)) {
|
|
if(exclude.indexOf(field) === -1) {
|
|
fields.push(field + ": " + this.getFieldString(field));
|
|
}
|
|
}
|
|
}
|
|
return fields.join("\n");
|
|
};
|
|
|
|
})();
|