diff --git a/src/Orchard.Web/Modules/Orchard.ContentPicker/Scripts/SelectableContentTab.js b/src/Orchard.Web/Modules/Orchard.ContentPicker/Scripts/SelectableContentTab.js index 2bc82e196..3e230a5b8 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentPicker/Scripts/SelectableContentTab.js +++ b/src/Orchard.Web/Modules/Orchard.ContentPicker/Scripts/SelectableContentTab.js @@ -1,12 +1,18 @@ 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'); + $('.content-picker-itemCheck').each(function () { + var related = $(this).siblings('.content-picker-item').children('.related'); + + if (window.sessionStorage.getItem(related.data("id")) != null) { + $(this).prop('checked', true); + } + }); + + $('.content-picker-itemCheck').change(function () { + var related = $(this).siblings('.content-picker-item').children('.related'); + + if (this.checked) { var data = { id: related.data("id"), displayText: related.data("display-text"), @@ -16,13 +22,27 @@ displayLink: related.data("display-link"), published: related.data("published") }; - return itemsToAdd.push(data); - }); + + window.sessionStorage.setItem(related.data("id"), JSON.stringify(data)); + } else { + window.sessionStorage.removeItem(related.data("id")); + } + }); + + $('.button.addSelected').on('click', function () { + var itemsToAdd = new Array(); + for (var i = 0; i < sessionStorage.length; i++) { + var data = window.sessionStorage.getItem(sessionStorage.key(i)); + itemsToAdd.push(JSON.parse(data)); + } + window.sessionStorage.clear(); window.opener.jQuery[query("callback")](itemsToAdd); window.close(); }); + $('.content-picker-SelectAll').on('click', function () { $('.content-picker-itemCheck').prop('checked', $(this).prop("checked")); + $('.content-picker-itemCheck').change(); }); };