Fixed ordering of attributes in tiddler <DIV>s

To match the ordering produced by TiddlyWiki
print-window-tiddler
Jeremy Ruston 2011-12-03 13:01:24 +00:00
rodzic b07d518425
commit 6ef4fbf0ed
1 zmienionych plików z 28 dodań i 23 usunięć

Wyświetl plik

@ -46,34 +46,39 @@ tiddlerOutput.outputTiddler = function(tid) {
Output a tiddler as an HTML <DIV>
out - array to push the output strings
tid - the tiddler to be output
options - options:
omitPrecedingLineFeed - determines if a linefeed is inserted between the <PRE> tag and the text
The fields are in the order title, creator, modifier, created, modified, tags, followed by any others
*/
tiddlerOutput.outputTiddlerDiv = function(tid) {
var result = [],
outputAttribute = function(name,value) {
result.push(" " + name + "=\"" + value + "\"");
attributes = {},
outputAttribute = function(name,transform,dontDelete) {
if(name in attributes) {
var value = attributes[name];
if(transform)
value = transform(value);
result.push(" " + name + "=\"" + value + "\"");
if(!dontDelete) {
delete attributes[name];
}
}
};
result.push("<div");
for(var t in tid.fields) {
switch(t) {
case "text":
// Ignore the text field
break;
case "tags":
// Output tags as a list
outputAttribute(t,tiddlerOutput.stringifyTags(tid.fields.tags));
break;
case "modified":
case "created":
// Output dates in YYYYMMDDHHMMSS
outputAttribute(t,utils.convertToYYYYMMDDHHMM(tid.fields[t]));
break;
default:
// Output other attributes raw
outputAttribute(t,tid.fields[t]);
break;
}
attributes[t] = tid.fields[t];
}
if(attributes.text) {
delete attributes.text;
}
result.push("<div");
// Output the standard attributes in the correct order
outputAttribute("title");
outputAttribute("creator");
outputAttribute("modifier");
outputAttribute("created", function(v) {return utils.convertToYYYYMMDDHHMM(v)});
outputAttribute("modified", function(v) {return utils.convertToYYYYMMDDHHMM(v)});
outputAttribute("tags", function(v) {return tiddlerOutput.stringifyTags(v)});
// Output any other attributes
for(t in attributes) {
outputAttribute(t,null,true);
}
result.push(">\n<pre>");
result.push(utils.htmlEncode(tid.fields.text));