http://trac.tiddlywiki.org/changeset/11290
MartinBudden
2009-12-02 06:42:19 -0800 (Wed, 02 Dec 2009)
44
Ticket #471
Add 'creator' field to tiddlers
---------------
U Trunk/core/js/Story.js
U Trunk/core/js/TW21Loader.js
U Trunk/core/js/TW21Saver.js
U Trunk/core/js/Tiddler.js
U Trunk/core/js/TiddlerFields.js
U Trunk/core/js/TiddlyWiki.js
---------------
Modified: Trunk/core/js/Story.js
===================================================================
--- Trunk/core/js/Story.js 2009-12-02 09:56:33 UTC (rev 11289)
+++ Trunk/core/js/Story.js 2009-12-02 14:42:19 UTC (rev 11290)
@@ -166,7 +166,7 @@
t.created = new Date();
if(!t.modified)
t.modified = t.created;
-
store.saveTiddler(t.title,t.title,t.text,t.modifier,t.modified,t.tags,t.fields,true,t.created);
+
store.saveTiddler(t.title,t.title,t.text,t.modifier,t.modified,t.tags,t.fields,true,t.created,t.creator);
autoSaveChanges();
} else {
story.refreshTiddler(context.title,null,true);
@@ -573,8 +573,10 @@
var fields = {};
this.gatherSaveFields(tiddlerElem,fields);
var newTitle = fields.title || title;
- if(!store.tiddlerExists(newTitle))
+ if(!store.tiddlerExists(newTitle)) {
newTitle = newTitle.trim();
+ var creator = config.options.txtUserName;
+ }
if(store.tiddlerExists(newTitle) && newTitle != title) {
if(!confirm(config.messages.overwriteWarning.format([newTitle.toString()])))
return null;
@@ -591,7 +593,9 @@
minorUpdate = false;
var newDate = new Date();
if(store.tiddlerExists(title)) {
- var extendedFields = store.fetchTiddler(title).fields;
+ var t = store.fetchTiddler(title);
+ var extendedFields = t.fields;
+ creator = t.creator;
} else {
extendedFields = merge({},config.defaultCustomFields);
}
@@ -599,7 +603,7 @@
if(!TiddlyWiki.isStandardField(n))
extendedFields[n] = fields[n];
}
- var tiddler =
store.saveTiddler(title,newTitle,fields.text,minorUpdate ? undefined :
config.options.txtUserName,minorUpdate ? undefined :
newDate,fields.tags,extendedFields);
+ var tiddler =
store.saveTiddler(title,newTitle,fields.text,minorUpdate ? undefined :
config.options.txtUserName,minorUpdate ? undefined :
newDate,fields.tags,extendedFields,null,null,creator);
autoSaveChanges(null,[tiddler]);
return newTitle;
}
Modified: Trunk/core/js/TW21Loader.js
===================================================================
--- Trunk/core/js/TW21Loader.js 2009-12-02 09:56:33 UTC (rev 11289)
+++ Trunk/core/js/TW21Loader.js 2009-12-02 14:42:19 UTC (rev 11290)
@@ -34,6 +34,7 @@
}
text = e.innerHTML.replace(/\r/mg,"").htmlDecode();
}
+ var creator = node.getAttribute("creator");
var modifier = node.getAttribute("modifier");
var c = node.getAttribute("created");
var m = node.getAttribute("modified");
@@ -48,7 +49,7 @@
fields[name] = attrs[i].value.unescapeLineBreaks();
}
}
- tiddler.assign(title,text,modifier,modified,tags,created,fields);
+
tiddler.assign(title,text,modifier,modified,tags,created,fields,creator);
return tiddler;
};
Modified: Trunk/core/js/TW21Saver.js
===================================================================
--- Trunk/core/js/TW21Saver.js 2009-12-02 09:56:33 UTC (rev 11289)
+++ Trunk/core/js/TW21Saver.js 2009-12-02 14:42:19 UTC (rev 11290)
@@ -21,7 +21,8 @@
},true);
var created = tiddler.created;
var modified = tiddler.modified;
- var attributes = tiddler.modifier ? ' modifier="' +
tiddler.modifier.htmlEncode() + '"' : "";
+ var attributes = tiddler.creator ? ' creator="' +
tiddler.creator.htmlEncode() + '"' : "";
+ attributes += tiddler.modifier ? ' modifier="' +
tiddler.modifier.htmlEncode() + '"' : "";
attributes += (usePre && created == version.date) ? "" :'
created="' + created.convertToYYYYMMDDHHMM() + '"';
attributes += (usePre && modified == created) ? "" : '
modified="' + modified.convertToYYYYMMDDHHMM() +'"';
var tags = tiddler.getTags();
Modified: Trunk/core/js/Tiddler.js
===================================================================
--- Trunk/core/js/Tiddler.js 2009-12-02 09:56:33 UTC (rev 11289)
+++ Trunk/core/js/Tiddler.js 2009-12-02 14:42:19 UTC (rev 11290)
@@ -6,6 +6,7 @@
{
this.title = title;
this.text = "";
+ this.creator = null;
this.modifier = null;
this.created = new Date();
this.modified = this.created;
@@ -67,15 +68,15 @@
};
// Change the text and other attributes of a tiddler
-Tiddler.prototype.set =
function(title,text,modifier,modified,tags,created,fields)
+Tiddler.prototype.set =
function(title,text,modifier,modified,tags,created,fields,creator)
{
- this.assign(title,text,modifier,modified,tags,created,fields);
+ this.assign(title,text,modifier,modified,tags,created,fields,creator);
this.changed();
return this;
};
// Change the text and other attributes of a tiddler without triggered a
tiddler.changed() call
-Tiddler.prototype.assign =
function(title,text,modifier,modified,tags,created,fields)
+Tiddler.prototype.assign =
function(title,text,modifier,modified,tags,created,fields,creator)
{
if(title != undefined)
this.title = title;
@@ -85,6 +86,8 @@
this.modifier = modifier;
if(modified != undefined)
this.modified = modified;
+ if(creator != undefined)
+ this.creator = creator;
if(created != undefined)
this.created = created;
if(fields != undefined)
Modified: Trunk/core/js/TiddlerFields.js
===================================================================
--- Trunk/core/js/TiddlerFields.js 2009-12-02 09:56:33 UTC (rev 11289)
+++ Trunk/core/js/TiddlerFields.js 2009-12-02 14:42:19 UTC (rev 11290)
@@ -51,6 +51,7 @@
"text": new StringFieldAccess("text"),
"modifier": new StringFieldAccess("modifier"),
"modified": new DateFieldAccess("modified"),
+ "creator": new StringFieldAccess("creator"),
"created": new DateFieldAccess("created"),
"tags": new LinksFieldAccess("tags")
};
Modified: Trunk/core/js/TiddlyWiki.js
===================================================================
--- Trunk/core/js/TiddlyWiki.js 2009-12-02 09:56:33 UTC (rev 11289)
+++ Trunk/core/js/TiddlyWiki.js 2009-12-02 14:42:19 UTC (rev 11290)
@@ -316,17 +316,18 @@
//# {{{config.defaultCustomFields}}} as fallback.
//#
//# N.B.: Does not trigger [[autoSaveChanges]].
-TiddlyWiki.prototype.saveTiddler =
function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created)
+TiddlyWiki.prototype.saveTiddler =
function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created,creator)
{
var tiddler = this.fetchTiddler(title);
if(tiddler) {
created = created || tiddler.created; // Preserve created date
+ creator = creator || tiddler.creator;
this.deleteTiddler(title);
} else {
created = created || modified;
tiddler = new Tiddler();
}
- tiddler.set(newTitle,newBody,modifier,modified,tags,created,fields);
+
tiddler.set(newTitle,newBody,modifier,modified,tags,created,fields,creator);
this.addTiddler(tiddler);
if(clearChangeCount)
tiddler.clearChangeCount();
--
You received this message because you are subscribed to the Google Groups
"TiddlyWikiDev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/tiddlywikidev?hl=en.