diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Scripts/media-library-picker.js b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Scripts/media-library-picker.js
index e451a07bd..27110b0c0 100644
--- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Scripts/media-library-picker.js
+++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Scripts/media-library-picker.js
@@ -10,6 +10,7 @@
var pipe = element.data("pipe");
var returnUrl = element.data("return-url");
var addUrl = element.data("add-url");
+ var promptOnNavigate = element.data("prompt-on-navigate");
var addButton = element.find(".button.add");
var template =
'
' + removeText + '' + pipe + '' + editText + '';
@@ -30,21 +31,23 @@
addButton.show();
}
};
-
- window.mediaLibraryDirty = false;
- var showSaveMsg = function() {
- element.find('.media-library-picker-message').show();
- window.mediaLibraryDirty = true;
- };
- if (!window.mediaLibraryNavigateAway) {
- $(window).on("beforeunload", window.mediaLibraryNavigateAway = function() {
- if (window.mediaLibraryDirty) {
- return dirtyText;
- }
- });
- element.closest("form").on("submit", function() {
- window.mediaLibraryDirty = false;
- });
+
+ if (promptOnNavigate) {
+ window.mediaLibraryDirty = false;
+ var showSaveMsg = function() {
+ element.find('.media-library-picker-message').show();
+ window.mediaLibraryDirty = true;
+ };
+ if (!window.mediaLibraryNavigateAway) {
+ $(window).on("beforeunload", window.mediaLibraryNavigateAway = function() {
+ if (window.mediaLibraryDirty) {
+ return dirtyText;
+ }
+ });
+ element.closest("form").on("submit", function() {
+ window.mediaLibraryDirty = false;
+ });
+ }
}
refreshIds();
diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/EditorTemplates/Fields/MediaLibraryPicker.Edit.cshtml b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/EditorTemplates/Fields/MediaLibraryPicker.Edit.cshtml
index 33ecc2ecd..e7ff51031 100644
--- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/EditorTemplates/Fields/MediaLibraryPicker.Edit.cshtml
+++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/EditorTemplates/Fields/MediaLibraryPicker.Edit.cshtml
@@ -9,4 +9,5 @@
Multiple: settings.Multiple,
Required: settings.Required,
Hint: settings.Hint,
- ContentItems: Model.ContentItems)
\ No newline at end of file
+ ContentItems: Model.ContentItems,
+ PromptOnNavigate: true)
\ No newline at end of file
diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/MediaLibraryPicker.cshtml b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/MediaLibraryPicker.cshtml
index b5a7bb466..d5dc16ee5 100644
--- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/MediaLibraryPicker.cshtml
+++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/MediaLibraryPicker.cshtml
@@ -13,6 +13,7 @@
var multiple = (bool)(Model.Multiple ?? false);
var required = (bool)(Model.Required ?? false);
var hint = (string) Model.Hint;
+ var promptOnNavigate = (bool) (Model.PromptOnNavigate ?? true);
var contentItems = (IEnumerable)Model.ContentItems ?? Enumerable.Empty();
var contentManager = WorkContext.Resolve();
}
@@ -25,8 +26,9 @@
data-dirty-text="@T("You have unsaved changes. Please only accept to leave if you don't mind losing those changes.")"
data-pipe="@T(" | ")"
data-add-url="@HttpUtility.JavaScriptStringEncode(Url.Action("Index", "Admin", new { area = "Orchard.MediaLibrary", dialog = true }))"
- data-return-url="@HttpUtility.JavaScriptStringEncode(Request.RawUrl)">
-
+ data-return-url="@HttpUtility.JavaScriptStringEncode(Request.RawUrl)"
+ data-prompt-on-navigate="@promptOnNavigate.ToString().ToLower()">
+
@T("You need to save your changes.")