1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-23 18:17:20 +00:00

Require confirmation before abandoning edits

Fixes #544
This commit is contained in:
Jermolene 2014-04-12 14:15:49 +01:00
parent 400ab3b3c5
commit 3afa26b9a3
2 changed files with 17 additions and 4 deletions

View File

@ -3,6 +3,7 @@ title: $:/language/
ClassicWarning/Hint: This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See http://tiddlywiki.com/static/Upgrading.html for more details. ClassicWarning/Hint: This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See http://tiddlywiki.com/static/Upgrading.html for more details.
ClassicWarning/Upgrade/Caption: upgrade ClassicWarning/Upgrade/Caption: upgrade
CloseAll/Button: close all CloseAll/Button: close all
ConfirmCancelTiddler: Do you wish to discard changes to the tiddler "<$text text=<<title>>/>"?
ConfirmDeleteTiddler: Do you wish to delete the tiddler "<$text text=<<title>>/>"? ConfirmDeleteTiddler: Do you wish to delete the tiddler "<$text text=<<title>>/>"?
ConfirmOverwriteTiddler: Do you wish to overwrite the tiddler "<$text text=<<title>>/>"? ConfirmOverwriteTiddler: Do you wish to overwrite the tiddler "<$text text=<<title>>/>"?
InvalidFieldName: Illegal characters in field name "<$text text=<<fieldName>>/>". Fields can only contain lowercase letters and the characters underscore (`_`), hyphen (`-`) and period (`.`) InvalidFieldName: Illegal characters in field name "<$text text=<<fieldName>>/>". Fields can only contain lowercase letters and the characters underscore (`_`), hyphen (`-`) and period (`.`)

View File

@ -333,11 +333,23 @@ NavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {
originalTitle = draftTiddler.fields["draft.of"], originalTitle = draftTiddler.fields["draft.of"],
storyList = this.getStoryList(); storyList = this.getStoryList();
if(draftTiddler && originalTitle) { if(draftTiddler && originalTitle) {
// Ask for confirmation if the tiddler text has changed
var isConfirmed = true;
if(this.wiki.getTiddlerText(draftTitle) !== this.wiki.getTiddlerText(originalTitle)) {
isConfirmed = confirm($tw.language.getString(
"ConfirmCancelTiddler",
{variables:
{title: draftTitle}
}
));
}
// Remove the draft tiddler // Remove the draft tiddler
this.wiki.deleteTiddler(draftTitle); if(isConfirmed) {
this.replaceFirstTitleInStory(storyList,draftTitle,originalTitle); this.wiki.deleteTiddler(draftTitle);
this.addToHistory(originalTitle,event.navigateFromClientRect); this.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);
this.saveStoryList(storyList); this.addToHistory(originalTitle,event.navigateFromClientRect);
this.saveStoryList(storyList);
}
} }
return false; return false;
}; };