deblan.io-murph/assets/js/admin/modal.js

38 lines
1 KiB
JavaScript
Raw Normal View History

const $ = require('jquery');
module.exports = function() {
$('body').on('click', '*[data-modal]', (e) => {
e.preventDefault();
e.stopPropagation();
let container = $('#modal-container');
2021-05-24 18:45:23 +02:00
const body = $('body')
if (!container.length) {
container = $('<div id="modal-container" class="modal">');
2021-05-24 18:45:23 +02:00
body.append(container);
}
2021-05-24 18:45:23 +02:00
const loader = $('<div style="position: absolute; top: 25vh; left: 50vw; z-index: 2000">')
loader.html('<div class="spinner-border text-primary" role="status"><span class="sr-only">Loading...</span></div>')
body.append(loader)
2021-05-25 09:59:29 +02:00
container.html('');
const url = $(e.target).attr('data-modal');
2021-05-25 09:59:29 +02:00
$(container).modal('show');
container.load(url, function() {
2021-05-24 18:45:23 +02:00
loader.remove()
});
});
const urlParams = new URLSearchParams(window.location.search)
const dataModal = urlParams.get('data-modal')
if (dataModal) {
$('*[data-modal="' + dataModal + '"]').first().click();
}
}