mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Adding PromptOnNavigate option.
This commit is contained in:
@@ -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 =
|
||||
'<li><div data-id="{contentItemId}" class="media-library-picker-item"><div class="thumbnail">{thumbnail}<div class="overlay"><h3>{title}</h3></div></div></div><a href="#" data-id="{contentItemId}" class="media-library-picker-remove">' + removeText + '</a>' + pipe + '<a href="{editLink}?ReturnUrl=' + returnUrl + '">' + editText + '</a></li>';
|
||||
@@ -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();
|
||||
|
||||
@@ -9,4 +9,5 @@
|
||||
Multiple: settings.Multiple,
|
||||
Required: settings.Required,
|
||||
Hint: settings.Hint,
|
||||
ContentItems: Model.ContentItems)
|
||||
ContentItems: Model.ContentItems,
|
||||
PromptOnNavigate: true)
|
||||
@@ -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<ContentItem>)Model.ContentItems ?? Enumerable.Empty<ContentItem>();
|
||||
var contentManager = WorkContext.Resolve<IContentManager>();
|
||||
}
|
||||
@@ -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)">
|
||||
<label @if (required) { <text> class="required" </text> }>@displayName</label>
|
||||
data-return-url="@HttpUtility.JavaScriptStringEncode(Request.RawUrl)"
|
||||
data-prompt-on-navigate="@promptOnNavigate.ToString().ToLower()">
|
||||
<label @if (required) { <text> class="required" </text> }>@displayName</label>
|
||||
<div class="message message-Warning media-library-picker-message">@T("You need to save your changes.")</div>
|
||||
<div class="items media-library-picker" summary="@displayName">
|
||||
<ul>
|
||||
|
||||
Reference in New Issue
Block a user