@topvisor/ui 1.4.2-2 → 1.4.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.
Files changed (41) hide show
  1. package/.chunks/{core-K4bH_ECg.es.js → core-07tvmSiH.es.js} +2 -2
  2. package/.chunks/{core-K4bH_ECg.es.js.map → core-07tvmSiH.es.js.map} +1 -1
  3. package/.chunks/{core-oHW-Zz83.amd.js → core-BU07MKNB.amd.js} +2 -2
  4. package/.chunks/{core-oHW-Zz83.amd.js.map → core-BU07MKNB.amd.js.map} +1 -1
  5. package/.chunks/{dialog_regionSelectorRegions-DKgB9isw.es.js → dialog_regionSelectorRegions-BJ_DPIOR.es.js} +3 -3
  6. package/.chunks/{dialog_regionSelectorRegions-DKgB9isw.es.js.map → dialog_regionSelectorRegions-BJ_DPIOR.es.js.map} +1 -1
  7. package/.chunks/{dialog_regionSelectorRegions-CQcELPYH.amd.js → dialog_regionSelectorRegions-rIKWHsar.amd.js} +2 -2
  8. package/.chunks/{dialog_regionSelectorRegions-CQcELPYH.amd.js.map → dialog_regionSelectorRegions-rIKWHsar.amd.js.map} +1 -1
  9. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-DHHrY6uR.amd.js → dialogs.vue_vue_type_script_setup_true_lang-Df2_666l.amd.js} +2 -2
  10. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-Df2_666l.amd.js.map +1 -0
  11. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BvTKl5Jh.es.js → dialogs.vue_vue_type_script_setup_true_lang-sZYnDnel.es.js} +2 -2
  12. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-sZYnDnel.es.js.map +1 -0
  13. package/.chunks/{page.vue_vue_type_script_setup_true_lang-B1UBH0P-.es.js → page.vue_vue_type_script_setup_true_lang-BDsGoYLD.es.js} +3 -3
  14. package/.chunks/{page.vue_vue_type_script_setup_true_lang-B1UBH0P-.es.js.map → page.vue_vue_type_script_setup_true_lang-BDsGoYLD.es.js.map} +1 -1
  15. package/.chunks/{page.vue_vue_type_script_setup_true_lang-DCom_wTj.amd.js → page.vue_vue_type_script_setup_true_lang-Dyq5dr49.amd.js} +2 -2
  16. package/.chunks/{page.vue_vue_type_script_setup_true_lang-DCom_wTj.amd.js.map → page.vue_vue_type_script_setup_true_lang-Dyq5dr49.amd.js.map} +1 -1
  17. package/.chunks/{utils-DRfbeSbp.es.js → utils-Bt_5Z9fu.es.js} +3 -3
  18. package/.chunks/{utils-DRfbeSbp.es.js.map → utils-Bt_5Z9fu.es.js.map} +1 -1
  19. package/.chunks/{utils-C5BTPmNA.amd.js → utils-BucP1niE.amd.js} +2 -2
  20. package/.chunks/{utils-C5BTPmNA.amd.js.map → utils-BucP1niE.amd.js.map} +1 -1
  21. package/.chunks/{utils-CiaXPHO6.es.js → utils-C-0wO40V.es.js} +64 -64
  22. package/.chunks/utils-C-0wO40V.es.js.map +1 -0
  23. package/.chunks/{utils-CwLn_2R5.amd.js → utils-qqUB1k9m.amd.js} +2 -2
  24. package/.chunks/utils-qqUB1k9m.amd.js.map +1 -0
  25. package/core/app.amd.js +1 -1
  26. package/core/app.js +3 -3
  27. package/dialog/dialog.amd.js +1 -1
  28. package/dialog/dialog.js +2 -2
  29. package/package.json +34 -34
  30. package/project/project.amd.js +1 -1
  31. package/project/project.js +4 -4
  32. package/src/components/dialog/dialog/composables/asyncDialogHandle.d.ts +1 -1
  33. package/src/components/dialog/dialog/dialog.vue.d.ts +2 -2
  34. package/src/components/dialog/dialog/types.d.ts +3 -1
  35. package/src/components/dialog/lib/types.d.ts +13 -0
  36. package/utils/searchers.amd.js +1 -1
  37. package/utils/searchers.js +2 -2
  38. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BvTKl5Jh.es.js.map +0 -1
  39. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-DHHrY6uR.amd.js.map +0 -1
  40. package/.chunks/utils-CiaXPHO6.es.js.map +0 -1
  41. package/.chunks/utils-CwLn_2R5.amd.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-qqUB1k9m.amd.js","sources":["../../src/components/dialog/lib/utils.globalEvents.ts","../../src/components/dialog/lib/utils.ts"],"sourcesContent":["import { TopDialogUtils } from './utils';\nimport { TopDialogWorker } from './worker';\nimport { isVisible, querySelectorAllArray, querySelectorVisible } from '@/core/utils/dom';\nimport { historySetState } from '@/core/utils/route';\nimport type { ElTopDialog, ElTopDialogWrapper } from '@/components/dialog/lib/types';\n\nlet inited = false;\n\n/**\n * Инициализация глобальных событий для диалоговых окон\n *\n * Производится один раз при подключении диалогового окна\n *\n * События не размонтируются\n */\nexport const initDialogGlobalEvents = () => {\n\tif (inited) return;\n\tinited = true;\n\n\t/**\n\t * Закрытие диалога по Esc\n\t */\n\tdocument.addEventListener('keydown', (e) => {\n\t\tif (e.key !== 'Escape') return;\n\t\tif (!e.target || !(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target;\n\n\t\t// событие произошло вне диалогового окна\n\t\tif (!el.closest('.ui-dialog')) return;\n\n\t\tif (el.contentEditable === 'true' || el.contentEditable === 'plaintext-only') return;\n\n\t\t// не закрывать окно при открытом TopPopup\n\t\tif (querySelectorVisible(document.documentElement, '.top-popup-wrapper')) return;\n\n\t\t// не закрывать окно при работе с jquery autocomplete\n\t\tif (el.classList.contains('autocomplete')) return;\n\n\t\t// не закрывать окно при открытом fancybox\n\t\tif (querySelectorVisible(document.documentElement, '.fancybox-container')) return;\n\n\t\tconst elDialogs = querySelectorAllArray<ElTopDialog>(document, '.ui-dialog-content').filter((elDialog) => {\n\t\t\treturn isVisible(elDialog);\n\t\t});\n\n\t\t$(elDialogs[elDialogs.length - 1]).dialog('close');\n\t});\n\n\t/**\n\t * Закрытие диалога по кнопке закрыть\n\t */\n\tdocument.addEventListener('click', (e) => {\n\t\t// // навигация без истории\n\t\t// var $dialog = $(this).closest('.ui-dialog-content');\n\t\t// var viewName = $dialog.attr('id');\n\t\t// var pageName = getHash('view-' + viewName);\n\t\t// if (!pageName) {\n\t\t// \ttoPrevPage($dialog);\n\t\t//\n\t\t// \treturn;\n\t\t// }\n\t\t//\n\t\t// // навигация по истории\n\t\t// if (Core.state.isMobile && history.length > 1 && $(this).closest('.modal-layer').length) {\n\t\t// \tvar href = location.href;\n\t\t//\n\t\t// \thistory.go(-1);\n\t\t//\n\t\t// \tsetTimeout(() => {\n\t\t// \t\t// это первая страница в истории вкладки браузера\n\t\t// \t\tif (href === location.href) $(e.target).closest('.ui-dialog-content').dialog('close');\n\t\t// \t});\n\t\t// } else {\n\t\t// \t$(this).closest('.ui-dialog-content').dialog('close');\n\t\t// }\n\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst el = e.target.closest('[data-action=\"top-dialog-close\"]') as HTMLElement | null;\n\t\tif (!el) return;\n\n\t\te.preventDefault();\n\n\t\tconst elDialog = el.closest<ElTopDialog>('.ui-dialog-content');\n\t\tif (!elDialog) return;\n\n\t\t// если к кнопке привязана ссылка, диалоговое окно не нужно закрывать\n\t\tconst toView = el.dataset.toView;\n\n\t\tif (toView == 'toPrevPage()') {\n\t\t\tTopDialogUtils.toPrevPage(elDialog);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (toView) {\n\t\t\tconst viewNameAndPageLink = toView.split('-');\n\t\t\tconst viewName = viewNameAndPageLink.shift();\n\t\t\tconst pageLink = viewNameAndPageLink.join('-');\n\n\t\t\tif (!viewName) return;\n\n\t\t\tconst elDialog = TopDialogUtils.getElDialogById(viewName);\n\t\t\tif (!elDialog) return;\n\n\t\t\tconst elToPages = querySelectorAllArray(elDialog, `[data-view-page=\"${pageLink}\"]`);\n\t\t\tif (!elToPages) return;\n\n\t\t\tif (!isVisible(elToPages[0])) {\n\t\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, 'prev');\n\n\t\t\t\t// // не убирает кнопку \"Вперед\" в браузере\n\t\t\t\t// history.replaceState(null, '', hash);\n\t\t\t\t// toViewDirty(toView, 'prev');\n\n\t\t\t\t// // добавляет текущую страницу в историю браузера\n\t\t\t\thistorySetState(false, hash);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst $dialog = $(elDialog);\n\n\t\t$dialog.dialog('close');\n\t});\n\n\t/**\n\t * Все submit должны обрабатываться через js\n\t */\n\tdocument.addEventListener('submit', (e) => {\n\t\tconst elForm = e.target as HTMLElement;\n\n\t\tif (elForm.matches('.modal-body > form') || elForm.matches('.modal-layer-body > form')) {\n\t\t\te.preventDefault();\n\t\t}\n\t});\n\n\t/**\n\t * Выполнение действия по нажатию Enter\n\t *\n\t * @todo Убрать `.searcher`\n\t */\n\tdocument.addEventListener('keypress', (e) => {\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = e.target;\n\n\t\tconst elModalBody = eventTarget.closest('.ui-dialog .modal-body');\n\t\tif (!elModalBody) return;\n\n\t\tconst isInput =\n\t\t\teventTarget.matches('input:not(.searcher), textarea:not(.searcher), select:not(.searcher), button:not(.searcher)')\n\t\t\t|| eventTarget.hasAttribute('contenteditable');\n\t\tif (!isInput) return;\n\n\t\t// if (e.keyCode !== 10 && e.key !== 'ENTER') return;\n\t\tif (e.key !== 'Enter') return;\n\n\t\t// не выполнять submit действий при работе с jquery autocomplete\n\t\tif (eventTarget.classList.contains('autocomplete')) {\n\t\t\te.preventDefault();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (eventTarget.tagName === 'TEXTAREA') {\n\t\t\tif (!e.ctrlKey && !e.metaKey) return;\n\n\t\t\tconst elForm = eventTarget.closest('form');\n\n\t\t\tif (elForm) {\n\t\t\t\t// Find visible submit buttons\n\t\t\t\tconst elSubmitButton = querySelectorAllArray(elForm, 'button[type=\"submit\"]')\n\t\t\t\t\t.concat(querySelectorAllArray(elForm, 'input[type=\"submit\"]'))\n\t\t\t\t\t.find((elSubmitButton) => {\n\t\t\t\t\t\treturn isVisible(elSubmitButton);\n\t\t\t\t\t});\n\n\t\t\t\telSubmitButton?.click();\n\t\t\t}\n\t\t}\n\t});\n\n\t/**\n\t * Закрытие диалога по клику вне окна\n\t */\n\tdocument.addEventListener('click', function (event) {\n\t\tif (!(event.target instanceof HTMLElement)) return;\n\n\t\tconst eventTarget = event.target;\n\n\t\tif (!eventTarget.classList.contains('ui-widget-overlay')) return;\n\n\t\tlet elDialogWrapperWithTopZIndex: ElTopDialogWrapper | undefined;\n\t\tlet topZIndex = 0;\n\n\t\tconst elDialogWrapperVisibles = querySelectorAllArray<ElTopDialogWrapper>(document, '.ui-dialog').filter((elDialogWrapper) => {\n\t\t\treturn isVisible(elDialogWrapper);\n\t\t});\n\n\t\telDialogWrapperVisibles.forEach((elDialogWrapper) => {\n\t\t\tconst zIndex = Number(window.getComputedStyle(elDialogWrapper).zIndex);\n\t\t\tif (zIndex < topZIndex) return;\n\n\t\t\telDialogWrapperWithTopZIndex = elDialogWrapper;\n\t\t\ttopZIndex = zIndex;\n\t\t});\n\n\t\tif (elDialogWrapperWithTopZIndex) {\n\t\t\tconst elDialog = elDialogWrapperWithTopZIndex.querySelector('.ui-dialog-content');\n\n\t\t\t$(elDialog).dialog('close');\n\t\t}\n\t});\n\n\twindow.addEventListener('resize', TopDialogUtils.recalcPositions);\n\tTopDialogUtils.recalcPositions();\n};\n","import 'jquery';\nimport { nextTick } from 'vue';\n\nimport Core from '@/core/core/core';\nimport { TopPopupWorker } from '@/components/popup/worker';\nimport { sleep, waitWhile } from '@/core/utils/system';\nimport { setHashs } from '@/core/utils/route';\nimport { connectScrollShadow } from '@/core/utils/scroll';\n\nimport type { ElTopDialog, ElTopDialogBody, ElTopDialogModalLayer, ElTopDialogPage, ElTopDialogWrapper, MoveDirection } from './types';\nimport { TopDialogWorker } from './worker';\nimport { initDialogGlobalEvents } from './utils.globalEvents';\nimport { getDialogWorker } from '../dialog/dialogs/dialogs.vue';\n\nimport css from '../dialog/style/dialog.css?inline';\nimport cssM from '../dialog/style/dialog.m.css?inline';\nimport cssPC from '../dialog/style/dialog.pc.css?inline';\nimport cssModern from '../dialog/style/modern/dialog.css?inline';\nimport cssModernPC from '../dialog/style/modern/dialog.pc.css?inline';\nimport { isVisible, querySelectorAllArray } from '@/core/utils/dom';\n\nCore.insertStyleToPage(css);\nCore.insertStyleToPage(cssM, 'm');\nCore.insertStyleToPage(cssPC, 'pc');\nCore.insertStyleToPage(cssModern);\nCore.insertStyleToPage(cssModernPC, 'pc');\n\nlet timerClearAnimation: NodeJS.Timeout;\nlet isInited = false;\n\n/**\n * Является ли элемент JQuery<HTMLElement>\n */\nconst isElJQuery = (el: JQuery<HTMLElement> | HTMLElement | HTMLElement[]) => {\n\treturn !!el && typeof el === 'object' && 'jquery' in el;\n};\n\nconst init = () => {\n\t$.extend($.ui.dialog.prototype.options, {\n\t\tfocus: (e: any) => {\n\t\t\te.target.focus();\n\n\t\t\t$('[autofocus]', e.target)[0]?.focus();\n\n\t\t\t// setTimeout(function () {\n\t\t\t// \tif ($('[autofocus]', e.target).length) return;\n\t\t\t// \t$('.modal-footer button:first, .modal-body :input:first', e.target).eq(0).focus();\n\t\t\t//\n\t\t\t// \t// fix пропадающего autocomplete при нажатии на scroll в autocomplete\n\t\t\t// \t$(e.target).add($(e.target).closest('.ui-dialog')).removeAttr('tabindex');\n\t\t\t// });\n\t\t},\n\t\tcreate: (e: any) => onCreate(e.target),\n\t\topen: (e: any) => onOpen(e.target),\n\t\tclose: (e: any) => onClose(e.target),\n\t\tmodal: true,\n\t\tresizable: false,\n\t\tcloseOnEscape: false,\n\t\twidth: 'auto',\n\t\tminHeight: 0,\n\t});\n\n\t$.ui.dialog.prototype._focusTabbable = $.noop;\n\n\t$.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop;\n\t$.ui.dialog.prototype._moveToTop = function () {\n\t\tthis._moveToTopOriginal();\n\n\t\tconst $dialog = $(this.element);\n\t\t$dialog.trigger('dialogsMoveToTop', [$dialog]);\n\t};\n\n\tinitDialogGlobalEvents();\n\n\tisInited = true;\n};\n\n/**\n * Получить настройки диалогового окна из Vue компонента\n */\nconst genVueOptions = (elDialog: ElTopDialog) => {\n\tconst options: {\n\t\tmodal?: boolean,\n\t\tposition?: any,\n\t} = {};\n\n\tif (elDialog.dataset?.modal === 'false') options.modal = false;\n\tif (elDialog.dataset?.position) options.position = JSON.parse(elDialog.dataset.position);\n\n\treturn options;\n};\n\nconst getElDialogById = (id: string) => {\n\treturn <ElTopDialog | null>document.getElementById(id);\n};\n\n/**\n * Сменить состояние диалогового окна Vue\n */\nconst updatePageVue = async (dialogId: string, pageName?: string, pageNameNext?: string) => {\n\tif (!dialogId.startsWith('dialog_')) return;\n\n\tconst dialog = getDialogWorker(dialogId);\n\tif (!dialog) return;\n\n\tdialog.isOpened.value = true;\n\tif (pageName !== undefined) dialog.pageActive.value = pageName;\n\tif (pageNameNext !== undefined) dialog.pageActiveNext.value = pageNameNext;\n\n\tawait nextTick();\n\n\tif (pageNameNext) {\n\t\tconst elDialog = getElDialogById(dialogId);\n\t\tif (!elDialog) return;\n\n\t\tconst elNextpages = elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`);\n\n\t\tif (!elNextpages.length) {\n\t\t\tawait waitWhile(() => !elDialog.querySelectorAll(`[data-view-page=\"${pageNameNext}\"]`).length);\n\t\t}\n\t}\n};\n\n/**\n * Callback for jQuery dialog onCreate\n */\nconst onCreate = (elDialog: ElTopDialog) => {\n\tconst elDialogBody = elDialog.querySelector<ElTopDialogBody>('.modal-body');\n\tif (!elDialogBody) return;\n\n\tconnectScrollShadow(elDialogBody);\n\n\tTopDialogWorker.state.decoratorOnCreate?.(elDialog);\n\n\tinitPopup(elDialog);\n};\n\n/**\n * Инициирование событий TopPopup в диалоговом окне\n */\nconst initPopup = (elDialog: HTMLElement) => {\n\t$(elDialog).on('aftershow.top-menu-popup', '[data-top-popup]', (_e, $popup) => {\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPopup = $popup[0];\n\n\t\t// перенести popup в корневой элемент страницы диалогового окна\n\t\tconst elPageContents = TopDialogWorker.getPairPage(elPopup);\n\t\telPageContents?.[1]?.prepend(elPopup);\n\t});\n};\n\n/**\n * Callback for jQuery dialog onOpen\n */\nconst onOpen = async (elDialog: ElTopDialog) => {\n\tconst pageName = elDialog.dataset.viewPageActive;\n\tconst args = elDialog.dataset.args ? elDialog.dataset.args?.split(':') : [];\n\n\tconst w1 = window.innerWidth;\n\n\tCore.state.documentClassModificators.set('top-dialog', 'with_dialog');\n\n\tconst w2 = window.innerWidth;\n\n\tconst scrollBarWidth = w2 - w1;\n\tif (document.documentElement.scrollHeight > window.innerHeight) document.querySelector('html')!.style.marginRight = scrollBarWidth + 'px';\n\n\trecalcPositions();\n\n\tconst dialog = getDialogWorker(elDialog.getAttribute('id')!);\n\tdialog?.emit?.('open', pageName, args);\n};\n\n/**\n * Callback for jQuery dialog onClose\n */\nconst onClose = async (elDialog: ElTopDialog) => {\n\tconst viewName = elDialog.getAttribute('id');\n\tconst pageName = elDialog.dataset.viewPageActive;\n\n\tif (pageName) {\n\t\tconst hashData = {\n\t\t\tvpn: TopDialogWorker.state.viewPageN as number | null,\n\t\t\t['view-' + viewName]: null,\n\t\t};\n\t\thashData['view-' + viewName] = null;\n\n\t\tif (TopDialogWorker.state.viewPageN === 0 || TopDialogWorker.state.viewPageN === 1) {\n\t\t\thashData.vpn = null;\n\t\t}\n\n\t\tsetHashs(hashData, false);\n\t}\n\n\tconst elUiWidgetOverlayVisibles = querySelectorAllArray(document, '.ui-widget-overlay').filter((el) => {\n\t\treturn isVisible(el);\n\t});\n\n\tif (!elUiWidgetOverlayVisibles.length) {\n\t\tCore.state.documentClassModificators.delete('top-dialog');\n\n\t\tdocument.querySelector('html')!.style.marginRight = '';\n\t}\n\n\t$(elDialog).trigger('viewAfterClose', [$(elDialog)]);\n\n\tconst dialog = getDialogWorker(viewName);\n\n\tif (dialog) {\n\t\tdialog.isOpened.value = false;\n\t\tdialog.emit?.('close', pageName);\n\n\t\tif (dialog.onCloseOnce) {\n\t\t\tdialog.onCloseOnce(dialog.props, pageName);\n\t\t\tdialog.onCloseOnce = undefined;\n\t\t}\n\t}\n\n\t// после закрытия диалога может потребоваться пересчет позиций элементов\n\twindow.dispatchEvent(new Event('resize'));\n};\n\n/**\n * Пересчитать положения и размеры открытых диалоговых окон\n */\nconst recalcPositions = () => {\n\tconst elDialogVisibilityes = querySelectorAllArray(document, '.ui-dialog').filter((el) => {\n\t\treturn isVisible(el) && el.querySelector<ElTopDialog>(':scope > .ui-dialog-content');\n\t}).map((el) => {\n\t\treturn el.querySelector<ElTopDialog>(':scope > .ui-dialog-content')!;\n\t});\n\n\telDialogVisibilityes.forEach((elDialog) => {\n\t\tconst elDialogBody = elDialog.querySelector<ElTopDialogBody>('.modal-body');\n\t\tif (!elDialogBody) return;\n\n\t\tconst elDialogWrapper = elDialog.closest('.ui-dialog');\n\n\t\tconst options = genVueOptions(elDialog);\n\n\t\toptions.position ??= { of: window };\n\n\t\tconst $dialog = $(elDialog);\n\t\t$dialog.dialog('option', options);\n\n\t\telDialogWrapper.classList.remove('me-tightly');\n\t\tif ((elDialogWrapper.clientHeight ?? 0) > window.innerHeight) elDialogWrapper.classList.add('me-tightly');\n\t});\n};\n\n/**\n * Переход к view page по неразобранной ссылке в формате: {viewName}-{pageName}[:args]\n */\nconst toViewDirty = async (toViewPageName: string, moveDirection?: MoveDirection) => {\n\tconst regexp = /(\\w+)[=-]([\\w-]+)(?::([\\w.:-]+))?/g;\n\tconst toViewParts = regexp.exec(toViewPageName);\n\tif (toViewParts) {\n\t\tconst viewName = toViewParts[1];\n\t\tconst pageName = toViewParts[2];\n\t\tconst argsString = toViewParts[3];\n\n\t\tlet args: string[] = [];\n\t\tif (argsString) args = argsString.split(':');\n\n\t\tawait toView(viewName, pageName, args, moveDirection);\n\t}\n};\n\n/**\n * Открыть диалоговое окно, возможно указать нужную страницу\n * @param viewNameOrElDialog - id страницы окна или элемент окна\n * @param pageName - имя страницы\n * @param args - аргументы, набор проивзольных параметров, которые могут обрабатываться каждым окном по своему\n * @param moveDirection\n * @param callback - функция, которая будет запущена после октытия страницы\n */\nconst toView = async (\n\tviewNameOrElDialog: ElTopDialog | JQuery<ElTopDialog> | string,\n\tpageName?: string,\n\targs?: string[],\n\tmoveDirection?: MoveDirection,\n\tcallback?: Function,\n) => {\n\tif (!isInited) {\n\t\tawait new Promise<void>((resolve, _reject) => {\n\t\t\tconst timer = setInterval(() => {\n\t\t\t\tif (!isInited) return;\n\n\t\t\t\tclearInterval(timer);\n\n\t\t\t\tresolve();\n\t\t\t}, 10);\n\t\t});\n\t}\n\n\tawait nextTick();\n\n\tlet elDialog: ElTopDialog | null;\n\tif (typeof (viewNameOrElDialog) === 'object') {\n\t\tif (isElJQuery(viewNameOrElDialog)) viewNameOrElDialog = viewNameOrElDialog?.[0]; // todo: убрать после переписки jquery на сайте\n\n\t\telDialog = viewNameOrElDialog;\n\t} else {\n\t\telDialog = getElDialogById(viewNameOrElDialog);\n\t}\n\n\t// Диалоговое окно еще не загружено\n\tif (!elDialog && typeof viewNameOrElDialog === 'string' && TopDialogWorker.state.load) {\n\t\tawait TopDialogWorker.state.load(viewNameOrElDialog);\n\n\t\telDialog = getElDialogById(viewNameOrElDialog);\n\t\tif (!elDialog) {\n\t\t\tthrow new Error('Dialog no exists: ' + viewNameOrElDialog);\n\t\t}\n\t}\n\n\tif (!elDialog) return;\n\n\tawait toViewPage(elDialog, pageName, args, moveDirection);\n\n\tconst $dialog = $(elDialog);\n\n\tif (elDialog?.classList.contains('ui-dialog-content')) {\n\t\t// var zIndexMax = 0;\n\t\t// $.map($('.ui-dialog'), function (el) {\n\t\t// \tvar zIndex = $(el).css('z-index') * 1;\n\t\t// \tif (zIndex > zIndexMax) zIndexMax = zIndex;\n\t\t// });\n\t\t//\n\t\t// if ($dialog.is(':hidden')) $dialog.dialog('open');\n\t\t//\n\t\t// var $dialogWrapper = $dialog.parent();\n\t\t// var $dialogOverlay = $dialogWrapper.next();\n\t\t//\n\t\t// if ($dialogWrapper.css('z-index') * 1 < zIndexMax) {\n\t\t// \t$dialogWrapper.css('z-index', zIndexMax + 2);\n\t\t// \t$dialogOverlay.css('z-index', zIndexMax + 1);\n\t\t// }\n\n\t\t$dialog.dialog('open');\n\t} else {\n\t\tconst options = genVueOptions(elDialog);\n\n\t\t$dialog.dialog(options);\n\t}\n\n\tif (callback) callback($dialog);\n};\n\nconst toViewPage = async (elDialog: ElTopDialog | JQuery<ElTopDialog>, pageName?: string, args?: string[], moveDirection?: MoveDirection) => {\n\t// todo: убрать после переписки jquery на сайте\n\tif (isElJQuery(elDialog)) elDialog = elDialog?.[0];\n\n\tif (pageName === undefined) pageName = elDialog.dataset.viewPageActive;\n\tif (args === undefined) args = elDialog.dataset.args?.split(':') ?? [];\n\n\tif (pageName !== elDialog.dataset.viewPageActive) {\n\t\tconst stopped = stopAnimations(elDialog);\n\t\tif (stopped) await sleep(100);\n\t}\n\n\tawait updatePageVue(elDialog.getAttribute('id') as string, undefined, pageName);\n\n\tconst elModalLayers = querySelectorAllArray<ElTopDialogModalLayer>(elDialog, '.modal-layer');\n\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elCurrentPage = elModalLayer.querySelector<ElTopDialogPage>(':scope > .active');\n\t\tif (elCurrentPage) {\n\t\t\tacc.push(elCurrentPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst elNextPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elNextPage = elModalLayer.querySelector<ElTopDialogPage>(`:scope > [data-view-page=\"${pageName}\"]`);\n\t\tif (elNextPage) {\n\t\t\tacc.push(elNextPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst argsString = args.join(':');\n\n\tif (moveDirection === undefined) {\n\t\tmoveDirection = 'next';\n\t\tif ((elNextPages[0]?.dataset.order ?? 0) < (elCurrentPages[0]?.dataset.order ?? 0)) moveDirection = 'prev';\n\t}\n\n\tif (!elNextPages.length) return;\n\n\telDialog.dataset.viewPageActive = pageName;\n\telDialog.dataset.args = args?.join(':') ?? '';\n\n\t// запрашиваемая страница уже открыта\n\tif (elNextPages[0].classList.contains('active')) {\n\t\tif (elNextPages[0].dataset.viewPageArgs !== argsString) {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.dataset.viewPageArgs = argsString;\n\t\t\t});\n\n\t\t\t// dialogs.beforeOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t\t// dialogs.afterOpenViewPage($dialog, $nextPage, pageName, args);\n\t\t}\n\n\t\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\t\treturn;\n\t}\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.dataset.viewPageArgs = argsString;\n\t});\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\tif (elCurrentPage.querySelector('.top-popup-wrapper')) {\n\t\t\tTopPopupWorker.close(elCurrentPage.querySelector('.top-popup-wrapper')!);\n\t\t}\n\t});\n\n\tconst elDialogWrapper = elNextPages[0].closest<ElTopDialogWrapper>('.ui-dialog');\n\n\tif (elDialogWrapper && !isVisible(elDialogWrapper)) moveDirection = 'none';\n\tif (!elCurrentPages.length) moveDirection = 'none';\n\tif (isVisible(elNextPages[0])) moveDirection = 'none';\n\n\tswitch (moveDirection) {\n\t\tcase 'prev': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage.classList.add('right-to-center', 'reverse');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('center-to-left', 'reverse');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t\tcase 'next': {\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\tconst elActive = elNextPage.parentNode?.querySelector(':scope > .active');\n\t\t\t\tif (elActive) elNextPage.parentNode?.insertBefore(elNextPage, elActive.nextSibling);\n\t\t\t});\n\n\t\t\telCurrentPages.forEach((elCurrentPage) => {\n\t\t\t\telCurrentPage?.classList.add('center-to-left');\n\t\t\t});\n\n\t\t\telNextPages.forEach((elNextPage) => {\n\t\t\t\telNextPage.classList.add('right-to-center');\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\telDialog.setAttribute('view-page-active', pageName);\n\n\telCurrentPages.forEach((elCurrentPage) => {\n\t\telCurrentPage.classList.remove('active');\n\t});\n\n\telNextPages.forEach((elNextPage) => {\n\t\telNextPage.classList.add('active');\n\t});\n\n\tbeforeOpenViewPage(elDialog, elNextPages, pageName, args);\n\n\tif (moveDirection) {\n\t\telDialog.classList.add('i-change-page');\n\n\t\tconst delay = Number(window.getComputedStyle(elNextPages[0]).animationDuration.replace('s', '')) * 1000;\n\n\t\ttimerClearAnimation = setTimeout(function () {\n\t\t\tupdatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\t\tstopAnimations(elDialog);\n\t\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t\t}, delay);\n\t} else {\n\t\tawait updatePageVue(elDialog.getAttribute('id'), pageName, '');\n\t\tafterOpenViewPage(elDialog, elNextPages, pageName, args);\n\t}\n};\n\n/**\n * К предыдущему представлению\n */\nconst toPrevPage = (elDialog: ElTopDialog) => {\n\tconst elModalLayers = querySelectorAllArray<ElTopDialogModalLayer>(elDialog, '.modal-layer');\n\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, elModalLayer) => {\n\t\tconst elCurrentPage = elModalLayer.querySelector<ElTopDialogPage>(':scope > .active');\n\n\t\tif (elCurrentPage) {\n\t\t\tacc.push(elCurrentPage);\n\t\t}\n\n\t\treturn acc;\n\t}, []);\n\n\tconst elPrevPages = elCurrentPages.reduce<ElTopDialogPage[]>((acc, elCurrentPage) => {\n\t\tlet elPrevPage = elCurrentPage.previousElementSibling as ElTopDialogPage | null;\n\t\twhile (elPrevPage && !elPrevPage.hasAttribute('data-view-page')) {\n\t\t\telPrevPage = elPrevPage.previousElementSibling as ElTopDialogPage | null;\n\t\t}\n\n\t\tif (elPrevPage) acc.push(elPrevPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tconst prevPageName = (elPrevPages[0])?.dataset.viewPage;\n\n\tif (prevPageName) {\n\t\tvoid toViewPage(elDialog, prevPageName, undefined, 'prev');\n\t} else {\n\t\tconst $dialog = $(elDialog);\n\t\t$dialog.dialog('close');\n\t}\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst beforeOpenViewPageTimers = new Set();\nconst beforeOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\t// группировка цепочки событий\n\t// запрос на открытие страницы может выполняться несколько раз, чаще такое может быть при открытии, загрузке и переходе сразу к нужной странице\n\tconst eventKey = elDialog.getAttribute('id') + elPages[0].dataset.viewPage + pageName + args.join();\n\n\tif (beforeOpenViewPageTimers.has(eventKey)) return;\n\tbeforeOpenViewPageTimers.add(eventKey);\n\n\tsetTimeout(function () {\n\t\tbeforeOpenViewPageTimers.delete(eventKey);\n\n\t\t$(elDialog).trigger('viewBeforeOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Для обработки событий вне vue\n */\nconst afterOpenViewPage = (elDialog: ElTopDialog, elPages: ElTopDialogPage[], pageName: string, args: string[]) => {\n\tsetTimeout(function () {\n\t\t$(elDialog).trigger('viewAfterOpen', [$(elDialog), $(elPages), pageName, args]);\n\t});\n};\n\n/**\n * Получить состояние: Диалоговое окно находится в состоянии смены страницы\n */\nconst inAnimation = (elDialog: ElTopDialog | JQuery<ElTopDialog>) => {\n\tif (isElJQuery(elDialog)) elDialog = elDialog?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elDialog.classList.contains('i-change-page');\n};\n\n/**\n * Остановить анимацию смены страницы\n *\n * @returns Вернет true, если анимация производилась и была остановлена\n */\nconst stopAnimations = (elDialog: ElTopDialog) => {\n\tif (!inAnimation(elDialog)) return false;\n\n\tclearTimeout(timerClearAnimation);\n\n\tconst elModalLayers = querySelectorAllArray(elDialog, '.modal-layer');\n\n\tconst pageName = elDialog.dataset.viewPageActive;\n\telDialog.classList.remove('i-change-page');\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelectorAll(':scope > [data-view-page]').forEach((el) => {\n\t\t\tel.classList.remove('center-to-left', 'right-to-center', 'reverse', 'active');\n\t\t});\n\t});\n\n\telModalLayers.forEach((elModalLayer) => {\n\t\telModalLayer.querySelector(`:scope > [data-view-page=\"${pageName}\"]`)?.classList.add('active');\n\t});\n\n\treturn true;\n};\n\n/**\n * Закрыть диалоговое окно\n */\nconst close = function (dialogId: string) {\n\tconst elDialog = getElDialogById(dialogId);\n\tif (!elDialog) return;\n\n\tconst $dialog = $(elDialog);\n\n\tif (!$dialog.dialog('instance')) return;\n\n\t$dialog.dialog('close');\n};\n\n/**\n * Управление props.isLoading\n */\nconst setLoading = (elPages: ElTopDialogPage[] | JQuery<ElTopDialogPage>, isLoading: boolean, duration?: number) => {\n\tif (isElJQuery(elPages)) elPages = elPages.toArray(); // todo: убрать после переписки jquery на сайте\n\n\tconst elPagesVisibleds = elPages.reduce<ElTopDialogPage[]>((acc, elPage) => {\n\t\tif (elPage.hasAttribute('data-view-page') && isVisible(elPage)) acc.push(elPage);\n\n\t\treturn acc;\n\t}, []);\n\n\tif (isLoading) {\n\t\tif (duration !== undefined) {\n\t\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', duration + 's');\n\t\t\t});\n\t\t}\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.add('i-load-data');\n\t\t});\n\t} else {\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.classList.remove('i-load-data');\n\t\t});\n\n\t\telPagesVisibleds.forEach((elPagesVisibled) => {\n\t\t\telPagesVisibled.style.setProperty('--dialog-loading-duration', '10s');\n\t\t});\n\t}\n};\n\nconst isLoading = (elPage: ElTopDialogPage | JQuery<ElTopDialogPage>) => {\n\tif (isElJQuery(elPage)) elPage = elPage?.[0]; // todo: убрать после переписки jquery на сайте\n\n\treturn elPage.classList.contains('i-load-data');\n};\n\nexport const TopDialogUtils = {\n\tgetElDialogById,\n\tupdatePageVue,\n\trecalcPositions,\n\ttoViewDirty,\n\ttoView,\n\ttoViewPage,\n\ttoPrevPage,\n\tsetLoading,\n\tisLoading,\n\tinAnimation,\n\tclose,\n};\n\ninit();\n"],"names":["el","elDialogs","utils_dom","elDialog","toView","TopDialogUtils","viewName","viewNameAndPageLink","elToPages","elDialog2","pageLink","utils_route","hash","elForm","eventTarget","elSubmitButton2","event","elDialogWrapperWithTopZIndex","elDialogWrapper","zIndex","topZIndex","Core","timerClearAnimation","isElJQuery","initDialogGlobalEvents","genVueOptions","options","getElDialogById","id","dialog","dialogs_vue_vue_type_script_setup_true_lang","dialogId","pageNameNext","utils_system","onCreate","initPopup","_e","$popup","elPopup","onOpen","pageName","w1","scrollBarWidth","recalcPositions","onClose","hashData","toViewDirty","toViewPageName","moveDirection","toViewParts","argsString","viewNameOrElDialog","args","callback","timer","resolve","$dialog","stopAnimations","updatePageVue","acc","elCurrentPage","elNextPage","elModalLayer","elNextPages","elCurrentPages","elActive","toPrevPage","elPrevPage","beforeOpenViewPageTimers","eventKey","inAnimation","elModalLayers","toViewPage","elPage","duration","elPagesVisibleds","elPagesVisibled","init"],"mappings":"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"}
package/core/app.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-5kyvfFWk.amd","../.chunks/core-oHW-Zz83.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-C5BTPmNA.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-DHHrY6uR.amd"],(function(E,n,r,g,c,p,f,d,u,m){"use strict";if(typeof c>"u")var c=window.Vue;class S{#s;#t;#e;#a;#c;#i=[];#o=[];#n=[];#r=[];constructor(t){this.#t=t.store,this.#s=this.#t.$id,this.#e=t.options.Page,this.#a=t.options.user,this.#c=t.options.Api,this.#i=t.options.tpaNamesUrlHash||[],this.#o=t.options.tpaNamesStorage||[],this.#n=t.options.tpaNamesStorageLocal||[],this.#r=t.options.tpaNamesGuestLink||[],t.store.genGuestLink=(s,a)=>this.genGuestLink(s,a),this.#a.guest_data?.data||(this.#u(),this.#u(!0),this.#f()),this.#S(),this.#k();const e=r.debounce(()=>{this.#m(),this.#l(),this.#l(!0)});t.store.$subscribe(e)}async genGuestLink(t,e){const s=this.#g();e=Object.assign(e,Object.fromEntries(s));const a=await this.#c.gen(t).setParams(e).call();if(a?.errors)return;const i=a.result;await p.guestLinkToClipboard(i)}#g(){const t=new Map;return this.#r.forEach(e=>{const s=f.camelToSnakeCase(e);t.set(s,this.#t[e])}),t}#h(t){t.forEach((e,s)=>{const a=this.#t[s];if(e!=null&&a!==void 0&&e?.constructor&&e.constructor===a.constructor){if(s.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[s]=e}})}#p(t){const e=new Map;return t.forEach((s,a)=>{s!==null&&(s=JSON.stringify(s),e.set(a,s))}),e}#d(t){const e=new Map;return t.forEach((s,a)=>{if(!(s==null||s==="false")){try{if(typeof s=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(s)&&(s=JSON.parse(s)),s==null||s==="false")return}catch{}e.set(a,s)}}),e}#f(){let t;try{t=JSON.parse(d.getHash(this.#s))}catch{}if(!t)return;const e=new Map;this.#i.forEach(s=>{const a=t[s];a&&e.set(s,a)}),this.#h(e)}#m(){const t=new Map;this.#i.forEach(a=>{const i=this.#t[a];t.set(a,i)});const e=Object.fromEntries(t),s=JSON.stringify(e);d.setHash(this.#s,s)}#u(t=!1){const e=new Map;let s=this.#o,a="state:"+this.#s;t&&(s=this.#n,a="state:"+this.#s+":"+location.pathname),s.forEach(o=>{const h=localStorage.getItem(a+":"+o);e.set(o,h)});const i=this.#d(e);this.#h(i)}#l(t=!1){const e=new Map;let s=this.#o,a="state:"+this.#s;t&&(s=this.#n,a="state:"+this.#s+":"+location.pathname),s.forEach(o=>{const h=this.#t[o];e.set(o,h)});const i=this.#p(e);s.forEach(o=>{const h=i.get(o);localStorage.setItem(a+":"+o,h)})}#S(){const t=this.#a?.guest_data?.data;if(!t)return;this.#a.id===-1&&(this.#a.positionsReverseDates=t.positionsReverseDates);const e=new Map;this.#r.forEach(i=>{const o=t[i];e.set(i,o)});const s=this.#d(e);this.#h(s);const a=$(".mod_guest_title");if(this.#t.competitorsIds?.length===1&&this.#e.page.data.competitors){let i=this.#e.page.data.competitors.filter(o=>o.id===t.competitorsIds[0]);i.length&&($("a",a).attr("href","http://"+i[0].url),$("a",a).text(i[0].name))}}#k(){this.#t.regionsIndexes&&c.watch(this.#t.regionsIndexes,t=>{if(!t.length)return;t.forEach((a,i)=>t[i]=a);const e=TplProjectSelectorRegion.genSearchersMap(),s=[];e.forEach(a=>{a.regions.forEach(i=>{i.index!==-1&&s.push(i.index)})}),this.#t.regionsIndexes=t.filter(a=>s.includes(a))},{immediate:!0}),this.#t.competitorsIds&&c.watch(this.#t.competitorsIds,t=>{if(!t.length)return;t.forEach((s,a)=>t[a]=s);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(s=>{s.on>=0&&e.push(s.id)}),this.#t.competitorsIds=t.filter(s=>e.includes(s))},{immediate:!0})}}const k=l=>{const t=l;!t.options.tpaNamesUrlHash?.length&&!t.options.tpaNamesStorage?.length&&!t.options.tpaNamesStorageLocal?.length&&!t.options.tpaNamesGuestLink?.length||new S(t)};n.Core=r.Core,n.i18nPlugin=r.i18n,n.useI18n=r.useI18n,n.useI18nLang=r.useI18nLang,n.corePlugin=g.core,n.useAsyncTopDialog=u.useAsyncTopDialog,n.useTopDialog=u.useTopDialog,n.TopDialogWorker=m.TopDialogWorker,n.piniaTPAPlugin=k,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/forms-5kyvfFWk.amd","../.chunks/core-BU07MKNB.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-BucP1niE.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-Df2_666l.amd"],(function(E,n,r,g,c,p,f,d,u,m){"use strict";if(typeof c>"u")var c=window.Vue;class S{#s;#t;#e;#a;#c;#i=[];#o=[];#n=[];#r=[];constructor(t){this.#t=t.store,this.#s=this.#t.$id,this.#e=t.options.Page,this.#a=t.options.user,this.#c=t.options.Api,this.#i=t.options.tpaNamesUrlHash||[],this.#o=t.options.tpaNamesStorage||[],this.#n=t.options.tpaNamesStorageLocal||[],this.#r=t.options.tpaNamesGuestLink||[],t.store.genGuestLink=(s,a)=>this.genGuestLink(s,a),this.#a.guest_data?.data||(this.#u(),this.#u(!0),this.#f()),this.#S(),this.#k();const e=r.debounce(()=>{this.#m(),this.#l(),this.#l(!0)});t.store.$subscribe(e)}async genGuestLink(t,e){const s=this.#g();e=Object.assign(e,Object.fromEntries(s));const a=await this.#c.gen(t).setParams(e).call();if(a?.errors)return;const i=a.result;await p.guestLinkToClipboard(i)}#g(){const t=new Map;return this.#r.forEach(e=>{const s=f.camelToSnakeCase(e);t.set(s,this.#t[e])}),t}#h(t){t.forEach((e,s)=>{const a=this.#t[s];if(e!=null&&a!==void 0&&e?.constructor&&e.constructor===a.constructor){if(s.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[s]=e}})}#p(t){const e=new Map;return t.forEach((s,a)=>{s!==null&&(s=JSON.stringify(s),e.set(a,s))}),e}#d(t){const e=new Map;return t.forEach((s,a)=>{if(!(s==null||s==="false")){try{if(typeof s=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(s)&&(s=JSON.parse(s)),s==null||s==="false")return}catch{}e.set(a,s)}}),e}#f(){let t;try{t=JSON.parse(d.getHash(this.#s))}catch{}if(!t)return;const e=new Map;this.#i.forEach(s=>{const a=t[s];a&&e.set(s,a)}),this.#h(e)}#m(){const t=new Map;this.#i.forEach(a=>{const i=this.#t[a];t.set(a,i)});const e=Object.fromEntries(t),s=JSON.stringify(e);d.setHash(this.#s,s)}#u(t=!1){const e=new Map;let s=this.#o,a="state:"+this.#s;t&&(s=this.#n,a="state:"+this.#s+":"+location.pathname),s.forEach(o=>{const h=localStorage.getItem(a+":"+o);e.set(o,h)});const i=this.#d(e);this.#h(i)}#l(t=!1){const e=new Map;let s=this.#o,a="state:"+this.#s;t&&(s=this.#n,a="state:"+this.#s+":"+location.pathname),s.forEach(o=>{const h=this.#t[o];e.set(o,h)});const i=this.#p(e);s.forEach(o=>{const h=i.get(o);localStorage.setItem(a+":"+o,h)})}#S(){const t=this.#a?.guest_data?.data;if(!t)return;this.#a.id===-1&&(this.#a.positionsReverseDates=t.positionsReverseDates);const e=new Map;this.#r.forEach(i=>{const o=t[i];e.set(i,o)});const s=this.#d(e);this.#h(s);const a=$(".mod_guest_title");if(this.#t.competitorsIds?.length===1&&this.#e.page.data.competitors){let i=this.#e.page.data.competitors.filter(o=>o.id===t.competitorsIds[0]);i.length&&($("a",a).attr("href","http://"+i[0].url),$("a",a).text(i[0].name))}}#k(){this.#t.regionsIndexes&&c.watch(this.#t.regionsIndexes,t=>{if(!t.length)return;t.forEach((a,i)=>t[i]=a);const e=TplProjectSelectorRegion.genSearchersMap(),s=[];e.forEach(a=>{a.regions.forEach(i=>{i.index!==-1&&s.push(i.index)})}),this.#t.regionsIndexes=t.filter(a=>s.includes(a))},{immediate:!0}),this.#t.competitorsIds&&c.watch(this.#t.competitorsIds,t=>{if(!t.length)return;t.forEach((s,a)=>t[a]=s);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(s=>{s.on>=0&&e.push(s.id)}),this.#t.competitorsIds=t.filter(s=>e.includes(s))},{immediate:!0})}}const k=l=>{const t=l;!t.options.tpaNamesUrlHash?.length&&!t.options.tpaNamesStorage?.length&&!t.options.tpaNamesStorageLocal?.length&&!t.options.tpaNamesGuestLink?.length||new S(t)};n.Core=r.Core,n.i18nPlugin=r.i18n,n.useI18n=r.useI18n,n.useI18nLang=r.useI18nLang,n.corePlugin=g.core,n.useAsyncTopDialog=u.useAsyncTopDialog,n.useTopDialog=u.useTopDialog,n.TopDialogWorker=m.TopDialogWorker,n.piniaTPAPlugin=k,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=app.amd.js.map
package/core/app.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import { d as c } from "../.chunks/forms-DEsHjY-0.es.js";
2
2
  import { C as O, i as P, u as I, a as T } from "../.chunks/forms-DEsHjY-0.es.js";
3
- import { c as y } from "../.chunks/core-K4bH_ECg.es.js";
3
+ import { c as y } from "../.chunks/core-07tvmSiH.es.js";
4
4
  import { watch as h } from "vue";
5
5
  import { guestLinkToClipboard as p } from "../utils/clipboard.js";
6
6
  import { camelToSnakeCase as d } from "../utils/string.js";
7
7
  import { getHash as f, setHash as g } from "../utils/route.js";
8
- import { u as G, a as M } from "../.chunks/utils-DRfbeSbp.es.js";
9
- import { T as D } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BvTKl5Jh.es.js";
8
+ import { u as G, a as M } from "../.chunks/utils-Bt_5Z9fu.es.js";
9
+ import { T as D } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-sZYnDnel.es.js";
10
10
  class l {
11
11
  #s;
12
12
  #t;
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-DCom_wTj.amd","vue","../.chunks/utils-C5BTPmNA.amd"],(function(d,o,i,e,l){"use strict";if(typeof e>"u")var e=window.Vue;const m={name:{type:String,required:!0},order:{type:Number,required:!0},prevName:String,footerFullWith:Boolean},c=e.defineComponent({__name:"pageComponent",props:{component:{},keepAlive:{type:Boolean,default:!0},props:{},name:{},order:{},prevName:{},footerFullWith:{type:Boolean}},setup(n){const r=n,t=l.useTopDialogSelf(),p=(a,u)=>{if(!u.value){if(a.name!=="AsyncComponentWrapper"){u.value=!0;return}t.needShowPage(r.name)&&(t.isLoadingPage.value=!0,a.__asyncResolved&&(u.value=!0,t.isLoadingPage.value=!1))}};if(r.component.name==="AsyncComponentWrapper"){const a=e.ref(!1);e.onUpdated(()=>{p(r.component,a)})}return(a,u)=>(e.openBlock(),e.createBlock(e.KeepAlive,{include:n.keepAlive?"":"none"},[e.unref(t).needShowPage(n.name)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.component),e.mergeProps({key:0},r,{name:n.name,order:n.order,prevName:n.prevName}),null,16,["name","order","prevName"])):e.createCommentVNode("",!0)],1032,["include"]))}});o.TopDialog=i._sfc_main,o.TopDialogPage=i._sfc_main$1,o.useTopDialogSelf=l.useTopDialogSelf,o.TopDialogPageComponent=c,o.propsPageCommon=m,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-Dyq5dr49.amd","vue","../.chunks/utils-BucP1niE.amd"],(function(d,o,i,e,l){"use strict";if(typeof e>"u")var e=window.Vue;const m={name:{type:String,required:!0},order:{type:Number,required:!0},prevName:String,footerFullWith:Boolean},c=e.defineComponent({__name:"pageComponent",props:{component:{},keepAlive:{type:Boolean,default:!0},props:{},name:{},order:{},prevName:{},footerFullWith:{type:Boolean}},setup(n){const r=n,t=l.useTopDialogSelf(),p=(a,u)=>{if(!u.value){if(a.name!=="AsyncComponentWrapper"){u.value=!0;return}t.needShowPage(r.name)&&(t.isLoadingPage.value=!0,a.__asyncResolved&&(u.value=!0,t.isLoadingPage.value=!1))}};if(r.component.name==="AsyncComponentWrapper"){const a=e.ref(!1);e.onUpdated(()=>{p(r.component,a)})}return(a,u)=>(e.openBlock(),e.createBlock(e.KeepAlive,{include:n.keepAlive?"":"none"},[e.unref(t).needShowPage(n.name)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.component),e.mergeProps({key:0},r,{name:n.name,order:n.order,prevName:n.prevName}),null,16,["name","order","prevName"])):e.createCommentVNode("",!0)],1032,["include"]))}});o.TopDialog=i._sfc_main,o.TopDialogPage=i._sfc_main$1,o.useTopDialogSelf=l.useTopDialogSelf,o.TopDialogPageComponent=c,o.propsPageCommon=m,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=dialog.amd.js.map
package/dialog/dialog.js CHANGED
@@ -1,6 +1,6 @@
1
- import { _ as k, a as B } from "../.chunks/page.vue_vue_type_script_setup_true_lang-B1UBH0P-.es.js";
1
+ import { _ as k, a as B } from "../.chunks/page.vue_vue_type_script_setup_true_lang-BDsGoYLD.es.js";
2
2
  import { defineComponent as l, ref as i, onUpdated as u, createBlock as t, openBlock as m, KeepAlive as c, createCommentVNode as s, unref as d, resolveDynamicComponent as g, mergeProps as f } from "vue";
3
- import { b as v } from "../.chunks/utils-DRfbeSbp.es.js";
3
+ import { b as v } from "../.chunks/utils-Bt_5Z9fu.es.js";
4
4
  const C = {
5
5
  name: {
6
6
  type: String,
package/package.json CHANGED
@@ -1,36 +1,36 @@
1
1
  {
2
- "name": "@topvisor/ui",
3
- "private": false,
4
- "version": "1.4.2-2",
5
- "type": "module",
6
- "description": "Topvisor UI-kit Vue",
7
- "author": "Topvisor",
8
- "keywords": [
9
- "topvisor",
10
- "vue",
11
- "ui framework",
12
- "component framework",
13
- "component library"
14
- ],
15
- "license": "MIT",
16
- "engines": {
17
- "npm": ">=10.0.0",
18
- "node": ">=22.0.0"
19
- },
20
- "exports": {
21
- ".": {
22
- "types": "./src/api/api/types/index.d.ts"
23
- },
24
- "./*": "./*"
25
- },
26
- "peerDependencies": {
27
- "@faker-js/faker": "^9.9.0",
28
- "@monaco-editor/loader": "^1.5.0",
29
- "@rive-app/canvas-lite": "^2.30.4",
30
- "pinia": "2.3.1",
31
- "vue": "^3.5.20"
32
- },
33
- "overrides": {
34
- "storybook": "$storybook"
35
- }
2
+ "name": "@topvisor/ui",
3
+ "private": false,
4
+ "version": "1.4.2",
5
+ "type": "module",
6
+ "description": "Topvisor UI-kit Vue",
7
+ "author": "Topvisor",
8
+ "keywords": [
9
+ "topvisor",
10
+ "vue",
11
+ "ui framework",
12
+ "component framework",
13
+ "component library"
14
+ ],
15
+ "license": "MIT",
16
+ "engines": {
17
+ "npm": ">=10.0.0",
18
+ "node": ">=22.0.0"
19
+ },
20
+ "exports": {
21
+ ".": {
22
+ "types": "./src/api/api/types/index.d.ts"
23
+ },
24
+ "./*": "./*"
25
+ },
26
+ "peerDependencies": {
27
+ "@faker-js/faker": "^9.9.0",
28
+ "@monaco-editor/loader": "^1.5.0",
29
+ "@rive-app/canvas-lite": "^2.30.4",
30
+ "pinia": "2.3.1",
31
+ "vue": "^3.5.20"
32
+ },
33
+ "overrides": {
34
+ "storybook": "$storybook"
35
+ }
36
36
  }
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-5kyvfFWk.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-UWG1HThl.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-wadPmRcv.amd","../.chunks/utils-C5BTPmNA.amd","../utils/searchers.amd","../.chunks/core-oHW-Zz83.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-DHHrY6uR.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(se,B,e,y,V,C,fe,W,Je,Ye,H,A,ge){"use strict";if(typeof e>"u")var e=window.Vue;const me={class:"top-competitorSelector"},ve={class:"top-ellipsis1"},pe=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=e.computed(()=>{if(a.showSelectAllItem)return{icon:"",title:y.useI18n().Common.Select_all,value:"all",content:""}});return(d,n)=>(e.openBlock(),e.createElementBlock("div",me,[e.unref(y.Core).state.isMobile?(e.openBlock(),e.createBlock(V._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{class:"top-competitorSelector_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.items.find(r=>r.value===l.value?.[0])?.content),1)]),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,r=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-active":l.value?.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>l.value=[r.value]},{default:e.withCtx(()=>[e.createElementVNode("span",ve,e.toDisplayString(r.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(C._sfc_main$1,{key:1,modelValue:l.value,"onUpdate:modelValue":n[0]||(n[0]=r=>l.value=r),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:o.value},null,8,["modelValue","items","selectAllItem"]))]))}}),he=(t,a)=>e.computed(()=>e.toValue(t).filter(d=>d.on>=0||d.id===a).map(d=>({value:d.id,title:d.url+` [${d.id}]`,icon:d.id===e.toValue(a)?"":"",content:d.name}))),T=-1,h=-2,O=-1,ye={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},_={key:h,name:"--",index:h},ee={key:h,name:"--",regions:[_],regionByIndex:new Map([[h,_]])},R={key:h,name:"Autoselect",index:h},J={key:h,name:"Autoselect",regions:[R],regionByIndex:new Map([[h,R]])},te={countryCode:"00",depth:1,device:0,key:O,index:O,lang:"ru",name:"Without region"},Ie=()=>(R.name=y.useI18n().Common.Autoselect,R),Se=()=>(Ie(),J.name=y.useI18n().Common.Autoselect,console.log(J),J),ke=()=>(te.name=y.useI18n().Keywords.Without_region,te),Y=(t=!1,a=!1,l=[])=>{let o;return t?o=xe(l):o=oe(l),a&&o.set(h,Se()),o.size||o.set(h,ee),o},oe=(t,a=!0,l=[],o=!1)=>{const d=new Map;return t.forEach(n=>{if(!n.enabled||o&&typeof n.key=="number"&&n.key>1)return;const r={...n};r.regionByIndex=new Map,n.regions&&n.regions.forEach(c=>{if(a&&!c.enabled)return;const m={...c};r.regionByIndex.set(m.index,m)}),!r.regionByIndex.size&&l.length,(!n.regions||r.regionByIndex.size||l.length)&&d.set(r.key,r)}),l.forEach(n=>{if(d.has(n))return;const r={key:n,name:ye[n],regions:[],regionByIndex:new Map};d.set(r.key,r)}),d},xe=t=>{const a=oe(t,!1,[0,1],!0);if(a.has(2)){const l=a.get(2);l&&(l.regionByIndex=new Map)}return a.forEach(l=>{if(!l.regionByIndex)return;const o={...ke()};l.regionByIndex.set(o.index,o)}),a},le=(t,a,l=[])=>{const o=Y(t,!1,l);let d;return o.forEach(n=>{if(!(a.searcher_key!==void 0&&a.searcher_key!=n.key)&&n.regions&&(n.regions.forEach(r=>{if(!d&&!(a.key!==void 0&&a.key!=r.key)&&!(a.index!==void 0&&a.index!=r.index)&&!(!t&&(a.lang!==void 0&&a.lang!=r.lang||a.device!==void 0&&a.device!=r.device)))return r.searcher_key=n.key,d=r,!1}),d))return!1}),d},ne=fe.useAsyncTopDialog(()=>new Promise((t,a)=>se(["../.chunks/dialog_regionSelectorRegions-CQcELPYH.amd"],t,a))),Be=(t,a)=>{const l=y.useI18n(),o=e.ref(a.value.keys().next().value??h),d=e.computed(()=>{const n=new Map;if(a.value.forEach(r=>{let c={value:r.key,title:r.name};t.addSearcherIcon&&(c.icon=W.getSearcherGIcon(r.key)),n.set(r.key,c)}),t.addCompare&&!n.has(h)){const r={value:"",title:"--------------------",disabled:!0};n.set(r.value,r);const c={value:T,title:l.Common.Compare};n.set(c.value,c)}return n});return{searcherKey:o,optionBySearcherKey:d}},Ce=(t,a)=>{const l=y.useI18n(),o=e.ref(h);t.modelValue.length===1&&(o.value=t.modelValue[0]),o.value===h&&(t.forFrequency?o.value=a.value?.regionByIndex.values().next().value?.key??h:o.value=a.value?.regionByIndex.keys().next().value??h);const d=e.computed(()=>{const n=new Map;return a.value.regionByIndex?.forEach(r=>{let c=r.name;if(t.forFrequency){const k={value:r.key,title:c};n.has(r.key)||n.set(r.key,k);return}r.device&&(c+=" ("+l.Common["Device_"+r.device]+")");const m=W.getLangLabel(a.value.key||0,r.lang??"");m&&(c+=" / "+m);const f={value:r.index,title:c,icon:r.device?W.getDeviceGIcon(r.device):void 0};n.set(r.index,f)}),n});return e.watch(d,(n,r)=>{if(t.onlySearcher||o.value!==void 0&&n.get(o.value))return;let c=n.keys().next().value;if(o.value===h||c===h){o.value=c;return}let m=r?.get(o.value)?.title||"",f=-1;for(const[k,i]of n.entries()){const v=i.title;if(typeof v!="string"||typeof k=="string")break;if(v===m){c=k;break}const u=new RegExp(` \\((${l.Common.Device_1}|${l.Common.Device_2})\\)`);let s=m,g=3;v.indexOf(s)===-1&&(s=m.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),s=s.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)!==-1&&(g<=f||(f=g,c=k))}o.value=c}),{regionIndex:o,optionByRegionIndex:d}},we=(t,a,l)=>{const o=e.ref([]),d=()=>{if(t.onlySearcher&&a.value){o.value=Array.from(a.value.keys());return}let r=[];if(t.modelValue.length>1)r=[...t.modelValue];else try{r=JSON.parse(localStorage.getItem("ui:project:regionSelector"+t.projectId+":regionsIndexes"))??[]}catch{}r.length&&(r=r.filter(c=>l.value.has(c))),r.length||(r=Array.from(l.value)),o.value=[...r]},n=()=>{o.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(o.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(o,()=>{n()}),t.addCompare&&d(),{regionsIndexes:o}},Te=t=>{const a=e.computed(()=>Y(t.forFrequency,t.autoRegion,t.searchers)),l=e.computed(()=>a.value.get(d.searcherKey.value)||ee),o=e.computed(()=>{const i=new Set;return a.value.forEach(v=>{v.regionByIndex.forEach(u=>{u.index!==O&&u.index!==h&&i.add(u.index)})}),i}),d=Be(t,a),n=Ce(t,l),r=we(t,a,o);e.watch(a,()=>{if(t.onlySearcher?r.regionsIndexes.value=Array.from(a.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(v=>o.value.has(v)),d.searcherKey.value===T)return;let i=a.value.keys().next().value;a.value.forEach(v=>{if(t.onlySearcher&&v.key===d.searcherKey.value){i=d.searcherKey.value;return}if(n.regionIndex.value&&v.regionByIndex?.has(n.regionIndex.value)&&(i=v.key),!t.onlySearcher){let u;i!==void 0&&(u=a.value.get(i)?.regionByIndex);const s=a.value.get(v.key)?.regionByIndex;u?.has(h)&&!s?.has(h)&&(i=v.key)}}),i!==void 0&&(d.searcherKey.value=i),n.regionIndex.value!==void 0&&!l.value?.regionByIndex?.has(n.regionIndex.value)&&(n.regionIndex.value=l.value?.regions?.keys().next().value)},{immediate:!0});const c=()=>{if(!(d.searcherKey.value===T||d.searcherKey.value===h))return d.searcherKey.value},m=()=>{if(t.onlySearcher||n.regionIndex.value===h)return;let i=n.regionIndex.value;if(t.forFrequency){const v=n.regionIndex.value;i=le(t.forFrequency,{searcher_key:c(),key:v},t.searchers)?.index}return i},f=()=>{const i=c();if(i!==void 0)return a.value.get(i)};return{selectSearcher:d,selectRegion:n,compare:r,searcherByKey:a,allRegionsIndexes:o,getSearcher:f,getRegion:()=>{const i=m();if(i!==void 0)return f()?.regionByIndex?.get(i)}}},Me=e.defineComponent({__name:"regionSelector",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forFrequency:{type:Boolean},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:["update:modelValue","update:modelValueSingle"],setup(t,{expose:a}){const l=t,o=e.useModel(t,"modelValue"),d=e.useModel(t,"modelValueSingle"),{selectSearcher:n,selectRegion:r,compare:c,searcherByKey:m,allRegionsIndexes:f,getSearcher:k,getRegion:i}=Te(l),v=()=>{const u=[];m.value.forEach(s=>{s.enabled&&s.regions.forEach(g=>{g.enabled&&u.push(g)})}),ne.open("regions",{regions:u,regionsIndexes:c.regionsIndexes.value,"@update:regionsIndexes":s=>c.regionsIndexes.value=s})};return e.watch([r.regionIndex,n.searcherKey,c.regionsIndexes],()=>{if(n.searcherKey.value===T&&c.regionsIndexes.value.length){if(JSON.stringify(o.value)===JSON.stringify(c.regionsIndexes.value))return;o.value=[...c.regionsIndexes.value]}else l.onlySearcher?(o.value=[n.searcherKey.value],n.searcherKey.value===h&&!l.autoRegion&&(o.value.length=0)):(o.value=[r.regionIndex.value],r.regionIndex.value===h&&!l.autoRegion&&(o.value.length=0));!l.onlySearcher&&!f.value.size&&(n.searcherKey.value=h)}),d.value&&e.watch(d,()=>{d.value&&(o.value=[d.value])},{immediate:!0}),e.watch(o,()=>{if(o.value[0]&&(d.value=o.value[0]),l.onlySearcher){if(!o.value.length||o.value.length===1&&!m.value.has(o.value[0])||o.value.length===1&&o.value[0]===h&&!l.autoRegion){let u=m.value.keys().next().value;u===h&&!l.autoRegion&&(u=void 0,d.value=h),u!==void 0?o.value=[u]:o.value.length=0;return}if(o.value.length>1&&JSON.stringify(o.value)!==JSON.stringify(c.regionsIndexes.value)){o.value=[...c.regionsIndexes.value];return}}else{let u=[...new Set(o.value)],s=m.value.values().next().value?.regionByIndex?.keys().next().value;if(l.forFrequency&&(s=m.value.values().next().value?.regionByIndex?.values().next().value?.key),s===h&&!l.autoRegion&&(s=void 0,d.value=h),!u.length)s!==void 0&&u.push(s);else if(u.length===1){let g=f.value;l.forFrequency&&(g=new Set,m.value.forEach(U=>{U.regionByIndex.forEach(N=>{N.index!==O&&N.index!==h&&g.add(N.key)})})),g.has(u[0])||(u=[],s!==void 0&&u.push(s))}else u=u.filter(g=>f.value.has(g)),!u.length&&s!==void 0&&u.push(s);if(JSON.stringify(o.value)!==JSON.stringify(u)){o.value=u;return}}if(!(o.value.length===1&&o.value[0]===(l.onlySearcher?n.searcherKey.value:r.regionIndex.value)))if(l.onlySearcher){if(o.value.length===1){n.searcherKey.value=o.value[0];return}n.searcherKey.value=T;return}else{if(!o.value.length)return;if(o.value.length===1&&n.searcherKey.value!==T){r.regionIndex.value=o.value[0];let u;for(const s of m.value.values()){for(const g of s.regionByIndex.values())if((l.forFrequency?g.key:g.index)===r.regionIndex.value){u=s.key;break}if(u!==void 0)break}u!==void 0&&(n.searcherKey.value=u)}else n.searcherKey.value=T,c.regionsIndexes.value=[...o.value]}},{immediate:!0}),a({getSearcher:k,getRegion:i}),(u,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":t.onlySearcher})},[e.createVNode(y._sfc_main$10,{options:e.unref(n).optionBySearcherKey.value,modelValue:e.unref(n).searcherKey.value,"onUpdate:modelValue":s[0]||(s[0]=g=>e.unref(n).searcherKey.value=g),name:"searcher_key",addChanger:t.addChanger},null,8,["options","modelValue","addChanger"]),!t.onlySearcher&&e.unref(n).searcherKey.value!==e.unref(T)?(e.openBlock(),e.createBlock(y._sfc_main$10,{key:0,class:"top-select-region",options:e.unref(r).optionByRegionIndex.value,modelValue:e.unref(r).regionIndex.value,"onUpdate:modelValue":s[1]||(s[1]=g=>e.unref(r).regionIndex.value=g),name:t.forFrequency?"region_key":"region_index",addChanger:t.addChanger,"data-top-icon":t.addRegionIcon?"":void 0},null,8,["options","modelValue","name","addChanger","data-top-icon"])):e.createCommentVNode("",!0),t.addCompare&&!t.onlySearcher&&e.unref(n).searcherKey.value===e.unref(T)?(e.openBlock(),e.createBlock(y._sfc_main$1,{key:1,name:"compare",onClick:v,"data-count-compare-regions-indexes":e.unref(c).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),M={id:0,name:"/",path:"/"};function Ve(t){return t?y.useI18n()?.Common.All_folders:"/ ("+y.useI18n()?.Keywords.Root_folder+")"}const Q=(t,a,l=new Map,o={id:"root"},d=0)=>(o.childsIds=[],o.id&&(o.countAllGroupsActive=o.count_groups_active),t[o.id]&&t[o.id].forEach(n=>{n={...n},o.childsIds.push(n.id),n.id===0&&(n.name=Ve(a));const r=d>1?"-".repeat(d-1)+" ":"";r&&!n.name.startsWith(r)&&(n.name=r+n.name),l.set(n.id,n),Q(t,a,l,n,d+1),o.childsIds=o.childsIds.concat(n.childsIds),o.id&&n.count_groups_active&&(o.countAllGroupsActive+=n.count_groups_active)}),l),Ae=t=>t.gen("/get/keywords_2/folders/",["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function X(t,a,l){const o=Object.keys(t),d=o.map(n=>t[n]);return e.watch(d,(n,r,c)=>{const m={};n.forEach((f,k)=>{if(!Object.is(f,r[k])){const i=o[k];m[i]={old:r[k],new:f}}}),Object.keys(m).length&&a(m,c)},l)}const Ee=e.defineComponent({__name:"folders",props:e.mergeModels({folderId:{},folder:{},folders:{},projectId:{},canSelectAll:{type:Boolean},addChanger:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{default:M},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const a=t,l=e.useModel(t,"folderId"),o=e.useModel(t,"folder"),d=a.client&&!a.folders?Ae(a.client):void 0,n=e.ref(null);e.watch(()=>a.projectId,()=>{d?.changeParams({project_id:a.projectId}),d?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+a.projectId}),n.value?.resetCache()},{immediate:!0});const r=e.computed(()=>Q(a.folders??{root:[M]},a.canSelectAll));return X({modelFolder:o,modelFolderId:l},async c=>{if(l.value===o.value.id)return;if(c.modelFolder&&!c.modelFolderId){l.value=o.value.id;return}let m=r.value.get(a.folderId);m||(m=M),o.value=m,l.value=m.id},{immediate:!0}),(c,m)=>(e.openBlock(),e.createBlock(C._sfc_main,{class:"top-groupSelector_folder",modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=f=>o.value=f),items:t.folders?[...r.value.values()]:void 0,"search-type":"inline",icon:t.addIcon?"":void 0,api:t.folders?void 0:e.unref(d),apiSetSearchParams:(...f)=>e.unref(C.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),j={id:-1,name:"--",folder_id:M.id,folder_path:M.path},D={id:C.ITEM_ID_ALL,name:"All groups",folder_id:M.id,folder_path:M.path},E=()=>(D.name=y.useI18n()?.Common.All_groups,D),ae=()=>(D.name=y.useI18n()?.Keywords.Choose_group,D),be=(t,a,l)=>(t=[...t],a!==void 0&&(t=t.filter(o=>o.on==Number(a))),l&&l.id&&l.childsIds&&(t=t.filter(o=>o.folder_id===l.id||l.childsIds.includes(o.folder_id))),t),re=t=>t.gen("/get/keywords_2/groups/",["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),$e=t=>t.gen("/add/keywords_2/groups/"),Ne={class:"top-groupSelector_groupItem"},Ge={key:0,class:"top-comment"},Ke={key:1,class:"top-groupSelector_groupItemFolderPath"},Le=e.defineComponent({__name:"groups",props:e.mergeModels({groupId:{},group:{},projectId:{},folder:{},groups:{},on:{type:Boolean,default:void 0},canAdd:{type:[String,Boolean]},canSelectAll:{type:[Boolean,String]},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showPath:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{}},{groupId:{required:!0},groupIdModifiers:{},group:{required:!0},groupModifiers:{}}),emits:e.mergeModels(["addGroup"],["update:groupId","update:group"]),setup(t,{emit:a}){const l=t,o=a,d=e.useModel(t,"groupId"),n=e.useModel(t,"group"),r=l.client&&!l.groups?re(l.client):void 0,c=l.client?$e(l.client):void 0,m=e.ref(null),f=e.ref(void 0),k=H.genFieldFilter("folder_id","EQUALS",[l.folder?.id??0]);r?.changeParams({project_id:l.projectId,folder_id_depth:!0,filters:[k]}),l.on!==void 0&&r?.params.filters?.push(H.genFieldFilter("on","EQUALS",[Number(l.on)]));const i=u=>{n.value=u,d.value=u.id};X({projectId:()=>l.projectId,folderId:()=>l.folder?.id,canSelectAll:()=>l.canSelectAll},u=>{if(u.projectId&&(r?.changeParams({project_id:l.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+l.projectId})),u.folderId&&(k.values=[l.folder?.id??0],l.groups&&(f.value=be(l.groups,l.on,l.folder))),m.value?.resetCache(),(u.folderId?.old!==void 0||u.canSelectAll?.old!==void 0)&&d.value!==C.ITEM_ID_NEW){let s;l.autoselect==="first"&&(s=f.value?.[0],l.canSelectAll&&(s=e.reactive(E()))),(l.autoselect==="placeholder"||!s)&&(s=ae()),i(s)}},{immediate:!0}),X({modelGroup:n,modelGroupId:d},async u=>{if(d.value!==n.value.id){if(u.modelGroup&&!u.modelGroupId){d.value=n.value.id;return}if(!(l.canAdd&&d.value===C.ITEM_ID_NEW)){if(l.groups){let s=f.value?.find(g=>g.id===d.value);if(!s&&l.canSelectAll&&(s=E()),s)i(s);else{const g=f.value?.[0];g&&!d.value?i(g):i(j)}}if(l.client&&!l.groups&&(d.value||d.value===C.ITEM_ID_ALL&&!l.canSelectAll)){const s=re(l.client).changeParams({project_id:l.projectId,id:d.value,filters:[k]});s?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+l.projectId});const g=await s.call();if(!g.errors?.length&&!g.result)return;!g.errors&&g.result[0]?i(g.result[0]):i(j)}}}},{immediate:!0});const v=async u=>{if(l.canAdd!=="api"||!c)return;const s=n.value,g=await c.changeParams({project_id:l.projectId,names:[u.name],to_id:l.folder?.id??M.id,to_type:"in_folder_last"}).call();g.result?(i(g.result),o("addGroup",g.result)):i(s),m.value?.resetCache(!0)};return(u,s)=>(e.openBlock(),e.createBlock(C._sfc_main,{ref_key:"refSelector",ref:m,class:"top-groupSelector_group",modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=g=>n.value=g),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(r),apiSetSearchParams:(...g)=>e.unref(C.apiSetSearchParamsFilter)(...g,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(E)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:v},{item:e.withCtx(({item:g})=>[e.createElementVNode("div",Ne,[g.id===e.unref(C.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Ge,e.toDisplayString(u.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(g.name),1),g.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Ke,e.toDisplayString(g.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),Oe={class:"top-groupSelector"},Re=e.defineComponent({__name:"groupSelector",props:e.mergeModels({folderId:{},folder:{},groupId:{},group:{},projectId:{},folders:{},groups:{},on:{type:Boolean,default:void 0},canSelectAllGroups:{type:Boolean},canAddGroup:{},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showFolders:{type:Boolean,default:!0},showGroups:{type:Boolean,default:!0},addIcon:{type:Boolean,default:!0},client:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{},folderModifiers:{},groupId:{required:!0},groupIdModifiers:{},group:{default:j},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:a}){const l=t,o=e.useModel(t,"folderId"),d=e.useModel(t,"folder"),n=e.useModel(t,"groupId"),r=e.useModel(t,"group"),c=a,m=Q(l.folders??{root:[M]},l.canSelectAllGroups);d.value=m.get(o.value);let f=l.groups?.find(i=>i.id===n.value);n.value||(f=l.groups?.[0]),l.canSelectAllGroups&&!f&&(f=E()),l.canSelectAllGroups&&!f&&(f=E()),(l.autoselect==="placeholder"||!f)&&(f=ae()),f??=j,r.value=f;const k=i=>{let v;l.groups&&i&&(v=[...l.groups,i]),c("update:groups",v)};return(i,v)=>(e.openBlock(),e.createElementBlock("div",Oe,[t.showFolders?(e.openBlock(),e.createBlock(Ee,{key:0,folderId:o.value,"onUpdate:folderId":v[0]||(v[0]=u=>o.value=u),folder:d.value,"onUpdate:folder":v[1]||(v[1]=u=>d.value=u),projectId:t.projectId,folders:t.folders,canSelectAll:t.canSelectAllGroups,addChanger:t.addChanger,addIcon:t.addIcon,client:t.client},null,8,["folderId","folder","projectId","folders","canSelectAll","addChanger","addIcon","client"])):e.createCommentVNode("",!0),t.showGroups?(e.openBlock(),e.createBlock(Le,{key:1,groupId:n.value,"onUpdate:groupId":v[2]||(v[2]=u=>n.value=u),group:r.value,"onUpdate:group":v[3]||(v[3]=u=>r.value=u),projectId:t.projectId,folder:d.value,groups:t.groups,on:t.on,canAdd:t.canAddGroup,canSelectAll:t.canSelectAllGroups,autoselect:t.autoselect,addChanger:t.addChanger,showPath:t.showFolders&&!!t.folders?.[0],addIcon:t.addIcon,client:t.client,onAddGroup:k},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client"])):e.createCommentVNode("",!0)]))}}),de=t=>"-"+t,b=t=>t[0]==="-"?t.substring(1):t,P=(t,a)=>{t=b(t);const l=a.find(o=>o.id===t);if(l)return l},je=(t,a,l)=>{a||(a={id:t.id}),a.id=t.id,a.pos??="3",a.notch??=!0,a.posBy??="fixed";const o=ge.TopPopupWorker.genElPopupOpener("div",a);return o.classList.add("top-tagSelector"),t.useTopButton&&o.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||o.classList.add("top-tagSelector-custom"),t.mode==="filter"&&o.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&o.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&o.classList.add("top-tagSelector-setter_several"),o.onclick=d=>{d.preventDefault(),d.stopPropagation(),o.onclick=null;const n=e.ref(t.modelValue),r={model:n,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};A.storage(o,"topTagSelectorTarget",r),delete o.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(n,()=>{t.modelValue=n.value,F(o,t,l)}),o.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>F(o,t,l)):A.storage(o,"topTagSelectorRender",d=>{t.modelValue=d;const n=A.storage(o,"topTagSelectorTarget");n&&(n.model.value=d),F(o,t,l)}),F(o,t,l),o},De=(t,a)=>{A.storage(t,"topTagSelectorRender")?.(a)},F=(t,a,l)=>{const o=e.unref(a.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!o.length||o.length===1),t.classList.toggle("top-tagSelector-toTwoLine",o.length>5),a.mode==="setter"&&a.filters){t.innerHTML=`<div>${l}</div>`;return}if(t.innerHTML="",!o.length&&a.mode==="filter"){const d=ie({id:"all",colorId:"",name:y.useI18n().Common?.All_tags??"",state:""});t.append(d)}o.forEach(d=>{const n=ie({id:b(d),colorId:P(d,a.tags)?.color_id??"",name:P(d,a.tags)?.name??"",state:b(d)===d?"selected":"excluded"});t.append(n)})},ie=t=>{const a=document.createElement("div");return a.classList.add("top-tagSelector_tagIcon"),a.classList.toggle("top-tagSelector-active",!!t.state),a.classList.toggle("top-tagSelector-excluded",t.state==="excluded"),a.dataset.tag_id=t.id,a.dataset.tag_color_id=t.colorId,a.title=t.name,a},Pe=[{id:"1",name:"Without Tag",color_id:"1"},{id:"2",name:"Red",color_id:"2"},{id:"3",name:"Orange",color_id:"3"},{id:"4",name:"Yellow",color_id:"4"},{id:"5",name:"Blue",color_id:"5"},{id:"6",name:"Purple",color_id:"6"},{id:"7",name:"Green",color_id:"7"},{id:"8",name:"Magenta",color_id:"8"},{id:"9",name:"Dark blue",color_id:"9"},{id:"10",name:"Turquoise",color_id:"10"}],Fe=["data-tag_id","data-tag_color_id","title"],q=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(a,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tagSelector_tagIcon":!0,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),"data-tag_id":t.id,"data-tag_color_id":t.colorId,title:t.name},null,10,Fe))}}),qe=["contenteditable","onKeydown"],ue=e.defineComponent({__name:"tagPopupListItem",props:e.mergeModels({editable:{type:Boolean},disabled:{type:Boolean},canExclude:{type:Boolean},id:{},colorId:{},name:{},state:{}},{name:{required:!0},nameModifiers:{}}),emits:e.mergeModels(["update:name","unselect","exclude","select"],["update:name"]),setup(t,{emit:a}){const l=t,o=a,d=e.useModel(t,"name"),n=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:c.value,onpaste:v=>v.preventDefault()}:{}),c=e.ref(!1),m=async()=>{c.value=!0,await e.nextTick(),n.value?.focus()},f=()=>{const v=n.value?.innerText;if(!v)return k();n.value&&(n.value.innerText=v),c.value=!1,o("update:name",v)},k=async()=>{n.value&&(n.value.innerText=l.name),c.value=!1},i=v=>{if(c.value||l.disabled)return;let u="selected";l.canExclude&&(v.ctrlKey||v.metaKey)&&(u="excluded"),l.state==u&&(u=""),u===""&&o("unselect"),u==="selected"&&o("select"),u==="excluded"&&o("exclude")};return(v,u)=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":c.value,"top-tagSelector_tagListItem-disabled":t.disabled,"top-tagSelector_tagListItem-canExclude":t.canExclude,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),onClick:e.withModifiers(i,["stop"])},{default:e.withCtx(()=>[e.createVNode(q,{id:t.id,name:d.value,colorId:t.colorId,state:t.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:n,class:"top-tagSelector_tagListItemName",contenteditable:c.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(k,["stop"]),["esc"])]}),e.toDisplayString(d.value),17,qe),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(f,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:m}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),Ue={key:1},ce=e.defineComponent({inheritAttrs:!1,__name:"popupOpener",props:e.mergeModels({modelValue:{},id:{},tags:{},mode:{},targetId:{},filters:{},useTopButton:{type:Boolean},payload:{},styling:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=a.useTopButton?y._sfc_main$1:"div",d=a.useTopButton?"html":"default",n={model:l,mode:a.mode,targetId:a.targetId,filters:a.filters,payload:a.payload};return(r,c)=>{const m=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(V._sfc_main$1,{id:t.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-useTopButton":a.useTopButton,"top-tagSelector-custom":!a.useTopButton,"top-as-selector":a.useTopButton,"top-tagSelector-filter":a.mode==="filter","top-tagSelector-setter_single":a.mode==="setter"&&!t.filters,"top-tagSelector-setter_several":a.mode==="setter"&&t.filters,"top-tagSelector-selectedOne":!l.value.length||l.value.length===1,"top-tagSelector-toTwoLine":l.value.length>5},color:"theme",styling:t.styling},r.$attrs),{[e.unref(d)]:e.withCtx(()=>[!l.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(q,{key:0,id:"all",colorId:"",name:r.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),t.mode==="setter"&&t.filters?(e.openBlock(),e.createElementBlock("div",Ue,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(l.value,f=>(e.openBlock(),e.createBlock(q,{id:e.unref(b)(f),colorId:e.unref(P)(f,t.tags)?.color_id??"",name:e.unref(P)(f,t.tags)?.name??"",state:e.unref(b)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[m,n,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),ze=e.defineComponent({__name:"tagSelector",props:e.mergeModels({modelValue:{},tags:{},tagsEditable:{type:Boolean},tagsMax:{default:10},id:{},singleMode:{type:Boolean},requiredForSetter:{type:Boolean,default:!0},maxTagsForSetter:{},emitDelay:{default:500},useTopButton:{type:Boolean,default:!0},styling:{}},{modelValue:{required:!0},modelModifiers:{},tags:{default:e.reactive(Pe)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:a}){const l=y.useI18n(),o=t,d=e.useModel(t,"modelValue"),n=e.useModel(t,"tags"),r=a,c=y.debounce((p,I)=>{r(p,I)},o.emitDelay);o.singleMode&&!d.value.length&&(d.value=[n.value[0].id]);const m=o.id??"top-popup-id-"+Math.random(),f=e.ref("add"),k=()=>{const p=" "+l.Common.Tags?.toLowerCase(),I=new Map;return I.set("add",{value:"add",title:l.Common.Add+p}),I.set("replace",{value:"replace",title:l.Common.Replace+p}),I.set("delete",{value:"delete",title:l.Common.Delete+p}),I};let i=e.shallowRef({model:d,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(d,()=>{c("selector",d.value)});const v=e.computed(()=>{if(i.value.mode==="setter"&&o.maxTagsForSetter&&!i.value.filters)return i.value.model.value.length>=o.maxTagsForSetter}),u=p=>{if(p!=="all"){if(i.value.model.value.includes(p))return"selected";if(i.value.model.value.includes(de(p)))return"excluded"}return p==="all"&&!i.value.model.value.length?"selected":""},s=(p,I)=>{const S=de(p);let x=i.value.model.value.filter(w=>w!==p&&w!==S);I==="select"&&x.push(p),I==="exclude"&&x.push(S),i.value.mode==="setter"&&i.value.targetId!==void 0&&o.requiredForSetter&&(x.length||x.push("1"),x.length===2&&i.value.model.value.length===1&&i.value.model.value[0]==="1"&&(x=x.filter(w=>w!=="1"))),o.singleMode&&!i.value.filters&&(x.length||(x=i.value.model.value),x.length>1&&(x=[x[x.length-1]])),x.sort((w,z)=>{if(!o.tags)return 0;const G=o.tags.findIndex(L=>L.id===w),K=o.tags.findIndex(L=>L.id===z);return G-K}),i.value.model.value=x,i.value.mode==="setter"&&i.value.targetId!==void 0&&c("setter",{tagsIds:x,targetId:i.value.targetId,payload:i.value.payload})},g=e.computed(()=>{let p="top-tagSelector_popup";return i.value.mode==="filter"&&(p+=" top-tagSelector_popup-filter"),i.value.mode==="setter"&&(p+=" top-tagSelector_popup-setter"),p}),U=()=>{const p=prompt("","New tag");if(!p||p==="New tag")return;const I=n.value.length+1;n.value.push({id:String(I),name:p,color_id:String((I-1)%10+1)}),r("tagsChanged",n.value)},N=p=>{if(i.value=A.storage(p.elPopupOpener,"topTagSelectorTarget"),!i.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(i.value.filters&&(f.value="add",i.value.model.value=[]),!y.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!y.Core.state.isMobile&&!y.Core.state.isMobileUA&&n.value&&$(p.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(I,S){if(!n.value)return;const x=$(S.item).parent().find("[data-tag_id]"),w=[];x.each((z,G)=>{if(!n.value)return;const K=$(G).attr("data-tag_id");w.push(K)}),n.value.sort((z,G)=>{const K=w.findIndex(Z=>Z===z.id),L=w.findIndex(Z=>Z===G.id);return K-L}),c("tagsChanged",n.value)}})},We=p=>{y.Core.$?.ui.sortable&&$(p.elPopup).data("ui-sortable")&&$(p.elPopup).sortable("destroy")};return(p,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ce,{modelValue:d.value,"onUpdate:modelValue":I[0]||(I[0]=S=>d.value=S),id:e.unref(m),tags:n.value,styling:t.styling,mode:"filter",useTopButton:t.useTopButton},null,8,["modelValue","id","tags","styling","useTopButton"]),e.createVNode(V._sfc_main,{id:e.unref(m),class:e.normalizeClass(g.value),onOpen:I[4]||(I[4]=S=>N(S)),onClose:I[5]||(I[5]=S=>We(S)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(i).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(ue,{key:0,id:"all",colorId:"",name:p.$i18n.Common.All_tags??"",state:e.unref(i).model.value.length?"":"selected",onSelect:I[3]||(I[3]=S=>e.unref(i).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,S=>(e.openBlock(),e.createBlock(ue,{key:S.id,id:S.id,colorId:S.color_id,name:S.name,state:u(S.id),canExclude:e.unref(i).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:v.value&&u(S.id)==="",onUnselect:x=>s(S.id,"unselect"),onSelect:x=>s(S.id,"select"),onExclude:x=>s(S.id,"exclude"),"onUpdate:name":x=>{S.name=x,e.unref(c)("tagsChanged",n.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),t.tagsEditable&&n.value.length<t.tagsMax&&n.value.length<20?(e.openBlock(),e.createBlock(V._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(U,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$10,{modelValue:f.value,"onUpdate:modelValue":I[1]||(I[1]=S=>f.value=S),options:k()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(y._sfc_main$1,{onClick:I[2]||(I[2]=S=>e.unref(c)("setter",{tagsIds:e.unref(i).model.value,filters:e.unref(i).filters,filtersAction:f.value,payload:e.unref(i).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.value==="add"?p.$i18n.Common.Add:"")+" "+e.toDisplayString(f.value==="replace"?p.$i18n.Common.Replace:"")+" "+e.toDisplayString(f.value==="delete"?p.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});B.TopCompetitorSelector=pe,B.TopGroupSelector=Re,B.TopRegionSelector=Me,B.TopTagSelector=ze,B.TopTagSelectorPopupOpener=ce,B.TopTagSelectorTagIcon=q,B.dialogRegionSelector=ne,B.findRegion=le,B.genElTopTagSelectorPopupOpener=je,B.genSearcherByKey=Y,B.renderElTopTagSelectorPopupOpener=De,B.useItemsFromCompetitors=he,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","vue","../.chunks/forms-5kyvfFWk.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-UWG1HThl.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-wadPmRcv.amd","../.chunks/utils-BucP1niE.amd","../utils/searchers.amd","../.chunks/core-BU07MKNB.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-Df2_666l.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(se,B,e,y,V,C,fe,W,Je,Ye,H,A,ge){"use strict";if(typeof e>"u")var e=window.Vue;const me={class:"top-competitorSelector"},ve={class:"top-ellipsis1"},pe=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=e.computed(()=>{if(a.showSelectAllItem)return{icon:"",title:y.useI18n().Common.Select_all,value:"all",content:""}});return(d,n)=>(e.openBlock(),e.createElementBlock("div",me,[e.unref(y.Core).state.isMobile?(e.openBlock(),e.createBlock(V._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{class:"top-competitorSelector_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.items.find(r=>r.value===l.value?.[0])?.content),1)]),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,r=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-active":l.value?.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>l.value=[r.value]},{default:e.withCtx(()=>[e.createElementVNode("span",ve,e.toDisplayString(r.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(C._sfc_main$1,{key:1,modelValue:l.value,"onUpdate:modelValue":n[0]||(n[0]=r=>l.value=r),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:o.value},null,8,["modelValue","items","selectAllItem"]))]))}}),he=(t,a)=>e.computed(()=>e.toValue(t).filter(d=>d.on>=0||d.id===a).map(d=>({value:d.id,title:d.url+` [${d.id}]`,icon:d.id===e.toValue(a)?"":"",content:d.name}))),T=-1,h=-2,O=-1,ye={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},_={key:h,name:"--",index:h},ee={key:h,name:"--",regions:[_],regionByIndex:new Map([[h,_]])},R={key:h,name:"Autoselect",index:h},J={key:h,name:"Autoselect",regions:[R],regionByIndex:new Map([[h,R]])},te={countryCode:"00",depth:1,device:0,key:O,index:O,lang:"ru",name:"Without region"},Ie=()=>(R.name=y.useI18n().Common.Autoselect,R),Se=()=>(Ie(),J.name=y.useI18n().Common.Autoselect,console.log(J),J),ke=()=>(te.name=y.useI18n().Keywords.Without_region,te),Y=(t=!1,a=!1,l=[])=>{let o;return t?o=xe(l):o=oe(l),a&&o.set(h,Se()),o.size||o.set(h,ee),o},oe=(t,a=!0,l=[],o=!1)=>{const d=new Map;return t.forEach(n=>{if(!n.enabled||o&&typeof n.key=="number"&&n.key>1)return;const r={...n};r.regionByIndex=new Map,n.regions&&n.regions.forEach(c=>{if(a&&!c.enabled)return;const m={...c};r.regionByIndex.set(m.index,m)}),!r.regionByIndex.size&&l.length,(!n.regions||r.regionByIndex.size||l.length)&&d.set(r.key,r)}),l.forEach(n=>{if(d.has(n))return;const r={key:n,name:ye[n],regions:[],regionByIndex:new Map};d.set(r.key,r)}),d},xe=t=>{const a=oe(t,!1,[0,1],!0);if(a.has(2)){const l=a.get(2);l&&(l.regionByIndex=new Map)}return a.forEach(l=>{if(!l.regionByIndex)return;const o={...ke()};l.regionByIndex.set(o.index,o)}),a},le=(t,a,l=[])=>{const o=Y(t,!1,l);let d;return o.forEach(n=>{if(!(a.searcher_key!==void 0&&a.searcher_key!=n.key)&&n.regions&&(n.regions.forEach(r=>{if(!d&&!(a.key!==void 0&&a.key!=r.key)&&!(a.index!==void 0&&a.index!=r.index)&&!(!t&&(a.lang!==void 0&&a.lang!=r.lang||a.device!==void 0&&a.device!=r.device)))return r.searcher_key=n.key,d=r,!1}),d))return!1}),d},ne=fe.useAsyncTopDialog(()=>new Promise((t,a)=>se(["../.chunks/dialog_regionSelectorRegions-rIKWHsar.amd"],t,a))),Be=(t,a)=>{const l=y.useI18n(),o=e.ref(a.value.keys().next().value??h),d=e.computed(()=>{const n=new Map;if(a.value.forEach(r=>{let c={value:r.key,title:r.name};t.addSearcherIcon&&(c.icon=W.getSearcherGIcon(r.key)),n.set(r.key,c)}),t.addCompare&&!n.has(h)){const r={value:"",title:"--------------------",disabled:!0};n.set(r.value,r);const c={value:T,title:l.Common.Compare};n.set(c.value,c)}return n});return{searcherKey:o,optionBySearcherKey:d}},Ce=(t,a)=>{const l=y.useI18n(),o=e.ref(h);t.modelValue.length===1&&(o.value=t.modelValue[0]),o.value===h&&(t.forFrequency?o.value=a.value?.regionByIndex.values().next().value?.key??h:o.value=a.value?.regionByIndex.keys().next().value??h);const d=e.computed(()=>{const n=new Map;return a.value.regionByIndex?.forEach(r=>{let c=r.name;if(t.forFrequency){const k={value:r.key,title:c};n.has(r.key)||n.set(r.key,k);return}r.device&&(c+=" ("+l.Common["Device_"+r.device]+")");const m=W.getLangLabel(a.value.key||0,r.lang??"");m&&(c+=" / "+m);const f={value:r.index,title:c,icon:r.device?W.getDeviceGIcon(r.device):void 0};n.set(r.index,f)}),n});return e.watch(d,(n,r)=>{if(t.onlySearcher||o.value!==void 0&&n.get(o.value))return;let c=n.keys().next().value;if(o.value===h||c===h){o.value=c;return}let m=r?.get(o.value)?.title||"",f=-1;for(const[k,i]of n.entries()){const v=i.title;if(typeof v!="string"||typeof k=="string")break;if(v===m){c=k;break}const u=new RegExp(` \\((${l.Common.Device_1}|${l.Common.Device_2})\\)`);let s=m,g=3;v.indexOf(s)===-1&&(s=m.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),s=s.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)!==-1&&(g<=f||(f=g,c=k))}o.value=c}),{regionIndex:o,optionByRegionIndex:d}},we=(t,a,l)=>{const o=e.ref([]),d=()=>{if(t.onlySearcher&&a.value){o.value=Array.from(a.value.keys());return}let r=[];if(t.modelValue.length>1)r=[...t.modelValue];else try{r=JSON.parse(localStorage.getItem("ui:project:regionSelector"+t.projectId+":regionsIndexes"))??[]}catch{}r.length&&(r=r.filter(c=>l.value.has(c))),r.length||(r=Array.from(l.value)),o.value=[...r]},n=()=>{o.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(o.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(o,()=>{n()}),t.addCompare&&d(),{regionsIndexes:o}},Te=t=>{const a=e.computed(()=>Y(t.forFrequency,t.autoRegion,t.searchers)),l=e.computed(()=>a.value.get(d.searcherKey.value)||ee),o=e.computed(()=>{const i=new Set;return a.value.forEach(v=>{v.regionByIndex.forEach(u=>{u.index!==O&&u.index!==h&&i.add(u.index)})}),i}),d=Be(t,a),n=Ce(t,l),r=we(t,a,o);e.watch(a,()=>{if(t.onlySearcher?r.regionsIndexes.value=Array.from(a.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(v=>o.value.has(v)),d.searcherKey.value===T)return;let i=a.value.keys().next().value;a.value.forEach(v=>{if(t.onlySearcher&&v.key===d.searcherKey.value){i=d.searcherKey.value;return}if(n.regionIndex.value&&v.regionByIndex?.has(n.regionIndex.value)&&(i=v.key),!t.onlySearcher){let u;i!==void 0&&(u=a.value.get(i)?.regionByIndex);const s=a.value.get(v.key)?.regionByIndex;u?.has(h)&&!s?.has(h)&&(i=v.key)}}),i!==void 0&&(d.searcherKey.value=i),n.regionIndex.value!==void 0&&!l.value?.regionByIndex?.has(n.regionIndex.value)&&(n.regionIndex.value=l.value?.regions?.keys().next().value)},{immediate:!0});const c=()=>{if(!(d.searcherKey.value===T||d.searcherKey.value===h))return d.searcherKey.value},m=()=>{if(t.onlySearcher||n.regionIndex.value===h)return;let i=n.regionIndex.value;if(t.forFrequency){const v=n.regionIndex.value;i=le(t.forFrequency,{searcher_key:c(),key:v},t.searchers)?.index}return i},f=()=>{const i=c();if(i!==void 0)return a.value.get(i)};return{selectSearcher:d,selectRegion:n,compare:r,searcherByKey:a,allRegionsIndexes:o,getSearcher:f,getRegion:()=>{const i=m();if(i!==void 0)return f()?.regionByIndex?.get(i)}}},Me=e.defineComponent({__name:"regionSelector",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forFrequency:{type:Boolean},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:["update:modelValue","update:modelValueSingle"],setup(t,{expose:a}){const l=t,o=e.useModel(t,"modelValue"),d=e.useModel(t,"modelValueSingle"),{selectSearcher:n,selectRegion:r,compare:c,searcherByKey:m,allRegionsIndexes:f,getSearcher:k,getRegion:i}=Te(l),v=()=>{const u=[];m.value.forEach(s=>{s.enabled&&s.regions.forEach(g=>{g.enabled&&u.push(g)})}),ne.open("regions",{regions:u,regionsIndexes:c.regionsIndexes.value,"@update:regionsIndexes":s=>c.regionsIndexes.value=s})};return e.watch([r.regionIndex,n.searcherKey,c.regionsIndexes],()=>{if(n.searcherKey.value===T&&c.regionsIndexes.value.length){if(JSON.stringify(o.value)===JSON.stringify(c.regionsIndexes.value))return;o.value=[...c.regionsIndexes.value]}else l.onlySearcher?(o.value=[n.searcherKey.value],n.searcherKey.value===h&&!l.autoRegion&&(o.value.length=0)):(o.value=[r.regionIndex.value],r.regionIndex.value===h&&!l.autoRegion&&(o.value.length=0));!l.onlySearcher&&!f.value.size&&(n.searcherKey.value=h)}),d.value&&e.watch(d,()=>{d.value&&(o.value=[d.value])},{immediate:!0}),e.watch(o,()=>{if(o.value[0]&&(d.value=o.value[0]),l.onlySearcher){if(!o.value.length||o.value.length===1&&!m.value.has(o.value[0])||o.value.length===1&&o.value[0]===h&&!l.autoRegion){let u=m.value.keys().next().value;u===h&&!l.autoRegion&&(u=void 0,d.value=h),u!==void 0?o.value=[u]:o.value.length=0;return}if(o.value.length>1&&JSON.stringify(o.value)!==JSON.stringify(c.regionsIndexes.value)){o.value=[...c.regionsIndexes.value];return}}else{let u=[...new Set(o.value)],s=m.value.values().next().value?.regionByIndex?.keys().next().value;if(l.forFrequency&&(s=m.value.values().next().value?.regionByIndex?.values().next().value?.key),s===h&&!l.autoRegion&&(s=void 0,d.value=h),!u.length)s!==void 0&&u.push(s);else if(u.length===1){let g=f.value;l.forFrequency&&(g=new Set,m.value.forEach(U=>{U.regionByIndex.forEach(N=>{N.index!==O&&N.index!==h&&g.add(N.key)})})),g.has(u[0])||(u=[],s!==void 0&&u.push(s))}else u=u.filter(g=>f.value.has(g)),!u.length&&s!==void 0&&u.push(s);if(JSON.stringify(o.value)!==JSON.stringify(u)){o.value=u;return}}if(!(o.value.length===1&&o.value[0]===(l.onlySearcher?n.searcherKey.value:r.regionIndex.value)))if(l.onlySearcher){if(o.value.length===1){n.searcherKey.value=o.value[0];return}n.searcherKey.value=T;return}else{if(!o.value.length)return;if(o.value.length===1&&n.searcherKey.value!==T){r.regionIndex.value=o.value[0];let u;for(const s of m.value.values()){for(const g of s.regionByIndex.values())if((l.forFrequency?g.key:g.index)===r.regionIndex.value){u=s.key;break}if(u!==void 0)break}u!==void 0&&(n.searcherKey.value=u)}else n.searcherKey.value=T,c.regionsIndexes.value=[...o.value]}},{immediate:!0}),a({getSearcher:k,getRegion:i}),(u,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":t.onlySearcher})},[e.createVNode(y._sfc_main$10,{options:e.unref(n).optionBySearcherKey.value,modelValue:e.unref(n).searcherKey.value,"onUpdate:modelValue":s[0]||(s[0]=g=>e.unref(n).searcherKey.value=g),name:"searcher_key",addChanger:t.addChanger},null,8,["options","modelValue","addChanger"]),!t.onlySearcher&&e.unref(n).searcherKey.value!==e.unref(T)?(e.openBlock(),e.createBlock(y._sfc_main$10,{key:0,class:"top-select-region",options:e.unref(r).optionByRegionIndex.value,modelValue:e.unref(r).regionIndex.value,"onUpdate:modelValue":s[1]||(s[1]=g=>e.unref(r).regionIndex.value=g),name:t.forFrequency?"region_key":"region_index",addChanger:t.addChanger,"data-top-icon":t.addRegionIcon?"":void 0},null,8,["options","modelValue","name","addChanger","data-top-icon"])):e.createCommentVNode("",!0),t.addCompare&&!t.onlySearcher&&e.unref(n).searcherKey.value===e.unref(T)?(e.openBlock(),e.createBlock(y._sfc_main$1,{key:1,name:"compare",onClick:v,"data-count-compare-regions-indexes":e.unref(c).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),M={id:0,name:"/",path:"/"};function Ve(t){return t?y.useI18n()?.Common.All_folders:"/ ("+y.useI18n()?.Keywords.Root_folder+")"}const Q=(t,a,l=new Map,o={id:"root"},d=0)=>(o.childsIds=[],o.id&&(o.countAllGroupsActive=o.count_groups_active),t[o.id]&&t[o.id].forEach(n=>{n={...n},o.childsIds.push(n.id),n.id===0&&(n.name=Ve(a));const r=d>1?"-".repeat(d-1)+" ":"";r&&!n.name.startsWith(r)&&(n.name=r+n.name),l.set(n.id,n),Q(t,a,l,n,d+1),o.childsIds=o.childsIds.concat(n.childsIds),o.id&&n.count_groups_active&&(o.countAllGroupsActive+=n.count_groups_active)}),l),Ae=t=>t.gen("/get/keywords_2/folders/",["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function X(t,a,l){const o=Object.keys(t),d=o.map(n=>t[n]);return e.watch(d,(n,r,c)=>{const m={};n.forEach((f,k)=>{if(!Object.is(f,r[k])){const i=o[k];m[i]={old:r[k],new:f}}}),Object.keys(m).length&&a(m,c)},l)}const Ee=e.defineComponent({__name:"folders",props:e.mergeModels({folderId:{},folder:{},folders:{},projectId:{},canSelectAll:{type:Boolean},addChanger:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{default:M},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const a=t,l=e.useModel(t,"folderId"),o=e.useModel(t,"folder"),d=a.client&&!a.folders?Ae(a.client):void 0,n=e.ref(null);e.watch(()=>a.projectId,()=>{d?.changeParams({project_id:a.projectId}),d?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+a.projectId}),n.value?.resetCache()},{immediate:!0});const r=e.computed(()=>Q(a.folders??{root:[M]},a.canSelectAll));return X({modelFolder:o,modelFolderId:l},async c=>{if(l.value===o.value.id)return;if(c.modelFolder&&!c.modelFolderId){l.value=o.value.id;return}let m=r.value.get(a.folderId);m||(m=M),o.value=m,l.value=m.id},{immediate:!0}),(c,m)=>(e.openBlock(),e.createBlock(C._sfc_main,{class:"top-groupSelector_folder",modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=f=>o.value=f),items:t.folders?[...r.value.values()]:void 0,"search-type":"inline",icon:t.addIcon?"":void 0,api:t.folders?void 0:e.unref(d),apiSetSearchParams:(...f)=>e.unref(C.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),j={id:-1,name:"--",folder_id:M.id,folder_path:M.path},D={id:C.ITEM_ID_ALL,name:"All groups",folder_id:M.id,folder_path:M.path},E=()=>(D.name=y.useI18n()?.Common.All_groups,D),ae=()=>(D.name=y.useI18n()?.Keywords.Choose_group,D),be=(t,a,l)=>(t=[...t],a!==void 0&&(t=t.filter(o=>o.on==Number(a))),l&&l.id&&l.childsIds&&(t=t.filter(o=>o.folder_id===l.id||l.childsIds.includes(o.folder_id))),t),re=t=>t.gen("/get/keywords_2/groups/",["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),$e=t=>t.gen("/add/keywords_2/groups/"),Ne={class:"top-groupSelector_groupItem"},Ge={key:0,class:"top-comment"},Ke={key:1,class:"top-groupSelector_groupItemFolderPath"},Le=e.defineComponent({__name:"groups",props:e.mergeModels({groupId:{},group:{},projectId:{},folder:{},groups:{},on:{type:Boolean,default:void 0},canAdd:{type:[String,Boolean]},canSelectAll:{type:[Boolean,String]},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showPath:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{}},{groupId:{required:!0},groupIdModifiers:{},group:{required:!0},groupModifiers:{}}),emits:e.mergeModels(["addGroup"],["update:groupId","update:group"]),setup(t,{emit:a}){const l=t,o=a,d=e.useModel(t,"groupId"),n=e.useModel(t,"group"),r=l.client&&!l.groups?re(l.client):void 0,c=l.client?$e(l.client):void 0,m=e.ref(null),f=e.ref(void 0),k=H.genFieldFilter("folder_id","EQUALS",[l.folder?.id??0]);r?.changeParams({project_id:l.projectId,folder_id_depth:!0,filters:[k]}),l.on!==void 0&&r?.params.filters?.push(H.genFieldFilter("on","EQUALS",[Number(l.on)]));const i=u=>{n.value=u,d.value=u.id};X({projectId:()=>l.projectId,folderId:()=>l.folder?.id,canSelectAll:()=>l.canSelectAll},u=>{if(u.projectId&&(r?.changeParams({project_id:l.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+l.projectId})),u.folderId&&(k.values=[l.folder?.id??0],l.groups&&(f.value=be(l.groups,l.on,l.folder))),m.value?.resetCache(),(u.folderId?.old!==void 0||u.canSelectAll?.old!==void 0)&&d.value!==C.ITEM_ID_NEW){let s;l.autoselect==="first"&&(s=f.value?.[0],l.canSelectAll&&(s=e.reactive(E()))),(l.autoselect==="placeholder"||!s)&&(s=ae()),i(s)}},{immediate:!0}),X({modelGroup:n,modelGroupId:d},async u=>{if(d.value!==n.value.id){if(u.modelGroup&&!u.modelGroupId){d.value=n.value.id;return}if(!(l.canAdd&&d.value===C.ITEM_ID_NEW)){if(l.groups){let s=f.value?.find(g=>g.id===d.value);if(!s&&l.canSelectAll&&(s=E()),s)i(s);else{const g=f.value?.[0];g&&!d.value?i(g):i(j)}}if(l.client&&!l.groups&&(d.value||d.value===C.ITEM_ID_ALL&&!l.canSelectAll)){const s=re(l.client).changeParams({project_id:l.projectId,id:d.value,filters:[k]});s?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+l.projectId});const g=await s.call();if(!g.errors?.length&&!g.result)return;!g.errors&&g.result[0]?i(g.result[0]):i(j)}}}},{immediate:!0});const v=async u=>{if(l.canAdd!=="api"||!c)return;const s=n.value,g=await c.changeParams({project_id:l.projectId,names:[u.name],to_id:l.folder?.id??M.id,to_type:"in_folder_last"}).call();g.result?(i(g.result),o("addGroup",g.result)):i(s),m.value?.resetCache(!0)};return(u,s)=>(e.openBlock(),e.createBlock(C._sfc_main,{ref_key:"refSelector",ref:m,class:"top-groupSelector_group",modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=g=>n.value=g),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(r),apiSetSearchParams:(...g)=>e.unref(C.apiSetSearchParamsFilter)(...g,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(E)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:v},{item:e.withCtx(({item:g})=>[e.createElementVNode("div",Ne,[g.id===e.unref(C.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Ge,e.toDisplayString(u.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(g.name),1),g.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Ke,e.toDisplayString(g.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),Oe={class:"top-groupSelector"},Re=e.defineComponent({__name:"groupSelector",props:e.mergeModels({folderId:{},folder:{},groupId:{},group:{},projectId:{},folders:{},groups:{},on:{type:Boolean,default:void 0},canSelectAllGroups:{type:Boolean},canAddGroup:{},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showFolders:{type:Boolean,default:!0},showGroups:{type:Boolean,default:!0},addIcon:{type:Boolean,default:!0},client:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{},folderModifiers:{},groupId:{required:!0},groupIdModifiers:{},group:{default:j},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:a}){const l=t,o=e.useModel(t,"folderId"),d=e.useModel(t,"folder"),n=e.useModel(t,"groupId"),r=e.useModel(t,"group"),c=a,m=Q(l.folders??{root:[M]},l.canSelectAllGroups);d.value=m.get(o.value);let f=l.groups?.find(i=>i.id===n.value);n.value||(f=l.groups?.[0]),l.canSelectAllGroups&&!f&&(f=E()),l.canSelectAllGroups&&!f&&(f=E()),(l.autoselect==="placeholder"||!f)&&(f=ae()),f??=j,r.value=f;const k=i=>{let v;l.groups&&i&&(v=[...l.groups,i]),c("update:groups",v)};return(i,v)=>(e.openBlock(),e.createElementBlock("div",Oe,[t.showFolders?(e.openBlock(),e.createBlock(Ee,{key:0,folderId:o.value,"onUpdate:folderId":v[0]||(v[0]=u=>o.value=u),folder:d.value,"onUpdate:folder":v[1]||(v[1]=u=>d.value=u),projectId:t.projectId,folders:t.folders,canSelectAll:t.canSelectAllGroups,addChanger:t.addChanger,addIcon:t.addIcon,client:t.client},null,8,["folderId","folder","projectId","folders","canSelectAll","addChanger","addIcon","client"])):e.createCommentVNode("",!0),t.showGroups?(e.openBlock(),e.createBlock(Le,{key:1,groupId:n.value,"onUpdate:groupId":v[2]||(v[2]=u=>n.value=u),group:r.value,"onUpdate:group":v[3]||(v[3]=u=>r.value=u),projectId:t.projectId,folder:d.value,groups:t.groups,on:t.on,canAdd:t.canAddGroup,canSelectAll:t.canSelectAllGroups,autoselect:t.autoselect,addChanger:t.addChanger,showPath:t.showFolders&&!!t.folders?.[0],addIcon:t.addIcon,client:t.client,onAddGroup:k},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client"])):e.createCommentVNode("",!0)]))}}),de=t=>"-"+t,b=t=>t[0]==="-"?t.substring(1):t,P=(t,a)=>{t=b(t);const l=a.find(o=>o.id===t);if(l)return l},je=(t,a,l)=>{a||(a={id:t.id}),a.id=t.id,a.pos??="3",a.notch??=!0,a.posBy??="fixed";const o=ge.TopPopupWorker.genElPopupOpener("div",a);return o.classList.add("top-tagSelector"),t.useTopButton&&o.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||o.classList.add("top-tagSelector-custom"),t.mode==="filter"&&o.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&o.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&o.classList.add("top-tagSelector-setter_several"),o.onclick=d=>{d.preventDefault(),d.stopPropagation(),o.onclick=null;const n=e.ref(t.modelValue),r={model:n,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};A.storage(o,"topTagSelectorTarget",r),delete o.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(n,()=>{t.modelValue=n.value,F(o,t,l)}),o.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>F(o,t,l)):A.storage(o,"topTagSelectorRender",d=>{t.modelValue=d;const n=A.storage(o,"topTagSelectorTarget");n&&(n.model.value=d),F(o,t,l)}),F(o,t,l),o},De=(t,a)=>{A.storage(t,"topTagSelectorRender")?.(a)},F=(t,a,l)=>{const o=e.unref(a.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!o.length||o.length===1),t.classList.toggle("top-tagSelector-toTwoLine",o.length>5),a.mode==="setter"&&a.filters){t.innerHTML=`<div>${l}</div>`;return}if(t.innerHTML="",!o.length&&a.mode==="filter"){const d=ie({id:"all",colorId:"",name:y.useI18n().Common?.All_tags??"",state:""});t.append(d)}o.forEach(d=>{const n=ie({id:b(d),colorId:P(d,a.tags)?.color_id??"",name:P(d,a.tags)?.name??"",state:b(d)===d?"selected":"excluded"});t.append(n)})},ie=t=>{const a=document.createElement("div");return a.classList.add("top-tagSelector_tagIcon"),a.classList.toggle("top-tagSelector-active",!!t.state),a.classList.toggle("top-tagSelector-excluded",t.state==="excluded"),a.dataset.tag_id=t.id,a.dataset.tag_color_id=t.colorId,a.title=t.name,a},Pe=[{id:"1",name:"Without Tag",color_id:"1"},{id:"2",name:"Red",color_id:"2"},{id:"3",name:"Orange",color_id:"3"},{id:"4",name:"Yellow",color_id:"4"},{id:"5",name:"Blue",color_id:"5"},{id:"6",name:"Purple",color_id:"6"},{id:"7",name:"Green",color_id:"7"},{id:"8",name:"Magenta",color_id:"8"},{id:"9",name:"Dark blue",color_id:"9"},{id:"10",name:"Turquoise",color_id:"10"}],Fe=["data-tag_id","data-tag_color_id","title"],q=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(a,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tagSelector_tagIcon":!0,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),"data-tag_id":t.id,"data-tag_color_id":t.colorId,title:t.name},null,10,Fe))}}),qe=["contenteditable","onKeydown"],ue=e.defineComponent({__name:"tagPopupListItem",props:e.mergeModels({editable:{type:Boolean},disabled:{type:Boolean},canExclude:{type:Boolean},id:{},colorId:{},name:{},state:{}},{name:{required:!0},nameModifiers:{}}),emits:e.mergeModels(["update:name","unselect","exclude","select"],["update:name"]),setup(t,{emit:a}){const l=t,o=a,d=e.useModel(t,"name"),n=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:c.value,onpaste:v=>v.preventDefault()}:{}),c=e.ref(!1),m=async()=>{c.value=!0,await e.nextTick(),n.value?.focus()},f=()=>{const v=n.value?.innerText;if(!v)return k();n.value&&(n.value.innerText=v),c.value=!1,o("update:name",v)},k=async()=>{n.value&&(n.value.innerText=l.name),c.value=!1},i=v=>{if(c.value||l.disabled)return;let u="selected";l.canExclude&&(v.ctrlKey||v.metaKey)&&(u="excluded"),l.state==u&&(u=""),u===""&&o("unselect"),u==="selected"&&o("select"),u==="excluded"&&o("exclude")};return(v,u)=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":c.value,"top-tagSelector_tagListItem-disabled":t.disabled,"top-tagSelector_tagListItem-canExclude":t.canExclude,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),onClick:e.withModifiers(i,["stop"])},{default:e.withCtx(()=>[e.createVNode(q,{id:t.id,name:d.value,colorId:t.colorId,state:t.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:n,class:"top-tagSelector_tagListItemName",contenteditable:c.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(k,["stop"]),["esc"])]}),e.toDisplayString(d.value),17,qe),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(f,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:m}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),Ue={key:1},ce=e.defineComponent({inheritAttrs:!1,__name:"popupOpener",props:e.mergeModels({modelValue:{},id:{},tags:{},mode:{},targetId:{},filters:{},useTopButton:{type:Boolean},payload:{},styling:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=a.useTopButton?y._sfc_main$1:"div",d=a.useTopButton?"html":"default",n={model:l,mode:a.mode,targetId:a.targetId,filters:a.filters,payload:a.payload};return(r,c)=>{const m=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(V._sfc_main$1,{id:t.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-useTopButton":a.useTopButton,"top-tagSelector-custom":!a.useTopButton,"top-as-selector":a.useTopButton,"top-tagSelector-filter":a.mode==="filter","top-tagSelector-setter_single":a.mode==="setter"&&!t.filters,"top-tagSelector-setter_several":a.mode==="setter"&&t.filters,"top-tagSelector-selectedOne":!l.value.length||l.value.length===1,"top-tagSelector-toTwoLine":l.value.length>5},color:"theme",styling:t.styling},r.$attrs),{[e.unref(d)]:e.withCtx(()=>[!l.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(q,{key:0,id:"all",colorId:"",name:r.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),t.mode==="setter"&&t.filters?(e.openBlock(),e.createElementBlock("div",Ue,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(l.value,f=>(e.openBlock(),e.createBlock(q,{id:e.unref(b)(f),colorId:e.unref(P)(f,t.tags)?.color_id??"",name:e.unref(P)(f,t.tags)?.name??"",state:e.unref(b)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[m,n,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),ze=e.defineComponent({__name:"tagSelector",props:e.mergeModels({modelValue:{},tags:{},tagsEditable:{type:Boolean},tagsMax:{default:10},id:{},singleMode:{type:Boolean},requiredForSetter:{type:Boolean,default:!0},maxTagsForSetter:{},emitDelay:{default:500},useTopButton:{type:Boolean,default:!0},styling:{}},{modelValue:{required:!0},modelModifiers:{},tags:{default:e.reactive(Pe)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:a}){const l=y.useI18n(),o=t,d=e.useModel(t,"modelValue"),n=e.useModel(t,"tags"),r=a,c=y.debounce((p,I)=>{r(p,I)},o.emitDelay);o.singleMode&&!d.value.length&&(d.value=[n.value[0].id]);const m=o.id??"top-popup-id-"+Math.random(),f=e.ref("add"),k=()=>{const p=" "+l.Common.Tags?.toLowerCase(),I=new Map;return I.set("add",{value:"add",title:l.Common.Add+p}),I.set("replace",{value:"replace",title:l.Common.Replace+p}),I.set("delete",{value:"delete",title:l.Common.Delete+p}),I};let i=e.shallowRef({model:d,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(d,()=>{c("selector",d.value)});const v=e.computed(()=>{if(i.value.mode==="setter"&&o.maxTagsForSetter&&!i.value.filters)return i.value.model.value.length>=o.maxTagsForSetter}),u=p=>{if(p!=="all"){if(i.value.model.value.includes(p))return"selected";if(i.value.model.value.includes(de(p)))return"excluded"}return p==="all"&&!i.value.model.value.length?"selected":""},s=(p,I)=>{const S=de(p);let x=i.value.model.value.filter(w=>w!==p&&w!==S);I==="select"&&x.push(p),I==="exclude"&&x.push(S),i.value.mode==="setter"&&i.value.targetId!==void 0&&o.requiredForSetter&&(x.length||x.push("1"),x.length===2&&i.value.model.value.length===1&&i.value.model.value[0]==="1"&&(x=x.filter(w=>w!=="1"))),o.singleMode&&!i.value.filters&&(x.length||(x=i.value.model.value),x.length>1&&(x=[x[x.length-1]])),x.sort((w,z)=>{if(!o.tags)return 0;const G=o.tags.findIndex(L=>L.id===w),K=o.tags.findIndex(L=>L.id===z);return G-K}),i.value.model.value=x,i.value.mode==="setter"&&i.value.targetId!==void 0&&c("setter",{tagsIds:x,targetId:i.value.targetId,payload:i.value.payload})},g=e.computed(()=>{let p="top-tagSelector_popup";return i.value.mode==="filter"&&(p+=" top-tagSelector_popup-filter"),i.value.mode==="setter"&&(p+=" top-tagSelector_popup-setter"),p}),U=()=>{const p=prompt("","New tag");if(!p||p==="New tag")return;const I=n.value.length+1;n.value.push({id:String(I),name:p,color_id:String((I-1)%10+1)}),r("tagsChanged",n.value)},N=p=>{if(i.value=A.storage(p.elPopupOpener,"topTagSelectorTarget"),!i.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(i.value.filters&&(f.value="add",i.value.model.value=[]),!y.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!y.Core.state.isMobile&&!y.Core.state.isMobileUA&&n.value&&$(p.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(I,S){if(!n.value)return;const x=$(S.item).parent().find("[data-tag_id]"),w=[];x.each((z,G)=>{if(!n.value)return;const K=$(G).attr("data-tag_id");w.push(K)}),n.value.sort((z,G)=>{const K=w.findIndex(Z=>Z===z.id),L=w.findIndex(Z=>Z===G.id);return K-L}),c("tagsChanged",n.value)}})},We=p=>{y.Core.$?.ui.sortable&&$(p.elPopup).data("ui-sortable")&&$(p.elPopup).sortable("destroy")};return(p,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ce,{modelValue:d.value,"onUpdate:modelValue":I[0]||(I[0]=S=>d.value=S),id:e.unref(m),tags:n.value,styling:t.styling,mode:"filter",useTopButton:t.useTopButton},null,8,["modelValue","id","tags","styling","useTopButton"]),e.createVNode(V._sfc_main,{id:e.unref(m),class:e.normalizeClass(g.value),onOpen:I[4]||(I[4]=S=>N(S)),onClose:I[5]||(I[5]=S=>We(S)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(i).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(ue,{key:0,id:"all",colorId:"",name:p.$i18n.Common.All_tags??"",state:e.unref(i).model.value.length?"":"selected",onSelect:I[3]||(I[3]=S=>e.unref(i).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,S=>(e.openBlock(),e.createBlock(ue,{key:S.id,id:S.id,colorId:S.color_id,name:S.name,state:u(S.id),canExclude:e.unref(i).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:v.value&&u(S.id)==="",onUnselect:x=>s(S.id,"unselect"),onSelect:x=>s(S.id,"select"),onExclude:x=>s(S.id,"exclude"),"onUpdate:name":x=>{S.name=x,e.unref(c)("tagsChanged",n.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),t.tagsEditable&&n.value.length<t.tagsMax&&n.value.length<20?(e.openBlock(),e.createBlock(V._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(U,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$10,{modelValue:f.value,"onUpdate:modelValue":I[1]||(I[1]=S=>f.value=S),options:k()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(y._sfc_main$1,{onClick:I[2]||(I[2]=S=>e.unref(c)("setter",{tagsIds:e.unref(i).model.value,filters:e.unref(i).filters,filtersAction:f.value,payload:e.unref(i).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.value==="add"?p.$i18n.Common.Add:"")+" "+e.toDisplayString(f.value==="replace"?p.$i18n.Common.Replace:"")+" "+e.toDisplayString(f.value==="delete"?p.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});B.TopCompetitorSelector=pe,B.TopGroupSelector=Re,B.TopRegionSelector=Me,B.TopTagSelector=ze,B.TopTagSelectorPopupOpener=ce,B.TopTagSelectorTagIcon=q,B.dialogRegionSelector=ne,B.findRegion=le,B.genElTopTagSelectorPopupOpener=je,B.genSearcherByKey=Y,B.renderElTopTagSelectorPopupOpener=De,B.useItemsFromCompetitors=he,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=project.amd.js.map
@@ -7,10 +7,10 @@ import { defineComponent as R, mergeModels as V, useModel as T, computed as M, c
7
7
  import { u as w, C as z, e as Q, q as ce, d as ze } from "../.chunks/forms-DEsHjY-0.es.js";
8
8
  import { _ as we, b as ve, a as Je } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-guremyYn.es.js";
9
9
  import { a as We, _ as Me, b as Ee, c as $e, I as ue } from "../.chunks/policy.vue_vue_type_style_index_0_lang-CVsH8JB8.es.js";
10
- import { u as _e } from "../.chunks/utils-DRfbeSbp.es.js";
10
+ import { u as _e } from "../.chunks/utils-Bt_5Z9fu.es.js";
11
11
  import { getSearcherGIcon as Ye, getLangLabel as Qe, getDeviceGIcon as He } from "../utils/searchers.js";
12
- import "../.chunks/core-K4bH_ECg.es.js";
13
- import "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BvTKl5Jh.es.js";
12
+ import "../.chunks/core-07tvmSiH.es.js";
13
+ import "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-sZYnDnel.es.js";
14
14
  import { g as Se } from "../.chunks/field-CyyFzM-Y.es.js";
15
15
  import { storage as W } from "../utils/dom.js";
16
16
  import { TopPopupWorker as Xe } from "../popup/worker.js";
@@ -166,7 +166,7 @@ const Ze = { class: "top-competitorSelector" }, et = { class: "top-ellipsis1" },
166
166
  }), r))
167
167
  return !1;
168
168
  }), r;
169
- }, it = _e(() => import("../.chunks/dialog_regionSelectorRegions-DKgB9isw.es.js")), dt = (e, a) => {
169
+ }, it = _e(() => import("../.chunks/dialog_regionSelectorRegions-BJ_DPIOR.es.js")), dt = (e, a) => {
170
170
  const o = w(), t = K(a.value.keys().next().value ?? y), r = M(() => {
171
171
  const l = /* @__PURE__ */ new Map();
172
172
  if (a.value.forEach((n) => {
@@ -43,7 +43,7 @@ export declare class AsyncTopDialogHandle<T extends TopDialogComponent> {
43
43
  */
44
44
  destroy(...args: Parameters<TopDialogHandle<T>['close']>): Promise<void>;
45
45
  /**
46
- * Устанвоить props
46
+ * Установить props
47
47
  *
48
48
  * Полностью сбрасывается состояние props
49
49
  */
@@ -9,10 +9,10 @@ declare function __VLS_template(): {
9
9
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
10
  declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
11
11
  close: (pageName: string) => any;
12
- open: (pageName: string) => any;
12
+ open: (pageName: string, args: string[]) => any;
13
13
  }, string, PublicProps, Readonly<Props> & Readonly<{
14
14
  onClose?: ((pageName: string) => any) | undefined;
15
- onOpen?: ((pageName: string) => any) | undefined;
15
+ onOpen?: ((pageName: string, args: string[]) => any) | undefined;
16
16
  }>, {
17
17
  width: string;
18
18
  height: string;
@@ -43,8 +43,10 @@ export interface Props {
43
43
  export type Emits = {
44
44
  /**
45
45
  * Диалоговое окно было открыто
46
+ *
47
+ * @see ElTopDialog
46
48
  */
47
- open: [pageName: string];
49
+ open: [pageName: string, args: string[]];
48
50
  /**
49
51
  * Диалоговое окно было закрыто
50
52
  */
@@ -31,7 +31,20 @@ export type ElTopDialog = HTMLElement & {
31
31
  getAttribute: (qualifiedName: 'id') => string;
32
32
  closest: (el: '.ui-dialog') => ElTopDialogWrapper;
33
33
  dataset: {
34
+ /**
35
+ * Имя активной страницы
36
+ */
34
37
  viewPageActive: string;
38
+ /**
39
+ * Аргументы активной страницы
40
+ *
41
+ * Для передачи параметров диалогового окна по прямой ссылке, в отличие от props не реактивны и используются только в `@open`
42
+ *
43
+ * Список любых значений, разделенных двоеточием
44
+ *
45
+ * @see import('../dialog/types').Emits - Доступно в `@open`
46
+ */
47
+ args: string;
35
48
  };
36
49
  };
37
50
  export type ElTopDialogBody = HTMLElement;
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-5kyvfFWk.amd","../.chunks/core-oHW-Zz83.amd","vue","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-DHHrY6uR.amd"],(function(b,c,g,f,r,d){"use strict";if(typeof r>"u")var r=window.Vue;const s={0:"Yandex",20:"Yandex.com",21:"Yandex.com.tr",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GooglePlay",101:"VK",102:"Facebook",103:"Twitter"},t=a=>{let e="";switch(typeof a=="string"&&(a=Number(a)),a){case 0:e="";break;case 20:case 21:e="";break;case 1:e="";break;case 2:e="";break;case 3:e="";break;case 4:e="";break;case 5:e="";break;case 6:e="";break;case 7:e="";break;case 8:e="";break;case 9:e="";break;case null:e="";break}return e},n=a=>{let e="";switch(typeof a=="string"&&(a=Number(a)),a%10){case 0:e="";break;case 1:e="";break;case 2:e="";break}return e},i=(a,e)=>{switch(typeof a=="string"&&(a=Number(a)),a*1){case 1:case 4:case 5:case 6:case 8:case 9:return e}return""},u=(a,e,k)=>{switch(e*1){case 0:switch(k*1){case 2:a=`"${a}"`;break;case 3:a=`"!${a}"`;break;case 5:a=`"[${a}]"`;break;case 6:a=`"[!${a}]"`;break}break;case 1:a=`[${a}]`;break}return a},o=(a,e)=>{switch(e===null&&(e=6),a){case 1:e=3;break;case 2:e=2;break;case 5:e>1&&(e=1);break;default:[1,2,3,5,6].includes(e)||(e=3)}return e};c.genVolumeLabel=u,c.getDeviceGIcon=n,c.getLangLabel=i,c.getSearcherGIcon=t,c.prepareVolumeType=o,c.searchersNames=s,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/forms-5kyvfFWk.amd","../.chunks/core-BU07MKNB.amd","vue","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-Df2_666l.amd"],(function(b,c,g,f,r,d){"use strict";if(typeof r>"u")var r=window.Vue;const s={0:"Yandex",20:"Yandex.com",21:"Yandex.com.tr",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GooglePlay",101:"VK",102:"Facebook",103:"Twitter"},t=a=>{let e="";switch(typeof a=="string"&&(a=Number(a)),a){case 0:e="";break;case 20:case 21:e="";break;case 1:e="";break;case 2:e="";break;case 3:e="";break;case 4:e="";break;case 5:e="";break;case 6:e="";break;case 7:e="";break;case 8:e="";break;case 9:e="";break;case null:e="";break}return e},n=a=>{let e="";switch(typeof a=="string"&&(a=Number(a)),a%10){case 0:e="";break;case 1:e="";break;case 2:e="";break}return e},i=(a,e)=>{switch(typeof a=="string"&&(a=Number(a)),a*1){case 1:case 4:case 5:case 6:case 8:case 9:return e}return""},u=(a,e,k)=>{switch(e*1){case 0:switch(k*1){case 2:a=`"${a}"`;break;case 3:a=`"!${a}"`;break;case 5:a=`"[${a}]"`;break;case 6:a=`"[!${a}]"`;break}break;case 1:a=`[${a}]`;break}return a},o=(a,e)=>{switch(e===null&&(e=6),a){case 1:e=3;break;case 2:e=2;break;case 5:e>1&&(e=1);break;default:[1,2,3,5,6].includes(e)||(e=3)}return e};c.genVolumeLabel=u,c.getDeviceGIcon=n,c.getLangLabel=i,c.getSearcherGIcon=t,c.prepareVolumeType=o,c.searchersNames=s,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=searchers.amd.js.map
@@ -1,7 +1,7 @@
1
1
  import "../.chunks/forms-DEsHjY-0.es.js";
2
- import "../.chunks/core-K4bH_ECg.es.js";
2
+ import "../.chunks/core-07tvmSiH.es.js";
3
3
  import "vue";
4
- import "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BvTKl5Jh.es.js";
4
+ import "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-sZYnDnel.es.js";
5
5
  const k = {
6
6
  0: "Yandex",
7
7
  20: "Yandex.com",