Smarter cancel edit behaviour

If we cancel editing a tiddler that doesn’t exist, then we no longer
show the resulting missing tiddler.
print-window-tiddler
Jermolene 2014-11-09 21:47:48 +00:00
rodzic 3b08b5e9dd
commit 1dfa6f369b
1 zmienionych plików z 9 dodań i 4 usunięć

Wyświetl plik

@ -338,11 +338,12 @@ NavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {
var draftTitle = event.param || event.tiddlerTitle,
draftTiddler = this.wiki.getTiddler(draftTitle),
originalTitle = draftTiddler.fields["draft.of"],
originalTiddler = this.wiki.getTiddler(originalTitle),
storyList = this.getStoryList();
if(draftTiddler && originalTitle) {
// Ask for confirmation if the tiddler text has changed
var isConfirmed = true;
if(this.wiki.getTiddlerText(draftTitle) !== this.wiki.getTiddlerText(originalTitle)) {
if(this.wiki.isDraftModified(draftTitle)) {
isConfirmed = confirm($tw.language.getString(
"ConfirmCancelTiddler",
{variables:
@ -353,8 +354,12 @@ NavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {
// Remove the draft tiddler
if(isConfirmed) {
this.wiki.deleteTiddler(draftTitle);
if(originalTiddler) {
this.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);
this.addToHistory(originalTitle,event.navigateFromClientRect);
} else {
this.removeTitleFromStory(storyList,draftTitle);
}
this.saveStoryList(storyList);
}
}