Files
penracourses/static/filer/js/addons/popup_handling.js
T
2022-05-20 20:26:02 +01:00

61 lines
2.1 KiB
JavaScript

'use strict';
/* global django */
// as of Django 2.x we need to check where jQuery is
var djQuery = window.$;
if (django.jQuery) {
djQuery = django.jQuery;
}
(function ($) {
function windowname_to_id(text) {
text = text.replace(/__dot__/g, '.');
text = text.replace(/__dash__/g, '-');
return text;
}
window.dismissPopupAndReload = function (win) {
document.location.reload();
win.close();
};
window.dismissRelatedImageLookupPopup = function (win, chosenId, chosenThumbnailUrl, chosenDescriptionTxt) {
var id = windowname_to_id(win.name);
var lookup = $('#' + id);
var container = lookup.closest('.filerFile');
var image = container.find('.thumbnail_img');
var descriptionText = container.find('.description_text');
var clearer = container.find('.filerClearer');
var dropzoneMessage = container.siblings('.dz-message');
var element = container.find(':input');
var oldId = element.value;
element.val(chosenId);
element.closest('.js-filer-dropzone').addClass('js-object-attached');
image.attr('src', chosenThumbnailUrl).removeClass('hidden');
image.removeAttr('srcset'); // would be nicer, but much more complicate to also replace 'srcset'
descriptionText.text(chosenDescriptionTxt);
clearer.removeClass('hidden');
lookup.addClass('related-lookup-change');
dropzoneMessage.addClass('hidden');
if (oldId !== chosenId) {
element.trigger('change');
}
win.close();
};
window.dismissRelatedFolderLookupPopup = function (win, chosenId, chosenName) {
var id = windowname_to_id(win.name);
var clearButton = $('#id_' + id + '_clear');
var input = $('#id_' + id);
var folderName = $('#id_' + id + '_description_txt');
var addFolderButton = $('#' + id);
input.val(chosenId);
folderName.text(chosenName);
clearButton.removeClass('hidden');
addFolderButton.addClass('hidden');
win.close();
};
})(djQuery);