@topvisor/ui 1.5.9-openApi.4 → 1.5.9-pnpm.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.chunks/api-Djk3WKsn.es.amd.js +2 -0
- package/.chunks/api-Djk3WKsn.es.amd.js.map +1 -0
- package/.chunks/{api-BD74aA98.esm.js → api-Djk3WKsn.es.js} +14 -12
- package/.chunks/api-Djk3WKsn.es.js.map +1 -0
- package/.chunks/app-DthfMLqk.es.amd.js +2 -0
- package/.chunks/app-DthfMLqk.es.amd.js.map +1 -0
- package/.chunks/{app-BaHwxbWz.esm.js → app-DthfMLqk.es.js} +18 -20
- package/.chunks/app-DthfMLqk.es.js.map +1 -0
- package/.chunks/datepicker-CxwCnLmb.es.amd.js +2 -0
- package/.chunks/datepicker-CxwCnLmb.es.amd.js.map +1 -0
- package/.chunks/{datepicker-C7FNogyy.esm.js → datepicker-CxwCnLmb.es.js} +2 -2
- package/.chunks/datepicker-CxwCnLmb.es.js.map +1 -0
- package/.chunks/dialog-CeM1i76L.es.amd.js +2 -0
- package/.chunks/dialog-CeM1i76L.es.amd.js.map +1 -0
- package/.chunks/{dialog-BM4mfi7y.esm.js → dialog-CeM1i76L.es.js} +3 -3
- package/.chunks/dialog-CeM1i76L.es.js.map +1 -0
- package/.chunks/dialog_regionSelectorRegions-BWWggJbQ.es.amd.js +2 -0
- package/.chunks/dialog_regionSelectorRegions-BWWggJbQ.es.amd.js.map +1 -0
- package/.chunks/{dialog_regionSelectorRegions-CN3F-67P.esm.js → dialog_regionSelectorRegions-BWWggJbQ.es.js} +4 -4
- package/.chunks/dialog_regionSelectorRegions-BWWggJbQ.es.js.map +1 -0
- package/.chunks/{field-DEusYVqS.amd.js → field-DEusYVqS.es.amd.js} +1 -1
- package/.chunks/field-DEusYVqS.es.amd.js.map +1 -0
- package/.chunks/{field-DEusYVqS.esm.js → field-DEusYVqS.es.js} +1 -1
- package/.chunks/field-DEusYVqS.es.js.map +1 -0
- package/.chunks/forms-BlerVsRB.es.amd.js +2 -0
- package/.chunks/forms-BlerVsRB.es.amd.js.map +1 -0
- package/.chunks/{forms-_4U0sLFk.esm.js → forms-BlerVsRB.es.js} +129 -133
- package/.chunks/forms-BlerVsRB.es.js.map +1 -0
- package/.chunks/formsExt-DbpqJoXl.es.amd.js +2 -0
- package/.chunks/formsExt-DbpqJoXl.es.amd.js.map +1 -0
- package/.chunks/{formsExt-BMmWhdTu.esm.js → formsExt-DbpqJoXl.es.js} +9 -11
- package/.chunks/formsExt-DbpqJoXl.es.js.map +1 -0
- package/.chunks/{lazy-DQU-hLos.amd.js → lazy-DQU-hLos.es.amd.js} +1 -1
- package/.chunks/lazy-DQU-hLos.es.amd.js.map +1 -0
- package/.chunks/{lazy-DQU-hLos.esm.js → lazy-DQU-hLos.es.js} +1 -1
- package/.chunks/lazy-DQU-hLos.es.js.map +1 -0
- package/.chunks/{mocker-C9Dl3SwM.amd.js → mocker-h3ROH-VB.es.amd.js} +2 -2
- package/.chunks/mocker-h3ROH-VB.es.amd.js.map +1 -0
- package/.chunks/{mocker-C9Dl3SwM.esm.js → mocker-h3ROH-VB.es.js} +2 -2
- package/.chunks/mocker-h3ROH-VB.es.js.map +1 -0
- package/.chunks/{notice-FzLgMsrr.amd.js → notice-B5wJBkle.es.amd.js} +2 -2
- package/.chunks/notice-B5wJBkle.es.amd.js.map +1 -0
- package/.chunks/{notice-FzLgMsrr.esm.js → notice-B5wJBkle.es.js} +2 -2
- package/.chunks/notice-B5wJBkle.es.js.map +1 -0
- package/.chunks/popup-C4qezebt.es.amd.js +2 -0
- package/.chunks/popup-C4qezebt.es.amd.js.map +1 -0
- package/.chunks/{popup-DViuKwOc.esm.js → popup-C4qezebt.es.js} +3 -3
- package/.chunks/popup-C4qezebt.es.js.map +1 -0
- package/.chunks/popup-Cb0JWm53.es.amd.js +2 -0
- package/.chunks/popup-Cb0JWm53.es.amd.js.map +1 -0
- package/.chunks/{popup-CS0IahOr.esm.js → popup-Cb0JWm53.es.js} +5 -5
- package/.chunks/popup-Cb0JWm53.es.js.map +1 -0
- package/.chunks/punycode.es6-BfQkzK-L.es.amd.js +2 -0
- package/.chunks/punycode.es6-BfQkzK-L.es.amd.js.map +1 -0
- package/.chunks/punycode.es6-BfQkzK-L.es.js +105 -0
- package/.chunks/punycode.es6-BfQkzK-L.es.js.map +1 -0
- package/.chunks/{store-DjQAOnrn.amd.js → store-DjQAOnrn.es.amd.js} +1 -1
- package/.chunks/store-DjQAOnrn.es.amd.js.map +1 -0
- package/.chunks/{store-DjQAOnrn.esm.js → store-DjQAOnrn.es.js} +1 -1
- package/.chunks/store-DjQAOnrn.es.js.map +1 -0
- package/.chunks/utils-46VBGPRw.es.amd.js +2 -0
- package/.chunks/utils-46VBGPRw.es.amd.js.map +1 -0
- package/.chunks/{utils-B1tz7GZc.esm.js → utils-46VBGPRw.es.js} +14 -15
- package/.chunks/utils-46VBGPRw.es.js.map +1 -0
- package/.chunks/utils-BhzB2nCx.es.amd.js +2 -0
- package/.chunks/utils-BhzB2nCx.es.amd.js.map +1 -0
- package/.chunks/{utils-B1P0BzZ1.esm.js → utils-BhzB2nCx.es.js} +5 -5
- package/.chunks/utils-BhzB2nCx.es.js.map +1 -0
- package/.chunks/worker-MQXxaWta.es.amd.js +2 -0
- package/.chunks/worker-MQXxaWta.es.amd.js.map +1 -0
- package/.chunks/{worker-D28QqQ45.esm.js → worker-MQXxaWta.es.js} +4 -4
- package/.chunks/worker-MQXxaWta.es.js.map +1 -0
- package/api/additional.amd.js +1 -1
- package/api/additional.amd.js.map +1 -1
- package/api/additional.js +2 -4
- package/api/additional.js.map +1 -1
- package/api/index.amd.js +1 -1
- package/api/index.amd.js.map +1 -1
- package/api/index.js +2 -2
- package/autoload-css-manifest.amd.json +4 -4
- package/autoload-css-manifest.json +4 -4
- package/charts/charts.amd.js +1 -1
- package/charts/charts.amd.js.map +1 -1
- package/charts/charts.js +1 -1
- package/charts/charts.js.map +1 -1
- package/core/app.amd.js +1 -1
- package/core/app.amd.js.map +1 -1
- package/core/app.js +3 -3
- package/dialog/dialog.amd.js +1 -1
- package/dialog/dialog.amd.js.map +1 -1
- package/dialog/dialog.js +2 -2
- package/extra/extra.js.map +1 -1
- package/forms/forms.amd.js +1 -1
- package/forms/forms.amd.js.map +1 -1
- package/forms/forms.js +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +1 -1
- package/icomoon/Topvisor icons.json +284 -261
- package/icomoon/demo-files/demo.amd.js +1 -1
- package/icomoon/demo-files/demo.amd.js.map +1 -1
- package/icomoon/demo-files/demo.css +0 -3
- package/icomoon/demo-files/demo.js +2 -2
- package/icomoon/demo.html +30 -19
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +2 -1
- package/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/icomoon/fonts/Topvisor-2.woff +0 -0
- package/icomoon/selection.json +1 -1
- package/icomoon/style.css +11 -8
- package/layout/layout.amd.js +1 -1
- package/layout/layout.amd.js.map +1 -1
- package/layout/layout.js +1 -1
- package/layout/layout.js.map +1 -1
- package/package.json +3 -3
- package/popup/popup.amd.js +1 -1
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.js +1 -1
- package/popup/worker.amd.js +1 -1
- package/popup/worker.amd.js.map +1 -1
- package/popup/worker.js +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +77 -76
- package/project/project.js.map +1 -1
- package/schedule/schedule.amd.js +1 -1
- package/schedule/schedule.amd.js.map +1 -1
- package/schedule/schedule.js +4 -4
- package/schedule/schedule.js.map +1 -1
- package/src/api/api/index.d.ts +2 -2
- package/src/api/api/types/utils.d.ts +1 -1
- package/src/components/formsExt/selector2/composables/useAPI.d.ts +2 -2
- package/src/components/project/projectSelector/utils.d.ts +2 -0
- package/tabs/tabs.amd.js.map +1 -1
- package/tabs/tabs.js.map +1 -1
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.js +3 -3
- package/tabsView/tabsView.js.map +1 -1
- package/utils/clipboard.amd.js +1 -1
- package/utils/clipboard.amd.js.map +1 -1
- package/utils/clipboard.js +1 -1
- package/utils/date.amd.js +1 -1
- package/utils/date.amd.js.map +1 -1
- package/utils/date.js +1 -1
- package/utils/device.amd.js +1 -1
- package/utils/device.amd.js.map +1 -1
- package/utils/device.js +1 -1
- package/utils/image.amd.js +1 -1
- package/utils/image.amd.js.map +1 -1
- package/utils/image.js +1 -1
- package/utils/lodash.amd.js +1 -1
- package/utils/lodash.amd.js.map +1 -1
- package/utils/lodash.js +1 -1
- package/utils/number.amd.js +1 -1
- package/utils/number.amd.js.map +1 -1
- package/utils/number.js +1 -1
- package/utils/number.js.map +1 -1
- package/utils/price.amd.js +1 -1
- package/utils/price.amd.js.map +1 -1
- package/utils/price.js +1 -1
- package/utils/searchers.amd.js.map +1 -1
- package/utils/searchers.js +4 -12
- package/utils/searchers.js.map +1 -1
- package/utils/store.amd.js +1 -1
- package/utils/store.amd.js.map +1 -1
- package/utils/store.js +1 -1
- package/utils/string.amd.js +1 -1
- package/utils/string.amd.js.map +1 -1
- package/utils/string.js +7 -9
- package/utils/string.js.map +1 -1
- package/utils/url.amd.js +1 -1
- package/utils/url.amd.js.map +1 -1
- package/utils/url.js +1 -1
- package/.chunks/api-BD74aA98.amd.js +0 -2
- package/.chunks/api-BD74aA98.amd.js.map +0 -1
- package/.chunks/api-BD74aA98.esm.js.map +0 -1
- package/.chunks/app-BaHwxbWz.amd.js +0 -2
- package/.chunks/app-BaHwxbWz.amd.js.map +0 -1
- package/.chunks/app-BaHwxbWz.esm.js.map +0 -1
- package/.chunks/datepicker-C7FNogyy.amd.js +0 -2
- package/.chunks/datepicker-C7FNogyy.amd.js.map +0 -1
- package/.chunks/datepicker-C7FNogyy.esm.js.map +0 -1
- package/.chunks/dialog-BM4mfi7y.amd.js +0 -2
- package/.chunks/dialog-BM4mfi7y.amd.js.map +0 -1
- package/.chunks/dialog-BM4mfi7y.esm.js.map +0 -1
- package/.chunks/dialog_regionSelectorRegions-CN3F-67P.amd.js +0 -2
- package/.chunks/dialog_regionSelectorRegions-CN3F-67P.amd.js.map +0 -1
- package/.chunks/dialog_regionSelectorRegions-CN3F-67P.esm.js.map +0 -1
- package/.chunks/field-DEusYVqS.amd.js.map +0 -1
- package/.chunks/field-DEusYVqS.esm.js.map +0 -1
- package/.chunks/forms-_4U0sLFk.amd.js +0 -2
- package/.chunks/forms-_4U0sLFk.amd.js.map +0 -1
- package/.chunks/forms-_4U0sLFk.esm.js.map +0 -1
- package/.chunks/formsExt-BMmWhdTu.amd.js +0 -2
- package/.chunks/formsExt-BMmWhdTu.amd.js.map +0 -1
- package/.chunks/formsExt-BMmWhdTu.esm.js.map +0 -1
- package/.chunks/lazy-DQU-hLos.amd.js.map +0 -1
- package/.chunks/lazy-DQU-hLos.esm.js.map +0 -1
- package/.chunks/mocker-C9Dl3SwM.amd.js.map +0 -1
- package/.chunks/mocker-C9Dl3SwM.esm.js.map +0 -1
- package/.chunks/notice-FzLgMsrr.amd.js.map +0 -1
- package/.chunks/notice-FzLgMsrr.esm.js.map +0 -1
- package/.chunks/popup-CS0IahOr.amd.js +0 -2
- package/.chunks/popup-CS0IahOr.amd.js.map +0 -1
- package/.chunks/popup-CS0IahOr.esm.js.map +0 -1
- package/.chunks/popup-DViuKwOc.amd.js +0 -2
- package/.chunks/popup-DViuKwOc.amd.js.map +0 -1
- package/.chunks/popup-DViuKwOc.esm.js.map +0 -1
- package/.chunks/punycode.es6-CMafsPEb.amd.js +0 -2
- package/.chunks/punycode.es6-CMafsPEb.amd.js.map +0 -1
- package/.chunks/punycode.es6-CMafsPEb.esm.js +0 -105
- package/.chunks/punycode.es6-CMafsPEb.esm.js.map +0 -1
- package/.chunks/store-DjQAOnrn.amd.js.map +0 -1
- package/.chunks/store-DjQAOnrn.esm.js.map +0 -1
- package/.chunks/utils-B1P0BzZ1.amd.js +0 -2
- package/.chunks/utils-B1P0BzZ1.amd.js.map +0 -1
- package/.chunks/utils-B1P0BzZ1.esm.js.map +0 -1
- package/.chunks/utils-B1tz7GZc.amd.js +0 -2
- package/.chunks/utils-B1tz7GZc.amd.js.map +0 -1
- package/.chunks/utils-B1tz7GZc.esm.js.map +0 -1
- package/.chunks/worker-D28QqQ45.amd.js +0 -2
- package/.chunks/worker-D28QqQ45.amd.js.map +0 -1
- package/.chunks/worker-D28QqQ45.esm.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-MQXxaWta.es.js","names":[],"sources":["../../src/components/popup/lib/worker.ts"],"sourcesContent":["/**\n * PopupWorker управляет работой Popup\n *\n * Должен грузить TopLibPopup только в отложенном режиме\n */\n\nimport Core from '@/core/core/core';\nimport DOM from '@/core/utils/dom';\nimport type { PopupOptions, TopLibPopup } from '@/components/popup/lib/popup';\nimport type { OpenerProps } from '@/components/popup/popup/opener/types';\n\nexport type Options = {\n\t/**\n\t * Глобальное событие, которое будет вызвано перед открытием TopPopup\n\t */\n\tdecoratorBeforeOpen?: (popup: TopLibPopup) => void,\n\n\t/**\n\t * Глобальное событие, которое будет вызвано после открытия TopPopup\n\t */\n\tdecoratorAfterOpen?: (popup: TopLibPopup) => void;\n\n\t/**\n\t * Определитель того, что клик вне Popup нужно игнорировать\n\t * @returns {boolean} - если true, то click не приведет к закрытию Popup\n\t */\n\tdecoratorIsIgnoreOuterClick?: (e: MouseEvent) => boolean\n}\n\nclass Worker {\n\n\t/**\n\t * Глобальное выключение закрытия меню, используется при различных оверлеях\n\t */\n\tstatic noClose = false;\n\n\t/**\n\t * Для взаимодействия с vue\n\t */\n\tstatic vueConnectors = new Map();\n\n\tstatic options: Options = {};\n\n\t/**\n\t * Вернуть объект компонента popup, привязанный к элементу\n\t */\n\tstatic getPopup(elPopup: HTMLElement): TopLibPopup {\n\t\treturn DOM.storage(elPopup, 'TopPopup') as TopLibPopup;\n\t}\n\n\t/**\n\t * Получить родительский popup\n\t */\n\tstatic getParentPopup(el: HTMLElement): TopLibPopup | undefined {\n\t\tconst elPopup = Worker.getElPopup(el);\n\t\tif (!elPopup) return;\n\n\t\tconst parentPopup = Worker.getPopup(elPopup);\n\t\tif (!parentPopup) return;\n\n\t\treturn parentPopup;\n\t}\n\n\t/**\n\t * Найти родительский (или этот) popup, с указанным opener\n\t *\n\t * @param el Любой элемент внутри любого popup\n\t * @param elOpenerClosest Элемент opener для поиска нужного родительского popup\n\t */\n\tstatic getClosestPopup(el: HTMLElement, elOpenerClosest: HTMLElement): TopLibPopup | undefined {\n\t\tconst parentPopup = Worker.getParentPopup(el);\n\t\tif (!parentPopup) return;\n\n\t\tif (!parentPopup.el) return;\n\n\t\tif (parentPopup.el === elOpenerClosest) {\n\t\t\treturn parentPopup;\n\t\t}\n\n\t\treturn Worker.getClosestPopup(parentPopup.el, elOpenerClosest);\n\t}\n\n\tstatic getElPopup(el: HTMLElement): HTMLElement | null {\n\t\treturn el.closest<HTMLElement>('.top-popup-wrapper');\n\t}\n\n\tstatic getElPopupOpener(el: HTMLElement): HTMLElement | null {\n\t\treturn el.closest<HTMLElement>('[data-top-popup]');\n\t}\n\n\tstatic getPopupFromOpener(el: HTMLElement): TopLibPopup | null {\n\t\tconst elOpener = Worker.getElPopupOpener(el);\n\t\tif (!elOpener) return null;\n\n\t\treturn DOM.storage(elOpener, '#TopPopup');\n\t}\n\n\t/**\n\t * Вернуть все элементы с Popup\n\t */\n\tstatic getAll(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllArray(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Вернуть все элементы с открытыми Popup\n\t */\n\tstatic getAllVisible(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllVisible(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Открыть Popup от указанного elOpener\n\t * @param {HTMLElement} elOpener - элемент, который должен вызвать открытие Popup\n\t */\n\tstatic async openByOpener(elOpener: HTMLElement): Promise<TopLibPopup | undefined> {\n\t\tif (!(elOpener instanceof HTMLElement)) return;\n\n\t\tconst options: PopupOptions = {};\n\n\t\toptions.popup = elOpener.dataset.topPopup;\n\n\t\toptions.id = elOpener.dataset.topPopupId;\n\n\t\t/**\n\t\t * @deprecated в php шаблонах нет data-top-popup-id\n\t\t */\n\t\tif (!options.id && options.popup) {\n\t\t\telOpener.dataset.topPopupId = btoa(\n\t\t\t\tString.fromCharCode(...new TextEncoder().encode(options.popup))\n\t\t\t);\n\n\t\t\toptions.id = elOpener.dataset.topPopupId;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated topPopupP - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupP) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupP);\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupPos) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupPos);\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupNotch) {\n\t\t\toptions.notch = elOpener.dataset.topPopupNotch === 'true' || elOpener.dataset.topPopupNotch === '1';\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupClass) {\n\t\t\toptions.class = elOpener.dataset.topPopupClass;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupPosBy) {\n\t\t\toptions.posBy = elOpener.dataset.topPopupPosBy as PopupOptions['posBy'];\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupFront) {\n\t\t\toptions.frontSelector = elOpener.dataset.topPopupFront;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupInvertX) {\n\t\t\toptions.invertX = elOpener.dataset.topPopupInvertX === 'true' || elOpener.dataset.topPopupInvertX === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupOpenByHovertopPopupOpenByHover) {\n\t\t\toptions.openByHover = elOpener.dataset.topPopupOpenByHover === 'true' || elOpener.dataset.topPopupOpenByHover === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupUseOriginal) {\n\t\t\toptions.useOriginal = elOpener.dataset.topPopupUseOriginal === 'true' || elOpener.dataset.topPopupUseOriginal === '1';\n\t\t}\n\n\t\treturn await Worker.open(elOpener, options);\n\t}\n\n\t/**\n\t * Создать и открыть Popup\n\t * @param elOpener - элемент, вызвавший открытие Popup\n\t * @param options - опции Popup\n\t */\n\tprivate static async open(elOpener: HTMLElement, options: PopupOptions): Promise<TopLibPopup> {\n\t\tif (elOpener instanceof HTMLElement) elOpener.dataset.topPopupOpened = 'opened';\n\n\t\tconst { TopLibPopup } = await import('./popup');\n\n\t\tif (Core.$) {\n\t\t\tconst $elOpener = Core.$(elOpener);\n\n\t\t\t// deprecated, используется aftershow.top-menu-popup\n\t\t\tif ($elOpener.data('aftershow')) {\n\t\t\t\tlet afterShow = $elOpener.data('aftershow');\n\t\t\t\tif (typeof (afterShow) == 'string') {\n\t\t\t\t\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\n\t\t\t\t\tafterShow = eval(afterShow.replace(/\\W/g, ''));\n\t\t\t\t}\n\n\t\t\t\t$elOpener.one('aftershow.top-menu-popup', afterShow);\n\t\t\t}\n\n\t\t\t// deprecated, используется afterclose.top-menu-popup\n\t\t\tif ($elOpener.data('afterclose')) {\n\t\t\t\tlet afterclose = $elOpener.data('afterclose');\n\t\t\t\tif (typeof (afterclose) == 'string') {\n\t\t\t\t\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\n\t\t\t\t\tafterclose = eval(afterclose.replace(/\\W/g, ''));\n\t\t\t\t}\n\n\t\t\t\t$elOpener.one('afterclose.top-menu-popup', afterclose);\n\t\t\t}\n\t\t}\n\n\t\toptions.isFullScreen = Core.state.isMobile;\n\n\t\treturn new TopLibPopup(elOpener, options);\n\t}\n\n\tstatic close(elPopup: HTMLElement, restoreFocus = false): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\n\t\tif (popup) {\n\t\t\tpopup.close();\n\n\t\t\tconst isFocused = popup.el.contains(document.activeElement);\n\n\t\t\tif (restoreFocus && !isFocused) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst parentPopup = Worker.getParentPopup(popup.el);\n\t\t\t\t\tif (parentPopup?.openerIsInput) {\n\t\t\t\t\t\tparentPopup.el.focus();\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tpopup.el.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic recalcPosition(elPopup: HTMLElement): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\t\tif (popup && popup.elPopupBody instanceof HTMLElement) {\n\t\t\tpopup.recalcPosition();\n\t\t}\n\t}\n\n\t/**\n\t * Скролл к активному элементу списка\n\t */\n\tstatic scrollToActive(elPopup: HTMLElement): void {\n\t\tconst elItemActive = DOM.querySelectorVisible(elPopup, 'ul.top-popup_content > li > .top-active');\n\t\tif (!elItemActive) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elUl = elPopup.querySelector('ul.top-popup_content');\n\t\tconst elsLi = DOM.querySelectorAllVisible(elPopup, 'ul.top-popup_content > li');\n\n\t\telPopup.classList.add('top-popup-wrapper-no_animate');\n\t\tsetTimeout(() => elPopup.classList.remove('top-popup-wrapper-no_animate'), 100);\n\n\t\tlet top = 100;\n\t\tfor (const elLi of elsLi) {\n\t\t\tif (elLi.querySelector(':scope > .top-active')) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (elLi instanceof HTMLElement) top += elLi.offsetHeight;\n\t\t}\n\n\t\tif (elUl instanceof HTMLElement) {\n\t\t\tconst heightWrapper = elUl.offsetHeight;\n\t\t\tif (top > heightWrapper) {\n\t\t\t\telUl.scrollTop = top - heightWrapper;\n\t\t\t} else {\n\t\t\t\telUl.scrollTop = 0;\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic decoratorBeforeOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorBeforeOpen) {\n\t\t\tthis.options.decoratorBeforeOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorAfterOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorAfterOpen) {\n\t\t\tthis.options.decoratorAfterOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorIsIgnoreOuterClick(e: MouseEvent): boolean {\n\t\tif (this.options.decoratorIsIgnoreOuterClick) {\n\t\t\treturn this.options.decoratorIsIgnoreOuterClick(e);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Зарегистрировать Vue компонент\n\t *\n\t * Каждый экземляр Popup регистрируется в словаре vueConnectors для последующего доступа из js\n\t */\n\tstatic regVueComponent(id: string, vueConnector: any): void {\n\t\tif (Worker.vueConnectors.get(id)) {\n\t\t\tthrow 'Vue component Popup use duplicated id: ' + id;\n\t\t}\n\n\t\tWorker.vueConnectors.set(id, vueConnector);\n\t}\n\n\t/**\n\t * Снять с регистрации Vue компонент\n\t */\n\tstatic unregVueComponent(id: string): void {\n\t\tWorker.vueConnectors.delete(id);\n\t}\n\n\t/**\n\t * Сгенерировать элемент для открытия popup\n\t */\n\tstatic genElPopupOpener(tagName: string, props: OpenerProps, ...elsChildrens: HTMLElement[] | string[]): HTMLElement {\n\t\tconst el = DOM.genEl(tagName, {}, ...elsChildrens) as TopLibPopup['el'];\n\n\t\tel.dataset.topPopup = '#' + props.id;\n\n\t\t// if (props.pos === undefined) props.pos = '3';\n\t\t// if (props.notch === undefined) props.notch = true;\n\t\t// if (props.posBy === undefined) props.posBy = 'fixed';\n\n\t\tfor (const name in props) {\n\t\t\tconst attrName = 'topPopup' + name.charAt(0).toUpperCase() + name.slice(1);\n\n\t\t\tel.dataset[attrName] = props[name];\n\t\t}\n\n\t\tel.__TopPopupOpenerProps = props;\n\n\t\treturn el;\n\t}\n\n}\n\nexport default Worker;\n"],"mappings":"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"}
|
package/api/additional.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define([`require`,`exports`,`../.chunks/field-DEusYVqS.amd`],function(e,t,n){"use strict";if(r===void 0)var r=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.pushFilterTagsIds=t.genFilters=t.genFilterPrimitive=t.genFilterIn=void 0;var i=e=>{let t=[];return Object.keys(e).forEach(n=>{let r=n,i=e[r];if(i===void 0)return;let a;r===`tags_ids`||r===`tags`?o(r,t,i):typeof i==`string`||typeof i==`number`||typeof i==`boolean`?a=s(r,i):(Array.isArray(i)||i instanceof Set)&&(a=c(r,i)),a&&t.push(a)}),t},a=e=>{let t=e,n=`EQUALS`,r;switch((e[1]===`:`||e[2]===`:`)&&([r,t]=e.split(`:`)),r){case`>`:n=`GREATER_THAN`,t=Number(t);break;case`>=`:n=`GREATER_THAN_EQUALS`,t=Number(t);break;case`<`:n=`LESS_THAN`,t=Number(t);break;case`<=`:n=`LESS_THAN_EQUALS`,t=Number(t);break;case`!=`:n=`NOT_EQUALS`,t.match(/^\d+$/)&&(t=Number(t));break;case`%`:n=`CONTAINS`;break;case`!%`:n=`DOES_NOT_CONTAIN`;break;case`^`:n=`STARTS_WITH`;break;case`null`:n=`IS_NULL`;break;case`!null`:n=`IS_NOT_NULL`;break;case`~`:n=`REGEXP`;break;case`!~`:n=`NOT_REGEXP`}return{value:t,operator:n}},o=(e,t,r)=>{let i=[],a=[];r.forEach(e=>{e[0]===`-`?a.push(e.substring(1)):i.push(e)}),i.length&&t.push((0,n.t)(e,`IN`,i)),a.length&&t.push((0,n.t)(e,`NOT_IN`,a))},s=(e,t)=>{let r=t,i=`EQUALS`;return typeof t==`string`&&({value:r,operator:i}=a(t)),typeof r==`boolean`&&(r=+!!r),(0,n.t)(e,i,[r])},c=(e,t)=>(0,n.t)(e,`IN`,Array.isArray(t)?t:[...t]);t.genFilters=i,t.pushFilterTagsIds=o,t.genFilterPrimitive=s,t.genFilterIn=c});
|
|
1
|
+
define([`require`,`exports`,`../.chunks/field-DEusYVqS.es.amd`],function(e,t,n){"use strict";if(r===void 0)var r=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.pushFilterTagsIds=t.genFilters=t.genFilterPrimitive=t.genFilterIn=void 0;var i=e=>{let t=[];return Object.keys(e).forEach(n=>{let r=n,i=e[r];if(i===void 0)return;let a;r===`tags_ids`||r===`tags`?o(r,t,i):typeof i==`string`||typeof i==`number`||typeof i==`boolean`?a=s(r,i):(Array.isArray(i)||i instanceof Set)&&(a=c(r,i)),a&&t.push(a)}),t},a=e=>{let t=e,n=`EQUALS`,r;switch((e[1]===`:`||e[2]===`:`)&&([r,t]=e.split(`:`)),r){case`>`:n=`GREATER_THAN`,t=Number(t);break;case`>=`:n=`GREATER_THAN_EQUALS`,t=Number(t);break;case`<`:n=`LESS_THAN`,t=Number(t);break;case`<=`:n=`LESS_THAN_EQUALS`,t=Number(t);break;case`!=`:n=`NOT_EQUALS`,t.match(/^\d+$/)&&(t=Number(t));break;case`%`:n=`CONTAINS`;break;case`!%`:n=`DOES_NOT_CONTAIN`;break;case`^`:n=`STARTS_WITH`;break;case`null`:n=`IS_NULL`;break;case`!null`:n=`IS_NOT_NULL`;break;case`~`:n=`REGEXP`;break;case`!~`:n=`NOT_REGEXP`}return{value:t,operator:n}},o=(e,t,r)=>{let i=[],a=[];r.forEach(e=>{e[0]===`-`?a.push(e.substring(1)):i.push(e)}),i.length&&t.push((0,n.t)(e,`IN`,i)),a.length&&t.push((0,n.t)(e,`NOT_IN`,a))},s=(e,t)=>{let r=t,i=`EQUALS`;return typeof t==`string`&&({value:r,operator:i}=a(t)),typeof r==`boolean`&&(r=+!!r),(0,n.t)(e,i,[r])},c=(e,t)=>(0,n.t)(e,`IN`,Array.isArray(t)?t:[...t]);t.genFilters=i,t.pushFilterTagsIds=o,t.genFilterPrimitive=s,t.genFilterIn=c});
|
|
2
2
|
//# sourceMappingURL=additional.amd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["api/additional.js","../../src/api/api/utils/filters.ts"],"names":["vue","exports","t","o","s","c","r","i","a","n","field_DEusYVqS_esm_js_1"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,+BAAkC,EAAG,SAAU,EAAS,EAAS,EAAyB,CACpH,aAAA,GAAAA,IAAA,OAAA,IAAAA,EAAA,OAAA,ICuCS,OACZ,eAC+BC,EAAA,aAAA,CAAA,MAAA,EAAA,CAAA,EAC/B,EAA4C,kBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,YAAA,IAAA,GAG3C,IAAMC,EACA,GAAiC,CACnC,IAAU,EAAA,CAAA,EAEV,OAAA,OAAA,KAAA,CAAA,CAAA,CAAA,QAAA,GAAA,CAES,IAAAC,EAAA,EAAcC,EAAA,EAASD,GAa9B,GAAAC,IAAA,IAAA,GASH,OAEA,IAA8CC,EAGpBF,IAAA,YAAwCA,IAAO,OAC3EG,EAAkBH,EAAA,EAAmCC,CAAA,EAAA,OAASA,GAGhE,UAAA,OAAAA,GAAA,UAAA,OAAAA,GAAA,UAAA,EAAAG,EAAAJ,EAAAC,CAAA,GAAA,MAAA,QAAAA,CAAA,GAAAA,aAAA,OAAA,EAAAI,EAAAL,EAAAC,CAAA,GAAAC,GAAA,EAAA,KAAAA,CAAA,CACM,CAAA,EAAA,CACJ,EAAWI,EAAA,GAAA,CAGX,IAAA,EAAA,EAAA,EAAA,SAAA,EACI,QAAA,EAAA,KAAA,KAAA,EAAA,KAAA,OAAA,CAAA,EAAA,GAAA,EAAA,MAAA,GAAA,GAAA,EAAA,CACO,IAAA,IAGX,EAAA,eAAA,EAAA,OAAA,CAAA,EACI,MACO,IAAA,KAGX,EAAA,sBAAA,EAAA,OAAA,CAAA,EACI,MACO,IAAA,IAGX,EAAA,YAAA,EAAA,OAAA,CAAA,EACI,MACO,IAAA,KAIX,EAAA,mBAAA,EAAA,OAAA,CAAA,EACI,MACO,IAAA,KAEX,EAAA,aAAA,EAAA,MAAA,OAAA,IAAA,EAAA,OAAA,CAAA,GACI,MACO,IAAA,IAEX,EAAA,WACI,MACO,IAAA,KAEX,EAAA,mBACI,MACO,IAAA,IAEX,EAAA,cACI,MACO,IAAA,OAEX,EAAA,UACI,MACO,IAAA,QAEX,EAAA,cACI,MACO,IAAA,IAEX,EAAA,SACF,MAEO,IAAA,KAAE,EAAA,YAAgB,CAUzB,MAEA,CAEuD,MACA,EAEtC,SAAU,CAChB,CAKV,EAEgBH,GAAA,EAAA,EAAQ,IAAa,CAWtC,IACA,EAAA,CACI,EAAA,EAAA,CAAA,EACA,EAAQ,QACsC,GAAA,CAE9C,EAAA,KAAqC,IAAA,EAAA,KACvC,EAAA,UAAA,CAAA,CAAA,EAAA,EAAA,KAAsB,CAAA,CAkBxB,CAAA,EACA,EAAA,QAE8CG,EAAA,MAAM,EAAMC,EAAqD,EAAA,CAAAR,EAAA,KAAA,CAAA,CAAA,EAAA,EAAA,QAAAO,EAAA,MAAA,EAAAC,EAAA,EAAA,CAAAR,EAAA,SAAA,CAAA,CAAA,CD7I5G,EAAGK,GAAK,EAAG,IAAM,CACb,IAAIA,EAAID,EAAGE,EAAI,SACf,OAAO,OAAOF,GAAK,WAAa,CAAE,MAAOC,EAAG,SAAUC,GAAMC,EAAEH,CAAC,GAAI,OAAOC,GAAK,YAAc,EAAI,CAAC,CAAC,CAACA,IAAK,EAAGG,EAAwB,EAAC,CAAER,EAAGM,EAAG,CAACD,CAAC,CAAC,CACpJ,EAAGC,GAAK,EAAG,KAAO,EAAGE,EAAwB,EAAC,CAAER,EAAG,KAAM,MAAM,QAAQO,CAAC,EAAIA,EAAI,CAAC,GAAGA,CAAC,CAAC,EACtF,EAAQ,WAAaP,EACrB,EAAQ,kBAAoBI,EAC5B,EAAQ,mBAAqBC,EAC7B,EAAQ,YAAcC,CAC1B,CAAC","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/field-DEusYVqS.esm.js\"], function (require, exports, field_DEusYVqS_esm_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.pushFilterTagsIds = exports.genFilters = exports.genFilterPrimitive = exports.genFilterIn = void 0;\n //#region src/api/api/utils/filters.ts\n var t = (e) => {\n let t = [];\n return Object.keys(e).forEach((n) => {\n let o = n, s = e[o];\n if (s === void 0)\n return;\n let c;\n o === \"tags_ids\" || o === \"tags\" ? r(o, t, s) : typeof s == \"string\" || typeof s == \"number\" || typeof s == \"boolean\" ? c = i(o, s) : (Array.isArray(s) || s instanceof Set) && (c = a(o, s)), c && t.push(c);\n }), t;\n }, n = (e) => {\n let t = e, n = \"EQUALS\", r;\n switch ((e[1] === \":\" || e[2] === \":\") && ([r, t] = e.split(\":\")), r) {\n case \">\":\n n = \"GREATER_THAN\", t = Number(t);\n break;\n case \">=\":\n n = \"GREATER_THAN_EQUALS\", t = Number(t);\n break;\n case \"<\":\n n = \"LESS_THAN\", t = Number(t);\n break;\n case \"<=\":\n n = \"LESS_THAN_EQUALS\", t = Number(t);\n break;\n case \"!=\":\n n = \"NOT_EQUALS\", t.match(/^\\d+$/) && (t = Number(t));\n break;\n case \"%\":\n n = \"CONTAINS\";\n break;\n case \"!%\":\n n = \"DOES_NOT_CONTAIN\";\n break;\n case \"^\":\n n = \"STARTS_WITH\";\n break;\n case \"null\":\n n = \"IS_NULL\";\n break;\n case \"!null\":\n n = \"IS_NOT_NULL\";\n break;\n case \"~\":\n n = \"REGEXP\";\n break;\n case \"!~\":\n n = \"NOT_REGEXP\";\n break;\n }\n return {\n value: t,\n operator: n\n };\n }, r = (t, n, r) => {\n let i = [], a = [];\n r.forEach((e) => {\n e[0] === \"-\" ? a.push(e.substring(1)) : i.push(e);\n }), i.length && n.push((0, field_DEusYVqS_esm_js_1.t)(t, \"IN\", i)), a.length && n.push((0, field_DEusYVqS_esm_js_1.t)(t, \"NOT_IN\", a));\n }, i = (t, r) => {\n let i = r, a = \"EQUALS\";\n return typeof r == \"string\" && ({ value: i, operator: a } = n(r)), typeof i == \"boolean\" && (i = +!!i), (0, field_DEusYVqS_esm_js_1.t)(t, a, [i]);\n }, a = (t, n) => (0, field_DEusYVqS_esm_js_1.t)(t, \"IN\", Array.isArray(n) ? n : [...n]);\n exports.genFilters = t;\n exports.pushFilterTagsIds = r;\n exports.genFilterPrimitive = i;\n exports.genFilterIn = a;\n});\n//# sourceMappingURL=additional.js.map\n","import type { components as componentsTagId } from 'topvisor-openapi/src/ts/Tags_2/Types/TagId';\nimport { genFieldFilter } from './field';\n\ntype TagId = componentsTagId['schemas']['Tags_2.Types.TagId'];\ntype TagIdExclude = `-${TagId}`;\n\ntype DataWithModifierOperator<Model> = {\n\t[K in keyof Model]: Model[K] | Model[K][] | Set<Model[K]> | string\n};\n\n/**\n * Модификатор оператора сравнения\n *\n * Используется посредством добавления к строковому значению поля для упрощения синтаксиса указания фильтров\n *\n * @example Поиск вхождения `Иван` в поле `name`\n * genFilters({\n * id: 12345, // без модификатора опертора\n * name: '%:' + 'Иван', // с модификатором опертора\n * });\n */\ntype ModifierOperator = '>=' | '<=' | '!=' | '>' | '<' | '%' | '!%' | '^' | '~' | '!~' | 'null' | '!null';\n\ntype ValueWithModifierOperator = `${ModifierOperator}:${string | number}`;\n\n/**\n * Сгенерировать массив с фильтрами API\n *\n * Ключи - `filedName`, значения - `[ModifierOperator:]fieldValue` / `fieldValues`\n *\n * Значения `undefined` будут пропускаться\n *\n * Додерживает типы:\n *\n * - string, number, boolean - строгое равенство `EQUALS`, если не указан `modifierOperator`\n * - Array - вхождение `IN`\n * - Set<string | number> - вхождение `IN`\n *\n * @see ModifierOperator\n */\nexport const genFilters = <Model extends Api.Ext.Schemas['Model']>(\n\tdataWithModifierOperator: DataWithModifierOperator<Model>,\n): Api.Field.Filter<Model>[] => {\n\tconst filters: Api.Field.Filter<Model>[] = [];\n\n\tObject.keys(dataWithModifierOperator).forEach(_name => {\n\t\tconst name = _name as string & keyof Model;\n\t\tconst value = dataWithModifierOperator[name];\n\t\tif (value === undefined) return;\n\n\t\tlet filter: Api.Field.Filter<Model> | undefined;\n\n\t\tif (name === 'tags_ids' || name === 'tags') {\n\t\t\tpushFilterTagsIds(name, filters, value as any);\n\t\t} else if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n\t\t\tfilter = genFilterPrimitive(name, value);\n\t\t} else if (Array.isArray(value) || value instanceof Set) {\n\t\t\tfilter = genFilterIn(name, value as any);\n\t\t}\n\n\t\tif (filter) {\n\t\t\tfilters.push(filter);\n\t\t}\n\t});\n\n\treturn filters;\n};\n\n/**\n * Получить value и operator из valueWithModifierOperator\n */\nconst extractOperator = (valueWithModifierOperator: ValueWithModifierOperator): {\n\tvalue: any,\n\toperator: Api.Ext.Schemas['FieldOperator']\n} => {\n\tlet value: string | number = valueWithModifierOperator;\n\tlet operator: Api.Field.Filter<any>['operator'] = 'EQUALS';\n\n\tlet modifierOperator: ModifierOperator | undefined;\n\tif (valueWithModifierOperator[1] === ':' || valueWithModifierOperator[2] === ':') {\n\t\t[modifierOperator, value] = valueWithModifierOperator.split(':') as [ModifierOperator, string];\n\t}\n\n\tswitch (modifierOperator) {\n\t\tcase '>':\n\t\t\toperator = 'GREATER_THAN';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '>=':\n\t\t\toperator = 'GREATER_THAN_EQUALS';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '<':\n\t\t\toperator = 'LESS_THAN';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '<=':\n\t\t\toperator = 'LESS_THAN_EQUALS';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '!=':\n\t\t\toperator = 'NOT_EQUALS';\n\n\t\t\tif (value.match(/^\\d+$/)) value = Number(value);\n\n\t\t\tbreak;\n\t\tcase '%':\n\t\t\toperator = 'CONTAINS';\n\n\t\t\tbreak;\n\t\tcase '!%':\n\t\t\toperator = 'DOES_NOT_CONTAIN';\n\n\t\t\tbreak;\n\t\tcase '^':\n\t\t\toperator = 'STARTS_WITH';\n\n\t\t\tbreak;\n\t\tcase 'null':\n\t\t\toperator = 'IS_NULL';\n\n\t\t\tbreak;\n\t\tcase '!null':\n\t\t\toperator = 'IS_NOT_NULL';\n\n\t\t\tbreak;\n\t\tcase '~':\n\t\t\toperator = 'REGEXP';\n\n\t\t\tbreak;\n\t\tcase '!~':\n\t\t\toperator = 'NOT_REGEXP';\n\n\t\t\tbreak;\n\t}\n\n\treturn { value, operator };\n};\n\n/**\n * Сгенерировать и добавить API фильтр из списка тегов\n */\nexport const pushFilterTagsIds = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tfilters: Api.Field.Filter<Model, FieldName>[],\n\ttagsIds: Array<TagId | TagIdExclude>,\n) => {\n\tconst tagsIncluded: Array<Model[FieldName] & TagId> = [];\n\tconst tagsExcluded: Array<Model[FieldName] & TagId> = [];\n\n\ttagsIds.forEach((tagId) => {\n\t\tif (tagId[0] === '-') {\n\t\t\ttagsExcluded.push(tagId.substring(1) as Model[FieldName] & TagId);\n\t\t} else {\n\t\t\ttagsIncluded.push(tagId as Model[FieldName] & TagId);\n\t\t}\n\t});\n\n\tif (tagsIncluded.length) filters.push(genFieldFilter<Model, FieldName>(name, 'IN', tagsIncluded));\n\tif (tagsExcluded.length) filters.push(genFieldFilter<Model, FieldName>(name, 'NOT_IN', tagsExcluded));\n};\n\n/**\n * Сгенерировать API фильтр из простого значения\n */\nexport const genFilterPrimitive = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tvalueWithModifierOperator: number | string | boolean | ValueWithModifierOperator,\n) => {\n\tlet value = valueWithModifierOperator;\n\tlet operator: Api.Field.Filter<any>['operator'] = 'EQUALS';\n\n\tif (typeof valueWithModifierOperator === 'string') {\n\t\t({ value, operator } = extractOperator(valueWithModifierOperator as ValueWithModifierOperator));\n\t}\n\n\t// @deprecated\n\tif (typeof value === 'boolean') {\n\t\tvalue = value ? 1 : 0;\n\t}\n\n\treturn genFieldFilter<Model>(name, operator, [value as any]);\n};\n\n/**\n * Сгенерировать API фильтр IN\n */\nexport const genFilterIn = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tvaluesOrSet: Model[FieldName][] | Set<Model[FieldName]>,\n) => {\n\treturn genFieldFilter<Model, FieldName>(name, 'IN', Array.isArray(valuesOrSet) ? valuesOrSet : [...valuesOrSet]);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["api/additional.js","../../src/api/api/utils/filters.ts"],"names":["vue","exports","t","o","s","c","r","i","a","n","field_DEusYVqS_es_js_1"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,kCAAiC,EAAG,SAAU,EAAS,EAAS,EAAwB,CAClH,aAAA,GAAAA,IAAA,OAAA,IAAAA,EAAA,OAAA,ICuCS,OACZ,eAC+BC,EAAA,aAAA,CAAA,MAAA,EAAA,CAAA,EAC/B,EAA4C,kBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,YAAA,IAAA,GAG3C,IAAMC,EACA,GAAiC,CACnC,IAAU,EAAA,CAAA,EAEV,OAAA,OAAA,KAAA,CAAA,CAAA,CAAA,QAAA,GAAA,CAES,IAAAC,EAAA,EAAcC,EAAA,EAASD,GAa9B,GAAAC,IAAA,IAAA,GASH,OAEA,IAA8CC,EAGpBF,IAAA,YAAwCA,IAAO,OAC3EG,EAAkBH,EAAA,EAAmCC,CAAA,EAAA,OAASA,GAGhE,UAAA,OAAAA,GAAA,UAAA,OAAAA,GAAA,UAAA,EAAAG,EAAAJ,EAAAC,CAAA,GAAA,MAAA,QAAAA,CAAA,GAAAA,aAAA,OAAA,EAAAI,EAAAL,EAAAC,CAAA,GAAAC,GAAA,EAAA,KAAAA,CAAA,CACM,CAAA,EAAA,CACJ,EAAWI,EAAA,GAAA,CAGX,IAAA,EAAA,EAAA,EAAA,SAAA,EACI,QAAA,EAAA,KAAA,KAAA,EAAA,KAAA,OAAA,CAAA,EAAA,GAAA,EAAA,MAAA,GAAA,GAAA,EAAA,CACO,IAAA,IAGX,EAAA,eAAA,EAAA,OAAA,CAAA,EACI,MACO,IAAA,KAGX,EAAA,sBAAA,EAAA,OAAA,CAAA,EACI,MACO,IAAA,IAGX,EAAA,YAAA,EAAA,OAAA,CAAA,EACI,MACO,IAAA,KAIX,EAAA,mBAAA,EAAA,OAAA,CAAA,EACI,MACO,IAAA,KAEX,EAAA,aAAA,EAAA,MAAA,OAAA,IAAA,EAAA,OAAA,CAAA,GACI,MACO,IAAA,IAEX,EAAA,WACI,MACO,IAAA,KAEX,EAAA,mBACI,MACO,IAAA,IAEX,EAAA,cACI,MACO,IAAA,OAEX,EAAA,UACI,MACO,IAAA,QAEX,EAAA,cAEA,MAGF,IAAA,IAEO,EAAA,SAAE,MAAO,IAAA,KAAA,EAAA,YAAS,CAUzB,MAEA,CAEuD,MACA,EAEtC,SAAU,CAChB,CAKV,EAEgBH,GAAA,EAAA,EAAQ,IAAa,CAWtC,IACA,EAAA,CACI,EAAA,EAAA,CAAA,EACA,EAAQ,QACsC,GAAA,CAE9C,EAAA,KAAqC,IAAA,EAAA,KACvC,EAAA,UAAA,CAAA,CAAA,EAAA,EAAA,KAAsB,CAAA,CAkBxB,CAAA,EACA,EAAA,QAE8CG,EAAA,MAAM,EAAMC,EAAqD,EAAA,CAAAR,EAAA,KAAA,CAAA,CAAA,EAAA,EAAA,QAAAO,EAAA,MAAA,EAAAC,EAAA,EAAA,CAAAR,EAAA,SAAA,CAAA,CAAA,CD/I5G,EAAGK,GAAK,EAAG,IAAM,CACb,IAAIA,EAAID,EAAGE,EAAI,SACf,OAAO,OAAOF,GAAK,WAAa,CAAE,MAAOC,EAAG,SAAUC,GAAMC,EAAEH,CAAC,GAAI,OAAOC,GAAK,YAAc,EAAI,CAAC,CAAC,CAACA,IAAK,EAAGG,EAAuB,EAAC,CAAER,EAAGM,EAAG,CAACD,CAAC,CAAC,CACnJ,EAAGC,GAAK,EAAG,KAAO,EAAGE,EAAuB,EAAC,CAAER,EAAG,KAAM,MAAM,QAAQO,CAAC,EAAIA,EAAI,CAAC,GAAGA,CAAC,CAAC,EACrF,EAAQ,WAAaP,EACrB,EAAQ,kBAAoBI,EAC5B,EAAQ,mBAAqBC,EAC7B,EAAQ,YAAcC,CAC1B,CAAC","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/field-DEusYVqS.es.js\"], function (require, exports, field_DEusYVqS_es_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.pushFilterTagsIds = exports.genFilters = exports.genFilterPrimitive = exports.genFilterIn = void 0;\n //#region src/api/api/utils/filters.ts\n var t = (e) => {\n let t = [];\n return Object.keys(e).forEach((n) => {\n let o = n, s = e[o];\n if (s === void 0)\n return;\n let c;\n o === \"tags_ids\" || o === \"tags\" ? r(o, t, s) : typeof s == \"string\" || typeof s == \"number\" || typeof s == \"boolean\" ? c = i(o, s) : (Array.isArray(s) || s instanceof Set) && (c = a(o, s)), c && t.push(c);\n }), t;\n }, n = (e) => {\n let t = e, n = \"EQUALS\", r;\n switch ((e[1] === \":\" || e[2] === \":\") && ([r, t] = e.split(\":\")), r) {\n case \">\":\n n = \"GREATER_THAN\", t = Number(t);\n break;\n case \">=\":\n n = \"GREATER_THAN_EQUALS\", t = Number(t);\n break;\n case \"<\":\n n = \"LESS_THAN\", t = Number(t);\n break;\n case \"<=\":\n n = \"LESS_THAN_EQUALS\", t = Number(t);\n break;\n case \"!=\":\n n = \"NOT_EQUALS\", t.match(/^\\d+$/) && (t = Number(t));\n break;\n case \"%\":\n n = \"CONTAINS\";\n break;\n case \"!%\":\n n = \"DOES_NOT_CONTAIN\";\n break;\n case \"^\":\n n = \"STARTS_WITH\";\n break;\n case \"null\":\n n = \"IS_NULL\";\n break;\n case \"!null\":\n n = \"IS_NOT_NULL\";\n break;\n case \"~\":\n n = \"REGEXP\";\n break;\n case \"!~\": n = \"NOT_REGEXP\";\n }\n return {\n value: t,\n operator: n\n };\n }, r = (t, n, r) => {\n let i = [], a = [];\n r.forEach((e) => {\n e[0] === \"-\" ? a.push(e.substring(1)) : i.push(e);\n }), i.length && n.push((0, field_DEusYVqS_es_js_1.t)(t, \"IN\", i)), a.length && n.push((0, field_DEusYVqS_es_js_1.t)(t, \"NOT_IN\", a));\n }, i = (t, r) => {\n let i = r, a = \"EQUALS\";\n return typeof r == \"string\" && ({ value: i, operator: a } = n(r)), typeof i == \"boolean\" && (i = +!!i), (0, field_DEusYVqS_es_js_1.t)(t, a, [i]);\n }, a = (t, n) => (0, field_DEusYVqS_es_js_1.t)(t, \"IN\", Array.isArray(n) ? n : [...n]);\n exports.genFilters = t;\n exports.pushFilterTagsIds = r;\n exports.genFilterPrimitive = i;\n exports.genFilterIn = a;\n});\n//# sourceMappingURL=additional.js.map\n","import type { components as componentsTagId } from 'topvisor-openapi/src/ts/Tags_2/Types/TagId';\nimport { genFieldFilter } from './field';\n\ntype TagId = componentsTagId['schemas']['Tags_2.Types.TagId'];\ntype TagIdExclude = `-${TagId}`;\n\ntype DataWithModifierOperator<Model> = {\n\t[K in keyof Model]: Model[K] | Model[K][] | Set<Model[K]> | string\n};\n\n/**\n * Модификатор оператора сравнения\n *\n * Используется посредством добавления к строковому значению поля для упрощения синтаксиса указания фильтров\n *\n * @example Поиск вхождения `Иван` в поле `name`\n * genFilters({\n * id: 12345, // без модификатора опертора\n * name: '%:' + 'Иван', // с модификатором опертора\n * });\n */\ntype ModifierOperator = '>=' | '<=' | '!=' | '>' | '<' | '%' | '!%' | '^' | '~' | '!~' | 'null' | '!null';\n\ntype ValueWithModifierOperator = `${ModifierOperator}:${string | number}`;\n\n/**\n * Сгенерировать массив с фильтрами API\n *\n * Ключи - `filedName`, значения - `[ModifierOperator:]fieldValue` / `fieldValues`\n *\n * Значения `undefined` будут пропускаться\n *\n * Додерживает типы:\n *\n * - string, number, boolean - строгое равенство `EQUALS`, если не указан `modifierOperator`\n * - Array - вхождение `IN`\n * - Set<string | number> - вхождение `IN`\n *\n * @see ModifierOperator\n */\nexport const genFilters = <Model extends Api.Ext.Schemas['Model']>(\n\tdataWithModifierOperator: DataWithModifierOperator<Model>,\n): Api.Field.Filter<Model>[] => {\n\tconst filters: Api.Field.Filter<Model>[] = [];\n\n\tObject.keys(dataWithModifierOperator).forEach(_name => {\n\t\tconst name = _name as string & keyof Model;\n\t\tconst value = dataWithModifierOperator[name];\n\t\tif (value === undefined) return;\n\n\t\tlet filter: Api.Field.Filter<Model> | undefined;\n\n\t\tif (name === 'tags_ids' || name === 'tags') {\n\t\t\tpushFilterTagsIds(name, filters, value as any);\n\t\t} else if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n\t\t\tfilter = genFilterPrimitive(name, value);\n\t\t} else if (Array.isArray(value) || value instanceof Set) {\n\t\t\tfilter = genFilterIn(name, value as any);\n\t\t}\n\n\t\tif (filter) {\n\t\t\tfilters.push(filter);\n\t\t}\n\t});\n\n\treturn filters;\n};\n\n/**\n * Получить value и operator из valueWithModifierOperator\n */\nconst extractOperator = (valueWithModifierOperator: ValueWithModifierOperator): {\n\tvalue: any,\n\toperator: Api.Ext.Schemas['FieldOperator']\n} => {\n\tlet value: string | number = valueWithModifierOperator;\n\tlet operator: Api.Field.Filter<any>['operator'] = 'EQUALS';\n\n\tlet modifierOperator: ModifierOperator | undefined;\n\tif (valueWithModifierOperator[1] === ':' || valueWithModifierOperator[2] === ':') {\n\t\t[modifierOperator, value] = valueWithModifierOperator.split(':') as [ModifierOperator, string];\n\t}\n\n\tswitch (modifierOperator) {\n\t\tcase '>':\n\t\t\toperator = 'GREATER_THAN';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '>=':\n\t\t\toperator = 'GREATER_THAN_EQUALS';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '<':\n\t\t\toperator = 'LESS_THAN';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '<=':\n\t\t\toperator = 'LESS_THAN_EQUALS';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '!=':\n\t\t\toperator = 'NOT_EQUALS';\n\n\t\t\tif (value.match(/^\\d+$/)) value = Number(value);\n\n\t\t\tbreak;\n\t\tcase '%':\n\t\t\toperator = 'CONTAINS';\n\n\t\t\tbreak;\n\t\tcase '!%':\n\t\t\toperator = 'DOES_NOT_CONTAIN';\n\n\t\t\tbreak;\n\t\tcase '^':\n\t\t\toperator = 'STARTS_WITH';\n\n\t\t\tbreak;\n\t\tcase 'null':\n\t\t\toperator = 'IS_NULL';\n\n\t\t\tbreak;\n\t\tcase '!null':\n\t\t\toperator = 'IS_NOT_NULL';\n\n\t\t\tbreak;\n\t\tcase '~':\n\t\t\toperator = 'REGEXP';\n\n\t\t\tbreak;\n\t\tcase '!~':\n\t\t\toperator = 'NOT_REGEXP';\n\n\t\t\tbreak;\n\t}\n\n\treturn { value, operator };\n};\n\n/**\n * Сгенерировать и добавить API фильтр из списка тегов\n */\nexport const pushFilterTagsIds = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tfilters: Api.Field.Filter<Model, FieldName>[],\n\ttagsIds: Array<TagId | TagIdExclude>,\n) => {\n\tconst tagsIncluded: Array<Model[FieldName] & TagId> = [];\n\tconst tagsExcluded: Array<Model[FieldName] & TagId> = [];\n\n\ttagsIds.forEach((tagId) => {\n\t\tif (tagId[0] === '-') {\n\t\t\ttagsExcluded.push(tagId.substring(1) as Model[FieldName] & TagId);\n\t\t} else {\n\t\t\ttagsIncluded.push(tagId as Model[FieldName] & TagId);\n\t\t}\n\t});\n\n\tif (tagsIncluded.length) filters.push(genFieldFilter<Model, FieldName>(name, 'IN', tagsIncluded));\n\tif (tagsExcluded.length) filters.push(genFieldFilter<Model, FieldName>(name, 'NOT_IN', tagsExcluded));\n};\n\n/**\n * Сгенерировать API фильтр из простого значения\n */\nexport const genFilterPrimitive = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tvalueWithModifierOperator: number | string | boolean | ValueWithModifierOperator,\n) => {\n\tlet value = valueWithModifierOperator;\n\tlet operator: Api.Field.Filter<any>['operator'] = 'EQUALS';\n\n\tif (typeof valueWithModifierOperator === 'string') {\n\t\t({ value, operator } = extractOperator(valueWithModifierOperator as ValueWithModifierOperator));\n\t}\n\n\t// @deprecated\n\tif (typeof value === 'boolean') {\n\t\tvalue = value ? 1 : 0;\n\t}\n\n\treturn genFieldFilter<Model>(name, operator, [value as any]);\n};\n\n/**\n * Сгенерировать API фильтр IN\n */\nexport const genFilterIn = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tvaluesOrSet: Model[FieldName][] | Set<Model[FieldName]>,\n) => {\n\treturn genFieldFilter<Model, FieldName>(name, 'IN', Array.isArray(valuesOrSet) ? valuesOrSet : [...valuesOrSet]);\n};\n"]}
|
package/api/additional.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "../.chunks/field-DEusYVqS.
|
|
1
|
+
import { t as e } from "../.chunks/field-DEusYVqS.es.js";
|
|
2
2
|
//#region src/api/api/utils/filters.ts
|
|
3
3
|
var t = (e) => {
|
|
4
4
|
let t = [];
|
|
@@ -44,9 +44,7 @@ var t = (e) => {
|
|
|
44
44
|
case "~":
|
|
45
45
|
n = "REGEXP";
|
|
46
46
|
break;
|
|
47
|
-
case "!~":
|
|
48
|
-
n = "NOT_REGEXP";
|
|
49
|
-
break;
|
|
47
|
+
case "!~": n = "NOT_REGEXP";
|
|
50
48
|
}
|
|
51
49
|
return {
|
|
52
50
|
value: t,
|
package/api/additional.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"additional.js","names":[],"sources":["../../src/api/api/utils/filters.ts"],"sourcesContent":["import type { components as componentsTagId } from 'topvisor-openapi/src/ts/Tags_2/Types/TagId';\nimport { genFieldFilter } from './field';\n\ntype TagId = componentsTagId['schemas']['Tags_2.Types.TagId'];\ntype TagIdExclude = `-${TagId}`;\n\ntype DataWithModifierOperator<Model> = {\n\t[K in keyof Model]: Model[K] | Model[K][] | Set<Model[K]> | string\n};\n\n/**\n * Модификатор оператора сравнения\n *\n * Используется посредством добавления к строковому значению поля для упрощения синтаксиса указания фильтров\n *\n * @example Поиск вхождения `Иван` в поле `name`\n * genFilters({\n * id: 12345, // без модификатора опертора\n * name: '%:' + 'Иван', // с модификатором опертора\n * });\n */\ntype ModifierOperator = '>=' | '<=' | '!=' | '>' | '<' | '%' | '!%' | '^' | '~' | '!~' | 'null' | '!null';\n\ntype ValueWithModifierOperator = `${ModifierOperator}:${string | number}`;\n\n/**\n * Сгенерировать массив с фильтрами API\n *\n * Ключи - `filedName`, значения - `[ModifierOperator:]fieldValue` / `fieldValues`\n *\n * Значения `undefined` будут пропускаться\n *\n * Додерживает типы:\n *\n * - string, number, boolean - строгое равенство `EQUALS`, если не указан `modifierOperator`\n * - Array - вхождение `IN`\n * - Set<string | number> - вхождение `IN`\n *\n * @see ModifierOperator\n */\nexport const genFilters = <Model extends Api.Ext.Schemas['Model']>(\n\tdataWithModifierOperator: DataWithModifierOperator<Model>,\n): Api.Field.Filter<Model>[] => {\n\tconst filters: Api.Field.Filter<Model>[] = [];\n\n\tObject.keys(dataWithModifierOperator).forEach(_name => {\n\t\tconst name = _name as string & keyof Model;\n\t\tconst value = dataWithModifierOperator[name];\n\t\tif (value === undefined) return;\n\n\t\tlet filter: Api.Field.Filter<Model> | undefined;\n\n\t\tif (name === 'tags_ids' || name === 'tags') {\n\t\t\tpushFilterTagsIds(name, filters, value as any);\n\t\t} else if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n\t\t\tfilter = genFilterPrimitive(name, value);\n\t\t} else if (Array.isArray(value) || value instanceof Set) {\n\t\t\tfilter = genFilterIn(name, value as any);\n\t\t}\n\n\t\tif (filter) {\n\t\t\tfilters.push(filter);\n\t\t}\n\t});\n\n\treturn filters;\n};\n\n/**\n * Получить value и operator из valueWithModifierOperator\n */\nconst extractOperator = (valueWithModifierOperator: ValueWithModifierOperator): {\n\tvalue: any,\n\toperator: Api.Ext.Schemas['FieldOperator']\n} => {\n\tlet value: string | number = valueWithModifierOperator;\n\tlet operator: Api.Field.Filter<any>['operator'] = 'EQUALS';\n\n\tlet modifierOperator: ModifierOperator | undefined;\n\tif (valueWithModifierOperator[1] === ':' || valueWithModifierOperator[2] === ':') {\n\t\t[modifierOperator, value] = valueWithModifierOperator.split(':') as [ModifierOperator, string];\n\t}\n\n\tswitch (modifierOperator) {\n\t\tcase '>':\n\t\t\toperator = 'GREATER_THAN';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '>=':\n\t\t\toperator = 'GREATER_THAN_EQUALS';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '<':\n\t\t\toperator = 'LESS_THAN';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '<=':\n\t\t\toperator = 'LESS_THAN_EQUALS';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '!=':\n\t\t\toperator = 'NOT_EQUALS';\n\n\t\t\tif (value.match(/^\\d+$/)) value = Number(value);\n\n\t\t\tbreak;\n\t\tcase '%':\n\t\t\toperator = 'CONTAINS';\n\n\t\t\tbreak;\n\t\tcase '!%':\n\t\t\toperator = 'DOES_NOT_CONTAIN';\n\n\t\t\tbreak;\n\t\tcase '^':\n\t\t\toperator = 'STARTS_WITH';\n\n\t\t\tbreak;\n\t\tcase 'null':\n\t\t\toperator = 'IS_NULL';\n\n\t\t\tbreak;\n\t\tcase '!null':\n\t\t\toperator = 'IS_NOT_NULL';\n\n\t\t\tbreak;\n\t\tcase '~':\n\t\t\toperator = 'REGEXP';\n\n\t\t\tbreak;\n\t\tcase '!~':\n\t\t\toperator = 'NOT_REGEXP';\n\n\t\t\tbreak;\n\t}\n\n\treturn { value, operator };\n};\n\n/**\n * Сгенерировать и добавить API фильтр из списка тегов\n */\nexport const pushFilterTagsIds = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tfilters: Api.Field.Filter<Model, FieldName>[],\n\ttagsIds: Array<TagId | TagIdExclude>,\n) => {\n\tconst tagsIncluded: Array<Model[FieldName] & TagId> = [];\n\tconst tagsExcluded: Array<Model[FieldName] & TagId> = [];\n\n\ttagsIds.forEach((tagId) => {\n\t\tif (tagId[0] === '-') {\n\t\t\ttagsExcluded.push(tagId.substring(1) as Model[FieldName] & TagId);\n\t\t} else {\n\t\t\ttagsIncluded.push(tagId as Model[FieldName] & TagId);\n\t\t}\n\t});\n\n\tif (tagsIncluded.length) filters.push(genFieldFilter<Model, FieldName>(name, 'IN', tagsIncluded));\n\tif (tagsExcluded.length) filters.push(genFieldFilter<Model, FieldName>(name, 'NOT_IN', tagsExcluded));\n};\n\n/**\n * Сгенерировать API фильтр из простого значения\n */\nexport const genFilterPrimitive = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tvalueWithModifierOperator: number | string | boolean | ValueWithModifierOperator,\n) => {\n\tlet value = valueWithModifierOperator;\n\tlet operator: Api.Field.Filter<any>['operator'] = 'EQUALS';\n\n\tif (typeof valueWithModifierOperator === 'string') {\n\t\t({ value, operator } = extractOperator(valueWithModifierOperator as ValueWithModifierOperator));\n\t}\n\n\t// @deprecated\n\tif (typeof value === 'boolean') {\n\t\tvalue = value ? 1 : 0;\n\t}\n\n\treturn genFieldFilter<Model>(name, operator, [value as any]);\n};\n\n/**\n * Сгенерировать API фильтр IN\n */\nexport const genFilterIn = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tvaluesOrSet: Model[FieldName][] | Set<Model[FieldName]>,\n) => {\n\treturn genFieldFilter<Model, FieldName>(name, 'IN', Array.isArray(valuesOrSet) ? valuesOrSet : [...valuesOrSet]);\n};\n"],"mappings":";;AAwCA,IAAa,KACZ,MAC+B;CAC/B,IAAM,IAAqC,CAAC;CAsB5C,OApBA,OAAO,KAAK,CAAwB,CAAC,CAAC,SAAQ,MAAS;EACtD,IAAM,IAAO,GACP,IAAQ,EAAyB;EACvC,IAAI,MAAU,KAAA,GAAW;EAEzB,IAAI;EAUJ,AARI,MAAS,cAAc,MAAS,SACnC,EAAkB,GAAM,GAAS,CAAY,IACnC,OAAO,KAAU,YAAY,OAAO,KAAU,YAAY,OAAO,KAAU,YACrF,IAAS,EAAmB,GAAM,CAAK,KAC7B,MAAM,QAAQ,CAAK,KAAK,aAAiB,SACnD,IAAS,EAAY,GAAM,CAAY,IAGpC,KACH,EAAQ,KAAK,CAAM;CAErB,CAAC,GAEM;AACR,GAKM,KAAmB,MAGpB;CACJ,IAAI,IAAyB,GACzB,IAA8C,UAE9C;CAKJ,SAJI,EAA0B,OAAO,OAAO,EAA0B,OAAO,SAC5E,CAAC,GAAkB,KAAS,EAA0B,MAAM,GAAG,IAGxD,GAAR;EACC,KAAK;GAEJ,AADA,IAAW,gBACX,IAAQ,OAAO,CAAK;GAEpB;EACD,KAAK;GAEJ,AADA,IAAW,uBACX,IAAQ,OAAO,CAAK;GAEpB;EACD,KAAK;GAEJ,AADA,IAAW,aACX,IAAQ,OAAO,CAAK;GAEpB;EACD,KAAK;GAEJ,AADA,IAAW,oBACX,IAAQ,OAAO,CAAK;GAEpB;EACD,KAAK;GAGJ,AAFA,IAAW,cAEP,EAAM,MAAM,OAAO,MAAG,IAAQ,OAAO,CAAK;GAE9C;EACD,KAAK;GACJ,IAAW;GAEX;EACD,KAAK;GACJ,IAAW;GAEX;EACD,KAAK;GACJ,IAAW;GAEX;EACD,KAAK;GACJ,IAAW;GAEX;EACD,KAAK;GACJ,IAAW;GAEX;EACD,KAAK;GACJ,IAAW;GAEX;EACD,KAAK
|
|
1
|
+
{"version":3,"file":"additional.js","names":[],"sources":["../../src/api/api/utils/filters.ts"],"sourcesContent":["import type { components as componentsTagId } from 'topvisor-openapi/src/ts/Tags_2/Types/TagId';\nimport { genFieldFilter } from './field';\n\ntype TagId = componentsTagId['schemas']['Tags_2.Types.TagId'];\ntype TagIdExclude = `-${TagId}`;\n\ntype DataWithModifierOperator<Model> = {\n\t[K in keyof Model]: Model[K] | Model[K][] | Set<Model[K]> | string\n};\n\n/**\n * Модификатор оператора сравнения\n *\n * Используется посредством добавления к строковому значению поля для упрощения синтаксиса указания фильтров\n *\n * @example Поиск вхождения `Иван` в поле `name`\n * genFilters({\n * id: 12345, // без модификатора опертора\n * name: '%:' + 'Иван', // с модификатором опертора\n * });\n */\ntype ModifierOperator = '>=' | '<=' | '!=' | '>' | '<' | '%' | '!%' | '^' | '~' | '!~' | 'null' | '!null';\n\ntype ValueWithModifierOperator = `${ModifierOperator}:${string | number}`;\n\n/**\n * Сгенерировать массив с фильтрами API\n *\n * Ключи - `filedName`, значения - `[ModifierOperator:]fieldValue` / `fieldValues`\n *\n * Значения `undefined` будут пропускаться\n *\n * Додерживает типы:\n *\n * - string, number, boolean - строгое равенство `EQUALS`, если не указан `modifierOperator`\n * - Array - вхождение `IN`\n * - Set<string | number> - вхождение `IN`\n *\n * @see ModifierOperator\n */\nexport const genFilters = <Model extends Api.Ext.Schemas['Model']>(\n\tdataWithModifierOperator: DataWithModifierOperator<Model>,\n): Api.Field.Filter<Model>[] => {\n\tconst filters: Api.Field.Filter<Model>[] = [];\n\n\tObject.keys(dataWithModifierOperator).forEach(_name => {\n\t\tconst name = _name as string & keyof Model;\n\t\tconst value = dataWithModifierOperator[name];\n\t\tif (value === undefined) return;\n\n\t\tlet filter: Api.Field.Filter<Model> | undefined;\n\n\t\tif (name === 'tags_ids' || name === 'tags') {\n\t\t\tpushFilterTagsIds(name, filters, value as any);\n\t\t} else if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n\t\t\tfilter = genFilterPrimitive(name, value);\n\t\t} else if (Array.isArray(value) || value instanceof Set) {\n\t\t\tfilter = genFilterIn(name, value as any);\n\t\t}\n\n\t\tif (filter) {\n\t\t\tfilters.push(filter);\n\t\t}\n\t});\n\n\treturn filters;\n};\n\n/**\n * Получить value и operator из valueWithModifierOperator\n */\nconst extractOperator = (valueWithModifierOperator: ValueWithModifierOperator): {\n\tvalue: any,\n\toperator: Api.Ext.Schemas['FieldOperator']\n} => {\n\tlet value: string | number = valueWithModifierOperator;\n\tlet operator: Api.Field.Filter<any>['operator'] = 'EQUALS';\n\n\tlet modifierOperator: ModifierOperator | undefined;\n\tif (valueWithModifierOperator[1] === ':' || valueWithModifierOperator[2] === ':') {\n\t\t[modifierOperator, value] = valueWithModifierOperator.split(':') as [ModifierOperator, string];\n\t}\n\n\tswitch (modifierOperator) {\n\t\tcase '>':\n\t\t\toperator = 'GREATER_THAN';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '>=':\n\t\t\toperator = 'GREATER_THAN_EQUALS';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '<':\n\t\t\toperator = 'LESS_THAN';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '<=':\n\t\t\toperator = 'LESS_THAN_EQUALS';\n\t\t\tvalue = Number(value);\n\n\t\t\tbreak;\n\t\tcase '!=':\n\t\t\toperator = 'NOT_EQUALS';\n\n\t\t\tif (value.match(/^\\d+$/)) value = Number(value);\n\n\t\t\tbreak;\n\t\tcase '%':\n\t\t\toperator = 'CONTAINS';\n\n\t\t\tbreak;\n\t\tcase '!%':\n\t\t\toperator = 'DOES_NOT_CONTAIN';\n\n\t\t\tbreak;\n\t\tcase '^':\n\t\t\toperator = 'STARTS_WITH';\n\n\t\t\tbreak;\n\t\tcase 'null':\n\t\t\toperator = 'IS_NULL';\n\n\t\t\tbreak;\n\t\tcase '!null':\n\t\t\toperator = 'IS_NOT_NULL';\n\n\t\t\tbreak;\n\t\tcase '~':\n\t\t\toperator = 'REGEXP';\n\n\t\t\tbreak;\n\t\tcase '!~':\n\t\t\toperator = 'NOT_REGEXP';\n\n\t\t\tbreak;\n\t}\n\n\treturn { value, operator };\n};\n\n/**\n * Сгенерировать и добавить API фильтр из списка тегов\n */\nexport const pushFilterTagsIds = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tfilters: Api.Field.Filter<Model, FieldName>[],\n\ttagsIds: Array<TagId | TagIdExclude>,\n) => {\n\tconst tagsIncluded: Array<Model[FieldName] & TagId> = [];\n\tconst tagsExcluded: Array<Model[FieldName] & TagId> = [];\n\n\ttagsIds.forEach((tagId) => {\n\t\tif (tagId[0] === '-') {\n\t\t\ttagsExcluded.push(tagId.substring(1) as Model[FieldName] & TagId);\n\t\t} else {\n\t\t\ttagsIncluded.push(tagId as Model[FieldName] & TagId);\n\t\t}\n\t});\n\n\tif (tagsIncluded.length) filters.push(genFieldFilter<Model, FieldName>(name, 'IN', tagsIncluded));\n\tif (tagsExcluded.length) filters.push(genFieldFilter<Model, FieldName>(name, 'NOT_IN', tagsExcluded));\n};\n\n/**\n * Сгенерировать API фильтр из простого значения\n */\nexport const genFilterPrimitive = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tvalueWithModifierOperator: number | string | boolean | ValueWithModifierOperator,\n) => {\n\tlet value = valueWithModifierOperator;\n\tlet operator: Api.Field.Filter<any>['operator'] = 'EQUALS';\n\n\tif (typeof valueWithModifierOperator === 'string') {\n\t\t({ value, operator } = extractOperator(valueWithModifierOperator as ValueWithModifierOperator));\n\t}\n\n\t// @deprecated\n\tif (typeof value === 'boolean') {\n\t\tvalue = value ? 1 : 0;\n\t}\n\n\treturn genFieldFilter<Model>(name, operator, [value as any]);\n};\n\n/**\n * Сгенерировать API фильтр IN\n */\nexport const genFilterIn = <\n\tModel extends Api.Ext.Schemas['Model'] = any,\n\tFieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>\n>(\n\tname: FieldName,\n\tvaluesOrSet: Model[FieldName][] | Set<Model[FieldName]>,\n) => {\n\treturn genFieldFilter<Model, FieldName>(name, 'IN', Array.isArray(valuesOrSet) ? valuesOrSet : [...valuesOrSet]);\n};\n"],"mappings":";;AAwCA,IAAa,KACZ,MAC+B;CAC/B,IAAM,IAAqC,CAAC;CAsB5C,OApBA,OAAO,KAAK,CAAwB,CAAC,CAAC,SAAQ,MAAS;EACtD,IAAM,IAAO,GACP,IAAQ,EAAyB;EACvC,IAAI,MAAU,KAAA,GAAW;EAEzB,IAAI;EAUJ,AARI,MAAS,cAAc,MAAS,SACnC,EAAkB,GAAM,GAAS,CAAY,IACnC,OAAO,KAAU,YAAY,OAAO,KAAU,YAAY,OAAO,KAAU,YACrF,IAAS,EAAmB,GAAM,CAAK,KAC7B,MAAM,QAAQ,CAAK,KAAK,aAAiB,SACnD,IAAS,EAAY,GAAM,CAAY,IAGpC,KACH,EAAQ,KAAK,CAAM;CAErB,CAAC,GAEM;AACR,GAKM,KAAmB,MAGpB;CACJ,IAAI,IAAyB,GACzB,IAA8C,UAE9C;CAKJ,SAJI,EAA0B,OAAO,OAAO,EAA0B,OAAO,SAC5E,CAAC,GAAkB,KAAS,EAA0B,MAAM,GAAG,IAGxD,GAAR;EACC,KAAK;GAEJ,AADA,IAAW,gBACX,IAAQ,OAAO,CAAK;GAEpB;EACD,KAAK;GAEJ,AADA,IAAW,uBACX,IAAQ,OAAO,CAAK;GAEpB;EACD,KAAK;GAEJ,AADA,IAAW,aACX,IAAQ,OAAO,CAAK;GAEpB;EACD,KAAK;GAEJ,AADA,IAAW,oBACX,IAAQ,OAAO,CAAK;GAEpB;EACD,KAAK;GAGJ,AAFA,IAAW,cAEP,EAAM,MAAM,OAAO,MAAG,IAAQ,OAAO,CAAK;GAE9C;EACD,KAAK;GACJ,IAAW;GAEX;EACD,KAAK;GACJ,IAAW;GAEX;EACD,KAAK;GACJ,IAAW;GAEX;EACD,KAAK;GACJ,IAAW;GAEX;EACD,KAAK;GACJ,IAAW;GAEX;EACD,KAAK;GACJ,IAAW;GAEX;EACD,KAAK,MACJ,IAAW;CAGb;CAEA,OAAO;EAAE;EAAO;CAAS;AAC1B,GAKa,KAIZ,GACA,GACA,MACI;CACJ,IAAM,IAAgD,CAAC,GACjD,IAAgD,CAAC;CAWvD,AATA,EAAQ,SAAS,MAAU;EAC1B,AAAI,EAAM,OAAO,MAChB,EAAa,KAAK,EAAM,UAAU,CAAC,CAA6B,IAEhE,EAAa,KAAK,CAAiC;CAErD,CAAC,GAEG,EAAa,UAAQ,EAAQ,KAAK,EAAiC,GAAM,MAAM,CAAY,CAAC,GAC5F,EAAa,UAAQ,EAAQ,KAAK,EAAiC,GAAM,UAAU,CAAY,CAAC;AACrG,GAKa,KAIZ,GACA,MACI;CACJ,IAAI,IAAQ,GACR,IAA8C;CAWlD,OATI,OAAO,KAA8B,aACvC,0BAAsB,EAAgB,CAAsD,IAI1F,OAAO,KAAU,cACpB,IAAQ,OAGF,EAAsB,GAAM,GAAU,CAAC,CAAY,CAAC;AAC5D,GAKa,KAIZ,GACA,MAEO,EAAiC,GAAM,MAAM,MAAM,QAAQ,CAAW,IAAI,IAAc,CAAC,GAAG,CAAW,CAAC"}
|
package/api/index.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define([`require`,`exports`,`../.chunks/api-
|
|
1
|
+
define([`require`,`exports`,`../.chunks/api-Djk3WKsn.es.amd`,`../.chunks/field-DEusYVqS.es.amd`],function(e,t,n,r){"use strict";if(i===void 0)var i=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.postInWindow=t.isPublicAPI=t.getBaseDomainUrl=t.genFieldOrder=t.genFieldFilter=t.genExtRes=t.dataToForm=t.createClient=void 0,Object.defineProperty(t,"getBaseDomainUrl",{enumerable:!0,get:function(){return n.a}}),Object.defineProperty(t,"genExtRes",{enumerable:!0,get:function(){return n.i}}),Object.defineProperty(t,"dataToForm",{enumerable:!0,get:function(){return n.n}}),Object.defineProperty(t,"isPublicAPI",{enumerable:!0,get:function(){return n.o}}),Object.defineProperty(t,"postInWindow",{enumerable:!0,get:function(){return n.r}}),Object.defineProperty(t,"createClient",{enumerable:!0,get:function(){return n.t}}),Object.defineProperty(t,"genFieldOrder",{enumerable:!0,get:function(){return r.n}}),Object.defineProperty(t,"genFieldFilter",{enumerable:!0,get:function(){return r.t}})});
|
|
2
2
|
//# sourceMappingURL=index.amd.js.map
|
package/api/index.amd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["api/index.js"],"names":["vue","exports","
|
|
1
|
+
{"version":3,"sources":["api/index.js"],"names":["vue","exports","api_Djk3WKsn_es_js_1","field_DEusYVqS_es_js_1"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,iCAAiC,kCAAiC,EAAG,SAAU,EAAS,EAAS,EAAsB,EAAwB,CACzK,aAAA,GAAAA,IAAA,OAAA,IAAAA,EAAA,OAAA,IACA,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,EAAQ,aAAe,EAAQ,YAAc,EAAQ,iBAAmB,EAAQ,cAAgB,EAAQ,eAAiB,EAAQ,UAAY,EAAQ,WAAa,EAAQ,aAAe,IAAK,GAC9L,OAAO,eAAeA,EAAS,mBAAoB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAqB,CAAG,CAAE,CAAC,EAC5H,OAAO,eAAeD,EAAS,YAAa,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAqB,CAAG,CAAE,CAAC,EACrH,OAAO,eAAeD,EAAS,aAAc,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAqB,CAAG,CAAE,CAAC,EACtH,OAAO,eAAeD,EAAS,cAAe,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAqB,CAAG,CAAE,CAAC,EACvH,OAAO,eAAeD,EAAS,eAAgB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAqB,CAAG,CAAE,CAAC,EACxH,OAAO,eAAeD,EAAS,eAAgB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAqB,CAAG,CAAE,CAAC,EACxH,OAAO,eAAeD,EAAS,gBAAiB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,EAAuB,CAAG,CAAE,CAAC,EAC3H,OAAO,eAAeF,EAAS,iBAAkB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,EAAuB,CAAG,CAAE,CAAC,CAChI,CAAC","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/api-Djk3WKsn.es.js\", \"../.chunks/field-DEusYVqS.es.js\"], function (require, exports, api_Djk3WKsn_es_js_1, field_DEusYVqS_es_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.postInWindow = exports.isPublicAPI = exports.getBaseDomainUrl = exports.genFieldOrder = exports.genFieldFilter = exports.genExtRes = exports.dataToForm = exports.createClient = void 0;\n Object.defineProperty(exports, \"getBaseDomainUrl\", { enumerable: true, get: function () { return api_Djk3WKsn_es_js_1.a; } });\n Object.defineProperty(exports, \"genExtRes\", { enumerable: true, get: function () { return api_Djk3WKsn_es_js_1.i; } });\n Object.defineProperty(exports, \"dataToForm\", { enumerable: true, get: function () { return api_Djk3WKsn_es_js_1.n; } });\n Object.defineProperty(exports, \"isPublicAPI\", { enumerable: true, get: function () { return api_Djk3WKsn_es_js_1.o; } });\n Object.defineProperty(exports, \"postInWindow\", { enumerable: true, get: function () { return api_Djk3WKsn_es_js_1.r; } });\n Object.defineProperty(exports, \"createClient\", { enumerable: true, get: function () { return api_Djk3WKsn_es_js_1.t; } });\n Object.defineProperty(exports, \"genFieldOrder\", { enumerable: true, get: function () { return field_DEusYVqS_es_js_1.n; } });\n Object.defineProperty(exports, \"genFieldFilter\", { enumerable: true, get: function () { return field_DEusYVqS_es_js_1.t; } });\n});\n"]}
|
package/api/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as e, i as t, n, o as r, r as i, t as a } from "../.chunks/api-
|
|
2
|
-
import { n as o, t as s } from "../.chunks/field-DEusYVqS.
|
|
1
|
+
import { a as e, i as t, n, o as r, r as i, t as a } from "../.chunks/api-Djk3WKsn.es.js";
|
|
2
|
+
import { n as o, t as s } from "../.chunks/field-DEusYVqS.es.js";
|
|
3
3
|
export { a as createClient, n as dataToForm, t as genExtRes, s as genFieldFilter, o as genFieldOrder, e as getBaseDomainUrl, r as isPublicAPI, i as postInWindow };
|
|
@@ -69,16 +69,16 @@
|
|
|
69
69
|
"tabsView/tabsView.amd.js": [
|
|
70
70
|
"../assets/tabsView.css"
|
|
71
71
|
],
|
|
72
|
-
".chunks/dialog_regionSelectorRegions-
|
|
72
|
+
".chunks/dialog_regionSelectorRegions-BWWggJbQ.es.amd.js": [
|
|
73
73
|
"../assets/dialog_regionSelectorRegions.css"
|
|
74
74
|
],
|
|
75
|
-
".chunks/formsExt-
|
|
75
|
+
".chunks/formsExt-DbpqJoXl.es.amd.js": [
|
|
76
76
|
"../assets/formsExt.css"
|
|
77
77
|
],
|
|
78
|
-
".chunks/notice-
|
|
78
|
+
".chunks/notice-B5wJBkle.es.amd.js": [
|
|
79
79
|
"../assets/notice.css"
|
|
80
80
|
],
|
|
81
|
-
".chunks/popup-
|
|
81
|
+
".chunks/popup-C4qezebt.es.amd.js": [
|
|
82
82
|
"../assets/popup.css"
|
|
83
83
|
]
|
|
84
84
|
}
|
|
@@ -80,16 +80,16 @@
|
|
|
80
80
|
"tabsView/tabsView.js": [
|
|
81
81
|
"../assets/tabsView.css"
|
|
82
82
|
],
|
|
83
|
-
".chunks/dialog_regionSelectorRegions-
|
|
83
|
+
".chunks/dialog_regionSelectorRegions-BWWggJbQ.es.js": [
|
|
84
84
|
"../assets/dialog_regionSelectorRegions.css"
|
|
85
85
|
],
|
|
86
|
-
".chunks/formsExt-
|
|
86
|
+
".chunks/formsExt-DbpqJoXl.es.js": [
|
|
87
87
|
"../assets/formsExt.css"
|
|
88
88
|
],
|
|
89
|
-
".chunks/notice-
|
|
89
|
+
".chunks/notice-B5wJBkle.es.js": [
|
|
90
90
|
"../assets/notice.css"
|
|
91
91
|
],
|
|
92
|
-
".chunks/popup-
|
|
92
|
+
".chunks/popup-C4qezebt.es.js": [
|
|
93
93
|
"../assets/popup.css"
|
|
94
94
|
]
|
|
95
95
|
}
|
package/charts/charts.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define([`require`,`exports`,`../.chunks/forms-
|
|
1
|
+
define([`require`,`exports`,`../.chunks/forms-BlerVsRB.es.amd`,`../utils/number.amd`,`vue`,`../require/css.amd!../assets/charts.css`],function(e,t,n,r,i){"use strict";if(a===void 0)var a=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.TopMiniCharts=t.TopMiniChart=void 0;var o=[`data-top-icon`],s={class:`top-miniChart_chart`},c=[`onMouseenter`],l={class:`top-miniChart_data`},u={class:`top-miniChart_dataValue`},d=[`innerHTML`],f=(0,i.defineComponent)({__name:`miniChart`,props:(0,i.mergeModels)({title:{},gIcon:{},color:{default:`blue`},dates:{},values:{},activeDates:{},keysForDyn:{},dynamic:{},isInvert:{type:Boolean},numberCols:{default:90},additionalHTML:{},modelValue:{},valueSuffix:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,a=(0,i.useModel)(e,`modelValue`),f=e=>{let n=m.value;t.isInvert&&(--e,--n);let r=n>0?Math.round(e/n*90):0;return t.isInvert?100-r:r+10},p=e=>t.activeDates.includes(e),m=(0,i.computed)(()=>Math.max(...t.values)),h=(0,i.computed)(()=>t.dates.slice().reverse()),g=(0,i.computed)(()=>t.dates.length?t.numberCols-t.dates.length:0),_=()=>{a.value=null},v=(e,r,i)=>{e.target instanceof HTMLElement&&(a.value={elCol:e.target,date:(0,n._)(r),value:i===null?`--`:i+(t.valueSuffix??``)})},y=(0,i.computed)(()=>{let e=t.dynamic;if(e===void 0){let n=t.values[t.keysForDyn.start];e=t.values[t.keysForDyn.end]-n}return(e<0?-1:1)*(0,r.percentOfNumber)(Math.abs(e))}),b=(0,i.computed)(()=>{let e=`stay`;return t.isInvert?(y.value>0&&(e=`down`),y.value<0&&(e=`up`)):(y.value>0&&(e=`up`),y.value<0&&(e=`down`)),e});return(t,n)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:(0,i.normalizeClass)({"top-miniChart":!0,"top-miniChart_hideChartInMobile":e.hideChartInMobile,[`top-color_${e.color}`]:!0})},[(0,i.createElementVNode)(`div`,{class:`top-miniChart_title top-ellipsis`,"data-top-icon":e.gIcon},(0,i.toDisplayString)(e.title),9,o),(0,i.createElementVNode)(`div`,s,[(0,i.createElementVNode)(`div`,{class:`top-miniChart_chartGrid`,onMouseleave:n[1]||=e=>_()},[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(h.value,(t,n)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:(0,i.normalizeClass)({"top-miniChart_chartGridCol":!0,"top-active":p(t)}),onMouseenter:r=>v(r,t,e.values[e.values.length-n-1])},[(0,i.createElementVNode)(`div`,{style:(0,i.normalizeStyle)(`height:`+f(e.values[e.values.length-n-1])+`%`)},null,4)],42,c))),256)),((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(g.value,()=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:`top-miniChart_chartGridCol top-miniChart_chartGridCol-none`,onMouseenter:n[0]||=e=>_()},[...n[2]||=[(0,i.createElementVNode)(`div`,null,null,-1)]],32))),256))],32)]),(0,i.createElementVNode)(`div`,l,[(0,i.createElementVNode)(`span`,{class:(0,i.normalizeClass)({"top-miniChart_dataDynamic":!0,[`top-miniChart_dataDynamic-direction_${b.value}`]:!0})},(0,i.toDisplayString)(Math.abs(y.value)||``),3),(0,i.createElementVNode)(`span`,u,(0,i.toDisplayString)((0,i.unref)(r.percentOfNumber)(e.values[e.values.length-1])||0),1)]),e.additionalHTML?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:0,innerHTML:e.additionalHTML},null,8,d)):(0,i.createCommentVNode)(``,!0)],2))}}),p={key:0,class:`top-miniCharts_pages`},m=[`onClick`],h=(0,i.defineComponent)({__name:`miniCharts`,props:(0,i.mergeModels)({modelValue:{},countCharts:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=(0,i.useModel)(e,`modelValue`),r=(0,i.ref)(null),a,o=(0,i.ref)(1),s=(0,i.ref)(1),c=()=>{o.value=Math.round(r.value.scrollHeight/r.value.clientHeight)};(0,i.watch)(o,()=>{o.value<s.value&&(s.value=1)}),(0,i.watch)(()=>t.countCharts,()=>c(),{flush:`post`});let l=(0,i.computed)(()=>{if(!n.value)return{};let e=n.value.elCol.getBoundingClientRect(),t={top:e.bottom+window.scrollY+`px`};return document.documentElement.clientWidth/2>e.right?t.left=e.right+window.scrollX+10+`px`:(t.left=e.left+window.scrollX-10+`px`,t.transform=`translate(-100%, 0)`),t});return(0,i.onMounted)(()=>{a=new ResizeObserver(()=>c()),a.observe(r.value),(0,i.watch)(s,()=>{let e=(r.value.children[0].clientHeight+parseInt(window.getComputedStyle(r.value).getPropertyValue(`row-gap`)))*(s.value-1);r.value.scrollTo({top:e,behavior:`smooth`})})}),(0,i.onUnmounted)(()=>{a.disconnect()}),(t,a)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:(0,i.normalizeClass)([`top-miniCharts`,{"top-miniCharts":!0,scrollable:o.value>1,"top-miniCharts_hideChartInMobile":e.hideChartInMobile}]),ref_key:`elRef`,ref:r},[(0,i.renderSlot)(t.$slots,`default`),o.value>1?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,p,[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(o.value,e=>((0,i.openBlock)(),(0,i.createElementBlock)(`span`,{class:(0,i.normalizeClass)({"top-active":e===s.value}),onClick:t=>s.value=e},null,10,m))),256))])):(0,i.createCommentVNode)(``,!0),((0,i.openBlock)(),(0,i.createBlock)(i.Teleport,{to:`body`},[n.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:0,class:`top-miniCharts_tooltip`,style:(0,i.normalizeStyle)(l.value)},[(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(n.value.date),1),(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(n.value.value),1)],4)):(0,i.createCommentVNode)(``,!0)]))],2))}});t.TopMiniChart=f,t.TopMiniCharts=h});
|
|
2
2
|
//# sourceMappingURL=charts.amd.js.map
|
package/charts/charts.amd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["charts/charts.js","../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniCharts/miniCharts.vue"],"names":["vue","exports","C","w","T","E","D","O","k","vue_1","a","r","l","u","t","n","g","v","S","forms__4U0sLFk_esm_js_1","A","number_js_1","j","e","M","b"],"mappings":"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","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/forms-_4U0sLFk.esm.js\", \"../utils/number.js\", \"vue\"], function (require, exports, forms__4U0sLFk_esm_js_1, number_js_1, vue_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.TopMiniCharts = exports.TopMiniChart = void 0;\n //#region src/components/charts/miniChart/miniChart.vue?vue&type=script&setup=true&lang.ts\n var C = [\"data-top-icon\"], w = { class: \"top-miniChart_chart\" }, T = [\"onMouseenter\"], E = { class: \"top-miniChart_data\" }, D = { class: \"top-miniChart_dataValue\" }, O = [\"innerHTML\"], k = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"miniChart\",\n props: /*@__PURE__*/ (0, vue_1.mergeModels)({\n title: {},\n gIcon: {},\n color: { default: \"blue\" },\n dates: {},\n values: {},\n activeDates: {},\n keysForDyn: {},\n dynamic: {},\n isInvert: { type: Boolean },\n numberCols: { default: 90 },\n additionalHTML: {},\n modelValue: {},\n valueSuffix: {},\n hideChartInMobile: { type: Boolean }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(r) {\n let a = r, l = (0, vue_1.useModel)(r, \"modelValue\"), u = (e) => {\n let t = m.value;\n a.isInvert && (--e, --t);\n let n = t > 0 ? Math.round(e / t * 90) : 0;\n return a.isInvert ? 100 - n : n + 10;\n }, p = (e) => a.activeDates.includes(e), m = (0, vue_1.computed)(() => Math.max(...a.values)), g = (0, vue_1.computed)(() => a.dates.slice().reverse()), v = (0, vue_1.computed)(() => a.dates.length ? a.numberCols - a.dates.length : 0), S = () => {\n l.value = null;\n }, k = (t, n, r) => {\n t.target instanceof HTMLElement && (l.value = {\n elCol: t.target,\n date: (0, forms__4U0sLFk_esm_js_1._)(n),\n value: r === null ? \"--\" : r + (a.valueSuffix ?? \"\")\n });\n }, A = (0, vue_1.computed)(() => {\n let e = a.dynamic;\n if (e === void 0) {\n let t = a.values[a.keysForDyn.start];\n e = a.values[a.keysForDyn.end] - t;\n }\n return (e < 0 ? -1 : 1) * (0, number_js_1.percentOfNumber)(Math.abs(e));\n }), j = (0, vue_1.computed)(() => {\n let e = \"stay\";\n return a.isInvert ? (A.value > 0 && (e = \"down\"), A.value < 0 && (e = \"up\")) : (A.value > 0 && (e = \"up\"), A.value < 0 && (e = \"down\")), e;\n });\n return (e, i) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", { class: (0, vue_1.normalizeClass)({\n \"top-miniChart\": !0,\n \"top-miniChart_hideChartInMobile\": r.hideChartInMobile,\n [`top-color_${r.color}`]: !0\n }) }, [\n (0, vue_1.createElementVNode)(\"div\", {\n class: \"top-miniChart_title top-ellipsis\",\n \"data-top-icon\": r.gIcon\n }, (0, vue_1.toDisplayString)(r.title), 9, C),\n (0, vue_1.createElementVNode)(\"div\", w, [(0, vue_1.createElementVNode)(\"div\", {\n class: \"top-miniChart_chartGrid\",\n onMouseleave: i[1] ||= (e) => S()\n }, [((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(g.value, (e, t) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: (0, vue_1.normalizeClass)({\n \"top-miniChart_chartGridCol\": !0,\n \"top-active\": p(e)\n }),\n onMouseenter: (n) => k(n, e, r.values[r.values.length - t - 1])\n }, [(0, vue_1.createElementVNode)(\"div\", { style: (0, vue_1.normalizeStyle)(\"height:\" + u(r.values[r.values.length - t - 1]) + \"%\") }, null, 4)], 42, T))), 256)), ((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(v.value, () => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: \"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\",\n onMouseenter: i[0] ||= (e) => S()\n }, [...i[2] ||= [(0, vue_1.createElementVNode)(\"div\", null, null, -1)]], 32))), 256))], 32)]),\n (0, vue_1.createElementVNode)(\"div\", E, [(0, vue_1.createElementVNode)(\"span\", { class: (0, vue_1.normalizeClass)({\n \"top-miniChart_dataDynamic\": !0,\n [`top-miniChart_dataDynamic-direction_${j.value}`]: !0\n }) }, (0, vue_1.toDisplayString)(Math.abs(A.value) || \"\"), 3), (0, vue_1.createElementVNode)(\"span\", D, (0, vue_1.toDisplayString)((0, vue_1.unref)(number_js_1.percentOfNumber)(r.values[r.values.length - 1]) || 0), 1)]),\n r.additionalHTML ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n key: 0,\n innerHTML: r.additionalHTML\n }, null, 8, O)) : (0, vue_1.createCommentVNode)(\"\", !0)\n ], 2));\n }\n }), A = {\n key: 0,\n class: \"top-miniCharts_pages\"\n }, j = [\"onClick\"], M = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"miniCharts\",\n props: /*@__PURE__*/ (0, vue_1.mergeModels)({\n modelValue: {},\n countCharts: {},\n hideChartInMobile: { type: Boolean }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n let t = e, l = (0, vue_1.useModel)(e, \"modelValue\"), u = (0, vue_1.ref)(null), b, C = (0, vue_1.ref)(1), w = (0, vue_1.ref)(1), T = () => {\n C.value = Math.round(u.value.scrollHeight / u.value.clientHeight);\n };\n (0, vue_1.watch)(C, () => {\n C.value < w.value && (w.value = 1);\n }), (0, vue_1.watch)(() => t.countCharts, () => T(), { flush: \"post\" });\n let E = (0, vue_1.computed)(() => {\n if (!l.value)\n return {};\n let e = l.value.elCol.getBoundingClientRect(), t = { top: e.bottom + window.scrollY + \"px\" };\n return document.documentElement.clientWidth / 2 > e.right ? t.left = e.right + window.scrollX + 10 + \"px\" : (t.left = e.left + window.scrollX - 10 + \"px\", t.transform = \"translate(-100%, 0)\"), t;\n });\n return (0, vue_1.onMounted)(() => {\n b = new ResizeObserver(() => T()), b.observe(u.value), (0, vue_1.watch)(w, () => {\n let e = (u.value.children[0].clientHeight + parseInt(window.getComputedStyle(u.value).getPropertyValue(\"row-gap\"))) * (w.value - 1);\n u.value.scrollTo({\n top: e,\n behavior: \"smooth\"\n });\n });\n }), (0, vue_1.onUnmounted)(() => {\n b.disconnect();\n }), (t, i) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: (0, vue_1.normalizeClass)([\"top-miniCharts\", {\n \"top-miniCharts\": !0,\n scrollable: C.value > 1,\n \"top-miniCharts_hideChartInMobile\": e.hideChartInMobile\n }]),\n ref_key: \"elRef\",\n ref: u\n }, [\n (0, vue_1.renderSlot)(t.$slots, \"default\"),\n C.value > 1 ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", A, [((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(C.value, (e) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"span\", {\n class: (0, vue_1.normalizeClass)({ \"top-active\": e === w.value }),\n onClick: (t) => w.value = e\n }, null, 10, j))), 256))])) : (0, vue_1.createCommentVNode)(\"\", !0),\n ((0, vue_1.openBlock)(), (0, vue_1.createBlock)(vue_1.Teleport, { to: \"body\" }, [l.value ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n key: 0,\n class: \"top-miniCharts_tooltip\",\n style: (0, vue_1.normalizeStyle)(E.value)\n }, [(0, vue_1.createElementVNode)(\"span\", null, (0, vue_1.toDisplayString)(l.value.date), 1), (0, vue_1.createElementVNode)(\"span\", null, (0, vue_1.toDisplayString)(l.value.value), 1)], 4)) : (0, vue_1.createCommentVNode)(\"\", !0)]))\n ], 2));\n }\n });\n exports.TopMiniChart = k;\n exports.TopMiniCharts = M;\n});\n//# sourceMappingURL=charts.js.map\n","<script setup lang=\"ts\">\nimport type { Props } from './types';\nimport { computed } from 'vue';\nimport { dateFormat } from '@/core/utils/date';\nimport { percentOfNumber } from '@/core/utils/number';\nimport { defaultNumberCols, minHeight } from './utils/consts';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcolor: 'blue',\n\tnumberCols: defaultNumberCols,\n});\nconst model = defineModel<Props['modelValue']>();\n\n/**\n * Расчет высоты колонки (в процентах)\n */\nconst genColHeight = (value: number): number => {\n\tlet maximumValue = maxValue.value;\n\n\t// для графиков средней и медианной делаем максимум 1\n\tif (props.isInvert) {\n\t\tvalue -= 1;\n\t\tmaximumValue -= 1;\n\t}\n\n\tconst height = maximumValue > 0 ? Math.round((value / maximumValue) * (100 - minHeight)) : 0;\n\tif (props.isInvert) return 100 - height;\n\n\treturn height + minHeight;\n};\n\nconst isActiveDate = (date: string) => props.activeDates.includes(date);\n\nconst maxValue = computed(() => Math.max(...props.values));\n\n/**\n * Из-за стиля .top-miniChart_chartGrid - direction: rtl\n */\nconst reversedDates = computed(() => props.dates.slice().reverse());\n\n/**\n * Кол-во пустых колонок\n */\nconst numOfEmptyCols = computed(() => {\n\tif (!props.dates.length) return 0;\n\n\treturn props.numberCols - props.dates.length;\n});\n\nconst resetModel = () => {\n\tmodel.value = null;\n};\n\nconst setModel = (e: Event, date: string, value: number | null) => {\n\tif (!(e.target instanceof HTMLElement)) return;\n\n\tmodel.value = {\n\t\telCol: e.target,\n\t\tdate: dateFormat(date),\n\t\tvalue: value === null ? '--' : value + (props.valueSuffix ?? ''),\n\t};\n};\n\n/**\n * Возвращает численный показатель динамики графика\n */\nconst localDynamic = computed(() => {\n\tlet dynamic = props.dynamic;\n\n\tif (typeof dynamic === 'undefined') {\n\t\tconst prevPeriodValue = props.values[props.keysForDyn.start];\n\t\tconst currentValue = props.values[props.keysForDyn.end];\n\t\tdynamic = currentValue - prevPeriodValue;\n\t}\n\n\tconst sign = dynamic < 0 ? -1 : 1;\n\n\treturn sign * (percentOfNumber(Math.abs(dynamic)) as number);\n});\n\nconst dynamicDirection = computed(() => {\n\tlet direction: 'up' | 'stay' | 'down' = 'stay';\n\n\tif (!props.isInvert) {\n\t\tif (localDynamic.value > 0) direction = 'up';\n\t\tif (localDynamic.value < 0) direction = 'down';\n\t} else {\n\t\tif (localDynamic.value > 0) direction = 'down';\n\t\tif (localDynamic.value < 0) direction = 'up';\n\t}\n\n\treturn direction;\n});\n\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-miniChart']: true,\n\t\t\t['top-miniChart_hideChartInMobile']: hideChartInMobile,\n\t\t\t[`top-color_${color}`]: true\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tclass=\"top-miniChart_title top-ellipsis\"\n\t\t\t:data-top-icon=\"gIcon\"\n\t\t>\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_chart\">\n\t\t\t<div\n\t\t\t\tclass=\"top-miniChart_chartGrid\"\n\t\t\t\t@mouseleave=\"resetModel()\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(date, i) in reversedDates\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t['top-miniChart_chartGridCol']: true,\n\t\t\t\t\t\t['top-active']: isActiveDate(date)\n\t\t\t\t\t}\"\n\t\t\t\t\t@mouseenter=\"setModel($event, date, values[values.length - i - 1])\"\n\t\t\t\t>\n\t\t\t\t\t<div :style=\"'height:' + genColHeight(values[values.length - i - 1]) + '%'\"/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"() in numOfEmptyCols\"\n\t\t\t\t\tclass=\"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\"\n\t\t\t\t\t@mouseenter=\"resetModel()\"\n\t\t\t\t>\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_data\">\n\t\t\t<span :class=\"{\n\t\t\t\t['top-miniChart_dataDynamic']: true,\n\t\t\t\t[`top-miniChart_dataDynamic-direction_${dynamicDirection}`]: true,\n\t\t\t}\">\n\t\t\t\t{{ Math.abs(localDynamic) || '' }}\n\t\t\t</span>\n\t\t\t<span class=\"top-miniChart_dataValue\">\n\t\t\t\t{{ percentOfNumber(values[values.length - 1]) || 0 }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"additionalHTML\"\n\t\t\tv-html=\"additionalHTML\"\n\t\t/>\n\t</div>\n\n</template>\n<style>\n@import \"./styles/miniChart.css\";\n</style>\n","<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, watch } from 'vue';\nimport type { Props, Style } from './miniCharts';\n\nconst props = defineProps<Props>();\nconst model = defineModel<Props['modelValue']>();\n\nconst elRef = ref<HTMLElement | null>(null);\n\nlet pagesResizeObserver: ResizeObserver;\n\n/**\n * Количество страниц\n */\nconst countPages = ref(1);\n\n/**\n * Активная страница\n */\nconst activePage = ref(1);\n\n/**\n * Установка количества страниц в блоке\n */\nconst setCountPages = () => {\n\tcountPages.value = Math.round(elRef.value!.scrollHeight / elRef.value!.clientHeight);\n};\n\nwatch(countPages, () => {\n\tif (countPages.value < activePage.value) {\n\t\tactivePage.value = 1;\n\t}\n});\n\nwatch(\n\t() => props.countCharts,\n\t() => setCountPages(),\n\t{ flush: 'post' },\n);\n\n/**\n * Расчет положения для подсказки\n */\nconst tooltipStyle = computed(() => {\n\tif (!model.value) return {};\n\n\tconst box = model.value.elCol.getBoundingClientRect();\n\n\tconst style: Style = {\n\t\ttop: box.bottom + window.scrollY + 'px',\n\t};\n\n\tif (document.documentElement.clientWidth / 2 > box.right) {\n\t\tstyle.left = box.right + window.scrollX + 10 + 'px';\n\t} else {\n\t\tstyle.left = box.left + window.scrollX - 10 + 'px';\n\t\tstyle.transform = 'translate(-100%, 0)';\n\t}\n\n\treturn style;\n});\n\nonMounted(() => {\n\t/**\n\t * Функционал переключения экранов графиков\n\t */\n\tpagesResizeObserver = new ResizeObserver(() => setCountPages());\n\tpagesResizeObserver.observe(elRef.value!);\n\n\twatch(activePage, () => {\n\t\tconst elMiniChart = elRef.value!.children[0];\n\t\tconst pageHeight = elMiniChart.clientHeight + parseInt(window.getComputedStyle(elRef.value!).getPropertyValue('row-gap'));\n\t\tconst scrollTop = pageHeight * (activePage.value - 1);\n\n\t\telRef.value!.scrollTo({ top: scrollTop, behavior: 'smooth' });\n\t});\n});\n\nonUnmounted(() => {\n\tpagesResizeObserver.disconnect();\n});\n</script>\n\n<template>\n\t<div\n\t\tclass=\"top-miniCharts\"\n\t\t:class=\"{\n\t\t\t['top-miniCharts']: true,\n\t\t\t['scrollable']: countPages > 1,\n\t\t\t['top-miniCharts_hideChartInMobile']: hideChartInMobile,\n\t\t}\"\n\t\tref=\"elRef\"\n\t>\n\n\t\t<slot></slot>\n\n\t\t<div\n\t\t\tv-if=\"countPages > 1\"\n\t\t\tclass=\"top-miniCharts_pages\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-for=\"n in countPages\"\n\t\t\t\t:class=\"{['top-active']: n === activePage}\"\n\t\t\t\t@click=\"activePage = n\"\n\t\t\t></span>\n\t\t</div>\n\n\t\t<Teleport to=\"body\">\n\t\t\t<div\n\t\t\t\tv-if=\"model\"\n\t\t\t\tclass=\"top-miniCharts_tooltip\"\n\t\t\t\t:style=\"tooltipStyle\"\n\t\t\t>\n\t\t\t\t<span>{{ model.date }}</span>\n\t\t\t\t<span>{{ model.value }}</span>\n\t\t\t</div>\n\t\t</Teleport>\n\t</div>\n\n</template>\n\n<style>\n@import \"./styles/miniCharts.css\";\n</style>\n"]}
|
|
1
|
+
{"version":3,"sources":["charts/charts.js","../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniCharts/miniCharts.vue"],"names":["vue","exports","C","w","T","E","D","O","k","vue_1","a","r","l","u","t","n","g","v","S","forms_BlerVsRB_es_js_1","A","number_js_1","j","e","M","b"],"mappings":"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","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/forms-BlerVsRB.es.js\", \"../utils/number.js\", \"vue\"], function (require, exports, forms_BlerVsRB_es_js_1, number_js_1, vue_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.TopMiniCharts = exports.TopMiniChart = void 0;\n //#region src/components/charts/miniChart/miniChart.vue?vue&type=script&setup=true&lang.ts\n var C = [\"data-top-icon\"], w = { class: \"top-miniChart_chart\" }, T = [\"onMouseenter\"], E = { class: \"top-miniChart_data\" }, D = { class: \"top-miniChart_dataValue\" }, O = [\"innerHTML\"], k = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"miniChart\",\n props: /*@__PURE__*/ (0, vue_1.mergeModels)({\n title: {},\n gIcon: {},\n color: { default: \"blue\" },\n dates: {},\n values: {},\n activeDates: {},\n keysForDyn: {},\n dynamic: {},\n isInvert: { type: Boolean },\n numberCols: { default: 90 },\n additionalHTML: {},\n modelValue: {},\n valueSuffix: {},\n hideChartInMobile: { type: Boolean }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(r) {\n let a = r, l = (0, vue_1.useModel)(r, \"modelValue\"), u = (e) => {\n let t = m.value;\n a.isInvert && (--e, --t);\n let n = t > 0 ? Math.round(e / t * 90) : 0;\n return a.isInvert ? 100 - n : n + 10;\n }, p = (e) => a.activeDates.includes(e), m = (0, vue_1.computed)(() => Math.max(...a.values)), g = (0, vue_1.computed)(() => a.dates.slice().reverse()), v = (0, vue_1.computed)(() => a.dates.length ? a.numberCols - a.dates.length : 0), S = () => {\n l.value = null;\n }, k = (t, n, r) => {\n t.target instanceof HTMLElement && (l.value = {\n elCol: t.target,\n date: (0, forms_BlerVsRB_es_js_1._)(n),\n value: r === null ? \"--\" : r + (a.valueSuffix ?? \"\")\n });\n }, A = (0, vue_1.computed)(() => {\n let e = a.dynamic;\n if (e === void 0) {\n let t = a.values[a.keysForDyn.start];\n e = a.values[a.keysForDyn.end] - t;\n }\n return (e < 0 ? -1 : 1) * (0, number_js_1.percentOfNumber)(Math.abs(e));\n }), j = (0, vue_1.computed)(() => {\n let e = \"stay\";\n return a.isInvert ? (A.value > 0 && (e = \"down\"), A.value < 0 && (e = \"up\")) : (A.value > 0 && (e = \"up\"), A.value < 0 && (e = \"down\")), e;\n });\n return (e, i) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", { class: (0, vue_1.normalizeClass)({\n \"top-miniChart\": !0,\n \"top-miniChart_hideChartInMobile\": r.hideChartInMobile,\n [`top-color_${r.color}`]: !0\n }) }, [\n (0, vue_1.createElementVNode)(\"div\", {\n class: \"top-miniChart_title top-ellipsis\",\n \"data-top-icon\": r.gIcon\n }, (0, vue_1.toDisplayString)(r.title), 9, C),\n (0, vue_1.createElementVNode)(\"div\", w, [(0, vue_1.createElementVNode)(\"div\", {\n class: \"top-miniChart_chartGrid\",\n onMouseleave: i[1] ||= (e) => S()\n }, [((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(g.value, (e, t) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: (0, vue_1.normalizeClass)({\n \"top-miniChart_chartGridCol\": !0,\n \"top-active\": p(e)\n }),\n onMouseenter: (n) => k(n, e, r.values[r.values.length - t - 1])\n }, [(0, vue_1.createElementVNode)(\"div\", { style: (0, vue_1.normalizeStyle)(\"height:\" + u(r.values[r.values.length - t - 1]) + \"%\") }, null, 4)], 42, T))), 256)), ((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(v.value, () => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: \"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\",\n onMouseenter: i[0] ||= (e) => S()\n }, [...i[2] ||= [(0, vue_1.createElementVNode)(\"div\", null, null, -1)]], 32))), 256))], 32)]),\n (0, vue_1.createElementVNode)(\"div\", E, [(0, vue_1.createElementVNode)(\"span\", { class: (0, vue_1.normalizeClass)({\n \"top-miniChart_dataDynamic\": !0,\n [`top-miniChart_dataDynamic-direction_${j.value}`]: !0\n }) }, (0, vue_1.toDisplayString)(Math.abs(A.value) || \"\"), 3), (0, vue_1.createElementVNode)(\"span\", D, (0, vue_1.toDisplayString)((0, vue_1.unref)(number_js_1.percentOfNumber)(r.values[r.values.length - 1]) || 0), 1)]),\n r.additionalHTML ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n key: 0,\n innerHTML: r.additionalHTML\n }, null, 8, O)) : (0, vue_1.createCommentVNode)(\"\", !0)\n ], 2));\n }\n }), A = {\n key: 0,\n class: \"top-miniCharts_pages\"\n }, j = [\"onClick\"], M = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"miniCharts\",\n props: /*@__PURE__*/ (0, vue_1.mergeModels)({\n modelValue: {},\n countCharts: {},\n hideChartInMobile: { type: Boolean }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n let t = e, l = (0, vue_1.useModel)(e, \"modelValue\"), u = (0, vue_1.ref)(null), b, C = (0, vue_1.ref)(1), w = (0, vue_1.ref)(1), T = () => {\n C.value = Math.round(u.value.scrollHeight / u.value.clientHeight);\n };\n (0, vue_1.watch)(C, () => {\n C.value < w.value && (w.value = 1);\n }), (0, vue_1.watch)(() => t.countCharts, () => T(), { flush: \"post\" });\n let E = (0, vue_1.computed)(() => {\n if (!l.value)\n return {};\n let e = l.value.elCol.getBoundingClientRect(), t = { top: e.bottom + window.scrollY + \"px\" };\n return document.documentElement.clientWidth / 2 > e.right ? t.left = e.right + window.scrollX + 10 + \"px\" : (t.left = e.left + window.scrollX - 10 + \"px\", t.transform = \"translate(-100%, 0)\"), t;\n });\n return (0, vue_1.onMounted)(() => {\n b = new ResizeObserver(() => T()), b.observe(u.value), (0, vue_1.watch)(w, () => {\n let e = (u.value.children[0].clientHeight + parseInt(window.getComputedStyle(u.value).getPropertyValue(\"row-gap\"))) * (w.value - 1);\n u.value.scrollTo({\n top: e,\n behavior: \"smooth\"\n });\n });\n }), (0, vue_1.onUnmounted)(() => {\n b.disconnect();\n }), (t, i) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: (0, vue_1.normalizeClass)([\"top-miniCharts\", {\n \"top-miniCharts\": !0,\n scrollable: C.value > 1,\n \"top-miniCharts_hideChartInMobile\": e.hideChartInMobile\n }]),\n ref_key: \"elRef\",\n ref: u\n }, [\n (0, vue_1.renderSlot)(t.$slots, \"default\"),\n C.value > 1 ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", A, [((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(C.value, (e) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"span\", {\n class: (0, vue_1.normalizeClass)({ \"top-active\": e === w.value }),\n onClick: (t) => w.value = e\n }, null, 10, j))), 256))])) : (0, vue_1.createCommentVNode)(\"\", !0),\n ((0, vue_1.openBlock)(), (0, vue_1.createBlock)(vue_1.Teleport, { to: \"body\" }, [l.value ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n key: 0,\n class: \"top-miniCharts_tooltip\",\n style: (0, vue_1.normalizeStyle)(E.value)\n }, [(0, vue_1.createElementVNode)(\"span\", null, (0, vue_1.toDisplayString)(l.value.date), 1), (0, vue_1.createElementVNode)(\"span\", null, (0, vue_1.toDisplayString)(l.value.value), 1)], 4)) : (0, vue_1.createCommentVNode)(\"\", !0)]))\n ], 2));\n }\n });\n exports.TopMiniChart = k;\n exports.TopMiniCharts = M;\n});\n//# sourceMappingURL=charts.js.map\n","<script setup lang=\"ts\">\nimport type { Props } from './types';\nimport { computed } from 'vue';\nimport { dateFormat } from '@/core/utils/date';\nimport { percentOfNumber } from '@/core/utils/number';\nimport { defaultNumberCols, minHeight } from './utils/consts';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcolor: 'blue',\n\tnumberCols: defaultNumberCols,\n});\nconst model = defineModel<Props['modelValue']>();\n\n/**\n * Расчет высоты колонки (в процентах)\n */\nconst genColHeight = (value: number): number => {\n\tlet maximumValue = maxValue.value;\n\n\t// для графиков средней и медианной делаем максимум 1\n\tif (props.isInvert) {\n\t\tvalue -= 1;\n\t\tmaximumValue -= 1;\n\t}\n\n\tconst height = maximumValue > 0 ? Math.round((value / maximumValue) * (100 - minHeight)) : 0;\n\tif (props.isInvert) return 100 - height;\n\n\treturn height + minHeight;\n};\n\nconst isActiveDate = (date: string) => props.activeDates.includes(date);\n\nconst maxValue = computed(() => Math.max(...props.values));\n\n/**\n * Из-за стиля .top-miniChart_chartGrid - direction: rtl\n */\nconst reversedDates = computed(() => props.dates.slice().reverse());\n\n/**\n * Кол-во пустых колонок\n */\nconst numOfEmptyCols = computed(() => {\n\tif (!props.dates.length) return 0;\n\n\treturn props.numberCols - props.dates.length;\n});\n\nconst resetModel = () => {\n\tmodel.value = null;\n};\n\nconst setModel = (e: Event, date: string, value: number | null) => {\n\tif (!(e.target instanceof HTMLElement)) return;\n\n\tmodel.value = {\n\t\telCol: e.target,\n\t\tdate: dateFormat(date),\n\t\tvalue: value === null ? '--' : value + (props.valueSuffix ?? ''),\n\t};\n};\n\n/**\n * Возвращает численный показатель динамики графика\n */\nconst localDynamic = computed(() => {\n\tlet dynamic = props.dynamic;\n\n\tif (typeof dynamic === 'undefined') {\n\t\tconst prevPeriodValue = props.values[props.keysForDyn.start];\n\t\tconst currentValue = props.values[props.keysForDyn.end];\n\t\tdynamic = currentValue - prevPeriodValue;\n\t}\n\n\tconst sign = dynamic < 0 ? -1 : 1;\n\n\treturn sign * (percentOfNumber(Math.abs(dynamic)) as number);\n});\n\nconst dynamicDirection = computed(() => {\n\tlet direction: 'up' | 'stay' | 'down' = 'stay';\n\n\tif (!props.isInvert) {\n\t\tif (localDynamic.value > 0) direction = 'up';\n\t\tif (localDynamic.value < 0) direction = 'down';\n\t} else {\n\t\tif (localDynamic.value > 0) direction = 'down';\n\t\tif (localDynamic.value < 0) direction = 'up';\n\t}\n\n\treturn direction;\n});\n\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-miniChart']: true,\n\t\t\t['top-miniChart_hideChartInMobile']: hideChartInMobile,\n\t\t\t[`top-color_${color}`]: true\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tclass=\"top-miniChart_title top-ellipsis\"\n\t\t\t:data-top-icon=\"gIcon\"\n\t\t>\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_chart\">\n\t\t\t<div\n\t\t\t\tclass=\"top-miniChart_chartGrid\"\n\t\t\t\t@mouseleave=\"resetModel()\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(date, i) in reversedDates\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t['top-miniChart_chartGridCol']: true,\n\t\t\t\t\t\t['top-active']: isActiveDate(date)\n\t\t\t\t\t}\"\n\t\t\t\t\t@mouseenter=\"setModel($event, date, values[values.length - i - 1])\"\n\t\t\t\t>\n\t\t\t\t\t<div :style=\"'height:' + genColHeight(values[values.length - i - 1]) + '%'\"/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"() in numOfEmptyCols\"\n\t\t\t\t\tclass=\"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\"\n\t\t\t\t\t@mouseenter=\"resetModel()\"\n\t\t\t\t>\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_data\">\n\t\t\t<span :class=\"{\n\t\t\t\t['top-miniChart_dataDynamic']: true,\n\t\t\t\t[`top-miniChart_dataDynamic-direction_${dynamicDirection}`]: true,\n\t\t\t}\">\n\t\t\t\t{{ Math.abs(localDynamic) || '' }}\n\t\t\t</span>\n\t\t\t<span class=\"top-miniChart_dataValue\">\n\t\t\t\t{{ percentOfNumber(values[values.length - 1]) || 0 }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"additionalHTML\"\n\t\t\tv-html=\"additionalHTML\"\n\t\t/>\n\t</div>\n\n</template>\n<style>\n@import \"./styles/miniChart.css\";\n</style>\n","<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, watch } from 'vue';\nimport type { Props, Style } from './miniCharts';\n\nconst props = defineProps<Props>();\nconst model = defineModel<Props['modelValue']>();\n\nconst elRef = ref<HTMLElement | null>(null);\n\nlet pagesResizeObserver: ResizeObserver;\n\n/**\n * Количество страниц\n */\nconst countPages = ref(1);\n\n/**\n * Активная страница\n */\nconst activePage = ref(1);\n\n/**\n * Установка количества страниц в блоке\n */\nconst setCountPages = () => {\n\tcountPages.value = Math.round(elRef.value!.scrollHeight / elRef.value!.clientHeight);\n};\n\nwatch(countPages, () => {\n\tif (countPages.value < activePage.value) {\n\t\tactivePage.value = 1;\n\t}\n});\n\nwatch(\n\t() => props.countCharts,\n\t() => setCountPages(),\n\t{ flush: 'post' },\n);\n\n/**\n * Расчет положения для подсказки\n */\nconst tooltipStyle = computed(() => {\n\tif (!model.value) return {};\n\n\tconst box = model.value.elCol.getBoundingClientRect();\n\n\tconst style: Style = {\n\t\ttop: box.bottom + window.scrollY + 'px',\n\t};\n\n\tif (document.documentElement.clientWidth / 2 > box.right) {\n\t\tstyle.left = box.right + window.scrollX + 10 + 'px';\n\t} else {\n\t\tstyle.left = box.left + window.scrollX - 10 + 'px';\n\t\tstyle.transform = 'translate(-100%, 0)';\n\t}\n\n\treturn style;\n});\n\nonMounted(() => {\n\t/**\n\t * Функционал переключения экранов графиков\n\t */\n\tpagesResizeObserver = new ResizeObserver(() => setCountPages());\n\tpagesResizeObserver.observe(elRef.value!);\n\n\twatch(activePage, () => {\n\t\tconst elMiniChart = elRef.value!.children[0];\n\t\tconst pageHeight = elMiniChart.clientHeight + parseInt(window.getComputedStyle(elRef.value!).getPropertyValue('row-gap'));\n\t\tconst scrollTop = pageHeight * (activePage.value - 1);\n\n\t\telRef.value!.scrollTo({ top: scrollTop, behavior: 'smooth' });\n\t});\n});\n\nonUnmounted(() => {\n\tpagesResizeObserver.disconnect();\n});\n</script>\n\n<template>\n\t<div\n\t\tclass=\"top-miniCharts\"\n\t\t:class=\"{\n\t\t\t['top-miniCharts']: true,\n\t\t\t['scrollable']: countPages > 1,\n\t\t\t['top-miniCharts_hideChartInMobile']: hideChartInMobile,\n\t\t}\"\n\t\tref=\"elRef\"\n\t>\n\n\t\t<slot></slot>\n\n\t\t<div\n\t\t\tv-if=\"countPages > 1\"\n\t\t\tclass=\"top-miniCharts_pages\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-for=\"n in countPages\"\n\t\t\t\t:class=\"{['top-active']: n === activePage}\"\n\t\t\t\t@click=\"activePage = n\"\n\t\t\t></span>\n\t\t</div>\n\n\t\t<Teleport to=\"body\">\n\t\t\t<div\n\t\t\t\tv-if=\"model\"\n\t\t\t\tclass=\"top-miniCharts_tooltip\"\n\t\t\t\t:style=\"tooltipStyle\"\n\t\t\t>\n\t\t\t\t<span>{{ model.date }}</span>\n\t\t\t\t<span>{{ model.value }}</span>\n\t\t\t</div>\n\t\t</Teleport>\n\t</div>\n\n</template>\n\n<style>\n@import \"./styles/miniCharts.css\";\n</style>\n"]}
|
package/charts/charts.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
_autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
|
|
6
6
|
/* end import css */
|
|
7
7
|
|
|
8
|
-
import { _ as e } from "../.chunks/forms-
|
|
8
|
+
import { _ as e } from "../.chunks/forms-BlerVsRB.es.js";
|
|
9
9
|
import { percentOfNumber as t } from "../utils/number.js";
|
|
10
10
|
import { Fragment as n, Teleport as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, defineComponent as l, mergeModels as u, normalizeClass as d, normalizeStyle as f, onMounted as p, onUnmounted as m, openBlock as h, ref as g, renderList as _, renderSlot as v, toDisplayString as y, unref as b, useModel as x, watch as S } from "vue";
|
|
11
11
|
//#region src/components/charts/miniChart/miniChart.vue?vue&type=script&setup=true&lang.ts
|
package/charts/charts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charts.js","names":[],"sources":["../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniCharts/miniCharts.vue","../../src/components/charts/miniCharts/miniCharts.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Props } from './types';\nimport { computed } from 'vue';\nimport { dateFormat } from '@/core/utils/date';\nimport { percentOfNumber } from '@/core/utils/number';\nimport { defaultNumberCols, minHeight } from './utils/consts';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcolor: 'blue',\n\tnumberCols: defaultNumberCols,\n});\nconst model = defineModel<Props['modelValue']>();\n\n/**\n * Расчет высоты колонки (в процентах)\n */\nconst genColHeight = (value: number): number => {\n\tlet maximumValue = maxValue.value;\n\n\t// для графиков средней и медианной делаем максимум 1\n\tif (props.isInvert) {\n\t\tvalue -= 1;\n\t\tmaximumValue -= 1;\n\t}\n\n\tconst height = maximumValue > 0 ? Math.round((value / maximumValue) * (100 - minHeight)) : 0;\n\tif (props.isInvert) return 100 - height;\n\n\treturn height + minHeight;\n};\n\nconst isActiveDate = (date: string) => props.activeDates.includes(date);\n\nconst maxValue = computed(() => Math.max(...props.values));\n\n/**\n * Из-за стиля .top-miniChart_chartGrid - direction: rtl\n */\nconst reversedDates = computed(() => props.dates.slice().reverse());\n\n/**\n * Кол-во пустых колонок\n */\nconst numOfEmptyCols = computed(() => {\n\tif (!props.dates.length) return 0;\n\n\treturn props.numberCols - props.dates.length;\n});\n\nconst resetModel = () => {\n\tmodel.value = null;\n};\n\nconst setModel = (e: Event, date: string, value: number | null) => {\n\tif (!(e.target instanceof HTMLElement)) return;\n\n\tmodel.value = {\n\t\telCol: e.target,\n\t\tdate: dateFormat(date),\n\t\tvalue: value === null ? '--' : value + (props.valueSuffix ?? ''),\n\t};\n};\n\n/**\n * Возвращает численный показатель динамики графика\n */\nconst localDynamic = computed(() => {\n\tlet dynamic = props.dynamic;\n\n\tif (typeof dynamic === 'undefined') {\n\t\tconst prevPeriodValue = props.values[props.keysForDyn.start];\n\t\tconst currentValue = props.values[props.keysForDyn.end];\n\t\tdynamic = currentValue - prevPeriodValue;\n\t}\n\n\tconst sign = dynamic < 0 ? -1 : 1;\n\n\treturn sign * (percentOfNumber(Math.abs(dynamic)) as number);\n});\n\nconst dynamicDirection = computed(() => {\n\tlet direction: 'up' | 'stay' | 'down' = 'stay';\n\n\tif (!props.isInvert) {\n\t\tif (localDynamic.value > 0) direction = 'up';\n\t\tif (localDynamic.value < 0) direction = 'down';\n\t} else {\n\t\tif (localDynamic.value > 0) direction = 'down';\n\t\tif (localDynamic.value < 0) direction = 'up';\n\t}\n\n\treturn direction;\n});\n\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-miniChart']: true,\n\t\t\t['top-miniChart_hideChartInMobile']: hideChartInMobile,\n\t\t\t[`top-color_${color}`]: true\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tclass=\"top-miniChart_title top-ellipsis\"\n\t\t\t:data-top-icon=\"gIcon\"\n\t\t>\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_chart\">\n\t\t\t<div\n\t\t\t\tclass=\"top-miniChart_chartGrid\"\n\t\t\t\t@mouseleave=\"resetModel()\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(date, i) in reversedDates\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t['top-miniChart_chartGridCol']: true,\n\t\t\t\t\t\t['top-active']: isActiveDate(date)\n\t\t\t\t\t}\"\n\t\t\t\t\t@mouseenter=\"setModel($event, date, values[values.length - i - 1])\"\n\t\t\t\t>\n\t\t\t\t\t<div :style=\"'height:' + genColHeight(values[values.length - i - 1]) + '%'\"/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"() in numOfEmptyCols\"\n\t\t\t\t\tclass=\"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\"\n\t\t\t\t\t@mouseenter=\"resetModel()\"\n\t\t\t\t>\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_data\">\n\t\t\t<span :class=\"{\n\t\t\t\t['top-miniChart_dataDynamic']: true,\n\t\t\t\t[`top-miniChart_dataDynamic-direction_${dynamicDirection}`]: true,\n\t\t\t}\">\n\t\t\t\t{{ Math.abs(localDynamic) || '' }}\n\t\t\t</span>\n\t\t\t<span class=\"top-miniChart_dataValue\">\n\t\t\t\t{{ percentOfNumber(values[values.length - 1]) || 0 }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"additionalHTML\"\n\t\t\tv-html=\"additionalHTML\"\n\t\t/>\n\t</div>\n\n</template>\n<style>\n@import \"./styles/miniChart.css\";\n</style>\n","<script setup lang=\"ts\">\nimport type { Props } from './types';\nimport { computed } from 'vue';\nimport { dateFormat } from '@/core/utils/date';\nimport { percentOfNumber } from '@/core/utils/number';\nimport { defaultNumberCols, minHeight } from './utils/consts';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcolor: 'blue',\n\tnumberCols: defaultNumberCols,\n});\nconst model = defineModel<Props['modelValue']>();\n\n/**\n * Расчет высоты колонки (в процентах)\n */\nconst genColHeight = (value: number): number => {\n\tlet maximumValue = maxValue.value;\n\n\t// для графиков средней и медианной делаем максимум 1\n\tif (props.isInvert) {\n\t\tvalue -= 1;\n\t\tmaximumValue -= 1;\n\t}\n\n\tconst height = maximumValue > 0 ? Math.round((value / maximumValue) * (100 - minHeight)) : 0;\n\tif (props.isInvert) return 100 - height;\n\n\treturn height + minHeight;\n};\n\nconst isActiveDate = (date: string) => props.activeDates.includes(date);\n\nconst maxValue = computed(() => Math.max(...props.values));\n\n/**\n * Из-за стиля .top-miniChart_chartGrid - direction: rtl\n */\nconst reversedDates = computed(() => props.dates.slice().reverse());\n\n/**\n * Кол-во пустых колонок\n */\nconst numOfEmptyCols = computed(() => {\n\tif (!props.dates.length) return 0;\n\n\treturn props.numberCols - props.dates.length;\n});\n\nconst resetModel = () => {\n\tmodel.value = null;\n};\n\nconst setModel = (e: Event, date: string, value: number | null) => {\n\tif (!(e.target instanceof HTMLElement)) return;\n\n\tmodel.value = {\n\t\telCol: e.target,\n\t\tdate: dateFormat(date),\n\t\tvalue: value === null ? '--' : value + (props.valueSuffix ?? ''),\n\t};\n};\n\n/**\n * Возвращает численный показатель динамики графика\n */\nconst localDynamic = computed(() => {\n\tlet dynamic = props.dynamic;\n\n\tif (typeof dynamic === 'undefined') {\n\t\tconst prevPeriodValue = props.values[props.keysForDyn.start];\n\t\tconst currentValue = props.values[props.keysForDyn.end];\n\t\tdynamic = currentValue - prevPeriodValue;\n\t}\n\n\tconst sign = dynamic < 0 ? -1 : 1;\n\n\treturn sign * (percentOfNumber(Math.abs(dynamic)) as number);\n});\n\nconst dynamicDirection = computed(() => {\n\tlet direction: 'up' | 'stay' | 'down' = 'stay';\n\n\tif (!props.isInvert) {\n\t\tif (localDynamic.value > 0) direction = 'up';\n\t\tif (localDynamic.value < 0) direction = 'down';\n\t} else {\n\t\tif (localDynamic.value > 0) direction = 'down';\n\t\tif (localDynamic.value < 0) direction = 'up';\n\t}\n\n\treturn direction;\n});\n\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-miniChart']: true,\n\t\t\t['top-miniChart_hideChartInMobile']: hideChartInMobile,\n\t\t\t[`top-color_${color}`]: true\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tclass=\"top-miniChart_title top-ellipsis\"\n\t\t\t:data-top-icon=\"gIcon\"\n\t\t>\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_chart\">\n\t\t\t<div\n\t\t\t\tclass=\"top-miniChart_chartGrid\"\n\t\t\t\t@mouseleave=\"resetModel()\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(date, i) in reversedDates\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t['top-miniChart_chartGridCol']: true,\n\t\t\t\t\t\t['top-active']: isActiveDate(date)\n\t\t\t\t\t}\"\n\t\t\t\t\t@mouseenter=\"setModel($event, date, values[values.length - i - 1])\"\n\t\t\t\t>\n\t\t\t\t\t<div :style=\"'height:' + genColHeight(values[values.length - i - 1]) + '%'\"/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"() in numOfEmptyCols\"\n\t\t\t\t\tclass=\"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\"\n\t\t\t\t\t@mouseenter=\"resetModel()\"\n\t\t\t\t>\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_data\">\n\t\t\t<span :class=\"{\n\t\t\t\t['top-miniChart_dataDynamic']: true,\n\t\t\t\t[`top-miniChart_dataDynamic-direction_${dynamicDirection}`]: true,\n\t\t\t}\">\n\t\t\t\t{{ Math.abs(localDynamic) || '' }}\n\t\t\t</span>\n\t\t\t<span class=\"top-miniChart_dataValue\">\n\t\t\t\t{{ percentOfNumber(values[values.length - 1]) || 0 }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"additionalHTML\"\n\t\t\tv-html=\"additionalHTML\"\n\t\t/>\n\t</div>\n\n</template>\n<style>\n@import \"./styles/miniChart.css\";\n</style>\n","<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, watch } from 'vue';\nimport type { Props, Style } from './miniCharts';\n\nconst props = defineProps<Props>();\nconst model = defineModel<Props['modelValue']>();\n\nconst elRef = ref<HTMLElement | null>(null);\n\nlet pagesResizeObserver: ResizeObserver;\n\n/**\n * Количество страниц\n */\nconst countPages = ref(1);\n\n/**\n * Активная страница\n */\nconst activePage = ref(1);\n\n/**\n * Установка количества страниц в блоке\n */\nconst setCountPages = () => {\n\tcountPages.value = Math.round(elRef.value!.scrollHeight / elRef.value!.clientHeight);\n};\n\nwatch(countPages, () => {\n\tif (countPages.value < activePage.value) {\n\t\tactivePage.value = 1;\n\t}\n});\n\nwatch(\n\t() => props.countCharts,\n\t() => setCountPages(),\n\t{ flush: 'post' },\n);\n\n/**\n * Расчет положения для подсказки\n */\nconst tooltipStyle = computed(() => {\n\tif (!model.value) return {};\n\n\tconst box = model.value.elCol.getBoundingClientRect();\n\n\tconst style: Style = {\n\t\ttop: box.bottom + window.scrollY + 'px',\n\t};\n\n\tif (document.documentElement.clientWidth / 2 > box.right) {\n\t\tstyle.left = box.right + window.scrollX + 10 + 'px';\n\t} else {\n\t\tstyle.left = box.left + window.scrollX - 10 + 'px';\n\t\tstyle.transform = 'translate(-100%, 0)';\n\t}\n\n\treturn style;\n});\n\nonMounted(() => {\n\t/**\n\t * Функционал переключения экранов графиков\n\t */\n\tpagesResizeObserver = new ResizeObserver(() => setCountPages());\n\tpagesResizeObserver.observe(elRef.value!);\n\n\twatch(activePage, () => {\n\t\tconst elMiniChart = elRef.value!.children[0];\n\t\tconst pageHeight = elMiniChart.clientHeight + parseInt(window.getComputedStyle(elRef.value!).getPropertyValue('row-gap'));\n\t\tconst scrollTop = pageHeight * (activePage.value - 1);\n\n\t\telRef.value!.scrollTo({ top: scrollTop, behavior: 'smooth' });\n\t});\n});\n\nonUnmounted(() => {\n\tpagesResizeObserver.disconnect();\n});\n</script>\n\n<template>\n\t<div\n\t\tclass=\"top-miniCharts\"\n\t\t:class=\"{\n\t\t\t['top-miniCharts']: true,\n\t\t\t['scrollable']: countPages > 1,\n\t\t\t['top-miniCharts_hideChartInMobile']: hideChartInMobile,\n\t\t}\"\n\t\tref=\"elRef\"\n\t>\n\n\t\t<slot></slot>\n\n\t\t<div\n\t\t\tv-if=\"countPages > 1\"\n\t\t\tclass=\"top-miniCharts_pages\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-for=\"n in countPages\"\n\t\t\t\t:class=\"{['top-active']: n === activePage}\"\n\t\t\t\t@click=\"activePage = n\"\n\t\t\t></span>\n\t\t</div>\n\n\t\t<Teleport to=\"body\">\n\t\t\t<div\n\t\t\t\tv-if=\"model\"\n\t\t\t\tclass=\"top-miniCharts_tooltip\"\n\t\t\t\t:style=\"tooltipStyle\"\n\t\t\t>\n\t\t\t\t<span>{{ model.date }}</span>\n\t\t\t\t<span>{{ model.value }}</span>\n\t\t\t</div>\n\t\t</Teleport>\n\t</div>\n\n</template>\n\n<style>\n@import \"./styles/miniCharts.css\";\n</style>\n","<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, watch } from 'vue';\nimport type { Props, Style } from './miniCharts';\n\nconst props = defineProps<Props>();\nconst model = defineModel<Props['modelValue']>();\n\nconst elRef = ref<HTMLElement | null>(null);\n\nlet pagesResizeObserver: ResizeObserver;\n\n/**\n * Количество страниц\n */\nconst countPages = ref(1);\n\n/**\n * Активная страница\n */\nconst activePage = ref(1);\n\n/**\n * Установка количества страниц в блоке\n */\nconst setCountPages = () => {\n\tcountPages.value = Math.round(elRef.value!.scrollHeight / elRef.value!.clientHeight);\n};\n\nwatch(countPages, () => {\n\tif (countPages.value < activePage.value) {\n\t\tactivePage.value = 1;\n\t}\n});\n\nwatch(\n\t() => props.countCharts,\n\t() => setCountPages(),\n\t{ flush: 'post' },\n);\n\n/**\n * Расчет положения для подсказки\n */\nconst tooltipStyle = computed(() => {\n\tif (!model.value) return {};\n\n\tconst box = model.value.elCol.getBoundingClientRect();\n\n\tconst style: Style = {\n\t\ttop: box.bottom + window.scrollY + 'px',\n\t};\n\n\tif (document.documentElement.clientWidth / 2 > box.right) {\n\t\tstyle.left = box.right + window.scrollX + 10 + 'px';\n\t} else {\n\t\tstyle.left = box.left + window.scrollX - 10 + 'px';\n\t\tstyle.transform = 'translate(-100%, 0)';\n\t}\n\n\treturn style;\n});\n\nonMounted(() => {\n\t/**\n\t * Функционал переключения экранов графиков\n\t */\n\tpagesResizeObserver = new ResizeObserver(() => setCountPages());\n\tpagesResizeObserver.observe(elRef.value!);\n\n\twatch(activePage, () => {\n\t\tconst elMiniChart = elRef.value!.children[0];\n\t\tconst pageHeight = elMiniChart.clientHeight + parseInt(window.getComputedStyle(elRef.value!).getPropertyValue('row-gap'));\n\t\tconst scrollTop = pageHeight * (activePage.value - 1);\n\n\t\telRef.value!.scrollTo({ top: scrollTop, behavior: 'smooth' });\n\t});\n});\n\nonUnmounted(() => {\n\tpagesResizeObserver.disconnect();\n});\n</script>\n\n<template>\n\t<div\n\t\tclass=\"top-miniCharts\"\n\t\t:class=\"{\n\t\t\t['top-miniCharts']: true,\n\t\t\t['scrollable']: countPages > 1,\n\t\t\t['top-miniCharts_hideChartInMobile']: hideChartInMobile,\n\t\t}\"\n\t\tref=\"elRef\"\n\t>\n\n\t\t<slot></slot>\n\n\t\t<div\n\t\t\tv-if=\"countPages > 1\"\n\t\t\tclass=\"top-miniCharts_pages\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-for=\"n in countPages\"\n\t\t\t\t:class=\"{['top-active']: n === activePage}\"\n\t\t\t\t@click=\"activePage = n\"\n\t\t\t></span>\n\t\t</div>\n\n\t\t<Teleport to=\"body\">\n\t\t\t<div\n\t\t\t\tv-if=\"model\"\n\t\t\t\tclass=\"top-miniCharts_tooltip\"\n\t\t\t\t:style=\"tooltipStyle\"\n\t\t\t>\n\t\t\t\t<span>{{ model.date }}</span>\n\t\t\t\t<span>{{ model.value }}</span>\n\t\t\t</div>\n\t\t</Teleport>\n\t</div>\n\n</template>\n\n<style>\n@import \"./styles/miniCharts.css\";\n</style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"charts.js","names":[],"sources":["../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniCharts/miniCharts.vue","../../src/components/charts/miniCharts/miniCharts.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Props } from './types';\nimport { computed } from 'vue';\nimport { dateFormat } from '@/core/utils/date';\nimport { percentOfNumber } from '@/core/utils/number';\nimport { defaultNumberCols, minHeight } from './utils/consts';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcolor: 'blue',\n\tnumberCols: defaultNumberCols,\n});\nconst model = defineModel<Props['modelValue']>();\n\n/**\n * Расчет высоты колонки (в процентах)\n */\nconst genColHeight = (value: number): number => {\n\tlet maximumValue = maxValue.value;\n\n\t// для графиков средней и медианной делаем максимум 1\n\tif (props.isInvert) {\n\t\tvalue -= 1;\n\t\tmaximumValue -= 1;\n\t}\n\n\tconst height = maximumValue > 0 ? Math.round((value / maximumValue) * (100 - minHeight)) : 0;\n\tif (props.isInvert) return 100 - height;\n\n\treturn height + minHeight;\n};\n\nconst isActiveDate = (date: string) => props.activeDates.includes(date);\n\nconst maxValue = computed(() => Math.max(...props.values));\n\n/**\n * Из-за стиля .top-miniChart_chartGrid - direction: rtl\n */\nconst reversedDates = computed(() => props.dates.slice().reverse());\n\n/**\n * Кол-во пустых колонок\n */\nconst numOfEmptyCols = computed(() => {\n\tif (!props.dates.length) return 0;\n\n\treturn props.numberCols - props.dates.length;\n});\n\nconst resetModel = () => {\n\tmodel.value = null;\n};\n\nconst setModel = (e: Event, date: string, value: number | null) => {\n\tif (!(e.target instanceof HTMLElement)) return;\n\n\tmodel.value = {\n\t\telCol: e.target,\n\t\tdate: dateFormat(date),\n\t\tvalue: value === null ? '--' : value + (props.valueSuffix ?? ''),\n\t};\n};\n\n/**\n * Возвращает численный показатель динамики графика\n */\nconst localDynamic = computed(() => {\n\tlet dynamic = props.dynamic;\n\n\tif (typeof dynamic === 'undefined') {\n\t\tconst prevPeriodValue = props.values[props.keysForDyn.start];\n\t\tconst currentValue = props.values[props.keysForDyn.end];\n\t\tdynamic = currentValue - prevPeriodValue;\n\t}\n\n\tconst sign = dynamic < 0 ? -1 : 1;\n\n\treturn sign * (percentOfNumber(Math.abs(dynamic)) as number);\n});\n\nconst dynamicDirection = computed(() => {\n\tlet direction: 'up' | 'stay' | 'down' = 'stay';\n\n\tif (!props.isInvert) {\n\t\tif (localDynamic.value > 0) direction = 'up';\n\t\tif (localDynamic.value < 0) direction = 'down';\n\t} else {\n\t\tif (localDynamic.value > 0) direction = 'down';\n\t\tif (localDynamic.value < 0) direction = 'up';\n\t}\n\n\treturn direction;\n});\n\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-miniChart']: true,\n\t\t\t['top-miniChart_hideChartInMobile']: hideChartInMobile,\n\t\t\t[`top-color_${color}`]: true\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tclass=\"top-miniChart_title top-ellipsis\"\n\t\t\t:data-top-icon=\"gIcon\"\n\t\t>\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_chart\">\n\t\t\t<div\n\t\t\t\tclass=\"top-miniChart_chartGrid\"\n\t\t\t\t@mouseleave=\"resetModel()\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(date, i) in reversedDates\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t['top-miniChart_chartGridCol']: true,\n\t\t\t\t\t\t['top-active']: isActiveDate(date)\n\t\t\t\t\t}\"\n\t\t\t\t\t@mouseenter=\"setModel($event, date, values[values.length - i - 1])\"\n\t\t\t\t>\n\t\t\t\t\t<div :style=\"'height:' + genColHeight(values[values.length - i - 1]) + '%'\"/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"() in numOfEmptyCols\"\n\t\t\t\t\tclass=\"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\"\n\t\t\t\t\t@mouseenter=\"resetModel()\"\n\t\t\t\t>\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_data\">\n\t\t\t<span :class=\"{\n\t\t\t\t['top-miniChart_dataDynamic']: true,\n\t\t\t\t[`top-miniChart_dataDynamic-direction_${dynamicDirection}`]: true,\n\t\t\t}\">\n\t\t\t\t{{ Math.abs(localDynamic) || '' }}\n\t\t\t</span>\n\t\t\t<span class=\"top-miniChart_dataValue\">\n\t\t\t\t{{ percentOfNumber(values[values.length - 1]) || 0 }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"additionalHTML\"\n\t\t\tv-html=\"additionalHTML\"\n\t\t/>\n\t</div>\n\n</template>\n<style>\n@import \"./styles/miniChart.css\";\n</style>\n","<script setup lang=\"ts\">\nimport type { Props } from './types';\nimport { computed } from 'vue';\nimport { dateFormat } from '@/core/utils/date';\nimport { percentOfNumber } from '@/core/utils/number';\nimport { defaultNumberCols, minHeight } from './utils/consts';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcolor: 'blue',\n\tnumberCols: defaultNumberCols,\n});\nconst model = defineModel<Props['modelValue']>();\n\n/**\n * Расчет высоты колонки (в процентах)\n */\nconst genColHeight = (value: number): number => {\n\tlet maximumValue = maxValue.value;\n\n\t// для графиков средней и медианной делаем максимум 1\n\tif (props.isInvert) {\n\t\tvalue -= 1;\n\t\tmaximumValue -= 1;\n\t}\n\n\tconst height = maximumValue > 0 ? Math.round((value / maximumValue) * (100 - minHeight)) : 0;\n\tif (props.isInvert) return 100 - height;\n\n\treturn height + minHeight;\n};\n\nconst isActiveDate = (date: string) => props.activeDates.includes(date);\n\nconst maxValue = computed(() => Math.max(...props.values));\n\n/**\n * Из-за стиля .top-miniChart_chartGrid - direction: rtl\n */\nconst reversedDates = computed(() => props.dates.slice().reverse());\n\n/**\n * Кол-во пустых колонок\n */\nconst numOfEmptyCols = computed(() => {\n\tif (!props.dates.length) return 0;\n\n\treturn props.numberCols - props.dates.length;\n});\n\nconst resetModel = () => {\n\tmodel.value = null;\n};\n\nconst setModel = (e: Event, date: string, value: number | null) => {\n\tif (!(e.target instanceof HTMLElement)) return;\n\n\tmodel.value = {\n\t\telCol: e.target,\n\t\tdate: dateFormat(date),\n\t\tvalue: value === null ? '--' : value + (props.valueSuffix ?? ''),\n\t};\n};\n\n/**\n * Возвращает численный показатель динамики графика\n */\nconst localDynamic = computed(() => {\n\tlet dynamic = props.dynamic;\n\n\tif (typeof dynamic === 'undefined') {\n\t\tconst prevPeriodValue = props.values[props.keysForDyn.start];\n\t\tconst currentValue = props.values[props.keysForDyn.end];\n\t\tdynamic = currentValue - prevPeriodValue;\n\t}\n\n\tconst sign = dynamic < 0 ? -1 : 1;\n\n\treturn sign * (percentOfNumber(Math.abs(dynamic)) as number);\n});\n\nconst dynamicDirection = computed(() => {\n\tlet direction: 'up' | 'stay' | 'down' = 'stay';\n\n\tif (!props.isInvert) {\n\t\tif (localDynamic.value > 0) direction = 'up';\n\t\tif (localDynamic.value < 0) direction = 'down';\n\t} else {\n\t\tif (localDynamic.value > 0) direction = 'down';\n\t\tif (localDynamic.value < 0) direction = 'up';\n\t}\n\n\treturn direction;\n});\n\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-miniChart']: true,\n\t\t\t['top-miniChart_hideChartInMobile']: hideChartInMobile,\n\t\t\t[`top-color_${color}`]: true\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tclass=\"top-miniChart_title top-ellipsis\"\n\t\t\t:data-top-icon=\"gIcon\"\n\t\t>\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_chart\">\n\t\t\t<div\n\t\t\t\tclass=\"top-miniChart_chartGrid\"\n\t\t\t\t@mouseleave=\"resetModel()\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(date, i) in reversedDates\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t['top-miniChart_chartGridCol']: true,\n\t\t\t\t\t\t['top-active']: isActiveDate(date)\n\t\t\t\t\t}\"\n\t\t\t\t\t@mouseenter=\"setModel($event, date, values[values.length - i - 1])\"\n\t\t\t\t>\n\t\t\t\t\t<div :style=\"'height:' + genColHeight(values[values.length - i - 1]) + '%'\"/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"() in numOfEmptyCols\"\n\t\t\t\t\tclass=\"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\"\n\t\t\t\t\t@mouseenter=\"resetModel()\"\n\t\t\t\t>\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_data\">\n\t\t\t<span :class=\"{\n\t\t\t\t['top-miniChart_dataDynamic']: true,\n\t\t\t\t[`top-miniChart_dataDynamic-direction_${dynamicDirection}`]: true,\n\t\t\t}\">\n\t\t\t\t{{ Math.abs(localDynamic) || '' }}\n\t\t\t</span>\n\t\t\t<span class=\"top-miniChart_dataValue\">\n\t\t\t\t{{ percentOfNumber(values[values.length - 1]) || 0 }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"additionalHTML\"\n\t\t\tv-html=\"additionalHTML\"\n\t\t/>\n\t</div>\n\n</template>\n<style>\n@import \"./styles/miniChart.css\";\n</style>\n","<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, watch } from 'vue';\nimport type { Props, Style } from './miniCharts';\n\nconst props = defineProps<Props>();\nconst model = defineModel<Props['modelValue']>();\n\nconst elRef = ref<HTMLElement | null>(null);\n\nlet pagesResizeObserver: ResizeObserver;\n\n/**\n * Количество страниц\n */\nconst countPages = ref(1);\n\n/**\n * Активная страница\n */\nconst activePage = ref(1);\n\n/**\n * Установка количества страниц в блоке\n */\nconst setCountPages = () => {\n\tcountPages.value = Math.round(elRef.value!.scrollHeight / elRef.value!.clientHeight);\n};\n\nwatch(countPages, () => {\n\tif (countPages.value < activePage.value) {\n\t\tactivePage.value = 1;\n\t}\n});\n\nwatch(\n\t() => props.countCharts,\n\t() => setCountPages(),\n\t{ flush: 'post' },\n);\n\n/**\n * Расчет положения для подсказки\n */\nconst tooltipStyle = computed(() => {\n\tif (!model.value) return {};\n\n\tconst box = model.value.elCol.getBoundingClientRect();\n\n\tconst style: Style = {\n\t\ttop: box.bottom + window.scrollY + 'px',\n\t};\n\n\tif (document.documentElement.clientWidth / 2 > box.right) {\n\t\tstyle.left = box.right + window.scrollX + 10 + 'px';\n\t} else {\n\t\tstyle.left = box.left + window.scrollX - 10 + 'px';\n\t\tstyle.transform = 'translate(-100%, 0)';\n\t}\n\n\treturn style;\n});\n\nonMounted(() => {\n\t/**\n\t * Функционал переключения экранов графиков\n\t */\n\tpagesResizeObserver = new ResizeObserver(() => setCountPages());\n\tpagesResizeObserver.observe(elRef.value!);\n\n\twatch(activePage, () => {\n\t\tconst elMiniChart = elRef.value!.children[0];\n\t\tconst pageHeight = elMiniChart.clientHeight + parseInt(window.getComputedStyle(elRef.value!).getPropertyValue('row-gap'));\n\t\tconst scrollTop = pageHeight * (activePage.value - 1);\n\n\t\telRef.value!.scrollTo({ top: scrollTop, behavior: 'smooth' });\n\t});\n});\n\nonUnmounted(() => {\n\tpagesResizeObserver.disconnect();\n});\n</script>\n\n<template>\n\t<div\n\t\tclass=\"top-miniCharts\"\n\t\t:class=\"{\n\t\t\t['top-miniCharts']: true,\n\t\t\t['scrollable']: countPages > 1,\n\t\t\t['top-miniCharts_hideChartInMobile']: hideChartInMobile,\n\t\t}\"\n\t\tref=\"elRef\"\n\t>\n\n\t\t<slot></slot>\n\n\t\t<div\n\t\t\tv-if=\"countPages > 1\"\n\t\t\tclass=\"top-miniCharts_pages\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-for=\"n in countPages\"\n\t\t\t\t:class=\"{['top-active']: n === activePage}\"\n\t\t\t\t@click=\"activePage = n\"\n\t\t\t></span>\n\t\t</div>\n\n\t\t<Teleport to=\"body\">\n\t\t\t<div\n\t\t\t\tv-if=\"model\"\n\t\t\t\tclass=\"top-miniCharts_tooltip\"\n\t\t\t\t:style=\"tooltipStyle\"\n\t\t\t>\n\t\t\t\t<span>{{ model.date }}</span>\n\t\t\t\t<span>{{ model.value }}</span>\n\t\t\t</div>\n\t\t</Teleport>\n\t</div>\n\n</template>\n\n<style>\n@import \"./styles/miniCharts.css\";\n</style>\n","<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, watch } from 'vue';\nimport type { Props, Style } from './miniCharts';\n\nconst props = defineProps<Props>();\nconst model = defineModel<Props['modelValue']>();\n\nconst elRef = ref<HTMLElement | null>(null);\n\nlet pagesResizeObserver: ResizeObserver;\n\n/**\n * Количество страниц\n */\nconst countPages = ref(1);\n\n/**\n * Активная страница\n */\nconst activePage = ref(1);\n\n/**\n * Установка количества страниц в блоке\n */\nconst setCountPages = () => {\n\tcountPages.value = Math.round(elRef.value!.scrollHeight / elRef.value!.clientHeight);\n};\n\nwatch(countPages, () => {\n\tif (countPages.value < activePage.value) {\n\t\tactivePage.value = 1;\n\t}\n});\n\nwatch(\n\t() => props.countCharts,\n\t() => setCountPages(),\n\t{ flush: 'post' },\n);\n\n/**\n * Расчет положения для подсказки\n */\nconst tooltipStyle = computed(() => {\n\tif (!model.value) return {};\n\n\tconst box = model.value.elCol.getBoundingClientRect();\n\n\tconst style: Style = {\n\t\ttop: box.bottom + window.scrollY + 'px',\n\t};\n\n\tif (document.documentElement.clientWidth / 2 > box.right) {\n\t\tstyle.left = box.right + window.scrollX + 10 + 'px';\n\t} else {\n\t\tstyle.left = box.left + window.scrollX - 10 + 'px';\n\t\tstyle.transform = 'translate(-100%, 0)';\n\t}\n\n\treturn style;\n});\n\nonMounted(() => {\n\t/**\n\t * Функционал переключения экранов графиков\n\t */\n\tpagesResizeObserver = new ResizeObserver(() => setCountPages());\n\tpagesResizeObserver.observe(elRef.value!);\n\n\twatch(activePage, () => {\n\t\tconst elMiniChart = elRef.value!.children[0];\n\t\tconst pageHeight = elMiniChart.clientHeight + parseInt(window.getComputedStyle(elRef.value!).getPropertyValue('row-gap'));\n\t\tconst scrollTop = pageHeight * (activePage.value - 1);\n\n\t\telRef.value!.scrollTo({ top: scrollTop, behavior: 'smooth' });\n\t});\n});\n\nonUnmounted(() => {\n\tpagesResizeObserver.disconnect();\n});\n</script>\n\n<template>\n\t<div\n\t\tclass=\"top-miniCharts\"\n\t\t:class=\"{\n\t\t\t['top-miniCharts']: true,\n\t\t\t['scrollable']: countPages > 1,\n\t\t\t['top-miniCharts_hideChartInMobile']: hideChartInMobile,\n\t\t}\"\n\t\tref=\"elRef\"\n\t>\n\n\t\t<slot></slot>\n\n\t\t<div\n\t\t\tv-if=\"countPages > 1\"\n\t\t\tclass=\"top-miniCharts_pages\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-for=\"n in countPages\"\n\t\t\t\t:class=\"{['top-active']: n === activePage}\"\n\t\t\t\t@click=\"activePage = n\"\n\t\t\t></span>\n\t\t</div>\n\n\t\t<Teleport to=\"body\">\n\t\t\t<div\n\t\t\t\tv-if=\"model\"\n\t\t\t\tclass=\"top-miniCharts_tooltip\"\n\t\t\t\t:style=\"tooltipStyle\"\n\t\t\t>\n\t\t\t\t<span>{{ model.date }}</span>\n\t\t\t\t<span>{{ model.value }}</span>\n\t\t\t</div>\n\t\t</Teleport>\n\t</div>\n\n</template>\n\n<style>\n@import \"./styles/miniCharts.css\";\n</style>\n"],"mappings":"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"}
|
package/core/app.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define([`require`,`exports`,`../.chunks/forms-
|
|
1
|
+
define([`require`,`exports`,`../.chunks/forms-BlerVsRB.es.amd`,`../.chunks/app-DthfMLqk.es.amd`,`../.chunks/utils-BhzB2nCx.es.amd`],function(e,t,n,r,i){"use strict";if(a===void 0)var a=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.useTopDialog=t.useI18nLang=t.useI18n=t.useAsyncTopDialog=t.piniaTPAPlugin=t.i18nPlugin=t.corePlugin=t.TopDialogWorker=t.Core=void 0,Object.defineProperty(t,"useI18nLang",{enumerable:!0,get:function(){return n.D}}),Object.defineProperty(t,"useI18n",{enumerable:!0,get:function(){return n.E}}),Object.defineProperty(t,"Core",{enumerable:!0,get:function(){return n.O}}),Object.defineProperty(t,"i18nPlugin",{enumerable:!0,get:function(){return n.T}}),Object.defineProperty(t,"corePlugin",{enumerable:!0,get:function(){return r.n}}),Object.defineProperty(t,"piniaTPAPlugin",{enumerable:!0,get:function(){return r.t}}),Object.defineProperty(t,"useTopDialog",{enumerable:!0,get:function(){return i.n}}),Object.defineProperty(t,"TopDialogWorker",{enumerable:!0,get:function(){return i.o}}),Object.defineProperty(t,"useAsyncTopDialog",{enumerable:!0,get:function(){return i.t}})});
|
|
2
2
|
//# sourceMappingURL=app.amd.js.map
|
package/core/app.amd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["core/app.js"],"names":["vue","exports","
|
|
1
|
+
{"version":3,"sources":["core/app.js"],"names":["vue","exports","forms_BlerVsRB_es_js_1","app_DthfMLqk_es_js_1","utils_BhzB2nCx_es_js_1"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,mCAAmC,iCAAiC,kCAAiC,EAAG,SAAU,EAAS,EAAS,EAAwB,EAAsB,EAAwB,CACpO,aAAA,GAAAA,IAAA,OAAA,IAAAA,EAAA,OAAA,IACA,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,EAAQ,aAAe,EAAQ,YAAc,EAAQ,QAAU,EAAQ,kBAAoB,EAAQ,eAAiB,EAAQ,WAAa,EAAQ,WAAa,EAAQ,gBAAkB,EAAQ,KAAO,IAAK,GAC5M,OAAO,eAAeA,EAAS,cAAe,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAuB,CAAG,CAAE,CAAC,EACzH,OAAO,eAAeD,EAAS,UAAW,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAuB,CAAG,CAAE,CAAC,EACrH,OAAO,eAAeD,EAAS,OAAQ,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAuB,CAAG,CAAE,CAAC,EAClH,OAAO,eAAeD,EAAS,aAAc,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAuB,CAAG,CAAE,CAAC,EACxH,OAAO,eAAeD,EAAS,aAAc,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,EAAqB,CAAG,CAAE,CAAC,EACtH,OAAO,eAAeF,EAAS,iBAAkB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,EAAqB,CAAG,CAAE,CAAC,EAC1H,OAAO,eAAeF,EAAS,eAAgB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOG,EAAuB,CAAG,CAAE,CAAC,EAC1H,OAAO,eAAeH,EAAS,kBAAmB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOG,EAAuB,CAAG,CAAE,CAAC,EAC7H,OAAO,eAAeH,EAAS,oBAAqB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOG,EAAuB,CAAG,CAAE,CAAC,CACnI,CAAC","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/forms-BlerVsRB.es.js\", \"../.chunks/app-DthfMLqk.es.js\", \"../.chunks/utils-BhzB2nCx.es.js\"], function (require, exports, forms_BlerVsRB_es_js_1, app_DthfMLqk_es_js_1, utils_BhzB2nCx_es_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.useTopDialog = exports.useI18nLang = exports.useI18n = exports.useAsyncTopDialog = exports.piniaTPAPlugin = exports.i18nPlugin = exports.corePlugin = exports.TopDialogWorker = exports.Core = void 0;\n Object.defineProperty(exports, \"useI18nLang\", { enumerable: true, get: function () { return forms_BlerVsRB_es_js_1.D; } });\n Object.defineProperty(exports, \"useI18n\", { enumerable: true, get: function () { return forms_BlerVsRB_es_js_1.E; } });\n Object.defineProperty(exports, \"Core\", { enumerable: true, get: function () { return forms_BlerVsRB_es_js_1.O; } });\n Object.defineProperty(exports, \"i18nPlugin\", { enumerable: true, get: function () { return forms_BlerVsRB_es_js_1.T; } });\n Object.defineProperty(exports, \"corePlugin\", { enumerable: true, get: function () { return app_DthfMLqk_es_js_1.n; } });\n Object.defineProperty(exports, \"piniaTPAPlugin\", { enumerable: true, get: function () { return app_DthfMLqk_es_js_1.t; } });\n Object.defineProperty(exports, \"useTopDialog\", { enumerable: true, get: function () { return utils_BhzB2nCx_es_js_1.n; } });\n Object.defineProperty(exports, \"TopDialogWorker\", { enumerable: true, get: function () { return utils_BhzB2nCx_es_js_1.o; } });\n Object.defineProperty(exports, \"useAsyncTopDialog\", { enumerable: true, get: function () { return utils_BhzB2nCx_es_js_1.t; } });\n});\n"]}
|
package/core/app.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as e, E as t, O as n, T as r } from "../.chunks/forms-
|
|
2
|
-
import { n as i, t as a } from "../.chunks/app-
|
|
3
|
-
import { n as o, o as s, t as c } from "../.chunks/utils-
|
|
1
|
+
import { D as e, E as t, O as n, T as r } from "../.chunks/forms-BlerVsRB.es.js";
|
|
2
|
+
import { n as i, t as a } from "../.chunks/app-DthfMLqk.es.js";
|
|
3
|
+
import { n as o, o as s, t as c } from "../.chunks/utils-BhzB2nCx.es.js";
|
|
4
4
|
export { n as Core, s as TopDialogWorker, i as corePlugin, r as i18nPlugin, a as piniaTPAPlugin, c as useAsyncTopDialog, t as useI18n, e as useI18nLang, o as useTopDialog };
|
package/dialog/dialog.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define([`require`,`exports`,`../.chunks/utils-
|
|
1
|
+
define([`require`,`exports`,`../.chunks/utils-BhzB2nCx.es.amd`,`../.chunks/dialog-CeM1i76L.es.amd`],function(e,t,n,r){"use strict";if(i===void 0)var i=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.useTopDialogSelf=t.propsPageCommon=t.TopDialogPageComponent=t.TopDialogPage=t.TopDialog=void 0,Object.defineProperty(t,"useTopDialogSelf",{enumerable:!0,get:function(){return n.r}}),Object.defineProperty(t,"TopDialog",{enumerable:!0,get:function(){return n.s}}),Object.defineProperty(t,"propsPageCommon",{enumerable:!0,get:function(){return r.n}}),Object.defineProperty(t,"TopDialogPage",{enumerable:!0,get:function(){return r.r}}),Object.defineProperty(t,"TopDialogPageComponent",{enumerable:!0,get:function(){return r.t}})});
|
|
2
2
|
//# sourceMappingURL=dialog.amd.js.map
|
package/dialog/dialog.amd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["dialog/dialog.js"],"names":["vue","exports","
|
|
1
|
+
{"version":3,"sources":["dialog/dialog.js"],"names":["vue","exports","utils_BhzB2nCx_es_js_1","dialog_CeM1i76L_es_js_1"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,mCAAmC,mCAAkC,EAAG,SAAU,EAAS,EAAS,EAAwB,EAAyB,CAC/K,aAAA,GAAAA,IAAA,OAAA,IAAAA,EAAA,OAAA,IACA,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,EAAQ,iBAAmB,EAAQ,gBAAkB,EAAQ,uBAAyB,EAAQ,cAAgB,EAAQ,UAAY,IAAK,GACvI,OAAO,eAAeA,EAAS,mBAAoB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAuB,CAAG,CAAE,CAAC,EAC9H,OAAO,eAAeD,EAAS,YAAa,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAuB,CAAG,CAAE,CAAC,EACvH,OAAO,eAAeD,EAAS,kBAAmB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,EAAwB,CAAG,CAAE,CAAC,EAC9H,OAAO,eAAeF,EAAS,gBAAiB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,EAAwB,CAAG,CAAE,CAAC,EAC5H,OAAO,eAAeF,EAAS,yBAA0B,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOE,EAAwB,CAAG,CAAE,CAAC,CACzI,CAAC","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/utils-BhzB2nCx.es.js\", \"../.chunks/dialog-CeM1i76L.es.js\"], function (require, exports, utils_BhzB2nCx_es_js_1, dialog_CeM1i76L_es_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.useTopDialogSelf = exports.propsPageCommon = exports.TopDialogPageComponent = exports.TopDialogPage = exports.TopDialog = void 0;\n Object.defineProperty(exports, \"useTopDialogSelf\", { enumerable: true, get: function () { return utils_BhzB2nCx_es_js_1.r; } });\n Object.defineProperty(exports, \"TopDialog\", { enumerable: true, get: function () { return utils_BhzB2nCx_es_js_1.s; } });\n Object.defineProperty(exports, \"propsPageCommon\", { enumerable: true, get: function () { return dialog_CeM1i76L_es_js_1.n; } });\n Object.defineProperty(exports, \"TopDialogPage\", { enumerable: true, get: function () { return dialog_CeM1i76L_es_js_1.r; } });\n Object.defineProperty(exports, \"TopDialogPageComponent\", { enumerable: true, get: function () { return dialog_CeM1i76L_es_js_1.t; } });\n});\n"]}
|