@topvisor/ui 1.0.42-checkvisibility.3 → 1.0.42-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env_example +1 -0
- package/.gitlab-ci/.gitlab-ci.yml +27 -0
- package/.gitlab-ci/README.md +59 -0
- package/.gitlab-ci/common/install.yml +21 -0
- package/.gitlab-ci/common/lint.yml +11 -0
- package/.gitlab-ci/common/redmine.yml +12 -0
- package/.gitlab-ci/common/version.yml +34 -0
- package/.gitlab-ci/storybook/build.yml +18 -0
- package/.gitlab-ci/storybook/deploy.yml +50 -0
- package/.gitlab-ci/ui/build.yml +12 -0
- package/.gitlab-ci/ui/deploy-dist.yml +89 -0
- package/.gitlab-ci/ui/deploy.yml +19 -0
- package/.idea/.gitignore +11 -0
- package/.idea/codeStyles/Project.xml +205 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/externalDependencies.xml +6 -0
- package/.idea/icon.svg +5 -0
- package/.idea/inspectionProfiles/Disabled.xml +824 -0
- package/.idea/inspectionProfiles/Project_Default.xml +33 -0
- package/.idea/modules.xml +8 -0
- package/.idea/php.xml +19 -0
- package/.idea/ui.iml +8 -0
- package/.idea/vcs.xml +12 -0
- package/.storybook/TopTheme.ts +115 -0
- package/.storybook/TopThemeManager.ts +53 -0
- package/.storybook/argsArrayDecorator.ts +120 -0
- package/.storybook/main.ts +78 -0
- package/.storybook/manager.ts +25 -0
- package/.storybook/preview-head.html +21 -0
- package/.storybook/preview.ts +50 -0
- package/.storybook/vue/coreDecorator.ts +86 -0
- package/.storybook/vue/vModelDecorator.ts +46 -0
- package/.versionrc.json +16 -0
- package/.vscode/extensions.json +11 -0
- package/.vscode/keybindings.example.json +121 -0
- package/.vscode/settings.json +45 -0
- package/CHANGELOG.md +426 -0
- package/NPM.md +25 -0
- package/PUBLISH.md +88 -0
- package/README.md +37 -59
- package/STORYBOOK.md +41 -0
- package/USE_IN_PROJECT.md +32 -0
- package/package.json +63 -2
- package/public/README.md +82 -0
- package/rollup.config.ts +38 -0
- package/scripts/afterBuild.sh +13 -0
- package/scripts/cssModules.ts +39 -0
- package/scripts/genDocs.sh +20 -0
- package/scripts/plugin/amdFix.ts +83 -0
- package/scripts/plugin/autoloadCSS.ts +155 -0
- package/src/CHANGELOG.md.mdx +4 -0
- package/src/components/charts/charts.ts +8 -0
- package/src/components/charts/miniChart/miniChart.stories.ts +66 -0
- package/src/components/charts/miniChart/miniChart.vue +158 -0
- package/src/components/charts/miniChart/stories/README.md +9 -0
- package/src/components/charts/miniChart/stories/dummy.ts +25 -0
- package/src/components/charts/miniChart/styles/miniChart.css +87 -0
- package/src/components/charts/miniChart/types.ts +110 -0
- package/src/components/charts/miniChart/utils/consts.ts +9 -0
- package/src/components/charts/miniCharts/miniCharts.stories.ts +75 -0
- package/src/components/charts/miniCharts/miniCharts.ts +24 -0
- package/src/components/charts/miniCharts/miniCharts.vue +124 -0
- package/src/components/charts/miniCharts/stories/README.md +18 -0
- package/src/components/charts/miniCharts/stories/dummy.ts +70 -0
- package/src/components/charts/miniCharts/stories/overview.vue +139 -0
- package/src/components/charts/miniCharts/styles/miniCharts.css +32 -0
- package/src/components/component.ts +130 -0
- package/src/components/core/core.mdx +7 -0
- package/src/components/core/notice/item/item.vue +145 -0
- package/src/components/core/notice/item/style.css +70 -0
- package/src/components/core/notice/item/types.ts +74 -0
- package/src/components/core/notice/notice.stories.ts +104 -0
- package/src/components/core/notice/notice.vue +69 -0
- package/src/components/core/notice/stories/README.md +34 -0
- package/src/components/core/notice/utils.ts +115 -0
- package/src/components/dialog/dialog/Dialog (code).mdx +61 -0
- package/src/components/dialog/dialog/composables/asyncDialogHandle.ts +99 -0
- package/src/components/dialog/dialog/composables/dialogHandle.ts +178 -0
- package/src/components/dialog/dialog/composables/types.ts +12 -0
- package/src/components/dialog/dialog/composables/utils.ts +39 -0
- package/src/components/dialog/dialog/dialog.stories.ts +82 -0
- package/src/components/dialog/dialog/dialog.vue +74 -0
- package/src/components/dialog/dialog/dialogs/dialogs.vue +61 -0
- package/src/components/dialog/dialog/page/page.vue +86 -0
- package/src/components/dialog/dialog/page/types.ts +84 -0
- package/src/components/dialog/dialog/page.stories.ts +26 -0
- package/src/components/dialog/dialog/pageComponent/pageComponent.vue +57 -0
- package/src/components/dialog/dialog/pageComponent/types.ts +21 -0
- package/src/components/dialog/dialog/pageComponent.stories.ts +26 -0
- package/src/components/dialog/dialog/stories/README.md +117 -0
- package/src/components/dialog/dialog/stories/autoload.ts +12 -0
- package/src/components/dialog/dialog/stories/dialog_example/dialog_example.vue +77 -0
- package/src/components/dialog/dialog/stories/dialog_example/pages/async.vue +57 -0
- package/src/components/dialog/dialog/stories/dialog_example/pages/default.vue +56 -0
- package/src/components/dialog/dialog/stories/dialog_example/pages/headerButtons.vue +56 -0
- package/src/components/dialog/dialog/stories/dialog_example/pages/utils.ts +26 -0
- package/src/components/dialog/dialog/stories/dialog_example/pages/withoutCache.vue +56 -0
- package/src/components/dialog/dialog/stories/page/README.md +24 -0
- package/src/components/dialog/dialog/stories/pageComponent/README.md +12 -0
- package/src/components/dialog/dialog/style/dialog.css +319 -0
- package/src/components/dialog/dialog/style/dialog.m.css +40 -0
- package/src/components/dialog/dialog/style/dialog.pc.css +73 -0
- package/src/components/dialog/dialog/style/modern/dialog.css +12 -0
- package/src/components/dialog/dialog/style/modern/dialog.pc.css +3 -0
- package/src/components/dialog/dialog/types.ts +69 -0
- package/src/components/dialog/dialog.ts +7 -0
- package/src/components/dialog/lib/types.ts +42 -0
- package/src/components/dialog/lib/utils.globalEvents.ts +214 -0
- package/src/components/dialog/lib/utils.ts +656 -0
- package/src/components/dialog/lib/worker.ts +362 -0
- package/src/components/extra/extra.ts +5 -0
- package/src/components/extra/rive/rive.vue +56 -0
- package/src/components/extra/rive/rives.stories.ts +65 -0
- package/src/components/extra/rive/stories/README.md +40 -0
- package/src/components/extra/rive/stories/nope.riv +0 -0
- package/src/components/extra/rive/stories/sadness.riv +0 -0
- package/src/components/extra/rive/types.ts +8 -0
- package/src/components/forms/README.mdx +10 -0
- package/src/components/forms/avatar/avatar.stories.ts +37 -0
- package/src/components/forms/avatar/avatar.vue +77 -0
- package/src/components/forms/avatar/stories/overview.vue +30 -0
- package/src/components/forms/avatar/types.ts +38 -0
- package/src/components/forms/button/button.stories.ts +117 -0
- package/src/components/forms/button/button.vue +111 -0
- package/src/components/forms/button/stories/README.md +9 -0
- package/src/components/forms/button/stories/overview.vue +36 -0
- package/src/components/forms/button/style/button.css +146 -0
- package/src/components/forms/button/style/style-outline.css +129 -0
- package/src/components/forms/button/style/style-soft.css +89 -0
- package/src/components/forms/button/style/style-transparent.css +39 -0
- package/src/components/forms/button/types.ts +59 -0
- package/src/components/forms/caption/caption.stories.ts +108 -0
- package/src/components/forms/caption/caption.vue +29 -0
- package/src/components/forms/caption/types.ts +10 -0
- package/src/components/forms/checkbox/checkbox.stories.ts +32 -0
- package/src/components/forms/checkbox/checkbox.vue +115 -0
- package/src/components/forms/checkbox/stories/overview.vue +171 -0
- package/src/components/forms/checkbox/types.ts +21 -0
- package/src/components/forms/controlLabel/controlLabel.stories.ts +31 -0
- package/src/components/forms/controlLabel/controlLabel.vue +54 -0
- package/src/components/forms/controlLabel/types.ts +4 -0
- package/src/components/forms/forms.ts +44 -0
- package/src/components/forms/hint/hint.stories.ts +40 -0
- package/src/components/forms/hint/hint.vue +32 -0
- package/src/components/forms/hint/types.ts +8 -0
- package/src/components/forms/input/input.stories.ts +31 -0
- package/src/components/forms/input/input.vue +178 -0
- package/src/components/forms/input/stories/overview.vue +63 -0
- package/src/components/forms/input/types.ts +31 -0
- package/src/components/forms/inputDate/datepicker.css +246 -0
- package/src/components/forms/inputDate/datepicker.ts +101 -0
- package/src/components/forms/inputDate/inputDate.stories.ts +40 -0
- package/src/components/forms/inputDate/inputDate.vue +133 -0
- package/src/components/forms/inputDate/stories/overview.vue +35 -0
- package/src/components/forms/inputDate/types.ts +1 -0
- package/src/components/forms/inputRange/inputRange.stories.ts +52 -0
- package/src/components/forms/inputRange/inputRange.vue +39 -0
- package/src/components/forms/inputRange/stories/overview.vue +129 -0
- package/src/components/forms/inputRange/types.ts +3 -0
- package/src/components/forms/loadbar/loadbar.stories.ts +22 -0
- package/src/components/forms/loadbar/loadbar.vue +37 -0
- package/src/components/forms/loadbar/stories/README.md +6 -0
- package/src/components/forms/preloader/preloader.stories.ts +46 -0
- package/src/components/forms/preloader/preloader.vue +103 -0
- package/src/components/forms/preloader/stories/README.md +26 -0
- package/src/components/forms/preloader/types.ts +3 -0
- package/src/components/forms/radio/radio.stories.ts +33 -0
- package/src/components/forms/radio/radio.vue +97 -0
- package/src/components/forms/radio/stories/overview.vue +79 -0
- package/src/components/forms/radio/types.ts +15 -0
- package/src/components/forms/select/select.stories.ts +68 -0
- package/src/components/forms/select/select.vue +299 -0
- package/src/components/forms/select/stories/exampleOptions.ts +61 -0
- package/src/components/forms/select/stories/overview.vue +72 -0
- package/src/components/forms/select/types.ts +68 -0
- package/src/components/forms/switcher/stories/overview.vue +139 -0
- package/src/components/forms/switcher/switcher.stories.ts +32 -0
- package/src/components/forms/switcher/switcher.vue +118 -0
- package/src/components/forms/switcher/types.ts +22 -0
- package/src/components/forms/textarea/stories/overview.vue +89 -0
- package/src/components/forms/textarea/textarea.stories.ts +33 -0
- package/src/components/forms/textarea/textarea.vue +143 -0
- package/src/components/forms/textarea/types.ts +52 -0
- package/src/components/formsExt/README.mdx +5 -0
- package/src/components/formsExt/checkboxGroup/checkboxGroup.stories.ts +36 -0
- package/src/components/formsExt/checkboxGroup/checkboxGroup.vue +159 -0
- package/src/components/formsExt/checkboxGroup/stories/example.ts +42 -0
- package/src/components/formsExt/checkboxGroup/stories/overview.vue +36 -0
- package/src/components/formsExt/checkboxGroup/types.ts +23 -0
- package/src/components/formsExt/editArea/editArea.stories.ts +40 -0
- package/src/components/formsExt/editArea/editArea.vue +194 -0
- package/src/components/formsExt/editArea/stories/README.md +21 -0
- package/src/components/formsExt/editArea/stories/overview.vue +67 -0
- package/src/components/formsExt/editArea/types.ts +41 -0
- package/src/components/formsExt/editInput/editInput.stories.ts +35 -0
- package/src/components/formsExt/editInput/editInput.vue +54 -0
- package/src/components/formsExt/editInput/stories/overview.vue +54 -0
- package/src/components/formsExt/editInput/types.ts +20 -0
- package/src/components/formsExt/formsExt.ts +19 -0
- package/src/components/formsExt/info/info.stories.ts +34 -0
- package/src/components/formsExt/info/info.vue +84 -0
- package/src/components/formsExt/info/stories/overview.vue +29 -0
- package/src/components/formsExt/info/types.ts +25 -0
- package/src/components/formsExt/menu/menu.stories.ts +58 -0
- package/src/components/formsExt/menu/menu.vue +324 -0
- package/src/components/formsExt/menu/stories/items.ts +18 -0
- package/src/components/formsExt/menu/stories/overview.vue +52 -0
- package/src/components/formsExt/menu/types.ts +45 -0
- package/src/components/formsExt/policy/policy.stories.ts +66 -0
- package/src/components/formsExt/policy/policy.vue +75 -0
- package/src/components/formsExt/policy/types.ts +11 -0
- package/src/components/formsExt/radioGroup/radioGroup.stories.ts +35 -0
- package/src/components/formsExt/radioGroup/radioGroup.vue +142 -0
- package/src/components/formsExt/radioGroup/stories/example.ts +43 -0
- package/src/components/formsExt/radioGroup/stories/overview.vue +35 -0
- package/src/components/formsExt/radioGroup/types.ts +27 -0
- package/src/components/formsExt/selector2/composables/useAPI.ts +151 -0
- package/src/components/formsExt/selector2/composables/useMenu.ts +165 -0
- package/src/components/formsExt/selector2/itemMulti.vue +57 -0
- package/src/components/formsExt/selector2/selector2.stories.ts +123 -0
- package/src/components/formsExt/selector2/selector2.vue +448 -0
- package/src/components/formsExt/selector2/stories/README.md +146 -0
- package/src/components/formsExt/selector2/stories/dummyAPIRequest.ts +57 -0
- package/src/components/formsExt/selector2/stories/overview.vue +95 -0
- package/src/components/formsExt/selector2/types.ts +184 -0
- package/src/components/formsExt/selector2/utils.ts +22 -0
- package/src/components/helpersStories.ts +331 -0
- package/src/components/layout/islandRows/islandRows.stories.ts +138 -0
- package/src/components/layout/islandRows/islandRows.vue +53 -0
- package/src/components/layout/islandRows/islandRowsRow/islandRowsRow.vue +36 -0
- package/src/components/layout/islandRows/islandRowsRow/types.ts +1 -0
- package/src/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue +16 -0
- package/src/components/layout/islandRows/stories/README.md +8 -0
- package/src/components/layout/islandRows/types.ts +11 -0
- package/src/components/layout/layout.ts +11 -0
- package/src/components/layout/rows/rows.stories.ts +47 -0
- package/src/components/layout/rows/rows.vue +46 -0
- package/src/components/layout/rows/stories/README.md +10 -0
- package/src/components/layout/rows/types.ts +6 -0
- package/src/components/popup/alert/alert.stories.ts +70 -0
- package/src/components/popup/alert/alert.vue +49 -0
- package/src/components/popup/alert/stories/overview.vue +40 -0
- package/src/components/popup/alert/types.ts +11 -0
- package/src/components/popup/confirm/confirm.stories.ts +74 -0
- package/src/components/popup/confirm/confirm.vue +78 -0
- package/src/components/popup/confirm/stories/overview.vue +62 -0
- package/src/components/popup/confirm/types.ts +26 -0
- package/src/components/popup/lib/popup.globalEvents.ts +271 -0
- package/src/components/popup/lib/popup.ts +858 -0
- package/src/components/popup/lib/worker.globalEvents.ts +101 -0
- package/src/components/popup/lib/worker.ts +305 -0
- package/src/components/popup/popup/listItem.vue +35 -0
- package/src/components/popup/popup/opener.vue +82 -0
- package/src/components/popup/popup/popup.stories.ts +73 -0
- package/src/components/popup/popup/popup.vue +176 -0
- package/src/components/popup/popup/stories/README.md +145 -0
- package/src/components/popup/popup/stories/listItems.vue +69 -0
- package/src/components/popup/popup/stories/listSubItems.vue +47 -0
- package/src/components/popup/popup/stories/overview.vue +224 -0
- package/src/components/popup/popup/style/popup.css +355 -0
- package/src/components/popup/popup/style/popup.m.css +70 -0
- package/src/components/popup/popup/style/popup.pc.css +26 -0
- package/src/components/popup/popup/types.ts +131 -0
- package/src/components/popup/popup/widgetInput.vue +43 -0
- package/src/components/popup/popup.ts +17 -0
- package/src/components/popup/prompt/prompt.stories.ts +76 -0
- package/src/components/popup/prompt/prompt.vue +87 -0
- package/src/components/popup/prompt/stories/overview.vue +50 -0
- package/src/components/popup/prompt/types.ts +26 -0
- package/src/components/project/project.ts +23 -0
- package/src/components/project/selectorCompetitors/composables.ts +20 -0
- package/src/components/project/selectorCompetitors/selectorCompetitors.stories.ts +32 -0
- package/src/components/project/selectorCompetitors/selectorCompetitors.vue +75 -0
- package/src/components/project/selectorCompetitors/stories/README.md +20 -0
- package/src/components/project/selectorCompetitors/stories/items.ts +30 -0
- package/src/components/project/selectorCompetitors/types.ts +35 -0
- package/src/components/project/selectorRegion/composables/compare.ts +87 -0
- package/src/components/project/selectorRegion/composables/selectRegion.ts +146 -0
- package/src/components/project/selectorRegion/composables/selectSearcher.ts +64 -0
- package/src/components/project/selectorRegion/composables/selectorRegion.ts +167 -0
- package/src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue +252 -0
- package/src/components/project/selectorRegion/dialog_selectorRegions/style.css +49 -0
- package/src/components/project/selectorRegion/dialog_selectorRegions/types.ts +31 -0
- package/src/components/project/selectorRegion/selectorRegion.stories.ts +84 -0
- package/src/components/project/selectorRegion/selectorRegion.vue +365 -0
- package/src/components/project/selectorRegion/stories/README.md +36 -0
- package/src/components/project/selectorRegion/stories/searchers.ts +77 -0
- package/src/components/project/selectorRegion/styles/searcherColors.css +41 -0
- package/src/components/project/selectorRegion/types.ts +206 -0
- package/src/components/project/selectorRegion/utils/consts.ts +88 -0
- package/src/components/project/selectorRegion/utils/utils.ts +178 -0
- package/src/components/project/tagSelector/popupListItem/tagPopupListItem.vue +209 -0
- package/src/components/project/tagSelector/popupListItem/types.ts +40 -0
- package/src/components/project/tagSelector/popupOpener/popupOpener.vue +140 -0
- package/src/components/project/tagSelector/popupOpener/types.ts +74 -0
- package/src/components/project/tagSelector/stories/README.md +62 -0
- package/src/components/project/tagSelector/stories/overview.vue +152 -0
- package/src/components/project/tagSelector/tagIcon/tagIcon.vue +96 -0
- package/src/components/project/tagSelector/tagIcon/types.ts +25 -0
- package/src/components/project/tagSelector/tagSelector.stories.ts +50 -0
- package/src/components/project/tagSelector/tagSelector.vue +360 -0
- package/src/components/project/tagSelector/tagsDefaults.ts +54 -0
- package/src/components/project/tagSelector/types.ts +162 -0
- package/src/components/project/tagSelector/utils/el.ts +151 -0
- package/src/components/project/tagSelector/utils/utils.ts +30 -0
- package/src/components/tabs/tabs/content.vue +24 -0
- package/src/components/tabs/tabs/stories/README.md +12 -0
- package/src/components/tabs/tabs/tab.vue +49 -0
- package/src/components/tabs/tabs/tabs.stories.ts +170 -0
- package/src/components/tabs/tabs/tabs.vue +64 -0
- package/src/components/tabs/tabs/types.ts +22 -0
- package/src/components/tabs/tabs.ts +9 -0
- package/src/components/tabsView/tabsView/menu.vue +291 -0
- package/src/components/tabsView/tabsView/menuDelimeter.vue +26 -0
- package/src/components/tabsView/tabsView/menuItem.vue +125 -0
- package/src/components/tabsView/tabsView/menuTitle.vue +46 -0
- package/src/components/tabsView/tabsView/store.ts +60 -0
- package/src/components/tabsView/tabsView/stories/README.md +22 -0
- package/src/components/tabsView/tabsView/tabsView.stories.ts +169 -0
- package/src/components/tabsView/tabsView/tabsView.vue +120 -0
- package/src/components/tabsView/tabsView/types.ts +118 -0
- package/src/components/tabsView/tabsView/utils.ts +27 -0
- package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuItem.stories.ts +46 -0
- package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuTitle.stories.ts +42 -0
- package/src/components/tabsView/tabsView.ts +9 -0
- package/src/components/types.ts +6 -0
- package/src/core/app.ts +22 -0
- package/src/core/core/core.mdx +36 -0
- package/src/core/core/core.ts +287 -0
- package/src/core/core/events/resize.ts +47 -0
- package/src/core/core/events.ts +6 -0
- package/src/core/core/jQuery.mdx +41 -0
- package/src/core/core/options.ts +52 -0
- package/src/core/core/preloaders.ts +31 -0
- package/src/core/core/state.ts +61 -0
- package/src/core/directives/data.mdx +24 -0
- package/src/core/directives/data.ts +25 -0
- package/src/core/directives/focus.mdx +28 -0
- package/src/core/directives/focus.ts +73 -0
- package/src/core/directives/preloader.ts +23 -0
- package/src/core/directives/scrollIntoView.mdx +41 -0
- package/src/core/directives/scrollIntoView.ts +123 -0
- package/src/core/directives/scrollShadow.mdx +23 -0
- package/src/core/directives/scrollShadow.ts +27 -0
- package/src/core/directives/sticky.mdx +29 -0
- package/src/core/directives/sticky.ts +32 -0
- package/src/core/directives/swimUp.mdx +27 -0
- package/src/core/directives/swimUp.ts +95 -0
- package/src/core/directives/tooltip.mdx +13 -0
- package/src/core/directives/tooltip.ts +57 -0
- package/src/core/icons/gallery.vue +70 -0
- package/src/core/icons/icons.mdx +24 -0
- package/src/core/icons/icons.stories.ts +14 -0
- package/src/core/plugins/core.ts +131 -0
- package/src/core/plugins/i18n.ts +189 -0
- package/src/core/plugins/piniaTPA.ts +432 -0
- package/src/core/plugins/plugins.mdx +82 -0
- package/src/core/styles/CSS Variables.stories.ts +17 -0
- package/src/core/styles/styles.mdx +26 -0
- package/src/core/theme/Variables.stories.ts +16 -0
- package/src/core/theme/theme.mdx +117 -0
- package/src/core/utils/References/Docs.mdx +23 -0
- package/src/core/utils/References/check/Docs.mdx +13 -0
- package/src/core/utils/References/check/functions/getDomainRegexp.mdx +13 -0
- package/src/core/utils/References/check/functions/isDomain.mdx +19 -0
- package/src/core/utils/References/check/functions/isEmail.mdx +20 -0
- package/src/core/utils/References/check/functions/isIp.mdx +19 -0
- package/src/core/utils/References/check/functions/validUrl.mdx +20 -0
- package/src/core/utils/References/clipboard/Docs.mdx +8 -0
- package/src/core/utils/References/clipboard/functions/guestLinkToClipboard.mdx +19 -0
- package/src/core/utils/References/clipboard/functions/setClipboard.mdx +20 -0
- package/src/core/utils/References/date/Docs.mdx +15 -0
- package/src/core/utils/References/date/functions/dateFormat.mdx +26 -0
- package/src/core/utils/References/date/functions/dateToString.mdx +24 -0
- package/src/core/utils/References/date/functions/dateUnformat.mdx +20 -0
- package/src/core/utils/References/date/functions/genDate.mdx +24 -0
- package/src/core/utils/References/date/functions/genDateMoscow.mdx +20 -0
- package/src/core/utils/References/date/functions/getDayOfWeek.mdx +24 -0
- package/src/core/utils/References/date/functions/stringToDate.mdx +19 -0
- package/src/core/utils/References/device/Docs.mdx +19 -0
- package/src/core/utils/References/device/functions/get$scroll.mdx +13 -0
- package/src/core/utils/References/device/functions/getCommandKeyLabel.mdx +13 -0
- package/src/core/utils/References/device/functions/getElsScroll.mdx +13 -0
- package/src/core/utils/References/device/functions/getOS.mdx +15 -0
- package/src/core/utils/References/device/functions/getOSAsync.mdx +13 -0
- package/src/core/utils/References/device/functions/getScrollTop.mdx +13 -0
- package/src/core/utils/References/device/functions/isApp.mdx +13 -0
- package/src/core/utils/References/device/functions/isMacOS.mdx +13 -0
- package/src/core/utils/References/device/functions/isMobile.mdx +13 -0
- package/src/core/utils/References/device/functions/isRetina.mdx +13 -0
- package/src/core/utils/References/device/functions/isSafari.mdx +13 -0
- package/src/core/utils/References/dom/Docs.mdx +25 -0
- package/src/core/utils/References/dom/functions/css.mdx +22 -0
- package/src/core/utils/References/dom/functions/genEl.mdx +26 -0
- package/src/core/utils/References/dom/functions/isVisible.mdx +21 -0
- package/src/core/utils/References/dom/functions/offset.mdx +33 -0
- package/src/core/utils/References/dom/functions/querySelectorAllArray.mdx +20 -0
- package/src/core/utils/References/dom/functions/querySelectorAllVisible.mdx +20 -0
- package/src/core/utils/References/dom/functions/querySelectorVisible.mdx +23 -0
- package/src/core/utils/References/dom/functions/querySelectorVisibleLast.mdx +23 -0
- package/src/core/utils/References/dom/functions/storage.mdx +26 -0
- package/src/core/utils/References/dom/functions/storageClear.mdx +19 -0
- package/src/core/utils/References/dom/functions/wrap.mdx +20 -0
- package/src/core/utils/References/dom/variables/default.mdx +245 -0
- package/src/core/utils/References/image/Docs.mdx +10 -0
- package/src/core/utils/References/image/functions/downloadImageFromString.mdx +20 -0
- package/src/core/utils/References/image/functions/genFaviconImgHtml.mdx +20 -0
- package/src/core/utils/References/keyboard/Docs.mdx +9 -0
- package/src/core/utils/References/keyboard/functions/invertKeyboardLayout.mdx +19 -0
- package/src/core/utils/References/lodash/Docs.mdx +18 -0
- package/src/core/utils/References/lodash/functions/cloneDeep.mdx +27 -0
- package/src/core/utils/References/lodash/functions/debounce.mdx +72 -0
- package/src/core/utils/References/lodash/functions/merge.mdx +190 -0
- package/src/core/utils/References/lodash/functions/throttle.mdx +69 -0
- package/src/core/utils/References/lodash/variables/memoize.mdx +42 -0
- package/src/core/utils/References/number/Docs.mdx +10 -0
- package/src/core/utils/References/number/functions/percentOfNumber.mdx +24 -0
- package/src/core/utils/References/number/functions/randomBySeed.mdx +21 -0
- package/src/core/utils/References/price/Docs.mdx +9 -0
- package/src/core/utils/References/price/functions/genPrice.mdx +26 -0
- package/src/core/utils/References/route/Docs.mdx +14 -0
- package/src/core/utils/References/route/functions/delHash.mdx +24 -0
- package/src/core/utils/References/route/functions/genHash.mdx +24 -0
- package/src/core/utils/References/route/functions/getHash.mdx +20 -0
- package/src/core/utils/References/route/functions/historySetState.mdx +29 -0
- package/src/core/utils/References/route/functions/setHash.mdx +24 -0
- package/src/core/utils/References/route/functions/setHashs.mdx +20 -0
- package/src/core/utils/References/scroll/Docs.mdx +13 -0
- package/src/core/utils/References/scroll/functions/amountScrolled.mdx +15 -0
- package/src/core/utils/References/scroll/functions/connectScrollShadow.mdx +26 -0
- package/src/core/utils/References/scroll/functions/genHasScroll.mdx +23 -0
- package/src/core/utils/References/scroll/functions/getScrollPercent.mdx +19 -0
- package/src/core/utils/References/scroll/functions/unconnectScrollShadow.mdx +17 -0
- package/src/core/utils/References/searchers/Docs.mdx +17 -0
- package/src/core/utils/References/searchers/functions/genVolumeLabel.mdx +24 -0
- package/src/core/utils/References/searchers/functions/getDeviceGIcon.mdx +19 -0
- package/src/core/utils/References/searchers/functions/getLangLabel.mdx +20 -0
- package/src/core/utils/References/searchers/functions/getSearcherGIcon.mdx +19 -0
- package/src/core/utils/References/searchers/functions/prepareVolumeType.mdx +20 -0
- package/src/core/utils/References/searchers/variables/searchersNames.mdx +83 -0
- package/src/core/utils/References/store/Docs.mdx +22 -0
- package/src/core/utils/References/store/functions/defineStore.mdx +34 -0
- package/src/core/utils/References/store/functions/useStore.mdx +27 -0
- package/src/core/utils/References/store/interfaces/Store.mdx +29 -0
- package/src/core/utils/References/store/variables/plugin.mdx +64 -0
- package/src/core/utils/References/string/Docs.mdx +24 -0
- package/src/core/utils/References/string/functions/addCommasWhite.mdx +19 -0
- package/src/core/utils/References/string/functions/addLinkTags.mdx +21 -0
- package/src/core/utils/References/string/functions/camelToSnakeCase.mdx +19 -0
- package/src/core/utils/References/string/functions/ellipsis.mdx +24 -0
- package/src/core/utils/References/string/functions/genFlagLinkByCountryCode.mdx +23 -0
- package/src/core/utils/References/string/functions/genIntHash.mdx +19 -0
- package/src/core/utils/References/string/functions/getRandomHash.mdx +19 -0
- package/src/core/utils/References/string/functions/highlightHtml.mdx +23 -0
- package/src/core/utils/References/string/functions/htmlspecialchars.mdx +19 -0
- package/src/core/utils/References/string/functions/isUrl.mdx +19 -0
- package/src/core/utils/References/string/functions/nl2br.mdx +19 -0
- package/src/core/utils/References/string/functions/numberEnding.mdx +26 -0
- package/src/core/utils/References/string/functions/numberWithWord.mdx +26 -0
- package/src/core/utils/References/string/functions/rusToLatin.mdx +19 -0
- package/src/core/utils/References/string/functions/toCapitalize.mdx +19 -0
- package/src/core/utils/References/string/functions/toRoditPadej.mdx +19 -0
- package/src/core/utils/References/system/Docs.mdx +11 -0
- package/src/core/utils/References/system/functions/sleep.mdx +19 -0
- package/src/core/utils/References/system/functions/sleepWhile.mdx +27 -0
- package/src/core/utils/References/system/functions/waitWhile.mdx +27 -0
- package/src/core/utils/References/url/Docs.mdx +15 -0
- package/src/core/utils/References/url/functions/decode.mdx +19 -0
- package/src/core/utils/References/url/functions/encode.mdx +19 -0
- package/src/core/utils/References/url/functions/fromPuny.mdx +21 -0
- package/src/core/utils/References/url/functions/getHost.mdx +19 -0
- package/src/core/utils/References/url/functions/hostToLowerCase.mdx +19 -0
- package/src/core/utils/References/url/functions/normalize.mdx +19 -0
- package/src/core/utils/References/url/functions/toPuny.mdx +21 -0
- package/src/core/utils/check.ts +88 -0
- package/src/core/utils/clipboard.ts +51 -0
- package/src/core/utils/date.ts +334 -0
- package/src/core/utils/device.ts +139 -0
- package/src/core/utils/dom.ts +195 -0
- package/src/core/utils/image.ts +46 -0
- package/src/core/utils/keyboard.ts +29 -0
- package/src/core/utils/lodash.ts +18 -0
- package/src/core/utils/number.ts +37 -0
- package/src/core/utils/price.ts +24 -0
- package/src/core/utils/route.ts +130 -0
- package/src/core/utils/scroll.ts +120 -0
- package/src/core/utils/searchers.ts +191 -0
- package/src/core/utils/store/localStorage.ts +56 -0
- package/src/core/utils/store/plugin.ts +50 -0
- package/src/core/utils/store/store.ts +77 -0
- package/src/core/utils/store.ts +7 -0
- package/src/core/utils/string.ts +349 -0
- package/src/core/utils/system.ts +72 -0
- package/src/core/utils/url.ts +138 -0
- package/src/core/utils/utils.mdx +6 -0
- package/src/d.ts +12 -0
- package/src/icomoon.d.ts +98 -0
- package/src/resources/styles/core/components/bage.css +16 -0
- package/src/resources/styles/core/components/components.css +94 -0
- package/src/resources/styles/core/components/formsCaption.css +43 -0
- package/src/resources/styles/core/components/jquery.css +19 -0
- package/src/resources/styles/core/core.ts +14 -0
- package/src/resources/styles/core/forms/clear.css +20 -0
- package/src/resources/styles/core/forms/controls.css +20 -0
- package/src/resources/styles/core/forms/focusable.css +27 -0
- package/src/resources/styles/core/forms/forms.css +178 -0
- package/src/resources/styles/core/icon.css +58 -0
- package/src/resources/styles/core/jquery.css +1 -0
- package/src/resources/styles/core/layout.css +59 -0
- package/src/resources/styles/core/modifiers/as.css +33 -0
- package/src/resources/styles/core/modifiers/ellipsis.css +26 -0
- package/src/resources/styles/core/modifiers/modifiers.css +120 -0
- package/src/resources/styles/core/modifiers/only.css +23 -0
- package/src/resources/styles/core/modifiers/scrollBar.css +52 -0
- package/src/resources/styles/core/modifiers/scrollShadow.css +50 -0
- package/src/resources/styles/storybook.css +11 -0
- package/src/resources/styles/themes/dark/dark-layout.css +47 -0
- package/src/resources/styles/themes/dark/dark-positions.css +66 -0
- package/src/resources/styles/themes/dark/dark.css +405 -0
- package/src/resources/styles/themes/dark-positions.ts +1 -0
- package/src/resources/styles/themes/dark-th/dark-th-layout.css +47 -0
- package/src/resources/styles/themes/dark-th/dark-th-positions.css +67 -0
- package/src/resources/styles/themes/dark-th/dark-th.css +405 -0
- package/src/resources/styles/themes/dark-th-positions.ts +1 -0
- package/src/resources/styles/themes/dark-th.ts +3 -0
- package/src/resources/styles/themes/dark.ts +3 -0
- package/src/resources/styles/themes/light/light-layout.css +47 -0
- package/src/resources/styles/themes/light/light-positions.css +66 -0
- package/src/resources/styles/themes/light/light.css +405 -0
- package/src/resources/styles/themes/light-positions.ts +1 -0
- package/src/resources/styles/themes/light.ts +3 -0
- package/src/storybook/components/color.vue +47 -0
- package/src/storybook/components/cssVariables.vue +195 -0
- package/src/storybook/components/icomoon.ts +40 -0
- package/src/storybook/jquery.ts +4 -0
- package/src//320/221/321/213/321/201/321/202/321/200/321/213/320/271 /321/201/321/202/320/260/321/200/321/202.mdx" +181 -0
- package/src//320/223/320/260/320/271/320/264/320/273/320/260/320/271/320/275.mdx +120 -0
- package/src//320/230/320/275/321/204/320/276/321/200/320/274/320/260/321/206/320/270/321/217 /320/276 /321/201/320/261/320/276/321/200/320/272/320/265.mdx" +14 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS/FAQ.mdx" +43 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/236/320/261/321/211/320/270/320/265 /320/274/320/276/320/264/320/270/321/204/320/270/320/272/320/260/321/202/320/276/321/200/321/213.mdx" +155 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/237/320/265/321/200/320/265/320/274/320/265/320/275/320/275/321/213/320/265.mdx" +35 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/237/321/200/320/265/320/264/320/277/321/200/320/276/321/206/320/265/321/201/321/201/320/276/321/200/321/213.mdx" +15 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/240/320/265/320/272/320/276/320/274/320/265/320/275/320/264/320/260/321/206/320/270/320/270 /320/221/320/255/320/234.mdx" +56 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/241/321/202/320/270/320/273/320/270.mdx" +53 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/247/321/202/320/276 /321/202/320/260/320/272/320/276/320/265 css /320/274/320/276/320/264/321/203/320/273/321/214.mdx" +55 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/PUBLISH.md.mdx" +4 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/README.md.mdx" +4 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/222/320/262/320/265/320/264/320/265/320/275/320/270/320/265 /320/262 NPM.md.mdx" +4 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/224/320/276/320/277/320/276/320/273/320/275/320/270/321/202/320/265/320/273/321/214/320/275/320/260/321/217 /320/273/320/270/321/202/320/265/321/200/320/260/321/202/321/203/321/200/320/260.mdx" +15 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/230/321/201/320/277/320/276/320/273/321/214/320/267/320/276/320/262/320/260/320/275/320/270/320/265 /320/262 /320/277/321/200/320/276/320/265/320/272/321/202/320/260/321/205.mdx" +3 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/235/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/260 IDE.mdx" +45 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/236/321/204/320/276/321/200/320/274/320/273/320/265/320/275/320/270/320/265 /320/272/320/276/320/264/320/260.mdx" +33 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260.mdx" +29 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213.mdx" +66 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213//320/241/321/202/320/270/320/273/320/270 /320/272/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213.mdx" +58 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI.mdx" +11 -0
- package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/243/321/202/320/270/320/273/320/270/321/202/321/213.mdx" +5 -0
- package/storybook-dev.sh +14 -0
- package/tsconfig.json +91 -0
- package/typedoc.json +20 -0
- package/vite.config.ts +150 -0
- package/.chunks/core-BPipsaQZ.es.js +0 -197
- package/.chunks/core-BPipsaQZ.es.js.map +0 -1
- package/.chunks/core-Brtg1JMJ.amd.js +0 -2
- package/.chunks/core-Brtg1JMJ.amd.js.map +0 -1
- package/.chunks/datepicker-BWaVsTd0.amd.js +0 -2
- package/.chunks/datepicker-BWaVsTd0.amd.js.map +0 -1
- package/.chunks/datepicker-DCDYQmsc.es.js +0 -44
- package/.chunks/datepicker-DCDYQmsc.es.js.map +0 -1
- package/.chunks/dialog_selectorRegions-C0MYw4n5.es.js +0 -188
- package/.chunks/dialog_selectorRegions-C0MYw4n5.es.js.map +0 -1
- package/.chunks/dialog_selectorRegions-DW77c8Ny.amd.js +0 -2
- package/.chunks/dialog_selectorRegions-DW77c8Ny.amd.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-Bck_g47j.es.js +0 -322
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-Bck_g47j.es.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-zs6u7ER0.amd.js +0 -2
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-zs6u7ER0.amd.js.map +0 -1
- package/.chunks/forms-DOGPN_TR.es.js +0 -2051
- package/.chunks/forms-DOGPN_TR.es.js.map +0 -1
- package/.chunks/forms-Gb7ujpmz.amd.js +0 -3
- package/.chunks/forms-Gb7ujpmz.amd.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CF_hIWa6.amd.js +0 -2
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CF_hIWa6.amd.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CJQj81Yq.es.js +0 -181
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CJQj81Yq.es.js.map +0 -1
- package/.chunks/menu.vue_vue_type_style_index_0_lang-CczcI_-j.amd.js +0 -2
- package/.chunks/menu.vue_vue_type_style_index_0_lang-CczcI_-j.amd.js.map +0 -1
- package/.chunks/menu.vue_vue_type_style_index_0_lang-Dq5eEX9i.es.js +0 -109
- package/.chunks/menu.vue_vue_type_style_index_0_lang-Dq5eEX9i.es.js.map +0 -1
- package/.chunks/notice-C5sXcBql.amd.js +0 -4
- package/.chunks/notice-C5sXcBql.amd.js.map +0 -1
- package/.chunks/notice-DE88Oe-t.es.js +0 -175
- package/.chunks/notice-DE88Oe-t.es.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-BwuWfSuv.amd.js +0 -2
- package/.chunks/page.vue_vue_type_script_setup_true_lang-BwuWfSuv.amd.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-CNkG4DXi.es.js +0 -143
- package/.chunks/page.vue_vue_type_script_setup_true_lang-CNkG4DXi.es.js.map +0 -1
- package/.chunks/popup-B_8bvIsF.amd.js +0 -2
- package/.chunks/popup-B_8bvIsF.amd.js.map +0 -1
- package/.chunks/popup-BjsK_pMZ.es.js +0 -452
- package/.chunks/popup-BjsK_pMZ.es.js.map +0 -1
- package/.chunks/punycode.es6-C2yitnNb.amd.js +0 -2
- package/.chunks/punycode.es6-C2yitnNb.amd.js.map +0 -1
- package/.chunks/punycode.es6-CNI-zL6U.es.js +0 -134
- package/.chunks/punycode.es6-CNI-zL6U.es.js.map +0 -1
- package/.chunks/store-CX_6ZXhO.es.js +0 -29
- package/.chunks/store-CX_6ZXhO.es.js.map +0 -1
- package/.chunks/store-esTid5oI.amd.js +0 -2
- package/.chunks/store-esTid5oI.amd.js.map +0 -1
- package/.chunks/utils-BPftYwd6.es.js +0 -304
- package/.chunks/utils-BPftYwd6.es.js.map +0 -1
- package/.chunks/utils-CM6ONOZ3.es.js +0 -79
- package/.chunks/utils-CM6ONOZ3.es.js.map +0 -1
- package/.chunks/utils-DwFoJcHP.amd.js +0 -2
- package/.chunks/utils-DwFoJcHP.amd.js.map +0 -1
- package/.chunks/utils-GhVWvSHi.amd.js +0 -2
- package/.chunks/utils-GhVWvSHi.amd.js.map +0 -1
- package/assets/charts.css +0 -1
- package/assets/core.css +0 -1
- package/assets/dialog_selectorRegions.css +0 -1
- package/assets/extra.css +0 -1
- package/assets/forms.css +0 -1
- package/assets/formsExt.css +0 -1
- package/assets/layout.css +0 -1
- package/assets/listItem.css +0 -1
- package/assets/menu.css +0 -1
- package/assets/notice.css +0 -1
- package/assets/popup.css +0 -1
- package/assets/project.css +0 -1
- package/assets/tabs.css +0 -1
- package/assets/tabsView.css +0 -1
- package/assets/themes/dark-th.css +0 -1
- package/assets/themes/dark.css +0 -1
- package/assets/themes/light.css +0 -1
- package/charts/charts.amd.js +0 -2
- package/charts/charts.amd.js.map +0 -1
- package/charts/charts.d.ts +0 -2
- package/charts/charts.js +0 -178
- package/charts/charts.js.map +0 -1
- package/components/charts/charts.d.ts +0 -5
- package/components/charts/miniChart/miniChart.vue.d.ts +0 -15
- package/components/charts/miniChart/stories/dummy.d.ts +0 -13
- package/components/charts/miniChart/types.d.ts +0 -92
- package/components/charts/miniChart/utils/consts.d.ts +0 -8
- package/components/charts/miniCharts/miniCharts.d.ts +0 -20
- package/components/charts/miniCharts/miniCharts.vue.d.ts +0 -32
- package/components/charts/miniCharts/stories/dummy.d.ts +0 -6
- package/components/core/notice/item/item.vue.d.ts +0 -10
- package/components/core/notice/item/types.d.ts +0 -63
- package/components/core/notice/notice.vue.d.ts +0 -5
- package/components/core/notice/utils.d.ts +0 -27
- package/components/dialog/dialog/composables/asyncDialogHandle.d.ts +0 -51
- package/components/dialog/dialog/composables/dialogHandle.d.ts +0 -108
- package/components/dialog/dialog/composables/types.d.ts +0 -11
- package/components/dialog/dialog/composables/utils.d.ts +0 -21
- package/components/dialog/dialog/dialog.vue.d.ts +0 -28
- package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +0 -13
- package/components/dialog/dialog/page/page.vue.d.ts +0 -19
- package/components/dialog/dialog/page/types.d.ts +0 -72
- package/components/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -6
- package/components/dialog/dialog/pageComponent/types.d.ts +0 -18
- package/components/dialog/dialog/stories/autoload.d.ts +0 -2
- package/components/dialog/dialog/stories/dialog_example/pages/utils.d.ts +0 -7
- package/components/dialog/dialog/types.d.ts +0 -58
- package/components/dialog/dialog.d.ts +0 -6
- package/components/dialog/lib/types.d.ts +0 -44
- package/components/dialog/lib/utils.d.ts +0 -14
- package/components/dialog/lib/utils.globalEvents.d.ts +0 -8
- package/components/dialog/lib/worker.d.ts +0 -76
- package/components/extra/extra.d.ts +0 -3
- package/components/extra/rive/rive.vue.d.ts +0 -11
- package/components/extra/rive/types.d.ts +0 -7
- package/components/forms/avatar/avatar.vue.d.ts +0 -10
- package/components/forms/avatar/types.d.ts +0 -32
- package/components/forms/button/button.vue.d.ts +0 -24
- package/components/forms/button/types.d.ts +0 -39
- package/components/forms/caption/caption.vue.d.ts +0 -17
- package/components/forms/caption/types.d.ts +0 -9
- package/components/forms/checkbox/checkbox.vue.d.ts +0 -27
- package/components/forms/checkbox/types.d.ts +0 -21
- package/components/forms/controlLabel/controlLabel.vue.d.ts +0 -19
- package/components/forms/controlLabel/types.d.ts +0 -4
- package/components/forms/forms.d.ts +0 -31
- package/components/forms/hint/hint.vue.d.ts +0 -4
- package/components/forms/hint/types.d.ts +0 -8
- package/components/forms/input/input.vue.d.ts +0 -27
- package/components/forms/input/types.d.ts +0 -23
- package/components/forms/inputDate/datepicker.d.ts +0 -5
- package/components/forms/inputDate/inputDate.vue.d.ts +0 -12
- package/components/forms/inputDate/types.d.ts +0 -1
- package/components/forms/inputRange/inputRange.vue.d.ts +0 -19
- package/components/forms/inputRange/types.d.ts +0 -2
- package/components/forms/loadbar/loadbar.vue.d.ts +0 -3
- package/components/forms/preloader/preloader.vue.d.ts +0 -4
- package/components/forms/preloader/types.d.ts +0 -3
- package/components/forms/radio/radio.vue.d.ts +0 -23
- package/components/forms/radio/types.d.ts +0 -14
- package/components/forms/select/select.vue.d.ts +0 -17
- package/components/forms/select/stories/exampleOptions.d.ts +0 -5
- package/components/forms/select/types.d.ts +0 -58
- package/components/forms/switcher/switcher.vue.d.ts +0 -23
- package/components/forms/switcher/types.d.ts +0 -21
- package/components/forms/textarea/textarea.vue.d.ts +0 -12
- package/components/forms/textarea/types.d.ts +0 -44
- package/components/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +0 -16
- package/components/formsExt/checkboxGroup/stories/example.d.ts +0 -15
- package/components/formsExt/checkboxGroup/types.d.ts +0 -19
- package/components/formsExt/editArea/editArea.vue.d.ts +0 -18
- package/components/formsExt/editArea/types.d.ts +0 -33
- package/components/formsExt/editInput/editInput.vue.d.ts +0 -8
- package/components/formsExt/editInput/types.d.ts +0 -16
- package/components/formsExt/formsExt.d.ts +0 -17
- package/components/formsExt/info/info.vue.d.ts +0 -20
- package/components/formsExt/info/types.d.ts +0 -21
- package/components/formsExt/menu/menu.vue.d.ts +0 -16
- package/components/formsExt/menu/stories/items.d.ts +0 -3
- package/components/formsExt/menu/types.d.ts +0 -37
- package/components/formsExt/policy/policy.vue.d.ts +0 -4
- package/components/formsExt/policy/types.d.ts +0 -10
- package/components/formsExt/radioGroup/radioGroup.vue.d.ts +0 -16
- package/components/formsExt/radioGroup/stories/example.d.ts +0 -20
- package/components/formsExt/radioGroup/types.d.ts +0 -21
- package/components/formsExt/selector2/composables/useAPI.d.ts +0 -30
- package/components/formsExt/selector2/composables/useMenu.d.ts +0 -14
- package/components/formsExt/selector2/itemMulti.vue.d.ts +0 -8
- package/components/formsExt/selector2/selector2.vue.d.ts +0 -35
- package/components/formsExt/selector2/stories/dummyAPIRequest.d.ts +0 -10
- package/components/formsExt/selector2/types.d.ts +0 -143
- package/components/formsExt/selector2/utils.d.ts +0 -6
- package/components/layout/islandRows/islandRows.vue.d.ts +0 -17
- package/components/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -18
- package/components/layout/islandRows/islandRowsRow/types.d.ts +0 -2
- package/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -18
- package/components/layout/islandRows/types.d.ts +0 -10
- package/components/layout/layout.d.ts +0 -9
- package/components/layout/rows/rows.vue.d.ts +0 -21
- package/components/layout/rows/types.d.ts +0 -6
- package/components/popup/alert/alert.vue.d.ts +0 -31
- package/components/popup/alert/types.d.ts +0 -8
- package/components/popup/confirm/confirm.vue.d.ts +0 -33
- package/components/popup/confirm/types.d.ts +0 -21
- package/components/popup/lib/popup.d.ts +0 -83
- package/components/popup/lib/popup.globalEvents.d.ts +0 -32
- package/components/popup/lib/worker.d.ts +0 -75
- package/components/popup/lib/worker.globalEvents.d.ts +0 -19
- package/components/popup/popup/listItem.vue.d.ts +0 -22
- package/components/popup/popup/opener.vue.d.ts +0 -23
- package/components/popup/popup/popup.vue.d.ts +0 -40
- package/components/popup/popup/types.d.ts +0 -101
- package/components/popup/popup/widgetInput.vue.d.ts +0 -17
- package/components/popup/popup.d.ts +0 -15
- package/components/popup/prompt/prompt.vue.d.ts +0 -33
- package/components/popup/prompt/types.d.ts +0 -21
- package/components/project/project.d.ts +0 -15
- package/components/project/selectorCompetitors/composables.d.ts +0 -3
- package/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +0 -14
- package/components/project/selectorCompetitors/stories/items.d.ts +0 -3
- package/components/project/selectorCompetitors/types.d.ts +0 -30
- package/components/project/selectorRegion/composables/compare.d.ts +0 -12
- package/components/project/selectorRegion/composables/selectRegion.d.ts +0 -13
- package/components/project/selectorRegion/composables/selectSearcher.d.ts +0 -13
- package/components/project/selectorRegion/composables/selectorRegion.d.ts +0 -25
- package/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue.d.ts +0 -6
- package/components/project/selectorRegion/dialog_selectorRegions/types.d.ts +0 -26
- package/components/project/selectorRegion/selectorRegion.vue.d.ts +0 -23
- package/components/project/selectorRegion/stories/searchers.d.ts +0 -3
- package/components/project/selectorRegion/types.d.ts +0 -172
- package/components/project/selectorRegion/utils/consts.d.ts +0 -31
- package/components/project/selectorRegion/utils/utils.d.ts +0 -34
- package/components/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -20
- package/components/project/tagSelector/popupListItem/types.d.ts +0 -33
- package/components/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -27
- package/components/project/tagSelector/popupOpener/types.d.ts +0 -64
- package/components/project/tagSelector/tagIcon/tagIcon.vue.d.ts +0 -4
- package/components/project/tagSelector/tagIcon/types.d.ts +0 -21
- package/components/project/tagSelector/tagSelector.vue.d.ts +0 -37
- package/components/project/tagSelector/tagsDefaults.d.ts +0 -3
- package/components/project/tagSelector/types.d.ts +0 -140
- package/components/project/tagSelector/utils/el.d.ts +0 -19
- package/components/project/tagSelector/utils/utils.d.ts +0 -14
- package/components/tabs/tabs/content.vue.d.ts +0 -19
- package/components/tabs/tabs/tab.vue.d.ts +0 -19
- package/components/tabs/tabs/tabs.vue.d.ts +0 -21
- package/components/tabs/tabs/types.d.ts +0 -19
- package/components/tabs/tabs.d.ts +0 -7
- package/components/tabsView/tabsView/menu.vue.d.ts +0 -32
- package/components/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -3
- package/components/tabsView/tabsView/menuItem.vue.d.ts +0 -23
- package/components/tabsView/tabsView/menuTitle.vue.d.ts +0 -20
- package/components/tabsView/tabsView/store.d.ts +0 -12
- package/components/tabsView/tabsView/tabsView.vue.d.ts +0 -34
- package/components/tabsView/tabsView/types.d.ts +0 -98
- package/components/tabsView/tabsView/utils.d.ts +0 -11
- package/components/tabsView/tabsView.d.ts +0 -7
- package/core/app.amd.js +0 -2
- package/core/app.amd.js.map +0 -1
- package/core/app.d.ts +0 -8
- package/core/app.js +0 -214
- package/core/app.js.map +0 -1
- package/core/core/core.d.ts +0 -113
- package/core/core/events/resize.d.ts +0 -16
- package/core/core/events.d.ts +0 -15
- package/core/core/options.d.ts +0 -47
- package/core/core/preloaders.d.ts +0 -19
- package/core/core/state.d.ts +0 -49
- package/core/directives/data.d.ts +0 -10
- package/core/directives/focus.d.ts +0 -10
- package/core/directives/preloader.d.ts +0 -8
- package/core/directives/scrollIntoView.d.ts +0 -3
- package/core/directives/scrollShadow.d.ts +0 -15
- package/core/directives/sticky.d.ts +0 -10
- package/core/directives/swimUp.d.ts +0 -15
- package/core/directives/tooltip.d.ts +0 -10
- package/core/plugins/core.d.ts +0 -60
- package/core/plugins/i18n.d.ts +0 -97
- package/core/plugins/piniaTPA.d.ts +0 -17
- package/core/utils/check.d.ts +0 -26
- package/core/utils/clipboard.d.ts +0 -12
- package/core/utils/date.d.ts +0 -70
- package/core/utils/device.d.ts +0 -50
- package/core/utils/dom.d.ts +0 -104
- package/core/utils/image.d.ts +0 -16
- package/core/utils/keyboard.d.ts +0 -8
- package/core/utils/lodash.d.ts +0 -6
- package/core/utils/number.d.ts +0 -17
- package/core/utils/price.d.ts +0 -10
- package/core/utils/route.d.ts +0 -33
- package/core/utils/scroll.d.ts +0 -32
- package/core/utils/searchers.d.ts +0 -38
- package/core/utils/store/localStorage.d.ts +0 -6
- package/core/utils/store/plugin.d.ts +0 -24
- package/core/utils/store/store.d.ts +0 -34
- package/core/utils/store.d.ts +0 -6
- package/core/utils/string.d.ts +0 -100
- package/core/utils/system.d.ts +0 -25
- package/core/utils/url.d.ts +0 -36
- package/dialog/dialog.amd.js +0 -2
- package/dialog/dialog.amd.js.map +0 -1
- package/dialog/dialog.d.ts +0 -2
- package/dialog/dialog.js +0 -60
- package/dialog/dialog.js.map +0 -1
- package/extra/extra.amd.js +0 -2
- package/extra/extra.amd.js.map +0 -1
- package/extra/extra.d.ts +0 -2
- package/extra/extra.js +0 -72
- package/extra/extra.js.map +0 -1
- package/forms/forms.amd.js +0 -2
- package/forms/forms.amd.js.map +0 -1
- package/forms/forms.d.ts +0 -2
- package/forms/forms.js +0 -19
- package/forms/forms.js.map +0 -1
- package/forms/helpers.amd.js +0 -2
- package/forms/helpers.amd.js.map +0 -1
- package/forms/helpers.d.ts +0 -1
- package/forms/helpers.js +0 -2
- package/forms/helpers.js.map +0 -1
- package/formsExt/formsExt.amd.js +0 -2
- package/formsExt/formsExt.amd.js.map +0 -1
- package/formsExt/formsExt.d.ts +0 -2
- package/formsExt/formsExt.js +0 -599
- package/formsExt/formsExt.js.map +0 -1
- package/layout/layout.amd.js +0 -2
- package/layout/layout.amd.js.map +0 -1
- package/layout/layout.d.ts +0 -2
- package/layout/layout.js +0 -62
- package/layout/layout.js.map +0 -1
- package/popup/popup.amd.js +0 -2
- package/popup/popup.amd.js.map +0 -1
- package/popup/popup.d.ts +0 -2
- package/popup/popup.js +0 -244
- package/popup/popup.js.map +0 -1
- package/popup/worker.amd.js +0 -2
- package/popup/worker.amd.js.map +0 -1
- package/popup/worker.d.ts +0 -2
- package/popup/worker.js +0 -129
- package/popup/worker.js.map +0 -1
- package/project/project.amd.js +0 -2
- package/project/project.amd.js.map +0 -1
- package/project/project.d.ts +0 -2
- package/project/project.js +0 -986
- package/project/project.js.map +0 -1
- package/tabs/tabs.amd.js +0 -2
- package/tabs/tabs.amd.js.map +0 -1
- package/tabs/tabs.d.ts +0 -2
- package/tabs/tabs.js +0 -81
- package/tabs/tabs.js.map +0 -1
- package/tabsView/tabsView.amd.js +0 -2
- package/tabsView/tabsView.amd.js.map +0 -1
- package/tabsView/tabsView.d.ts +0 -2
- package/tabsView/tabsView.js +0 -306
- package/tabsView/tabsView.js.map +0 -1
- package/utils/check.amd.js +0 -2
- package/utils/check.amd.js.map +0 -1
- package/utils/check.d.ts +0 -2
- package/utils/check.js +0 -26
- package/utils/check.js.map +0 -1
- package/utils/clipboard.amd.js +0 -6
- package/utils/clipboard.amd.js.map +0 -1
- package/utils/clipboard.d.ts +0 -2
- package/utils/clipboard.js +0 -33
- package/utils/clipboard.js.map +0 -1
- package/utils/date.amd.js +0 -2
- package/utils/date.amd.js.map +0 -1
- package/utils/date.d.ts +0 -2
- package/utils/date.js +0 -12
- package/utils/date.js.map +0 -1
- package/utils/device.amd.js +0 -2
- package/utils/device.amd.js.map +0 -1
- package/utils/device.d.ts +0 -2
- package/utils/device.js +0 -15
- package/utils/device.js.map +0 -1
- package/utils/dom.amd.js +0 -2
- package/utils/dom.amd.js.map +0 -1
- package/utils/dom.d.ts +0 -6
- package/utils/dom.js +0 -80
- package/utils/dom.js.map +0 -1
- package/utils/image.amd.js +0 -12
- package/utils/image.amd.js.map +0 -1
- package/utils/image.d.ts +0 -2
- package/utils/image.js +0 -23
- package/utils/image.js.map +0 -1
- package/utils/keyboard.amd.js +0 -2
- package/utils/keyboard.amd.js.map +0 -1
- package/utils/keyboard.d.ts +0 -2
- package/utils/keyboard.js +0 -12
- package/utils/keyboard.js.map +0 -1
- package/utils/lodash.amd.js +0 -2
- package/utils/lodash.amd.js.map +0 -1
- package/utils/lodash.d.ts +0 -2
- package/utils/lodash.js +0 -9
- package/utils/lodash.js.map +0 -1
- package/utils/number.amd.js +0 -2
- package/utils/number.amd.js.map +0 -1
- package/utils/number.d.ts +0 -2
- package/utils/number.js +0 -13
- package/utils/number.js.map +0 -1
- package/utils/price.amd.js +0 -2
- package/utils/price.amd.js.map +0 -1
- package/utils/price.d.ts +0 -2
- package/utils/price.js +0 -10
- package/utils/price.js.map +0 -1
- package/utils/route.amd.js +0 -2
- package/utils/route.amd.js.map +0 -1
- package/utils/route.d.ts +0 -2
- package/utils/route.js +0 -38
- package/utils/route.js.map +0 -1
- package/utils/scroll.amd.js +0 -2
- package/utils/scroll.amd.js.map +0 -1
- package/utils/scroll.d.ts +0 -2
- package/utils/scroll.js +0 -45
- package/utils/scroll.js.map +0 -1
- package/utils/searchers.amd.js +0 -2
- package/utils/searchers.amd.js.map +0 -1
- package/utils/searchers.d.ts +0 -2
- package/utils/searchers.js +0 -134
- package/utils/searchers.js.map +0 -1
- package/utils/store.amd.js +0 -2
- package/utils/store.amd.js.map +0 -1
- package/utils/store.d.ts +0 -2
- package/utils/store.js +0 -7
- package/utils/store.js.map +0 -1
- package/utils/string.amd.js +0 -2
- package/utils/string.amd.js.map +0 -1
- package/utils/string.d.ts +0 -2
- package/utils/string.js +0 -148
- package/utils/string.js.map +0 -1
- package/utils/system.amd.js +0 -2
- package/utils/system.amd.js.map +0 -1
- package/utils/system.d.ts +0 -2
- package/utils/system.js +0 -29
- package/utils/system.js.map +0 -1
- package/utils/url.amd.js +0 -3
- package/utils/url.amd.js.map +0 -1
- package/utils/url.d.ts +0 -2
- package/utils/url.js +0 -48
- package/utils/url.js.map +0 -1
- /package/{icomoon → public/icomoon}/Read Me.txt +0 -0
- /package/{icomoon → public/icomoon}/demo-files/demo.css +0 -0
- /package/{icomoon → public/icomoon}/demo-files/demo.js +0 -0
- /package/{icomoon → public/icomoon}/demo.css +0 -0
- /package/{icomoon → public/icomoon}/demo.html +0 -0
- /package/{icomoon → public/icomoon}/demo.js +0 -0
- /package/{icomoon → public/icomoon}/fonts/Topvisor-2.eot +0 -0
- /package/{icomoon → public/icomoon}/fonts/Topvisor-2.svg +0 -0
- /package/{icomoon → public/icomoon}/fonts/Topvisor-2.ttf +0 -0
- /package/{icomoon → public/icomoon}/fonts/Topvisor-2.woff +0 -0
- /package/{icomoon → public/icomoon}/selection.json +0 -0
- /package/{icomoon → public/icomoon}/style.css +0 -0
- /package/{jquery-ui.min.css → public/jquery-ui.min.css} +0 -0
- /package/{require → public/require}/css.amd.js +0 -0
- /package/{components/core/notice/types.d.ts → src/components/core/notice/types.ts} +0 -0
- /package/{components/forms/helpers.d.ts → src/components/forms/helpers.ts} +0 -0
- /package/{components/popup/worker.d.ts → src/components/popup/worker.ts} +0 -0
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import { Core as j } from "../core/app.js";
|
|
2
|
-
import { defineComponent as P, ref as R, reactive as D, computed as M, watch as O, resolveComponent as S, createBlock as V, openBlock as d, unref as x, withCtx as u, createVNode as m, createTextVNode as L, toDisplayString as v, createElementVNode as p, createElementBlock as f, Fragment as G, renderList as X, createCommentVNode as k } from "vue";
|
|
3
|
-
import { _ as Q, a as q } from "./page.vue_vue_type_script_setup_true_lang-CNkG4DXi.es.js";
|
|
4
|
-
import { b as z } from "./utils-CM6ONOZ3.es.js";
|
|
5
|
-
import { genFlagLinkByCountryCode as H } from "../utils/string.js";
|
|
6
|
-
import { getSearcherGIcon as J, getLangLabel as K, getDeviceGIcon as W } from "../utils/searchers.js";
|
|
7
|
-
import { C as N } from "./forms-DOGPN_TR.es.js";
|
|
8
|
-
const w = ["../assets/dialog_selectorRegions.css"].map((y) => import.meta.resolve(y));
|
|
9
|
-
j.insertCSSLinkToPage(w, !0);
|
|
10
|
-
const Y = { class: "dialog_selectorRegions_header" }, Z = ["data-top-icon"], F = ["src", "alt"], ee = { class: "top-ellipsis" }, oe = { class: "dialog_selectorRegions_regionAreaName" }, te = { key: 1 }, ne = ["data-top-icon"], ue = /* @__PURE__ */ P({
|
|
11
|
-
id: "selectorRegions",
|
|
12
|
-
__name: "dialog_selectorRegions",
|
|
13
|
-
props: {
|
|
14
|
-
regions: {},
|
|
15
|
-
regionsIndexes: {},
|
|
16
|
-
"@update:regionsIndexes": { type: Function }
|
|
17
|
-
},
|
|
18
|
-
setup(y) {
|
|
19
|
-
const a = y, C = z(), l = R([]), i = R(null), _ = D({
|
|
20
|
-
searcher_key: -1,
|
|
21
|
-
key: -1,
|
|
22
|
-
name: -1
|
|
23
|
-
}), b = M({
|
|
24
|
-
get() {
|
|
25
|
-
return l.value.every((o) => o.selected);
|
|
26
|
-
},
|
|
27
|
-
set(o) {
|
|
28
|
-
l.value = l.value.map((n) => ({ ...n, selected: o }));
|
|
29
|
-
}
|
|
30
|
-
}), h = (o) => {
|
|
31
|
-
_[o] = -_[o], l.value.sort((n, e) => !n[o] || !e[o] ? -1 : n[o] >= e[o] ? _[o] : -_[o]);
|
|
32
|
-
}, B = () => {
|
|
33
|
-
var n;
|
|
34
|
-
if (!l.value.some((e) => e.selected)) return;
|
|
35
|
-
const o = l.value.filter((e) => e.selected).map((e) => e.index);
|
|
36
|
-
(n = a["@update:regionsIndexes"]) == null || n.call(a, o), C.close();
|
|
37
|
-
};
|
|
38
|
-
O([
|
|
39
|
-
() => a.regions,
|
|
40
|
-
() => a.regionsIndexes
|
|
41
|
-
], () => {
|
|
42
|
-
if (l.value = [], !a.regions || !a.regionsIndexes) return;
|
|
43
|
-
let o = [...a.regions];
|
|
44
|
-
const n = new Map(a.regionsIndexes.map((e, s) => [e, s]));
|
|
45
|
-
o.sort((e, s) => {
|
|
46
|
-
const t = n.get(e.index) ?? Number.MAX_VALUE, r = n.get(s.index) ?? Number.MAX_VALUE;
|
|
47
|
-
return t - r;
|
|
48
|
-
}), o.forEach((e) => {
|
|
49
|
-
var I;
|
|
50
|
-
let s = e.name;
|
|
51
|
-
e.areaName && (s += ` (${e.areaName})`);
|
|
52
|
-
const t = ((I = a.regionsIndexes) == null ? void 0 : I.includes(e.index)) ?? !1, r = J(e.searcher_key), g = e.lang !== void 0 ? K(e.searcher_key ?? 999, e.lang) : void 0, c = e.device !== void 0 ? W(e.device) : void 0, U = e.countryCode !== void 0 ? H(e.countryCode) : void 0, E = {
|
|
53
|
-
...e,
|
|
54
|
-
selected: t,
|
|
55
|
-
title: s,
|
|
56
|
-
searcherIcon: r,
|
|
57
|
-
langLabel: g,
|
|
58
|
-
deviceIcon: c,
|
|
59
|
-
flagLink: U
|
|
60
|
-
};
|
|
61
|
-
l.value.push(E);
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
const A = () => {
|
|
65
|
-
var o;
|
|
66
|
-
if (!((o = N.$) != null && o.ui.sortable)) {
|
|
67
|
-
console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
i.value && $(i.value).sortable({
|
|
71
|
-
distance: 10,
|
|
72
|
-
stop: () => {
|
|
73
|
-
const n = [...i.value.children].map((e) => Number(e.getAttribute("data-region-index")));
|
|
74
|
-
l.value.sort((e, s) => n.indexOf(e.index) - n.indexOf(s.index));
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
}, T = () => {
|
|
78
|
-
var o;
|
|
79
|
-
(o = N.$) != null && o.ui.sortable && i.value && $(i.value).sortable("destroy");
|
|
80
|
-
};
|
|
81
|
-
return (o, n) => {
|
|
82
|
-
const e = S("TopCheckbox"), s = S("TopButton");
|
|
83
|
-
return d(), V(x(Q), {
|
|
84
|
-
id: x(C).id,
|
|
85
|
-
pageActive: "selectorRegions",
|
|
86
|
-
class: "dialog_selectorRegions",
|
|
87
|
-
height: "600px",
|
|
88
|
-
width: "600px",
|
|
89
|
-
onOpen: A,
|
|
90
|
-
onClose: T
|
|
91
|
-
}, {
|
|
92
|
-
default: u(() => [
|
|
93
|
-
m(x(q), {
|
|
94
|
-
name: "selectorRegions",
|
|
95
|
-
order: 0
|
|
96
|
-
}, {
|
|
97
|
-
header: u(() => {
|
|
98
|
-
var t, r, g;
|
|
99
|
-
return [
|
|
100
|
-
p("div", Y, [
|
|
101
|
-
m(e, {
|
|
102
|
-
modelValue: b.value,
|
|
103
|
-
"onUpdate:modelValue": n[0] || (n[0] = (c) => b.value = c)
|
|
104
|
-
}, null, 8, ["modelValue"]),
|
|
105
|
-
m(s, {
|
|
106
|
-
class: "dialog_selectorRegions_sortButton",
|
|
107
|
-
color: "theme",
|
|
108
|
-
"data-top-icon": "",
|
|
109
|
-
onClick: n[1] || (n[1] = (c) => h("searcher_key")),
|
|
110
|
-
title: (t = o.$i18n.Projects) == null ? void 0 : t.Sort_by_search_engine
|
|
111
|
-
}, null, 8, ["title"]),
|
|
112
|
-
m(s, {
|
|
113
|
-
class: "dialog_selectorRegions_sortButton",
|
|
114
|
-
color: "theme",
|
|
115
|
-
"data-top-icon": "",
|
|
116
|
-
onClick: n[2] || (n[2] = (c) => h("key")),
|
|
117
|
-
title: (r = o.$i18n.Projects) == null ? void 0 : r.Sort_by_yande_region_code
|
|
118
|
-
}, null, 8, ["title"]),
|
|
119
|
-
m(s, {
|
|
120
|
-
class: "dialog_selectorRegions_sortButton",
|
|
121
|
-
color: "theme",
|
|
122
|
-
"data-top-icon": "",
|
|
123
|
-
onClick: n[3] || (n[3] = (c) => h("name")),
|
|
124
|
-
title: (g = o.$i18n.Projects) == null ? void 0 : g.Sort_by_lphabetically
|
|
125
|
-
}, null, 8, ["title"])
|
|
126
|
-
])
|
|
127
|
-
];
|
|
128
|
-
}),
|
|
129
|
-
body: u(() => [
|
|
130
|
-
p("div", {
|
|
131
|
-
ref_key: "elRegions",
|
|
132
|
-
ref: i
|
|
133
|
-
}, [
|
|
134
|
-
(d(!0), f(G, null, X(l.value, (t) => (d(), V(e, {
|
|
135
|
-
key: t.index,
|
|
136
|
-
modelValue: t.selected,
|
|
137
|
-
"onUpdate:modelValue": (r) => t.selected = r,
|
|
138
|
-
class: "dialog_selectorRegions_region",
|
|
139
|
-
"data-region-index": t.index
|
|
140
|
-
}, {
|
|
141
|
-
default: u(() => [
|
|
142
|
-
p("div", {
|
|
143
|
-
class: "dialog_selectorRegions_regionSearcherIcon",
|
|
144
|
-
"data-top-icon": t.searcherIcon
|
|
145
|
-
}, null, 8, Z),
|
|
146
|
-
t.flagLink ? (d(), f("img", {
|
|
147
|
-
key: 0,
|
|
148
|
-
class: "top-flag",
|
|
149
|
-
src: "//topvisor.dev" + t.flagLink,
|
|
150
|
-
alt: t.countryCode
|
|
151
|
-
}, null, 8, F)) : k("", !0),
|
|
152
|
-
p("div", ee, [
|
|
153
|
-
L(v(t.name) + " ", 1),
|
|
154
|
-
p("span", oe, v(t.areaName), 1)
|
|
155
|
-
]),
|
|
156
|
-
t.langLabel ? (d(), f("div", te, " [" + v(t.langLabel) + "] ", 1)) : k("", !0),
|
|
157
|
-
t.deviceIcon ? (d(), f("div", {
|
|
158
|
-
key: 2,
|
|
159
|
-
"data-top-icon": t.deviceIcon
|
|
160
|
-
}, null, 8, ne)) : k("", !0)
|
|
161
|
-
]),
|
|
162
|
-
_: 2
|
|
163
|
-
}, 1032, ["modelValue", "onUpdate:modelValue", "data-region-index"]))), 128))
|
|
164
|
-
], 512)
|
|
165
|
-
]),
|
|
166
|
-
footer: u(() => [
|
|
167
|
-
m(s, { onClick: B }, {
|
|
168
|
-
default: u(() => {
|
|
169
|
-
var t;
|
|
170
|
-
return [
|
|
171
|
-
L(v((t = o.$i18n.Common) == null ? void 0 : t.Apply), 1)
|
|
172
|
-
];
|
|
173
|
-
}),
|
|
174
|
-
_: 1
|
|
175
|
-
})
|
|
176
|
-
]),
|
|
177
|
-
_: 1
|
|
178
|
-
})
|
|
179
|
-
]),
|
|
180
|
-
_: 1
|
|
181
|
-
}, 8, ["id"]);
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
export {
|
|
186
|
-
ue as default
|
|
187
|
-
};
|
|
188
|
-
//# sourceMappingURL=dialog_selectorRegions-C0MYw4n5.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog_selectorRegions-C0MYw4n5.es.js","sources":["../../src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.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: 'selectorRegions' });\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=\"selectorRegions\"\n\t\tclass=\"dialog_selectorRegions\"\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=\"selectorRegions\" :order=\"0\">\n\t\t\t<template #header>\n\t\t\t\t<div class=\"dialog_selectorRegions_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_selectorRegions_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_selectorRegions_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_selectorRegions_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_selectorRegions_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_selectorRegions_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_selectorRegions_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","_a","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"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
define(["require","exports","vue","./page.vue_vue_type_script_setup_true_lang-BwuWfSuv.amd","./utils-DwFoJcHP.amd","../utils/string.amd","../utils/searchers.amd","./forms-Gb7ujpmz.amd","../require/css.amd!../assets/dialog_selectorRegions.css"],function(j,v,e,_,h,C,p,f){"use strict";if(typeof e>"u")var e=window.Vue;const V={class:"dialog_selectorRegions_header"},b=["data-top-icon"],N=["src","alt"],B={class:"top-ellipsis"},I={class:"dialog_selectorRegions_regionAreaName"},R={key:1},S=["data-top-icon"],E=e.defineComponent({id:"selectorRegions",__name:"dialog_selectorRegions",props:{regions:{},regionsIndexes:{},"@update:regionsIndexes":{type:Function}},setup(L){const s=L,y=h.useTopDialogSelf(),r=e.ref([]),i=e.ref(null),u=e.reactive({searcher_key:-1,key:-1,name:-1}),k=e.computed({get(){return r.value.every(o=>o.selected)},set(o){r.value=r.value.map(l=>({...l,selected:o}))}}),g=o=>{u[o]=-u[o],r.value.sort((l,t)=>!l[o]||!t[o]?-1:l[o]>=t[o]?u[o]:-u[o])},w=()=>{var l;if(!r.value.some(t=>t.selected))return;const o=r.value.filter(t=>t.selected).map(t=>t.index);(l=s["@update:regionsIndexes"])==null||l.call(s,o),y.close()};e.watch([()=>s.regions,()=>s.regionsIndexes],()=>{if(r.value=[],!s.regions||!s.regionsIndexes)return;let o=[...s.regions];const l=new Map(s.regionsIndexes.map((t,a)=>[t,a]));o.sort((t,a)=>{const n=l.get(t.index)??Number.MAX_VALUE,c=l.get(a.index)??Number.MAX_VALUE;return n-c}),o.forEach(t=>{var x;let a=t.name;t.areaName&&(a+=` (${t.areaName})`);const n=((x=s.regionsIndexes)==null?void 0:x.includes(t.index))??!1,c=p.getSearcherGIcon(t.searcher_key),m=t.lang!==void 0?p.getLangLabel(t.searcher_key??999,t.lang):void 0,d=t.device!==void 0?p.getDeviceGIcon(t.device):void 0,D=t.countryCode!==void 0?C.genFlagLinkByCountryCode(t.countryCode):void 0,U={...t,selected:n,title:a,searcherIcon:c,langLabel:m,deviceIcon:d,flagLink:D};r.value.push(U)})});const A=()=>{var o;if(!((o=f.Core.$)!=null&&o.ui.sortable)){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}i.value&&$(i.value).sortable({distance:10,stop:()=>{const l=[...i.value.children].map(t=>Number(t.getAttribute("data-region-index")));r.value.sort((t,a)=>l.indexOf(t.index)-l.indexOf(a.index))}})},T=()=>{var o;(o=f.Core.$)!=null&&o.ui.sortable&&i.value&&$(i.value).sortable("destroy")};return(o,l)=>{const t=e.resolveComponent("TopCheckbox"),a=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(e.unref(_._sfc_main),{id:e.unref(y).id,pageActive:"selectorRegions",class:"dialog_selectorRegions",height:"600px",width:"600px",onOpen:A,onClose:T},{default:e.withCtx(()=>[e.createVNode(e.unref(_._sfc_main$1),{name:"selectorRegions",order:0},{header:e.withCtx(()=>{var n,c,m;return[e.createElementVNode("div",V,[e.createVNode(t,{modelValue:k.value,"onUpdate:modelValue":l[0]||(l[0]=d=>k.value=d)},null,8,["modelValue"]),e.createVNode(a,{class:"dialog_selectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:l[1]||(l[1]=d=>g("searcher_key")),title:(n=o.$i18n.Projects)==null?void 0:n.Sort_by_search_engine},null,8,["title"]),e.createVNode(a,{class:"dialog_selectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:l[2]||(l[2]=d=>g("key")),title:(c=o.$i18n.Projects)==null?void 0:c.Sort_by_yande_region_code},null,8,["title"]),e.createVNode(a,{class:"dialog_selectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:l[3]||(l[3]=d=>g("name")),title:(m=o.$i18n.Projects)==null?void 0:m.Sort_by_lphabetically},null,8,["title"])])]}),body:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"elRegions",ref:i},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,n=>(e.openBlock(),e.createBlock(t,{key:n.index,modelValue:n.selected,"onUpdate:modelValue":c=>n.selected=c,class:"dialog_selectorRegions_region","data-region-index":n.index},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"dialog_selectorRegions_regionSearcherIcon","data-top-icon":n.searcherIcon},null,8,b),n.flagLink?(e.openBlock(),e.createElementBlock("img",{key:0,class:"top-flag",src:"//topvisor.dev"+n.flagLink,alt:n.countryCode},null,8,N)):e.createCommentVNode("",!0),e.createElementVNode("div",B,[e.createTextVNode(e.toDisplayString(n.name)+" ",1),e.createElementVNode("span",I,e.toDisplayString(n.areaName),1)]),n.langLabel?(e.openBlock(),e.createElementBlock("div",R," ["+e.toDisplayString(n.langLabel)+"] ",1)):e.createCommentVNode("",!0),n.deviceIcon?(e.openBlock(),e.createElementBlock("div",{key:2,"data-top-icon":n.deviceIcon},null,8,S)):e.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-region-index"]))),128))],512)]),footer:e.withCtx(()=>[e.createVNode(a,{onClick:w},{default:e.withCtx(()=>{var n;return[e.createTextVNode(e.toDisplayString((n=o.$i18n.Common)==null?void 0:n.Apply),1)]}),_:1})]),_:1})]),_:1},8,["id"])}}});v.default=E,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});
|
|
2
|
-
//# sourceMappingURL=dialog_selectorRegions-DW77c8Ny.amd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog_selectorRegions-DW77c8Ny.amd.js","sources":["../../src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.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: 'selectorRegions' });\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=\"selectorRegions\"\n\t\tclass=\"dialog_selectorRegions\"\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=\"selectorRegions\" :order=\"0\">\n\t\t\t<template #header>\n\t\t\t\t<div class=\"dialog_selectorRegions_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_selectorRegions_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_selectorRegions_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_selectorRegions_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_selectorRegions_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_selectorRegions_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_selectorRegions_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","_a","props","regionsIndexes","orderA","orderByRegionIndex","orderB","regions","title","selected","deviceIcon","utils_searchers","flagLink","utils_string","searcherIcon","langLabel","regionRich","a","b","sortedIndexes"],"mappings":"oqBAYAA,EAAAC,EAAA,iBAAA,EAKAC,EAAAC,EAAA,IAAA,CAAA,CAAA,EAKAC,EAAAD,EAAA,IAAA,IAAA,EAKAE,EAAAF,EAAA,SAAA,wBAEM,KAAA,EACC,CAAA,EAMPG,EAAAH,EAAA,SAAA,CAA+B,KAAA,CAE7B,OAAAD,EAAA,MAAA,MAAAK,GAAAA,EAAA,QAAA,qDAIoF,CACrF,CAAA,EAODC,EAAAC,GAAA,gCAIE,CAAAC,EAAAD,CAAA,GAAA,CAAAE,EAAAF,CAAA,EAAA,wBAEyH,gBAU1H,GAAA,CAAAP,EAAA,MAAA,KAAAK,GAAAA,EAAA,QAAA,EAAA,8DAMAK,EAAAC,EAAA,4BAAA,MAAAD,EAAA,KAAAC,EAAAC,cAMDX,EAAA,MAAA,mCAEa,EAAA,IAAA,CAKZ,GAHAD,EAAA,MAAA,CAAA,EAEA,CAAAW,EAAA,SACA,CAAAA,EAAA,eAAA,+FAQC,MAAAE,EAAAC,EAAA,IAAAN,EAAA,KAAA,GAAA,OAAA,UACAO,EAAAD,EAAA,IAAAL,EAAA,KAAA,GAAA,OAAA,oBAEgB,CAAA,EAGjBO,EAAA,QAAAX,GAAA,OACC,IAAAY,EAAAZ,EAAA,KACAA,EAAA,WAAAY,GAAA,KAAAZ,EAAA,QAAA,KAEA,MAAAa,IAAAR,EAAAC,EAAA,iBAAA,YAAAD,EAAA,SAAAL,EAAA,SAAA,4GAGAc,EAAAd,EAAA,SAAA,OAAAe,EAAA,eAAAf,EAAA,MAAA,EAAA,OACAgB,EAAAhB,EAAA,cAAA,OAAAiB,EAAA,yBAAAjB,EAAA,WAAA,EAAA,UAEmB,GAAAA,EACf,SAAAa,EACH,MAAAD,EACA,aAAAM,EACA,UAAAC,EACA,WAAAL,cAKDnB,EAAA,MAAA,KAAAyB,CAAA,CAAiC,CAAA,CACjC,CAAA,8DAQA,QAAA,KAAA,wEAAA,QAEA,CAGDvB,EAAA,oIAQEF,EAAA,MAAA,KAAA,CAAA0B,EAAAC,IAAAC,EAAA,QAAAF,EAAA,KAAA,EAAAE,EAAA,QAAAD,EAAA,KAAA,CAAA,CAAgG,CACjG,CAAA,mDASDzB,EAAA"}
|
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
import { ref as d, markRaw as S, shallowReactive as C, defineComponent as b, onUnmounted as O, createElementBlock as V, openBlock as y, Fragment as R, renderList as k, unref as B, createBlock as F, resolveDynamicComponent as _ } from "vue";
|
|
2
|
-
import { waitWhile as q } from "../utils/system.js";
|
|
3
|
-
import { historySetState as N, genHash as H, getHash as L } from "../utils/route.js";
|
|
4
|
-
import { querySelectorAllArray as P, isVisible as M } from "../utils/dom.js";
|
|
5
|
-
class c {
|
|
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 == null ? void 0 : e.load, this.state.decoratorOnCreate = e == null ? void 0 : e.decoratorOnCreate;
|
|
25
|
-
const a = (e == null ? void 0 : e.autoInitDelay) ?? 5e3;
|
|
26
|
-
window.addEventListener("hashchange", (t) => {
|
|
27
|
-
this.opendDialogsFromChangeUrl(t.oldURL, t.newURL);
|
|
28
|
-
}), this.opendDialogsFromChangeUrl("", location.href), document.addEventListener("mousedown", async (t) => {
|
|
29
|
-
const i = t.target.closest("a[data-to-view]");
|
|
30
|
-
if (!i) return;
|
|
31
|
-
let n = "next";
|
|
32
|
-
i.dataset.action === "top-dialog-close" && (n = "prev"), i.href = c.genViewPageHash(i.dataset.toView, n);
|
|
33
|
-
}), document.addEventListener("click", async (t) => {
|
|
34
|
-
var D, E;
|
|
35
|
-
const i = t.target.closest("[data-to-view]");
|
|
36
|
-
if (!i) return;
|
|
37
|
-
if (i instanceof HTMLAnchorElement && i.href === ".") {
|
|
38
|
-
t.preventDefault();
|
|
39
|
-
const f = new MouseEvent("mousedown", {
|
|
40
|
-
bubbles: !0,
|
|
41
|
-
cancelable: !0,
|
|
42
|
-
view: window
|
|
43
|
-
});
|
|
44
|
-
i.dispatchEvent(f), setTimeout(() => i.click());
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const n = await this.getDialogsUtils(), r = i.dataset.toView, u = r.split("-")[0], l = n.getElDialogById(u);
|
|
48
|
-
let w = "next";
|
|
49
|
-
if (l) {
|
|
50
|
-
const f = P(l, ".modal-layer"), U = f.reduce((v, A) => {
|
|
51
|
-
const h = A.querySelector(":scope > .active");
|
|
52
|
-
return h && v.push(h), v;
|
|
53
|
-
}, []);
|
|
54
|
-
if (U.length) {
|
|
55
|
-
const v = r.split("-")[1].split(":")[0];
|
|
56
|
-
(((D = f.reduce((h, p) => {
|
|
57
|
-
const x = p == null ? void 0 : p.querySelector(`:scope > [data-view-page="${v}"]`);
|
|
58
|
-
return x && h.push(x), h;
|
|
59
|
-
}, [])[0]) == null ? void 0 : D.dataset.order) ?? 0) < (((E = U[0]) == null ? void 0 : E.dataset.order) ?? 0) && (w = "prev");
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
i.dataset.action === "top-dialog-close" && (w = "prev");
|
|
63
|
-
const m = c.genViewPageHash(r, w);
|
|
64
|
-
if (i instanceof HTMLAnchorElement) {
|
|
65
|
-
if (!l || !M(l)) return;
|
|
66
|
-
if (location.hash.indexOf(r.replace("-", "=")) !== -1) {
|
|
67
|
-
await n.toViewDirty(r);
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
!!(l != null && l.dataset.toViewReplace) ? (t.preventDefault(), N(!0, m), await n.toViewDirty(r), w == "next" ? c.state.viewPageN++ : c.state.viewPageN--) : i.tagName !== "A" && (this.compareStates(m, location.hash) ? N(!1, m) : await n.toViewDirty(r));
|
|
72
|
-
}), setTimeout(() => this.getDialogsUtils(), a);
|
|
73
|
-
}
|
|
74
|
-
static opendDialogsFromChangeUrl(e, a) {
|
|
75
|
-
const t = e.replace(/.*?#/, "#"), s = a.replace(/.*?#/, "#");
|
|
76
|
-
this.compareStates(t, s) && this.opendDialogsFromUrl();
|
|
77
|
-
}
|
|
78
|
-
static async getDialogsUtils() {
|
|
79
|
-
const { TopDialogUtils: e } = await import("./utils-BPftYwd6.es.js");
|
|
80
|
-
return e;
|
|
81
|
-
}
|
|
82
|
-
static getDialog(e) {
|
|
83
|
-
return e.closest(".ui-dialog-content");
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* todo: Переписать на сайте на this.getDialog()
|
|
87
|
-
*
|
|
88
|
-
* @deprecated Для обратной совместимости
|
|
89
|
-
*/
|
|
90
|
-
static get$dialog(e) {
|
|
91
|
-
return e.closest(".ui-dialog-content");
|
|
92
|
-
}
|
|
93
|
-
static getPage(e) {
|
|
94
|
-
return e.closest("[data-view-page]");
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* todo: Переписать на сайте на this.getPage()
|
|
98
|
-
*
|
|
99
|
-
* @deprecated Для обратной совместимости
|
|
100
|
-
*/
|
|
101
|
-
static get$page(e) {
|
|
102
|
-
return e.closest("[data-view-page]");
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* todo: Переписать на сайте на this.getPairPage()
|
|
106
|
-
*
|
|
107
|
-
* @deprecated Для обратной совместимости
|
|
108
|
-
*/
|
|
109
|
-
static get$pairPage(e) {
|
|
110
|
-
const a = c.get$dialog(e), s = c.get$page(e).data("view-page");
|
|
111
|
-
return $('[data-view-page="' + s + '"]', a);
|
|
112
|
-
}
|
|
113
|
-
static getPairPage(e) {
|
|
114
|
-
const a = c.getDialog(e);
|
|
115
|
-
if (!a) return;
|
|
116
|
-
const t = c.getPage(e), s = t == null ? void 0 : t.dataset.viewPage;
|
|
117
|
-
return P(a, `[data-view-page="${s}"]`);
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Закрыть диалоговое окно
|
|
121
|
-
*/
|
|
122
|
-
static close(e) {
|
|
123
|
-
const a = $("#" + e);
|
|
124
|
-
if (a.dialog("instance")) {
|
|
125
|
-
a.dialog("close");
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
const t = document.getElementById(e);
|
|
129
|
-
t instanceof HTMLDialogElement && t.close();
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Размонтировать $.dialog
|
|
133
|
-
*/
|
|
134
|
-
static destroy(e) {
|
|
135
|
-
const a = $("#" + e);
|
|
136
|
-
if (a.dialog("instance")) {
|
|
137
|
-
a.dialog("close"), a.dialog("destroy");
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
const t = document.getElementById(e);
|
|
141
|
-
t instanceof HTMLDialogElement && t.close();
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Сгенерировать ссылку на страницу в диалоговом окне
|
|
145
|
-
* @param toView - указатель в формате: dialog_{{ dialogId }}={{ pageName }}:{{ args }}
|
|
146
|
-
* @param moveDirection
|
|
147
|
-
*/
|
|
148
|
-
static genViewPageHash(e, a = "next") {
|
|
149
|
-
let t = this.state.viewPageN;
|
|
150
|
-
a == "prev" ? t-- : t++;
|
|
151
|
-
const s = e.split("-"), i = s.shift(), n = s.join("-");
|
|
152
|
-
let r = H("vpn", t);
|
|
153
|
-
return r = H("view-" + i, n, r), r;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Сравнить версию открытых диалоговых окон
|
|
157
|
-
* @returns вернет true, если состояния открытых окон изменилось
|
|
158
|
-
*/
|
|
159
|
-
static compareStates(e, a) {
|
|
160
|
-
const t = e.match(/[#&]view-[^&]+/g) || [], s = a.match(/[#&]view-[^&]+/g) || [];
|
|
161
|
-
return !!(t.length !== s.length || t.filter((n, r) => {
|
|
162
|
-
const u = s[r] || "";
|
|
163
|
-
return n !== u;
|
|
164
|
-
}).length);
|
|
165
|
-
}
|
|
166
|
-
static opendDialogsFromUrl = async () => {
|
|
167
|
-
const e = Number(L("vpn")) || 0;
|
|
168
|
-
let a;
|
|
169
|
-
const t = new RegExp("view-((\\w+)=([\\w-]+)(?::([\\w.:-]+))?)", "g");
|
|
170
|
-
for (; a = t.exec(location.hash); ) {
|
|
171
|
-
let i = "next";
|
|
172
|
-
return e < this.state.viewPageN && (i = "prev"), (await this.getDialogsUtils()).toViewDirty(a[1], i);
|
|
173
|
-
}
|
|
174
|
-
return P(document, ".ui-dialog-content[data-view-page-active]").filter((i) => M(i)).forEach((i) => {
|
|
175
|
-
const n = i.getAttribute("id");
|
|
176
|
-
if (!n) throw "Диалоговое окно не содержит id";
|
|
177
|
-
L("view-" + n) || $(i).dialog("close");
|
|
178
|
-
}), this.state.viewPageN = e, !0;
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
class I {
|
|
182
|
-
/**
|
|
183
|
-
* Индентификатор, определяется на уровне компонента TopDialogComponent
|
|
184
|
-
*
|
|
185
|
-
* Может использоваться в навигации для открытия нужных окон с нужными настройками
|
|
186
|
-
*/
|
|
187
|
-
id;
|
|
188
|
-
/**
|
|
189
|
-
* ID, используемый в верстке диалогового окна
|
|
190
|
-
*/
|
|
191
|
-
idAttr;
|
|
192
|
-
/**
|
|
193
|
-
* Пользовательский компонент диалогового окна
|
|
194
|
-
*/
|
|
195
|
-
Component;
|
|
196
|
-
/**
|
|
197
|
-
* Компонент инициирован
|
|
198
|
-
*
|
|
199
|
-
* Устанавливается после первого вызова useTopDialog()
|
|
200
|
-
*/
|
|
201
|
-
isMounted = d(!1);
|
|
202
|
-
/**
|
|
203
|
-
* Компонент готов к использованию
|
|
204
|
-
*
|
|
205
|
-
* Используется для внутренних преобразований после отрисовки
|
|
206
|
-
*/
|
|
207
|
-
isReady = d(!1);
|
|
208
|
-
/**
|
|
209
|
-
* Диалоговое окно открыто
|
|
210
|
-
*/
|
|
211
|
-
isOpened = d(!1);
|
|
212
|
-
/**
|
|
213
|
-
* Имя активной страницы дилогового окна
|
|
214
|
-
*/
|
|
215
|
-
pageActive = d("");
|
|
216
|
-
/**
|
|
217
|
-
* Диалоговое окно находится в состоянии загрузки своей страницы
|
|
218
|
-
*/
|
|
219
|
-
isLoadingPage = d(!1);
|
|
220
|
-
/**
|
|
221
|
-
* Следующая активная страница
|
|
222
|
-
*
|
|
223
|
-
* В один момент времени может потребоваться отобразить две страницы, чтобы воспроизвести анимацию
|
|
224
|
-
*/
|
|
225
|
-
pageActiveNext = d("");
|
|
226
|
-
/**
|
|
227
|
-
* props компонента, доступны после инициализации
|
|
228
|
-
*/
|
|
229
|
-
props;
|
|
230
|
-
/**
|
|
231
|
-
* emit базового компонента `TopDialog`
|
|
232
|
-
*/
|
|
233
|
-
emit;
|
|
234
|
-
/**
|
|
235
|
-
* Одноразовое событие на закрытие диалогового окна
|
|
236
|
-
*
|
|
237
|
-
* Используется для привязки окна к сценариям использования
|
|
238
|
-
*/
|
|
239
|
-
onCloseOnce;
|
|
240
|
-
constructor(e) {
|
|
241
|
-
this.id = e.id, this.idAttr = "dialog_" + e.id, this.Component = S(e);
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* Событие - компонент инициирован
|
|
245
|
-
*/
|
|
246
|
-
onMounted(e, a) {
|
|
247
|
-
this.isMounted.value = !0, this.props = e.props, this.emit = a.emit;
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Открыть диалоговое окно
|
|
251
|
-
*
|
|
252
|
-
* Учтите, что props в диалоговом окне будут доступны не сразу, а только после инициализации vue компонента
|
|
253
|
-
*/
|
|
254
|
-
async open(e = "main", a, t = [], s, i) {
|
|
255
|
-
a && await this.setProps(a), s && (this.onCloseOnce = s), await (await c.getDialogsUtils()).toView(this.idAttr, e, t, i);
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Открыть диалоговое окно как ссылку, для хеш-навигации
|
|
259
|
-
*
|
|
260
|
-
* Диалоговые окна загружаются по имени, см. настройку плагина Core topDialogLoader
|
|
261
|
-
*/
|
|
262
|
-
async openAsLink(e = "main", a, t = [], s, i) {
|
|
263
|
-
a && await this.setProps(a), s && (this.onCloseOnce = s);
|
|
264
|
-
const n = this.idAttr + "-" + e, r = c.genViewPageHash(n, i);
|
|
265
|
-
N(!1, r);
|
|
266
|
-
}
|
|
267
|
-
/**
|
|
268
|
-
* Закрыть диалоговое окно
|
|
269
|
-
*
|
|
270
|
-
* Не меняет состояние компонента диалогового окна
|
|
271
|
-
*/
|
|
272
|
-
async close() {
|
|
273
|
-
c.close(this.idAttr);
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* Размонтировать $.dialog
|
|
277
|
-
*/
|
|
278
|
-
async destroy() {
|
|
279
|
-
c.destroy(this.idAttr);
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Устанвоить props
|
|
283
|
-
*
|
|
284
|
-
* Полностью сбрасывается состояние props
|
|
285
|
-
*/
|
|
286
|
-
async setProps(e = {}) {
|
|
287
|
-
this.isMounted || await q(() => !this.props);
|
|
288
|
-
for (const a in this.props)
|
|
289
|
-
this.props[a] = e[a];
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* Проверить, есть ли необходимость отрисовки страницы диалогового окна
|
|
293
|
-
*/
|
|
294
|
-
needShowPage(e) {
|
|
295
|
-
return this.isOpened.value ? this.pageActive.value === e || this.pageActiveNext.value === e : !1;
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
const j = {
|
|
299
|
-
class: "top-dialogs",
|
|
300
|
-
style: { display: "none" }
|
|
301
|
-
}, g = C(/* @__PURE__ */ new Map()), Q = (o) => (o = o.replace(/^dialog_/, ""), g.get(o)), X = (o) => {
|
|
302
|
-
if (!(o != null && o.id))
|
|
303
|
-
throw console.log({ TopDialogComponent: o }), new Error("Expected TopDialogComponent");
|
|
304
|
-
return g.has(o.id) || g.set(o.id, new I(o)), g.get(o.id);
|
|
305
|
-
}, Y = /* @__PURE__ */ b({
|
|
306
|
-
name: "DialogWrapper",
|
|
307
|
-
__name: "dialogs",
|
|
308
|
-
setup(o) {
|
|
309
|
-
return O(() => {
|
|
310
|
-
g.forEach((e) => e.destroy()), g.clear();
|
|
311
|
-
}), (e, a) => (y(), V("div", j, [
|
|
312
|
-
(y(!0), V(R, null, k(B(g), ([t, s]) => (y(), F(_(s.Component), { key: t }))), 128))
|
|
313
|
-
]));
|
|
314
|
-
}
|
|
315
|
-
});
|
|
316
|
-
export {
|
|
317
|
-
c as T,
|
|
318
|
-
Y as _,
|
|
319
|
-
X as a,
|
|
320
|
-
Q as g
|
|
321
|
-
};
|
|
322
|
-
//# sourceMappingURL=dialogs.vue_vue_type_script_setup_true_lang-Bck_g47j.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialogs.vue_vue_type_script_setup_true_lang-Bck_g47j.es.js","sources":["../../src/components/dialog/lib/worker.ts","../../src/components/dialog/dialog/composables/dialogHandle.ts","../../src/components/dialog/dialog/dialogs/dialogs.vue"],"sourcesContent":["import { genHash, getHash, historySetState } from '@/core/utils/route';\nimport type { ElTopDialog, ElTopDialogOpener, ElTopDialogPage, MoveDirection, TopDialogOptions } from './types';\nimport { isVisible, querySelectorAllArray } from '@/core/utils/dom';\nimport type { $el } from '@/components/types';\n\nexport abstract class TopDialogWorker {\n\tstatic state = {\n\t\tload: undefined as TopDialogOptions['load'] | undefined,\n\t\tdecoratorOnCreate: undefined as TopDialogOptions['decoratorOnCreate'] | undefined,\n\n\t\t/**\n\t\t * Порядковый номер перехода в диалоговых окнах\n\t\t *\n\t\t * Для расчета анимации Вперед / Назад\n\t\t */\n\t\tviewPageN: 0,\n\t};\n\n\tprivate static inited = false;\n\n\t/**\n\t * Инициировать события слежения за парамтерами url\n\t *\n\t * Если в параметрах есть запрос на открытие диалогового окна, TopDialog будет автоматически подключен на страницу\n\t */\n\tstatic init(options?: TopDialogOptions) {\n\t\tif (this.inited) return;\n\t\tthis.inited = true;\n\n\t\tthis.state.load = options?.load;\n\t\tthis.state.decoratorOnCreate = options?.decoratorOnCreate;\n\n\t\tconst autoInitDelay = options?.autoInitDelay ?? 5000;\n\n\t\twindow.addEventListener('hashchange', (e) => {\n\t\t\tthis.opendDialogsFromChangeUrl(e.oldURL, e.newURL);\n\t\t});\n\n\t\tthis.opendDialogsFromChangeUrl('', location.href);\n\n\t\t/**\n\t\t * Сгенерировать ссылку для перехода к странице диалогового окна\n\t\t */\n\t\tdocument.addEventListener('mousedown', async (e) => {\n\t\t\tconst elEventTarget = e.target as HTMLElement;\n\n\t\t\tconst el = elEventTarget.closest<ElTopDialogOpener<HTMLAnchorElement>>('a[data-to-view]');\n\t\t\tif (!el) return;\n\n\t\t\t// const toView = el.dataset.toView;\n\t\t\t// const viewName = toView.split('-')[0];\n\t\t\t// const $toDialog = $('#' + viewName);\n\t\t\t// const $modalLayers = $('> .modal-layer', $toDialog);\n\t\t\t// const $currentPage = $('> .active', $modalLayers);\n\n\t\t\tlet moveDirection: MoveDirection = 'next';\n\n\t\t\t// /**\n\t\t\t// * Данный алгоритм определения направления работает не корректно, так как для чтения свойства order менят состояние через getDialogsUtils()\n\t\t\t// */\n\t\t\t// if ($currentPage.length) {\n\t\t\t// \tconst pageName = toView.split('-')[1].split(':')[0];\n\t\t\t//\n\t\t\t// \tconst TopDialogUtils = await this.getDialogsUtils();\n\t\t\t//\n\t\t\t// \tawait TopDialogUtils.updatePageVue(viewName, undefined, pageName);\n\t\t\t//\n\t\t\t// \tconst $nextPage = $('> [data-view-page=\"' + pageName + '\"]', $modalLayers);\n\t\t\t// \tif ($nextPage.data('order') < $currentPage.data('order')) moveDirection = 'prev';\n\t\t\t// }\n\n\t\t\tif (el.dataset.action === 'top-dialog-close') moveDirection = 'prev';\n\n\t\t\tel.href = TopDialogWorker.genViewPageHash(el.dataset.toView, moveDirection);\n\t\t});\n\n\t\t/**\n\t\t * Осуществить переход по ссылке с учетом historyType\n\t\t */\n\t\tdocument.addEventListener('click', async (e) => {\n\t\t\tconst elEventTarget = e.target as HTMLElement;\n\n\t\t\tconst el = elEventTarget.closest<ElTopDialogOpener>('[data-to-view]');\n\t\t\tif (!el) return;\n\n\t\t\t// Подождать генерацию ссылки\n\t\t\tif (el instanceof HTMLAnchorElement && el.href === '.') {\n\t\t\t\te.preventDefault();\n\n\t\t\t\tconst mouseEvent = new MouseEvent('mousedown', {\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcancelable: true,\n\t\t\t\t\tview: window,\n\t\t\t\t});\n\n\t\t\t\tel.dispatchEvent(mouseEvent);\n\n\t\t\t\tsetTimeout(() => el.click());\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst TopDialogUtils = await this.getDialogsUtils();\n\n\t\t\tconst toView = el.dataset.toView;\n\t\t\tconst viewName = toView.split('-')[0];\n\n\t\t\tconst elDialog = TopDialogUtils.getElDialogById(viewName);\n\n\t\t\tlet moveDirection: MoveDirection = 'next';\n\n\t\t\tif (elDialog) {\n\t\t\t\tconst elModalLayers = querySelectorAllArray(elDialog, '.modal-layer');\n\t\t\t\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, el) => {\n\t\t\t\t\tconst elCurrentPage = el.querySelector<ElTopDialogPage>(':scope > .active');\n\n\t\t\t\t\tif (elCurrentPage) acc.push(elCurrentPage);\n\n\t\t\t\t\treturn acc;\n\t\t\t\t}, []);\n\n\t\t\t\tif (elCurrentPages.length) {\n\t\t\t\t\tconst pageName = toView.split('-')[1].split(':')[0];\n\t\t\t\t\tconst elNextPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, el) => {\n\t\t\t\t\t\tconst elNextPage = el?.querySelector<ElTopDialogPage>(`:scope > [data-view-page=\"${pageName}\"]`);\n\n\t\t\t\t\t\tif (elNextPage) acc.push(elNextPage);\n\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, []);\n\n\t\t\t\t\tif ((elNextPages[0]?.dataset.order ?? 0) < (elCurrentPages[0]?.dataset.order ?? 0)) moveDirection = 'prev';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (el.dataset.action === 'top-dialog-close') moveDirection = 'prev';\n\n\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, moveDirection);\n\n\t\t\tif (el instanceof HTMLAnchorElement) {\n\t\t\t\t// диалоговое окно еще не открыто, произвести переход по ссылке\n\t\t\t\tif (!elDialog || !isVisible(elDialog)) return;\n\n\t\t\t\t// в адресе уже указана эта страница, необходимо явно запросить ее открытие\n\t\t\t\tif (location.hash.indexOf(toView.replace('-', '=')) !== -1) {\n\t\t\t\t\tawait TopDialogUtils.toViewDirty(toView);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst replaceHistory = !!elDialog?.dataset.toViewReplace;\n\n\t\t\tif (replaceHistory) {\n\t\t\t\te.preventDefault();\n\n\t\t\t\thistorySetState(true, hash);\n\n\t\t\t\tawait TopDialogUtils.toViewDirty(toView);\n\n\t\t\t\tif (moveDirection == 'next') {\n\t\t\t\t\tTopDialogWorker.state.viewPageN++;\n\t\t\t\t} else {\n\t\t\t\t\tTopDialogWorker.state.viewPageN--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (el.tagName !== 'A') {\n\t\t\t\t\tif (this.compareStates(hash, location.hash)) {\n\t\t\t\t\t\thistorySetState(false, hash);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tawait TopDialogUtils.toViewDirty(toView);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tsetTimeout(() => this.getDialogsUtils(), autoInitDelay);\n\t}\n\n\tprivate static opendDialogsFromChangeUrl(oldUrl: string, newUrl: string) {\n\t\tconst oldHash = oldUrl.replace(/.*?#/, '#');\n\t\tconst newHash = newUrl.replace(/.*?#/, '#');\n\n\t\tconst dialogsStateChanged = this.compareStates(oldHash, newHash);\n\t\tif (dialogsStateChanged) void this.opendDialogsFromUrl();\n\t}\n\n\tstatic async getDialogsUtils() {\n\t\tconst { TopDialogUtils } = await import('./utils');\n\n\t\treturn TopDialogUtils;\n\t}\n\n\tstatic getDialog(el: HTMLElement) {\n\t\treturn el.closest<ElTopDialog>('.ui-dialog-content');\n\t};\n\n\t/**\n\t * todo: Переписать на сайте на this.getDialog()\n\t *\n\t * @deprecated Для обратной совместимости\n\t */\n\tstatic get$dialog($el: $el) {\n\t\treturn $el.closest('.ui-dialog-content');\n\t};\n\n\tstatic getPage(el: HTMLElement) {\n\t\treturn el.closest<ElTopDialogPage>('[data-view-page]');\n\t};\n\n\t/**\n\t * todo: Переписать на сайте на this.getPage()\n\t *\n\t * @deprecated Для обратной совместимости\n\t */\n\tstatic get$page($el: $el) {\n\t\treturn $el.closest('[data-view-page]');\n\t};\n\n\t/**\n\t * todo: Переписать на сайте на this.getPairPage()\n\t *\n\t * @deprecated Для обратной совместимости\n\t */\n\tstatic get$pairPage($el: $el) {\n\t\tconst $dialog = TopDialogWorker.get$dialog($el);\n\n\t\tconst $page = TopDialogWorker.get$page($el);\n\t\tconst pageName = $page.data('view-page');\n\n\t\treturn $('[data-view-page=\"' + pageName + '\"]', $dialog);\n\t};\n\n\tstatic getPairPage(el: HTMLElement) {\n\t\tconst elDialog = TopDialogWorker.getDialog(el);\n\t\tif (!elDialog) return;\n\n\t\tconst elPage = TopDialogWorker.getPage(el);\n\t\tconst pageName = elPage?.dataset.viewPage;\n\n\t\treturn querySelectorAllArray(elDialog, `[data-view-page=\"${pageName}\"]`);\n\t};\n\n\t/**\n\t * Закрыть диалоговое окно\n\t */\n\tstatic close(dialogId: string) {\n\t\tconst $dialog = $('#' + dialogId);\n\t\tif ($dialog.dialog('instance')) {\n\t\t\t$dialog.dialog('close');\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst elDialog = document.getElementById(dialogId);\n\n\t\tif (!(elDialog instanceof HTMLDialogElement)) return;\n\n\t\telDialog.close();\n\t};\n\n\t/**\n\t * Размонтировать $.dialog\n\t */\n\tstatic destroy(dialogId: string) {\n\t\tconst $dialog = $('#' + dialogId);\n\n\t\tif ($dialog.dialog('instance')) {\n\t\t\t$dialog.dialog('close');\n\t\t\t$dialog.dialog('destroy');\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst elDialog = document.getElementById(dialogId);\n\t\tif (!(elDialog instanceof HTMLDialogElement)) return;\n\n\t\telDialog.close();\n\t};\n\n\t/**\n\t * Сгенерировать ссылку на страницу в диалоговом окне\n\t * @param toView - указатель в формате: dialog_{{ dialogId }}={{ pageName }}:{{ args }}\n\t * @param moveDirection\n\t */\n\tstatic genViewPageHash(toView: string, moveDirection: MoveDirection = 'next') {\n\t\tlet toViewPageN = this.state.viewPageN;\n\t\tif (moveDirection == 'prev') {\n\t\t\ttoViewPageN--;\n\t\t} else {\n\t\t\ttoViewPageN++;\n\t\t}\n\n\t\tconst viewNameAndPageLink = toView.split('-');\n\t\tconst viewName = viewNameAndPageLink.shift();\n\t\tconst pageLink = viewNameAndPageLink.join('-');\n\n\t\tlet hash = genHash('vpn', toViewPageN);\n\t\thash = genHash('view-' + viewName, pageLink, hash);\n\n\t\treturn hash;\n\t};\n\n\t/**\n\t * Сравнить версию открытых диалоговых окон\n\t * @returns вернет true, если состояния открытых окон изменилось\n\t */\n\tstatic compareStates(hash: string, hash2: string) {\n\t\tconst mathes = hash.match(/[#&]view-[^&]+/g) || [];\n\t\tconst mathes2 = hash2.match(/[#&]view-[^&]+/g) || [];\n\n\t\tif (mathes.length !== mathes2.length) return true;\n\n\t\tconst mathesChanged = mathes.filter((math, n) => {\n\t\t\tconst math2 = mathes2[n] || '';\n\n\t\t\treturn math !== math2;\n\t\t});\n\n\t\tif (mathesChanged.length) return true;\n\n\t\treturn false;\n\t};\n\n\tstatic opendDialogsFromUrl = async () => {\n\t\tconst toViewPageN = Number(getHash('vpn')) || 0;\n\n\t\t// Открыть диалоговое окно\n\t\tlet view: RegExpExecArray | null;\n\t\t// const regexp = new RegExp('view-((\\\\w+)=([\\\\w-]+)(?::([\\\\w.:-]+))?)' + '(' + Math.random() + ')?', 'g'); // fix babel minify regexp\n\t\tconst regexp = new RegExp('view-((\\\\w+)=([\\\\w-]+)(?::([\\\\w.:-]+))?)', 'g');\n\n\t\t// TODO: Цикл делает только одну оперцию и выходит (возможно, оставлен специально с какой-то целью, если нет - заменить на if)\n\t\twhile (view = regexp.exec(location.hash)) {\n\t\t\tlet moveDirection: MoveDirection = 'next';\n\t\t\tif (toViewPageN < this.state.viewPageN) moveDirection = 'prev';\n\n\t\t\tconst TopDialogUtils = await this.getDialogsUtils();\n\n\t\t\treturn TopDialogUtils.toViewDirty(view[1], moveDirection);\n\t\t}\n\n\t\t// Закрыть ненужные view\n\t\tconst elDialogs = querySelectorAllArray(document, '.ui-dialog-content[data-view-page-active]') as HTMLDialogElement[];\n\t\telDialogs.filter((elDialog) => {\n\t\t\treturn isVisible(elDialog);\n\t\t}).forEach((elDialog) => {\n\t\t\tconst viewName = elDialog.getAttribute('id');\n\t\t\tif (!viewName) throw 'Диалоговое окно не содержит id';\n\t\t\tconst pageName = getHash('view-' + viewName);\n\t\t\tif (!pageName) {\n\t\t\t\tconst $dialog = $(elDialog);\n\n\t\t\t\t$dialog.dialog('close');\n\t\t\t}\n\t\t});\n\n\t\tthis.state.viewPageN = toViewPageN;\n\n\t\treturn true;\n\t};\n}\n","import { type ComponentInstance, type ComponentInternalInstance, markRaw, ref } from 'vue';\nimport { waitWhile } from '@/core/utils/system';\nimport TopDialog from '../dialog.vue';\nimport { TopDialogWorker } from '@/components/dialog/lib/worker';\nimport type { MoveDirection } from '@/components/dialog/lib/types';\nimport type { TopDialogComponent } from './types';\nimport { historySetState } from '@/core/utils/route';\n\n/**\n * Объект для работы с диалоговым окном\n *\n * Каждое окно уникально и может быть открыто одновременно только один раз\n *\n * Можно определить много окон, после чего с ними можно вести работу в любой части приложения\n */\nexport class TopDialogHandle<T extends TopDialogComponent> {\n\n\t/**\n\t * Индентификатор, определяется на уровне компонента TopDialogComponent\n\t *\n\t * Может использоваться в навигации для открытия нужных окон с нужными настройками\n\t */\n\tid: string;\n\n\t/**\n\t * ID, используемый в верстке диалогового окна\n\t */\n\tidAttr: string;\n\n\t/**\n\t * Пользовательский компонент диалогового окна\n\t */\n\tComponent: T;\n\n\t/**\n\t * Компонент инициирован\n\t *\n\t * Устанавливается после первого вызова useTopDialog()\n\t */\n\tisMounted = ref(false);\n\n\t/**\n\t * Компонент готов к использованию\n\t *\n\t * Используется для внутренних преобразований после отрисовки\n\t */\n\tisReady = ref(false);\n\n\t/**\n\t * Диалоговое окно открыто\n\t */\n\tisOpened = ref(false);\n\n\t/**\n\t * Имя активной страницы дилогового окна\n\t */\n\tpageActive = ref('');\n\n\t/**\n\t * Диалоговое окно находится в состоянии загрузки своей страницы\n\t */\n\tisLoadingPage = ref(false);\n\n\t/**\n\t * Следующая активная страница\n\t *\n\t * В один момент времени может потребоваться отобразить две страницы, чтобы воспроизвести анимацию\n\t */\n\tpageActiveNext = ref('');\n\n\t/**\n\t * props компонента, доступны после инициализации\n\t */\n\tprops?: ComponentInstance<T>['$props'];\n\n\t/**\n\t * emit базового компонента `TopDialog`\n\t */\n\temit?: ComponentInstance<typeof TopDialog>['$emit'];\n\n\t/**\n\t * Одноразовое событие на закрытие диалогового окна\n\t *\n\t * Используется для привязки окна к сценариям использования\n\t */\n\tonCloseOnce?: (props: typeof this.props, pageName: string) => void;\n\n\tconstructor(TopDialogComponent: T) {\n\t\tthis.id = TopDialogComponent.id!;\n\t\tthis.idAttr = 'dialog_' + TopDialogComponent.id;\n\t\tthis.Component = markRaw(TopDialogComponent);\n\t}\n\n\t/**\n\t * Событие - компонент инициирован\n\t */\n\tonMounted(topDialogComponent: ComponentInternalInstance, topDialogBaseComponent: ComponentInternalInstance) {\n\t\tthis.isMounted.value = true;\n\t\tthis.props = topDialogComponent.props;\n\t\tthis.emit = topDialogBaseComponent.emit;\n\t}\n\n\t/**\n\t * Открыть диалоговое окно\n\t *\n\t * Учтите, что props в диалоговом окне будут доступны не сразу, а только после инициализации vue компонента\n\t */\n\tasync open(pageName: string = 'main', props?: {}, args: [] = [], onCloseOnce?: typeof this.onCloseOnce, moveDirection?: MoveDirection) {\n\t\tif (props) await this.setProps(props);\n\t\tif (onCloseOnce) this.onCloseOnce = onCloseOnce;\n\n\t\tconst TopDialogUtils = await TopDialogWorker.getDialogsUtils();\n\n\t\tawait TopDialogUtils.toView(this.idAttr, pageName, args, moveDirection);\n\t};\n\n\t/**\n\t * Открыть диалоговое окно как ссылку, для хеш-навигации\n\t *\n\t * Диалоговые окна загружаются по имени, см. настройку плагина Core topDialogLoader\n\t */\n\tasync openAsLink(\n\t\tpageName: string = 'main',\n\t\tprops?: {},\n\t\t_args: string[] = [],\n\t\tonCloseOnce?: typeof this.onCloseOnce,\n\t\tmoveDirection?: MoveDirection,\n\t) {\n\t\tif (props) await this.setProps(props);\n\t\tif (onCloseOnce) this.onCloseOnce = onCloseOnce;\n\n\t\tconst viewName = this.idAttr + '-' + pageName;\n\n\t\tconst hash = TopDialogWorker.genViewPageHash(viewName, moveDirection);\n\t\thistorySetState(false, hash);\n\t};\n\n\t/**\n\t * Закрыть диалоговое окно\n\t *\n\t * Не меняет состояние компонента диалогового окна\n\t */\n\tasync close() {\n\t\tTopDialogWorker.close(this.idAttr);\n\t};\n\n\t/**\n\t * Размонтировать $.dialog\n\t */\n\tasync destroy() {\n\t\tTopDialogWorker.destroy(this.idAttr);\n\t}\n\n\t/**\n\t * Устанвоить props\n\t *\n\t * Полностью сбрасывается состояние props\n\t */\n\tasync setProps(props: ComponentInstance<T>['$props'] = {}) {\n\t\t// ожидание инициализации компонента\n\t\tif (!this.isMounted) {\n\t\t\tawait waitWhile(() => !this.props);\n\t\t}\n\n\t\tfor (const name in this.props) {\n\t\t\tthis.props[name] = props[name];\n\t\t}\n\t}\n\n\t/**\n\t * Проверить, есть ли необходимость отрисовки страницы диалогового окна\n\t */\n\tneedShowPage(pageName: string): boolean {\n\t\tif (!this.isOpened.value) return false;\n\n\t\treturn this.pageActive.value === pageName || this.pageActiveNext.value === pageName;\n\t}\n}\n","<script lang=\"ts\">\nimport { shallowReactive } from 'vue';\nimport { TopDialogHandle } from '@/components/dialog/dialog/composables/dialogHandle';\nimport type { TopDialogComponent } from '@/components/dialog/dialog/composables/types';\n\n/**\n * Словарь всех используемых диалоговых окон\n *\n * В других компонентах не использовать\n */\nconst dialogsWorkers = shallowReactive(new Map<string, TopDialogHandle<TopDialogComponent>>());\n\n/**\n * Получить компонент диалогового окна по id\n */\nexport const getDialogWorker = (id: string) => {\n\tid = id.replace(/^dialog_/, '');\n\n\treturn dialogsWorkers.get(id);\n};\n\n/**\n * Добавить компонент диалогового окна для использования\n */\nexport const addDialogWorker = <T extends TopDialogComponent>(TopDialogComponent: T): TopDialogHandle<T> => {\n\tif (!TopDialogComponent?.id) {\n\t\tconsole.log({ TopDialogComponent: TopDialogComponent });\n\n\t\tthrow new Error('Expected TopDialogComponent');\n\t}\n\n\tif (!dialogsWorkers.has(TopDialogComponent.id)) {\n\t\tdialogsWorkers.set(TopDialogComponent.id, new TopDialogHandle(TopDialogComponent));\n\t}\n\n\treturn dialogsWorkers.get(TopDialogComponent.id) as TopDialogHandle<T>;\n};\n</script>\n\n<script setup lang=\"ts\">\nimport { onUnmounted } from 'vue';\n\ndefineOptions({\n\tname: 'DialogWrapper',\n});\n\nonUnmounted(() => {\n\tdialogsWorkers.forEach(dialog => dialog.destroy());\n\tdialogsWorkers.clear();\n});\n</script>\n\n<template>\n\t<div class=\"top-dialogs\" style=\"display: none;\">\n\t\t<component\n\t\t\tv-for=\"[dialogId, dialog] in dialogsWorkers\"\n\t\t\t:is=\"dialog.Component\"\n\t\t\t:key=\"dialogId\"\n\t\t/>\n\t</div>\n</template>\n"],"names":["TopDialogWorker","options","autoInitDelay","e","el","moveDirection","mouseEvent","TopDialogUtils","toView","viewName","elDialog","elModalLayers","querySelectorAllArray","elCurrentPages","acc","elCurrentPage","pageName","_a","elNextPage","_b","hash","isVisible","historySetState","oldUrl","newUrl","oldHash","newHash","$el","$dialog","elPage","dialogId","toViewPageN","viewNameAndPageLink","pageLink","genHash","hash2","mathes","mathes2","math","n","math2","getHash","view","regexp","TopDialogHandle","ref","TopDialogComponent","markRaw","topDialogComponent","topDialogBaseComponent","props","args","onCloseOnce","_args","waitWhile","name","dialogsWorkers","shallowReactive","getDialogWorker","id","addDialogWorker","onUnmounted","dialog"],"mappings":"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"}
|