@topvisor/ui 1.0.33 → 1.0.34-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.chunks/{core-BM1cjH9-.es.js → core-BxsCwqOA.es.js} +4 -4
- package/.chunks/{core-BM1cjH9-.es.js.map → core-BxsCwqOA.es.js.map} +1 -1
- package/.chunks/{core-BOmJlsQh.amd.js → core-CgF9lBAz.amd.js} +2 -2
- package/.chunks/{core-BOmJlsQh.amd.js.map → core-CgF9lBAz.amd.js.map} +1 -1
- package/.chunks/{datepicker-BJR_Fx8w.es.js → datepicker-BSUQ_Z_9.es.js} +2 -2
- package/.chunks/{datepicker-BJR_Fx8w.es.js.map → datepicker-BSUQ_Z_9.es.js.map} +1 -1
- package/.chunks/{datepicker-B1J_phPN.amd.js → datepicker-RDvMbDtl.amd.js} +2 -2
- package/.chunks/{datepicker-B1J_phPN.amd.js.map → datepicker-RDvMbDtl.amd.js.map} +1 -1
- package/.chunks/{dialog_selectorRegions-D1M6kSFL.amd.js → dialog_selectorRegions-B4pSW4cE.amd.js} +2 -2
- package/.chunks/{dialog_selectorRegions-D1M6kSFL.amd.js.map → dialog_selectorRegions-B4pSW4cE.amd.js.map} +1 -1
- package/.chunks/{dialog_selectorRegions-c7-xcsto.es.js → dialog_selectorRegions-CXjS2Qoi.es.js} +4 -4
- package/.chunks/{dialog_selectorRegions-c7-xcsto.es.js.map → dialog_selectorRegions-CXjS2Qoi.es.js.map} +1 -1
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-B68tDOIP.amd.js → dialogs.vue_vue_type_script_setup_true_lang-BuQgqpDu.amd.js} +2 -2
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-B68tDOIP.amd.js.map → dialogs.vue_vue_type_script_setup_true_lang-BuQgqpDu.amd.js.map} +1 -1
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BFXZoJrj.es.js → dialogs.vue_vue_type_script_setup_true_lang-CyIjovTF.es.js} +2 -2
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BFXZoJrj.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-CyIjovTF.es.js.map} +1 -1
- package/.chunks/{forms-T8ev76fm.es.js → forms-B3-Z-FXS.es.js} +7 -7
- package/.chunks/{forms-T8ev76fm.es.js.map → forms-B3-Z-FXS.es.js.map} +1 -1
- package/.chunks/{forms-C9txDxCB.amd.js → forms-Bxg-D7k7.amd.js} +3 -3
- package/.chunks/{forms-C9txDxCB.amd.js.map → forms-Bxg-D7k7.amd.js.map} +1 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-Cb-c_HSt.amd.js +2 -0
- package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-D3UiEWg-.amd.js.map → listItem.vue_vue_type_script_setup_true_lang-Cb-c_HSt.amd.js.map} +1 -1
- package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-BnkPoCHf.es.js → listItem.vue_vue_type_script_setup_true_lang-D5CpK9kR.es.js} +23 -23
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-D5CpK9kR.es.js.map +1 -0
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-D5I0ZtFp.es.js → menu.vue_vue_type_style_index_0_lang-CvGEOf9K.es.js} +2 -2
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-D5I0ZtFp.es.js.map → menu.vue_vue_type_style_index_0_lang-CvGEOf9K.es.js.map} +1 -1
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-CJhNCxSc.amd.js → menu.vue_vue_type_style_index_0_lang-DwlYmFOv.amd.js} +2 -2
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-CJhNCxSc.amd.js.map → menu.vue_vue_type_style_index_0_lang-DwlYmFOv.amd.js.map} +1 -1
- package/.chunks/{notice-BzDSYDaS.amd.js → notice-BvYOwsDo.amd.js} +2 -2
- package/.chunks/{notice-BzDSYDaS.amd.js.map → notice-BvYOwsDo.amd.js.map} +1 -1
- package/.chunks/{notice-C4XVMB2L.es.js → notice-DFzXmeHG.es.js} +2 -2
- package/.chunks/{notice-C4XVMB2L.es.js.map → notice-DFzXmeHG.es.js.map} +1 -1
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-vudnSBO5.es.js → page.vue_vue_type_script_setup_true_lang-3vdPBvL6.es.js} +4 -4
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-vudnSBO5.es.js.map → page.vue_vue_type_script_setup_true_lang-3vdPBvL6.es.js.map} +1 -1
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-CRYy99_V.amd.js → page.vue_vue_type_script_setup_true_lang-CvyaZks8.amd.js} +2 -2
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-CRYy99_V.amd.js.map → page.vue_vue_type_script_setup_true_lang-CvyaZks8.amd.js.map} +1 -1
- package/.chunks/popup-C7a4-VMr.amd.js +2 -0
- package/.chunks/{popup-ClgV8wY0.amd.js.map → popup-C7a4-VMr.amd.js.map} +1 -1
- package/.chunks/{popup-CMyspAlX.es.js → popup-CHPnvTnh.es.js} +52 -42
- package/.chunks/{popup-CMyspAlX.es.js.map → popup-CHPnvTnh.es.js.map} +1 -1
- package/.chunks/{utils-uXq23KaQ.amd.js → utils-6TJNhbAJ.amd.js} +2 -2
- package/.chunks/{utils-uXq23KaQ.amd.js.map → utils-6TJNhbAJ.amd.js.map} +1 -1
- package/.chunks/utils-CfkxxtUI.amd.js +2 -0
- package/.chunks/{utils-BzUcKFH3.amd.js.map → utils-CfkxxtUI.amd.js.map} +1 -1
- package/.chunks/{utils-h__3Q6cC.es.js → utils-D0Tam2rx.es.js} +2 -2
- package/.chunks/{utils-h__3Q6cC.es.js.map → utils-D0Tam2rx.es.js.map} +1 -1
- package/.chunks/utils-vqUUlJ8l.es.js +227 -0
- package/.chunks/{utils-DrJrj48C.es.js.map → utils-vqUUlJ8l.es.js.map} +1 -1
- package/assets/core.css +1 -1
- package/assets/forms.css +1 -1
- package/charts/charts.amd.js +1 -1
- package/charts/charts.js +1 -1
- package/core/app.amd.js +1 -1
- package/core/app.js +5 -5
- package/dialog/dialog.amd.js +1 -1
- package/dialog/dialog.js +2 -2
- package/extra/extra.amd.js +1 -1
- package/extra/extra.amd.js.map +1 -1
- package/extra/extra.js +1 -0
- package/extra/extra.js.map +1 -1
- package/forms/forms.amd.js +1 -1
- package/forms/forms.js +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.js +2 -2
- package/layout/layout.amd.js +1 -1
- package/layout/layout.amd.js.map +1 -1
- package/layout/layout.js +1 -1
- package/layout/layout.js.map +1 -1
- package/package.json +4 -1
- package/popup/popup.amd.js +1 -1
- package/popup/popup.js +2 -2
- package/popup/worker.amd.js +1 -1
- package/popup/worker.js +2 -2
- package/project/project.amd.js +1 -1
- package/project/project.js +5 -5
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.js +1 -1
- package/tabsView/tabsView.js.map +1 -1
- package/utils/clipboard.amd.js +1 -1
- package/utils/clipboard.js +1 -1
- package/utils/date.amd.js +1 -1
- package/utils/date.js +1 -1
- package/utils/device.amd.js +1 -1
- package/utils/device.js +1 -1
- package/utils/lodash.amd.js +1 -1
- package/utils/lodash.js +1 -1
- package/utils/price.amd.js +1 -1
- package/utils/price.js +1 -1
- package/utils/searchers.amd.js +1 -1
- package/utils/searchers.js +3 -3
- package/utils/string.amd.js +1 -1
- package/utils/string.js +1 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BnkPoCHf.es.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-D3UiEWg-.amd.js +0 -2
- package/.chunks/popup-ClgV8wY0.amd.js +0 -2
- package/.chunks/utils-BzUcKFH3.amd.js +0 -2
- package/.chunks/utils-DrJrj48C.es.js +0 -227
- package/components/tabsView/tabsView/store.d.ts +0 -192
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["require","exports","vue","./forms-Bxg-D7k7.amd","../popup/worker.amd","../utils/system.amd","../utils/route.amd","../utils/scroll.amd","./dialogs.vue_vue_type_script_setup_true_lang-BuQgqpDu.amd","../utils/dom.amd"],function(J,b,g,p,E,x,_,O,l,k){"use strict";if(typeof g>"u")var g=window.Vue;$;let P=!1;const j=()=>{P||(P=!0,document.addEventListener("keydown",e=>{if(e.key!=="Escape"||!e.target)return;const t=e.target;t.closest(".ui-dialog")&&(t.contentEditable==="true"||t.contentEditable==="plaintext-only"||k.querySelectorVisible(document.documentElement,".top-popup-wrapper")||t.classList.contains("autocomplete")||k.querySelectorVisible(document.documentElement,".fancybox-container")||$(".ui-dialog-content:visible:last").dialog("close"))}),$(document).on("click",'[data-action="top-dialog-close"]',e=>{e.preventDefault();const t=e.target.closest('[data-action="top-dialog-close"]'),o=t.closest(".ui-dialog-content");if(!o)return;const i=$(o),a=t.dataset.toView;if(a=="toPrevPage()"){m.toPrevPage(i);return}if(a){const n=a.split("-"),r=n.shift(),d=n.join("-"),s=$("#"+r);if(!$('[data-view-page="'+d+'"]',s).is(":visible")){const G=l.TopDialogWorker.genViewPageHash(a,"prev");_.historySetState(!1,G);return}}i.dialog("close")}),$(document).on("submit",".modal-body > form, .modal-layer-body > form",function(e){e.preventDefault()}),$(document).on("keypress",".ui-dialog .modal-body :input:not(.searcher), .ui-dialog .modal-body [contenteditable]",function(e){if(e.key==="ENTER"){if(e.target.classList.contains("autocomplete")){e.preventDefault();return}if(e.target.tagName==="TEXTAREA"){if(!e.ctrlKey&&!e.metaKey)return;const t=e.target.closest("form");if(t){let o=$(":submit:visible",t)[0];o||(o=$(":submit:visible",t)[0]),o==null||o.click()}}}}),$(document).on("click",".ui-widget-overlay",function(){let e,t=0;$(".ui-dialog:visible").each((o,i)=>{const a=Number($(i).css("z-index"));a<t||(e=$(i),t=a)}),e&&$(".ui-dialog-content",e).dialog("close")}),$(window).on("resize",m.recalcPositions),m.recalcPositions())},A=':root{--dialog-border-color: var(--color-line-1);--dialog-loading-duration: 10s;--top-dialog-footer-height: var(--top-forms-base-height_s)}html.with_dialog{overflow:hidden!important}a[data-to-view]{cursor:pointer}.ui-widget-overlay{background:#040404;opacity:.5;filter:Alpha(Opacity=50)}.ui-dialog{border-radius:8px;border:none;padding:0}.ui-dialog.ui-widget{border:none}.ui-dialog-titlebar{display:none}.ui-dialog .ui-dialog-content{padding:0;overflow:visible}.ui-dialog .project_name{word-break:break-all}.ui-dialog-content{--dialog-header-height: 50px;--dialog-layer-pageSelector: 0px}.ui-dialog-content-withPageSelector{--dialog-layer-pageSelector: 42px}.modal-header,.modal-body,.modal-footer{font-size:14px;position:relative}.modal-body{padding:var(--padding-default)}.modal-body:has(>.topTable:first-child){padding-top:calc(var(--padding-default) / 4)}.modal-header{border-bottom:1px solid var(--dialog-border-color);height:var(--dialog-header-height);padding:0 var(--padding-default);display:flex;justify-content:space-between;align-items:center;gap:16px}.modal-header>*{padding:10px 0;font-size:16px}.modal-header>.top-title{margin:0;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1;order:50;display:flex;align-items:center}.modal-header>.top-title>div[class*=icon]{display:none}.modal-header>div:not(.top-title){order:60}.modal-header>div.close{--top-icon-color: var(--color-text-3);cursor:pointer;background:var(--color-layout-front-1);font-size:16px;order:100;animation-name:none!important}.modal-header>div.close:hover{--top-icon-color: var(--color-text-1)}.modal-header .links_icons{position:absolute;right:50px}.modal-header .links_icons [class*=icon-]{width:auto;height:auto;padding:0 5px;color:#d6dee0}.modal-header .links_icons [class*=icon-].active{color:var(--color-bg-warning-1)}.modal-layer-pageSelector{padding:0 10px!important}.modal-body{max-height:calc(var(--100vh) - var(--dialog-header-height) - 1px - var(--dialog-layer-pageSelector) - var(--top-dialog-footer-height) - 1px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box;flex-grow:1}.modal-body hr{margin:16px -15px}.modal-body h4{padding:0;margin:0 0 10px;line-height:normal}.modal-body .inner{padding:var(--padding-default);margin:0 calc(0px - var(--padding-default));position:relative}.modal-body .inner .bt{border-top:1px dashed var(--color-layout-front-primary-3);position:absolute;top:0;right:0;left:0}.modal-body .inner .bb{border-bottom:1px dashed var(--color-layout-front-primary-3);position:absolute;right:0;bottom:0;left:0}.modal-body .inner.color-1{background:var(--color-layout-front-primary-3);color:var(--color-text-1)}.modal-body .inner strong{color:var(--color-text-1)}.modal-body .comment{line-height:18px}.modal-footer{min-height:var(--top-dialog-footer-height);padding:var(--top-gap-2);display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:var(--top-gap-2)}.modal-footer .modal-footer-btn-left{margin-right:auto}.modal-footer>.btn.full_width,.modal-footer>.top-button.full_width{flex-grow:1;align-self:flex-end}.modal-footer-fullWith{flex-wrap:wrap}.modal-footer-fullWith>*{flex-grow:1}.modal-footer-fullWith>.top-info{flex-grow:5}.modal-footer-fullWith>*:empty{flex-grow:0}.ui-dialog-content>.modal-layer>[data-view-page]>input[type=submit]{position:absolute;visibility:hidden}.help_popup .modal-header{display:none}.help_popup .modal-header a{top:2px;z-index:10}.help_popup .modal-header .top-title{display:none}.modal-layer{overflow:hidden}.modal-layer a[data-top-icon]:empty{color:var(--color-text-4);text-decoration:none}.modal-layer>[data-view-page]>div>div.buttons{display:flex;white-space:nowrap}.modal-layer>[data-view-page]>div>div.buttons:empty{display:none}.modal-layer>[data-view-page]>div>div.buttons>div,.modal-layer>[data-view-page]>div>div.buttons>a{cursor:pointer;width:auto;height:auto;min-width:auto;min-height:auto;padding:10px 9px;color:var(--color-text-4)}.modal-layer>[data-view-page]>div>div.buttons>div:hover{color:var(--color-text-2)}.modal-layer>[data-view-page]>div>div.buttons>div.hidden{display:none!important}.ui-dialog-content[data-view-page-active]{display:flex!important;flex-direction:column;justify-items:stretch}.ui-dialog-content>.modal-layer{display:flex!important;align-items:stretch;position:relative}.ui-dialog-content.i-change-page>.modal-layer{overflow:hidden}.ui-dialog-content>.modal-layer>[data-view-page]{width:100%;position:relative;display:none;flex-direction:column;justify-content:space-between;animation:.3s cubic-bezier(.4,0,.2,1) forwards}.ui-dialog-content>.modal-layer>[data-view-page].active{display:flex}.ui-dialog-content>.modal-layer>[data-view-page].reverse{animation-direction:reverse}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center{display:flex;position:absolute;inset:0}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left>div,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center>div{overflow:hidden}.ui-dialog-content>.modal-layer-header{border-bottom:1px solid var(--dialog-border-color);min-height:var(--dialog-header-height)}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header{border:none;background:none}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header>*{animation:.3s cubic-bezier(.4,0,.2,1) forwards}.ui-dialog-content>.modal-layer-header>[data-view-page].reverse>.modal-header>*{animation-direction:reverse}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>.top-title{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>.top-title{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>[class*=widget-]{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>[class*=widget-]{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>div{animation-name:dialog-center-to-left-header-icons}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>div{animation-name:dialog-right-to-center-header-icons}.ui-dialog-content>.modal-layer-body{border-radius:0 0 8px 8px;max-height:calc(var(--100vh) - var(--dialog-header-height) - var(--dialog-layer-pageSelector) - var(--toolbar-height));flex-grow:2}.ui-dialog-content.i-change-page>.modal-layer-body>[data-view-page]{background:var(--color-layout-front-1)}.ui-dialog-content>.modal-layer-body>[data-view-page].center-to-left{animation-name:dialog-center-to-left}.ui-dialog-content>.modal-layer-body>[data-view-page].right-to-center{animation-name:dialog-right-to-center}.ui-dialog-content .modal-footer .second_level{box-sizing:border-box;background:var(--color-layout-front-1);width:100%;min-height:25px;display:flex;align-items:center;justify-content:center}.ui-dialog-content .modal-footer .second_level input{border-radius:8px;width:100%;height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-3);box-sizing:border-box}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data{pointer-events:none}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data:before{content:" ";background:#378dc6;width:0;height:4px;position:absolute;top:0;left:0;z-index:100;animation:top-loadbar var(--dialog-loading-duration) forwards}.ui-dialog-content.modal-expanded{width:100vw!important;height:calc(var(--100vh) + 10px)!important}.modal-header>[data-widget]{padding:0 8px;position:absolute;inset:0;opacity:0;overflow:hidden;align-items:center;visibility:hidden;transition:opacity .3s;z-index:1}.modal-header>[data-widget=search] div.cancel{opacity:0;transform:translate(100%);transition:transform,opacity;transition-duration:.3s}[data-view-page].i-show-search .modal-header>:not([data-widget=search]){visibility:hidden}[data-view-page].i-show-search [data-widget=search]{visibility:visible;opacity:1}[data-view-page].i-show-search [data-widget=search] .cancel{transform:translate(0);opacity:1}[data-view-page]>.modal-header>*{transition:opacity .3s}[data-view-page].i-show-search>.modal-header>div.buttons{opacity:0}.modal-layer .top-popup-wrapper{height:100%!important}@keyframes dialog-center-to-left-header-title{0%{transform:translate(0);opacity:1}75%{opacity:0}to{transform:translate(-30%);opacity:0}}@keyframes dialog-right-to-center-header-title{0%{transform:translate(100%);opacity:0}25%{opacity:0}to{transform:translate(0);opacity:1}}@keyframes dialog-center-to-left-header-icons{0%{transform:translate(0);opacity:1}35%{transform:translate(-20%);opacity:0}to{transform:translate(-20%);opacity:0}}@keyframes dialog-right-to-center-header-icons{0%{transform:translate(20%);opacity:0}65%{transform:translate(20%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes dialog-center-to-left{0%{transform:translate(0);filter:brightness(1)}to{transform:translate(-30%);filter:brightness(.9)}}@keyframes dialog-right-to-center{0%{transform:translate(100%);box-shadow:#0000001a 0 0 10px}to{transform:translate(0);box-shadow:#0003 0 0 10px}}@media only screen and (max-width: 1480px){.win_side_panel_opener{display:none}}@media only screen and (min-width: 1480px){.ui-dialog-content.with_side_panel{box-shadow:#0003 0 0 6px}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width: calc((100vw - 900px)/2 - 28px) ;box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);padding:18px;position:absolute;top:calc(var(--dialog-header-height) + 1px + var(--dialog-layer-pageSelector));bottom:calc(var(--top-dialog-footer-height) + 1px);z-index:-1;display:block;transition:.2s}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}@media only screen and (max-height: 900px){html.with_dialog{background:#f1f1f1;overflow:hidden}.ui-dialog.me-tightly{border-radius:0;height:auto!important;position:fixed;top:0!important;bottom:0!important}.ui-dialog.me-tightly .ui-dialog-content{min-height:100%!important}.ui-dialog.me-tightly>div>.modal-body{position:absolute;top:var(--dialog-header-height);right:0;left:0;bottom:var(--dialog-header-height)}.ui-dialog.me-tightly>div>.modal-body:last-child{bottom:0}.ui-dialog.me-tightly>div>.modal-footer{position:absolute;right:0;bottom:0;left:0}.ui-dialog.me-tightly .modal-layer-body{border-radius:0;min-height:0!important}.ui-dialog.me-tightly .modal-layer-body .modal-footer{min-height:unset}}',L='html.with_dialog body{height:var(--100vh);overflow:hidden}.ui-widget-overlay{height:calc(100% - var(--toolbar-height))}.ui-dialog{border-radius:0;width:auto!important;height:auto!important;position:fixed;inset:0!important}.ui-dialog-content{width:100%!important;height:100%!important;min-width:0!important;max-width:100%!important}.modal-header>.top-title{text-align:center;font-size:14px}.modal-header>div.close{font-size:14px;order:1}.modal-header>div.close:before{content:""}.modal-body:last-child{bottom:0}.modal-footer{bottom:0}.modal-footer .second_level{padding:10px 8px}.modal-layer-body{min-height:0!important}.ui-dialog-content>.modal-layer-body{border-radius:0}.modal-body,.modal-footer{padding-right:12px;padding-left:12px}.modal-footer .btn:last-child{margin-right:12px}.modal-body .inner{padding:12px;margin:0 -12px;position:relative}',q=".modal-menu-opener{order:1!important}.modal-menu-opener:before{--top-icon-size: 20px;--top-icon-color: #FFF;--top-icon-width: var(--top-icon-size);border-radius:50%;background:var(--color-bg-primary-1);padding:3px;transition:transform .1s}.modal-menu-opener:hover:before{background:var(--color-bg-primary-2)}.modal-menu-opener.top-active:before{background:var(--color-bg-primary-2);transform:scale(.8)}.modal-layer .top-popup-wrapper{background:transparent;width:auto!important;padding:0!important;margin:0!important;top:0!important;right:0!important;left:0!important;transition:background .3s}.modal-layer .top-popup-wrapper>.top-popup[class],.modal-layer .top-popup-wrapper.with_notch>.top-popup[class]{border-radius:8px;border:none;margin:12px!important;max-width:100%;max-height:calc(100% - 24px);inset:0 0 auto!important;overflow:auto;display:flex;flex-direction:column;opacity:1;transform:translateY(calc(-100% - 24px));transition:transform .3s}.modal-layer .top-popup>.top-popup_header{background:var(--color-theme-50)}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select{border:none}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .text{color:#fff}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .arrow{background:none}.modal-layer .top-popup-wrapper-shown:not(.top-popup-wrapper-closed){background:#34495e40}@media only screen and (min-width: 1480px){.ui-dialog-content.with_side_panel{box-shadow:#0003 0 0 6px}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width: calc((100vw - 900px)/2 - 28px) ;box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);padding:18px;display:block;position:absolute;top:51px;bottom:51px;z-index:-1;transition:.2s}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}",M="html{--top-dialog-width: auto;--top-dialog-height: auto}.top-dialog{max-width:100vw}.top-dialog .modal-layer-body{height:var(--top-dialog-height)}",D=".top-dialog{width:var(--top-dialog-width)!important}";p.Core.insertStyleToPage(A),p.Core.insertStyleToPage(L,"m"),p.Core.insertStyleToPage(q,"pc"),p.Core.insertStyleToPage(M),p.Core.insertStyleToPage(D,"pc");let T,u=!1;const B=()=>{$.extend($.ui.dialog.prototype.options,{focus:e=>{var t;e.target.focus(),(t=$("[autofocus]",e.target)[0])==null||t.focus()},create:e=>F(e.target),open:e=>I(e.target),close:e=>K(e.target),modal:!0,resizable:!1,closeOnEscape:!1,width:"auto",minHeight:0}),$.ui.dialog.prototype._focusTabbable=$.noop,$.ui.dialog.prototype._moveToTopOriginal=$.ui.dialog.prototype._moveToTop,$.ui.dialog.prototype._moveToTop=function(){this._moveToTopOriginal();const e=$(this.element);e.trigger("dialogsMoveToTop",[e])},j(),u=!0},C=e=>{var o,i,a,n;const t={};return((i=(o=e[0])==null?void 0:o.dataset)==null?void 0:i.modal)==="false"&&(t.modal=!1),(n=(a=e[0])==null?void 0:a.dataset)!=null&&n.position&&(t.position=JSON.parse(e[0].dataset.position)),t},h=async(e,t,o)=>{if(!e.startsWith("dialog_"))return;const i=l.getDialogWorker(e);if(i&&(i.isOpened.value=!0,t!==void 0&&(i.pageActive.value=t),o!==void 0&&(i.pageActiveNext.value=o),await g.nextTick(),o)){const a=$("#"+e);$('[data-view-page="'+o+'"]',a).length||await x.waitWhile(()=>!$('[data-view-page="'+o+'"]',a).length)}},F=e=>{var i,a;const t=$(e),o=$(".modal-body",t);O.connectScrollShadow(o[0]),(a=(i=l.TopDialogWorker.state).decoratorOnCreate)==null||a.call(i,e),H(e)},H=e=>{$(e).on("aftershow.top-menu-popup","[data-top-popup]",(t,o)=>{l.TopDialogWorker.get$pairPage(o).eq(1).prepend(o)})},I=async e=>{var d;const t=$(e),o=t.data("view-page-active"),i=Number($(window).width());p.Core.state.documentClassModificators.set("top-dialog","with_dialog");const n=Number($(window).width())-i;Number($(document).height())>Number($(window).height())&&$("html").css({"margin-right":n+"px"}),z();const r=l.getDialogWorker(t.attr("id"));(d=r==null?void 0:r.emit)==null||d.call(r,"open",o)},K=async e=>{var n;const t=$(e),o=t.attr("id"),i=t.data("view-page-active");if(i){const r={vpn:l.TopDialogWorker.state.viewPageN,["view-"+o]:null};r["view-"+o]=null,(l.TopDialogWorker.state.viewPageN===0||l.TopDialogWorker.state.viewPageN===1)&&(r.vpn=null),_.setHashs(r,!1)}$(".ui-widget-overlay:visible").length||(p.Core.state.documentClassModificators.delete("top-dialog"),$("html").css({"margin-right":""})),t.trigger("viewAfterClose",[t]);const a=l.getDialogWorker(t.attr("id"));a&&(a.isOpened.value=!1,(n=a.emit)==null||n.call(a,"close",i),a.onCloseOnce&&(a.onCloseOnce(a.props,i),a.onCloseOnce=void 0)),window.dispatchEvent(new Event("resize"))},z=()=>{$(".ui-dialog:visible > .ui-dialog-content").each((e,t)=>{const o=$(t),i=$(".modal-body:visible",o),a=o.closest(".ui-dialog");if(!i.length)return;const n=C(o);n.position??={of:window},o.dialog("option",n),a.removeClass("me-tightly"),Number(a.height())>Number($(window).height())&&a.addClass("me-tightly")})},R=async(e,t)=>{const i=/(\w+)[=-]([\w-]+)(?::([\w.:-]+))?/g.exec(e);if(i){const a=i[1],n=i[2],r=i[3];let d=[];r&&(d=r.split(":")),await f(a,n,d,t)}},f=async(e,t,o,i,a)=>{u||await new Promise((r,d)=>{const s=setInterval(()=>{u&&(clearInterval(s),r())},10)}),await g.nextTick();let n;if(typeof e=="object"?n=e:n=$("#"+e),!n.length&&typeof e=="string"&&l.TopDialogWorker.state.load){await l.TopDialogWorker.state.load(e),await f(e,t,o,i,a);return}if(await v(n,t,o,i),n.is(".ui-dialog-content"))n.dialog("open");else{const r=C(n);n.dialog(r)}a&&a(n)},v=async(e,t,o,i)=>{t===void 0&&(t=e.data("view-page-active")),t!=e.data("view-page-active")&&V(e)&&await x.sleep(100),o===void 0&&(o=[]),await h(e.attr("id"),void 0,t);const a=$("> .modal-layer",e),n=$("> .active",a),r=$('> [data-view-page="'+t+'"]',a),d=o.join(":");if(i===void 0&&(i="next",r.data("order")<n.data("order")&&(i="prev")),!!r.length){if(e.data("view-page-active",t),r.is(".active")){r.data("view-page-args")!=d&&r.data("view-page-args",d),S(e,r,t,o),y(e,r,t,o);return}switch(r.data("view-page-args",d),$(".top-popup-wrapper",n).length&&E.TopPopupWorker.close($(".top-popup-wrapper",n)[0]),r.closest(".ui-dialog").is(":hidden")&&(i="none"),n.length||(i="none"),r.is(":visible")&&(i="none"),i){case"prev":r.each((s,c)=>{$(c).insertBefore($(c).siblings(".active"))}),n.addClass("right-to-center reverse"),r.addClass("center-to-left reverse");break;case"next":r.each((s,c)=>{$(c).insertAfter($(c).siblings(".active"))}),n.addClass("center-to-left"),r.addClass("right-to-center");break}if(e.attr("view-page-active",t),n.removeClass("active"),r.addClass("active"),S(e,r,t,o),i){e.addClass("i-change-page");const s=Number(r.css("animation-duration").replace("s",""))*1e3;T=setTimeout(function(){h(e.attr("id"),t,""),V(e),y(e,r,t,o)},s)}else await h(e.attr("id"),t,""),y(e,r,t,o)}},U=e=>{const t=$("> .modal-layer",e),a=$("> .active",t).eq(0).prev("[data-view-page]").data("view-page");a?v(e,a,void 0,"prev"):e.dialog("close")},w=new Set,S=(e,t,o,i)=>{const a=e.attr("id")+t.eq(0).data("view-page")+o+i.join();w.has(a)||(w.add(a),setTimeout(function(){w.delete(a),e.trigger("viewBeforeOpen",[e,t,o,i])}))},y=(e,t,o,i)=>{setTimeout(function(){e.trigger("viewAfterOpen",[e,t,o,i])})},W=e=>e.is(".i-change-page"),V=e=>{if(!W(e))return!1;clearTimeout(T);const t=$("> .modal-layer",e),o=e.data("view-page-active");return e.removeClass("i-change-page"),$("> [data-view-page]",t).removeClass("center-to-left right-to-center reverse active"),$('> [data-view-page="'+o+'"]',t).addClass("active"),!0},m={updatePageVue:h,recalcPositions:z,toViewDirty:R,toView:f,toViewPage:v,toPrevPage:U,setLoading:(e,t,o)=>{e.is("[data-view-page]")||(e=$("[data-view-page]:visible",e)),t?(o!==void 0&&e.each((i,a)=>{a.style.setProperty("--dialog-loading-duration",o+"s")}),e.addClass("i-load-data")):(e.removeClass("i-load-data"),e.each((i,a)=>{a.style.setProperty("--dialog-loading-duration","10s")}))},isLoading:e=>e.is(".i-load-data"),inAnimation:W,close:function(e){const t=$("#"+e);t.dialog("instance")&&t.dialog("close")}};B(),b.TopDialogUtils=m,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
|
|
2
|
+
//# sourceMappingURL=utils-CfkxxtUI.amd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-BzUcKFH3.amd.js","sources":["../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"sourcesContent":["import { TopDialogUtils } from './utils';\nimport { TopDialogWorker } from './worker';\nimport { querySelectorVisible } from '@/core/utils/dom';\nimport type { $el } from '@/components/types';\nimport { historySetState } from '@/core/utils/route';\n\nlet inited = false;\n\n/**\n * Инициализация глобальных событий для диалоговых окон\n *\n * Проивзодится один раз при подклчюении диалогового окна\n *\n * События не размонитруются\n */\nexport const initDialogGlobalEvents = () => {\n\tif (inited) return;\n\tinited = true;\n\n\t/**\n\t * Закрытие диалога по Esc\n\t */\n\tdocument.addEventListener('keydown', (e) => {\n\t\tif (e.key !== 'Escape') return;\n\t\tif (!e.target) return;\n\n\t\tconst el = e.target as HTMLElement;\n\n\t\t// событие произошло вне диалогового окна\n\t\tif (!el.closest('.ui-dialog')) return;\n\n\t\tif (el.contentEditable === 'true' || el.contentEditable === 'plaintext-only') return;\n\n\t\t// не закрывать окно при открытом TopPopup\n\t\tif (querySelectorVisible(document.documentElement, '.top-popup-wrapper')) return;\n\n\t\t// не закрывать окно при работе с jquery autocomplete\n\t\tif (el.classList.contains('autocomplete')) return;\n\n\t\t// не закрывать окно при открытом fancybox\n\t\tif (querySelectorVisible(document.documentElement, '.fancybox-container')) return;\n\n\t\t$('.ui-dialog-content:visible:last').dialog('close');\n\t});\n\n\t/**\n\t * Закрытие диалога по кнопке закрыть\n\t */\n\t$(document).on('click', '[data-action=\"top-dialog-close\"]', (e) => {\n\t\te.preventDefault();\n\n\t\t// // навигация без истории\n\t\t// var $dialog = $(this).closest('.ui-dialog-content');\n\t\t// var viewName = $dialog.attr('id');\n\t\t// var pageName = getHash('view-' + viewName);\n\t\t// if (!pageName) {\n\t\t// \ttoPrevPage($dialog);\n\t\t//\n\t\t// \treturn;\n\t\t// }\n\t\t//\n\t\t// // навигация по истории\n\t\t// if (Core.state.isMobile && history.length > 1 && $(this).closest('.modal-layer').length) {\n\t\t// \tvar href = location.href;\n\t\t//\n\t\t// \thistory.go(-1);\n\t\t//\n\t\t// \tsetTimeout(() => {\n\t\t// \t\t// это первая страница в истории вкладки браузера\n\t\t// \t\tif (href === location.href) $(e.target).closest('.ui-dialog-content').dialog('close');\n\t\t// \t});\n\t\t// } else {\n\t\t// \t$(this).closest('.ui-dialog-content').dialog('close');\n\t\t// }\n\n\t\tconst el = e.target.closest('[data-action=\"top-dialog-close\"]');\n\n\t\tconst elDialog = el.closest('.ui-dialog-content');\n\t\tif (!elDialog) return;\n\n\t\tconst $dialog = $(elDialog);\n\n\t\t// если к кнопке привязана ссылка, диалоговое окно не нужно закрывать\n\t\tconst toView = el.dataset.toView;\n\n\t\tif (toView == 'toPrevPage()') {\n\t\t\tTopDialogUtils.toPrevPage($dialog);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (toView) {\n\t\t\tconst viewNameAndPageLink = toView.split('-');\n\t\t\tconst viewName = viewNameAndPageLink.shift();\n\t\t\tconst pageLink = viewNameAndPageLink.join('-');\n\n\t\t\tconst $toDialog = $('#' + viewName);\n\t\t\tconst $toPage = $('[data-view-page=\"' + pageLink + '\"]', $toDialog);\n\t\t\tif (!$toPage.is(':visible')) {\n\t\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, 'prev');\n\n\t\t\t\t// // не убирает кнопку \"Вперед\" в браузере\n\t\t\t\t// history.replaceState(null, '', hash);\n\t\t\t\t// toViewDirty(toView, 'prev');\n\n\t\t\t\t// // добавляет текущую страницу в историю браузера\n\t\t\t\thistorySetState(false, hash);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t$dialog.dialog('close');\n\t});\n\n\t/**\n\t * Все submit должны обрабатываться через js\n\t */\n\t$(document).on('submit', '.modal-body > form, .modal-layer-body > form', function (e) {\n\t\te.preventDefault();\n\t});\n\n\t/**\n\t * Выполнение действия по нажатию Enter\n\t *\n\t * @todo Убрать `.searcher`\n\t */\n\t$(document).on('keypress', '.ui-dialog .modal-body :input:not(.searcher), .ui-dialog .modal-body [contenteditable]', function (e) {\n\t\t// if (e.keyCode !== 10 && e.key !== 'ENTER') return;\n\t\tif (e.key !== 'ENTER') return;\n\n\t\t// не выполнять submit действий при работе с jquery autocomplete\n\t\tif (e.target.classList.contains('autocomplete')) {\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\t// реализация submit по ctrl + Enter\n\t\tif (e.target.tagName === 'TEXTAREA') {\n\t\t\tif (!e.ctrlKey && !e.metaKey) return;\n\n\t\t\tconst elForm = e.target.closest('form');\n\n\t\t\tif (elForm) {\n\t\t\t\tlet elSubmit = $(':submit:visible', elForm)[0];\n\t\t\t\tif (!elSubmit) elSubmit = $(':submit:visible', elForm)[0];\n\n\t\t\t\telSubmit?.click();\n\t\t\t}\n\t\t}\n\t});\n\n\t/**\n\t * Закрытие диалога по клику вне окна\n\t */\n\t$(document).on('click', '.ui-widget-overlay', function () {\n\t\tlet $dialogWrapper: $el | undefined = undefined;\n\t\tlet topZIndex = 0;\n\n\t\t$('.ui-dialog:visible').each((_index, el) => {\n\t\t\tconst zIndex = Number($(el).css('z-index'));\n\t\t\tif (zIndex < topZIndex) return;\n\n\t\t\t$dialogWrapper = $(el);\n\t\t\ttopZIndex = zIndex;\n\t\t});\n\n\t\tif ($dialogWrapper) {\n\t\t\t$('.ui-dialog-content', $dialogWrapper).dialog('close');\n\t\t}\n\t});\n\n\t$(window).on('resize', TopDialogUtils.recalcPositions);\n\tTopDialogUtils.recalcPositions();\n};\n","import 'jquery';\nimport { nextTick } from 'vue';\n\nimport Core from '@/core/core/core';\nimport { TopPopupWorker } from '@/components/popup/worker';\nimport { sleep, waitWhile } from '@/core/utils/system';\nimport { setHashs } from '@/core/utils/route';\nimport { connectScrollShadow } from '@/core/utils/scroll';\n\nimport type { MoveDirection } from './types';\nimport { TopDialogWorker } from './worker';\nimport { initDialogGlobalEvents } from './utils.globalEvents';\nimport { getDialogWorker } from '../dialog/dialogs/dialogs.vue';\n\nimport css from '../dialog/style/dialog.css?inline';\nimport cssM from '../dialog/style/dialog.m.css?inline';\nimport cssPC from '../dialog/style/dialog.pc.css?inline';\nimport cssModern from '../dialog/style/modern/dialog.css?inline';\nimport cssModernPC from '../dialog/style/modern/dialog.pc.css?inline';\nimport type { $el } from '@/components/types';\n\nCore.insertStyleToPage(css);\nCore.insertStyleToPage(cssM, 'm');\nCore.insertStyleToPage(cssPC, 'pc');\nCore.insertStyleToPage(cssModern);\nCore.insertStyleToPage(cssModernPC, 'pc');\n\nlet timerClearAnimation: NodeJS.Timeout;\nlet isInited = false;\n\nconst init = () => {\n\t$.extend($.ui.dialog.prototype.options, {\n\t\tfocus: (e: any) => {\n\t\t\te.target.focus();\n\n\t\t\t$('[autofocus]', e.target)[0]?.focus();\n\n\t\t\t// setTimeout(function () {\n\t\t\t// \tif ($('[autofocus]', e.target).length) return;\n\t\t\t// \t$('.modal-footer button:first, .modal-body :input:first', e.target).eq(0).focus();\n\t\t\t//\n\t\t\t// \t// fix пропадающего autocomplete при нажатии на scroll в autocomplete\n\t\t\t// \t$(e.target).add($(e.target).closest('.ui-dialog')).removeAttr('tabindex');\n\t\t\t// });\n\t\t},\n\t\tcreate: (e: any) => onCreate(e.target),\n\t\topen: (e: any) => onOpen(e.target),\n\t\tclose: (e: any) => onClose(e.target),\n\t\tmodal: true,\n\t\tresizable: false,\n\t\tcloseOnEscape: false,\n\t\twidth: 'auto',\n\t\tminHeight: 0,\n\t});\n\n\t$.ui.dialog.prototype._focusTabbable = $.noop;\n\n\t$.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop;\n\t$.ui.dialog.prototype._moveToTop = function () {\n\t\tthis._moveToTopOriginal();\n\n\t\tconst $dialog = $(this.element);\n\t\t$dialog.trigger('dialogsMoveToTop', [$dialog]);\n\t};\n\n\tinitDialogGlobalEvents();\n\n\tisInited = true;\n};\n\n/**\n * Получить настройки диалогового окна из Vue компонента\n */\nconst genVueOptions = ($dialog: $el) => {\n\tconst options: {\n\t\tmodal?: boolean,\n\t\tposition?: any,\n\t} = {};\n\n\tif ($dialog[0]?.dataset?.modal === 'false') options.modal = false;\n\tif ($dialog[0]?.dataset?.position) options.position = JSON.parse($dialog[0].dataset.position);\n\n\treturn options;\n};\n\n/**\n * Сменить состояние диалогового окна Vue\n */\nconst updatePageVue = async (dialogId: string, pageName?: string, pageNameNext?: string) => {\n\tif (!dialogId.startsWith('dialog_')) return;\n\n\tconst dialog = getDialogWorker(dialogId);\n\tif (!dialog) return;\n\n\tdialog.isOpened.value = true;\n\tif (pageName !== undefined) dialog.pageActive.value = pageName;\n\tif (pageNameNext !== undefined) dialog.pageActiveNext.value = pageNameNext;\n\n\tawait nextTick();\n\n\tif (pageNameNext) {\n\t\tconst $dialog = $('#' + dialogId);\n\t\tconst $nextPage = $('[data-view-page=\"' + pageNameNext + '\"]', $dialog);\n\n\t\tif (!$nextPage.length) {\n\t\t\tawait waitWhile(() => !$('[data-view-page=\"' + pageNameNext + '\"]', $dialog).length);\n\t\t}\n\t}\n};\n\n/**\n * Callback for jQuery dialog onCreate\n */\nconst onCreate = (elDialog: HTMLElement) => {\n\tconst $dialog = $(elDialog);\n\tconst $dialogBody = $('.modal-body', $dialog);\n\n\tconnectScrollShadow($dialogBody[0]);\n\n\tTopDialogWorker.state.decoratorOnCreate?.(elDialog);\n\n\tinitPopup(elDialog);\n};\n\n/**\n * Инициирование событий TopPopup в диалоговом окне\n */\nconst initPopup = (elDialog: HTMLElement) => {\n\t$(elDialog).on('aftershow.top-menu-popup', '[data-top-popup]', (_e, $popup) => {\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst $pageContent = TopDialogWorker.get$pairPage($popup).eq(1);\n\t\t$pageContent.prepend($popup);\n\t});\n};\n\n/**\n * Callback for jQuery dialog onOpen\n */\nconst onOpen = async (elDialog: HTMLElement) => {\n\tconst $dialog = $(elDialog);\n\tconst pageName = $dialog.data('view-page-active');\n\n\tconst w1 = Number($(window).width());\n\n\tCore.state.documentClassModificators.set('top-dialog', 'with_dialog');\n\n\tconst w2 = Number($(window).width());\n\n\tconst scrollBarWidth = w2 - w1;\n\tif (Number($(document).height()) > Number($(window).height())) $('html').css({ 'margin-right': scrollBarWidth + 'px' });\n\n\trecalcPositions();\n\n\tconst dialog = getDialogWorker($dialog.attr('id') as string);\n\tdialog?.emit?.('open', pageName);\n};\n\n/**\n * Callback for jQuery dialog onClose\n */\nconst onClose = async (elDialog: HTMLElement) => {\n\tconst $dialog = $(elDialog);\n\n\tconst viewName = $dialog.attr('id');\n\tconst pageName = $dialog.data('view-page-active');\n\tif (pageName) {\n\t\tconst hashData = {\n\t\t\tvpn: TopDialogWorker.state.viewPageN as number | null,\n\t\t\t['view-' + viewName]: null,\n\t\t};\n\t\thashData['view-' + viewName] = null;\n\n\t\tif (TopDialogWorker.state.viewPageN === 0 || TopDialogWorker.state.viewPageN === 1) {\n\t\t\thashData.vpn = null;\n\t\t}\n\n\t\tsetHashs(hashData, false);\n\t}\n\n\tif (!$('.ui-widget-overlay:visible').length) {\n\t\tCore.state.documentClassModificators.delete('top-dialog');\n\n\t\t$('html').css({ 'margin-right': '' });\n\t}\n\n\t$dialog.trigger('viewAfterClose', [$dialog]);\n\n\tconst dialog = getDialogWorker($dialog.attr('id') as string);\n\tif (dialog) {\n\t\tdialog.isOpened.value = false;\n\t\tdialog.emit?.('close', pageName);\n\n\t\tif (dialog.onCloseOnce) {\n\t\t\tdialog.onCloseOnce(dialog.props, pageName);\n\t\t\tdialog.onCloseOnce = undefined;\n\t\t}\n\t}\n\n\t// после закрытия диалога может потребоваться пересчет позиций элементов\n\twindow.dispatchEvent(new Event('resize'));\n};\n\n/**\n * Пересчитать положения и размеры открытых диалоговых окон\n */\nconst recalcPositions = () => {\n\t$('.ui-dialog:visible > .ui-dialog-content').each((_index, eldDialog: HTMLElement) => {\n\t\tconst $dialog = $(eldDialog);\n\t\tconst $dialogBody = $('.modal-body:visible', $dialog);\n\t\tconst $ui = $dialog.closest('.ui-dialog');\n\n\t\tif (!$dialogBody.length) return;\n\n\t\tconst options = genVueOptions($dialog);\n\n\t\toptions.position ??= { of: window };\n\n\t\t$dialog.dialog('option', options);\n\n\t\t$ui.removeClass('me-tightly');\n\t\tif (Number($ui.height()) > Number($(window).height())) $ui.addClass('me-tightly');\n\t});\n};\n\n// переход к view page по неразобранной ссылке в формате: {viewName}-{pageName}[:args]\nconst toViewDirty = async (toViewPageName: string, moveDirection?: MoveDirection) => {\n\tconst regexp = /(\\w+)[=-]([\\w-]+)(?::([\\w.:-]+))?/g;\n\tconst toViewParts = regexp.exec(toViewPageName);\n\tif (toViewParts) {\n\t\tconst viewName = toViewParts[1];\n\t\tconst pageName = toViewParts[2];\n\t\tconst argsString = toViewParts[3];\n\n\t\tlet args: string[] = [];\n\t\tif (argsString) args = argsString.split(':');\n\n\t\tawait toView(viewName, pageName, args, moveDirection);\n\t}\n};\n\n/**\n * Открыть диалоговое окно, возможно указать нужную страницу\n * @param viewNameOr$Dialog - id страницы окна или jQuery элемент окна\n * @param pageName - имя страницы\n * @param args - аргументы, набор проивзольных параметров, которые могут обрабатываться каждым окном по своему\n * @param moveDirection\n * @param callback - функция, которая будет запущена после октытия страницы\n */\nconst toView = async (\n\tviewNameOr$Dialog: $el | string,\n\tpageName?: string,\n\targs?: string[],\n\tmoveDirection?: MoveDirection,\n\tcallback?: Function,\n) => {\n\tif (!isInited) {\n\t\tawait new Promise<void>((resolve, _reject) => {\n\t\t\tconst timer = setInterval(() => {\n\t\t\t\tif (!isInited) return;\n\n\t\t\t\tclearInterval(timer);\n\n\t\t\t\tresolve();\n\t\t\t}, 10);\n\t\t});\n\t}\n\n\tawait nextTick();\n\n\tlet $dialog: $el;\n\tif (typeof (viewNameOr$Dialog) === 'object') {\n\t\t$dialog = viewNameOr$Dialog;\n\t} else {\n\t\t$dialog = $('#' + viewNameOr$Dialog);\n\t}\n\n\t// Диалоговое окно еще не загружено\n\tif (!$dialog.length && typeof (viewNameOr$Dialog) == 'string' && TopDialogWorker.state.load) {\n\t\tawait TopDialogWorker.state.load(viewNameOr$Dialog);\n\n\t\tawait toView(viewNameOr$Dialog, pageName, args, moveDirection, callback);\n\n\t\treturn;\n\t}\n\n\tawait toViewPage($dialog, pageName, args, moveDirection);\n\n\tif ($dialog.is('.ui-dialog-content')) {\n\t\t// var zIndexMax = 0;\n\t\t// $.map($('.ui-dialog'), function (el) {\n\t\t// \tvar zIndex = $(el).css('z-index') * 1;\n\t\t// \tif (zIndex > zIndexMax) zIndexMax = zIndex;\n\t\t// });\n\t\t//\n\t\t// if ($dialog.is(':hidden')) $dialog.dialog('open');\n\t\t//\n\t\t// var $dialogWrapper = $dialog.parent();\n\t\t// var $dialogOverlay = $dialogWrapper.next();\n\t\t//\n\t\t// if ($dialogWrapper.css('z-index') * 1 < zIndexMax) {\n\t\t// \t$dialogWrapper.css('z-index', zIndexMax + 2);\n\t\t// \t$dialogOverlay.css('z-index', zIndexMax + 1);\n\t\t// }\n\n\t\t$dialog.dialog('open');\n\t} else {\n\t\tconst options = genVueOptions($dialog);\n\n\t\t$dialog.dialog(options);\n\t}\n\n\tif (callback) callback($dialog);\n};\n\nconst toViewPage = async ($dialog: $el, pageName?: string, args?: string[], moveDirection?: MoveDirection) => {\n\tif (pageName === undefined) pageName = $dialog.data('view-page-active') as string;\n\n\tif (pageName != $dialog.data('view-page-active')) {\n\t\tconst stopped = stopAnimations($dialog);\n\t\tif (stopped) await sleep(100);\n\t}\n\n\tif (args === undefined) args = [];\n\n\tawait updatePageVue($dialog.attr('id') as string, undefined, pageName);\n\n\tconst $modalLayers = $('> .modal-layer', $dialog);\n\tconst $currentPage = $('> .active', $modalLayers);\n\tconst $nextPage = $('> [data-view-page=\"' + pageName + '\"]', $modalLayers);\n\tconst argsString = args.join(':');\n\n\tif (moveDirection === undefined) {\n\t\tmoveDirection = 'next';\n\t\tif ($nextPage.data('order') < $currentPage.data('order')) moveDirection = 'prev';\n\t}\n\n\tif (!$nextPage.length) return;\n\n\t$dialog.data('view-page-active', pageName);\n\n\t// запрашиваемая страница уже открыта\n\tif ($nextPage.is('.active')) {\n\t\tif ($nextPage.data('view-page-args') != argsString) {\n\t\t\t$nextPage.data('view-page-args', argsString);\n\n\t\t\t// dialogs.beforeOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t\t// dialogs.afterOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t}\n\n\t\tbeforeOpenViewPage($dialog, $nextPage, pageName, args);\n\t\tafterOpenViewPage($dialog, $nextPage, pageName, args);\n\n\t\treturn;\n\t}\n\n\t$nextPage.data('view-page-args', argsString);\n\n\tif ($('.top-popup-wrapper', $currentPage).length) {\n\t\tTopPopupWorker.close($('.top-popup-wrapper', $currentPage)[0]);\n\t}\n\n\tif ($nextPage.closest('.ui-dialog').is(':hidden')) moveDirection = 'none';\n\tif (!$currentPage.length) moveDirection = 'none';\n\tif ($nextPage.is(':visible')) moveDirection = 'none';\n\tswitch (moveDirection) {\n\t\tcase 'prev':\n\t\t\t$nextPage.each((_index, el) => {\n\t\t\t\t$(el).insertBefore($(el).siblings('.active'));\n\t\t\t});\n\n\t\t\t$currentPage.addClass('right-to-center reverse');\n\t\t\t$nextPage.addClass('center-to-left reverse');\n\n\t\t\tbreak;\n\t\tcase 'next':\n\t\t\t$nextPage.each((_index, el) => {\n\t\t\t\t$(el).insertAfter($(el).siblings('.active'));\n\t\t\t});\n\n\t\t\t$currentPage.addClass('center-to-left');\n\t\t\t$nextPage.addClass('right-to-center');\n\n\t\t\tbreak;\n\t}\n\n\t$dialog.attr('view-page-active', pageName);\n\n\t$currentPage.removeClass('active');\n\t$nextPage.addClass('active');\n\n\tbeforeOpenViewPage($dialog, $nextPage, pageName, args);\n\n\tif (moveDirection) {\n\t\t$dialog.addClass('i-change-page');\n\t\tconst delay = Number($nextPage.css('animation-duration').replace('s', '')) * 1000;\n\n\t\ttimerClearAnimation = setTimeout(function () {\n\t\t\tupdatePageVue($dialog.attr('id') as string, pageName, '');\n\t\t\tstopAnimations($dialog);\n\t\t\tafterOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t}, delay);\n\t} else {\n\t\tawait updatePageVue($dialog.attr('id') as string, pageName, '');\n\t\tafterOpenViewPage($dialog, $nextPage, pageName, args);\n\t}\n};\n\n/**\n * К предыдущему представлению\n */\nconst toPrevPage = ($dialog: $el) => {\n\tconst $modalLayers = $('> .modal-layer', $dialog);\n\tconst $currentPage = $('> .active', $modalLayers).eq(0);\n\tconst $prevPage = $currentPage.prev('[data-view-page]');\n\tconst prevPageName = $prevPage.data('view-page');\n\n\tif (prevPageName) {\n\t\tvoid toViewPage($dialog, prevPageName, undefined, 'prev');\n\t} else {\n\t\t$dialog.dialog('close');\n\t}\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst beforeOpenViewPageTimers = new Set();\nconst beforeOpenViewPage = ($dialog: $el, $page: $el, pageName: string, args: string[]) => {\n\t// группировка цепочки событий\n\t// запрос на открытие страницы может выполняться несколько раз, чаще такое может быть при открытии, загрузке и переходе сразу к нужной странице\n\tconst eventKey = $dialog.attr('id') + $page.eq(0).data('view-page') + pageName + args.join();\n\n\tif (beforeOpenViewPageTimers.has(eventKey)) return;\n\tbeforeOpenViewPageTimers.add(eventKey);\n\n\tsetTimeout(function () {\n\t\tbeforeOpenViewPageTimers.delete(eventKey);\n\t\t$dialog.trigger('viewBeforeOpen', [$dialog, $page, pageName, args]);\n\t});\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst afterOpenViewPage = ($dialog: $el, $page: $el, pageName: string, args: string[]) => {\n\tsetTimeout(function () {\n\t\t$dialog.trigger('viewAfterOpen', [$dialog, $page, pageName, args]);\n\t});\n};\n\n/**\n * Получить состояние: Диалоговое окно находится в состоянии смены страницы\n */\nconst inAnimation = ($dialog: $el) => {\n\treturn $dialog.is('.i-change-page');\n};\n\n/**\n * Остановить анимацию смены страницы\n *\n * @returns Вернет true, если анимация производилась и была остановлена\n */\nconst stopAnimations = ($dialog: $el) => {\n\tif (!inAnimation($dialog)) return false;\n\n\tclearTimeout(timerClearAnimation);\n\n\tconst $modalLayers = $('> .modal-layer', $dialog);\n\n\tconst pageName = $dialog.data('view-page-active');\n\t$dialog.removeClass('i-change-page');\n\t$('> [data-view-page]', $modalLayers).removeClass('center-to-left right-to-center reverse active');\n\t$('> [data-view-page=\"' + pageName + '\"]', $modalLayers).addClass('active');\n\n\treturn true;\n};\n\n/**\n * Закрыть диалоговое окно\n */\nconst close = function (dialogId: string) {\n\tconst $dialog = $('#' + dialogId);\n\n\tif (!$dialog.dialog('instance')) return;\n\n\t$dialog.dialog('close');\n};\n\n/**\n * Управление props.isLoading\n */\nconst setLoading = ($page: $el, isLoading: boolean, duration?: number) => {\n\tif (!$page.is('[data-view-page]')) $page = $('[data-view-page]:visible', $page);\n\n\tif (isLoading) {\n\t\tif (duration !== undefined) {\n\t\t\t$page.each((_index, el) => {\n\t\t\t\tel.style.setProperty('--dialog-loading-duration', duration + 's');\n\t\t\t});\n\t\t}\n\n\t\t$page.addClass('i-load-data');\n\t} else {\n\t\t$page.removeClass('i-load-data');\n\n\t\t$page.each((_index, el) => {\n\t\t\tel.style.setProperty('--dialog-loading-duration', '10s');\n\t\t});\n\t}\n};\n\nconst isLoading = ($page: $el) => {\n\treturn $page.is('.i-load-data');\n};\n\nexport const TopDialogUtils = {\n\tupdatePageVue,\n\trecalcPositions,\n\ttoViewDirty,\n\ttoView,\n\ttoViewPage,\n\ttoPrevPage,\n\tsetLoading,\n\tisLoading,\n\tinAnimation,\n\tclose,\n};\n\ninit();\n"],"names":["el","$dialog","elDialog","toView","TopDialogUtils","viewName","viewNameAndPageLink","pageLink","$toDialog","utils_route","hash","elSubmit","elForm","zIndex","topZIndex","$dialogWrapper","Core","timerClearAnimation","_a","initDialogGlobalEvents","genVueOptions","_b","options","dialog","dialogs_vue_vue_type_script_setup_true_lang","dialogId","pageNameNext","utils_system","onCreate","utils_scroll","$dialogBody","initPopup","_e","$popup","onOpen","w1","scrollBarWidth","recalcPositions","pageName","onClose","hashData","eldDialog","$ui","toViewDirty","toViewPageName","moveDirection","toViewParts","argsString","viewNameOr$Dialog","args","callback","timer","resolve","stopAnimations","updatePageVue","$nextPage","$modalLayers","$currentPage","popup_worker","toPrevPage","beforeOpenViewPageTimers","eventKey","$page","inAnimation","toViewPage","duration","init"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils-CfkxxtUI.amd.js","sources":["../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"sourcesContent":["import { TopDialogUtils } from './utils';\nimport { TopDialogWorker } from './worker';\nimport { querySelectorVisible } from '@/core/utils/dom';\nimport type { $el } from '@/components/types';\nimport { historySetState } from '@/core/utils/route';\n\nlet inited = false;\n\n/**\n * Инициализация глобальных событий для диалоговых окон\n *\n * Проивзодится один раз при подклчюении диалогового окна\n *\n * События не размонитруются\n */\nexport const initDialogGlobalEvents = () => {\n\tif (inited) return;\n\tinited = true;\n\n\t/**\n\t * Закрытие диалога по Esc\n\t */\n\tdocument.addEventListener('keydown', (e) => {\n\t\tif (e.key !== 'Escape') return;\n\t\tif (!e.target) return;\n\n\t\tconst el = e.target as HTMLElement;\n\n\t\t// событие произошло вне диалогового окна\n\t\tif (!el.closest('.ui-dialog')) return;\n\n\t\tif (el.contentEditable === 'true' || el.contentEditable === 'plaintext-only') return;\n\n\t\t// не закрывать окно при открытом TopPopup\n\t\tif (querySelectorVisible(document.documentElement, '.top-popup-wrapper')) return;\n\n\t\t// не закрывать окно при работе с jquery autocomplete\n\t\tif (el.classList.contains('autocomplete')) return;\n\n\t\t// не закрывать окно при открытом fancybox\n\t\tif (querySelectorVisible(document.documentElement, '.fancybox-container')) return;\n\n\t\t$('.ui-dialog-content:visible:last').dialog('close');\n\t});\n\n\t/**\n\t * Закрытие диалога по кнопке закрыть\n\t */\n\t$(document).on('click', '[data-action=\"top-dialog-close\"]', (e) => {\n\t\te.preventDefault();\n\n\t\t// // навигация без истории\n\t\t// var $dialog = $(this).closest('.ui-dialog-content');\n\t\t// var viewName = $dialog.attr('id');\n\t\t// var pageName = getHash('view-' + viewName);\n\t\t// if (!pageName) {\n\t\t// \ttoPrevPage($dialog);\n\t\t//\n\t\t// \treturn;\n\t\t// }\n\t\t//\n\t\t// // навигация по истории\n\t\t// if (Core.state.isMobile && history.length > 1 && $(this).closest('.modal-layer').length) {\n\t\t// \tvar href = location.href;\n\t\t//\n\t\t// \thistory.go(-1);\n\t\t//\n\t\t// \tsetTimeout(() => {\n\t\t// \t\t// это первая страница в истории вкладки браузера\n\t\t// \t\tif (href === location.href) $(e.target).closest('.ui-dialog-content').dialog('close');\n\t\t// \t});\n\t\t// } else {\n\t\t// \t$(this).closest('.ui-dialog-content').dialog('close');\n\t\t// }\n\n\t\tconst el = e.target.closest('[data-action=\"top-dialog-close\"]');\n\n\t\tconst elDialog = el.closest('.ui-dialog-content');\n\t\tif (!elDialog) return;\n\n\t\tconst $dialog = $(elDialog);\n\n\t\t// если к кнопке привязана ссылка, диалоговое окно не нужно закрывать\n\t\tconst toView = el.dataset.toView;\n\n\t\tif (toView == 'toPrevPage()') {\n\t\t\tTopDialogUtils.toPrevPage($dialog);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (toView) {\n\t\t\tconst viewNameAndPageLink = toView.split('-');\n\t\t\tconst viewName = viewNameAndPageLink.shift();\n\t\t\tconst pageLink = viewNameAndPageLink.join('-');\n\n\t\t\tconst $toDialog = $('#' + viewName);\n\t\t\tconst $toPage = $('[data-view-page=\"' + pageLink + '\"]', $toDialog);\n\t\t\tif (!$toPage.is(':visible')) {\n\t\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, 'prev');\n\n\t\t\t\t// // не убирает кнопку \"Вперед\" в браузере\n\t\t\t\t// history.replaceState(null, '', hash);\n\t\t\t\t// toViewDirty(toView, 'prev');\n\n\t\t\t\t// // добавляет текущую страницу в историю браузера\n\t\t\t\thistorySetState(false, hash);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t$dialog.dialog('close');\n\t});\n\n\t/**\n\t * Все submit должны обрабатываться через js\n\t */\n\t$(document).on('submit', '.modal-body > form, .modal-layer-body > form', function (e) {\n\t\te.preventDefault();\n\t});\n\n\t/**\n\t * Выполнение действия по нажатию Enter\n\t *\n\t * @todo Убрать `.searcher`\n\t */\n\t$(document).on('keypress', '.ui-dialog .modal-body :input:not(.searcher), .ui-dialog .modal-body [contenteditable]', function (e) {\n\t\t// if (e.keyCode !== 10 && e.key !== 'ENTER') return;\n\t\tif (e.key !== 'ENTER') return;\n\n\t\t// не выполнять submit действий при работе с jquery autocomplete\n\t\tif (e.target.classList.contains('autocomplete')) {\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\t// реализация submit по ctrl + Enter\n\t\tif (e.target.tagName === 'TEXTAREA') {\n\t\t\tif (!e.ctrlKey && !e.metaKey) return;\n\n\t\t\tconst elForm = e.target.closest('form');\n\n\t\t\tif (elForm) {\n\t\t\t\tlet elSubmit = $(':submit:visible', elForm)[0];\n\t\t\t\tif (!elSubmit) elSubmit = $(':submit:visible', elForm)[0];\n\n\t\t\t\telSubmit?.click();\n\t\t\t}\n\t\t}\n\t});\n\n\t/**\n\t * Закрытие диалога по клику вне окна\n\t */\n\t$(document).on('click', '.ui-widget-overlay', function () {\n\t\tlet $dialogWrapper: $el | undefined = undefined;\n\t\tlet topZIndex = 0;\n\n\t\t$('.ui-dialog:visible').each((_index, el) => {\n\t\t\tconst zIndex = Number($(el).css('z-index'));\n\t\t\tif (zIndex < topZIndex) return;\n\n\t\t\t$dialogWrapper = $(el);\n\t\t\ttopZIndex = zIndex;\n\t\t});\n\n\t\tif ($dialogWrapper) {\n\t\t\t$('.ui-dialog-content', $dialogWrapper).dialog('close');\n\t\t}\n\t});\n\n\t$(window).on('resize', TopDialogUtils.recalcPositions);\n\tTopDialogUtils.recalcPositions();\n};\n","import 'jquery';\nimport { nextTick } from 'vue';\n\nimport Core from '@/core/core/core';\nimport { TopPopupWorker } from '@/components/popup/worker';\nimport { sleep, waitWhile } from '@/core/utils/system';\nimport { setHashs } from '@/core/utils/route';\nimport { connectScrollShadow } from '@/core/utils/scroll';\n\nimport type { MoveDirection } from './types';\nimport { TopDialogWorker } from './worker';\nimport { initDialogGlobalEvents } from './utils.globalEvents';\nimport { getDialogWorker } from '../dialog/dialogs/dialogs.vue';\n\nimport css from '../dialog/style/dialog.css?inline';\nimport cssM from '../dialog/style/dialog.m.css?inline';\nimport cssPC from '../dialog/style/dialog.pc.css?inline';\nimport cssModern from '../dialog/style/modern/dialog.css?inline';\nimport cssModernPC from '../dialog/style/modern/dialog.pc.css?inline';\nimport type { $el } from '@/components/types';\n\nCore.insertStyleToPage(css);\nCore.insertStyleToPage(cssM, 'm');\nCore.insertStyleToPage(cssPC, 'pc');\nCore.insertStyleToPage(cssModern);\nCore.insertStyleToPage(cssModernPC, 'pc');\n\nlet timerClearAnimation: NodeJS.Timeout;\nlet isInited = false;\n\nconst init = () => {\n\t$.extend($.ui.dialog.prototype.options, {\n\t\tfocus: (e: any) => {\n\t\t\te.target.focus();\n\n\t\t\t$('[autofocus]', e.target)[0]?.focus();\n\n\t\t\t// setTimeout(function () {\n\t\t\t// \tif ($('[autofocus]', e.target).length) return;\n\t\t\t// \t$('.modal-footer button:first, .modal-body :input:first', e.target).eq(0).focus();\n\t\t\t//\n\t\t\t// \t// fix пропадающего autocomplete при нажатии на scroll в autocomplete\n\t\t\t// \t$(e.target).add($(e.target).closest('.ui-dialog')).removeAttr('tabindex');\n\t\t\t// });\n\t\t},\n\t\tcreate: (e: any) => onCreate(e.target),\n\t\topen: (e: any) => onOpen(e.target),\n\t\tclose: (e: any) => onClose(e.target),\n\t\tmodal: true,\n\t\tresizable: false,\n\t\tcloseOnEscape: false,\n\t\twidth: 'auto',\n\t\tminHeight: 0,\n\t});\n\n\t$.ui.dialog.prototype._focusTabbable = $.noop;\n\n\t$.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop;\n\t$.ui.dialog.prototype._moveToTop = function () {\n\t\tthis._moveToTopOriginal();\n\n\t\tconst $dialog = $(this.element);\n\t\t$dialog.trigger('dialogsMoveToTop', [$dialog]);\n\t};\n\n\tinitDialogGlobalEvents();\n\n\tisInited = true;\n};\n\n/**\n * Получить настройки диалогового окна из Vue компонента\n */\nconst genVueOptions = ($dialog: $el) => {\n\tconst options: {\n\t\tmodal?: boolean,\n\t\tposition?: any,\n\t} = {};\n\n\tif ($dialog[0]?.dataset?.modal === 'false') options.modal = false;\n\tif ($dialog[0]?.dataset?.position) options.position = JSON.parse($dialog[0].dataset.position);\n\n\treturn options;\n};\n\n/**\n * Сменить состояние диалогового окна Vue\n */\nconst updatePageVue = async (dialogId: string, pageName?: string, pageNameNext?: string) => {\n\tif (!dialogId.startsWith('dialog_')) return;\n\n\tconst dialog = getDialogWorker(dialogId);\n\tif (!dialog) return;\n\n\tdialog.isOpened.value = true;\n\tif (pageName !== undefined) dialog.pageActive.value = pageName;\n\tif (pageNameNext !== undefined) dialog.pageActiveNext.value = pageNameNext;\n\n\tawait nextTick();\n\n\tif (pageNameNext) {\n\t\tconst $dialog = $('#' + dialogId);\n\t\tconst $nextPage = $('[data-view-page=\"' + pageNameNext + '\"]', $dialog);\n\n\t\tif (!$nextPage.length) {\n\t\t\tawait waitWhile(() => !$('[data-view-page=\"' + pageNameNext + '\"]', $dialog).length);\n\t\t}\n\t}\n};\n\n/**\n * Callback for jQuery dialog onCreate\n */\nconst onCreate = (elDialog: HTMLElement) => {\n\tconst $dialog = $(elDialog);\n\tconst $dialogBody = $('.modal-body', $dialog);\n\n\tconnectScrollShadow($dialogBody[0]);\n\n\tTopDialogWorker.state.decoratorOnCreate?.(elDialog);\n\n\tinitPopup(elDialog);\n};\n\n/**\n * Инициирование событий TopPopup в диалоговом окне\n */\nconst initPopup = (elDialog: HTMLElement) => {\n\t$(elDialog).on('aftershow.top-menu-popup', '[data-top-popup]', (_e, $popup) => {\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst $pageContent = TopDialogWorker.get$pairPage($popup).eq(1);\n\t\t$pageContent.prepend($popup);\n\t});\n};\n\n/**\n * Callback for jQuery dialog onOpen\n */\nconst onOpen = async (elDialog: HTMLElement) => {\n\tconst $dialog = $(elDialog);\n\tconst pageName = $dialog.data('view-page-active');\n\n\tconst w1 = Number($(window).width());\n\n\tCore.state.documentClassModificators.set('top-dialog', 'with_dialog');\n\n\tconst w2 = Number($(window).width());\n\n\tconst scrollBarWidth = w2 - w1;\n\tif (Number($(document).height()) > Number($(window).height())) $('html').css({ 'margin-right': scrollBarWidth + 'px' });\n\n\trecalcPositions();\n\n\tconst dialog = getDialogWorker($dialog.attr('id') as string);\n\tdialog?.emit?.('open', pageName);\n};\n\n/**\n * Callback for jQuery dialog onClose\n */\nconst onClose = async (elDialog: HTMLElement) => {\n\tconst $dialog = $(elDialog);\n\n\tconst viewName = $dialog.attr('id');\n\tconst pageName = $dialog.data('view-page-active');\n\tif (pageName) {\n\t\tconst hashData = {\n\t\t\tvpn: TopDialogWorker.state.viewPageN as number | null,\n\t\t\t['view-' + viewName]: null,\n\t\t};\n\t\thashData['view-' + viewName] = null;\n\n\t\tif (TopDialogWorker.state.viewPageN === 0 || TopDialogWorker.state.viewPageN === 1) {\n\t\t\thashData.vpn = null;\n\t\t}\n\n\t\tsetHashs(hashData, false);\n\t}\n\n\tif (!$('.ui-widget-overlay:visible').length) {\n\t\tCore.state.documentClassModificators.delete('top-dialog');\n\n\t\t$('html').css({ 'margin-right': '' });\n\t}\n\n\t$dialog.trigger('viewAfterClose', [$dialog]);\n\n\tconst dialog = getDialogWorker($dialog.attr('id') as string);\n\tif (dialog) {\n\t\tdialog.isOpened.value = false;\n\t\tdialog.emit?.('close', pageName);\n\n\t\tif (dialog.onCloseOnce) {\n\t\t\tdialog.onCloseOnce(dialog.props, pageName);\n\t\t\tdialog.onCloseOnce = undefined;\n\t\t}\n\t}\n\n\t// после закрытия диалога может потребоваться пересчет позиций элементов\n\twindow.dispatchEvent(new Event('resize'));\n};\n\n/**\n * Пересчитать положения и размеры открытых диалоговых окон\n */\nconst recalcPositions = () => {\n\t$('.ui-dialog:visible > .ui-dialog-content').each((_index, eldDialog: HTMLElement) => {\n\t\tconst $dialog = $(eldDialog);\n\t\tconst $dialogBody = $('.modal-body:visible', $dialog);\n\t\tconst $ui = $dialog.closest('.ui-dialog');\n\n\t\tif (!$dialogBody.length) return;\n\n\t\tconst options = genVueOptions($dialog);\n\n\t\toptions.position ??= { of: window };\n\n\t\t$dialog.dialog('option', options);\n\n\t\t$ui.removeClass('me-tightly');\n\t\tif (Number($ui.height()) > Number($(window).height())) $ui.addClass('me-tightly');\n\t});\n};\n\n// переход к view page по неразобранной ссылке в формате: {viewName}-{pageName}[:args]\nconst toViewDirty = async (toViewPageName: string, moveDirection?: MoveDirection) => {\n\tconst regexp = /(\\w+)[=-]([\\w-]+)(?::([\\w.:-]+))?/g;\n\tconst toViewParts = regexp.exec(toViewPageName);\n\tif (toViewParts) {\n\t\tconst viewName = toViewParts[1];\n\t\tconst pageName = toViewParts[2];\n\t\tconst argsString = toViewParts[3];\n\n\t\tlet args: string[] = [];\n\t\tif (argsString) args = argsString.split(':');\n\n\t\tawait toView(viewName, pageName, args, moveDirection);\n\t}\n};\n\n/**\n * Открыть диалоговое окно, возможно указать нужную страницу\n * @param viewNameOr$Dialog - id страницы окна или jQuery элемент окна\n * @param pageName - имя страницы\n * @param args - аргументы, набор проивзольных параметров, которые могут обрабатываться каждым окном по своему\n * @param moveDirection\n * @param callback - функция, которая будет запущена после октытия страницы\n */\nconst toView = async (\n\tviewNameOr$Dialog: $el | string,\n\tpageName?: string,\n\targs?: string[],\n\tmoveDirection?: MoveDirection,\n\tcallback?: Function,\n) => {\n\tif (!isInited) {\n\t\tawait new Promise<void>((resolve, _reject) => {\n\t\t\tconst timer = setInterval(() => {\n\t\t\t\tif (!isInited) return;\n\n\t\t\t\tclearInterval(timer);\n\n\t\t\t\tresolve();\n\t\t\t}, 10);\n\t\t});\n\t}\n\n\tawait nextTick();\n\n\tlet $dialog: $el;\n\tif (typeof (viewNameOr$Dialog) === 'object') {\n\t\t$dialog = viewNameOr$Dialog;\n\t} else {\n\t\t$dialog = $('#' + viewNameOr$Dialog);\n\t}\n\n\t// Диалоговое окно еще не загружено\n\tif (!$dialog.length && typeof (viewNameOr$Dialog) == 'string' && TopDialogWorker.state.load) {\n\t\tawait TopDialogWorker.state.load(viewNameOr$Dialog);\n\n\t\tawait toView(viewNameOr$Dialog, pageName, args, moveDirection, callback);\n\n\t\treturn;\n\t}\n\n\tawait toViewPage($dialog, pageName, args, moveDirection);\n\n\tif ($dialog.is('.ui-dialog-content')) {\n\t\t// var zIndexMax = 0;\n\t\t// $.map($('.ui-dialog'), function (el) {\n\t\t// \tvar zIndex = $(el).css('z-index') * 1;\n\t\t// \tif (zIndex > zIndexMax) zIndexMax = zIndex;\n\t\t// });\n\t\t//\n\t\t// if ($dialog.is(':hidden')) $dialog.dialog('open');\n\t\t//\n\t\t// var $dialogWrapper = $dialog.parent();\n\t\t// var $dialogOverlay = $dialogWrapper.next();\n\t\t//\n\t\t// if ($dialogWrapper.css('z-index') * 1 < zIndexMax) {\n\t\t// \t$dialogWrapper.css('z-index', zIndexMax + 2);\n\t\t// \t$dialogOverlay.css('z-index', zIndexMax + 1);\n\t\t// }\n\n\t\t$dialog.dialog('open');\n\t} else {\n\t\tconst options = genVueOptions($dialog);\n\n\t\t$dialog.dialog(options);\n\t}\n\n\tif (callback) callback($dialog);\n};\n\nconst toViewPage = async ($dialog: $el, pageName?: string, args?: string[], moveDirection?: MoveDirection) => {\n\tif (pageName === undefined) pageName = $dialog.data('view-page-active') as string;\n\n\tif (pageName != $dialog.data('view-page-active')) {\n\t\tconst stopped = stopAnimations($dialog);\n\t\tif (stopped) await sleep(100);\n\t}\n\n\tif (args === undefined) args = [];\n\n\tawait updatePageVue($dialog.attr('id') as string, undefined, pageName);\n\n\tconst $modalLayers = $('> .modal-layer', $dialog);\n\tconst $currentPage = $('> .active', $modalLayers);\n\tconst $nextPage = $('> [data-view-page=\"' + pageName + '\"]', $modalLayers);\n\tconst argsString = args.join(':');\n\n\tif (moveDirection === undefined) {\n\t\tmoveDirection = 'next';\n\t\tif ($nextPage.data('order') < $currentPage.data('order')) moveDirection = 'prev';\n\t}\n\n\tif (!$nextPage.length) return;\n\n\t$dialog.data('view-page-active', pageName);\n\n\t// запрашиваемая страница уже открыта\n\tif ($nextPage.is('.active')) {\n\t\tif ($nextPage.data('view-page-args') != argsString) {\n\t\t\t$nextPage.data('view-page-args', argsString);\n\n\t\t\t// dialogs.beforeOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t\t// dialogs.afterOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t}\n\n\t\tbeforeOpenViewPage($dialog, $nextPage, pageName, args);\n\t\tafterOpenViewPage($dialog, $nextPage, pageName, args);\n\n\t\treturn;\n\t}\n\n\t$nextPage.data('view-page-args', argsString);\n\n\tif ($('.top-popup-wrapper', $currentPage).length) {\n\t\tTopPopupWorker.close($('.top-popup-wrapper', $currentPage)[0]);\n\t}\n\n\tif ($nextPage.closest('.ui-dialog').is(':hidden')) moveDirection = 'none';\n\tif (!$currentPage.length) moveDirection = 'none';\n\tif ($nextPage.is(':visible')) moveDirection = 'none';\n\tswitch (moveDirection) {\n\t\tcase 'prev':\n\t\t\t$nextPage.each((_index, el) => {\n\t\t\t\t$(el).insertBefore($(el).siblings('.active'));\n\t\t\t});\n\n\t\t\t$currentPage.addClass('right-to-center reverse');\n\t\t\t$nextPage.addClass('center-to-left reverse');\n\n\t\t\tbreak;\n\t\tcase 'next':\n\t\t\t$nextPage.each((_index, el) => {\n\t\t\t\t$(el).insertAfter($(el).siblings('.active'));\n\t\t\t});\n\n\t\t\t$currentPage.addClass('center-to-left');\n\t\t\t$nextPage.addClass('right-to-center');\n\n\t\t\tbreak;\n\t}\n\n\t$dialog.attr('view-page-active', pageName);\n\n\t$currentPage.removeClass('active');\n\t$nextPage.addClass('active');\n\n\tbeforeOpenViewPage($dialog, $nextPage, pageName, args);\n\n\tif (moveDirection) {\n\t\t$dialog.addClass('i-change-page');\n\t\tconst delay = Number($nextPage.css('animation-duration').replace('s', '')) * 1000;\n\n\t\ttimerClearAnimation = setTimeout(function () {\n\t\t\tupdatePageVue($dialog.attr('id') as string, pageName, '');\n\t\t\tstopAnimations($dialog);\n\t\t\tafterOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t}, delay);\n\t} else {\n\t\tawait updatePageVue($dialog.attr('id') as string, pageName, '');\n\t\tafterOpenViewPage($dialog, $nextPage, pageName, args);\n\t}\n};\n\n/**\n * К предыдущему представлению\n */\nconst toPrevPage = ($dialog: $el) => {\n\tconst $modalLayers = $('> .modal-layer', $dialog);\n\tconst $currentPage = $('> .active', $modalLayers).eq(0);\n\tconst $prevPage = $currentPage.prev('[data-view-page]');\n\tconst prevPageName = $prevPage.data('view-page');\n\n\tif (prevPageName) {\n\t\tvoid toViewPage($dialog, prevPageName, undefined, 'prev');\n\t} else {\n\t\t$dialog.dialog('close');\n\t}\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst beforeOpenViewPageTimers = new Set();\nconst beforeOpenViewPage = ($dialog: $el, $page: $el, pageName: string, args: string[]) => {\n\t// группировка цепочки событий\n\t// запрос на открытие страницы может выполняться несколько раз, чаще такое может быть при открытии, загрузке и переходе сразу к нужной странице\n\tconst eventKey = $dialog.attr('id') + $page.eq(0).data('view-page') + pageName + args.join();\n\n\tif (beforeOpenViewPageTimers.has(eventKey)) return;\n\tbeforeOpenViewPageTimers.add(eventKey);\n\n\tsetTimeout(function () {\n\t\tbeforeOpenViewPageTimers.delete(eventKey);\n\t\t$dialog.trigger('viewBeforeOpen', [$dialog, $page, pageName, args]);\n\t});\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst afterOpenViewPage = ($dialog: $el, $page: $el, pageName: string, args: string[]) => {\n\tsetTimeout(function () {\n\t\t$dialog.trigger('viewAfterOpen', [$dialog, $page, pageName, args]);\n\t});\n};\n\n/**\n * Получить состояние: Диалоговое окно находится в состоянии смены страницы\n */\nconst inAnimation = ($dialog: $el) => {\n\treturn $dialog.is('.i-change-page');\n};\n\n/**\n * Остановить анимацию смены страницы\n *\n * @returns Вернет true, если анимация производилась и была остановлена\n */\nconst stopAnimations = ($dialog: $el) => {\n\tif (!inAnimation($dialog)) return false;\n\n\tclearTimeout(timerClearAnimation);\n\n\tconst $modalLayers = $('> .modal-layer', $dialog);\n\n\tconst pageName = $dialog.data('view-page-active');\n\t$dialog.removeClass('i-change-page');\n\t$('> [data-view-page]', $modalLayers).removeClass('center-to-left right-to-center reverse active');\n\t$('> [data-view-page=\"' + pageName + '\"]', $modalLayers).addClass('active');\n\n\treturn true;\n};\n\n/**\n * Закрыть диалоговое окно\n */\nconst close = function (dialogId: string) {\n\tconst $dialog = $('#' + dialogId);\n\n\tif (!$dialog.dialog('instance')) return;\n\n\t$dialog.dialog('close');\n};\n\n/**\n * Управление props.isLoading\n */\nconst setLoading = ($page: $el, isLoading: boolean, duration?: number) => {\n\tif (!$page.is('[data-view-page]')) $page = $('[data-view-page]:visible', $page);\n\n\tif (isLoading) {\n\t\tif (duration !== undefined) {\n\t\t\t$page.each((_index, el) => {\n\t\t\t\tel.style.setProperty('--dialog-loading-duration', duration + 's');\n\t\t\t});\n\t\t}\n\n\t\t$page.addClass('i-load-data');\n\t} else {\n\t\t$page.removeClass('i-load-data');\n\n\t\t$page.each((_index, el) => {\n\t\t\tel.style.setProperty('--dialog-loading-duration', '10s');\n\t\t});\n\t}\n};\n\nconst isLoading = ($page: $el) => {\n\treturn $page.is('.i-load-data');\n};\n\nexport const TopDialogUtils = {\n\tupdatePageVue,\n\trecalcPositions,\n\ttoViewDirty,\n\ttoView,\n\ttoViewPage,\n\ttoPrevPage,\n\tsetLoading,\n\tisLoading,\n\tinAnimation,\n\tclose,\n};\n\ninit();\n"],"names":["el","$dialog","elDialog","toView","TopDialogUtils","viewName","viewNameAndPageLink","pageLink","$toDialog","utils_route","hash","elSubmit","elForm","zIndex","topZIndex","$dialogWrapper","Core","timerClearAnimation","_a","initDialogGlobalEvents","genVueOptions","_b","options","dialog","dialogs_vue_vue_type_script_setup_true_lang","dialogId","pageNameNext","utils_system","onCreate","utils_scroll","$dialogBody","initPopup","_e","$popup","onOpen","w1","scrollBarWidth","recalcPositions","pageName","onClose","hashData","eldDialog","$ui","toViewDirty","toViewPageName","moveDirection","toViewParts","argsString","viewNameOr$Dialog","args","callback","timer","resolve","stopAnimations","updatePageVue","$nextPage","$modalLayers","$currentPage","popup_worker","toPrevPage","beforeOpenViewPageTimers","eventKey","$page","inAnimation","toViewPage","duration","init"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref as s, getCurrentInstance as a, inject as i } from "vue";
|
|
2
|
-
import { a as n, g as c } from "./dialogs.vue_vue_type_script_setup_true_lang-
|
|
2
|
+
import { a as n, g as c } from "./dialogs.vue_vue_type_script_setup_true_lang-CyIjovTF.es.js";
|
|
3
3
|
import { waitWhile as w } from "../utils/system.js";
|
|
4
4
|
class l {
|
|
5
5
|
/**
|
|
@@ -76,4 +76,4 @@ export {
|
|
|
76
76
|
d as b,
|
|
77
77
|
h as u
|
|
78
78
|
};
|
|
79
|
-
//# sourceMappingURL=utils-
|
|
79
|
+
//# sourceMappingURL=utils-D0Tam2rx.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-
|
|
1
|
+
{"version":3,"file":"utils-D0Tam2rx.es.js","sources":["../../src/components/dialog/dialog/composables/asyncDialogHandle.ts","../../src/components/dialog/dialog/composables/utils.ts"],"sourcesContent":["import type { Ref } from 'vue';\nimport { ref } from 'vue';\nimport { useTopDialog } from './utils';\nimport { waitWhile } from '@/core/utils/system';\nimport type { AsyncTopDialogComponentLoader, TopDialogComponent } from './types';\nimport { TopDialogHandle } from './dialogHandle';\n\n/**\n * Объект для работы с асинхронным диалоговым окном\n *\n * Является прослойкой для доступа к TopDialogHandle\n */\nexport class AsyncTopDialogHandle<T extends TopDialogComponent> {\n\n\t/**\n\t * Функция, определяющая компонент TopDialogComponent\n\t */\n\treadonly resolve: AsyncTopDialogComponentLoader<T>;\n\n\t/**\n\t * Реактивная Сссылка на объект worker,\n\t *\n\t * Ссылка не будет указывать на объект, если диалоговое окно еще не загружено\n\t */\n\treadonly worker: Ref<TopDialogHandle<T> | null> = ref(null);\n\n\tconstructor(resolve: AsyncTopDialogComponentLoader<T>) {\n\t\tthis.resolve = resolve;\n\t}\n\n\t/**\n\t * Получить доступ к TopDialogHandle\n\t */\n\tasync get() {\n\t\tif (this.worker.value) return this.worker.value;\n\n\t\tconst result = await this.resolve();\n\t\tconst TopDialogComponent = result.default;\n\n\t\tthis.worker.value = useTopDialog(TopDialogComponent);\n\n\t\tconst worker = this.worker.value;\n\n\t\tawait waitWhile(() => !worker.isMounted);\n\n\t\treturn worker;\n\t}\n\n\t/**\n\t * Открыть диалоговое окно\n\t */\n\tasync open(...args: Parameters<TopDialogHandle<T>['open']>) {\n\t\tconst worker = await this.get();\n\n\t\tawait worker.open(...args);\n\t}\n\n\t/**\n\t * Открыть диалоговое окно как ссылку, для хеш-навигации\n\t *\n\t * Только общедоступные диалоговые окна, расположенные в @/dialogs\n\t */\n\tasync openAsLink(...args: Parameters<TopDialogHandle<T>['open']>) {\n\t\tconst worker = await this.get();\n\n\t\tvoid worker.openAsLink(...args);\n\t}\n\n\t/**\n\t * Закрыть диалоговое окно\n\t *\n\t * Не меняет состояние компонента диалогового окна\n\t */\n\tasync close(...args: Parameters<TopDialogHandle<T>['close']>) {\n\t\tconst worker = await this.get();\n\n\t\tworker.close(...args);\n\t}\n\n\t/**\n\t * Размонтировать виджет диалогового окна\n\t */\n\tasync destroy(...args: Parameters<TopDialogHandle<T>['close']>) {\n\t\tconst worker = await this.get();\n\n\t\tworker.destroy(...args);\n\t}\n\n\t/**\n\t * Устанвоить props\n\t *\n\t * Полностью сбрасывается состояние props\n\t */\n\tasync setProps(...args: Parameters<TopDialogHandle<T>['setProps']>) {\n\t\tconst worker = await this.get();\n\n\t\tawait worker.setProps(...args);\n\t}\n}\n","import { getCurrentInstance, inject } from 'vue';\nimport { TopDialogHandle } from './dialogHandle';\nimport { AsyncTopDialogHandle } from './asyncDialogHandle';\nimport type { AsyncTopDialogComponentLoader, TopDialogComponent } from './types';\nimport { addDialogWorker, getDialogWorker } from '../dialogs/dialogs.vue';\n\n/**\n * Получить объект управленя текущим диалоговым окном\n */\nexport const useTopDialogSelf = () => {\n\t// вызов из пользовтаельского компонента диалога\n\tconst topDialogComponent = getCurrentInstance() as any;\n\tif (topDialogComponent?.type?.id) {\n\t\tconst dialogWorker = getDialogWorker(topDialogComponent.type.id);\n\t\tif (dialogWorker) return dialogWorker;\n\t}\n\n\treturn inject('dialogWorker') as TopDialogHandle<TopDialogComponent>;\n};\n\n/**\n * Получить объект управленя диалоговым окном\n *\n * При первом вызове компонент диалогового окна будет внедрен в компонент DialogWrapper\n */\nexport const useTopDialog = <T extends TopDialogComponent>(DialogComponent: T): TopDialogHandle<T> => {\n\treturn addDialogWorker(DialogComponent);\n};\n\n/**\n * Получить объект управленя асинхронным диалоговым окном\n *\n * Компонент диалогового окна будет загружен и инициирован при первом взаимодействии с объектом\n *\n * Использует useTopDialog()\n */\nexport const useAsyncTopDialog = <T extends TopDialogComponent>(resolve: AsyncTopDialogComponentLoader<T>): AsyncTopDialogHandle<T> => {\n\treturn new AsyncTopDialogHandle(resolve);\n};\n"],"names":["AsyncTopDialogHandle","ref","resolve","TopDialogComponent","useTopDialog","worker","waitWhile","args","useTopDialogSelf","topDialogComponent","getCurrentInstance","_a","dialogWorker","getDialogWorker","inject","DialogComponent","addDialogWorker","useAsyncTopDialog"],"mappings":";;;AAYO,MAAMA,EAAmD;AAAA;AAAA;AAAA;AAAA,EAKtD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAyCC,EAAI,IAAI;AAAA,EAE1D,YAAYC,GAA2C;AACtD,SAAK,UAAUA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAMhB,MAAM,MAAM;AACX,QAAI,KAAK,OAAO,MAAO,QAAO,KAAK,OAAO;AAG1C,UAAMC,KADS,MAAM,KAAK,QAAQ,GACA;AAE7B,SAAA,OAAO,QAAQC,EAAaD,CAAkB;AAE7C,UAAAE,IAAS,KAAK,OAAO;AAE3B,iBAAMC,EAAU,MAAM,CAACD,EAAO,SAAS,GAEhCA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAMR,MAAM,QAAQE,GAA8C;AAGrD,WAFS,MAAM,KAAK,IAAI,GAEjB,KAAK,GAAGA,CAAI;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ1B,MAAM,cAAcA,GAA8C;AAG5D,KAFU,MAAM,KAAK,IAAI,GAElB,WAAW,GAAGA,CAAI;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/B,MAAM,SAASA,GAA+C;AAGtD,KAFQ,MAAM,KAAK,IAAI,GAEvB,MAAM,GAAGA,CAAI;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAMrB,MAAM,WAAWA,GAA+C;AAGxD,KAFQ,MAAM,KAAK,IAAI,GAEvB,QAAQ,GAAGA,CAAI;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQvB,MAAM,YAAYA,GAAkD;AAG7D,WAFS,MAAM,KAAK,IAAI,GAEjB,SAAS,GAAGA,CAAI;AAAA,EAAA;AAE/B;ACzFO,MAAMC,IAAmB,MAAM;;AAErC,QAAMC,IAAqBC,EAAmB;AAC1C,OAAAC,IAAAF,KAAA,gBAAAA,EAAoB,SAApB,QAAAE,EAA0B,IAAI;AACjC,UAAMC,IAAeC,EAAgBJ,EAAmB,KAAK,EAAE;AAC/D,QAAIG,EAAqB,QAAAA;AAAA,EAAA;AAG1B,SAAOE,EAAO,cAAc;AAC7B,GAOaV,IAAe,CAA+BW,MACnDC,EAAgBD,CAAe,GAU1BE,IAAoB,CAA+Bf,MACxD,IAAIF,EAAqBE,CAAO;"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { nextTick as P } from "vue";
|
|
2
|
+
import { C as p } from "./forms-B3-Z-FXS.es.js";
|
|
3
|
+
import { TopPopupWorker as O } from "../popup/worker.js";
|
|
4
|
+
import { sleep as V, waitWhile as A } from "../utils/system.js";
|
|
5
|
+
import { historySetState as W, setHashs as j } from "../utils/route.js";
|
|
6
|
+
import { connectScrollShadow as L } from "../utils/scroll.js";
|
|
7
|
+
import { T as s, g as v } from "./dialogs.vue_vue_type_script_setup_true_lang-CyIjovTF.es.js";
|
|
8
|
+
import { querySelectorVisible as b } from "../utils/dom.js";
|
|
9
|
+
$;
|
|
10
|
+
let x = !1;
|
|
11
|
+
const M = () => {
|
|
12
|
+
x || (x = !0, document.addEventListener("keydown", (e) => {
|
|
13
|
+
if (e.key !== "Escape" || !e.target) return;
|
|
14
|
+
const t = e.target;
|
|
15
|
+
t.closest(".ui-dialog") && (t.contentEditable === "true" || t.contentEditable === "plaintext-only" || b(document.documentElement, ".top-popup-wrapper") || t.classList.contains("autocomplete") || b(document.documentElement, ".fancybox-container") || $(".ui-dialog-content:visible:last").dialog("close"));
|
|
16
|
+
}), $(document).on("click", '[data-action="top-dialog-close"]', (e) => {
|
|
17
|
+
e.preventDefault();
|
|
18
|
+
const t = e.target.closest('[data-action="top-dialog-close"]'), o = t.closest(".ui-dialog-content");
|
|
19
|
+
if (!o) return;
|
|
20
|
+
const i = $(o), a = t.dataset.toView;
|
|
21
|
+
if (a == "toPrevPage()") {
|
|
22
|
+
u.toPrevPage(i);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (a) {
|
|
26
|
+
const n = a.split("-"), r = n.shift(), d = n.join("-"), l = $("#" + r);
|
|
27
|
+
if (!$('[data-view-page="' + d + '"]', l).is(":visible")) {
|
|
28
|
+
const E = s.genViewPageHash(a, "prev");
|
|
29
|
+
W(!1, E);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
i.dialog("close");
|
|
34
|
+
}), $(document).on("submit", ".modal-body > form, .modal-layer-body > form", function(e) {
|
|
35
|
+
e.preventDefault();
|
|
36
|
+
}), $(document).on("keypress", ".ui-dialog .modal-body :input:not(.searcher), .ui-dialog .modal-body [contenteditable]", function(e) {
|
|
37
|
+
if (e.key === "ENTER") {
|
|
38
|
+
if (e.target.classList.contains("autocomplete")) {
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (e.target.tagName === "TEXTAREA") {
|
|
43
|
+
if (!e.ctrlKey && !e.metaKey) return;
|
|
44
|
+
const t = e.target.closest("form");
|
|
45
|
+
if (t) {
|
|
46
|
+
let o = $(":submit:visible", t)[0];
|
|
47
|
+
o || (o = $(":submit:visible", t)[0]), o == null || o.click();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}), $(document).on("click", ".ui-widget-overlay", function() {
|
|
52
|
+
let e, t = 0;
|
|
53
|
+
$(".ui-dialog:visible").each((o, i) => {
|
|
54
|
+
const a = Number($(i).css("z-index"));
|
|
55
|
+
a < t || (e = $(i), t = a);
|
|
56
|
+
}), e && $(".ui-dialog-content", e).dialog("close");
|
|
57
|
+
}), $(window).on("resize", u.recalcPositions), u.recalcPositions());
|
|
58
|
+
}, B = ':root{--dialog-border-color: var(--color-line-1);--dialog-loading-duration: 10s;--top-dialog-footer-height: var(--top-forms-base-height_s)}html.with_dialog{overflow:hidden!important}a[data-to-view]{cursor:pointer}.ui-widget-overlay{background:#040404;opacity:.5;filter:Alpha(Opacity=50)}.ui-dialog{border-radius:8px;border:none;padding:0}.ui-dialog.ui-widget{border:none}.ui-dialog-titlebar{display:none}.ui-dialog .ui-dialog-content{padding:0;overflow:visible}.ui-dialog .project_name{word-break:break-all}.ui-dialog-content{--dialog-header-height: 50px;--dialog-layer-pageSelector: 0px}.ui-dialog-content-withPageSelector{--dialog-layer-pageSelector: 42px}.modal-header,.modal-body,.modal-footer{font-size:14px;position:relative}.modal-body{padding:var(--padding-default)}.modal-body:has(>.topTable:first-child){padding-top:calc(var(--padding-default) / 4)}.modal-header{border-bottom:1px solid var(--dialog-border-color);height:var(--dialog-header-height);padding:0 var(--padding-default);display:flex;justify-content:space-between;align-items:center;gap:16px}.modal-header>*{padding:10px 0;font-size:16px}.modal-header>.top-title{margin:0;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1;order:50;display:flex;align-items:center}.modal-header>.top-title>div[class*=icon]{display:none}.modal-header>div:not(.top-title){order:60}.modal-header>div.close{--top-icon-color: var(--color-text-3);cursor:pointer;background:var(--color-layout-front-1);font-size:16px;order:100;animation-name:none!important}.modal-header>div.close:hover{--top-icon-color: var(--color-text-1)}.modal-header .links_icons{position:absolute;right:50px}.modal-header .links_icons [class*=icon-]{width:auto;height:auto;padding:0 5px;color:#d6dee0}.modal-header .links_icons [class*=icon-].active{color:var(--color-bg-warning-1)}.modal-layer-pageSelector{padding:0 10px!important}.modal-body{max-height:calc(var(--100vh) - var(--dialog-header-height) - 1px - var(--dialog-layer-pageSelector) - var(--top-dialog-footer-height) - 1px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box;flex-grow:1}.modal-body hr{margin:16px -15px}.modal-body h4{padding:0;margin:0 0 10px;line-height:normal}.modal-body .inner{padding:var(--padding-default);margin:0 calc(0px - var(--padding-default));position:relative}.modal-body .inner .bt{border-top:1px dashed var(--color-layout-front-primary-3);position:absolute;top:0;right:0;left:0}.modal-body .inner .bb{border-bottom:1px dashed var(--color-layout-front-primary-3);position:absolute;right:0;bottom:0;left:0}.modal-body .inner.color-1{background:var(--color-layout-front-primary-3);color:var(--color-text-1)}.modal-body .inner strong{color:var(--color-text-1)}.modal-body .comment{line-height:18px}.modal-footer{min-height:var(--top-dialog-footer-height);padding:var(--top-gap-2);display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:var(--top-gap-2)}.modal-footer .modal-footer-btn-left{margin-right:auto}.modal-footer>.btn.full_width,.modal-footer>.top-button.full_width{flex-grow:1;align-self:flex-end}.modal-footer-fullWith{flex-wrap:wrap}.modal-footer-fullWith>*{flex-grow:1}.modal-footer-fullWith>.top-info{flex-grow:5}.modal-footer-fullWith>*:empty{flex-grow:0}.ui-dialog-content>.modal-layer>[data-view-page]>input[type=submit]{position:absolute;visibility:hidden}.help_popup .modal-header{display:none}.help_popup .modal-header a{top:2px;z-index:10}.help_popup .modal-header .top-title{display:none}.modal-layer{overflow:hidden}.modal-layer a[data-top-icon]:empty{color:var(--color-text-4);text-decoration:none}.modal-layer>[data-view-page]>div>div.buttons{display:flex;white-space:nowrap}.modal-layer>[data-view-page]>div>div.buttons:empty{display:none}.modal-layer>[data-view-page]>div>div.buttons>div,.modal-layer>[data-view-page]>div>div.buttons>a{cursor:pointer;width:auto;height:auto;min-width:auto;min-height:auto;padding:10px 9px;color:var(--color-text-4)}.modal-layer>[data-view-page]>div>div.buttons>div:hover{color:var(--color-text-2)}.modal-layer>[data-view-page]>div>div.buttons>div.hidden{display:none!important}.ui-dialog-content[data-view-page-active]{display:flex!important;flex-direction:column;justify-items:stretch}.ui-dialog-content>.modal-layer{display:flex!important;align-items:stretch;position:relative}.ui-dialog-content.i-change-page>.modal-layer{overflow:hidden}.ui-dialog-content>.modal-layer>[data-view-page]{width:100%;position:relative;display:none;flex-direction:column;justify-content:space-between;animation:.3s cubic-bezier(.4,0,.2,1) forwards}.ui-dialog-content>.modal-layer>[data-view-page].active{display:flex}.ui-dialog-content>.modal-layer>[data-view-page].reverse{animation-direction:reverse}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center{display:flex;position:absolute;inset:0}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left>div,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center>div{overflow:hidden}.ui-dialog-content>.modal-layer-header{border-bottom:1px solid var(--dialog-border-color);min-height:var(--dialog-header-height)}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header{border:none;background:none}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header>*{animation:.3s cubic-bezier(.4,0,.2,1) forwards}.ui-dialog-content>.modal-layer-header>[data-view-page].reverse>.modal-header>*{animation-direction:reverse}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>.top-title{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>.top-title{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>[class*=widget-]{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>[class*=widget-]{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>div{animation-name:dialog-center-to-left-header-icons}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>div{animation-name:dialog-right-to-center-header-icons}.ui-dialog-content>.modal-layer-body{border-radius:0 0 8px 8px;max-height:calc(var(--100vh) - var(--dialog-header-height) - var(--dialog-layer-pageSelector) - var(--toolbar-height));flex-grow:2}.ui-dialog-content.i-change-page>.modal-layer-body>[data-view-page]{background:var(--color-layout-front-1)}.ui-dialog-content>.modal-layer-body>[data-view-page].center-to-left{animation-name:dialog-center-to-left}.ui-dialog-content>.modal-layer-body>[data-view-page].right-to-center{animation-name:dialog-right-to-center}.ui-dialog-content .modal-footer .second_level{box-sizing:border-box;background:var(--color-layout-front-1);width:100%;min-height:25px;display:flex;align-items:center;justify-content:center}.ui-dialog-content .modal-footer .second_level input{border-radius:8px;width:100%;height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-3);box-sizing:border-box}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data{pointer-events:none}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data:before{content:" ";background:#378dc6;width:0;height:4px;position:absolute;top:0;left:0;z-index:100;animation:top-loadbar var(--dialog-loading-duration) forwards}.ui-dialog-content.modal-expanded{width:100vw!important;height:calc(var(--100vh) + 10px)!important}.modal-header>[data-widget]{padding:0 8px;position:absolute;inset:0;opacity:0;overflow:hidden;align-items:center;visibility:hidden;transition:opacity .3s;z-index:1}.modal-header>[data-widget=search] div.cancel{opacity:0;transform:translate(100%);transition:transform,opacity;transition-duration:.3s}[data-view-page].i-show-search .modal-header>:not([data-widget=search]){visibility:hidden}[data-view-page].i-show-search [data-widget=search]{visibility:visible;opacity:1}[data-view-page].i-show-search [data-widget=search] .cancel{transform:translate(0);opacity:1}[data-view-page]>.modal-header>*{transition:opacity .3s}[data-view-page].i-show-search>.modal-header>div.buttons{opacity:0}.modal-layer .top-popup-wrapper{height:100%!important}@keyframes dialog-center-to-left-header-title{0%{transform:translate(0);opacity:1}75%{opacity:0}to{transform:translate(-30%);opacity:0}}@keyframes dialog-right-to-center-header-title{0%{transform:translate(100%);opacity:0}25%{opacity:0}to{transform:translate(0);opacity:1}}@keyframes dialog-center-to-left-header-icons{0%{transform:translate(0);opacity:1}35%{transform:translate(-20%);opacity:0}to{transform:translate(-20%);opacity:0}}@keyframes dialog-right-to-center-header-icons{0%{transform:translate(20%);opacity:0}65%{transform:translate(20%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes dialog-center-to-left{0%{transform:translate(0);filter:brightness(1)}to{transform:translate(-30%);filter:brightness(.9)}}@keyframes dialog-right-to-center{0%{transform:translate(100%);box-shadow:#0000001a 0 0 10px}to{transform:translate(0);box-shadow:#0003 0 0 10px}}@media only screen and (max-width: 1480px){.win_side_panel_opener{display:none}}@media only screen and (min-width: 1480px){.ui-dialog-content.with_side_panel{box-shadow:#0003 0 0 6px}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width: calc((100vw - 900px)/2 - 28px) ;box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);padding:18px;position:absolute;top:calc(var(--dialog-header-height) + 1px + var(--dialog-layer-pageSelector));bottom:calc(var(--top-dialog-footer-height) + 1px);z-index:-1;display:block;transition:.2s}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}@media only screen and (max-height: 900px){html.with_dialog{background:#f1f1f1;overflow:hidden}.ui-dialog.me-tightly{border-radius:0;height:auto!important;position:fixed;top:0!important;bottom:0!important}.ui-dialog.me-tightly .ui-dialog-content{min-height:100%!important}.ui-dialog.me-tightly>div>.modal-body{position:absolute;top:var(--dialog-header-height);right:0;left:0;bottom:var(--dialog-header-height)}.ui-dialog.me-tightly>div>.modal-body:last-child{bottom:0}.ui-dialog.me-tightly>div>.modal-footer{position:absolute;right:0;bottom:0;left:0}.ui-dialog.me-tightly .modal-layer-body{border-radius:0;min-height:0!important}.ui-dialog.me-tightly .modal-layer-body .modal-footer{min-height:unset}}', q = 'html.with_dialog body{height:var(--100vh);overflow:hidden}.ui-widget-overlay{height:calc(100% - var(--toolbar-height))}.ui-dialog{border-radius:0;width:auto!important;height:auto!important;position:fixed;inset:0!important}.ui-dialog-content{width:100%!important;height:100%!important;min-width:0!important;max-width:100%!important}.modal-header>.top-title{text-align:center;font-size:14px}.modal-header>div.close{font-size:14px;order:1}.modal-header>div.close:before{content:""}.modal-body:last-child{bottom:0}.modal-footer{bottom:0}.modal-footer .second_level{padding:10px 8px}.modal-layer-body{min-height:0!important}.ui-dialog-content>.modal-layer-body{border-radius:0}.modal-body,.modal-footer{padding-right:12px;padding-left:12px}.modal-footer .btn:last-child{margin-right:12px}.modal-body .inner{padding:12px;margin:0 -12px;position:relative}', F = ".modal-menu-opener{order:1!important}.modal-menu-opener:before{--top-icon-size: 20px;--top-icon-color: #FFF;--top-icon-width: var(--top-icon-size);border-radius:50%;background:var(--color-bg-primary-1);padding:3px;transition:transform .1s}.modal-menu-opener:hover:before{background:var(--color-bg-primary-2)}.modal-menu-opener.top-active:before{background:var(--color-bg-primary-2);transform:scale(.8)}.modal-layer .top-popup-wrapper{background:transparent;width:auto!important;padding:0!important;margin:0!important;top:0!important;right:0!important;left:0!important;transition:background .3s}.modal-layer .top-popup-wrapper>.top-popup[class],.modal-layer .top-popup-wrapper.with_notch>.top-popup[class]{border-radius:8px;border:none;margin:12px!important;max-width:100%;max-height:calc(100% - 24px);inset:0 0 auto!important;overflow:auto;display:flex;flex-direction:column;opacity:1;transform:translateY(calc(-100% - 24px));transition:transform .3s}.modal-layer .top-popup>.top-popup_header{background:var(--color-theme-50)}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select{border:none}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .text{color:#fff}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .arrow{background:none}.modal-layer .top-popup-wrapper-shown:not(.top-popup-wrapper-closed){background:#34495e40}@media only screen and (min-width: 1480px){.ui-dialog-content.with_side_panel{box-shadow:#0003 0 0 6px}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width: calc((100vw - 900px)/2 - 28px) ;box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);padding:18px;display:block;position:absolute;top:51px;bottom:51px;z-index:-1;transition:.2s}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}", H = "html{--top-dialog-width: auto;--top-dialog-height: auto}.top-dialog{max-width:100vw}.top-dialog .modal-layer-body{height:var(--top-dialog-height)}", I = ".top-dialog{width:var(--top-dialog-width)!important}";
|
|
59
|
+
p.insertStyleToPage(B);
|
|
60
|
+
p.insertStyleToPage(q, "m");
|
|
61
|
+
p.insertStyleToPage(F, "pc");
|
|
62
|
+
p.insertStyleToPage(H);
|
|
63
|
+
p.insertStyleToPage(I, "pc");
|
|
64
|
+
let C, f = !1;
|
|
65
|
+
const K = () => {
|
|
66
|
+
$.extend($.ui.dialog.prototype.options, {
|
|
67
|
+
focus: (e) => {
|
|
68
|
+
var t;
|
|
69
|
+
e.target.focus(), (t = $("[autofocus]", e.target)[0]) == null || t.focus();
|
|
70
|
+
},
|
|
71
|
+
create: (e) => R(e.target),
|
|
72
|
+
open: (e) => J(e.target),
|
|
73
|
+
close: (e) => U(e.target),
|
|
74
|
+
modal: !0,
|
|
75
|
+
resizable: !1,
|
|
76
|
+
closeOnEscape: !1,
|
|
77
|
+
width: "auto",
|
|
78
|
+
minHeight: 0
|
|
79
|
+
}), $.ui.dialog.prototype._focusTabbable = $.noop, $.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop, $.ui.dialog.prototype._moveToTop = function() {
|
|
80
|
+
this._moveToTopOriginal();
|
|
81
|
+
const e = $(this.element);
|
|
82
|
+
e.trigger("dialogsMoveToTop", [e]);
|
|
83
|
+
}, M(), f = !0;
|
|
84
|
+
}, T = (e) => {
|
|
85
|
+
var o, i, a, n;
|
|
86
|
+
const t = {};
|
|
87
|
+
return ((i = (o = e[0]) == null ? void 0 : o.dataset) == null ? void 0 : i.modal) === "false" && (t.modal = !1), (n = (a = e[0]) == null ? void 0 : a.dataset) != null && n.position && (t.position = JSON.parse(e[0].dataset.position)), t;
|
|
88
|
+
}, g = async (e, t, o) => {
|
|
89
|
+
if (!e.startsWith("dialog_")) return;
|
|
90
|
+
const i = v(e);
|
|
91
|
+
if (i && (i.isOpened.value = !0, t !== void 0 && (i.pageActive.value = t), o !== void 0 && (i.pageActiveNext.value = o), await P(), o)) {
|
|
92
|
+
const a = $("#" + e);
|
|
93
|
+
$('[data-view-page="' + o + '"]', a).length || await A(() => !$('[data-view-page="' + o + '"]', a).length);
|
|
94
|
+
}
|
|
95
|
+
}, R = (e) => {
|
|
96
|
+
var i, a;
|
|
97
|
+
const t = $(e), o = $(".modal-body", t);
|
|
98
|
+
L(o[0]), (a = (i = s.state).decoratorOnCreate) == null || a.call(i, e), G(e);
|
|
99
|
+
}, G = (e) => {
|
|
100
|
+
$(e).on("aftershow.top-menu-popup", "[data-top-popup]", (t, o) => {
|
|
101
|
+
s.get$pairPage(o).eq(1).prepend(o);
|
|
102
|
+
});
|
|
103
|
+
}, J = async (e) => {
|
|
104
|
+
var d;
|
|
105
|
+
const t = $(e), o = t.data("view-page-active"), i = Number($(window).width());
|
|
106
|
+
p.state.documentClassModificators.set("top-dialog", "with_dialog");
|
|
107
|
+
const n = Number($(window).width()) - i;
|
|
108
|
+
Number($(document).height()) > Number($(window).height()) && $("html").css({ "margin-right": n + "px" }), z();
|
|
109
|
+
const r = v(t.attr("id"));
|
|
110
|
+
(d = r == null ? void 0 : r.emit) == null || d.call(r, "open", o);
|
|
111
|
+
}, U = async (e) => {
|
|
112
|
+
var n;
|
|
113
|
+
const t = $(e), o = t.attr("id"), i = t.data("view-page-active");
|
|
114
|
+
if (i) {
|
|
115
|
+
const r = {
|
|
116
|
+
vpn: s.state.viewPageN,
|
|
117
|
+
["view-" + o]: null
|
|
118
|
+
};
|
|
119
|
+
r["view-" + o] = null, (s.state.viewPageN === 0 || s.state.viewPageN === 1) && (r.vpn = null), j(r, !1);
|
|
120
|
+
}
|
|
121
|
+
$(".ui-widget-overlay:visible").length || (p.state.documentClassModificators.delete("top-dialog"), $("html").css({ "margin-right": "" })), t.trigger("viewAfterClose", [t]);
|
|
122
|
+
const a = v(t.attr("id"));
|
|
123
|
+
a && (a.isOpened.value = !1, (n = a.emit) == null || n.call(a, "close", i), a.onCloseOnce && (a.onCloseOnce(a.props, i), a.onCloseOnce = void 0)), window.dispatchEvent(new Event("resize"));
|
|
124
|
+
}, z = () => {
|
|
125
|
+
$(".ui-dialog:visible > .ui-dialog-content").each((e, t) => {
|
|
126
|
+
const o = $(t), i = $(".modal-body:visible", o), a = o.closest(".ui-dialog");
|
|
127
|
+
if (!i.length) return;
|
|
128
|
+
const n = T(o);
|
|
129
|
+
n.position ??= { of: window }, o.dialog("option", n), a.removeClass("me-tightly"), Number(a.height()) > Number($(window).height()) && a.addClass("me-tightly");
|
|
130
|
+
});
|
|
131
|
+
}, X = async (e, t) => {
|
|
132
|
+
const i = /(\w+)[=-]([\w-]+)(?::([\w.:-]+))?/g.exec(e);
|
|
133
|
+
if (i) {
|
|
134
|
+
const a = i[1], n = i[2], r = i[3];
|
|
135
|
+
let d = [];
|
|
136
|
+
r && (d = r.split(":")), await w(a, n, d, t);
|
|
137
|
+
}
|
|
138
|
+
}, w = async (e, t, o, i, a) => {
|
|
139
|
+
f || await new Promise((r, d) => {
|
|
140
|
+
const l = setInterval(() => {
|
|
141
|
+
f && (clearInterval(l), r());
|
|
142
|
+
}, 10);
|
|
143
|
+
}), await P();
|
|
144
|
+
let n;
|
|
145
|
+
if (typeof e == "object" ? n = e : n = $("#" + e), !n.length && typeof e == "string" && s.state.load) {
|
|
146
|
+
await s.state.load(e), await w(e, t, o, i, a);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
if (await y(n, t, o, i), n.is(".ui-dialog-content"))
|
|
150
|
+
n.dialog("open");
|
|
151
|
+
else {
|
|
152
|
+
const r = T(n);
|
|
153
|
+
n.dialog(r);
|
|
154
|
+
}
|
|
155
|
+
a && a(n);
|
|
156
|
+
}, y = async (e, t, o, i) => {
|
|
157
|
+
t === void 0 && (t = e.data("view-page-active")), t != e.data("view-page-active") && k(e) && await V(100), o === void 0 && (o = []), await g(e.attr("id"), void 0, t);
|
|
158
|
+
const a = $("> .modal-layer", e), n = $("> .active", a), r = $('> [data-view-page="' + t + '"]', a), d = o.join(":");
|
|
159
|
+
if (i === void 0 && (i = "next", r.data("order") < n.data("order") && (i = "prev")), !!r.length) {
|
|
160
|
+
if (e.data("view-page-active", t), r.is(".active")) {
|
|
161
|
+
r.data("view-page-args") != d && r.data("view-page-args", d), _(e, r, t, o), h(e, r, t, o);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
switch (r.data("view-page-args", d), $(".top-popup-wrapper", n).length && O.close($(".top-popup-wrapper", n)[0]), r.closest(".ui-dialog").is(":hidden") && (i = "none"), n.length || (i = "none"), r.is(":visible") && (i = "none"), i) {
|
|
165
|
+
case "prev":
|
|
166
|
+
r.each((l, c) => {
|
|
167
|
+
$(c).insertBefore($(c).siblings(".active"));
|
|
168
|
+
}), n.addClass("right-to-center reverse"), r.addClass("center-to-left reverse");
|
|
169
|
+
break;
|
|
170
|
+
case "next":
|
|
171
|
+
r.each((l, c) => {
|
|
172
|
+
$(c).insertAfter($(c).siblings(".active"));
|
|
173
|
+
}), n.addClass("center-to-left"), r.addClass("right-to-center");
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
if (e.attr("view-page-active", t), n.removeClass("active"), r.addClass("active"), _(e, r, t, o), i) {
|
|
177
|
+
e.addClass("i-change-page");
|
|
178
|
+
const l = Number(r.css("animation-duration").replace("s", "")) * 1e3;
|
|
179
|
+
C = setTimeout(function() {
|
|
180
|
+
g(e.attr("id"), t, ""), k(e), h(e, r, t, o);
|
|
181
|
+
}, l);
|
|
182
|
+
} else
|
|
183
|
+
await g(e.attr("id"), t, ""), h(e, r, t, o);
|
|
184
|
+
}
|
|
185
|
+
}, Y = (e) => {
|
|
186
|
+
const t = $("> .modal-layer", e), a = $("> .active", t).eq(0).prev("[data-view-page]").data("view-page");
|
|
187
|
+
a ? y(e, a, void 0, "prev") : e.dialog("close");
|
|
188
|
+
}, m = /* @__PURE__ */ new Set(), _ = (e, t, o, i) => {
|
|
189
|
+
const a = e.attr("id") + t.eq(0).data("view-page") + o + i.join();
|
|
190
|
+
m.has(a) || (m.add(a), setTimeout(function() {
|
|
191
|
+
m.delete(a), e.trigger("viewBeforeOpen", [e, t, o, i]);
|
|
192
|
+
}));
|
|
193
|
+
}, h = (e, t, o, i) => {
|
|
194
|
+
setTimeout(function() {
|
|
195
|
+
e.trigger("viewAfterOpen", [e, t, o, i]);
|
|
196
|
+
});
|
|
197
|
+
}, S = (e) => e.is(".i-change-page"), k = (e) => {
|
|
198
|
+
if (!S(e)) return !1;
|
|
199
|
+
clearTimeout(C);
|
|
200
|
+
const t = $("> .modal-layer", e), o = e.data("view-page-active");
|
|
201
|
+
return e.removeClass("i-change-page"), $("> [data-view-page]", t).removeClass("center-to-left right-to-center reverse active"), $('> [data-view-page="' + o + '"]', t).addClass("active"), !0;
|
|
202
|
+
}, Z = function(e) {
|
|
203
|
+
const t = $("#" + e);
|
|
204
|
+
t.dialog("instance") && t.dialog("close");
|
|
205
|
+
}, Q = (e, t, o) => {
|
|
206
|
+
e.is("[data-view-page]") || (e = $("[data-view-page]:visible", e)), t ? (o !== void 0 && e.each((i, a) => {
|
|
207
|
+
a.style.setProperty("--dialog-loading-duration", o + "s");
|
|
208
|
+
}), e.addClass("i-load-data")) : (e.removeClass("i-load-data"), e.each((i, a) => {
|
|
209
|
+
a.style.setProperty("--dialog-loading-duration", "10s");
|
|
210
|
+
}));
|
|
211
|
+
}, D = (e) => e.is(".i-load-data"), u = {
|
|
212
|
+
updatePageVue: g,
|
|
213
|
+
recalcPositions: z,
|
|
214
|
+
toViewDirty: X,
|
|
215
|
+
toView: w,
|
|
216
|
+
toViewPage: y,
|
|
217
|
+
toPrevPage: Y,
|
|
218
|
+
setLoading: Q,
|
|
219
|
+
isLoading: D,
|
|
220
|
+
inAnimation: S,
|
|
221
|
+
close: Z
|
|
222
|
+
};
|
|
223
|
+
K();
|
|
224
|
+
export {
|
|
225
|
+
u as TopDialogUtils
|
|
226
|
+
};
|
|
227
|
+
//# sourceMappingURL=utils-vqUUlJ8l.es.js.map
|