mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
97 lines
4.0 KiB
Plaintext
97 lines
4.0 KiB
Plaintext
@using Orchard.Utility.Extensions
|
|
@model Orchard.MediaLibrary.ViewModels.MediaManagerImportViewModel
|
|
@{
|
|
Style.Require("MediaManagerAdmin");
|
|
Layout.Title = T("Media Library");
|
|
|
|
|
|
if (Model.ImageSets != null) {
|
|
foreach (var imageSet in Model.ImageSets) {
|
|
RegisterImageSet("menu." + imageSet, "mediaproviders" /* style */, 16 /* bounding box */);
|
|
}
|
|
}
|
|
|
|
Style.Require("FontAwesome");
|
|
}
|
|
|
|
<div id="media-library-import">
|
|
<div id="media-library-toolbar">
|
|
|
|
<div id="media-library-toolbar-actions">
|
|
<label for="filterMediaType">@if (Model.Replace == null) { <text>@T("Create")</text> } else { <text>@T("Replace")</text> }</label>
|
|
<select id="filterMediaType" name="FilteredMediaType">
|
|
@Html.SelectOption("", true, T("Any").ToString())
|
|
@foreach (var mediaType in Model.MediaTypes) {
|
|
@Html.SelectOption(mediaType.Name, false, mediaType.DisplayName)
|
|
}
|
|
</select>
|
|
|
|
<a href="@Url.Action("Index", "Admin", new { folderPath = Model.FolderPath})" class="button close">@T("Close")</a>
|
|
</div>
|
|
|
|
@Html.ActionLink(T("Media Library").ToString(), "Index", "Admin", new { area = "Orchard.MediaLibrary" }, null)
|
|
@foreach (var folder in Model.FolderPath.Split(new[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries)) {<text> > </text>@folder}
|
|
|
|
</div>
|
|
|
|
<div id="media-library-main">
|
|
<div id="media-library-main-navigation">
|
|
@foreach (var menuItem in Model.Menu)
|
|
{
|
|
string sectionHeaderTextHint = menuItem.Text.TextHint;
|
|
var itemClassName = "navicon-" + sectionHeaderTextHint.HtmlClassify();
|
|
if (Model.Replace == null) {
|
|
<div class="import-provider"><a class="navicon @itemClassName" href="@menuItem.Href/Index?folderPath=@HttpUtility.UrlEncode(Model.FolderPath)">@menuItem.Text</a></div>
|
|
} else {
|
|
<div class="import-provider"><a class="navicon @itemClassName" href="@menuItem.Href/Index?folderPath=@HttpUtility.UrlEncode(Model.FolderPath)&replaceId=@HttpUtility.UrlEncode(Model.Replace.Id.ToString())">@menuItem.Text</a></div>
|
|
}
|
|
}
|
|
</div>
|
|
<div id="media-library-main-list-wrapper">
|
|
<div id="media-library-main-list">
|
|
<iframe id="media-library-main-list-frame"></iframe>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@using (Script.Foot()) {
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
$(function () {
|
|
$("#media-library-main-navigation a").click(function () {
|
|
var self = $(this);
|
|
var href = replaceQueryString(self.attr("href"), "type", getMediaType());
|
|
$("#media-library-main-list-frame").attr("src", href);
|
|
return false;
|
|
});
|
|
|
|
$("#filterMediaType").change(function () {
|
|
var href = $("#media-library-main-list-frame").attr("src");
|
|
href = replaceQueryString(href, 'type', getMediaType());
|
|
$("#media-library-main-list-frame").attr("src", href);
|
|
});
|
|
|
|
// loads the first available link
|
|
$("#media-library-main-navigation a").first().click();
|
|
});
|
|
|
|
|
|
// returns the currently selected preferred media type
|
|
function getMediaType() {
|
|
return $('#filterMediaType').find("option:selected").attr('value');
|
|
}
|
|
|
|
// replaces a specific query parameter in the given url
|
|
function replaceQueryString(url, param, value) {
|
|
value = encodeURIComponent(value);
|
|
var re = new RegExp("([?|&])" + param + "=.*?(&|$)", "i");
|
|
if (url.match(re))
|
|
return url.replace(re, '$1' + param + "=" + value + '$2');
|
|
else
|
|
return url + '&' + param + "=" + value;
|
|
}
|
|
|
|
//]]>
|
|
</script>
|
|
} |