| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- $.fn.triggerHandler = $.fn.trigger;
- ['registerRender', 'fetchContent', 'loadTable', 'loadPage', 'postAndLoadPage', 'loadCurrentPage', 'parseSelector', 'toggleLoading', 'openUrl', 'openPage', 'goBack', 'registerTimer', 'loadModal', 'loadTarget', 'loadComponent', 'loadPartial', 'reloadPage', 'selectLang', 'selectTheme', 'selectVision', changeAppLang, 'changeAppTheme', 'setImageSize', 'showMoreImage', 'autoLoad', 'loadForm'].forEach(function(name){window[name] = parent.parent[name];});
- const zuiHideModal = zui.Modal.hide;
- const $frame = parent.$('iframe[name="' + window.frameElement.name + '"]');
- zui.Modal.hide = function(selector)
- {
- if(!selector) return parent.$.closeModal();
- zuiHideModal(selector);
- };
- $(document).off('locate.zt').on('locate.zt', function(e, data)
- {
- if(data === true) data = 'reload';
- parent.parent.$(parent.parent.document).trigger('locate.zt', data);
- });
- $(document).on('shown', '.modal', function()
- {
- if($(this).find('.modal-actions>[data-dismiss="modal"]').length) $frame.closest('.modal-dialog').find('.modal-header>.close').hide();
- }).on('hidden', '.modal', function()
- {
- setTimeout(function()
- {
- if(!$(this).find('.modal-actions>[data-dismiss="modal"]').length) $frame.closest('.modal-dialog').find('.modal-header>.close').show();
- }, 500);
- });
- $('body').on('click', '.modal [data-dismiss="modal"]', function(e){e.stopPropagation();});
- $(function()
- {
- $('.zin-page-css').appendTo('head');
- function resizeModal()
- {
- const $modal = $('body>.modal-dialog>.modal-content,.modal-body').first();
- const height = $modal.outerHeight();
- $modal.closest('body').height(height || 1);
- if(height && !$frame.closest('.modal-body').height()) $frame.closest('.modal-body').height(height);
- }
- $.ajax(
- {
- url: modalOpenUrl,
- headers: {'X-ZUI-Modal': 'true'},
- success: function(data)
- {
- const $body = $('body');
- $body.html(data);
- const resizeOb = new ResizeObserver(resizeModal);
- resizeOb.observe($('body>.modal-dialog>.modal-content>.modal-body,.modal-body')[0]);
- requestAnimationFrame(resizeModal);
- $body.zuiInit().removeClass('invisible');
- if($frame.closest('.modal-dialog').find('.modal-header>.close').length) $('body>.modal-dialog>.modal-content>.modal-actions>[data-dismiss="modal"]').hide();
- }
- });
- $(document).on('click', '[data-dismiss="modal"]', function()
- {
- parent.$.closeModal();
- });
- });
|