@topvisor/ui 1.0.25 → 1.0.26-0
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-VAPdmxul.amd.js → core-B9imztzR.amd.js} +2 -2
- package/.chunks/{core-VAPdmxul.amd.js.map → core-B9imztzR.amd.js.map} +1 -1
- package/.chunks/{core-Dxu5q2pq.es.js → core-Bcq6idRz.es.js} +4 -4
- package/.chunks/{core-Dxu5q2pq.es.js.map → core-Bcq6idRz.es.js.map} +1 -1
- package/.chunks/{datepicker-B8BEVYYv.es.js → datepicker-DPc8qQ_Y.es.js} +2 -2
- package/.chunks/{datepicker-B8BEVYYv.es.js.map → datepicker-DPc8qQ_Y.es.js.map} +1 -1
- package/.chunks/{datepicker-np32OBIB.amd.js → datepicker-NsthdPQ1.amd.js} +2 -2
- package/.chunks/{datepicker-np32OBIB.amd.js.map → datepicker-NsthdPQ1.amd.js.map} +1 -1
- package/.chunks/{dialog_selectorRegions-vtydbe7k.amd.js → dialog_selectorRegions-BOPta9cH.amd.js} +2 -2
- package/.chunks/{dialog_selectorRegions-vtydbe7k.amd.js.map → dialog_selectorRegions-BOPta9cH.amd.js.map} +1 -1
- package/.chunks/{dialog_selectorRegions-eupaC53Q.es.js → dialog_selectorRegions-Dy0AlECS.es.js} +3 -3
- package/.chunks/{dialog_selectorRegions-eupaC53Q.es.js.map → dialog_selectorRegions-Dy0AlECS.es.js.map} +1 -1
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BEjw0nsH.es.js → dialogs.vue_vue_type_script_setup_true_lang-BLGKFF8Y.es.js} +2 -2
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BEjw0nsH.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-BLGKFF8Y.es.js.map} +1 -1
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-CKz2r_HQ.amd.js → dialogs.vue_vue_type_script_setup_true_lang-vT5jI1Ll.amd.js} +2 -2
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-CKz2r_HQ.amd.js.map → dialogs.vue_vue_type_script_setup_true_lang-vT5jI1Ll.amd.js.map} +1 -1
- package/.chunks/{forms-B4wnA2qg.amd.js → forms-B3bJpLOo.amd.js} +3 -3
- package/.chunks/{forms-B4wnA2qg.amd.js.map → forms-B3bJpLOo.amd.js.map} +1 -1
- package/.chunks/{forms-BEOYaG5x.es.js → forms-BEMrEl5V.es.js} +8 -7
- package/.chunks/{forms-BEOYaG5x.es.js.map → forms-BEMrEl5V.es.js.map} +1 -1
- package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-Yoht7Zz1.amd.js → listItem.vue_vue_type_script_setup_true_lang-DLF_Qnj6.amd.js} +2 -2
- package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-Yoht7Zz1.amd.js.map → listItem.vue_vue_type_script_setup_true_lang-DLF_Qnj6.amd.js.map} +1 -1
- package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-BzHSHzgd.es.js → listItem.vue_vue_type_script_setup_true_lang-DMQVN3dP.es.js} +2 -2
- package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-BzHSHzgd.es.js.map → listItem.vue_vue_type_script_setup_true_lang-DMQVN3dP.es.js.map} +1 -1
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-D38vuK6Z.es.js → menu.vue_vue_type_style_index_0_lang-DzNVeeZl.es.js} +2 -2
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-D38vuK6Z.es.js.map → menu.vue_vue_type_style_index_0_lang-DzNVeeZl.es.js.map} +1 -1
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-DpQWqw0S.amd.js → menu.vue_vue_type_style_index_0_lang-VpwRSIdl.amd.js} +2 -2
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-DpQWqw0S.amd.js.map → menu.vue_vue_type_style_index_0_lang-VpwRSIdl.amd.js.map} +1 -1
- package/.chunks/{notice-BFubg4q7.es.js → notice-CTntRScY.es.js} +2 -2
- package/.chunks/{notice-BFubg4q7.es.js.map → notice-CTntRScY.es.js.map} +1 -1
- package/.chunks/{notice-BMEqHHl7.amd.js → notice-DMnioYtH.amd.js} +2 -2
- package/.chunks/{notice-BMEqHHl7.amd.js.map → notice-DMnioYtH.amd.js.map} +1 -1
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-DOfSX4G2.amd.js → page.vue_vue_type_script_setup_true_lang-BI9HWAyQ.amd.js} +2 -2
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-DOfSX4G2.amd.js.map → page.vue_vue_type_script_setup_true_lang-BI9HWAyQ.amd.js.map} +1 -1
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-DkVrf3fD.es.js → page.vue_vue_type_script_setup_true_lang-CCE8pKg7.es.js} +4 -4
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-DkVrf3fD.es.js.map → page.vue_vue_type_script_setup_true_lang-CCE8pKg7.es.js.map} +1 -1
- package/.chunks/{popup-RsYK2WNs.amd.js → popup-BnyVyxQA.amd.js} +2 -2
- package/.chunks/{popup-RsYK2WNs.amd.js.map → popup-BnyVyxQA.amd.js.map} +1 -1
- package/.chunks/{popup-KzrqppGt.es.js → popup-INaxGjMc.es.js} +2 -2
- package/.chunks/{popup-KzrqppGt.es.js.map → popup-INaxGjMc.es.js.map} +1 -1
- package/.chunks/{utils-CwjZqLi4.amd.js → utils-Bi5onrSF.amd.js} +2 -2
- package/.chunks/{utils-CwjZqLi4.amd.js.map → utils-Bi5onrSF.amd.js.map} +1 -1
- package/.chunks/{utils-C-3nlmxS.amd.js → utils-CTjq0RlC.amd.js} +2 -2
- package/.chunks/{utils-C-3nlmxS.amd.js.map → utils-CTjq0RlC.amd.js.map} +1 -1
- package/.chunks/{utils-DkTeAU_D.es.js → utils-D4KXBloN.es.js} +3 -3
- package/.chunks/{utils-DkTeAU_D.es.js.map → utils-D4KXBloN.es.js.map} +1 -1
- package/.chunks/{utils-Lh80NiyA.es.js → utils-DIly8mml.es.js} +2 -2
- package/.chunks/{utils-Lh80NiyA.es.js.map → utils-DIly8mml.es.js.map} +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/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.js +1 -1
- package/package.json +1 -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.amd.js.map +1 -1
- package/project/project.js +66 -66
- package/project/project.js.map +1 -1
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.js +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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-
|
|
1
|
+
{"version":3,"file":"utils-CTjq0RlC.amd.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","vue","resolve","TopDialogComponent","worker","args","useTopDialogSelf","topDialogComponent","_a","dialogWorker","useTopDialog","DialogComponent","dialogs_vue_vue_type_script_setup_true_lang","useAsyncTopDialog"],"mappings":"wLAYO,MAAAA,CAAA,CAAyD,QAKtD,OAAAC,EAAA,IAAA,IAAA,iBAUR,KAAA,QAAAC,CAAe,aAOf,GAAA,KAAA,OAAA,MAAA,OAAA,KAAA,OAAA,MAGA,MAAAC,GADA,MAAA,KAAA,QAAA,GACA,+BAIA,MAAAC,EAAA,KAAA,OAAA,iDAIAA,CAAO,CACR,MAAA,QAAAC,EAAA,CAQC,MAFA,MAAA,KAAA,IAAA,GAEA,KAAA,GAAAA,CAAA,CAAyB,CAC1B,MAAA,cAAAA,EAAA,EAQC,MAAA,KAAA,IAAA,GAEA,WAAA,GAAAA,CAAA,CAA8B,CAC/B,MAAA,SAAAA,EAAA,EAQC,MAAA,KAAA,IAAA,GAEA,MAAA,GAAAA,CAAA,CAAoB,CACrB,MAAA,WAAAA,EAAA,EAMC,MAAA,KAAA,IAAA,GAEA,QAAA,GAAAA,CAAA,CAAsB,CACvB,MAAA,YAAAA,EAAA,CAUC,MAFA,MAAA,KAAA,IAAA,GAEA,SAAA,GAAAA,CAAA,CAA6B,CAE/B,CCzFO,MAAAC,EAAA,IAAA,OAEN,MAAAC,EAAAN,EAAA,mBAAA,EACA,IAAAO,EAAAD,GAAA,YAAAA,EAAA,OAAA,MAAAC,EAAA,GAAA,sCAEC,GAAAC,EAAA,OAAAA,CAAyB,CAG1B,OAAAR,EAAA,OAAA,cAAA,CACD,EAOaS,EAAAC,GACZC,EAAA,gBAAAD,CAAA,EAUYE,EAAAX,GACZ,IAAAF,EAAAE,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { nextTick as T } from "vue";
|
|
2
|
-
import { C as c } from "./forms-
|
|
2
|
+
import { C as c } from "./forms-BEMrEl5V.es.js";
|
|
3
3
|
import { TopPopupWorker as V } from "../popup/worker.js";
|
|
4
4
|
import { sleep as W, waitWhile as j } from "../utils/system.js";
|
|
5
5
|
import { setHash as m } from "../utils/route.js";
|
|
6
6
|
import { connectScrollShadow as A } from "../utils/scroll.js";
|
|
7
|
-
import { T as l, g as y } from "./dialogs.vue_vue_type_script_setup_true_lang-
|
|
7
|
+
import { T as l, g as y } from "./dialogs.vue_vue_type_script_setup_true_lang-BLGKFF8Y.es.js";
|
|
8
8
|
import { querySelectorVisible as _ } from "../utils/dom.js";
|
|
9
9
|
$;
|
|
10
10
|
let k = !1;
|
|
@@ -222,4 +222,4 @@ I();
|
|
|
222
222
|
export {
|
|
223
223
|
v as TopDialogUtils
|
|
224
224
|
};
|
|
225
|
-
//# sourceMappingURL=utils-
|
|
225
|
+
//# sourceMappingURL=utils-D4KXBloN.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-DkTeAU_D.es.js","sources":["../../src/storybook/jquery.ts","../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"sourcesContent":["/**\n * см. /.storybook/preview-head.html\n */\nexport default $;\n","import { TopDialogUtils } from './utils';\nimport { TopDialogWorker } from './worker';\nimport { querySelectorVisible } from '@/core/utils/dom';\nimport type { $el } from '@/components/types';\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\tvar viewNameAndPageLink = toView.split('-');\n\t\t\tvar viewName = viewNameAndPageLink.shift();\n\t\t\tvar pageLink = viewNameAndPageLink.join('-');\n\n\t\t\tvar $toDialog = $('#' + viewName);\n\t\t\tvar $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\tlocation.hash = hash;\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\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 { setHash } 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// if(window.history && history.length == 1) setHash('vpn', null);\n\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\tvar $dialog = $(elDialog);\n\tvar $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\tvar $dialog = $(elDialog);\n\tvar 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\tvar $dialog = $(elDialog);\n\n\tvar viewName = $dialog.attr('id');\n\tvar pageName = $dialog.data('view-page-active');\n\tif (pageName) {\n\t\tsetHash('vpn', TopDialogWorker.state.viewPageN);\n\t\tsetHash('view-' + viewName, null, false);\n\n\t\tif (TopDialogWorker.state.viewPageN === 0 || TopDialogWorker.state.viewPageN === 1) setHash('vpn', null);\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 {string|$} viewNameOr$Dialog - id страницы окна или jQuery элемент окна\n * @param {?string} pageName - имя страницы\n * @param {?Array<any>} args - аргументы, набор проивзольных параметров, которые могут обрабатываться каждым окном по своему\n * @param {?Function} 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\ttoView(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\tvar 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\tvar $modalLayers = $('> .modal-layer', $dialog);\n\tvar $currentPage = $('> .active', $modalLayers);\n\tvar $nextPage = $('> [data-view-page=\"' + pageName + '\"]', $modalLayers);\n\tvar 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\tvar prevPageName = '';\n\n\tvar $modalLayers = $('> .modal-layer', $dialog);\n\tvar $currentPage = $('> .active', $modalLayers).eq(0);\n\tvar $prevPage = $currentPage.prev('[data-view-page]');\n\tprevPageName = $prevPage.data('view-page');\n\n\tif (prevPageName) {\n\t\ttoViewPage($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\tvar $modalLayers = $('> .modal-layer', $dialog);\n\n\tvar 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":["inited","initDialogGlobalEvents","el","querySelectorVisible","elDialog","$dialog","toView","TopDialogUtils","viewNameAndPageLink","viewName","pageLink","$toDialog","$toPage","hash","TopDialogWorker","elForm","elSubmit","$dialogWrapper","topZIndex","_index","zIndex","Core","css","cssM","cssPC","cssModern","cssModernPC","timerClearAnimation","isInited","init","_a","onCreate","onOpen","onClose","genVueOptions","options","_b","_d","_c","updatePageVue","dialogId","pageName","pageNameNext","dialog","getDialogWorker","nextTick","waitWhile","$dialogBody","connectScrollShadow","initPopup","_e","$popup","w1","scrollBarWidth","recalcPositions","setHash","eldDialog","$ui","toViewDirty","toViewPageName","moveDirection","toViewParts","argsString","args","viewNameOr$Dialog","callback","resolve","_reject","timer","toViewPage","stopped","stopAnimations","sleep","$modalLayers","$currentPage","$nextPage","beforeOpenViewPage","afterOpenViewPage","TopPopupWorker","delay","toPrevPage","prevPageName","$prevPage","beforeOpenViewPageTimers","$page","eventKey","inAnimation","close","setLoading","isLoading","duration"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils-D4KXBloN.es.js","sources":["../../src/storybook/jquery.ts","../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"sourcesContent":["/**\n * см. /.storybook/preview-head.html\n */\nexport default $;\n","import { TopDialogUtils } from './utils';\nimport { TopDialogWorker } from './worker';\nimport { querySelectorVisible } from '@/core/utils/dom';\nimport type { $el } from '@/components/types';\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\tvar viewNameAndPageLink = toView.split('-');\n\t\t\tvar viewName = viewNameAndPageLink.shift();\n\t\t\tvar pageLink = viewNameAndPageLink.join('-');\n\n\t\t\tvar $toDialog = $('#' + viewName);\n\t\t\tvar $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\tlocation.hash = hash;\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\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 { setHash } 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// if(window.history && history.length == 1) setHash('vpn', null);\n\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\tvar $dialog = $(elDialog);\n\tvar $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\tvar $dialog = $(elDialog);\n\tvar 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\tvar $dialog = $(elDialog);\n\n\tvar viewName = $dialog.attr('id');\n\tvar pageName = $dialog.data('view-page-active');\n\tif (pageName) {\n\t\tsetHash('vpn', TopDialogWorker.state.viewPageN);\n\t\tsetHash('view-' + viewName, null, false);\n\n\t\tif (TopDialogWorker.state.viewPageN === 0 || TopDialogWorker.state.viewPageN === 1) setHash('vpn', null);\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 {string|$} viewNameOr$Dialog - id страницы окна или jQuery элемент окна\n * @param {?string} pageName - имя страницы\n * @param {?Array<any>} args - аргументы, набор проивзольных параметров, которые могут обрабатываться каждым окном по своему\n * @param {?Function} 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\ttoView(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\tvar 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\tvar $modalLayers = $('> .modal-layer', $dialog);\n\tvar $currentPage = $('> .active', $modalLayers);\n\tvar $nextPage = $('> [data-view-page=\"' + pageName + '\"]', $modalLayers);\n\tvar 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\tvar prevPageName = '';\n\n\tvar $modalLayers = $('> .modal-layer', $dialog);\n\tvar $currentPage = $('> .active', $modalLayers).eq(0);\n\tvar $prevPage = $currentPage.prev('[data-view-page]');\n\tprevPageName = $prevPage.data('view-page');\n\n\tif (prevPageName) {\n\t\ttoViewPage($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\tvar $modalLayers = $('> .modal-layer', $dialog);\n\n\tvar 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":["inited","initDialogGlobalEvents","el","querySelectorVisible","elDialog","$dialog","toView","TopDialogUtils","viewNameAndPageLink","viewName","pageLink","$toDialog","$toPage","hash","TopDialogWorker","elForm","elSubmit","$dialogWrapper","topZIndex","_index","zIndex","Core","css","cssM","cssPC","cssModern","cssModernPC","timerClearAnimation","isInited","init","_a","onCreate","onOpen","onClose","genVueOptions","options","_b","_d","_c","updatePageVue","dialogId","pageName","pageNameNext","dialog","getDialogWorker","nextTick","waitWhile","$dialogBody","connectScrollShadow","initPopup","_e","$popup","w1","scrollBarWidth","recalcPositions","setHash","eldDialog","$ui","toViewDirty","toViewPageName","moveDirection","toViewParts","argsString","args","viewNameOr$Dialog","callback","resolve","_reject","timer","toViewPage","stopped","stopAnimations","sleep","$modalLayers","$currentPage","$nextPage","beforeOpenViewPage","afterOpenViewPage","TopPopupWorker","delay","toPrevPage","prevPageName","$prevPage","beforeOpenViewPageTimers","$page","eventKey","inAnimation","close","setLoading","isLoading","duration"],"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-BLGKFF8Y.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-DIly8mml.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-
|
|
1
|
+
{"version":3,"file":"utils-DIly8mml.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;"}
|
package/charts/charts.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","vue","../.chunks/forms-
|
|
1
|
+
define(["require","exports","vue","../.chunks/forms-B3bJpLOo.amd","../utils/number.amd","../require/css.amd!../assets/charts.css"],function(L,C,e,M,g){"use strict";if(typeof e>"u")var e=window.Vue;const k=90,y=10,V=["data-top-icon"],B={class:"top-miniChart_chart"},b=["onMouseenter"],E={class:"top-miniChart_data"},_={class:"top-miniChart_dataValue"},w=["innerHTML"],D=e.defineComponent({__name:"miniChart",props:e.mergeModels({title:{},gIcon:{},color:{default:"blue"},dates:{},values:{},activeDates:{},keysForDyn:{},dynamic:{},isInvert:{type:Boolean},numberCols:{default:k},additionalHTML:{},modelValue:{},valueSuffix:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(m){const o=m,s=e.useModel(m,"modelValue"),i=t=>{let l=u.value;o.isInvert&&(t-=1,l-=1);let a=l>0?Math.round(t/l*(100-y)):0;return o.isInvert?100-a:a+y},p=t=>o.activeDates.includes(t),u=e.computed(()=>Math.max(...o.values)),c=e.computed(()=>o.dates.slice().reverse()),v=e.computed(()=>o.dates.length?o.numberCols-o.dates.length:0),h=()=>{s.value=null},r=(t,l,a)=>{t.target instanceof HTMLElement&&(s.value={elCol:t.target,date:M.dateFormat(l),value:a===null?"--":a+(o.valueSuffix??"")})},n=e.computed(()=>{let t=o.dynamic;if(typeof t>"u"){const a=o.values[o.keysForDyn.start];t=o.values[o.keysForDyn.end]-a}return(t<0?-1:1)*g.percentOfNumber(Math.abs(t))}),d=e.computed(()=>{let t="stay";return o.isInvert?(n.value>0&&(t="down"),n.value<0&&(t="up")):(n.value>0&&(t="up"),n.value<0&&(t="down")),t});return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart":!0,"top-miniChart_hideChartInMobile":t.hideChartInMobile,[`top-color_${t.color}`]:!0})},[e.createElementVNode("div",{class:"top-miniChart_title top-ellipsis","data-top-icon":t.gIcon},e.toDisplayString(t.title),9,V),e.createElementVNode("div",B,[e.createElementVNode("div",{class:"top-miniChart_chartGrid",onMouseleave:l[1]||(l[1]=a=>h())},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(a,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-miniChart_chartGridCol":!0,"top-active":p(a)}),onMouseenter:z=>r(z,a,t.values[t.values.length-f-1])},[e.createElementVNode("div",{style:e.normalizeStyle("height:"+i(t.values[t.values.length-f-1])+"%")},null,4)],42,b))),256)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,()=>(e.openBlock(),e.createElementBlock("div",{class:"top-miniChart_chartGridCol top-miniChart_chartGridCol-none",onMouseenter:l[0]||(l[0]=a=>h())},l[2]||(l[2]=[e.createElementVNode("div",null,null,-1)]),32))),256))],32)]),e.createElementVNode("div",E,[e.createElementVNode("span",{class:e.normalizeClass({"top-miniChart_dataDynamic":!0,[`top-miniChart_dataDynamic-direction_${d.value}`]:!0})},e.toDisplayString(Math.abs(n.value)||""),3),e.createElementVNode("span",_,e.toDisplayString(e.unref(g.percentOfNumber)(t.values[t.values.length-1])||0),1)]),t.additionalHTML?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:t.additionalHTML},null,8,w)):e.createCommentVNode("",!0)],2))}}),N={key:0,class:"top-miniCharts_pages"},S=["onClick"],T=e.defineComponent({__name:"miniCharts",props:e.mergeModels({modelValue:{},countCharts:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(m){const o=m,s=e.useModel(m,"modelValue"),i=e.ref(null);let p;const u=e.ref(1),c=e.ref(1),v=()=>{u.value=Math.round(i.value.scrollHeight/i.value.clientHeight)};e.watch(u,()=>{u.value<c.value&&(c.value=1)}),e.watch(()=>o.countCharts,()=>v(),{flush:"post"});const h=e.computed(()=>{if(!s.value)return{};const r=s.value.elCol.getBoundingClientRect(),n={top:r.bottom+window.scrollY+"px"};return document.documentElement.clientWidth/2>r.right?n.left=r.right+window.scrollX+10+"px":(n.left=r.left+window.scrollX-10+"px",n.transform="translate(-100%, 0)"),n});return e.onMounted(()=>{p=new ResizeObserver(()=>v()),p.observe(i.value),e.watch(c,()=>{const d=(i.value.children[0].clientHeight+parseInt(window.getComputedStyle(i.value).getPropertyValue("row-gap")))*(c.value-1);i.value.scrollTo({top:d,behavior:"smooth"})})}),e.onUnmounted(()=>{p.disconnect()}),(r,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["top-miniCharts",{"top-miniCharts":!0,scrollable:u.value>1,"top-miniCharts_hideChartInMobile":r.hideChartInMobile}]),ref_key:"elRef",ref:i},[e.renderSlot(r.$slots,"default"),u.value>1?(e.openBlock(),e.createElementBlock("div",N,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,d=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass({"top-active":d===c.value}),onClick:t=>c.value=d},null,10,S))),256))])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-miniCharts_tooltip",style:e.normalizeStyle(h.value)},[e.createElementVNode("span",null,e.toDisplayString(s.value.date),1),e.createElementVNode("span",null,e.toDisplayString(s.value.value),1)],4)):e.createCommentVNode("",!0)]))],2))}}),H=D,I=T;C.TopMiniChart=H,C.TopMiniCharts=I,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=charts.amd.js.map
|
package/charts/charts.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Core as P } from "../core/app.js";
|
|
2
2
|
import { defineComponent as T, mergeModels as S, useModel as $, computed as h, createElementBlock as i, openBlock as a, normalizeClass as f, createElementVNode as r, createCommentVNode as k, toDisplayString as g, Fragment as w, renderList as H, normalizeStyle as L, unref as F, ref as b, watch as V, onMounted as N, onUnmounted as R, renderSlot as z, createBlock as G, Teleport as O } from "vue";
|
|
3
|
-
import { c as X } from "../.chunks/forms-
|
|
3
|
+
import { c as X } from "../.chunks/forms-BEMrEl5V.es.js";
|
|
4
4
|
import { percentOfNumber as I } from "../utils/number.js";
|
|
5
5
|
const E = ["../assets/charts.css"].map((v) => import.meta.resolve(v));
|
|
6
6
|
P.insertCSSLinkToPage(E, !0);
|
package/core/app.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/forms-
|
|
1
|
+
define(["require","exports","../.chunks/forms-B3bJpLOo.amd","../.chunks/core-B9imztzR.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-CTjq0RlC.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-vT5jI1Ll.amd"],function(y,o,c,l,d,m,S,p,g,k){"use strict";if(typeof d>"u")var d=window.Vue;class E{#s;#t;#e;#i;#h;#a=[];#o=[];#c=[];#n=[];constructor(s){var t;this.#t=s.store,this.#s=this.#t.$id,this.#e=s.options.Page,this.#i=s.options.user,this.#h=s.options.Api,this.#a=s.options.tpaNamesUrlHash||[],this.#o=s.options.tpaNamesStorage||[],this.#c=s.options.tpaNamesStorageLocal||[],this.#n=s.options.tpaNamesGuestLink||[],s.store.genGuestLink=(i,a)=>this.genGuestLink(i,a),(t=this.#i.guest_data)!=null&&t.data||(this.#u(),this.#u(!0),this.#f()),this.#S(),this.#k();const e=c.debounce(()=>{this.#l(),this.#m()});s.store.$subscribe(e)}async genGuestLink(s,e){const t=this.#p();e=Object.assign(e,Object.fromEntries(t));const i=await this.#h.gen(s,"fetchColumn").call({},e);i!=null&&i.errors||await m.guestLinkToClipboard(i.result)}#p(){const s=new Map;return this.#n.forEach(e=>{const t=S.camelToSnakeCase(e);s.set(t,this.#t[e])}),s}#r(s){s.forEach((e,t)=>{const i=this.#t[t];if(e!=null&&i!==void 0&&e!=null&&e.constructor&&e.constructor===i.constructor){if(t.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[t]=e}})}#g(s){const e=new Map;return s.forEach((t,i)=>{t!==null&&(t=JSON.stringify(t),e.set(i,t))}),e}#d(s){const e=new Map;return s.forEach((t,i)=>{if(!(t==null||t==="false")){try{if(typeof t=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(t)&&(t=JSON.parse(t)),t==null||t==="false")return}catch{}e.set(i,t)}}),e}#f(){let s;try{s=JSON.parse(p.getHash(this.#s))}catch{}if(!s)return;const e=new Map;this.#a.forEach(t=>{const i=s[t];i&&e.set(t,i)}),this.#r(e)}#l(){const s=new Map;this.#a.forEach(i=>{const a=this.#t[i];s.set(i,a)});const e=Object.fromEntries(s),t=JSON.stringify(e);p.setHash(this.#s,t)}#u(s=!1){const e=new Map;let t="state:"+this.#s;s&&(t="state:"+this.#s+":"+location.pathname),this.#o.forEach(a=>{const n=localStorage.getItem(t+":"+a);e.set(a,n)});const i=this.#d(e);this.#r(i)}#m(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#c,i="state:"+this.#s+":"+location.pathname),t.forEach(n=>{const r=this.#t[n];e.set(n,r)});const a=this.#g(e);t.forEach(n=>{const r=a.get(n);localStorage.setItem(i+":"+n,r)})}#S(){var a,n,r;const s=(n=(a=this.#i)==null?void 0:a.guest_data)==null?void 0:n.data;if(!s)return;this.#i.id===-1&&(this.#i.positionsReverseDates=s.positionsReverseDates);const e=new Map;this.#n.forEach(h=>{const u=s[h];e.set(h,u)});const t=this.#d(e);this.#r(t);const i=$(".mod_guest_title");if(((r=this.#t.competitorsIds)==null?void 0:r.length)===1&&this.#e.page.data.competitors){let h=this.#e.page.data.competitors.filter(u=>u.id===s.competitorsIds[0]);h.length&&($("a",i).attr("href","http://"+h[0].url),$("a",i).text(h[0].name))}}#k(){this.#t.regionsIndexes&&d.watch(this.#t.regionsIndexes,s=>{if(!s.length)return;s.forEach((i,a)=>s[a]=i);const e=TplProjectSelectorRegion.genSearchersMap(),t=[];e.forEach(i=>{i.regions.forEach(a=>{a.index!==-1&&t.push(a.index)})}),this.#t.regionsIndexes=s.filter(i=>t.includes(i))},{immediate:!0}),this.#t.competitorsIds&&d.watch(this.#t.competitorsIds,s=>{if(!s.length)return;s.forEach((t,i)=>s[i]=t);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(t=>{t.on>=0&&e.push(t.id)}),this.#t.competitorsIds=s.filter(t=>e.includes(t))},{immediate:!0})}}const w=f=>{var e,t,i,a;const s=f;!((e=s.options.tpaNamesUrlHash)!=null&&e.length)&&!((t=s.options.tpaNamesStorage)!=null&&t.length)&&!((i=s.options.tpaNamesStorageLocal)!=null&&i.length)&&!((a=s.options.tpaNamesGuestLink)!=null&&a.length)||new E(s)};o.Core=c.Core,o.i18nPlugin=c.i18n,o.useI18n=c.useI18n,o.useI18nLang=c.useI18nLang,o.corePlugin=l.core,o.useAsyncTopDialog=g.useAsyncTopDialog,o.useTopDialog=g.useTopDialog,o.TopDialogWorker=k.TopDialogWorker,o.piniaTPAPlugin=w,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=app.amd.js.map
|
package/core/app.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { d } from "../.chunks/forms-
|
|
2
|
-
import { C as P, i as T, u as b, a as y } from "../.chunks/forms-
|
|
3
|
-
import { c as G } from "../.chunks/core-
|
|
1
|
+
import { d } from "../.chunks/forms-BEMrEl5V.es.js";
|
|
2
|
+
import { C as P, i as T, u as b, a as y } from "../.chunks/forms-BEMrEl5V.es.js";
|
|
3
|
+
import { c as G } from "../.chunks/core-Bcq6idRz.es.js";
|
|
4
4
|
import { watch as p } from "vue";
|
|
5
5
|
import { guestLinkToClipboard as f } from "../utils/clipboard.js";
|
|
6
6
|
import { camelToSnakeCase as g } from "../utils/string.js";
|
|
7
7
|
import { getHash as m, setHash as l } from "../utils/route.js";
|
|
8
|
-
import { u as A, a as D } from "../.chunks/utils-
|
|
9
|
-
import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-
|
|
8
|
+
import { u as A, a as D } from "../.chunks/utils-DIly8mml.es.js";
|
|
9
|
+
import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BLGKFF8Y.es.js";
|
|
10
10
|
class u {
|
|
11
11
|
#s;
|
|
12
12
|
#t;
|
package/dialog/dialog.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-BI9HWAyQ.amd","vue","../.chunks/utils-CTjq0RlC.amd"],function(c,n,u,e,t){"use strict";if(typeof e>"u")var e=window.Vue;const i={name:{type:String,required:!0},order:{type:Number,required:!0},prevName:String,footerFullWith:Boolean},l=e.defineComponent({__name:"pageComponent",props:{component:{},keepAlive:{type:Boolean,default:!0},props:{},name:{},order:{},prevName:{},footerFullWith:{type:Boolean}},setup(m){const a=m,r=t.useTopDialogSelf(),s=(o,p)=>{if(!p.value){if(o.name!=="AsyncComponentWrapper"){p.value=!0;return}r.needShowPage(a.name)&&(r.isLoadingPage.value=!0,o.__asyncResolved&&(p.value=!0,r.isLoadingPage.value=!1))}};if(a.component.name==="AsyncComponentWrapper"){const o=e.ref(!1);e.onUpdated(()=>{s(a.component,o)})}return(o,p)=>(e.openBlock(),e.createBlock(e.KeepAlive,{include:o.keepAlive?"":"none"},[e.unref(r).needShowPage(o.name)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.component),e.mergeProps({key:0},a,{name:o.name,order:o.order,prevName:o.prevName}),null,16,["name","order","prevName"])):e.createCommentVNode("",!0)],1032,["include"]))}});n.TopDialog=u._sfc_main,n.TopDialogPage=u._sfc_main$1,n.useTopDialogSelf=t.useTopDialogSelf,n.TopDialogPageComponent=l,n.propsPageCommon=i,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=dialog.amd.js.map
|
package/dialog/dialog.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { _ as k, a as B } from "../.chunks/page.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import { _ as k, a as B } from "../.chunks/page.vue_vue_type_script_setup_true_lang-CCE8pKg7.es.js";
|
|
2
2
|
import { defineComponent as l, ref as i, onUpdated as u, createBlock as a, openBlock as p, KeepAlive as s, createCommentVNode as d, unref as g, resolveDynamicComponent as c, mergeProps as f } from "vue";
|
|
3
|
-
import { b as v } from "../.chunks/utils-
|
|
3
|
+
import { b as v } from "../.chunks/utils-DIly8mml.es.js";
|
|
4
4
|
const C = {
|
|
5
5
|
name: {
|
|
6
6
|
type: String,
|
package/forms/forms.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/forms-
|
|
1
|
+
define(["require","exports","../.chunks/forms-B3bJpLOo.amd"],function(n,T,a){"use strict";if(typeof e>"u")var e=window.Vue;T.TopAvatar=a.TopAvatar,T.TopButton=a.TopButton,T.TopCheckbox=a.TopCheckbox,T.TopControlLabel=a.TopControlLabel,T.TopHint=a.TopHint,T.TopInput=a.TopInput,T.TopInputDate=a.TopInputDate,T.TopInputRange=a.TopInputRange,T.TopLoadbar=a.TopLoadbar,T.TopRadio=a.TopRadio,T.TopSelect=a.TopSelect,T.TopSwitcher=a.TopSwitcher,T.TopTextarea=a.TopTextarea,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=forms.amd.js.map
|
package/forms/forms.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { T as p, g as T, h as s, j as t, k as e, l as n, m as r, n as l, o as u, p as b, q as c, r as h, s as i } from "../.chunks/forms-
|
|
1
|
+
import { T as p, g as T, h as s, j as t, k as e, l as n, m as r, n as l, o as u, p as b, q as c, r as h, s as i } from "../.chunks/forms-BEMrEl5V.es.js";
|
|
2
2
|
export {
|
|
3
3
|
p as TopAvatar,
|
|
4
4
|
T as TopButton,
|
package/formsExt/formsExt.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","vue","../.chunks/forms-B4wnA2qg.amd","../utils/keyboard.amd","../popup/popup.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-DpQWqw0S.amd","../require/css.amd!../assets/formsExt.css"],function(ae,V,e,B,$,w,I){"use strict";if(typeof e>"u")var e=window.Vue;const N={class:"top-editArea_footer"},M=e.defineComponent({__name:"editArea",props:{defaultValue:{default:""},title:{},cancelText:{default:"Cancel"},submitText:{default:"Send"},closeText:{default:"Close"},isFocused:{type:Boolean},forceShowCloseBtn:{type:Boolean},attachToKeyboard:{type:Boolean},modelValue:{},name:{},placeholder:{},styling:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{}},emits:["submit","close","clickOnTitle"],setup(i,{emit:r}){const t=i,l=r,m=e.ref(t.defaultValue),h=e.ref(t.isFocused),d=e.computed(()=>m.value!==t.defaultValue),f=a=>{l("submit",a),m.value=t.defaultValue},c=()=>{if(t.forceShowCloseBtn&&!d.value){l("close");return}m.value=t.defaultValue},v=()=>{t.attachToKeyboard&&l("clickOnTitle")};return(a,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":a.attachToKeyboard})},[a.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:y[0]||(y[0]=s=>v())},e.toDisplayString(a.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-error":a.isError,"top-focus":h.value})},[e.createVNode(B._sfc_main$3,{modelValue:m.value,"onUpdate:modelValue":y[1]||(y[1]=s=>m.value=s),name:a.name,placeholder:a.placeholder,rows:a.rows,minHeight:a.minHeight,expandable:a.expandable,disabled:a.disabled,readonly:a.readonly,isError:a.isError,hint:a.hint,class:"top-editArea_element",onFocus:y[2]||(y[2]=()=>h.value=!0),onBlur:y[3]||(y[3]=()=>h.value=!1),onKeyup:[e.withKeys(c,["esc"]),y[4]||(y[4]=e.withKeys(e.withModifiers(s=>f(m.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),e.createElementVNode("div",N,[d.value||a.forceShowCloseBtn?(e.openBlock(),e.createBlock(B._sfc_main,{key:0,icon:a.$core.state.isMobile?"":"",class:"top-editArea_button",color:"theme",styling:"soft",onClick:c},e.createSlots({_:2},[a.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.cancelText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createBlock(B._sfc_main,{key:1,class:"top-editArea_button",icon:a.$core.state.isMobile?"":"",onClick:y[5]||(y[5]=s=>f(m.value))},e.createSlots({_:2},[a.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.submitText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0)])],2)],2))}}),L={class:"top-editInput"},_=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(i,{emit:r}){const t=i,l=e.ref(t.modelValue);e.watch(e.toRef(t.modelValue),()=>{l.value=t.modelValue});const m=r,h=()=>{m("update:modelValue",l.value)};return(d,f)=>(e.openBlock(),e.createElementBlock("div",L,[e.createVNode(B._sfc_main$2,e.mergeProps(d.input,{onKeydownCapture:f[0]||(f[0]=e.withKeys(e.withModifiers(c=>l.value=d.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(h,["stop"]),["enter"]),modelValue:l.value,"onUpdate:modelValue":f[1]||(f[1]=c=>l.value=c)}),null,16,["onKeydown","modelValue"]),l.value!==d.modelValue?(e.openBlock(),e.createBlock(B._sfc_main,e.mergeProps({key:0,icon:"",styling:"soft"},d.button,{onClick:h}),null,16)):e.createCommentVNode("",!0)]))}}),K=["data-top-icon","onClick"],P={key:0,class:"top-radioGroup_circle"},z=["value","disabled"],D=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue"],["update:modelValue"]),setup(i,{emit:r}){const t=e.useModel(i,"modelValue"),l=i,m=e.ref(null);e.watch(t,()=>{var d,f,c,v,a;(d=l.radiosProps)!=null&&d.some(y=>y.value===t.value)||(t.value=((c=(f=l.radiosProps)==null?void 0:f[0])==null?void 0:c.value)??""),(a=(v=m.value)==null?void 0:v.querySelector(".radioGroup_item-selected"))==null||a.scrollIntoView()},{immediate:!0});const h="radioGroup-"+Math.random();return(d,f)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:m,class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+d.size]:!!d.size,"top-error":d.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.radiosProps,c=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":c.value===t.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":c.disabled}),"data-top-icon":c.icon,onClick:v=>t.value=c.value},[e.createTextVNode(e.toDisplayString(c.title)+" ",1),d.showIndicator?(e.openBlock(),e.createElementBlock("span",P)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=v=>t.value=v),name:h,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:c.value,disabled:c.disabled},null,8,z),[[e.vModelRadio,t.value]])],10,K))),256))],2))}}),O=(i,r,t)=>{const l=e.ref([]),m=e.ref(!1);let h="",d;i&&!i.params.limit&&(i.params.limit=100);const f=async()=>{if(!i)return;let s,k;if(t&&(i.cache??=new Map,k=JSON.stringify(i.params),s=i.cache.get(k),s))return s;if(m.value=!0,s=await i.call(),m.value=!1,s.errors)return;if(!Array.isArray(s.result)){console.warn("В result ожидался массив");return}const C=s.result.findIndex(b=>b.id===void 0||b.name===void 0);if(C!==-1){console.warn(`В result[${C}] нет id или name`);return}return t&&i.cache.set(k,s),s},c=async()=>{if(!i)return;i.params.offset=0,i.params.search=h;const s=await f();s&&(d=s.nextOffset,l.value=s.result)},v=async()=>{if(!i||!d||m.value)return;i.params.offset=d,i.params.search=h;const s=await f();s&&(d=s.nextOffset,l.value=l.value.concat(s.result))},a=B.debounce(()=>c(),200);return{items:l,isLoading:m,loadAppend:v,setSearchTextAndLoad:(s,k=!0)=>{i&&(s.length<r||s===h&&l.value.length||(h=s,k?a():c()))}}},F={class:"top-selector2_itemMulti top-ellipsis"},G=e.defineComponent({__name:"itemMulti",props:{id:{},name:{}},emits:["delete"],setup(i){return(r,t)=>(e.openBlock(),e.createElementBlock("div",F,[e.createTextVNode(e.toDisplayString(r.name)+" ",1),e.createElementVNode("span",{class:"top-selector2_itemMultiDelete","data-top-icon":"",onClick:t[0]||(t[0]=l=>r.$emit("delete",r.id)),onMousedown:t[1]||(t[1]=e.withModifiers(()=>{},["stop"]))},null,32)]))}}),H={key:0,class:"top-selector2_activeItems"},R={key:1,class:"top-selector2_activeName top-ellipsis"},U=e.defineComponent({__name:"selector2",props:e.mergeModels({modelValue:{},items:{default:()=>[]},multiselect:{type:Boolean},disabled:{type:Boolean},size:{default:"s"},isError:{type:Boolean},apiRequest:{},minLength:{default:0},useCache:{type:Boolean},appendSearchToResult:{type:Boolean},appendAllValue:{type:Boolean},addChanger:{type:Boolean},placeholder:{},showSelectedInInput:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(i){const r=i,t=e.useModel(i,"modelValue"),l=e.ref(""),m=()=>{l.value="",v.items.value=[]},h={id:0,name:B.useI18n().Common.All},d=e.ref(null),f=e.ref(null),c=()=>{var o;return(o=d.value)==null?void 0:o.popup};window.__STORYBOOK_PREVIEW__&&!r.modelValue&&e.watch(()=>r.multiselect,()=>{t.value=r.multiselect?[]:{id:null,name:""}},{immediate:!0});const v=O(r.apiRequest,r.minLength,r.useCache),a=e.computed(()=>{const o=[];return!r.multiselect&&r.appendAllValue&&o.push(h),r.items.forEach(n=>o.push({...n})),o}),y=(o,n=!0)=>n&&o.id===null?Array.isArray(t.value)?t.value.some(p=>p.id===o.id&&p.name===o.name):o.name===t.value.name:Array.isArray(t.value)?t.value.some(p=>p.id===o.id):o.id===t.value.id,s=e.computed(()=>{const o=l.value.toLowerCase(),n=$.invertKeyboardLayout(o);let p=[];return a.value.forEach(u=>{const g=u.name.toLowerCase();(u.id===Number(o)||g.includes(o)||g.includes(n))&&(g===o||g===n?p.unshift(u):p.push(u))}),p.push(...v.items.value),r.appendSearchToResult&&l.value&&(!p.length||p[0].name.toLowerCase()!==o)&&p.push({id:null,name:l.value}),r.multiselect&&(p=p.filter(u=>!y(u))),p}),k=e.ref(v.isLoading.value);e.watch(v.isLoading,()=>{k.value=v.isLoading.value});const C=async o=>{var n,p;if(r.multiselect){if(!Array.isArray(t.value)||y(o))return;r.apiRequest&&l.value&&(k.value=!0);const u=[...t.value];u.push({...o}),t.value=u,B.Core.state.isMobile?(n=c())==null||n.close():setTimeout(()=>{var g,A,E,S;(g=c())==null||g.recalcPosition(),(S=(E=(A=c())==null?void 0:A.elPopupWidget)==null?void 0:E.querySelector("input"))==null||S.focus(),l.value&&m()})}else JSON.stringify(o)!==JSON.stringify(t.value)&&(t.value={...o}),(p=c())==null||p.close()},b=()=>{if(!Array.isArray(t.value)){const n=(a.value.findIndex(p=>p.id===t.value.id)+1)%a.value.length;t.value={...a.value[n]}}},te=async o=>{Array.isArray(t.value)&&(t.value=t.value.filter(n=>n.id!==o),setTimeout(()=>{var n;(n=c())==null||n.recalcPosition()}))},T=e.ref(!1);r.apiRequest&&(e.watch(T,()=>{T.value&&v.setSearchTextAndLoad(l.value,!1)}),e.watch(l,()=>v.setSearchTextAndLoad(l.value)));const oe=o=>{const n=o.target;n.scrollTop/(n.scrollHeight-n.offsetHeight)>.8&&v.loadAppend()},le=()=>{var o;T.value=!1,(o=f.value)==null||o.focus(),l.value&&m()};return(o,n)=>{const p=e.resolveDirective("top-focus");return e.openBlock(),e.createBlock(e.unref(w.TopPopup),{ref_key:"popupRef",ref:d,onOpen:n[3]||(n[3]=u=>T.value=!0),onClose:n[4]||(n[4]=u=>le()),onScrollContentList:n[5]||(n[5]=u=>o.apiRequest?oe(u):void 0),notch:!1,transitionDuration:0},{opener:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:f,class:e.normalizeClass({"top-selector2":!0,"top-selector2-multiselect":o.multiselect,["top-size_"+o.size]:!0,"top-disabled":o.disabled,"top-forms-focusable":!o.disabled,"top-error":o.isError}),onKeydown:[n[0]||(n[0]=e.withKeys(e.withModifiers(u=>u.currentTarget.click(),["stop","prevent"]),["up","down","enter","space"])),n[1]||(n[1]=e.withKeys(u=>t.value=[],["delete"]))],tabindex:"0"},[o.multiselect?(e.openBlock(),e.createElementBlock("div",H,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,u=>(e.openBlock(),e.createBlock(G,{id:u.id,name:u.name,onDelete:te},null,8,["id","name"]))),256))])):e.createCommentVNode("",!0),o.multiselect?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",R,e.toDisplayString(Array.isArray(t.value)?"":t.value.name),1)),o.addChanger&&!o.multiselect&&a.value.length>1&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:2,class:"top-changer top-changer-selector",onClick:e.withModifiers(b,["stop"])})):e.createCommentVNode("",!0)],34)),[[p,o.isError,void 0,{onupdate:!0}]])]),widget:e.withCtx(()=>[e.createVNode(e.unref(w.TopPopupWidgetInput),{title:"Поиск",icon:"",modelValue:l.value,"onUpdate:modelValue":n[2]||(n[2]=u=>l.value=u),isLoading:k.value,placeholder:!Array.isArray(t.value)&&!o.multiselect&&o.showSelectedInInput?t.value.name:o.placeholder},null,8,["modelValue","isLoading","placeholder"])]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,u=>(e.openBlock(),e.createBlock(e.unref(w.TopPopupListItem),{class:e.normalizeClass({"top-active":!Array.isArray(t.value)&&!o.multiselect&&t.value.name===u.name}),key:u.id??void 0,onClick:e.withModifiers(g=>C(u),["stop"])},{default:e.withCtx(()=>[o.$slots.item?e.renderSlot(o.$slots,"item",{key:0,item:u}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(u.name),1)],64))]),_:2},1032,["class","onClick"]))),128)),!k.value&&!s.value.length?(e.openBlock(),e.createBlock(e.unref(w.TopPopupListItem),{key:0,type:"regular"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$i18n.Common.No_results),1)]),_:1})):e.createCommentVNode("",!0)]),_:3},512)}}}),W=["data-top-icon"],J={class:"top-info_text"},j={key:0,class:"top-info_value"},X=e.defineComponent({__name:"info",props:{icon:{},styling:{default:"default"},size:{default:"default"}},setup(i){return(r,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-info":!0,["top-size_"+r.size]:!0,["top-info-styling_"+r.styling]:!0}),"data-top-icon":r.icon},[e.createElementVNode("div",J,[e.renderSlot(r.$slots,"default")]),r.$slots.additional?(e.openBlock(),e.createElementBlock("span",j,[e.renderSlot(r.$slots,"additional")])):e.createCommentVNode("",!0)],10,W))}}),Y=M,Q=_,Z=D,q=U,x=I._sfc_main,ee=X;V.TopEditArea=Y,V.TopEditInput=Q,V.TopInfo=ee,V.TopMenu=x,V.TopRadioGroup=Z,V.TopSelector2=q,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
define(["require","exports","vue","../.chunks/forms-B3bJpLOo.amd","../utils/keyboard.amd","../popup/popup.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-VpwRSIdl.amd","../require/css.amd!../assets/formsExt.css"],function(ae,V,e,B,$,w,I){"use strict";if(typeof e>"u")var e=window.Vue;const N={class:"top-editArea_footer"},M=e.defineComponent({__name:"editArea",props:{defaultValue:{default:""},title:{},cancelText:{default:"Cancel"},submitText:{default:"Send"},closeText:{default:"Close"},isFocused:{type:Boolean},forceShowCloseBtn:{type:Boolean},attachToKeyboard:{type:Boolean},modelValue:{},name:{},placeholder:{},styling:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{}},emits:["submit","close","clickOnTitle"],setup(i,{emit:r}){const t=i,l=r,m=e.ref(t.defaultValue),h=e.ref(t.isFocused),d=e.computed(()=>m.value!==t.defaultValue),f=a=>{l("submit",a),m.value=t.defaultValue},c=()=>{if(t.forceShowCloseBtn&&!d.value){l("close");return}m.value=t.defaultValue},v=()=>{t.attachToKeyboard&&l("clickOnTitle")};return(a,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":a.attachToKeyboard})},[a.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:y[0]||(y[0]=s=>v())},e.toDisplayString(a.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-error":a.isError,"top-focus":h.value})},[e.createVNode(B._sfc_main$3,{modelValue:m.value,"onUpdate:modelValue":y[1]||(y[1]=s=>m.value=s),name:a.name,placeholder:a.placeholder,rows:a.rows,minHeight:a.minHeight,expandable:a.expandable,disabled:a.disabled,readonly:a.readonly,isError:a.isError,hint:a.hint,class:"top-editArea_element",onFocus:y[2]||(y[2]=()=>h.value=!0),onBlur:y[3]||(y[3]=()=>h.value=!1),onKeyup:[e.withKeys(c,["esc"]),y[4]||(y[4]=e.withKeys(e.withModifiers(s=>f(m.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),e.createElementVNode("div",N,[d.value||a.forceShowCloseBtn?(e.openBlock(),e.createBlock(B._sfc_main,{key:0,icon:a.$core.state.isMobile?"":"",class:"top-editArea_button",color:"theme",styling:"soft",onClick:c},e.createSlots({_:2},[a.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.cancelText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createBlock(B._sfc_main,{key:1,class:"top-editArea_button",icon:a.$core.state.isMobile?"":"",onClick:y[5]||(y[5]=s=>f(m.value))},e.createSlots({_:2},[a.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.submitText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0)])],2)],2))}}),L={class:"top-editInput"},_=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(i,{emit:r}){const t=i,l=e.ref(t.modelValue);e.watch(e.toRef(t.modelValue),()=>{l.value=t.modelValue});const m=r,h=()=>{m("update:modelValue",l.value)};return(d,f)=>(e.openBlock(),e.createElementBlock("div",L,[e.createVNode(B._sfc_main$2,e.mergeProps(d.input,{onKeydownCapture:f[0]||(f[0]=e.withKeys(e.withModifiers(c=>l.value=d.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(h,["stop"]),["enter"]),modelValue:l.value,"onUpdate:modelValue":f[1]||(f[1]=c=>l.value=c)}),null,16,["onKeydown","modelValue"]),l.value!==d.modelValue?(e.openBlock(),e.createBlock(B._sfc_main,e.mergeProps({key:0,icon:"",styling:"soft"},d.button,{onClick:h}),null,16)):e.createCommentVNode("",!0)]))}}),K=["data-top-icon","onClick"],P={key:0,class:"top-radioGroup_circle"},z=["value","disabled"],D=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue"],["update:modelValue"]),setup(i,{emit:r}){const t=e.useModel(i,"modelValue"),l=i,m=e.ref(null);e.watch(t,()=>{var d,f,c,v,a;(d=l.radiosProps)!=null&&d.some(y=>y.value===t.value)||(t.value=((c=(f=l.radiosProps)==null?void 0:f[0])==null?void 0:c.value)??""),(a=(v=m.value)==null?void 0:v.querySelector(".radioGroup_item-selected"))==null||a.scrollIntoView()},{immediate:!0});const h="radioGroup-"+Math.random();return(d,f)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:m,class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+d.size]:!!d.size,"top-error":d.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.radiosProps,c=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":c.value===t.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":c.disabled}),"data-top-icon":c.icon,onClick:v=>t.value=c.value},[e.createTextVNode(e.toDisplayString(c.title)+" ",1),d.showIndicator?(e.openBlock(),e.createElementBlock("span",P)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=v=>t.value=v),name:h,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:c.value,disabled:c.disabled},null,8,z),[[e.vModelRadio,t.value]])],10,K))),256))],2))}}),O=(i,r,t)=>{const l=e.ref([]),m=e.ref(!1);let h="",d;i&&!i.params.limit&&(i.params.limit=100);const f=async()=>{if(!i)return;let s,k;if(t&&(i.cache??=new Map,k=JSON.stringify(i.params),s=i.cache.get(k),s))return s;if(m.value=!0,s=await i.call(),m.value=!1,s.errors)return;if(!Array.isArray(s.result)){console.warn("В result ожидался массив");return}const C=s.result.findIndex(b=>b.id===void 0||b.name===void 0);if(C!==-1){console.warn(`В result[${C}] нет id или name`);return}return t&&i.cache.set(k,s),s},c=async()=>{if(!i)return;i.params.offset=0,i.params.search=h;const s=await f();s&&(d=s.nextOffset,l.value=s.result)},v=async()=>{if(!i||!d||m.value)return;i.params.offset=d,i.params.search=h;const s=await f();s&&(d=s.nextOffset,l.value=l.value.concat(s.result))},a=B.debounce(()=>c(),200);return{items:l,isLoading:m,loadAppend:v,setSearchTextAndLoad:(s,k=!0)=>{i&&(s.length<r||s===h&&l.value.length||(h=s,k?a():c()))}}},F={class:"top-selector2_itemMulti top-ellipsis"},G=e.defineComponent({__name:"itemMulti",props:{id:{},name:{}},emits:["delete"],setup(i){return(r,t)=>(e.openBlock(),e.createElementBlock("div",F,[e.createTextVNode(e.toDisplayString(r.name)+" ",1),e.createElementVNode("span",{class:"top-selector2_itemMultiDelete","data-top-icon":"",onClick:t[0]||(t[0]=l=>r.$emit("delete",r.id)),onMousedown:t[1]||(t[1]=e.withModifiers(()=>{},["stop"]))},null,32)]))}}),H={key:0,class:"top-selector2_activeItems"},R={key:1,class:"top-selector2_activeName top-ellipsis"},U=e.defineComponent({__name:"selector2",props:e.mergeModels({modelValue:{},items:{default:()=>[]},multiselect:{type:Boolean},disabled:{type:Boolean},size:{default:"s"},isError:{type:Boolean},apiRequest:{},minLength:{default:0},useCache:{type:Boolean},appendSearchToResult:{type:Boolean},appendAllValue:{type:Boolean},addChanger:{type:Boolean},placeholder:{},showSelectedInInput:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(i){const r=i,t=e.useModel(i,"modelValue"),l=e.ref(""),m=()=>{l.value="",v.items.value=[]},h={id:0,name:B.useI18n().Common.All},d=e.ref(null),f=e.ref(null),c=()=>{var o;return(o=d.value)==null?void 0:o.popup};window.__STORYBOOK_PREVIEW__&&!r.modelValue&&e.watch(()=>r.multiselect,()=>{t.value=r.multiselect?[]:{id:null,name:""}},{immediate:!0});const v=O(r.apiRequest,r.minLength,r.useCache),a=e.computed(()=>{const o=[];return!r.multiselect&&r.appendAllValue&&o.push(h),r.items.forEach(n=>o.push({...n})),o}),y=(o,n=!0)=>n&&o.id===null?Array.isArray(t.value)?t.value.some(p=>p.id===o.id&&p.name===o.name):o.name===t.value.name:Array.isArray(t.value)?t.value.some(p=>p.id===o.id):o.id===t.value.id,s=e.computed(()=>{const o=l.value.toLowerCase(),n=$.invertKeyboardLayout(o);let p=[];return a.value.forEach(u=>{const g=u.name.toLowerCase();(u.id===Number(o)||g.includes(o)||g.includes(n))&&(g===o||g===n?p.unshift(u):p.push(u))}),p.push(...v.items.value),r.appendSearchToResult&&l.value&&(!p.length||p[0].name.toLowerCase()!==o)&&p.push({id:null,name:l.value}),r.multiselect&&(p=p.filter(u=>!y(u))),p}),k=e.ref(v.isLoading.value);e.watch(v.isLoading,()=>{k.value=v.isLoading.value});const C=async o=>{var n,p;if(r.multiselect){if(!Array.isArray(t.value)||y(o))return;r.apiRequest&&l.value&&(k.value=!0);const u=[...t.value];u.push({...o}),t.value=u,B.Core.state.isMobile?(n=c())==null||n.close():setTimeout(()=>{var g,A,E,S;(g=c())==null||g.recalcPosition(),(S=(E=(A=c())==null?void 0:A.elPopupWidget)==null?void 0:E.querySelector("input"))==null||S.focus(),l.value&&m()})}else JSON.stringify(o)!==JSON.stringify(t.value)&&(t.value={...o}),(p=c())==null||p.close()},b=()=>{if(!Array.isArray(t.value)){const n=(a.value.findIndex(p=>p.id===t.value.id)+1)%a.value.length;t.value={...a.value[n]}}},te=async o=>{Array.isArray(t.value)&&(t.value=t.value.filter(n=>n.id!==o),setTimeout(()=>{var n;(n=c())==null||n.recalcPosition()}))},T=e.ref(!1);r.apiRequest&&(e.watch(T,()=>{T.value&&v.setSearchTextAndLoad(l.value,!1)}),e.watch(l,()=>v.setSearchTextAndLoad(l.value)));const oe=o=>{const n=o.target;n.scrollTop/(n.scrollHeight-n.offsetHeight)>.8&&v.loadAppend()},le=()=>{var o;T.value=!1,(o=f.value)==null||o.focus(),l.value&&m()};return(o,n)=>{const p=e.resolveDirective("top-focus");return e.openBlock(),e.createBlock(e.unref(w.TopPopup),{ref_key:"popupRef",ref:d,onOpen:n[3]||(n[3]=u=>T.value=!0),onClose:n[4]||(n[4]=u=>le()),onScrollContentList:n[5]||(n[5]=u=>o.apiRequest?oe(u):void 0),notch:!1,transitionDuration:0},{opener:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:f,class:e.normalizeClass({"top-selector2":!0,"top-selector2-multiselect":o.multiselect,["top-size_"+o.size]:!0,"top-disabled":o.disabled,"top-forms-focusable":!o.disabled,"top-error":o.isError}),onKeydown:[n[0]||(n[0]=e.withKeys(e.withModifiers(u=>u.currentTarget.click(),["stop","prevent"]),["up","down","enter","space"])),n[1]||(n[1]=e.withKeys(u=>t.value=[],["delete"]))],tabindex:"0"},[o.multiselect?(e.openBlock(),e.createElementBlock("div",H,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,u=>(e.openBlock(),e.createBlock(G,{id:u.id,name:u.name,onDelete:te},null,8,["id","name"]))),256))])):e.createCommentVNode("",!0),o.multiselect?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",R,e.toDisplayString(Array.isArray(t.value)?"":t.value.name),1)),o.addChanger&&!o.multiselect&&a.value.length>1&&!o.disabled?(e.openBlock(),e.createElementBlock("span",{key:2,class:"top-changer top-changer-selector",onClick:e.withModifiers(b,["stop"])})):e.createCommentVNode("",!0)],34)),[[p,o.isError,void 0,{onupdate:!0}]])]),widget:e.withCtx(()=>[e.createVNode(e.unref(w.TopPopupWidgetInput),{title:"Поиск",icon:"",modelValue:l.value,"onUpdate:modelValue":n[2]||(n[2]=u=>l.value=u),isLoading:k.value,placeholder:!Array.isArray(t.value)&&!o.multiselect&&o.showSelectedInInput?t.value.name:o.placeholder},null,8,["modelValue","isLoading","placeholder"])]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,u=>(e.openBlock(),e.createBlock(e.unref(w.TopPopupListItem),{class:e.normalizeClass({"top-active":!Array.isArray(t.value)&&!o.multiselect&&t.value.name===u.name}),key:u.id??void 0,onClick:e.withModifiers(g=>C(u),["stop"])},{default:e.withCtx(()=>[o.$slots.item?e.renderSlot(o.$slots,"item",{key:0,item:u}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(u.name),1)],64))]),_:2},1032,["class","onClick"]))),128)),!k.value&&!s.value.length?(e.openBlock(),e.createBlock(e.unref(w.TopPopupListItem),{key:0,type:"regular"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$i18n.Common.No_results),1)]),_:1})):e.createCommentVNode("",!0)]),_:3},512)}}}),W=["data-top-icon"],J={class:"top-info_text"},j={key:0,class:"top-info_value"},X=e.defineComponent({__name:"info",props:{icon:{},styling:{default:"default"},size:{default:"default"}},setup(i){return(r,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-info":!0,["top-size_"+r.size]:!0,["top-info-styling_"+r.styling]:!0}),"data-top-icon":r.icon},[e.createElementVNode("div",J,[e.renderSlot(r.$slots,"default")]),r.$slots.additional?(e.openBlock(),e.createElementBlock("span",j,[e.renderSlot(r.$slots,"additional")])):e.createCommentVNode("",!0)],10,W))}}),Y=M,Q=_,Z=D,q=U,x=I._sfc_main,ee=X;V.TopEditArea=Y,V.TopEditInput=Q,V.TopInfo=ee,V.TopMenu=x,V.TopRadioGroup=Z,V.TopSelector2=q,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=formsExt.amd.js.map
|
package/formsExt/formsExt.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Core as te } from "../core/app.js";
|
|
2
2
|
import { defineComponent as E, ref as b, computed as z, createElementBlock as h, openBlock as p, normalizeClass as $, createCommentVNode as A, createElementVNode as M, toDisplayString as w, createVNode as R, withKeys as B, withModifiers as S, createBlock as T, createSlots as X, withCtx as k, createTextVNode as L, watch as I, toRef as le, mergeProps as Y, mergeModels as G, useModel as Q, Fragment as N, renderList as D, withDirectives as Z, vModelRadio as ae, resolveDirective as se, unref as O, renderSlot as H } from "vue";
|
|
3
|
-
import { w as ne, _ as F, f as re, d as ie, u as ue, C as de } from "../.chunks/forms-
|
|
3
|
+
import { w as ne, _ as F, f as re, d as ie, u as ue, C as de } from "../.chunks/forms-BEMrEl5V.es.js";
|
|
4
4
|
import { invertKeyboardLayout as pe } from "../utils/keyboard.js";
|
|
5
5
|
import { TopPopup as ce, TopPopupListItem as j, TopPopupWidgetInput as me } from "../popup/popup.js";
|
|
6
|
-
import { _ as fe } from "../.chunks/menu.vue_vue_type_style_index_0_lang-
|
|
6
|
+
import { _ as fe } from "../.chunks/menu.vue_vue_type_style_index_0_lang-DzNVeeZl.es.js";
|
|
7
7
|
const oe = ["../assets/formsExt.css"].map((n) => import.meta.resolve(n));
|
|
8
8
|
te.insertCSSLinkToPage(oe, !0);
|
|
9
9
|
const ve = { class: "top-editArea_footer" }, ye = /* @__PURE__ */ E({
|
package/layout/layout.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","vue","../.chunks/forms-
|
|
1
|
+
define(["require","exports","vue","../.chunks/forms-B3bJpLOo.amd","../require/css.amd!../assets/layout.css"],function(v,t,e,n){"use strict";if(typeof e>"u")var e=window.Vue;const l=e.defineComponent({__name:"rows",props:{gap:{default:"none"}},setup(s){const o=s;return(c,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-rows":!0,["top-rows-gap_"+o.gap]:!0})},[e.renderSlot(c.$slots,"default")],2))}}),r={class:"top-islandRows"},a={key:0,class:"top-islandRows_title"},d=e.defineComponent({__name:"islandRows",setup(s){return(o,c)=>(e.openBlock(),e.createElementBlock("div",r,[o.$slots.title?(e.openBlock(),e.createElementBlock("div",a,[e.renderSlot(o.$slots,"title")])):e.createCommentVNode("",!0),e.createVNode(l,{gap:"l",class:"top-islandRows_rows"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3})]))}}),i={},_={class:"top-islandRows_row"};function u(s,o){return e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(s.$slots,"default")])}const p=n._export_sfc(i,[["render",u]]),w={},f={class:"top-islandRows_subTitle"};function m(s,o){return e.openBlock(),e.createElementBlock("div",f,[e.renderSlot(s.$slots,"default")])}const R=n._export_sfc(w,[["render",m]]),T=d,k=p,$=R,h=l;t.TopIslandRows=T,t.TopIslandRowsRow=k,t.TopIslandRowsSubTitle=$,t.TopRows=h,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=layout.amd.js.map
|
package/layout/layout.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Core as i } from "../core/app.js";
|
|
2
2
|
import { defineComponent as r, createElementBlock as t, openBlock as e, normalizeClass as d, renderSlot as n, createCommentVNode as p, createVNode as u, withCtx as m } from "vue";
|
|
3
|
-
import { t as l } from "../.chunks/forms-
|
|
3
|
+
import { t as l } from "../.chunks/forms-BEMrEl5V.es.js";
|
|
4
4
|
const _ = ["../assets/layout.css"].map((s) => import.meta.resolve(s));
|
|
5
5
|
i.insertCSSLinkToPage(_, !0);
|
|
6
6
|
const c = /* @__PURE__ */ r({
|
package/package.json
CHANGED
package/popup/popup.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/listItem.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
define(["require","exports","../.chunks/listItem.vue_vue_type_script_setup_true_lang-DLF_Qnj6.amd","vue","../.chunks/forms-B3bJpLOo.amd","../require/css.amd!../assets/popup.css"],function(h,p,f,e,c){"use strict";if(typeof e>"u")var e=window.Vue;const $=e.defineComponent({__name:"widgetInput",props:e.mergeModels({modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},styling:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean,default:!0},title:{},captionType:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(u){const d=e.useModel(u,"modelValue");return(r,o)=>(e.openBlock(),e.createBlock(c._sfc_main$2,e.mergeProps(r.$props,{modificator:"popupWidgetInput",modelValue:d.value,"onUpdate:modelValue":o[0]||(o[0]=l=>d.value=l)}),null,16,["modelValue"]))}}),S=e.defineComponent({__name:"alert",props:{submitText:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByHover:{type:Boolean},posBy:{}},emits:["open","close","scrollContentList"],setup(u){const r={...u,submitText:void 0};return delete r.submitText,(o,l)=>(e.openBlock(),e.createBlock(f._sfc_main,e.mergeProps({class:"top-popupAlert"},r,{onOpen:l[0]||(l[0]=s=>o.$emit("open",s)),onClose:l[1]||(l[1]=s=>o.$emit("close",s)),onScrollContentList:l[2]||(l[2]=(...s)=>o.$emit("scrollContentList",...s))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(o.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(o.$slots,"footer"),e.createVNode(c._sfc_main,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.submitText||o.$i18n.Common.Close),1)]),_:1})]),_:2},[o.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"header")]),key:"0"}:void 0,o.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),key:"1"}:void 0]),1040))}}),y=e.defineComponent({__name:"confirm",props:{cancelText:{},submitText:{},isWarning:{type:Boolean},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByHover:{type:Boolean},posBy:{}},emits:["open","close","scrollContentList","submit"],setup(u,{emit:d}){const r=u,o=d,l=e.ref(!1),s=()=>{l.value=!0,o("submit")},C=n=>{if(l.value){l.value=!1;return}o("close",n)},T={...r,submitText:void 0,cancelText:void 0,isWarning:void 0};return delete T.submitText,delete T.cancelText,delete T.isWarning,(n,i)=>(e.openBlock(),e.createBlock(f._sfc_main,e.mergeProps({class:"top-popupConfirm"},T,{onOpen:i[0]||(i[0]=t=>n.$emit("open",t)),onClose:i[1]||(i[1]=t=>C(t)),onScrollContentList:i[2]||(i[2]=(...t)=>n.$emit("scrollContentList",...t))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(n.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(n.$slots,"footer"),e.createVNode(c._sfc_main,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.cancelText||n.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(c._sfc_main,{onClick:s,color:n.isWarning?"red":"blue"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.submitText||n.$i18n.Common.Continue),1)]),_:1},8,["color"])]),_:2},[n.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"header")]),key:"0"}:void 0,n.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),key:"1"}:void 0]),1040))}}),V=e.defineComponent({__name:"prompt",props:{submitText:{},cancelText:{},defaultValue:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByHover:{type:Boolean},posBy:{}},emits:["open","close","scrollContentList","submit"],setup(u,{emit:d}){const r=u,o=d,l=()=>C.value=r.defaultValue??"",s=e.ref(!1),C=e.ref();e.watch(()=>r.defaultValue,()=>l(),{immediate:!0});const T=()=>{s.value=!0},n=t=>{if(s.value){s.value=!1,o("submit",C.value),l();return}l(),o("close",t)},i={...r,submitText:void 0,cancelText:void 0,defaultValue:void 0};return delete i.submitText,delete i.cancelText,delete i.defaultValue,(t,a)=>(e.openBlock(),e.createBlock(f._sfc_main,e.mergeProps({class:"top-popupPrompt"},i,{onOpen:a[1]||(a[1]=m=>t.$emit("open",m)),onClose:a[2]||(a[2]=m=>n(m)),onScrollContentList:a[3]||(a[3]=(...m)=>t.$emit("scrollContentList",...m))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(t.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(t.$slots,"footer"),e.createVNode(c._sfc_main,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelText||t.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(c._sfc_main,{onClick:T},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.submitText||t.$i18n.Common.OK),1)]),_:1})]),_:2},[t.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"header")]),key:"0"}:void 0,t.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"default"),e.createVNode($,{modelValue:C.value,"onUpdate:modelValue":a[0]||(a[0]=m=>C.value=m),modelModifiers:{trim:!0}},null,8,["modelValue"])]),key:"1"}:void 0]),1040))}}),B=f._sfc_main,v=f._sfc_main$2,P=f._sfc_main$1,b=$,k=S,w=y,g=V;p.TopPopup=B,p.TopPopupAlert=k,p.TopPopupConfirm=w,p.TopPopupListItem=P,p.TopPopupOpener=v,p.TopPopupPrompt=g,p.TopPopupWidgetInput=b,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=popup.amd.js.map
|
package/popup/popup.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Core as g } from "../core/app.js";
|
|
2
|
-
import { _ as y, a as O, b as D } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-
|
|
2
|
+
import { _ as y, a as O, b as D } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-DMQVN3dP.es.js";
|
|
3
3
|
import { defineComponent as b, mergeModels as I, useModel as M, createBlock as B, openBlock as V, mergeProps as S, createSlots as k, withCtx as n, renderSlot as l, createVNode as c, createTextVNode as C, toDisplayString as T, ref as L, watch as w } from "vue";
|
|
4
|
-
import { f as H, _ as v } from "../.chunks/forms-
|
|
4
|
+
import { f as H, _ as v } from "../.chunks/forms-BEMrEl5V.es.js";
|
|
5
5
|
const W = ["../assets/popup.css"].map((a) => import.meta.resolve(a));
|
|
6
6
|
g.insertCSSLinkToPage(W, !0);
|
|
7
7
|
const P = /* @__PURE__ */ b({
|