1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-23 10:07:19 +00:00

Move isModified from Tiddler to Wiki

Replace this with a $tw.wiki.isModifiedTiddler(title) as part of the
wiki object. This allows it to be used outside of the current Wiki which
can change.
This commit is contained in:
Devin Weaver 2014-04-27 16:31:00 -04:00
parent 23a71b433e
commit a505b6ffc0
2 changed files with 17 additions and 17 deletions

View File

@ -795,22 +795,6 @@ $tw.Tiddler.prototype.isDraft = function() {
return this.hasField("draft.of"); return this.hasField("draft.of");
}; };
$tw.Tiddler.prototype.isModified = function() {
if(!this.isDraft()) {
return false;
}
var ignoredFields = ["created", "modified", "title", "draft.title", "draft.of", "tags"],
tiddler = this,
origTiddler = $tw.wiki.getTiddler(this.fields["draft.of"]);
if(!$tw.utils.isArrayEqual(tiddler.fields.tags,origTiddler.fields.tags)) {
return true;
}
return !Object.keys(tiddler.fields).every(function(field) {
if(ignoredFields.indexOf(field) >= 0) { return true; }
return tiddler.fields[field] === origTiddler.fields[field];
});
};
/* /*
Register and install the built in tiddler field modules Register and install the built in tiddler field modules
*/ */
@ -1140,6 +1124,22 @@ $tw.Wiki.prototype.deserializeTiddlers = function(type,text,srcFields) {
} }
}; };
$tw.Wiki.prototype.isModifiedTiddler = function(title) {
var tiddler = this.getTiddler(title);
if(!tiddler.isDraft()) {
return false;
}
var ignoredFields = ["created", "modified", "title", "draft.title", "draft.of", "tags"],
origTiddler = this.getTiddler(tiddler.fields["draft.of"]);
if(!$tw.utils.isArrayEqual(tiddler.fields.tags,origTiddler.fields.tags)) {
return true;
}
return !Object.keys(tiddler.fields).every(function(field) {
if(ignoredFields.indexOf(field) >= 0) { return true; }
return tiddler.fields[field] === origTiddler.fields[field];
});
};
/* /*
Register the built in tiddler deserializer modules Register the built in tiddler deserializer modules
*/ */

View File

@ -315,7 +315,7 @@ NavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {
{title: draftTitle} {title: draftTitle}
} }
)); ));
} else if(!tiddler.isModified()) { } else if(!this.wiki.isModifiedTiddler(title)) {
event.type = "tw-cancel-tiddler"; event.type = "tw-cancel-tiddler";
this.dispatchEvent(event); this.dispatchEvent(event);
} else if(isConfirmed) { } else if(isConfirmed) {