Allows selected contents to not be lost after changing page (#8248)

Fixes #8247
This commit is contained in:
MarcoViglione-Laser
2019-07-18 21:07:15 +02:00
committed by Sébastien Ros
parent 96ffefd078
commit 927e04b4ad

View File

@@ -1,12 +1,18 @@
jQuery(function ($) {
Initialize = function () {
$('.content-picker-itemCheck').each(function () {
var related = $(this).siblings('.content-picker-item').children('.related');
$('.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');
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();
});
};