|
@@ -37,6 +37,16 @@ function closeStagPopup(_noEvent = false) {
|
|
|
closeStagPopup(true);
|
|
|
}
|
|
|
}
|
|
|
+ else {
|
|
|
+ if(popup.is('[update-parent]')) {
|
|
|
+ if(stagPopupsQueue.length) {
|
|
|
+ refreshDynamicStagPopup();
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ fastReload()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
// if all closed
|
|
|
if(!stagPopupsQueue.length) {
|
|
|
$('html, body').removeClass('no-scroll');
|
|
@@ -47,6 +57,53 @@ function closeStagPopup(_noEvent = false) {
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
+function openDynamicStagPopup(url, initer, title, updateParent) {
|
|
|
+ url += (url.indexOf('?') !== -1 ? '&' : '?') + 'popupmode=1';
|
|
|
+ showMask();
|
|
|
+ window.noMc = true;
|
|
|
+ $.get(url, (_data) => {
|
|
|
+ let popup = $('.dynamic-popup[stag-popup-key="' + url + '"]');
|
|
|
+ if(!popup.length) {
|
|
|
+ $('main.stag-content').append(
|
|
|
+ '<div class="stag-popup stag-popup-lg dynamic-popup mcp-theme-1" stag-popup-key="' + url + '">' +
|
|
|
+ '<div class="stag-popup-content p-0">' +
|
|
|
+ '<h3 class="stag-popup-title mb-0 mt-3 mx-3 pb-0 border-bottom-0"><span></span>' +
|
|
|
+ '<a href="#" class="ml-auto text-secondary" onclick="return closeStagPopup()"><i class="fa fa-times-circle"></i></a>\n' +
|
|
|
+ '</h3>' +
|
|
|
+ '<div class="stag-popup-content-inner"></div>' +
|
|
|
+ '</div>' +
|
|
|
+ '</div>'
|
|
|
+ );
|
|
|
+ popup = $('.dynamic-popup[stag-popup-key="' + url + '"]');
|
|
|
+ }
|
|
|
+ popup.attr('mc-initer', initer);
|
|
|
+ popup.find('.stag-popup-title>span').text(title);
|
|
|
+ popup.find('.stag-popup-content-inner').html(_data);
|
|
|
+ if(updateParent) {
|
|
|
+ popup.attr('update-parent', 1);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ popup.removeAttr('update-parent');
|
|
|
+ }
|
|
|
+ showStagPopup(url);
|
|
|
+ if(initer) runMCInitializer(initer);
|
|
|
+ hideMask();
|
|
|
+ });
|
|
|
+}
|
|
|
+function refreshDynamicStagPopup() {
|
|
|
+ if(!stagPopupsQueue.length) return;
|
|
|
+ let popup = stagPopupsQueue[stagPopupsQueue.length - 1];
|
|
|
+ if(popup.is('.dynamic-popup')) {
|
|
|
+ showMask();
|
|
|
+ window.noMc = true;
|
|
|
+ let url = popup.attr('stag-popup-key'),
|
|
|
+ initer = popup.attr('mc-initer');
|
|
|
+ $.get(url, (_data) => {
|
|
|
+ if(initer) runMCInitializer(initer);
|
|
|
+ hideMask();
|
|
|
+ });
|
|
|
+ }
|
|
|
+}
|
|
|
(function() {
|
|
|
window.initStagPopupEvents = function () {
|
|
|
$(document)
|
|
@@ -68,6 +125,14 @@ function closeStagPopup(_noEvent = false) {
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ $(document)
|
|
|
+ .off('click.open-in-stag-popup', 'a[open-in-stag-popup]')
|
|
|
+ .on('click.open-in-stag-popup', 'a[open-in-stag-popup]', function() {
|
|
|
+ openDynamicStagPopup(this.href, $(this).attr('mc-initer'), $(this).attr('title'), $(this).is('[update-parent]'));
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+
|
|
|
}
|
|
|
addMCInitializer('stag-popups', window.initStagPopupEvents);
|
|
|
})();
|