@topvisor/ui 1.4.3-updateVue.1 → 1.5.0-updates.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.chunks/api-CawzY1Cw.amd.js +2 -0
- package/.chunks/api-CawzY1Cw.amd.js.map +1 -0
- package/.chunks/api-CawzY1Cw.esm.js +208 -0
- package/.chunks/api-CawzY1Cw.esm.js.map +1 -0
- package/.chunks/app-CCX-gNqz.amd.js +2 -0
- package/.chunks/app-CCX-gNqz.amd.js.map +1 -0
- package/.chunks/app-CCX-gNqz.esm.js +396 -0
- package/.chunks/app-CCX-gNqz.esm.js.map +1 -0
- package/.chunks/datepicker-BTkZOq7d.amd.js +2 -0
- package/.chunks/datepicker-BTkZOq7d.amd.js.map +1 -0
- package/.chunks/datepicker-BTkZOq7d.esm.js +38 -0
- package/.chunks/datepicker-BTkZOq7d.esm.js.map +1 -0
- package/.chunks/dialog-DeM4SApg.amd.js +2 -0
- package/.chunks/dialog-DeM4SApg.amd.js.map +1 -0
- package/.chunks/dialog-DeM4SApg.esm.js +117 -0
- package/.chunks/dialog-DeM4SApg.esm.js.map +1 -0
- package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd.js +2 -0
- package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd.js.map +1 -0
- package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.esm.js +169 -0
- package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.esm.js.map +1 -0
- package/.chunks/dialogs-CMrERMI7.amd.js +2 -0
- package/.chunks/dialogs-CMrERMI7.amd.js.map +1 -0
- package/.chunks/dialogs-CMrERMI7.esm.js +237 -0
- package/.chunks/dialogs-CMrERMI7.esm.js.map +1 -0
- package/.chunks/field-CjkpGeA7.amd.js +2 -0
- package/.chunks/field-CjkpGeA7.amd.js.map +1 -0
- package/.chunks/field-CjkpGeA7.esm.js +16 -0
- package/.chunks/field-CjkpGeA7.esm.js.map +1 -0
- package/.chunks/forms-CbUt-6Ff.amd.js +2 -0
- package/.chunks/forms-CbUt-6Ff.amd.js.map +1 -0
- package/.chunks/forms-CbUt-6Ff.esm.js +1991 -0
- package/.chunks/forms-CbUt-6Ff.esm.js.map +1 -0
- package/.chunks/formsExt-CrTmBhja.amd.js +2 -0
- package/.chunks/formsExt-CrTmBhja.amd.js.map +1 -0
- package/.chunks/formsExt-CrTmBhja.esm.js +807 -0
- package/.chunks/formsExt-CrTmBhja.esm.js.map +1 -0
- package/.chunks/lazy-CGswTOPj.amd.js +2 -0
- package/.chunks/lazy-CGswTOPj.amd.js.map +1 -0
- package/.chunks/lazy-CGswTOPj.esm.js +68 -0
- package/.chunks/lazy-CGswTOPj.esm.js.map +1 -0
- package/.chunks/mocker-CwZe-g4N.amd.js +2 -0
- package/.chunks/mocker-CwZe-g4N.amd.js.map +1 -0
- package/.chunks/mocker-CwZe-g4N.esm.js +45 -0
- package/.chunks/mocker-CwZe-g4N.esm.js.map +1 -0
- package/.chunks/notice-CslVdVNm.amd.js +4 -0
- package/.chunks/notice-CslVdVNm.amd.js.map +1 -0
- package/.chunks/notice-CslVdVNm.esm.js +191 -0
- package/.chunks/notice-CslVdVNm.esm.js.map +1 -0
- package/.chunks/popup-DrByVU-k.amd.js +2 -0
- package/.chunks/popup-DrByVU-k.amd.js.map +1 -0
- package/.chunks/popup-DrByVU-k.esm.js +444 -0
- package/.chunks/popup-DrByVU-k.esm.js.map +1 -0
- package/.chunks/popup-dNrN-eKi.amd.js +2 -0
- package/.chunks/popup-dNrN-eKi.amd.js.map +1 -0
- package/.chunks/popup-dNrN-eKi.esm.js +323 -0
- package/.chunks/popup-dNrN-eKi.esm.js.map +1 -0
- package/.chunks/punycode.es6-B-5kB2YI.amd.js +2 -0
- package/.chunks/{punycode.es6-CgGegfA_.es.js.map → punycode.es6-B-5kB2YI.amd.js.map} +1 -1
- package/.chunks/punycode.es6-B-5kB2YI.esm.js +105 -0
- package/.chunks/punycode.es6-B-5kB2YI.esm.js.map +1 -0
- package/.chunks/store-DuQpSSLL.amd.js +2 -0
- package/.chunks/{store-CX_6ZXhO.es.js.map → store-DuQpSSLL.amd.js.map} +1 -1
- package/.chunks/store-DuQpSSLL.esm.js +27 -0
- package/.chunks/store-DuQpSSLL.esm.js.map +1 -0
- package/.chunks/utils-BwiXsV0S.amd.js +2 -0
- package/.chunks/utils-BwiXsV0S.amd.js.map +1 -0
- package/.chunks/utils-BwiXsV0S.esm.js +43 -0
- package/.chunks/utils-BwiXsV0S.esm.js.map +1 -0
- package/.chunks/utils-Dd0MZgyw.amd.js +2 -0
- package/.chunks/utils-Dd0MZgyw.amd.js.map +1 -0
- package/.chunks/utils-Dd0MZgyw.esm.js +287 -0
- package/.chunks/utils-Dd0MZgyw.esm.js.map +1 -0
- package/.chunks/worker-Db8YrEHo.amd.js +2 -0
- package/.chunks/worker-Db8YrEHo.amd.js.map +1 -0
- package/.chunks/worker-Db8YrEHo.esm.js +100 -0
- package/.chunks/worker-Db8YrEHo.esm.js.map +1 -0
- package/api/additional.amd.js +2 -2
- package/api/additional.amd.js.map +1 -1
- package/api/additional.d.ts +0 -1
- package/api/additional.js +70 -66
- package/api/additional.js.map +1 -1
- package/api/index.amd.js +2 -2
- package/api/index.amd.js.map +1 -1
- package/api/index.d.ts +0 -1
- package/api/index.js +3 -285
- package/assets/charts.css +1 -1
- package/assets/core.css +1 -1
- package/assets/dialog_regionSelectorRegions.css +1 -1
- package/assets/extra.css +1 -1
- package/assets/forms.css +1 -1
- package/assets/formsExt.css +1 -0
- package/assets/layout.css +1 -1
- package/assets/notice.css +1 -1
- package/assets/popup.css +1 -0
- package/assets/project.css +1 -1
- package/assets/tabs.css +1 -1
- package/assets/tabsView.css +1 -1
- package/assets/themes/dark-th.css +1 -1
- package/assets/themes/dark.css +1 -1
- package/assets/themes/light.css +1 -1
- package/autoload-css-manifest.amd.json +79 -0
- package/autoload-css-manifest.json +90 -0
- package/charts/charts.amd.js +2 -2
- package/charts/charts.amd.js.map +1 -1
- package/charts/charts.d.ts +0 -1
- package/charts/charts.js +146 -174
- package/charts/charts.js.map +1 -1
- package/core/app.amd.js +2 -2
- package/core/app.amd.js.map +1 -1
- package/core/app.d.ts +0 -1
- package/core/app.js +5 -213
- package/dialog/dialog.amd.js +2 -2
- package/dialog/dialog.amd.js.map +1 -1
- package/dialog/dialog.d.ts +0 -1
- package/dialog/dialog.js +4 -60
- package/extra/extra.amd.js +2 -2
- package/extra/extra.amd.js.map +1 -1
- package/extra/extra.d.ts +0 -1
- package/extra/extra.js +73 -68
- package/extra/extra.js.map +1 -1
- package/forms/forms.amd.js +2 -2
- package/forms/forms.amd.js.map +1 -1
- package/forms/forms.d.ts +0 -1
- package/forms/forms.js +2 -19
- package/forms/helpers.amd.js +2 -2
- package/forms/helpers.amd.js.map +1 -1
- package/forms/helpers.js +0 -2
- package/formsExt/formsExt.amd.js +2 -2
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.d.ts +0 -1
- package/formsExt/formsExt.js +2 -372
- package/icomoon/Topvisor icons.json +776 -334
- package/icomoon/demo-files/demo.amd.js +2 -0
- package/icomoon/demo-files/demo.amd.js.map +1 -0
- package/icomoon/demo.amd.js +2 -0
- package/icomoon/demo.amd.js.map +1 -0
- package/icomoon/demo.html +85 -1
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +6 -0
- package/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/icomoon/fonts/Topvisor-2.woff +0 -0
- package/icomoon/selection.json +1 -1
- package/icomoon/style.css +23 -5
- package/layout/layout.amd.js +2 -2
- package/layout/layout.amd.js.map +1 -1
- package/layout/layout.d.ts +0 -1
- package/layout/layout.js +41 -57
- package/layout/layout.js.map +1 -1
- package/package.json +6 -6
- package/popup/popup.amd.js +2 -2
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.d.ts +0 -1
- package/popup/popup.js +2 -282
- package/popup/worker.amd.js +2 -2
- package/popup/worker.amd.js.map +1 -1
- package/popup/worker.d.ts +0 -1
- package/popup/worker.js +2 -144
- package/project/project.amd.js +2 -2
- package/project/project.amd.js.map +1 -1
- package/project/project.d.ts +0 -1
- package/project/project.js +1685 -1253
- package/project/project.js.map +1 -1
- package/src/{components → src/components}/charts/miniCharts/miniCharts.d.ts +1 -1
- package/src/{components → src/components}/core/notice/item/types.d.ts +1 -1
- package/src/{components → src/components}/core/notice/utils.d.ts +1 -1
- package/src/{components → src/components}/dialog/dialog/composables/dialogHandle.d.ts +1 -1
- package/src/{components → src/components}/dialog/dialog/dialogs/dialogs.vue.d.ts +2 -2
- package/src/{components → src/components}/dialog/dialog/stories/dialog_example/pages/utils.d.ts +1 -1
- package/src/src/components/dialog/dialog.d.ts +6 -0
- package/src/{components → src/components}/dialog/lib/worker.d.ts +1 -1
- package/src/{components → src/components}/forms/button/types.d.ts +1 -1
- package/src/{components → src/components}/forms/input/types.d.ts +1 -1
- package/src/src/components/forms/inputDate/types.d.ts +1 -0
- package/src/{components → src/components}/forms/select/types.d.ts +1 -1
- package/src/{components → src/components}/formsExt/editArea/types.d.ts +1 -1
- package/src/{components → src/components}/formsExt/editInput/types.d.ts +6 -2
- package/src/{components → src/components}/formsExt/libs/optionGroup/types.d.ts +1 -1
- package/src/{components → src/components}/formsExt/menu/types.d.ts +1 -1
- package/src/{components → src/components}/formsExt/policy/policy.vue.d.ts +1 -1
- package/src/{components → src/components}/formsExt/selector2/composables/useAPI.d.ts +210 -124
- package/src/{components → src/components}/formsExt/selector2/composables/useMenu.d.ts +211 -125
- package/src/{components → src/components}/formsExt/selector2/selector2.vue.d.ts +8 -5
- package/src/{components → src/components}/formsExt/selector2/types.d.ts +45 -3
- package/src/{components → src/components}/formsExt/selector2/utils.d.ts +2 -0
- package/src/{components → src/components}/popup/lib/popup.d.ts +3 -3
- package/src/{components → src/components}/popup/lib/worker.d.ts +2 -2
- package/src/{components → src/components}/popup/popup/opener/types.d.ts +1 -1
- package/src/{components → src/components}/popup/popup/popup.vue.d.ts +1 -1
- package/src/{components → src/components}/popup/popup/widgetInput/widgetInput.vue.d.ts +1 -1
- package/src/{components → src/components}/popup/popupConfirm/popupConfirm.vue.d.ts +1 -1
- package/src/{components → src/components}/project/competitorSelector/composables.d.ts +1 -1
- package/src/{components → src/components}/project/competitorSelector/types.d.ts +1 -1
- package/src/{components → src/components}/project/groupSelector/folders/types.d.ts +2 -1
- package/src/src/components/project/groupSelector/folders/utils.d.ts +422 -0
- package/src/{components → src/components}/project/groupSelector/groupSelector.vue.d.ts +2 -1
- package/src/{components → src/components}/project/groupSelector/groups/groups.vue.d.ts +20 -10
- package/src/{components → src/components}/project/groupSelector/groups/types.d.ts +2 -1
- package/src/src/components/project/groupSelector/groups/utils.d.ts +791 -0
- package/src/{components → src/components}/project/groupSelector/stories/mocks/index.d.ts +1 -1
- package/src/{components → src/components}/project/groupSelector/types.d.ts +6 -0
- package/src/src/components/project/groupSelector/utils.d.ts +37 -0
- package/src/{components → src/components}/project/project.d.ts +2 -0
- package/src/src/components/project/projectSelector/cache.d.ts +29 -0
- package/src/src/components/project/projectSelector/projectSelector.vue.d.ts +128 -0
- package/src/src/components/project/projectSelector/submenu/submenu.vue.d.ts +4 -0
- package/src/src/components/project/projectSelector/submenu/types.d.ts +17 -0
- package/src/src/components/project/projectSelector/types.d.ts +48 -0
- package/src/src/components/project/projectSelector/utils.d.ts +248 -0
- package/src/{components → src/components}/project/regionSelector/composables/selectRegion.d.ts +1 -1
- package/src/{components → src/components}/project/regionSelector/composables/selectSearcher.d.ts +1 -1
- package/src/{components → src/components}/project/regionSelector/dialog_regionSelectorRegions/types.d.ts +1 -1
- package/src/{components → src/components}/project/regionSelector/types.d.ts +9 -4
- package/src/{components → src/components}/project/regionSelector/utils/utils.d.ts +5 -5
- package/src/{components → src/components}/project/tagSelector/popupOpener/types.d.ts +1 -1
- package/src/{components → src/components}/project/tagSelector/types.d.ts +1 -1
- package/src/{components → src/components}/project/tagSelector/utils/el.d.ts +1 -1
- package/src/{components → src/components}/tabsView/tabsView/menu.vue.d.ts +2 -6
- package/src/{components → src/components}/tabsView/tabsView/store.d.ts +1 -1
- package/src/{core → src/core}/app.d.ts +2 -2
- package/src/{core → src/core}/core/core.d.ts +3 -3
- package/src/{core → src/core}/directives/shortcut.d.ts +2 -1
- package/src/src/core/directives/tooltip.d.ts +6 -0
- package/src/{core → src/core}/plugins/core.d.ts +6 -6
- package/src/{core → src/core}/utils/price.d.ts +2 -2
- package/src/src/core/utils/store.d.ts +6 -0
- package/tabs/tabs.amd.js +2 -2
- package/tabs/tabs.amd.js.map +1 -1
- package/tabs/tabs.d.ts +0 -1
- package/tabs/tabs.js +63 -77
- package/tabs/tabs.js.map +1 -1
- package/tabsView/tabsView.amd.js +2 -2
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.d.ts +0 -1
- package/tabsView/tabsView.js +245 -299
- package/tabsView/tabsView.js.map +1 -1
- package/utils/check.amd.js +2 -2
- package/utils/check.amd.js.map +1 -1
- package/utils/check.d.ts +0 -1
- package/utils/check.js +15 -19
- package/utils/check.js.map +1 -1
- package/utils/clipboard.amd.js +6 -6
- package/utils/clipboard.amd.js.map +1 -1
- package/utils/clipboard.d.ts +0 -1
- package/utils/clipboard.js +26 -31
- package/utils/clipboard.js.map +1 -1
- package/utils/date.amd.js +2 -2
- package/utils/date.amd.js.map +1 -1
- package/utils/date.d.ts +0 -1
- package/utils/date.js +2 -12
- package/utils/device.amd.js +2 -2
- package/utils/device.amd.js.map +1 -1
- package/utils/device.d.ts +0 -1
- package/utils/device.js +2 -15
- package/utils/dom.amd.js +2 -2
- package/utils/dom.amd.js.map +1 -1
- package/utils/dom.d.ts +0 -5
- package/utils/dom.js +53 -67
- package/utils/dom.js.map +1 -1
- package/utils/image.amd.js +3 -3
- package/utils/image.amd.js.map +1 -1
- package/utils/image.d.ts +0 -1
- package/utils/image.js +12 -22
- package/utils/image.js.map +1 -1
- package/utils/keyboard.amd.js +2 -2
- package/utils/keyboard.amd.js.map +1 -1
- package/utils/keyboard.d.ts +0 -1
- package/utils/keyboard.js +10 -11
- package/utils/keyboard.js.map +1 -1
- package/utils/lodash.amd.js +2 -2
- package/utils/lodash.amd.js.map +1 -1
- package/utils/lodash.d.ts +0 -1
- package/utils/lodash.js +2 -9
- package/utils/number.amd.js +2 -2
- package/utils/number.amd.js.map +1 -1
- package/utils/number.d.ts +0 -1
- package/utils/number.js +12 -12
- package/utils/number.js.map +1 -1
- package/utils/price.amd.js +2 -2
- package/utils/price.amd.js.map +1 -1
- package/utils/price.d.ts +0 -1
- package/utils/price.js +14 -9
- package/utils/price.js.map +1 -1
- package/utils/route.amd.js +2 -2
- package/utils/route.amd.js.map +1 -1
- package/utils/route.d.ts +0 -1
- package/utils/route.js +33 -37
- package/utils/route.js.map +1 -1
- package/utils/scroll.amd.js +2 -2
- package/utils/scroll.amd.js.map +1 -1
- package/utils/scroll.d.ts +0 -1
- package/utils/scroll.js +39 -43
- package/utils/scroll.js.map +1 -1
- package/utils/searchers.amd.js +2 -2
- package/utils/searchers.amd.js.map +1 -1
- package/utils/searchers.d.ts +0 -1
- package/utils/searchers.js +128 -133
- package/utils/searchers.js.map +1 -1
- package/utils/store.amd.js +2 -2
- package/utils/store.amd.js.map +1 -1
- package/utils/store.d.ts +0 -1
- package/utils/store.js +2 -7
- package/utils/string.amd.js +2 -2
- package/utils/string.amd.js.map +1 -1
- package/utils/string.d.ts +0 -1
- package/utils/string.js +120 -147
- package/utils/string.js.map +1 -1
- package/utils/system.amd.js +2 -2
- package/utils/system.amd.js.map +1 -1
- package/utils/system.d.ts +0 -1
- package/utils/system.js +25 -28
- package/utils/system.js.map +1 -1
- package/utils/url.amd.js +3 -3
- package/utils/url.amd.js.map +1 -1
- package/utils/url.d.ts +0 -1
- package/utils/url.js +36 -47
- package/utils/url.js.map +1 -1
- package/.chunks/core-BEpKBNHt.amd.js +0 -2
- package/.chunks/core-BEpKBNHt.amd.js.map +0 -1
- package/.chunks/core-DBWAn2Eg.es.js +0 -242
- package/.chunks/core-DBWAn2Eg.es.js.map +0 -1
- package/.chunks/datepicker-C5ErMHwe.amd.js +0 -2
- package/.chunks/datepicker-C5ErMHwe.amd.js.map +0 -1
- package/.chunks/datepicker-DMYB1RFK.es.js +0 -41
- package/.chunks/datepicker-DMYB1RFK.es.js.map +0 -1
- package/.chunks/dialog_regionSelectorRegions-BMWyYCfD.es.js +0 -180
- package/.chunks/dialog_regionSelectorRegions-BMWyYCfD.es.js.map +0 -1
- package/.chunks/dialog_regionSelectorRegions-CHC-Blbu.amd.js +0 -2
- package/.chunks/dialog_regionSelectorRegions-CHC-Blbu.amd.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BZM_iKPW.es.js +0 -323
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BZM_iKPW.es.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-C3qaTBlO.amd.js +0 -2
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-C3qaTBlO.amd.js.map +0 -1
- package/.chunks/field-Cvv0SRcJ.amd.js +0 -2
- package/.chunks/field-Cvv0SRcJ.amd.js.map +0 -1
- package/.chunks/field-CyyFzM-Y.es.js +0 -16
- package/.chunks/field-CyyFzM-Y.es.js.map +0 -1
- package/.chunks/forms-CUaoBGD5.es.js +0 -2053
- package/.chunks/forms-CUaoBGD5.es.js.map +0 -1
- package/.chunks/forms-EhKRBbpk.amd.js +0 -3
- package/.chunks/forms-EhKRBbpk.amd.js.map +0 -1
- package/.chunks/index-DLUtoTUg.amd.js +0 -2
- package/.chunks/index-DLUtoTUg.amd.js.map +0 -1
- package/.chunks/index-DkQWJkMc.es.js +0 -54
- package/.chunks/index-DkQWJkMc.es.js.map +0 -1
- package/.chunks/lazy-40pjr8cZ.es.js +0 -71
- package/.chunks/lazy-40pjr8cZ.es.js.map +0 -1
- package/.chunks/lazy-DSFLxvj4.amd.js +0 -2
- package/.chunks/lazy-DSFLxvj4.amd.js.map +0 -1
- package/.chunks/notice-Chj1PUTD.es.js +0 -191
- package/.chunks/notice-Chj1PUTD.es.js.map +0 -1
- package/.chunks/notice-DQb_Za5_.amd.js +0 -4
- package/.chunks/notice-DQb_Za5_.amd.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-C-xQ-eC7.es.js +0 -139
- package/.chunks/page.vue_vue_type_script_setup_true_lang-C-xQ-eC7.es.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-bUK5c5qn.amd.js +0 -2
- package/.chunks/page.vue_vue_type_script_setup_true_lang-bUK5c5qn.amd.js.map +0 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-8Te7yOxJ.amd.js +0 -2
- package/.chunks/policy.vue_vue_type_style_index_0_lang-8Te7yOxJ.amd.js.map +0 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-uPC0N7jl.es.js +0 -496
- package/.chunks/policy.vue_vue_type_style_index_0_lang-uPC0N7jl.es.js.map +0 -1
- package/.chunks/popup-CDaQNt-3.amd.js +0 -2
- package/.chunks/popup-CDaQNt-3.amd.js.map +0 -1
- package/.chunks/popup-COONSpqs.es.js +0 -470
- package/.chunks/popup-COONSpqs.es.js.map +0 -1
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-24i49Ad3.amd.js +0 -2
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-24i49Ad3.amd.js.map +0 -1
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-DzT1BFMx.es.js +0 -209
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-DzT1BFMx.es.js.map +0 -1
- package/.chunks/punycode.es6-CNOnFR2-.amd.js +0 -2
- package/.chunks/punycode.es6-CNOnFR2-.amd.js.map +0 -1
- package/.chunks/punycode.es6-CgGegfA_.es.js +0 -134
- package/.chunks/store-CX_6ZXhO.es.js +0 -29
- package/.chunks/store-YRW59xEF.amd.js +0 -2
- package/.chunks/store-YRW59xEF.amd.js.map +0 -1
- package/.chunks/utils-C2_4b48S.amd.js +0 -2
- package/.chunks/utils-C2_4b48S.amd.js.map +0 -1
- package/.chunks/utils-DQ-xahGh.es.js +0 -288
- package/.chunks/utils-DQ-xahGh.es.js.map +0 -1
- package/.chunks/utils-DsGgpnXD.amd.js +0 -2
- package/.chunks/utils-DsGgpnXD.amd.js.map +0 -1
- package/.chunks/utils-Kzz2mc2t.es.js +0 -78
- package/.chunks/utils-Kzz2mc2t.es.js.map +0 -1
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-BuoAaghB.es.js +0 -39
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-BuoAaghB.es.js.map +0 -1
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-Dgjj70vU.amd.js +0 -2
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-Dgjj70vU.amd.js.map +0 -1
- package/api/index.js.map +0 -1
- package/assets/policy.css +0 -1
- package/assets/popupHint.css +0 -1
- package/core/app.js.map +0 -1
- package/dialog/dialog.js.map +0 -1
- package/forms/forms.js.map +0 -1
- package/forms/helpers.js.map +0 -1
- package/formsExt/formsExt.js.map +0 -1
- package/popup/popup.js.map +0 -1
- package/popup/worker.js.map +0 -1
- package/src/components/dialog/dialog.d.ts +0 -6
- package/src/components/forms/inputDate/types.d.ts +0 -1
- package/src/components/project/groupSelector/folders/utils.d.ts +0 -63
- package/src/components/project/groupSelector/groups/utils.d.ts +0 -92
- package/src/core/directives/tooltip.d.ts +0 -10
- package/src/core/utils/store.d.ts +0 -6
- package/utils/date.js.map +0 -1
- package/utils/device.js.map +0 -1
- package/utils/lodash.js.map +0 -1
- package/utils/store.js.map +0 -1
- /package/src/{api → src/api}/api/additional.d.ts +0 -0
- /package/src/{api → src/api}/api/client/client.d.ts +0 -0
- /package/src/{api → src/api}/api/client/request-options.d.ts +0 -0
- /package/src/{api → src/api}/api/client/request.d.ts +0 -0
- /package/src/{api → src/api}/api/index.d.ts +0 -0
- /package/src/{api → src/api}/api/mocker/index.d.ts +0 -0
- /package/src/{api → src/api}/api/tests/types.test-d.d.ts +0 -0
- /package/src/{api → src/api}/api/types/api.d.ts +0 -0
- /package/src/{api → src/api}/api/types/client/client.d.ts +0 -0
- /package/src/{api → src/api}/api/types/client/middleware.d.ts +0 -0
- /package/src/{api → src/api}/api/types/client/options.d.ts +0 -0
- /package/src/{api → src/api}/api/types/client/request-context.d.ts +0 -0
- /package/src/{api → src/api}/api/types/client/request-options.d.ts +0 -0
- /package/src/{api → src/api}/api/types/client/request.d.ts +0 -0
- /package/src/{api → src/api}/api/types/ext.d.ts +0 -0
- /package/src/{api → src/api}/api/types/field.d.ts +0 -0
- /package/src/{api → src/api}/api/types/index.d.ts +0 -0
- /package/src/{api → src/api}/api/types/mocker.d.ts +0 -0
- /package/src/{api → src/api}/api/types/schema.d.ts +0 -0
- /package/src/{api → src/api}/api/types/tv.d.ts +0 -0
- /package/src/{api → src/api}/api/types/utils.d.ts +0 -0
- /package/src/{api → src/api}/api/utils/common.d.ts +0 -0
- /package/src/{api → src/api}/api/utils/field.d.ts +0 -0
- /package/src/{api → src/api}/api/utils/filters.d.ts +0 -0
- /package/src/{api → src/api}/api/utils/lazy.d.ts +0 -0
- /package/src/{components → src/components}/charts/charts.d.ts +0 -0
- /package/src/{components → src/components}/charts/miniChart/miniChart.vue.d.ts +0 -0
- /package/src/{components → src/components}/charts/miniChart/types.d.ts +0 -0
- /package/src/{components → src/components}/charts/miniChart/utils/consts.d.ts +0 -0
- /package/src/{components → src/components}/charts/miniCharts/miniCharts.vue.d.ts +0 -0
- /package/src/{components → src/components}/core/notice/item/item.vue.d.ts +0 -0
- /package/src/{components → src/components}/core/notice/notice.vue.d.ts +0 -0
- /package/src/{components → src/components}/core/notice/types.d.ts +0 -0
- /package/src/{components → src/components}/dialog/dialog/composables/asyncDialogHandle.d.ts +0 -0
- /package/src/{components → src/components}/dialog/dialog/composables/types.d.ts +0 -0
- /package/src/{components → src/components}/dialog/dialog/composables/utils.d.ts +0 -0
- /package/src/{components → src/components}/dialog/dialog/dialog.vue.d.ts +0 -0
- /package/src/{components → src/components}/dialog/dialog/page/page.vue.d.ts +0 -0
- /package/src/{components → src/components}/dialog/dialog/page/types.d.ts +0 -0
- /package/src/{components → src/components}/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -0
- /package/src/{components → src/components}/dialog/dialog/pageComponent/types.d.ts +0 -0
- /package/src/{components → src/components}/dialog/dialog/types.d.ts +0 -0
- /package/src/{components → src/components}/dialog/lib/types.d.ts +0 -0
- /package/src/{components → src/components}/dialog/lib/utils.d.ts +0 -0
- /package/src/{components → src/components}/dialog/lib/utils.globalEvents.d.ts +0 -0
- /package/src/{components → src/components}/extra/extra.d.ts +0 -0
- /package/src/{components → src/components}/extra/rive/rive.vue.d.ts +0 -0
- /package/src/{components → src/components}/extra/rive/types.d.ts +0 -0
- /package/src/{components → src/components}/forms/avatar/avatar.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/avatar/types.d.ts +0 -0
- /package/src/{components → src/components}/forms/button/button.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/caption/caption.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/caption/types.d.ts +0 -0
- /package/src/{components → src/components}/forms/checkbox/checkbox.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/checkbox/types.d.ts +0 -0
- /package/src/{components → src/components}/forms/controlLabel/controlLabel.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/controlLabel/types.d.ts +0 -0
- /package/src/{components → src/components}/forms/forms.d.ts +0 -0
- /package/src/{components → src/components}/forms/helpers.d.ts +0 -0
- /package/src/{components → src/components}/forms/hint/hint.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/hint/types.d.ts +0 -0
- /package/src/{components → src/components}/forms/input/input.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/inputDate/datepicker.d.ts +0 -0
- /package/src/{components → src/components}/forms/inputDate/inputDate.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/inputRange/inputRange.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/inputRange/types.d.ts +0 -0
- /package/src/{components → src/components}/forms/loadbar/loadbar.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/preloader/preloader.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/preloader/types.d.ts +0 -0
- /package/src/{components → src/components}/forms/radio/radio.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/radio/types.d.ts +0 -0
- /package/src/{components → src/components}/forms/select/select.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/switcher/switcher.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/switcher/types.d.ts +0 -0
- /package/src/{components → src/components}/forms/textarea/textarea.vue.d.ts +0 -0
- /package/src/{components → src/components}/forms/textarea/types.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/checkboxGroup/types.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/editArea/editArea.vue.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/editInput/editInput.vue.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/formsExt.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/info/info.vue.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/info/types.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/libs/optionGroup/optionGroup.vue.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/menu/menu.vue.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/policy/types.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/radioGroup/radioGroup.vue.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/radioGroup/types.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/selector2/cache.d.ts +0 -0
- /package/src/{components → src/components}/formsExt/selector2/itemMulti.vue.d.ts +0 -0
- /package/src/{components → src/components}/layout/islandRows/islandRows.vue.d.ts +0 -0
- /package/src/{components → src/components}/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -0
- /package/src/{components → src/components}/layout/islandRows/islandRowsRow/types.d.ts +0 -0
- /package/src/{components → src/components}/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -0
- /package/src/{components → src/components}/layout/islandRows/types.d.ts +0 -0
- /package/src/{components → src/components}/layout/layout.d.ts +0 -0
- /package/src/{components → src/components}/layout/rows/rows.vue.d.ts +0 -0
- /package/src/{components → src/components}/layout/rows/types.d.ts +0 -0
- /package/src/{components → src/components}/popup/lib/popup.globalEvents.d.ts +0 -0
- /package/src/{components → src/components}/popup/lib/worker.globalEvents.d.ts +0 -0
- /package/src/{components → src/components}/popup/popup/listItem.vue.d.ts +0 -0
- /package/src/{components → src/components}/popup/popup/opener/opener.vue.d.ts +0 -0
- /package/src/{components → src/components}/popup/popup/types.d.ts +0 -0
- /package/src/{components → src/components}/popup/popup.d.ts +0 -0
- /package/src/{components → src/components}/popup/popupAlert/popupAlert.vue.d.ts +0 -0
- /package/src/{components → src/components}/popup/popupAlert/types.d.ts +0 -0
- /package/src/{components → src/components}/popup/popupConfirm/types.d.ts +0 -0
- /package/src/{components → src/components}/popup/popupHint/popupHint.vue.d.ts +0 -0
- /package/src/{components → src/components}/popup/popupHint/types.d.ts +0 -0
- /package/src/{components → src/components}/popup/popupPrompt/popupPrompt.vue.d.ts +0 -0
- /package/src/{components → src/components}/popup/popupPrompt/types.d.ts +0 -0
- /package/src/{components → src/components}/popup/worker.d.ts +0 -0
- /package/src/{components → src/components}/project/competitorSelector/competitorSelector.vue.d.ts +0 -0
- /package/src/{components → src/components}/project/groupSelector/folders/folders.vue.d.ts +0 -0
- /package/src/{components → src/components}/project/groupSelector/stories/mocks/folders.d.ts +0 -0
- /package/src/{components → src/components}/project/groupSelector/stories/mocks/groups.d.ts +0 -0
- /package/src/{components → src/components}/project/regionSelector/composables/compare.d.ts +0 -0
- /package/src/{components → src/components}/project/regionSelector/composables/selectorRegion.d.ts +0 -0
- /package/src/{components → src/components}/project/regionSelector/dialog_regionSelectorRegions/dialog_regionSelectorRegions.vue.d.ts +0 -0
- /package/src/{components → src/components}/project/regionSelector/regionSelector.vue.d.ts +0 -0
- /package/src/{components → src/components}/project/regionSelector/utils/consts.d.ts +0 -0
- /package/src/{components → src/components}/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -0
- /package/src/{components → src/components}/project/tagSelector/popupListItem/types.d.ts +0 -0
- /package/src/{components → src/components}/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -0
- /package/src/{components → src/components}/project/tagSelector/tagIcon/tagIcon.vue.d.ts +0 -0
- /package/src/{components → src/components}/project/tagSelector/tagIcon/types.d.ts +0 -0
- /package/src/{components → src/components}/project/tagSelector/tagSelector.vue.d.ts +0 -0
- /package/src/{components → src/components}/project/tagSelector/tagsDefaults.d.ts +0 -0
- /package/src/{components → src/components}/project/tagSelector/utils/utils.d.ts +0 -0
- /package/src/{components → src/components}/tabs/tabs/content.vue.d.ts +0 -0
- /package/src/{components → src/components}/tabs/tabs/tab.vue.d.ts +0 -0
- /package/src/{components → src/components}/tabs/tabs/tabs.vue.d.ts +0 -0
- /package/src/{components → src/components}/tabs/tabs/types.d.ts +0 -0
- /package/src/{components → src/components}/tabs/tabs.d.ts +0 -0
- /package/src/{components → src/components}/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -0
- /package/src/{components → src/components}/tabsView/tabsView/menuItem.vue.d.ts +0 -0
- /package/src/{components → src/components}/tabsView/tabsView/menuTitle.vue.d.ts +0 -0
- /package/src/{components → src/components}/tabsView/tabsView/tabsView.vue.d.ts +0 -0
- /package/src/{components → src/components}/tabsView/tabsView/types.d.ts +0 -0
- /package/src/{components → src/components}/tabsView/tabsView/utils.d.ts +0 -0
- /package/src/{components → src/components}/tabsView/tabsView.d.ts +0 -0
- /package/src/{core → src/core}/core/events/resize.d.ts +0 -0
- /package/src/{core → src/core}/core/events.d.ts +0 -0
- /package/src/{core → src/core}/core/options.d.ts +0 -0
- /package/src/{core → src/core}/core/preloaders.d.ts +0 -0
- /package/src/{core → src/core}/core/state.d.ts +0 -0
- /package/src/{core → src/core}/directives/data.d.ts +0 -0
- /package/src/{core → src/core}/directives/focus.d.ts +0 -0
- /package/src/{core → src/core}/directives/preloader.d.ts +0 -0
- /package/src/{core → src/core}/directives/scrollIntoView.d.ts +0 -0
- /package/src/{core → src/core}/directives/scrollShadow.d.ts +0 -0
- /package/src/{core → src/core}/directives/sticky.d.ts +0 -0
- /package/src/{core → src/core}/directives/swimUp.d.ts +0 -0
- /package/src/{core → src/core}/plugins/i18n.d.ts +0 -0
- /package/src/{core → src/core}/plugins/piniaTPA.d.ts +0 -0
- /package/src/{core → src/core}/utils/check.d.ts +0 -0
- /package/src/{core → src/core}/utils/clipboard.d.ts +0 -0
- /package/src/{core → src/core}/utils/composables/useWatch.d.ts +0 -0
- /package/src/{core → src/core}/utils/date.d.ts +0 -0
- /package/src/{core → src/core}/utils/device.d.ts +0 -0
- /package/src/{core → src/core}/utils/dom.d.ts +0 -0
- /package/src/{core → src/core}/utils/image.d.ts +0 -0
- /package/src/{core → src/core}/utils/keyboard.d.ts +0 -0
- /package/src/{core → src/core}/utils/lodash.d.ts +0 -0
- /package/src/{core → src/core}/utils/number.d.ts +0 -0
- /package/src/{core → src/core}/utils/route.d.ts +0 -0
- /package/src/{core → src/core}/utils/scroll.d.ts +0 -0
- /package/src/{core → src/core}/utils/searchers.d.ts +0 -0
- /package/src/{core → src/core}/utils/store/localStorage.d.ts +0 -0
- /package/src/{core → src/core}/utils/store/plugin.d.ts +0 -0
- /package/src/{core → src/core}/utils/store/store.d.ts +0 -0
- /package/src/{core → src/core}/utils/string.d.ts +0 -0
- /package/src/{core → src/core}/utils/system.d.ts +0 -0
- /package/src/{core → src/core}/utils/tests/date/dateFormat.test.d.ts +0 -0
- /package/src/{core → src/core}/utils/url.d.ts +0 -0
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { watch as k, toRef as g } from "vue";
|
|
2
|
-
import { C as o, c as m } from "./forms-CUaoBGD5.es.js";
|
|
3
|
-
const h = '.ui-datepicker{--datepicker-day-color: var(--color-layout-front-1);--datepicker-day-color-hover: var(--color-layer-1);--datepicker-selected-color: var(--color-bg-primary-1);--datepicker-selected-color-hover: var(--color-bg-primary-2);--datepicker-range-color: var(--color-layer-primary-1);--datepicker-range-color-hover: var(--color-layer-primary-2);-webkit-user-select:none;user-select:none;width:auto;padding:0}.ui-datepicker:before,.ui-datepicker:after{display:none}.ui-datepicker-inline{display:inline-block!important}.ui-datepicker:not(.ui-datepicker-inline){border-radius:8px;background:var(--color-layout-front-1);box-shadow:var(--top-shadow);z-index:10000000!important;padding:8px}.ui-datepicker a{text-decoration:none!important}.ui-datepicker option{color:var(--color-text-1);font-size:14px}.ui-datepicker-header{padding:0!important;margin:0 0 18px;display:flex;align-items:center}.ui-datepicker-header>*{display:flex;align-items:center;justify-content:center}.ui-datepicker-title{width:100%!important;height:24px;margin:0!important}.ui-datepicker-month,.ui-datepicker-year{outline:none!important;width:auto!important;border:none;padding:0;margin:0 6px!important;text-align:center;font-size:16px!important}.ui-datepicker-month{color:var(--color-text-1)}.ui-datepicker-year{color:var(--color-text-2)}select.ui-datepicker-month,select.ui-datepicker-year{cursor:pointer}.ui-datepicker-prev,.ui-datepicker-next{cursor:pointer;width:24px!important;height:24px!important;font-size:24px;font-family:Topvisor-2;position:static!important}.ui-datepicker-prev:before{color:var(--color-text-3);content:""}.ui-datepicker-prev-hover:before{color:var(--color-text-1);content:""}.ui-datepicker-next{color:var(--color-text-3);order:1}.ui-datepicker-next-hover{color:var(--color-text-1);order:1}.ui-datepicker-next:before{content:""}.ui-datepicker-prev>*,.ui-datepicker-next>*{display:none!important}.ui-datepicker thead th{width:auto!important;padding:0!important;color:var(--color-text-3);font-size:14px;font-weight:400!important}.ui-datepicker table{margin:0!important;font-size:14px}.ui-datepicker td{color:var(--color-text-1);background:none;padding:0!important}.ui-datepicker td span,.ui-datepicker td a{border-radius:8px;border:none;min-width:32px;height:32px;padding:0;margin:1px;color:var(--color-text-1)!important;line-height:32px;text-align:center;position:relative;display:block}.ui-datepicker td a{background:var(--datepicker-day-color)}.ui-datepicker td a:hover{background:var(--datepicker-day-color-hover)}td.ui-datepicker-today span,td.ui-datepicker-today a{background:none;position:relative}.ui-datepicker td.selected a{background:var(--datepicker-range-color);padding-right:0;padding-left:1px;margin-right:1px;margin-left:0}.ui-datepicker td.selected a:hover{background:var(--datepicker-range-color-hover)}.ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a{border-top-left-radius:0;border-bottom-left-radius:0;padding-left:1px;margin-left:0}.ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:1px;margin-right:0}.ui-datepicker td.selected-start a,.ui-datepicker td.selected-end a,.ui-datepicker td.ui-datepicker-current-day a{background:var(--datepicker-selected-color);color:#fff!important}.ui-datepicker td.selected-start a:hover,.ui-datepicker td.selected-end a:hover,.ui-datepicker td.ui-datepicker-current-day a:hover{background:var(--datepicker-selected-color-hover)}.ui-datepicker-day-marks{line-height:normal;position:absolute;right:0;bottom:3px;left:0;display:flex;align-items:center;justify-content:center}.ui-datepicker-day-marks>i{border-radius:50%;border:1px solid #FFF;width:4px;height:4px;margin:0 2px}.ui-datepicker-day-marks-exists{background:var(--color-text-primary)}.ui-datepicker-day-marks-update{background:var(--color-text-negative)}.ui-datepicker-row-break{display:none}';
|
|
4
|
-
o.insertStyleToPage(h);
|
|
5
|
-
const x = (e) => {
|
|
6
|
-
if (!o.$?.ui?.datepicker) {
|
|
7
|
-
console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
return o.$.datepicker.setDefaults({
|
|
11
|
-
dateFormat: o.state.dateFormat.toLowerCase().replace("m", "mm").replace("y", "yy").replace("d", "dd")
|
|
12
|
-
}), o.$(e);
|
|
13
|
-
};
|
|
14
|
-
function b(e, t) {
|
|
15
|
-
return x(e)?.datepicker(t);
|
|
16
|
-
}
|
|
17
|
-
let n, l, p, u;
|
|
18
|
-
k(g(o.state.dateFormat), () => {
|
|
19
|
-
n = m("2000-01-01"), l = n.match(/\D/)?.[0] ?? "-", p = n.replace(/\D+/g, "").length, u = [];
|
|
20
|
-
for (let e = 0; e < n.length; e++)
|
|
21
|
-
n[e] === l && u.push(e);
|
|
22
|
-
}, { immediate: !0 });
|
|
23
|
-
function y(e) {
|
|
24
|
-
let t = e.target.selectionEnd, r = e.target.value, i = r.substring(0, t).replace(/\D+/g, ""), a = r.substring(t).replace(/\D+/g, ""), c = i.length + a.length - p;
|
|
25
|
-
if (c > 0) {
|
|
26
|
-
i = i.substring(0, p);
|
|
27
|
-
const d = p - i.length;
|
|
28
|
-
a = a.substring(a.length - d);
|
|
29
|
-
} else c < 0 && (e.inputType === "deleteContentForward" ? i += "0".repeat(-c) : a = "0".repeat(-c) + a);
|
|
30
|
-
t = i.length, r = i + a;
|
|
31
|
-
for (let d = 0; d < u.length; d++) {
|
|
32
|
-
const s = u[d];
|
|
33
|
-
r = r.substring(0, s) + l + r.substring(s), t >= s && t++;
|
|
34
|
-
}
|
|
35
|
-
e.inputType === "deleteContentBackward" && r[t - 1] === l && t--, r !== e.target.value && (e.target.value = r, e.target.selectionStart = t, e.target.selectionEnd = t);
|
|
36
|
-
}
|
|
37
|
-
export {
|
|
38
|
-
b as connectDatepicker,
|
|
39
|
-
y as oninput
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=datepicker-DMYB1RFK.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker-DMYB1RFK.es.js","sources":["../../src/components/forms/inputDate/datepicker.ts"],"sourcesContent":["import { toRef, watch } from 'vue';\nimport Core from '@/core/core/core';\nimport { dateFormat } from '@/core/utils/date';\n\nimport css from '@/components/forms/inputDate/datepicker.css?inline';\n\nCore.insertStyleToPage(css);\n\nconst $ = (el: HTMLInputElement) => {\n\tif (!Core.$?.ui?.datepicker) {\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\n\n\t\treturn;\n\t}\n\n\tCore.$.datepicker.setDefaults({\n\t\tdateFormat: Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd'),\n\t});\n\n\treturn Core.$(el);\n};\n\nexport function connectDatepicker(el: HTMLInputElement, options: any) {\n\treturn $(el)?.datepicker(options);\n}\n\nlet dateFormatted;\nlet delimiter: string;\nlet dateNumbersCount: number;\nlet delimitersIndexes: number[];\n\nwatch(toRef(Core.state.dateFormat), () => {\n\t// генерация отформатированной даты, извлечение из нее разделителей и их индексов\n\tdateFormatted = dateFormat('2000-01-01');\n\tdelimiter = dateFormatted.match(/\\D/)?.[0] ?? '-';\n\tdateNumbersCount = dateFormatted.replace(/\\D+/g, '').length;\n\tdelimitersIndexes = [];\n\n\tfor (let i = 0; i < dateFormatted.length; i++) {\n\t\tif (dateFormatted[i] === delimiter) {\n\t\t\tdelimitersIndexes.push(i);\n\t\t}\n\t}\n}, { immediate: true });\n\n/**\n * Автоформат при вводе в поле с датой\n */\nexport function oninput(e: any) {\n\tlet selectionPos = e.target.selectionEnd;\n\tlet value = e.target.value;\n\n\t// разбить занчение на две половины - до и после каретки\n\t// удалить все символы, кроме цифр\n\tlet valueChunkLeft = value.substring(0, selectionPos).replace(/\\D+/g, '');\n\tlet valueChunkRight = value.substring(selectionPos).replace(/\\D+/g, '');\n\n\tlet extraNumbersCount = valueChunkLeft.length + valueChunkRight.length - dateNumbersCount;\n\tif (extraNumbersCount > 0) {\n\t\t// // количество цифр больше требуемого - удалить лишние\n\t\tvalueChunkLeft = valueChunkLeft.substring(0, dateNumbersCount);\n\n\t\tconst valueChunkRightMaxLength = dateNumbersCount - valueChunkLeft.length;\n\t\tvalueChunkRight = valueChunkRight.substring(valueChunkRight.length - valueChunkRightMaxLength);\n\t} else if (extraNumbersCount < 0) {\n\t\t// количество цифр меньше требуемого - добавить 0\n\t\tif (e.inputType === 'deleteContentForward') {\n\t\t\t// нажатие на delete - добавить к левой части для правильного позиционирования каретки\n\t\t\tvalueChunkLeft += '0'.repeat(-extraNumbersCount);\n\t\t} else {\n\t\t\tvalueChunkRight = '0'.repeat(-extraNumbersCount) + valueChunkRight;\n\t\t}\n\t}\n\n\tselectionPos = valueChunkLeft.length;\n\tvalue = valueChunkLeft + valueChunkRight;\n\n\t// вставить разделители\n\tfor (let i = 0; i < delimitersIndexes.length; i++) {\n\t\tconst delimiterIndex = delimitersIndexes[i];\n\n\t\tvalue = value.substring(0, delimiterIndex) + delimiter + value.substring(delimiterIndex);\n\n\t\t// сдвинуть каретку, если разделитель вставлен левее ее\n\t\tif (selectionPos >= delimiterIndex) {\n\t\t\tselectionPos++;\n\t\t}\n\t}\n\n\t// нажатие на backspace - если слева символ разделителя, перенести каретку за него\n\tif (e.inputType === 'deleteContentBackward' && value[selectionPos - 1] === delimiter) {\n\t\tselectionPos--;\n\t}\n\n\t// если значение изменилось - вставить его и переместить каретку\n\tif (value !== e.target.value) {\n\t\te.target.value = value;\n\t\te.target.selectionStart = selectionPos;\n\t\te.target.selectionEnd = selectionPos;\n\t}\n}\n"],"names":["Core","css","$","el","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","toRef","dateFormat","i","oninput","selectionPos","value","valueChunkLeft","valueChunkRight","extraNumbersCount","valueChunkRightMaxLength","delimiterIndex"],"mappings":";;;AAMAA,EAAK,kBAAkBC,CAAG;AAE1B,MAAMC,IAAI,CAACC,MAAyB;AACnC,MAAI,CAACH,EAAK,GAAG,IAAI,YAAY;AAC5B,YAAQ,KAAK,0EAA0E;AAEvF;AAAA,EACD;AAEA,SAAAA,EAAK,EAAE,WAAW,YAAY;AAAA,IAC7B,YAAYA,EAAK,MAAM,WAAW,YAAA,EAAc,QAAQ,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI;AAAA,EAAA,CACvG,GAEMA,EAAK,EAAEG,CAAE;AACjB;AAEO,SAASC,EAAkBD,GAAsBE,GAAc;AACrE,SAAOH,EAAEC,CAAE,GAAG,WAAWE,CAAO;AACjC;AAEA,IAAIC,GACAC,GACAC,GACAC;AAEJC,EAAMC,EAAMX,EAAK,MAAM,UAAU,GAAG,MAAM;AAEzC,EAAAM,IAAgBM,EAAW,YAAY,GACvCL,IAAYD,EAAc,MAAM,IAAI,IAAI,CAAC,KAAK,KAC9CE,IAAmBF,EAAc,QAAQ,QAAQ,EAAE,EAAE,QACrDG,IAAoB,CAAA;AAEpB,WAASI,IAAI,GAAGA,IAAIP,EAAc,QAAQO;AACzC,IAAIP,EAAcO,CAAC,MAAMN,KACxBE,EAAkB,KAAKI,CAAC;AAG3B,GAAG,EAAE,WAAW,IAAM;AAKf,SAASC,EAAQ,GAAQ;AAC/B,MAAIC,IAAe,EAAE,OAAO,cACxBC,IAAQ,EAAE,OAAO,OAIjBC,IAAiBD,EAAM,UAAU,GAAGD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GACpEG,IAAkBF,EAAM,UAAUD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GAElEI,IAAoBF,EAAe,SAASC,EAAgB,SAASV;AACzE,MAAIW,IAAoB,GAAG;AAE1B,IAAAF,IAAiBA,EAAe,UAAU,GAAGT,CAAgB;AAE7D,UAAMY,IAA2BZ,IAAmBS,EAAe;AACnE,IAAAC,IAAkBA,EAAgB,UAAUA,EAAgB,SAASE,CAAwB;AAAA,EAC9F,MAAA,CAAWD,IAAoB,MAE1B,EAAE,cAAc,yBAEnBF,KAAkB,IAAI,OAAO,CAACE,CAAiB,IAE/CD,IAAkB,IAAI,OAAO,CAACC,CAAiB,IAAID;AAIrD,EAAAH,IAAeE,EAAe,QAC9BD,IAAQC,IAAiBC;AAGzB,WAASL,IAAI,GAAGA,IAAIJ,EAAkB,QAAQI,KAAK;AAClD,UAAMQ,IAAiBZ,EAAkBI,CAAC;AAE1C,IAAAG,IAAQA,EAAM,UAAU,GAAGK,CAAc,IAAId,IAAYS,EAAM,UAAUK,CAAc,GAGnFN,KAAgBM,KACnBN;AAAA,EAEF;AAGA,EAAI,EAAE,cAAc,2BAA2BC,EAAMD,IAAe,CAAC,MAAMR,KAC1EQ,KAIGC,MAAU,EAAE,OAAO,UACtB,EAAE,OAAO,QAAQA,GACjB,EAAE,OAAO,iBAAiBD,GAC1B,EAAE,OAAO,eAAeA;AAE1B;"}
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { Core as _autoloadCSSCore } from '../core/app.js';
|
|
3
|
-
const fileNames = ['../assets/dialog_regionSelectorRegions.css'].map(fileName => import.meta.resolve(fileName));
|
|
4
|
-
_autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
|
|
5
|
-
|
|
6
|
-
import { defineComponent as E, ref as k, reactive as j, computed as w, watch as D, resolveComponent as b, createBlock as S, openBlock as i, unref as f, withCtx as c, createVNode as d, createTextVNode as C, toDisplayString as p, createElementVNode as m, createElementBlock as _, Fragment as M, renderList as O, createCommentVNode as y } from "vue";
|
|
7
|
-
import { _ as P, a as G } from "./page.vue_vue_type_script_setup_true_lang-C-xQ-eC7.es.js";
|
|
8
|
-
import { b as X } from "./utils-Kzz2mc2t.es.js";
|
|
9
|
-
import { genFlagLinkByCountryCode as Q } from "../utils/string.js";
|
|
10
|
-
import { getSearcherGIcon as q, getLangLabel as z, getDeviceGIcon as H } from "../utils/searchers.js";
|
|
11
|
-
import { C as I } from "./forms-CUaoBGD5.es.js";
|
|
12
|
-
const J = { class: "dialog_regionSelectorRegions_header" }, K = ["data-top-icon"], W = ["src", "alt"], Y = { class: "top-ellipsis" }, Z = { class: "dialog_regionSelectorRegions_regionAreaName" }, F = { key: 1 }, ee = ["data-top-icon"], re = /* @__PURE__ */ E({
|
|
13
|
-
id: "regionSelectorRegions",
|
|
14
|
-
__name: "dialog_regionSelectorRegions",
|
|
15
|
-
props: {
|
|
16
|
-
regions: {},
|
|
17
|
-
regionsIndexes: {},
|
|
18
|
-
"@update:regionsIndexes": { type: Function }
|
|
19
|
-
},
|
|
20
|
-
setup(R) {
|
|
21
|
-
const l = R, h = X(), a = k([]), r = k(null), g = j({
|
|
22
|
-
searcher_key: -1,
|
|
23
|
-
key: -1,
|
|
24
|
-
name: -1
|
|
25
|
-
}), x = w({
|
|
26
|
-
get() {
|
|
27
|
-
return a.value.every((o) => o.selected);
|
|
28
|
-
},
|
|
29
|
-
set(o) {
|
|
30
|
-
a.value = a.value.map((e) => ({ ...e, selected: o }));
|
|
31
|
-
}
|
|
32
|
-
}), v = (o) => {
|
|
33
|
-
g[o] = -g[o], a.value.sort((e, t) => !e[o] || !t[o] ? -1 : e[o] >= t[o] ? g[o] : -g[o]);
|
|
34
|
-
}, V = () => {
|
|
35
|
-
if (!a.value.some((e) => e.selected)) return;
|
|
36
|
-
const o = a.value.filter((e) => e.selected).map((e) => e.index);
|
|
37
|
-
l["@update:regionsIndexes"]?.(o), h.close();
|
|
38
|
-
};
|
|
39
|
-
D([
|
|
40
|
-
() => l.regions,
|
|
41
|
-
() => l.regionsIndexes
|
|
42
|
-
], () => {
|
|
43
|
-
if (a.value = [], !l.regions || !l.regionsIndexes) return;
|
|
44
|
-
let o = [...l.regions];
|
|
45
|
-
const e = new Map(l.regionsIndexes.map((t, s) => [t, s]));
|
|
46
|
-
o.sort((t, s) => {
|
|
47
|
-
const n = e.get(t.index) ?? Number.MAX_VALUE, u = e.get(s.index) ?? Number.MAX_VALUE;
|
|
48
|
-
return n - u;
|
|
49
|
-
}), o.forEach((t) => {
|
|
50
|
-
let s = t.name;
|
|
51
|
-
t.areaName && (s += ` (${t.areaName})`);
|
|
52
|
-
const n = l.regionsIndexes?.includes(t.index) ?? !1, u = q(t.searcher_key), N = t.lang !== void 0 ? z(t.searcher_key ?? 999, t.lang) : void 0, A = t.device !== void 0 ? H(t.device) : void 0, T = t.countryCode !== void 0 ? Q(t.countryCode) : void 0, U = {
|
|
53
|
-
...t,
|
|
54
|
-
selected: n,
|
|
55
|
-
title: s,
|
|
56
|
-
searcherIcon: u,
|
|
57
|
-
langLabel: N,
|
|
58
|
-
deviceIcon: A,
|
|
59
|
-
flagLink: T
|
|
60
|
-
};
|
|
61
|
-
a.value.push(U);
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
const L = () => {
|
|
65
|
-
if (!I.$?.ui.sortable) {
|
|
66
|
-
console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
r.value && $(r.value).sortable({
|
|
70
|
-
distance: 10,
|
|
71
|
-
stop: () => {
|
|
72
|
-
const o = [...r.value.children].map((e) => Number(e.getAttribute("data-region-index")));
|
|
73
|
-
a.value.sort((e, t) => o.indexOf(e.index) - o.indexOf(t.index));
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
}, B = () => {
|
|
77
|
-
I.$?.ui.sortable && r.value && $(r.value).sortable("destroy");
|
|
78
|
-
};
|
|
79
|
-
return (o, e) => {
|
|
80
|
-
const t = b("TopCheckbox"), s = b("TopButton");
|
|
81
|
-
return i(), S(f(P), {
|
|
82
|
-
id: f(h).id,
|
|
83
|
-
pageActive: "regions",
|
|
84
|
-
class: "dialog_regionSelectorRegions",
|
|
85
|
-
height: "600px",
|
|
86
|
-
width: "600px",
|
|
87
|
-
onOpen: L,
|
|
88
|
-
onClose: B
|
|
89
|
-
}, {
|
|
90
|
-
default: c(() => [
|
|
91
|
-
d(f(G), {
|
|
92
|
-
name: "regions",
|
|
93
|
-
order: 0
|
|
94
|
-
}, {
|
|
95
|
-
header: c(() => [
|
|
96
|
-
m("div", J, [
|
|
97
|
-
d(t, {
|
|
98
|
-
modelValue: x.value,
|
|
99
|
-
"onUpdate:modelValue": e[0] || (e[0] = (n) => x.value = n)
|
|
100
|
-
}, null, 8, ["modelValue"]),
|
|
101
|
-
d(s, {
|
|
102
|
-
class: "dialog_regionSelectorRegions_sortButton",
|
|
103
|
-
color: "theme",
|
|
104
|
-
"data-top-icon": "",
|
|
105
|
-
onClick: e[1] || (e[1] = (n) => v("searcher_key")),
|
|
106
|
-
title: o.$i18n.Projects?.Sort_by_search_engine
|
|
107
|
-
}, null, 8, ["title"]),
|
|
108
|
-
d(s, {
|
|
109
|
-
class: "dialog_regionSelectorRegions_sortButton",
|
|
110
|
-
color: "theme",
|
|
111
|
-
"data-top-icon": "",
|
|
112
|
-
onClick: e[2] || (e[2] = (n) => v("key")),
|
|
113
|
-
title: o.$i18n.Projects?.Sort_by_yande_region_code
|
|
114
|
-
}, null, 8, ["title"]),
|
|
115
|
-
d(s, {
|
|
116
|
-
class: "dialog_regionSelectorRegions_sortButton",
|
|
117
|
-
color: "theme",
|
|
118
|
-
"data-top-icon": "",
|
|
119
|
-
onClick: e[3] || (e[3] = (n) => v("name")),
|
|
120
|
-
title: o.$i18n.Projects?.Sort_by_lphabetically
|
|
121
|
-
}, null, 8, ["title"])
|
|
122
|
-
])
|
|
123
|
-
]),
|
|
124
|
-
body: c(() => [
|
|
125
|
-
m("div", {
|
|
126
|
-
ref_key: "elRegions",
|
|
127
|
-
ref: r
|
|
128
|
-
}, [
|
|
129
|
-
(i(!0), _(M, null, O(a.value, (n) => (i(), S(t, {
|
|
130
|
-
key: n.index,
|
|
131
|
-
modelValue: n.selected,
|
|
132
|
-
"onUpdate:modelValue": (u) => n.selected = u,
|
|
133
|
-
class: "dialog_regionSelectorRegions_region",
|
|
134
|
-
"data-region-index": n.index
|
|
135
|
-
}, {
|
|
136
|
-
default: c(() => [
|
|
137
|
-
m("div", {
|
|
138
|
-
class: "dialog_regionSelectorRegions_regionSearcherIcon",
|
|
139
|
-
"data-top-icon": n.searcherIcon
|
|
140
|
-
}, null, 8, K),
|
|
141
|
-
n.flagLink ? (i(), _("img", {
|
|
142
|
-
key: 0,
|
|
143
|
-
class: "top-flag",
|
|
144
|
-
src: "//topvisor.dev" + n.flagLink,
|
|
145
|
-
alt: n.countryCode
|
|
146
|
-
}, null, 8, W)) : y("", !0),
|
|
147
|
-
m("div", Y, [
|
|
148
|
-
C(p(n.name) + " ", 1),
|
|
149
|
-
m("span", Z, p(n.areaName), 1)
|
|
150
|
-
]),
|
|
151
|
-
n.langLabel ? (i(), _("div", F, " [" + p(n.langLabel) + "] ", 1)) : y("", !0),
|
|
152
|
-
n.deviceIcon ? (i(), _("div", {
|
|
153
|
-
key: 2,
|
|
154
|
-
"data-top-icon": n.deviceIcon
|
|
155
|
-
}, null, 8, ee)) : y("", !0)
|
|
156
|
-
]),
|
|
157
|
-
_: 2
|
|
158
|
-
}, 1032, ["modelValue", "onUpdate:modelValue", "data-region-index"]))), 128))
|
|
159
|
-
], 512)
|
|
160
|
-
]),
|
|
161
|
-
footer: c(() => [
|
|
162
|
-
d(s, { onClick: V }, {
|
|
163
|
-
default: c(() => [
|
|
164
|
-
C(p(o.$i18n.Common?.Apply), 1)
|
|
165
|
-
]),
|
|
166
|
-
_: 1
|
|
167
|
-
})
|
|
168
|
-
]),
|
|
169
|
-
_: 1
|
|
170
|
-
})
|
|
171
|
-
]),
|
|
172
|
-
_: 1
|
|
173
|
-
}, 8, ["id"]);
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
|
-
export {
|
|
178
|
-
re as default
|
|
179
|
-
};
|
|
180
|
-
//# sourceMappingURL=dialog_regionSelectorRegions-BMWyYCfD.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog_regionSelectorRegions-BMWyYCfD.es.js","sources":["../../src/components/project/regionSelector/dialog_regionSelectorRegions/dialog_regionSelectorRegions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, reactive, ref, watch } from 'vue';\nimport { TopDialog, TopDialogPage, useTopDialogSelf } from '@/components/dialog/dialog';\nimport { genFlagLinkByCountryCode } from '@/core/utils/string';\nimport type { Props, RegionRich } from './types';\nimport { getDeviceGIcon, getLangLabel, getSearcherGIcon } from '@/core/utils/searchers';\nimport Core from '@/core/core/core';\n\ndefineOptions({ id: 'regionSelectorRegions' });\n\nconst props = defineProps<Partial<Props>>();\n\nconst dialog = useTopDialogSelf();\n\n/**\n * Список расширенных регионов для использования в компоненте\n */\nconst regionsRich = ref<RegionRich[]>([]);\n\n/**\n * Ссылка на элемент с регионами\n */\nconst elRegions = ref<null | HTMLElement>(null);\n\n/**\n * Направление сортировки по полю\n */\nconst sortedVectorByField = reactive({\n\tsearcher_key: -1,\n\tkey: -1,\n\tname: -1,\n});\n\n/**\n * Выбраны все регионы\n */\nconst isAllSelected = computed({\n\tget() {\n\t\treturn regionsRich.value.every(region => region.selected);\n\t},\n\n\tset(value) {\n\t\tregionsRich.value = regionsRich.value.map(region => ({ ...region, selected: value }));\n\t},\n});\n\n/**\n * Сортировать регионы по выбранному полю\n * @param sortedField - Поле для сортировки\n */\nconst sort = (sortedField: keyof typeof sortedVectorByField) => {\n\tsortedVectorByField[sortedField] = -sortedVectorByField[sortedField];\n\n\tregionsRich.value.sort((regionA, regionB) => {\n\t\tif (!regionA[sortedField] || !regionB[sortedField]) return -1;\n\n\t\treturn regionA[sortedField] >= regionB[sortedField] ? sortedVectorByField[sortedField] : -sortedVectorByField[sortedField];\n\t});\n};\n\n/**\n * Применить изменения\n *\n * Вызывает callback `props['@update:regionsIndexes']`\n */\nconst onSubmit = () => {\n\tif (!regionsRich.value.some(region => region.selected)) return;\n\n\tconst regionsIndexes = regionsRich.value\n\t\t.filter(region => region.selected)\n\t\t.map(region => region.index);\n\n\tprops['@update:regionsIndexes']?.(regionsIndexes);\n\n\tdialog.close();\n};\n\n// генерация регионов\nwatch([\n\t() => props.regions,\n\t() => props.regionsIndexes,\n], () => {\n\tregionsRich.value = [];\n\n\tif (!props.regions) return;\n\tif (!props.regionsIndexes) return;\n\n\tlet regions = [...props.regions];\n\n\t// отсортировать регионы по входным данным\n\tconst orderByRegionIndex = new Map(props.regionsIndexes.map((index, order) => [index, order]));\n\n\tregions.sort((regionA, regionB) => {\n\t\tconst orderA = orderByRegionIndex.get(regionA.index) ?? Number.MAX_VALUE;\n\t\tconst orderB = orderByRegionIndex.get(regionB.index) ?? Number.MAX_VALUE;\n\n\t\treturn orderA - orderB;\n\t});\n\n\tregions.forEach(region => {\n\t\tlet title = region.name;\n\t\tif (region.areaName) title += ` (${region.areaName})`;\n\n\t\tconst selected = props.regionsIndexes?.includes(region.index) ?? false;\n\t\tconst searcherIcon = getSearcherGIcon(region.searcher_key);\n\t\tconst langLabel = region.lang !== undefined ? getLangLabel(region.searcher_key ?? 999, region.lang) : undefined;\n\t\tconst deviceIcon = region.device !== undefined ? getDeviceGIcon(region.device) : undefined;\n\t\tconst flagLink = region.countryCode !== undefined ? genFlagLinkByCountryCode(region.countryCode) : undefined;\n\n\t\tconst regionRich = {\n\t\t\t...region,\n\t\t\tselected,\n\t\t\ttitle,\n\t\t\tsearcherIcon,\n\t\t\tlangLabel,\n\t\t\tdeviceIcon,\n\t\t\tflagLink,\n\t\t};\n\n\t\tregionsRich.value.push(regionRich);\n\t});\n});\n\n/**\n * Проверить на существование sortable\n */\nconst onOpen = () => {\n\tif (!Core.$?.ui['sortable']) {\n\t\tconsole.info('Для работы сортировки требуется глобальная загрузка jQuery UI Sortable');\n\n\t\treturn;\n\t}\n\n\tif (!elRegions.value) return;\n\n\t$(elRegions.value).sortable({\n\t\tdistance: 10,\n\n\t\tstop: () => {\n\t\t\t// Обновляем порядок регионов в массиве regionsRich после сортировки\n\t\t\tconst sortedIndexes = [...elRegions.value!.children].map(el => Number(el.getAttribute('data-region-index')));\n\t\t\tregionsRich.value.sort((a, b) => sortedIndexes.indexOf(a.index) - sortedIndexes.indexOf(b.index));\n\t\t},\n\t});\n};\n\n/**\n * Удаление sortable\n */\nconst onClose = () => {\n\tif (!Core.$?.ui['sortable']) return;\n\tif (!elRegions.value) return;\n\n\t$(elRegions.value).sortable('destroy');\n};\n\n</script>\n\n<template>\n\t<TopDialog\n\t\t:id=\"dialog.id\"\n\t\tpageActive=\"regions\"\n\t\tclass=\"dialog_regionSelectorRegions\"\n\t\theight=\"600px\"\n\t\twidth=\"600px\"\n\t\t@open=\"onOpen\"\n\t\t@close=\"onClose\"\n\t>\n\t\t<TopDialogPage name=\"regions\" :order=\"0\">\n\t\t\t<template #header>\n\t\t\t\t<div class=\"dialog_regionSelectorRegions_header\">\n\t\t\t\t\t<TopCheckbox v-model=\"isAllSelected\"></TopCheckbox>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('searcher_key')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_search_engine\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('key')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_yande_region_code\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('name')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_lphabetically\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template #body>\n\t\t\t\t<div ref=\"elRegions\">\n\t\t\t\t\t<TopCheckbox\n\t\t\t\t\t\tv-for=\"region of regionsRich\"\n\t\t\t\t\t\t:key=\"region.index\"\n\t\t\t\t\t\tv-model=\"region.selected\"\n\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_region\"\n\t\t\t\t\t\t:data-region-index=\"region.index\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_regionSearcherIcon\"\n\t\t\t\t\t\t\t:data-top-icon=\"region.searcherIcon\"\n\t\t\t\t\t\t></div>\n\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tv-if=\"region.flagLink\"\n\t\t\t\t\t\t\tclass=\"top-flag\"\n\t\t\t\t\t\t\t:src=\"'//topvisor.dev' + region.flagLink\"\n\t\t\t\t\t\t\t:alt=\"region.countryCode\"\n\t\t\t\t\t\t>\n\n\t\t\t\t\t\t<div class=\"top-ellipsis\">\n\t\t\t\t\t\t\t{{ region.name }}\n\n\t\t\t\t\t\t\t<span class=\"dialog_regionSelectorRegions_regionAreaName\">\n\t\t\t\t\t\t\t\t{{ region.areaName }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if=\"region.langLabel\">\n\t\t\t\t\t\t\t[{{ region.langLabel }}]\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"region.deviceIcon\"\n\t\t\t\t\t\t\t:data-top-icon=\"region.deviceIcon\"\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</TopCheckbox>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template #footer>\n\t\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t\t{{ $i18n.Common?.Apply }}\n\t\t\t\t</TopButton>\n\t\t\t</template>\n\t\t</TopDialogPage>\n\t</TopDialog>\n</template>\n\n<style>\n@import \"./style.css\";\n</style>\n"],"names":["props","__props","dialog","useTopDialogSelf","regionsRich","ref","elRegions","sortedVectorByField","reactive","isAllSelected","computed","region","value","sort","sortedField","regionA","regionB","onSubmit","regionsIndexes","watch","regions","orderByRegionIndex","index","order","orderA","orderB","title","selected","searcherIcon","getSearcherGIcon","langLabel","getLangLabel","deviceIcon","getDeviceGIcon","flagLink","genFlagLinkByCountryCode","regionRich","onOpen","Core","sortedIndexes","el","a","b","onClose","_createBlock","_unref","TopDialog","_createVNode","TopDialogPage","_createElementVNode","_hoisted_1","_component_TopCheckbox","$event","_component_TopButton","$i18n","_createElementBlock","_Fragment","_renderList","_hoisted_4","_hoisted_5","_toDisplayString","_openBlock"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(["require","exports","vue","./page.vue_vue_type_script_setup_true_lang-bUK5c5qn.amd","./utils-DsGgpnXD.amd","../utils/string.amd","../utils/searchers.amd","./forms-EhKRBbpk.amd","../require/css.amd!../assets/dialog_regionSelectorRegions.css"],(function(U,m,e,p,y,k,u,v){"use strict";if(typeof e>"u")var e=window.Vue;const x={class:"dialog_regionSelectorRegions_header"},h=["data-top-icon"],C=["src","alt"],V={class:"top-ellipsis"},S={class:"dialog_regionSelectorRegions_regionAreaName"},b={key:1},N=["data-top-icon"],B=e.defineComponent({id:"regionSelectorRegions",__name:"dialog_regionSelectorRegions",props:{regions:{},regionsIndexes:{},"@update:regionsIndexes":{type:Function}},setup(I){const i=I,_=y.useTopDialogSelf(),r=e.ref([]),s=e.ref(null),d=e.reactive({searcher_key:-1,key:-1,name:-1}),f=e.computed({get(){return r.value.every(t=>t.selected)},set(t){r.value=r.value.map(o=>({...o,selected:t}))}}),g=t=>{d[t]=-d[t],r.value.sort((o,n)=>!o[t]||!n[t]?-1:o[t]>=n[t]?d[t]:-d[t])},R=()=>{if(!r.value.some(o=>o.selected))return;const t=r.value.filter(o=>o.selected).map(o=>o.index);i["@update:regionsIndexes"]?.(t),_.close()};e.watch([()=>i.regions,()=>i.regionsIndexes],()=>{if(r.value=[],!i.regions||!i.regionsIndexes)return;let t=[...i.regions];const o=new Map(i.regionsIndexes.map((n,a)=>[n,a]));t.sort((n,a)=>{const l=o.get(n.index)??Number.MAX_VALUE,c=o.get(a.index)??Number.MAX_VALUE;return l-c}),t.forEach(n=>{let a=n.name;n.areaName&&(a+=` (${n.areaName})`);const l=i.regionsIndexes?.includes(n.index)??!1,c=u.getSearcherGIcon(n.searcher_key),w=n.lang!==void 0?u.getLangLabel(n.searcher_key??999,n.lang):void 0,A=n.device!==void 0?u.getDeviceGIcon(n.device):void 0,T=n.countryCode!==void 0?k.genFlagLinkByCountryCode(n.countryCode):void 0,D={...n,selected:l,title:a,searcherIcon:c,langLabel:w,deviceIcon:A,flagLink:T};r.value.push(D)})});const E=()=>{if(!v.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}s.value&&$(s.value).sortable({distance:10,stop:()=>{const t=[...s.value.children].map(o=>Number(o.getAttribute("data-region-index")));r.value.sort((o,n)=>t.indexOf(o.index)-t.indexOf(n.index))}})},L=()=>{v.Core.$?.ui.sortable&&s.value&&$(s.value).sortable("destroy")};return(t,o)=>{const n=e.resolveComponent("TopCheckbox"),a=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(e.unref(p._sfc_main),{id:e.unref(_).id,pageActive:"regions",class:"dialog_regionSelectorRegions",height:"600px",width:"600px",onOpen:E,onClose:L},{default:e.withCtx(()=>[e.createVNode(e.unref(p._sfc_main$1),{name:"regions",order:0},{header:e.withCtx(()=>[e.createElementVNode("div",x,[e.createVNode(n,{modelValue:f.value,"onUpdate:modelValue":o[0]||(o[0]=l=>f.value=l)},null,8,["modelValue"]),e.createVNode(a,{class:"dialog_regionSelectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:o[1]||(o[1]=l=>g("searcher_key")),title:t.$i18n.Projects?.Sort_by_search_engine},null,8,["title"]),e.createVNode(a,{class:"dialog_regionSelectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:o[2]||(o[2]=l=>g("key")),title:t.$i18n.Projects?.Sort_by_yande_region_code},null,8,["title"]),e.createVNode(a,{class:"dialog_regionSelectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:o[3]||(o[3]=l=>g("name")),title:t.$i18n.Projects?.Sort_by_lphabetically},null,8,["title"])])]),body:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"elRegions",ref:s},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,l=>(e.openBlock(),e.createBlock(n,{key:l.index,modelValue:l.selected,"onUpdate:modelValue":c=>l.selected=c,class:"dialog_regionSelectorRegions_region","data-region-index":l.index},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"dialog_regionSelectorRegions_regionSearcherIcon","data-top-icon":l.searcherIcon},null,8,h),l.flagLink?(e.openBlock(),e.createElementBlock("img",{key:0,class:"top-flag",src:"//topvisor.dev"+l.flagLink,alt:l.countryCode},null,8,C)):e.createCommentVNode("",!0),e.createElementVNode("div",V,[e.createTextVNode(e.toDisplayString(l.name)+" ",1),e.createElementVNode("span",S,e.toDisplayString(l.areaName),1)]),l.langLabel?(e.openBlock(),e.createElementBlock("div",b," ["+e.toDisplayString(l.langLabel)+"] ",1)):e.createCommentVNode("",!0),l.deviceIcon?(e.openBlock(),e.createElementBlock("div",{key:2,"data-top-icon":l.deviceIcon},null,8,N)):e.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-region-index"]))),128))],512)]),footer:e.withCtx(()=>[e.createVNode(a,{onClick:R},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$i18n.Common?.Apply),1)]),_:1})]),_:1})]),_:1},8,["id"])}}});m.default=B,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})}));
|
|
2
|
-
//# sourceMappingURL=dialog_regionSelectorRegions-CHC-Blbu.amd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog_regionSelectorRegions-CHC-Blbu.amd.js","sources":["../../src/components/project/regionSelector/dialog_regionSelectorRegions/dialog_regionSelectorRegions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, reactive, ref, watch } from 'vue';\nimport { TopDialog, TopDialogPage, useTopDialogSelf } from '@/components/dialog/dialog';\nimport { genFlagLinkByCountryCode } from '@/core/utils/string';\nimport type { Props, RegionRich } from './types';\nimport { getDeviceGIcon, getLangLabel, getSearcherGIcon } from '@/core/utils/searchers';\nimport Core from '@/core/core/core';\n\ndefineOptions({ id: 'regionSelectorRegions' });\n\nconst props = defineProps<Partial<Props>>();\n\nconst dialog = useTopDialogSelf();\n\n/**\n * Список расширенных регионов для использования в компоненте\n */\nconst regionsRich = ref<RegionRich[]>([]);\n\n/**\n * Ссылка на элемент с регионами\n */\nconst elRegions = ref<null | HTMLElement>(null);\n\n/**\n * Направление сортировки по полю\n */\nconst sortedVectorByField = reactive({\n\tsearcher_key: -1,\n\tkey: -1,\n\tname: -1,\n});\n\n/**\n * Выбраны все регионы\n */\nconst isAllSelected = computed({\n\tget() {\n\t\treturn regionsRich.value.every(region => region.selected);\n\t},\n\n\tset(value) {\n\t\tregionsRich.value = regionsRich.value.map(region => ({ ...region, selected: value }));\n\t},\n});\n\n/**\n * Сортировать регионы по выбранному полю\n * @param sortedField - Поле для сортировки\n */\nconst sort = (sortedField: keyof typeof sortedVectorByField) => {\n\tsortedVectorByField[sortedField] = -sortedVectorByField[sortedField];\n\n\tregionsRich.value.sort((regionA, regionB) => {\n\t\tif (!regionA[sortedField] || !regionB[sortedField]) return -1;\n\n\t\treturn regionA[sortedField] >= regionB[sortedField] ? sortedVectorByField[sortedField] : -sortedVectorByField[sortedField];\n\t});\n};\n\n/**\n * Применить изменения\n *\n * Вызывает callback `props['@update:regionsIndexes']`\n */\nconst onSubmit = () => {\n\tif (!regionsRich.value.some(region => region.selected)) return;\n\n\tconst regionsIndexes = regionsRich.value\n\t\t.filter(region => region.selected)\n\t\t.map(region => region.index);\n\n\tprops['@update:regionsIndexes']?.(regionsIndexes);\n\n\tdialog.close();\n};\n\n// генерация регионов\nwatch([\n\t() => props.regions,\n\t() => props.regionsIndexes,\n], () => {\n\tregionsRich.value = [];\n\n\tif (!props.regions) return;\n\tif (!props.regionsIndexes) return;\n\n\tlet regions = [...props.regions];\n\n\t// отсортировать регионы по входным данным\n\tconst orderByRegionIndex = new Map(props.regionsIndexes.map((index, order) => [index, order]));\n\n\tregions.sort((regionA, regionB) => {\n\t\tconst orderA = orderByRegionIndex.get(regionA.index) ?? Number.MAX_VALUE;\n\t\tconst orderB = orderByRegionIndex.get(regionB.index) ?? Number.MAX_VALUE;\n\n\t\treturn orderA - orderB;\n\t});\n\n\tregions.forEach(region => {\n\t\tlet title = region.name;\n\t\tif (region.areaName) title += ` (${region.areaName})`;\n\n\t\tconst selected = props.regionsIndexes?.includes(region.index) ?? false;\n\t\tconst searcherIcon = getSearcherGIcon(region.searcher_key);\n\t\tconst langLabel = region.lang !== undefined ? getLangLabel(region.searcher_key ?? 999, region.lang) : undefined;\n\t\tconst deviceIcon = region.device !== undefined ? getDeviceGIcon(region.device) : undefined;\n\t\tconst flagLink = region.countryCode !== undefined ? genFlagLinkByCountryCode(region.countryCode) : undefined;\n\n\t\tconst regionRich = {\n\t\t\t...region,\n\t\t\tselected,\n\t\t\ttitle,\n\t\t\tsearcherIcon,\n\t\t\tlangLabel,\n\t\t\tdeviceIcon,\n\t\t\tflagLink,\n\t\t};\n\n\t\tregionsRich.value.push(regionRich);\n\t});\n});\n\n/**\n * Проверить на существование sortable\n */\nconst onOpen = () => {\n\tif (!Core.$?.ui['sortable']) {\n\t\tconsole.info('Для работы сортировки требуется глобальная загрузка jQuery UI Sortable');\n\n\t\treturn;\n\t}\n\n\tif (!elRegions.value) return;\n\n\t$(elRegions.value).sortable({\n\t\tdistance: 10,\n\n\t\tstop: () => {\n\t\t\t// Обновляем порядок регионов в массиве regionsRich после сортировки\n\t\t\tconst sortedIndexes = [...elRegions.value!.children].map(el => Number(el.getAttribute('data-region-index')));\n\t\t\tregionsRich.value.sort((a, b) => sortedIndexes.indexOf(a.index) - sortedIndexes.indexOf(b.index));\n\t\t},\n\t});\n};\n\n/**\n * Удаление sortable\n */\nconst onClose = () => {\n\tif (!Core.$?.ui['sortable']) return;\n\tif (!elRegions.value) return;\n\n\t$(elRegions.value).sortable('destroy');\n};\n\n</script>\n\n<template>\n\t<TopDialog\n\t\t:id=\"dialog.id\"\n\t\tpageActive=\"regions\"\n\t\tclass=\"dialog_regionSelectorRegions\"\n\t\theight=\"600px\"\n\t\twidth=\"600px\"\n\t\t@open=\"onOpen\"\n\t\t@close=\"onClose\"\n\t>\n\t\t<TopDialogPage name=\"regions\" :order=\"0\">\n\t\t\t<template #header>\n\t\t\t\t<div class=\"dialog_regionSelectorRegions_header\">\n\t\t\t\t\t<TopCheckbox v-model=\"isAllSelected\"></TopCheckbox>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('searcher_key')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_search_engine\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('key')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_yande_region_code\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('name')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_lphabetically\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template #body>\n\t\t\t\t<div ref=\"elRegions\">\n\t\t\t\t\t<TopCheckbox\n\t\t\t\t\t\tv-for=\"region of regionsRich\"\n\t\t\t\t\t\t:key=\"region.index\"\n\t\t\t\t\t\tv-model=\"region.selected\"\n\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_region\"\n\t\t\t\t\t\t:data-region-index=\"region.index\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"dialog_regionSelectorRegions_regionSearcherIcon\"\n\t\t\t\t\t\t\t:data-top-icon=\"region.searcherIcon\"\n\t\t\t\t\t\t></div>\n\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tv-if=\"region.flagLink\"\n\t\t\t\t\t\t\tclass=\"top-flag\"\n\t\t\t\t\t\t\t:src=\"'//topvisor.dev' + region.flagLink\"\n\t\t\t\t\t\t\t:alt=\"region.countryCode\"\n\t\t\t\t\t\t>\n\n\t\t\t\t\t\t<div class=\"top-ellipsis\">\n\t\t\t\t\t\t\t{{ region.name }}\n\n\t\t\t\t\t\t\t<span class=\"dialog_regionSelectorRegions_regionAreaName\">\n\t\t\t\t\t\t\t\t{{ region.areaName }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if=\"region.langLabel\">\n\t\t\t\t\t\t\t[{{ region.langLabel }}]\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"region.deviceIcon\"\n\t\t\t\t\t\t\t:data-top-icon=\"region.deviceIcon\"\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</TopCheckbox>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template #footer>\n\t\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t\t{{ $i18n.Common?.Apply }}\n\t\t\t\t</TopButton>\n\t\t\t</template>\n\t\t</TopDialogPage>\n\t</TopDialog>\n</template>\n\n<style>\n@import \"./style.css\";\n</style>\n"],"names":["dialog","utils","regionsRich","vue","elRegions","sortedVectorByField","isAllSelected","region","sort","sortedField","regionA","regionB","props","regionsIndexes","orderA","orderByRegionIndex","orderB","regions","title","selected","deviceIcon","utils_searchers","flagLink","utils_string","searcherIcon","langLabel","regionRich","a","b","sortedIndexes","onOpen","page_vue_vue_type_script_setup_true_lang","_hoisted_1","_cache","$event","_ctx","_hoisted_2","_hoisted_3","_hoisted_5","_hoisted_7"],"mappings":"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"}
|
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
import { ref as g, markRaw as V, shallowReactive as M, defineComponent as C, onUnmounted as S, createElementBlock as U, openBlock as v, Fragment as b, renderList as O, unref as R, createBlock as T, resolveDynamicComponent as k } from "vue";
|
|
2
|
-
import { waitWhile as B } from "../utils/system.js";
|
|
3
|
-
import { historySetState as P, genHash as A, getHash as x } from "../utils/route.js";
|
|
4
|
-
import { querySelectorAllArray as y, isVisible as H } from "../utils/dom.js";
|
|
5
|
-
class r {
|
|
6
|
-
static state = {
|
|
7
|
-
load: void 0,
|
|
8
|
-
decoratorOnCreate: void 0,
|
|
9
|
-
/**
|
|
10
|
-
* Порядковый номер перехода в диалоговых окнах
|
|
11
|
-
*
|
|
12
|
-
* Для расчета анимации Вперед / Назад
|
|
13
|
-
*/
|
|
14
|
-
viewPageN: 0
|
|
15
|
-
};
|
|
16
|
-
static inited = !1;
|
|
17
|
-
/**
|
|
18
|
-
* Инициировать события слежения за парамтерами url
|
|
19
|
-
*
|
|
20
|
-
* Если в параметрах есть запрос на открытие диалогового окна, TopDialog будет автоматически подключен на страницу
|
|
21
|
-
*/
|
|
22
|
-
static init(e) {
|
|
23
|
-
if (this.inited) return;
|
|
24
|
-
this.inited = !0, this.state.load = e?.load, this.state.decoratorOnCreate = e?.decoratorOnCreate;
|
|
25
|
-
const t = e?.autoInitDelay ?? 5e3;
|
|
26
|
-
window.addEventListener("hashchange", (a) => {
|
|
27
|
-
this.opendDialogsFromChangeUrl(a.oldURL, a.newURL);
|
|
28
|
-
}), this.opendDialogsFromChangeUrl("", location.href), document.addEventListener("mousedown", async (a) => {
|
|
29
|
-
if (!(a.target instanceof HTMLElement)) return;
|
|
30
|
-
const i = a.target.closest("a[data-to-view]");
|
|
31
|
-
if (!i) return;
|
|
32
|
-
let n = "next";
|
|
33
|
-
i.dataset.action === "top-dialog-close" && (n = "prev"), i.href = r.genViewPageHash(i.dataset.toView, n);
|
|
34
|
-
}), document.addEventListener("click", async (a) => {
|
|
35
|
-
if (!(a.target instanceof HTMLElement)) return;
|
|
36
|
-
const i = a.target.closest("[data-to-view]");
|
|
37
|
-
if (!i) return;
|
|
38
|
-
if (i instanceof HTMLAnchorElement && i.href === ".") {
|
|
39
|
-
a.preventDefault();
|
|
40
|
-
const w = new MouseEvent("mousedown", {
|
|
41
|
-
bubbles: !0,
|
|
42
|
-
cancelable: !0,
|
|
43
|
-
view: window
|
|
44
|
-
});
|
|
45
|
-
i.dispatchEvent(w), setTimeout(() => i.click());
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
const n = await this.getDialogsUtils(), o = i.dataset.toView, u = o.split("-")[0], d = n.getElDialogById(u);
|
|
49
|
-
let p = "next";
|
|
50
|
-
if (d) {
|
|
51
|
-
const w = y(d, ".modal-layer"), D = w.reduce((f, E) => {
|
|
52
|
-
const h = E.querySelector(":scope > .active");
|
|
53
|
-
return h && f.push(h), f;
|
|
54
|
-
}, []);
|
|
55
|
-
if (D.length) {
|
|
56
|
-
const f = o.split("-")[1].split(":")[0];
|
|
57
|
-
(w.reduce((h, L) => {
|
|
58
|
-
const N = L?.querySelector(`:scope > [data-view-page="${f}"]`);
|
|
59
|
-
return N && h.push(N), h;
|
|
60
|
-
}, [])[0]?.dataset.order ?? 0) < (D[0]?.dataset.order ?? 0) && (p = "prev");
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
i.dataset.action === "top-dialog-close" && (p = "prev");
|
|
64
|
-
const m = r.genViewPageHash(o, p);
|
|
65
|
-
if (i instanceof HTMLAnchorElement) {
|
|
66
|
-
if (!d || !H(d)) return;
|
|
67
|
-
if (location.hash.indexOf(o.replace("-", "=")) !== -1) {
|
|
68
|
-
await n.toViewDirty(o);
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
!!d?.dataset.toViewReplace ? (a.preventDefault(), P(!0, m), await n.toViewDirty(o), p == "next" ? r.state.viewPageN++ : r.state.viewPageN--) : i.tagName !== "A" && (this.compareStates(m, location.hash) ? P(!1, m) : await n.toViewDirty(o));
|
|
73
|
-
}), setTimeout(() => this.getDialogsUtils(), t);
|
|
74
|
-
}
|
|
75
|
-
static opendDialogsFromChangeUrl(e, t) {
|
|
76
|
-
const a = e.replace(/.*?#/, "#"), s = t.replace(/.*?#/, "#");
|
|
77
|
-
this.compareStates(a, s) && this.opendDialogsFromUrl();
|
|
78
|
-
}
|
|
79
|
-
static async getDialogsUtils() {
|
|
80
|
-
const { TopDialogUtils: e } = await import("./utils-DQ-xahGh.es.js");
|
|
81
|
-
return e;
|
|
82
|
-
}
|
|
83
|
-
static getDialog(e) {
|
|
84
|
-
return e.closest(".ui-dialog-content");
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* todo: Переписать на сайте на this.getDialog()
|
|
88
|
-
*
|
|
89
|
-
* @deprecated Для обратной совместимости
|
|
90
|
-
*/
|
|
91
|
-
static get$dialog(e) {
|
|
92
|
-
return e.closest(".ui-dialog-content");
|
|
93
|
-
}
|
|
94
|
-
static getPage(e) {
|
|
95
|
-
return e.closest("[data-view-page]");
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* todo: Переписать на сайте на this.getPage()
|
|
99
|
-
*
|
|
100
|
-
* @deprecated Для обратной совместимости
|
|
101
|
-
*/
|
|
102
|
-
static get$page(e) {
|
|
103
|
-
return e.closest("[data-view-page]");
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* todo: Переписать на сайте на this.getPairPage()
|
|
107
|
-
*
|
|
108
|
-
* @deprecated Для обратной совместимости
|
|
109
|
-
*/
|
|
110
|
-
static get$pairPage(e) {
|
|
111
|
-
const t = r.get$dialog(e), s = r.get$page(e).data("view-page");
|
|
112
|
-
return $('[data-view-page="' + s + '"]', t);
|
|
113
|
-
}
|
|
114
|
-
static getPairPage(e) {
|
|
115
|
-
const t = r.getDialog(e);
|
|
116
|
-
if (!t) return;
|
|
117
|
-
const s = r.getPage(e)?.dataset.viewPage;
|
|
118
|
-
return y(t, `[data-view-page="${s}"]`);
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Закрыть диалоговое окно
|
|
122
|
-
*/
|
|
123
|
-
static close(e) {
|
|
124
|
-
const t = $("#" + e);
|
|
125
|
-
if (t.dialog("instance")) {
|
|
126
|
-
t.dialog("close");
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
const a = document.getElementById(e);
|
|
130
|
-
a instanceof HTMLDialogElement && a.close();
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Размонтировать $.dialog
|
|
134
|
-
*/
|
|
135
|
-
static destroy(e) {
|
|
136
|
-
const t = $("#" + e);
|
|
137
|
-
if (t.dialog("instance")) {
|
|
138
|
-
t.dialog("close"), t.dialog("destroy");
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
const a = document.getElementById(e);
|
|
142
|
-
a instanceof HTMLDialogElement && a.close();
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Сгенерировать ссылку на страницу в диалоговом окне
|
|
146
|
-
* @param toView - указатель в формате: dialog_{{ dialogId }}={{ pageName }}:{{ args }}
|
|
147
|
-
* @param moveDirection
|
|
148
|
-
*/
|
|
149
|
-
static genViewPageHash(e, t = "next") {
|
|
150
|
-
let a = this.state.viewPageN;
|
|
151
|
-
t == "prev" ? a-- : a++;
|
|
152
|
-
const s = e.split("-"), i = s.shift(), n = s.join("-");
|
|
153
|
-
let o = A("vpn", a);
|
|
154
|
-
return o = A("view-" + i, n, o), o;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Сравнить версию открытых диалоговых окон
|
|
158
|
-
* @returns вернет true, если состояния открытых окон изменилось
|
|
159
|
-
*/
|
|
160
|
-
static compareStates(e, t) {
|
|
161
|
-
const a = e.match(/[#&]view-[^&]+/g) || [], s = t.match(/[#&]view-[^&]+/g) || [];
|
|
162
|
-
return !!(a.length !== s.length || a.filter((n, o) => {
|
|
163
|
-
const u = s[o] || "";
|
|
164
|
-
return n !== u;
|
|
165
|
-
}).length);
|
|
166
|
-
}
|
|
167
|
-
static opendDialogsFromUrl = async () => {
|
|
168
|
-
const e = Number(x("vpn")) || 0;
|
|
169
|
-
let t;
|
|
170
|
-
const a = new RegExp("view-((\\w+)=([\\w-]+)(?::([\\w.:-]+))?)", "g");
|
|
171
|
-
for (; t = a.exec(location.hash); ) {
|
|
172
|
-
let i = "next";
|
|
173
|
-
return e < this.state.viewPageN && (i = "prev"), (await this.getDialogsUtils()).toViewDirty(t[1], i);
|
|
174
|
-
}
|
|
175
|
-
return y(document, ".ui-dialog-content[data-view-page-active]").filter((i) => H(i)).forEach((i) => {
|
|
176
|
-
const n = i.getAttribute("id");
|
|
177
|
-
if (!n) throw "Диалоговое окно не содержит id";
|
|
178
|
-
x("view-" + n) || $(i).dialog("close");
|
|
179
|
-
}), this.state.viewPageN = e, !0;
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
class F {
|
|
183
|
-
/**
|
|
184
|
-
* Индентификатор, определяется на уровне компонента TopDialogComponent
|
|
185
|
-
*
|
|
186
|
-
* Может использоваться в навигации для открытия нужных окон с нужными настройками
|
|
187
|
-
*/
|
|
188
|
-
id;
|
|
189
|
-
/**
|
|
190
|
-
* ID, используемый в верстке диалогового окна
|
|
191
|
-
*/
|
|
192
|
-
idAttr;
|
|
193
|
-
/**
|
|
194
|
-
* Пользовательский компонент диалогового окна
|
|
195
|
-
*/
|
|
196
|
-
Component;
|
|
197
|
-
/**
|
|
198
|
-
* Компонент инициирован
|
|
199
|
-
*
|
|
200
|
-
* Устанавливается после первого вызова useTopDialog()
|
|
201
|
-
*/
|
|
202
|
-
isMounted = g(!1);
|
|
203
|
-
/**
|
|
204
|
-
* Компонент готов к использованию
|
|
205
|
-
*
|
|
206
|
-
* Используется для внутренних преобразований после отрисовки
|
|
207
|
-
*/
|
|
208
|
-
isReady = g(!1);
|
|
209
|
-
/**
|
|
210
|
-
* Диалоговое окно открыто
|
|
211
|
-
*/
|
|
212
|
-
isOpened = g(!1);
|
|
213
|
-
/**
|
|
214
|
-
* Имя активной страницы дилогового окна
|
|
215
|
-
*/
|
|
216
|
-
pageActive = g("");
|
|
217
|
-
/**
|
|
218
|
-
* Диалоговое окно находится в состоянии загрузки своей страницы
|
|
219
|
-
*/
|
|
220
|
-
isLoadingPage = g(!1);
|
|
221
|
-
/**
|
|
222
|
-
* Следующая активная страница
|
|
223
|
-
*
|
|
224
|
-
* В один момент времени может потребоваться отобразить две страницы, чтобы воспроизвести анимацию
|
|
225
|
-
*/
|
|
226
|
-
pageActiveNext = g("");
|
|
227
|
-
/**
|
|
228
|
-
* props компонента, доступны после инициализации
|
|
229
|
-
*/
|
|
230
|
-
props;
|
|
231
|
-
/**
|
|
232
|
-
* emit базового компонента `TopDialog`
|
|
233
|
-
*/
|
|
234
|
-
emit;
|
|
235
|
-
/**
|
|
236
|
-
* Одноразовое событие на закрытие диалогового окна
|
|
237
|
-
*
|
|
238
|
-
* Используется для привязки окна к сценариям использования
|
|
239
|
-
*/
|
|
240
|
-
onCloseOnce;
|
|
241
|
-
constructor(e) {
|
|
242
|
-
this.id = e.id, this.idAttr = "dialog_" + e.id, this.Component = V(e);
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Событие - компонент инициирован
|
|
246
|
-
*/
|
|
247
|
-
onMounted(e, t) {
|
|
248
|
-
this.isMounted.value = !0, this.props = e.props, this.emit = t.emit;
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Открыть диалоговое окно
|
|
252
|
-
*
|
|
253
|
-
* Учтите, что props в диалоговом окне будут доступны не сразу, а только после инициализации vue компонента
|
|
254
|
-
*/
|
|
255
|
-
async open(e = "main", t, a = [], s, i) {
|
|
256
|
-
t && await this.setProps(t), s && (this.onCloseOnce = s), await (await r.getDialogsUtils()).toView(this.idAttr, e, a, i);
|
|
257
|
-
}
|
|
258
|
-
/**
|
|
259
|
-
* Открыть диалоговое окно как ссылку, для хеш-навигации
|
|
260
|
-
*
|
|
261
|
-
* Диалоговые окна загружаются по имени, см. настройку плагина Core topDialogLoader
|
|
262
|
-
*/
|
|
263
|
-
async openAsLink(e = "main", t, a = [], s, i) {
|
|
264
|
-
t && await this.setProps(t), s && (this.onCloseOnce = s);
|
|
265
|
-
const n = this.idAttr + "-" + e, o = r.genViewPageHash(n, i);
|
|
266
|
-
P(!1, o);
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Закрыть диалоговое окно
|
|
270
|
-
*
|
|
271
|
-
* Не меняет состояние компонента диалогового окна
|
|
272
|
-
*/
|
|
273
|
-
async close() {
|
|
274
|
-
r.close(this.idAttr);
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Размонтировать $.dialog
|
|
278
|
-
*/
|
|
279
|
-
async destroy() {
|
|
280
|
-
r.destroy(this.idAttr);
|
|
281
|
-
}
|
|
282
|
-
/**
|
|
283
|
-
* Устанвоить props
|
|
284
|
-
*
|
|
285
|
-
* Полностью сбрасывается состояние props
|
|
286
|
-
*/
|
|
287
|
-
async setProps(e = {}) {
|
|
288
|
-
this.isMounted || await B(() => !this.props);
|
|
289
|
-
for (const t in this.props)
|
|
290
|
-
this.props[t] = e[t];
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* Проверить, есть ли необходимость отрисовки страницы диалогового окна
|
|
294
|
-
*/
|
|
295
|
-
needShowPage(e) {
|
|
296
|
-
return this.isOpened.value ? this.pageActive.value === e || this.pageActiveNext.value === e : !1;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
const _ = {
|
|
300
|
-
class: "top-dialogs",
|
|
301
|
-
style: { display: "none" }
|
|
302
|
-
}, c = M(/* @__PURE__ */ new Map()), J = (l) => (l = l.replace(/^dialog_/, ""), c.get(l)), K = (l) => {
|
|
303
|
-
if (!l?.id)
|
|
304
|
-
throw console.log({ TopDialogComponent: l }), new Error("Expected TopDialogComponent");
|
|
305
|
-
return c.has(l.id) || c.set(l.id, new F(l)), c.get(l.id);
|
|
306
|
-
}, Q = /* @__PURE__ */ C({
|
|
307
|
-
name: "DialogWrapper",
|
|
308
|
-
__name: "dialogs",
|
|
309
|
-
setup(l) {
|
|
310
|
-
return S(() => {
|
|
311
|
-
c.forEach((e) => e.destroy()), c.clear();
|
|
312
|
-
}), (e, t) => (v(), U("div", _, [
|
|
313
|
-
(v(!0), U(b, null, O(R(c), ([a, s]) => (v(), T(k(s.Component), { key: a }))), 128))
|
|
314
|
-
]));
|
|
315
|
-
}
|
|
316
|
-
});
|
|
317
|
-
export {
|
|
318
|
-
r as T,
|
|
319
|
-
Q as _,
|
|
320
|
-
K as a,
|
|
321
|
-
J as g
|
|
322
|
-
};
|
|
323
|
-
//# sourceMappingURL=dialogs.vue_vue_type_script_setup_true_lang-BZM_iKPW.es.js.map
|