diff --git a/src/Orchard.Web/Modules/Orchard.ContentPicker/Orchard.ContentPicker.csproj b/src/Orchard.Web/Modules/Orchard.ContentPicker/Orchard.ContentPicker.csproj index 49094ddf4..cf4fe9fa3 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentPicker/Orchard.ContentPicker.csproj +++ b/src/Orchard.Web/Modules/Orchard.ContentPicker/Orchard.ContentPicker.csproj @@ -72,6 +72,7 @@ + diff --git a/src/Orchard.Web/Modules/Orchard.ContentPicker/ResourceManifest.cs b/src/Orchard.Web/Modules/Orchard.ContentPicker/ResourceManifest.cs index 9e3346f47..ec420aac9 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentPicker/ResourceManifest.cs +++ b/src/Orchard.Web/Modules/Orchard.ContentPicker/ResourceManifest.cs @@ -5,6 +5,7 @@ namespace Orchard.ContentPicker { public void BuildManifests(ResourceManifestBuilder builder) { var manifest = builder.Add(); manifest.DefineScript("ContentPicker").SetUrl("ContentPicker.js", "ContentPicker.js").SetDependencies("jQuery"); + manifest.DefineScript("RecentContentTab").SetUrl("RecentContentTab.js", "RecentContentTab.js").SetDependencies("jQuery"); } } } diff --git a/src/Orchard.Web/Modules/Orchard.ContentPicker/Scripts/ContentPicker.js b/src/Orchard.Web/Modules/Orchard.ContentPicker/Scripts/ContentPicker.js index c60c6f6c3..609978b65 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentPicker/Scripts/ContentPicker.js +++ b/src/Orchard.Web/Modules/Orchard.ContentPicker/Scripts/ContentPicker.js @@ -80,14 +80,26 @@ addButton.click(function() { addButton.trigger("orchard-admin-contentpicker-open", { callback: function(data) { - var tmpl = template.replace( /\{contentItemId\}/g , data.id) - .replace( /\{edit-link\}/g , data.editLink) - .replace( /\{status-text}/g , data.published? "" : " - " + notPublishedText); - var content = $(tmpl); - $(self).find('table.content-picker tbody').append(content); + if (Array.isArray && Array.isArray(data)) { + data.forEach(function (d) { + var tmpl = template.replace(/\{contentItemId\}/g, d.id) + .replace(/\{edit-link\}/g, d.editLink) + .replace(/\{status-text}/g, d.published ? "" : " - " + notPublishedText); + var content = $(tmpl); + $(self).find('table.content-picker tbody').append(content); + }); + refreshIds(); + $(self).find('.content-picker-message').show(); + } else { + var tmpl = template.replace(/\{contentItemId\}/g, data.id) + .replace(/\{edit-link\}/g, data.editLink) + .replace(/\{status-text}/g, data.published ? "" : " - " + notPublishedText); + var content = $(tmpl); + $(self).find('table.content-picker tbody').append(content); - refreshIds(); - $(self).find('.content-picker-message').show(); + refreshIds(); + $(self).find('.content-picker-message').show(); + } }, baseUrl: baseUrl, part: partName, diff --git a/src/Orchard.Web/Modules/Orchard.ContentPicker/Scripts/RecentContentTab.js b/src/Orchard.Web/Modules/Orchard.ContentPicker/Scripts/RecentContentTab.js new file mode 100644 index 000000000..6c675da5f --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.ContentPicker/Scripts/RecentContentTab.js @@ -0,0 +1,29 @@ +jQuery(function ($) { + + Initialize = function () { + + $('.button.addSelected').on('click', function () { + var selectedItems = $('.content-picker-itemCheck:checked'); + var itemsToAdd = new Array(); + $.each(selectedItems, function (index, item) { + var related = $(item).siblings('.content-picker-item').children('.related'); + var data = { + id: related.data("id"), + displayText: related.data("display-text"), + editLink: related.data("edit-link"), + editUrl: related.data("edit-url"), + adminUrl: related.data("admin-url"), + displayLink: related.data("display-link"), + published: related.data("published") + }; + return itemsToAdd.push(data); + }); + window.opener.jQuery[query("callback")](itemsToAdd); + window.close(); + }); + }; + + $(document).ready(function () { + return Initialize(); + }); +}); \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ContentPicker/Styles/ContentPicker.css b/src/Orchard.Web/Modules/Orchard.ContentPicker/Styles/ContentPicker.css index 0b501787a..0e7e9a6b6 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentPicker/Styles/ContentPicker.css +++ b/src/Orchard.Web/Modules/Orchard.ContentPicker/Styles/ContentPicker.css @@ -19,4 +19,25 @@ body { padding: 18px; background: white; border: 1px solid #E4E5E6; +} + +.content-picker-item +{ + margin-left: 20px; +} + +.content-picker-itemCheck +{ + position:absolute; + +} + +.addSelected +{ + margin-bottom: 10px; +} + +.page-size-options > div:first-child +{ + display:inline-block; } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ContentPicker/Views/ContentPicker.SummaryAdmin.cshtml b/src/Orchard.Web/Modules/Orchard.ContentPicker/Views/ContentPicker.SummaryAdmin.cshtml index cca2889ac..168b4afde 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentPicker/Views/ContentPicker.SummaryAdmin.cshtml +++ b/src/Orchard.Web/Modules/Orchard.ContentPicker/Views/ContentPicker.SummaryAdmin.cshtml @@ -3,27 +3,30 @@ ContentItem contentItem = Model.ContentItem; }
-
- @**@ -

@Html.ItemDisplayText(contentItem)

-
@contentItem.TypeDefinition.DisplayName
- @if (Model.Header != null) { -
@Display(Model.Header)
- } - @if (Model.Meta != null) { - + +
+
+ @**@ +

@Html.ItemDisplayText(contentItem)

-
@contentItem.TypeDefinition.DisplayName
+ @if (Model.Header != null) { +
@Display(Model.Header)
+ } + @if (Model.Meta != null) { + + } +
+ + @if (Model.Content != null) { +
@Display(Model.Content)
}
- - @if (Model.Content != null) { -
@Display(Model.Content)
- }
diff --git a/src/Orchard.Web/Modules/Orchard.ContentPicker/Views/RecentContentTab.cshtml b/src/Orchard.Web/Modules/Orchard.ContentPicker/Views/RecentContentTab.cshtml index 382ad3a5b..c1b53aa0f 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentPicker/Views/RecentContentTab.cshtml +++ b/src/Orchard.Web/Modules/Orchard.ContentPicker/Views/RecentContentTab.cshtml @@ -1,5 +1,7 @@ @using Orchard.Core.Contents.ViewModels; @{ + Script.Include("RecentContentTab.js"); + var typeDisplayName = Model.TypeDisplayName; var pageTitle = T("Recent Content"); @@ -8,6 +10,7 @@ } Layout.Title = pageTitle; + }
@@ -33,6 +36,7 @@
@Display(Model.ContentItems)
+ @Html.Link(T("Add Selected").Text, "#", new { @class = "button addSelected"}) @Display(Model.Pager) }