{"version":3,"sources":["webpack:///./src/hooks/faq/useFaq.ts","webpack:///./src/components/Table/ts/AppTable.vue?3110","webpack:///./src/components/AppTabs/AppTabsHead.vue?5985","webpack:///./src/components/AppTabs/AppTabsHead.vue","webpack:///./src/components/AppTabs/AppTabsHead.vue?5c40","webpack:///./src/components/ui/Modal/Dialog/TabsDialog.vue?6d58","webpack:///./src/components/ui/Modal/Dialog/TabsDialog.vue","webpack:///./src/components/ui/Modal/Dialog/TabsDialog.vue?3673","webpack:///./src/hooks/layout/useBaseAppLayout.ts","webpack:///./src/components/ui/FileUploader.vue?5a65","webpack:///./src/components/ui/Modal/Dialog/instances/DeleteBrandDialog.vue?a021","webpack:///./src/components/Table/ts/AppTableController.vue?256b","webpack:///./src/components/ui/AvatarUpload.vue?ef9c","webpack:///./src/hooks/faq/useFaqLocalizations.ts","webpack:///./src/components/ui/Modal/Dialog/instances/DeleteBrandDialog.vue","webpack:///./src/components/ui/Modal/Dialog/instances/DeleteBrandDialog.vue?6e4f","webpack:///./src/hooks/localizations/useLocalizations.ts","webpack:///./src/components/ui/FullscreenLoader.vue?476d","webpack:///./src/hooks/locations/new/modules/location.update.ts","webpack:///./src/components/ui/AvatarUpload.vue?06db","webpack:///./src/components/ui/FileUploader.vue?5b3c","webpack:///./src/components/ui/FileUploader.vue","webpack:///./src/components/ui/FileUploader.vue?63a5","webpack:///./src/components/ui/AvatarUpload.vue","webpack:///./src/components/ui/AvatarUpload.vue?d7b0","webpack:///./src/components/AppTabs/AppTabsBody.vue","webpack:///./src/components/AppTabs/AppTabsBody.vue?2274","webpack:///./src/components/AppTabs/AppTabsBody.vue?b891","webpack:///./src/components/Form/AppCheckbox.vue","webpack:///./src/components/Form/AppCheckbox.vue?4e8c","webpack:///./src/components/ui/FullscreenLoader.vue","webpack:///./src/components/ui/FullscreenLoader.vue?125f","webpack:///./src/api/interfaces/users/users.dto.ts","webpack:///./src/components/AppTabs/AppTabsHead.vue?03c7","webpack:///./src/utills/files/fileRender.js","webpack:///./src/components/Table/ts/AppTableController.vue?9f0f","webpack:///./src/components/ui/EmptyBlock.vue?d590","webpack:///./src/components/ui/EmptyBlock.vue","webpack:///./src/components/ui/EmptyBlock.vue?ef71","webpack:///./src/components/Table/ts/AppTableController.vue","webpack:///./src/components/Table/ts/AppTableController.vue?c280","webpack:///./src/components/Table/ts/AppTable.vue?6cc7","webpack:///./src/components/Table/ts/AppTable.vue","webpack:///./src/components/Table/ts/AppTable.vue?6edd","webpack:///./src/views/faq/Categories.vue?4a16","webpack:///./src/components/Table/ts/instances/categories/CategoriesTable.vue?167d","webpack:///./src/components/Table/ts/instances/categories/CategoriesTable.vue","webpack:///./src/components/Table/ts/instances/categories/CategoriesTable.vue?7c0d","webpack:///./src/components/ui/Modal/Dialog/instances/CategoryModal.vue?df75","webpack:///./src/components/ui/Modal/Dialog/instances/CategoryModal.vue","webpack:///./src/components/ui/Modal/Dialog/instances/CategoryModal.vue?e967","webpack:///./src/views/faq/Categories.vue","webpack:///./src/views/faq/Categories.vue?a000","webpack:///./src/hooks/tables/modules/usersTable/useCreateUser.ts","webpack:///./src/hooks/tables/modules/usersTable/useDeleteUser.ts","webpack:///./src/hooks/tables/modules/usersTable/usersTable.ts","webpack:///./src/components/Table/ts/AppTableController.vue?74d1","webpack:///./src/assets/icons/avatar-placeholder.svg","webpack:///./src/components/ui/AvatarUpload.vue?4048","webpack:///./src/components/Form/AppCheckbox.vue?dd1f","webpack:///./src/components/ui/FileUploader.vue?f8ec","webpack:///./src/components/ui/Modal/Dialog/instances/DeleteBrandDialog.vue?6ee3","webpack:///./src/components/ui/EmptyBlock.vue?05e3","webpack:///./src/components/ui/FullscreenLoader.vue?a1d2","webpack:///./src/components/Table/ts/AppTable.vue?a52f"],"names":["useFaq","options","viewConfiguration","selectedTab","store","useStore","categoriesToSelect","categories","map","el","id","name","title","selected","async","requestQuestionHandler","dispatch","success","message","query","requestCategoriesHandler","changeViewConfigurationHandler","page","perPage","removeQuestion","editQuestion","reqData","data","addQuestion","categoryId","category","addEditCategory","dataCategory","method","active","file","removeCategory","_hoisted_1","ref","class","_hoisted_2","_hoisted_3","_hoisted_4","render","_ctx","_cache","$props","$setup","$data","$options","_component_SortButton","_resolveComponent","_openBlock","_createElementBlock","style","_normalizeStyle","margin","_createVNode","_Transition","default","_withCtx","_createElementVNode","_normalizeClass","showPrevButton","onClick","$event","scrollToHandler","_","showNextButton","_Fragment","_renderList","tabs","tab","idx","key","modelValue","selectTabHandler","_toDisplayString","defineComponent","components","SortButton","props","type","Number","Array","required","Boolean","emits","setup","emit","scrollItems","scrollController","scrollContent","scrollControllerWidth","scrollContentWidth","scrollCount","scrollTimeout","setTimeout","watch","value","count","scroll","top","left","behavior","immediate","scrollable","computed","resizeHandler","link","contentRect","width","controllerResizeObserver","ResizeObserver","contentResizeObserver","setScrollItem","item","includes","nextTick","push","onScrollHandler","clearTimeout","scrollLeft","direction","onMounted","observe","getBoundingClientRect","addEventListener","onBeforeUnmount","disconnect","removeEventListener","__exports__","_component_AppTabsHead","_component_AppTabsBody","_component_Dialog","_createBlock","_mergeProps","$attrs","opened","onHide","hide","selectedTabIdx","tabsHead","_createCommentVNode","_renderSlot","$slots","AppTabsBody","AppTabsHead","Dialog","inheritAttrs","this","$emit","methods","mapFilterOptions","selectedIdx","option","useBaseAppLayout","initialSearchQuery","filterOptions","initialSelectedFilterOptionIdx","onFiltersChange","onChangeSearchQuery","searchQuery","filter","reactive","Function","watchable","forEach","selectedFilterOption","find","searchHandler","target","onFilterSelect","module","exports","useAboutLocalizations","localizationList","localizations","useLocalizations","fetchFaqLocalization","faqRecordId","mapFaq","faqLocalization","localization","matchingLocalization","localizationItem","description","localizationId","startEditing","saveLocalization","editData","cleanLocalizationData","use-header","size","src","alt","_hoisted_5","_hoisted_6","_component_AppButton","loading","_hoisted_7","AppButton","photo","String","isShow","avatar","initialLocalization","short_name","full_name","icon","layoutRefs","requestLocalizationsHandler","getters","totalLocalizationsCount","totalLocalizations","modalActionLoading","updateModalOpened","deletePageOpened","editId","Object","assign","all","saveIcon","action","updatedLocation","payload","images","isImage","res","updateLocalization","api","editLocalization","saveUpdates","createLocalization","endUpdating","onDeleteConfirm","removeLocalization","cId","l","setModalLoading","listTypes","initialLocation","smallImage","bigImage","isoCode","popular","titleSEO","descriptionSEO","keywords","initialSavedLocations","countries","subregions","image","updateLocation","ctx","baseLoading","baseLocationsLoading","location","savedLocation","selectedList","localSelectedList","changeList","notExtendedCountries","notExtendedSubregions","selecetdListChangeHandler","newCountry","newSubregion","length","changeListChangeHandler","locations","prev","removedFromChangeList","some","isExist","list","fullLocation","isEnabledByServer","editLocation","locationTypeSingle","createLocation","finally","deep","modalLoading","getSelectedLocations","Promise","listType","locationType","locationId","then","catch","startAddLocation","mapLocalization","locationLocalization","fetchLocationLocalization","currentLocation","locationsList","changedLocations","locationChildType","locationParentType","requestLocations","setLocation","toggleSelectedLocation","inChangesList","enabledByServer","deleteLocation","_component_FileUploader","placeholder","accept","onFileChanged","format","_component_svg_icon","hidden","onChange","args","uploadHandler","for","renderedPreview","SvgIcon","fileChanged","previewUrl","require","evtTarget","files","fileRender","FileUploader","File","validator","d","indexOf","TAB_DURATION","HEIGHT_DURATION","animate","prevSelectedIdx","rootEl","activeTabHeight","resizeObserver","activeTabContent","tabDuration","rootElDuration","loaded","processTimeout","currentTabHeight","heightAlreadySet","handler","height","setRootElHeight","current","unobserve","box","prevIdx","overflow","undefined","mounted","$nextTick","created","beforeUnmount","unmounted","duration","onComplete","gsap","to","delay","beforeAppear","set","autoAlpha","xPercent","beforeEnter","enter","done","easing","leave","root","concat","children","c","isArray","h","Transition","css","appear","onAppear","onBeforeEnter","onEnter","onLeave","_component_SvgIcon","inheritProps","model","label","isDelay","localChecked","checkHandler","checked","clickHandler","preventDefault","stopPropagation","_component_AppPreloader","AppPreloader","x","userTypes","resolve","reject","reader","FileReader","onload","result","readAsDataURL","_component_FullscreenLoader","_component_BtnContent","_component_EmptyBlock","tableLoad","mode","useLoader","tableLoading","appLoading","showTable","emptyIcon","emptyText","fullscreen","_createSlots","emptyButtonText","fn","iconColor","button","BtnContent","EmptyBlock","FullscreenLoader","emptyKey","emptyButtonClick","loadTimeout","getTableLoad","mapGetters","_component_AppTableBodyCell","_component_TableRow","_component_AppTableLayout","tableHead","paginationCaptureKey","totalRows","currentPage","withMoreMenu","spaceBetween","withFooter","onSort","arg","onChangeViewConfiguration","conf","mappedRows","actions","withAction","status","cells","bgStatus","content","componentName","componentContent","cellProps","params","hideButton","rightAlign","onEditItem","editItem","onDeleteItem","deleteItem","onSelectData","selectData","tableStatuses","verified","unverified","blocked","AppTableLayout","AppTableBodyCell","TableRow","tableBody","changeViewConfiguration","sort","updatedBodyRows","row","cell","mapTableRowsToTableContent","_component_PageMainHeading","_component_CategoryTable","_component_AppTableController","_component_CategoryModal","_component_DeleteBrandDialog","editingCategory","categoryList","onEmptyButtonClick","totalAccountsCount","sortConfig","onRemovingCategory","removingCategory","onEditingCategory","isLoading","createCategoryOpened","cleanData","onCancel","onSubmit","actionWithCategory","onSaveLocalization","saveLocalizationHandler","deleteCategoryOpened","onConfirm","_component_AppTable","rows","totalRowsCount","DeletingInfo","EditingInfo","changeSorting","AppTable","toggleBlock","delete","byName","toRefs","initialSortOptions","order","sortOrders","turnOff","keyName","categoriesList","tableRefs","useBaseTable","initialViewConfiguration","generateRows","badge","badgeTypes","lightSecondary","danger","userActions","onViewConfigurationChanged","currentSort","updatedConfiguration","info","_component_AvatarUpload","_component_AppInput","_component_AppInputsValidationProvider","_component_AppCheckbox","_component_TabsDialog","_withModifiers","fileUpload","onChangeErrorState","isChecked","disabled","disabledButton","submit","_createTextVNode","localizationsList","AppCheckbox","AppInput","AvatarUpload","TabsDialog","AppInputsValidationProvider","buttonText","canCancel","buttonTextUpdated","categoryName","isPasswordTouch","valid","isEditCategory","isCreateCategory","details","error","DeleteBrandDialog","CategoryModal","PageMainHeading","CategoryTable","AppTableController","useFaqLocalizations","useUserTable","totalCategories","editText","asc","categoryItem","useCreateUser","creationLoading","createUserDialogOpened","onCreateSubmitResolved","setOnCreateSubmitResolved","onResolve","showCreateUserDialog","extra","user","onUserCreated","userInfo","userId","useDeleteUser","deleteUserDialogOpened","deleteUserLoading","selectedUser","email","selectUserToDelete","userList","fullName","onUserDelete","creationData","deleteData"],"mappings":"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","file":"js/categories.851970b4.js","sourcesContent":["import { httpMethodType, IBaseQuery } from \"@/api/interfaces/IApi\";\r\nimport { useStore } from \"vuex\";\r\nimport { ITableViewConfiguration } from \"@/components/Table/ts/interfaces/common\";\r\nimport { ICategories } from \"@/api/interfaces/categories/ICategories\";\r\nimport { IQuestions } from \"@/api/interfaces/questions/IQuestions\";\r\nimport { EditData } from \"@/components/ui/Modal/Dialog/instances/CategoryModal.vue\";\r\n\r\nexport type useBaseAppLayoutOptions = {\r\n viewConfiguration: IBaseQuery;\r\n selectedTab: { id: number | null };\r\n};\r\n\r\nexport interface categoriesData {\r\n id: number;\r\n selected: boolean;\r\n name: string;\r\n}\r\n\r\ninterface editDeviceData {\r\n title: string;\r\n active: boolean;\r\n brand?: string;\r\n icon?: string;\r\n id?: number;\r\n}\r\n\r\nexport function useFaq(options: useBaseAppLayoutOptions) {\r\n const { viewConfiguration, selectedTab } = options;\r\n const store = useStore();\r\n\r\n function categoriesToSelect(categories: ICategories[]): categoriesData[] {\r\n return categories.map(el => ({\r\n id: el.id,\r\n name: el.title,\r\n selected: false\r\n }));\r\n }\r\n async function requestQuestionHandler(): Promise {\r\n await store.dispatch(\"setAppLoading\", true);\r\n const { success, message } = await store.dispatch(\"fetchQuestionList\", {\r\n query: viewConfiguration,\r\n id: selectedTab.id\r\n });\r\n\r\n if (!success) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n await store.dispatch(\"setAppLoading\", false);\r\n }\r\n async function requestCategoriesHandler(): Promise {\r\n await store.dispatch(\"setAppLoading\", true);\r\n\r\n const { success, message } = await store.dispatch(\"fetchCategoriesList\", {\r\n query: viewConfiguration\r\n });\r\n if (!success) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n\r\n await store.dispatch(\"setAppLoading\", false);\r\n }\r\n\r\n function changeViewConfigurationHandler({\r\n page,\r\n perPage\r\n }: ITableViewConfiguration): void {\r\n if (\r\n page === viewConfiguration.page &&\r\n perPage !== viewConfiguration.perPage\r\n ) {\r\n viewConfiguration.page = 1;\r\n } else {\r\n viewConfiguration.page = page;\r\n }\r\n\r\n viewConfiguration.perPage = perPage;\r\n }\r\n async function removeQuestion(id: number): Promise {\r\n await store.dispatch(\"setAppLoading\", true);\r\n\r\n const { success, message } = await store.dispatch(\"removeQuestion\", { id });\r\n\r\n if (!success) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n await store.dispatch(\"setAppLoading\", false);\r\n return success;\r\n }\r\n\r\n async function editQuestion(reqData: IQuestions): Promise {\r\n const { id, ...data } = reqData;\r\n const { success, message } = await store.dispatch(\"editQuestion\", {\r\n data,\r\n id\r\n });\r\n\r\n if (!success) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n\r\n await store.dispatch(\"setAppLoading\", false);\r\n return success;\r\n }\r\n\r\n async function addQuestion(data: IQuestions): Promise {\r\n const { success, message } = await store.dispatch(\"addQuestion\", {\r\n data: {\r\n categoryId: data.category,\r\n ...data\r\n }\r\n });\r\n\r\n if (!success) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n\r\n await store.dispatch(\"setAppLoading\", false);\r\n return success;\r\n }\r\n\r\n async function addEditCategory(\r\n dataCategory: EditData,\r\n method: httpMethodType\r\n ): Promise {\r\n await store.dispatch(\"setAppLoading\", true);\r\n const { active, title, id } = dataCategory;\r\n const { success, message } = await store.dispatch(\"addEditCategory\", {\r\n data: { active, title },\r\n method,\r\n file: dataCategory.file,\r\n id\r\n });\r\n\r\n if (!success) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n\r\n await store.dispatch(\"setAppLoading\", false);\r\n return success;\r\n }\r\n\r\n async function removeCategory(id: number): Promise {\r\n await store.dispatch(\"setAppLoading\", true);\r\n\r\n const { success, message } = await store.dispatch(\"removeCategory\", { id });\r\n\r\n if (!success) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n\r\n await store.dispatch(\"setAppLoading\", false);\r\n return success;\r\n }\r\n return {\r\n editQuestion,\r\n addQuestion,\r\n removeQuestion,\r\n categoriesToSelect,\r\n changeViewConfigurationHandler,\r\n requestQuestionHandler,\r\n requestCategoriesHandler,\r\n addEditCategory,\r\n removeCategory\r\n };\r\n}\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AppTable.vue?vue&type=style&index=0&id=30198167&lang=scss\"","import { resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, Transition as _Transition, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0e3ca560\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n ref: \"scrollController\",\n class: \"app-tabs__head app-tabs__head__scroll_controller\"\n}\nconst _hoisted_2 = {\n ref: \"scrollContent\",\n class: \"app-tabs__head__scroll_content d-flex\"\n}\nconst _hoisted_3 = [\"onClick\"]\nconst _hoisted_4 = { class: \"app-tabs__head__button__content\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_SortButton = _resolveComponent(\"SortButton\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"app-tabs__head_wrapper\",\n style: _normalizeStyle({\r\n 'margin-left': _ctx.margin ? '20px' : '0'\r\n })\n }, [\n _createVNode(_Transition, { name: \"x-left\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-controller-control scroll-controller-control--left\", {\r\n active: _ctx.showPrevButton\r\n }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.scrollToHandler('backward')))\n }, [\n _createVNode(_component_SortButton, {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.scrollToHandler('backward')))\n })\n ], 2)\n ]),\n _: 1\n }),\n _createVNode(_Transition, { name: \"x-right\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-controller-control\", {\r\n active: _ctx.showNextButton\r\n }]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.scrollToHandler('forward')))\n }, [\n _createVNode(_component_SortButton, {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.scrollToHandler('forward')))\n })\n ], 2)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tabs, (tab, idx) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: idx,\n class: _normalizeClass([\"app-tabs__head__button\", { active: _ctx.modelValue === idx }]),\n onClick: ($event: any) => (_ctx.selectTabHandler(idx))\n }, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(tab), 1)\n ], 10, _hoisted_3))\n }), 128))\n ], 512)\n ], 512)\n ], 4))\n}","\r\nimport {\r\n defineComponent,\r\n nextTick,\r\n onBeforeUnmount,\r\n onMounted,\r\n PropType,\r\n ref,\r\n Ref,\r\n watch\r\n} from \"vue\";\r\nimport { computed } from \"@vue/reactivity\";\r\nimport SortButton from \"../ui/SortButton.vue\";\r\n\r\nexport default defineComponent({\r\n name: \"AppTabsHead\",\r\n components: { SortButton },\r\n props: {\r\n modelValue: {\r\n type: Number,\r\n default: 0\r\n },\r\n tabs: {\r\n type: Array as PropType,\r\n required: true\r\n },\r\n margin: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n emits: [\"update:modelValue\"],\r\n setup(props, { emit }) {\r\n const scrollItems: Ref = ref([]);\r\n const scrollController: Ref = ref(null);\r\n const scrollContent: Ref = ref(null);\r\n const scrollControllerWidth = ref(0);\r\n const scrollContentWidth = ref(0);\r\n\r\n const scrollCount = ref(0);\r\n const scrollTimeout = ref(setTimeout(() => {}));\r\n\r\n watch(\r\n () => scrollCount.value,\r\n count => {\r\n if (scrollController.value) {\r\n scrollController.value.scroll({\r\n top: 0,\r\n left: count,\r\n behavior: \"smooth\"\r\n });\r\n }\r\n },\r\n { immediate: true }\r\n );\r\n\r\n const scrollable = computed(\r\n () => scrollControllerWidth.value < scrollContentWidth.value\r\n );\r\n const showPrevButton = computed(() => {\r\n return scrollCount.value > 10;\r\n });\r\n\r\n const showNextButton = computed(() => {\r\n return (\r\n scrollable &&\r\n scrollCount.value <\r\n scrollContentWidth.value - scrollControllerWidth.value - 15\r\n );\r\n });\r\n\r\n function resizeHandler(link: Ref) {\r\n return ([{ contentRect }]: ResizeObserverEntry[]) => {\r\n link.value = contentRect.width;\r\n };\r\n }\r\n\r\n const controllerResizeObserver = new ResizeObserver(\r\n resizeHandler(scrollControllerWidth)\r\n );\r\n\r\n const contentResizeObserver = new ResizeObserver(\r\n resizeHandler(scrollContentWidth)\r\n );\r\n\r\n onMounted(() => {\r\n nextTick(() => {\r\n if (scrollController.value) {\r\n controllerResizeObserver.observe(scrollController.value);\r\n scrollControllerWidth.value = scrollController.value.getBoundingClientRect().width;\r\n scrollController.value.addEventListener(\"scroll\", onScrollHandler);\r\n }\r\n\r\n if (scrollContent.value) {\r\n contentResizeObserver.observe(scrollContent.value);\r\n scrollContentWidth.value = scrollContent.value.getBoundingClientRect().width;\r\n }\r\n });\r\n });\r\n\r\n onBeforeUnmount(() => {\r\n contentResizeObserver.disconnect();\r\n contentResizeObserver.disconnect();\r\n scrollController.value &&\r\n scrollController.value.removeEventListener(\"scroll\", onScrollHandler);\r\n });\r\n\r\n function setScrollItem(item: HTMLElement) {\r\n if (!item || scrollItems.value.includes(item)) return;\r\n nextTick(() => {\r\n scrollItems.value.push(item);\r\n });\r\n }\r\n\r\n function onScrollHandler() {\r\n clearTimeout(scrollTimeout.value);\r\n\r\n scrollTimeout.value = setTimeout(() => {\r\n if (scrollController.value) {\r\n scrollCount.value = scrollController.value.scrollLeft;\r\n }\r\n }, 100);\r\n }\r\n\r\n function scrollToHandler(direction: \"forward\" | \"backward\") {\r\n if (direction === \"forward\") {\r\n scrollCount.value = scrollCount.value + 300;\r\n return;\r\n }\r\n\r\n scrollCount.value = scrollCount.value - 300;\r\n }\r\n\r\n return {\r\n setScrollItem,\r\n showPrevButton,\r\n showNextButton,\r\n scrollToHandler,\r\n scrollContentWidth,\r\n scrollControllerWidth,\r\n scrollController,\r\n scrollContent,\r\n scrollCount,\r\n selectTabHandler(idx: number) {\r\n emit(\"update:modelValue\", idx);\r\n }\r\n };\r\n }\r\n});\r\n","import { render } from \"./AppTabsHead.vue?vue&type=template&id=0e3ca560&scoped=true&ts=true\"\nimport script from \"./AppTabsHead.vue?vue&type=script&lang=ts\"\nexport * from \"./AppTabsHead.vue?vue&type=script&lang=ts\"\n\nimport \"./AppTabsHead.vue?vue&type=style&index=0&id=0e3ca560&scoped=true&lang=scss\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0e3ca560\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, withCtx as _withCtx, createElementBlock as _createElementBlock, mergeProps as _mergeProps } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AppTabsHead = _resolveComponent(\"AppTabsHead\")!\n const _component_AppTabsBody = _resolveComponent(\"AppTabsBody\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, _mergeProps(_ctx.$attrs, {\n key: 1,\n opened: _ctx.opened,\n onHide: _ctx.hide\n }), {\n \"modal-tabs\": _withCtx(() => [\n (_ctx.opened)\n ? (_openBlock(), _createBlock(_component_AppTabsHead, {\n key: 2,\n modelValue: _ctx.selectedTabIdx,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedTabIdx) = $event)),\n tabs: _ctx.tabsHead\n }, null, 8, [\"modelValue\", \"tabs\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.opened)\n ? (_openBlock(), _createBlock(_component_AppTabsBody, {\n key: 3,\n \"selected-tab-idx\": _ctx.modelValue\n }, {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"selected-tab-idx\"]))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n (_ctx.$slots['modal-button'])\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _renderSlot(_ctx.$slots, \"modal-button\")\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16, [\"opened\", \"onHide\"]))\n}","\r\nimport { defineComponent, PropType } from \"vue\";\r\nimport Dialog from \"@/components/ui/Modal/Dialog/Dialog.vue\";\r\nimport AppTabsHead from \"@/components/AppTabs/AppTabsHead.vue\";\r\nimport AppTabsBody from \"@/components/AppTabs/AppTabsBody.vue\";\r\nimport { ITab } from \"@/store/interfaces/common\";\r\n\r\nexport default defineComponent({\r\n name: \"TabsDialog\",\r\n components: { AppTabsBody, AppTabsHead, Dialog },\r\n inheritAttrs: false,\r\n\r\n props: {\r\n opened: { type: Boolean, default: false },\r\n tabs: {\r\n type: Array as PropType,\r\n required: true\r\n },\r\n\r\n modelValue: {\r\n type: Number,\r\n default: 0\r\n }\r\n },\r\n emits: [\"hide\", \"update:modelValue\"],\r\n data() {\r\n return {\r\n selectedTabIdx: this.modelValue\r\n };\r\n },\r\n\r\n computed: {\r\n tabsHead() {\r\n return this.tabs.map(({ title }: ITab) => title);\r\n }\r\n },\r\n\r\n watch: {\r\n selectedTabIdx(idx) {\r\n if (idx === this.modelValue) return;\r\n this.$emit(\"update:modelValue\", idx);\r\n },\r\n\r\n modelValue(idx) {\r\n if (idx === this.selectedTabIdx) return;\r\n this.selectedTabIdx = idx;\r\n }\r\n },\r\n\r\n methods: {\r\n hide() {\r\n this.$emit(\"hide\");\r\n }\r\n }\r\n});\r\n","import { render } from \"./TabsDialog.vue?vue&type=template&id=ca6aecaa&ts=true\"\nimport script from \"./TabsDialog.vue?vue&type=script&lang=ts\"\nexport * from \"./TabsDialog.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { ComputedRef, reactive, ref, Ref, watch } from \"vue\";\r\nimport { computed } from \"@vue/reactivity\";\r\n\r\nexport type pageFilter = {\r\n name: string;\r\n id: string;\r\n selected: boolean;\r\n};\r\n\r\nexport type useBaseAppLayoutOptions = {\r\n initialSearchQuery?: string;\r\n filterOptions?: string[];\r\n initialSelectedFilterOptionIdx?: number;\r\n onFiltersChange?: () => void;\r\n onChangeSearchQuery?: () => void;\r\n};\r\n\r\nexport interface IUseBaseAppLayout {\r\n filter: pageFilter[];\r\n selectedFilterOption: ComputedRef;\r\n searchQuery: Ref;\r\n\r\n searchHandler: (evt: Event) => void;\r\n onFilterSelect: (id: string) => void | Promise;\r\n}\r\n\r\nfunction mapFilterOptions(\r\n options: string[],\r\n selectedIdx: number | undefined = 0\r\n): pageFilter[] {\r\n return options.map(\r\n (option: string, idx: number): pageFilter => ({\r\n name: option,\r\n id: option,\r\n selected: idx === selectedIdx\r\n })\r\n );\r\n}\r\n\r\nexport function useBaseAppLayout(\r\n options: useBaseAppLayoutOptions\r\n): IUseBaseAppLayout {\r\n const {\r\n initialSearchQuery = \"\",\r\n filterOptions,\r\n initialSelectedFilterOptionIdx,\r\n onFiltersChange,\r\n onChangeSearchQuery\r\n } = options;\r\n\r\n const searchQuery: Ref = ref(initialSearchQuery);\r\n let filter: pageFilter[] | null = null;\r\n\r\n if (filterOptions) {\r\n filter = reactive(\r\n mapFilterOptions(filterOptions, initialSelectedFilterOptionIdx)\r\n );\r\n }\r\n\r\n if (onFiltersChange instanceof Function) {\r\n const watchable = [searchQuery, filter];\r\n\r\n watchable.forEach((ref: any, idx: number) => {\r\n watch(ref, () => {\r\n if (idx === 0 && onChangeSearchQuery) {\r\n onChangeSearchQuery();\r\n }\r\n\r\n onFiltersChange();\r\n });\r\n });\r\n }\r\n\r\n return {\r\n filter: filter || [],\r\n searchQuery,\r\n selectedFilterOption: computed(() => {\r\n if (!filter) {\r\n return null;\r\n }\r\n\r\n return filter.find(({ selected }) => !!selected) || null;\r\n }),\r\n\r\n searchHandler: ({ target }: Event) => {\r\n if (target) {\r\n searchQuery.value = (target as HTMLInputElement).value;\r\n }\r\n },\r\n\r\n onFilterSelect: (id: string): void => {\r\n if (filter) {\r\n filter.forEach((option: pageFilter) => {\r\n option.selected = option.id === id;\r\n });\r\n }\r\n }\r\n };\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./FileUploader.vue?vue&type=style&index=0&id=a15c207c&lang=scss\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bgColor\":\"#f5f6fa\",\"fontColor\":\"#333\",\"lightColor\":\"#fff\",\"primaryColor\":\"#2f80ed\",\"successColor\":\"#27ae60\",\"warningColor\":\"#f2994a\",\"warningLightColor\":\"#fef5ed\",\"dangerColor\":\"#eb5757\",\"dangerLightColor\":\"#fdefef\",\"darkBackgroundColor\":\"rgba(0,0,0,.1)\",\"activeMenuItemGradient\":\"linear-gradient(0deg, #F3F4F8, #F3F4F8)\",\"gradientPrimaryLight\":\"linear-gradient(90.25deg, #DFE9F7 1.96%, #F5F6FA 99.73%)\",\"gradientPrimaryLightTransparent\":\"linear-gradient(90.25deg, #DFE9F7 1.96%, #F5F6FA 99.73%)\",\"colIndent\":\"1rem\",\"tableColXxs\":\"4rem\",\"tableColXs\":\"5.2rem\",\"tableColSm\":\"7rem\",\"tableColSmL\":\"9.5rem\",\"tableColMd\":\"11.5rem\",\"tableColLg\":\"18rem\",\"tableColXg\":\"25rem\",\"buttonSizesArray\":\"icon,xs,sm,smL,md-fluid,md,lg,xl,fluid\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bgColor\":\"#f5f6fa\",\"fontColor\":\"#333\",\"lightColor\":\"#fff\",\"primaryColor\":\"#2f80ed\",\"successColor\":\"#27ae60\",\"warningColor\":\"#f2994a\",\"warningLightColor\":\"#fef5ed\",\"dangerColor\":\"#eb5757\",\"dangerLightColor\":\"#fdefef\",\"darkBackgroundColor\":\"rgba(0,0,0,.1)\",\"activeMenuItemGradient\":\"linear-gradient(0deg, #F3F4F8, #F3F4F8)\",\"gradientPrimaryLight\":\"linear-gradient(90.25deg, #DFE9F7 1.96%, #F5F6FA 99.73%)\",\"gradientPrimaryLightTransparent\":\"linear-gradient(90.25deg, #DFE9F7 1.96%, #F5F6FA 99.73%)\",\"colIndent\":\"1rem\",\"tableColXxs\":\"4rem\",\"tableColXs\":\"5.2rem\",\"tableColSm\":\"7rem\",\"tableColSmL\":\"9.5rem\",\"tableColMd\":\"11.5rem\",\"tableColLg\":\"18rem\",\"tableColXg\":\"25rem\",\"buttonSizesArray\":\"icon,xs,sm,smL,md-fluid,md,lg,xl,fluid\"};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AvatarUpload.vue?vue&type=style&index=0&id=e52f561e&lang=scss\"","import { ref } from \"@vue/runtime-core\";\r\nimport { Ref } from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport useLocalizations from \"@/hooks/localizations/useLocalizations\";\r\nimport { ILocalizations } from \"@/api/interfaces/localizations/ILocalizations\";\r\nimport {\r\n IFetchFaqLocalizationData,\r\n IMappedFaqLocalization\r\n} from \"@/api/services/faq/faqLocalizationsTypes\";\r\nimport { useBaseAppLayoutOptions } from \"./useFaq\";\r\n\r\nexport default function useAboutLocalizations(\r\n options: useBaseAppLayoutOptions\r\n) {\r\n const { selectedTab } = options;\r\n const store = useStore();\r\n const localizationList: Ref = ref([]);\r\n const { localizations } = useLocalizations();\r\n\r\n const fetchFaqLocalization = async (faqRecordId: number) => {\r\n const { data } = await store.dispatch(\"fetchFaqLocalizations\", {\r\n faqRecordId,\r\n type: selectedTab?.id ? \"question\" : \"category\"\r\n });\r\n return data;\r\n };\r\n\r\n const mapFaq = (\r\n faqLocalization: IFetchFaqLocalizationData[],\r\n id: number\r\n ): IMappedFaqLocalization[] => {\r\n return localizations.value.map((localization: ILocalizations) => {\r\n const matchingLocalization = faqLocalization?.find(\r\n (localizationItem: any) =>\r\n localizationItem.localization?.id === localization?.id\r\n );\r\n const title = matchingLocalization ? matchingLocalization.title : \"\";\r\n const description = matchingLocalization\r\n ? matchingLocalization.description\r\n : \"\";\r\n return {\r\n ...localization,\r\n id: matchingLocalization?.id || null,\r\n localizationId: localization?.id,\r\n title,\r\n description,\r\n faqRecordId: id || -1\r\n };\r\n });\r\n };\r\n\r\n const startEditing = async (id: number) => {\r\n const faqLocalization: IFetchFaqLocalizationData[] = await fetchFaqLocalization(\r\n id\r\n );\r\n\r\n localizationList.value = mapFaq(faqLocalization, id);\r\n };\r\n\r\n const saveLocalization = async (\r\n localization: IMappedFaqLocalization\r\n ): Promise => {\r\n await store.dispatch(\"setAppLoading\", true);\r\n\r\n const { success, message } = await store.dispatch(\"editFaqLocalization\", {\r\n editData: localization,\r\n type: selectedTab?.id ? \"question\" : \"category\"\r\n });\r\n\r\n if (!success) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n\r\n cleanLocalizationData();\r\n await store.dispatch(\"setAppLoading\", false);\r\n return success;\r\n };\r\n\r\n const cleanLocalizationData = () => {\r\n localizationList.value = [];\r\n };\r\n\r\n return {\r\n localizations,\r\n localizationList,\r\n startEditing,\r\n saveLocalization,\r\n cleanLocalizationData\r\n };\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./DeleteBrandDialog.vue?vue&type=template&id=c07b11c0\"\nimport script from \"./DeleteBrandDialog.vue?vue&type=script&lang=js\"\nexport * from \"./DeleteBrandDialog.vue?vue&type=script&lang=js\"\n\nimport \"./DeleteBrandDialog.vue?vue&type=style&index=0&id=c07b11c0&lang=scss\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { httpMethodType, IBaseQuery } from \"@/api/interfaces/IApi\";\r\nimport { useStore } from \"vuex\";\r\nimport { ITableViewConfiguration } from \"@/components/Table/ts/interfaces/common\";\r\nimport { ICreateLocalizationDto } from \"@/api/services/localizations/localizationsTypes\";\r\nimport { isImage } from \"../locations/new/modules/location.update\";\r\nimport { computed, reactive, ref, watch } from \"vue\";\r\nimport { api } from \"@/api/Api\";\r\nimport { ILocalizations } from \"@/api/interfaces/localizations/ILocalizations\";\r\nimport {\r\n IUseBaseAppLayout,\r\n useBaseAppLayout\r\n} from \"../layout/useBaseAppLayout\";\r\n\r\ninterface editLocalizationData {\r\n id?: number;\r\n short_name?: string;\r\n full_name?: string;\r\n icon?: string;\r\n active?: boolean;\r\n}\r\n\r\nexport default function useLocalizations() {\r\n const store = useStore();\r\n const viewConfiguration: ITableViewConfiguration = reactive({\r\n page: 1,\r\n perPage: 10\r\n });\r\n\r\n const initialLocalization: editLocalizationData = {\r\n id: -1,\r\n short_name: \"\",\r\n full_name: \"\",\r\n icon: \"\",\r\n active: false\r\n };\r\n\r\n const layoutRefs: IUseBaseAppLayout = useBaseAppLayout({\r\n initialSearchQuery: \"\",\r\n onFiltersChange: requestLocalizationsHandler,\r\n onChangeSearchQuery: () => {\r\n changeViewConfigurationHandler({\r\n page: 1,\r\n perPage: viewConfiguration.perPage\r\n });\r\n }\r\n });\r\n\r\n watch(viewConfiguration, () => requestLocalizationsHandler());\r\n\r\n requestLocalizationsHandler();\r\n const localizations = computed(() => store.getters.localizations);\r\n const totalLocalizationsCount = computed(\r\n () => store.getters.totalLocalizations\r\n );\r\n\r\n const modalActionLoading = ref(false);\r\n const updateModalOpened = ref(false);\r\n const deletePageOpened = ref(false);\r\n const editId = ref(0);\r\n const editData = ref({} as ILocalizations | undefined);\r\n\r\n async function requestLocalizationsHandler(): Promise {\r\n await store.dispatch(\"setAppLoading\", true);\r\n const query = Object.assign(viewConfiguration, { all: true });\r\n const { success, message } = await store.dispatch(\"fetchLocalizations\", {\r\n query\r\n });\r\n if (!success) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n\r\n await store.dispatch(\"setAppLoading\", false);\r\n }\r\n\r\n function changeViewConfigurationHandler({\r\n page,\r\n perPage\r\n }: ITableViewConfiguration): void {\r\n if (\r\n page === viewConfiguration.page &&\r\n perPage !== viewConfiguration.perPage\r\n ) {\r\n viewConfiguration.page = 1;\r\n } else {\r\n viewConfiguration.page = page;\r\n }\r\n\r\n viewConfiguration.perPage = perPage;\r\n }\r\n\r\n async function saveIcon(\r\n action: \"create\" | \"edit\",\r\n data: {\r\n short_name: string;\r\n active: boolean;\r\n icon?: string;\r\n full_name: string;\r\n },\r\n updatedLocation: editLocalizationData,\r\n id: number | null\r\n ) {\r\n if (action === \"create\") return;\r\n\r\n const { short_name, active, icon, full_name } = data;\r\n\r\n const payload: ICreateLocalizationDto = {\r\n short_name,\r\n active,\r\n images: {},\r\n full_name\r\n };\r\n\r\n isImage(icon) && (payload.images.icon = icon as string);\r\n\r\n const res = id && (await updateLocalization(id, payload));\r\n await requestLocalizationsHandler();\r\n return res;\r\n }\r\n\r\n async function updateLocalization(\r\n id: number,\r\n payload: ICreateLocalizationDto\r\n ) {\r\n modalActionLoading.value = true;\r\n\r\n const { success, message, data } = await api.editLocalization(payload, id);\r\n if (!success && message) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n modalActionLoading.value = false;\r\n return data;\r\n }\r\n\r\n async function saveUpdates(\r\n action: \"create\" | \"edit\",\r\n data: {\r\n short_name: string;\r\n active: boolean;\r\n icon?: string;\r\n full_name: string;\r\n },\r\n id?: number | null\r\n ) {\r\n const { short_name, active, icon, full_name } = data;\r\n\r\n const payload: ICreateLocalizationDto = {\r\n short_name,\r\n active,\r\n images: {},\r\n full_name\r\n };\r\n\r\n isImage(icon) && (payload.images.icon = icon as string);\r\n const res =\r\n action === \"create\"\r\n ? await createLocalization(payload)\r\n : id && (await updateLocalization(id, payload));\r\n\r\n updateModalOpened.value = false;\r\n await requestLocalizationsHandler();\r\n endUpdating();\r\n\r\n return res;\r\n }\r\n\r\n async function createLocalization(payload: ICreateLocalizationDto) {\r\n modalActionLoading.value = true;\r\n\r\n const { success, message, data } = await api.createLocalization(payload);\r\n if (!success && message) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n modalActionLoading.value = false;\r\n return data;\r\n }\r\n\r\n async function onDeleteConfirm(): Promise {\r\n modalActionLoading.value = true;\r\n if (!editData.value?.id) return;\r\n const { success, message } = await api.removeLocalization(editData.value.id);\r\n if (success) {\r\n deletePageOpened.value = false;\r\n endUpdating();\r\n requestLocalizationsHandler?.();\r\n }\r\n if (!success && message) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n modalActionLoading.value = false;\r\n }\r\n\r\n async function removeLocalization(cId: number): Promise {\r\n editId.value = cId;\r\n editData.value = localizations.value.find(\r\n (l: ILocalizations) => l.id == cId\r\n );\r\n deletePageOpened.value = true;\r\n }\r\n\r\n function endUpdating(): void {\r\n updateModalOpened.value = false;\r\n deletePageOpened.value = false;\r\n editData.value = { ...initialLocalization } as ILocalizations | undefined;\r\n }\r\n\r\n function editLocalization(data: ILocalizations) {\r\n editId.value = data?.id;\r\n updateModalOpened.value = true;\r\n\r\n editData.value = data;\r\n }\r\n\r\n function setModalLoading(loading: boolean) {\r\n modalActionLoading.value = loading;\r\n }\r\n\r\n return {\r\n updateModalOpened,\r\n deletePageOpened,\r\n editId,\r\n editData,\r\n localizations,\r\n totalLocalizationsCount,\r\n modalActionLoading,\r\n ...layoutRefs,\r\n setModalLoading,\r\n requestLocalizationsHandler,\r\n changeViewConfigurationHandler,\r\n saveIcon,\r\n saveUpdates,\r\n onDeleteConfirm,\r\n editLocalization,\r\n endUpdating,\r\n removeLocalization\r\n };\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bgColor\":\"#f5f6fa\",\"fontColor\":\"#333\",\"lightColor\":\"#fff\",\"primaryColor\":\"#2f80ed\",\"successColor\":\"#27ae60\",\"warningColor\":\"#f2994a\",\"warningLightColor\":\"#fef5ed\",\"dangerColor\":\"#eb5757\",\"dangerLightColor\":\"#fdefef\",\"darkBackgroundColor\":\"rgba(0,0,0,.1)\",\"activeMenuItemGradient\":\"linear-gradient(0deg, #F3F4F8, #F3F4F8)\",\"gradientPrimaryLight\":\"linear-gradient(90.25deg, #DFE9F7 1.96%, #F5F6FA 99.73%)\",\"gradientPrimaryLightTransparent\":\"linear-gradient(90.25deg, #DFE9F7 1.96%, #F5F6FA 99.73%)\",\"colIndent\":\"1rem\",\"tableColXxs\":\"4rem\",\"tableColXs\":\"5.2rem\",\"tableColSm\":\"7rem\",\"tableColSmL\":\"9.5rem\",\"tableColMd\":\"11.5rem\",\"tableColLg\":\"18rem\",\"tableColXg\":\"25rem\",\"buttonSizesArray\":\"icon,xs,sm,smL,md-fluid,md,lg,xl,fluid\"};","import { computed, ComputedRef, Ref, ref, watch } from \"vue\";\r\nimport {\r\n ICreateLocationDto,\r\n IFetchLocationLocalizationData,\r\n IMappedLocalization,\r\n selectedLocationListType\r\n} from \"@/api/services/locations/locationTypes\";\r\nimport {\r\n IBaseLocation,\r\n ISubregion\r\n} from \"@/api/services/packages/esim/location-packages/types\";\r\n\r\nimport { ILocationCountry, TLocationKeys } from \"@/store/locations\";\r\nimport { ILocationsCtx } from \"../useLocations\";\r\nimport { switchedLocation } from \"@/components/Locations/interfaces\";\r\nimport { api } from \"@/api/Api\";\r\nimport { TPackageLocation, TPackageLocationSingle } from \"@/hooks/esim/location-packages/types/locationPackage.types\";\r\nimport useLocalizations from \"@/hooks/localizations/useLocalizations\";\r\nimport { ILocalizations } from \"@/api/interfaces/localizations/ILocalizations\";\r\n\r\nconst listTypes: selectedLocationListType[] = [\"country\", \"subregion\"];\r\n\r\nexport interface ILocationSelected {\r\n countries: ILocationCountry[];\r\n subregions: ISubregion[];\r\n}\r\n\r\nexport type editLocationData = {\r\n id: number;\r\n title: string;\r\n icon: string;\r\n smallImage: string;\r\n bigImage: string;\r\n active: boolean;\r\n isoCode?: string;\r\n popular?: boolean;\r\n titleSEO: string;\r\n descriptionSEO?: string;\r\n keywords: string;\r\n // localizations: localizationsLocation[];\r\n};\r\nexport type localizationsLocation = {\r\n id: number,\r\n name: string,\r\n localizationId: number\r\n}\r\n\r\nconst initialLocation: editLocationData = {\r\n title: \"\",\r\n icon: \"\",\r\n smallImage: \"\",\r\n bigImage: \"\",\r\n active: false,\r\n isoCode: \"\",\r\n popular: false,\r\n id: -1,\r\n titleSEO: \"\",\r\n descriptionSEO: \"\",\r\n keywords: \"\"\r\n};\r\n\r\nexport type selectedlocations = {\r\n countries: IBaseLocation[];\r\n subregions: IBaseLocation[];\r\n};\r\n\r\nexport type locationImageVariants = \"icon\" | \"smallImage\" | \"bigImage\";\r\n\r\nconst initialSavedLocations: selectedlocations = {\r\n countries: [],\r\n subregions: []\r\n};\r\n\r\nexport const isImage = (image: any): boolean => image && typeof image === \"string\";\r\n\r\nexport function updateLocation(ctx: ILocationsCtx) {\r\n const baseLoading = ref(false);\r\n const baseLocationsLoading = ref(false);\r\n const modalActionLoading = ref(false);\r\n\r\n const location = ref({ ...initialLocation });\r\n const { localizations } = useLocalizations();\r\n const localizationList: Ref = ref([])\r\n const savedLocation: Ref = ref(null);\r\n\r\n const selectedList: Ref = ref({\r\n ...initialSavedLocations\r\n });\r\n\r\n const localSelectedList: Ref = ref({\r\n ...initialSavedLocations\r\n });\r\n\r\n const changeList: Ref = ref([]);\r\n const updateModalOpened = ref(false);\r\n\r\n const countries = computed(\r\n () => ctx.store.getters.notExtendedCountries as IBaseLocation[]\r\n );\r\n const subregions = computed(\r\n () => ctx.store.getters.notExtendedSubregions as IBaseLocation[]\r\n );\r\n\r\n ctx.store.dispatch(\"fetchNotExtendedLocations\").finally(() => {\r\n baseLocationsLoading.value = false;\r\n });\r\n\r\n watch(() => changeList.value, changeListChangeHandler, { deep: true });\r\n watch(() => selectedList.value, selecetdListChangeHandler, { deep: true });\r\n\r\n function selecetdListChangeHandler({\r\n countries,\r\n subregions\r\n }: selectedlocations) {\r\n localSelectedList.value = {\r\n countries: [],\r\n subregions: []\r\n };\r\n const newCountry: any = countries;\r\n const newSubregion: any = subregions;\r\n if (newCountry.selected?.length) {\r\n localSelectedList.value.countries = [...newCountry.selected];\r\n }\r\n if (newSubregion.selected?.length) {\r\n localSelectedList.value.subregions = [...newSubregion.selected];\r\n }\r\n if (!newSubregion.selected?.length && !newCountry.selected?.length) {\r\n localSelectedList.value.subregions = [];\r\n localSelectedList.value.countries = [];\r\n }\r\n }\r\n\r\n function changeListChangeHandler(\r\n locations: switchedLocation[],\r\n prev?: switchedLocation[]\r\n ) {\r\n const removedFromChangeList = prev\r\n ? prev.filter(({ id }) => !locations.some(l => l.id === id))\r\n : [];\r\n\r\n locations.forEach(({ id, action, type = \"countries\" }) => {\r\n if (action === \"enable\") {\r\n const isExist = localSelectedList.value[type].find(l => l.id === id);\r\n\r\n if (!isExist) {\r\n const list = type === \"countries\" ? countries : subregions;\r\n const fullLocation: IBaseLocation | null =\r\n list.value.find(item => item.id === id) || null;\r\n\r\n if (fullLocation) {\r\n localSelectedList.value[type].push(fullLocation);\r\n }\r\n }\r\n } else if (action === \"disable\") {\r\n localSelectedList.value[type] = localSelectedList.value[type].filter(\r\n l => l.id !== id\r\n );\r\n }\r\n });\r\n\r\n removedFromChangeList.forEach(({ id, action, type = \"countries\" }) => {\r\n const data: any = selectedList.value[type];\r\n const isEnabledByServer = data.selected?.find((l: any) => l.id === id);\r\n\r\n if (action === \"enable\") {\r\n if (!isEnabledByServer) {\r\n localSelectedList.value[type] = localSelectedList.value[type].filter(\r\n l => l.id !== id\r\n );\r\n }\r\n } else {\r\n const isExist = localSelectedList.value[type].find(l => l.id === id);\r\n\r\n if (isEnabledByServer && !isExist) {\r\n const list = type === \"countries\" ? countries : subregions;\r\n const fullLocation: IBaseLocation | null =\r\n list.value.find(item => item.id === id) || null;\r\n\r\n if (fullLocation) {\r\n localSelectedList.value[type].push(fullLocation);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n async function updateLocation(id: number, payload: ICreateLocationDto) {\r\n modalActionLoading.value = true;\r\n\r\n const res = await api.editLocation(\r\n payload,\r\n ctx.locationTypeSingle.value,\r\n id\r\n );\r\n\r\n modalActionLoading.value = false;\r\n return res;\r\n }\r\n\r\n async function createLocation(payload: ICreateLocationDto) {\r\n modalActionLoading.value = true;\r\n\r\n const res = await api.createLocation(payload, ctx.locationTypeSingle.value);\r\n\r\n modalActionLoading.value = false;\r\n return res;\r\n }\r\n\r\n return {\r\n location,\r\n localizationList,\r\n selectedList,\r\n countries,\r\n subregions,\r\n updateModalOpened,\r\n modalActionLoading,\r\n localSelectedList,\r\n changeList,\r\n modalLoading: computed(\r\n () => baseLoading.value || baseLocationsLoading.value\r\n ),\r\n\r\n setModalLoading: (loading: boolean) => (baseLoading.value = loading),\r\n\r\n getSelectedLocations(\r\n id: number\r\n ): Promise<{\r\n success: boolean;\r\n countries: ILocationCountry[];\r\n subregions: ISubregion[];\r\n }> {\r\n baseLoading.value = true;\r\n\r\n return Promise.all(\r\n listTypes.map(listType => {\r\n return ctx.store.dispatch(\"fetchSelectedLocations\", {\r\n listType,\r\n locationType: ctx.locationTypeSingle.value,\r\n locationId: id\r\n });\r\n })\r\n )\r\n .then(([{ data: countries = [] }, { data: subregions = [] }]) => {\r\n return { success: true, countries, subregions };\r\n })\r\n .catch(() => ({ success: false, countries: [], subregions: [] }))\r\n .finally(() => (baseLoading.value = false));\r\n },\r\n\r\n startAddLocation() {\r\n location.value = { ...initialLocation };\r\n selectedList.value = { countries: [], subregions: [] };\r\n updateModalOpened.value = true;\r\n \r\n },\r\n async fetchLocationLocalization(\r\n locationId: number,\r\n locationType: TPackageLocationSingle\r\n ) {\r\n const { data } = await ctx.store.dispatch(\r\n \"fetchLocalizationLocalization\",\r\n {\r\n locationId,\r\n locationType,\r\n }\r\n );\r\n return data;\r\n },\r\n mapLocalization(\r\n locationLocalization: IFetchLocationLocalizationData[],\r\n id: number\r\n ):IMappedLocalization[] {\r\n return localizations.value.map((localization: ILocalizations) => {\r\n const matchingLocalization = locationLocalization?.find(\r\n (localizationItem: any) =>\r\n localizationItem.localization?.id === localization?.id\r\n );\r\n const name = matchingLocalization ? matchingLocalization.name : \"\";\r\n return {\r\n ...localization,\r\n id: matchingLocalization?.id || null,\r\n localizationId: localization?.id,\r\n name,\r\n locationId: id || -1,\r\n };\r\n });\r\n },\r\n async startEditing(id: number) {\r\n const locationLocalization: IFetchLocationLocalizationData[] = await this.fetchLocationLocalization(\r\n id,\r\n ctx.locationTypeSingle.value\r\n );\r\n\r\n localizationList.value = this.mapLocalization(locationLocalization, id);\r\n\r\n if (ctx.locationTypeSingle.value !== \"country\") {\r\n const {\r\n countries,\r\n subregions,\r\n success\r\n } = await this.getSelectedLocations(id);\r\n\r\n if (success) {\r\n selectedList.value = {\r\n countries,\r\n subregions\r\n };\r\n }\r\n }\r\n\r\n updateModalOpened.value = true;\r\n\r\n const currentLocation = ctx.locationsList.value\r\n .map(l => l)\r\n .find(location => location.id === id);\r\n\r\n if (currentLocation) {\r\n savedLocation.value = currentLocation;\r\n }\r\n\r\n if (currentLocation) {\r\n const {\r\n name,\r\n active,\r\n id,\r\n icon,\r\n smallImage,\r\n bigImage,\r\n popular,\r\n isoCode,\r\n keywords,\r\n titleSEO,\r\n descriptionSEO\r\n } = currentLocation;\r\n\r\n location.value = {\r\n title: name,\r\n active,\r\n id,\r\n icon,\r\n smallImage: smallImage ?? \"\",\r\n bigImage: bigImage ?? \"\",\r\n popular,\r\n isoCode,\r\n titleSEO,\r\n descriptionSEO,\r\n keywords\r\n };\r\n }\r\n },\r\n\r\n createLocation,\r\n updateLocation,\r\n\r\n async saveUpadtes(\r\n action: \"create\" | \"edit\",\r\n data: {\r\n name: string;\r\n active: boolean;\r\n isoCode?: string;\r\n popular?: boolean;\r\n icon?: string;\r\n smallImage?: string;\r\n bigImage?: string;\r\n titleSEO: string;\r\n descriptionSEO?: string;\r\n keywords: string;\r\n },\r\n id?: number | null\r\n ) {\r\n const {\r\n name,\r\n active,\r\n icon,\r\n smallImage,\r\n bigImage,\r\n isoCode,\r\n popular,\r\n titleSEO,\r\n descriptionSEO,\r\n keywords\r\n } = data;\r\n\r\n const payload: ICreateLocationDto = {\r\n name,\r\n active,\r\n images: {},\r\n titleSEO,\r\n descriptionSEO,\r\n keywords\r\n };\r\n\r\n if (ctx.locationTypeSingle.value !== \"country\") {\r\n payload.changedLocations = {\r\n changeList: changeList.value.map(({ action, id }) => ({\r\n action,\r\n id\r\n })),\r\n\r\n locationChildType: changeList.value[0]?.type || \"countries\",\r\n locationParentType: ctx.locationTypeSingle.value\r\n };\r\n } else {\r\n payload.isoCode = isoCode;\r\n payload.popular = popular;\r\n }\r\n\r\n isImage(icon) && (payload.images.icon = icon as string);\r\n isImage(smallImage) && (payload.images.smallImage = smallImage as string);\r\n isImage(bigImage) && (payload.images.bigImage = bigImage as string);\r\n\r\n const res =\r\n action === \"create\"\r\n ? await createLocation(payload)\r\n : id && (await updateLocation(id, payload));\r\n\r\n updateModalOpened.value = false;\r\n await ctx.requestLocations?.();\r\n changeList.value = [];\r\n\r\n return res;\r\n },\r\n\r\n async saveIcon(\r\n action: \"create\" | \"edit\",\r\n data: {\r\n name: string;\r\n active: boolean;\r\n icon?: string;\r\n smallImage?: string;\r\n bigImage?: string;\r\n titleSEO: string;\r\n descriptionSEO?: string;\r\n keywords: string;\r\n },\r\n updatedLocation: editLocationData,\r\n id: number | null\r\n ) {\r\n if (action === \"create\") return;\r\n\r\n const {\r\n name,\r\n active,\r\n icon,\r\n smallImage,\r\n bigImage,\r\n titleSEO,\r\n descriptionSEO,\r\n keywords\r\n } = data;\r\n\r\n const payload: ICreateLocationDto = {\r\n name,\r\n active,\r\n images: {},\r\n titleSEO,\r\n descriptionSEO,\r\n keywords\r\n };\r\n\r\n isImage(icon) && (payload.images.icon = icon as string);\r\n isImage(smallImage) && (payload.images.smallImage = smallImage as string);\r\n isImage(bigImage) && (payload.images.bigImage = bigImage as string);\r\n\r\n const res = id && (await updateLocation(id, payload));\r\n await ctx.requestLocations?.();\r\n location.value = updatedLocation;\r\n return res;\r\n },\r\n\r\n endUpdating() {\r\n updateModalOpened.value = false;\r\n location.value = { ...initialLocation };\r\n selectedList.value = { countries: [], subregions: [] };\r\n changeList.value = [];\r\n savedLocation.value = null;\r\n },\r\n\r\n setLocation(updatedLocation: editLocationData) {\r\n location.value = updatedLocation;\r\n },\r\n\r\n toggleSelectedLocation(location: switchedLocation) {\r\n const { action, id, type = \"countries\" } = location;\r\n const inChangesList = changeList.value.find(item => item.id === id);\r\n const data: any = selectedList.value[type];\r\n const enabledByServer = data?.selected?.find(\r\n (item: any) => item.id === id\r\n );\r\n\r\n if (action === \"disable\") {\r\n if (enabledByServer) {\r\n if (inChangesList) {\r\n inChangesList.action = \"disable\";\r\n } else {\r\n changeList.value.push(location);\r\n }\r\n } else {\r\n changeList.value = changeList.value.filter(item => item.id !== id);\r\n }\r\n } else if (action === \"enable\") {\r\n if (enabledByServer) {\r\n changeList.value = changeList.value.filter(item => item.id !== id);\r\n } else if (inChangesList) {\r\n inChangesList.action = \"enable\";\r\n } else {\r\n changeList.value.push(location);\r\n }\r\n }\r\n },\r\n\r\n async deleteLocation(id: number, locationType: TPackageLocation) {\r\n modalActionLoading.value = true;\r\n const res = await api.deleteLocation({ id, locationType });\r\n modalActionLoading.value = false;\r\n ctx.requestLocations?.();\r\n return res;\r\n },\r\n\r\n async saveLocalization(\r\n data: localizationsLocation [],\r\n locationType: TPackageLocationSingle,\r\n ) {\r\n modalActionLoading.value = true;\r\n updateModalOpened.value = false;\r\n const {success, message} = await api.saveLocalization( data, locationType );\r\n\r\n if (!success && message) {\r\n await ctx.store.dispatch(\"showErrorNotification\", message);\r\n }\r\n modalActionLoading.value = false;\r\n localizationList.value = [];\r\n ctx.requestLocations?.();\r\n },\r\n };\r\n}\r\n","import { resolveComponent as _resolveComponent, mergeProps as _mergeProps, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"avatar-upload\" }\nconst _hoisted_2 = { class: \"avatar-upload-uploader\" }\nconst _hoisted_3 = { class: \"avatar-upload-text\" }\nconst _hoisted_4 = { class: \"light-text\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_FileUploader = _resolveComponent(\"FileUploader\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"d-flex\", {\r\n 'flex-column': _ctx.direction === 'column',\r\n 'align-items-center': _ctx.direction === 'column',\r\n 'text-center': _ctx.direction === 'column'\r\n }])\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_FileUploader, _mergeProps({\n id: \"avatar\",\n placeholder: _ctx.placeholder,\n accept: \".jpg, .jpeg, .png\"\n }, _ctx.$attrs, {\n onFileChanged: _cache[0] || (_cache[0] = file => _ctx.$emit('fileChanged', file))\n }), null, 16, [\"placeholder\"])\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"p\", _hoisted_4, _toDisplayString(_ctx.title), 1),\n _createElementVNode(\"p\", null, \"Size: \" + _toDisplayString(_ctx.size) + \" pixels\", 1),\n _createElementVNode(\"p\", null, \"Format: \" + _toDisplayString(_ctx.format), 1)\n ])\n ], 2)\n ]))\n}","import { mergeProps as _mergeProps, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"filer-uploader\" }\nconst _hoisted_2 = [\"id\"]\nconst _hoisted_3 = [\"for\"]\nconst _hoisted_4 = {\n key: 0,\n class: \"app-uploader-preview\"\n}\nconst _hoisted_5 = [\"src\"]\nconst _hoisted_6 = {\n key: 1,\n class: \"app-uploader-placeholder\"\n}\nconst _hoisted_7 = [\"src\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_svg_icon = _resolveComponent(\"svg-icon\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", _mergeProps({\n id: _ctx.id,\n type: \"file\",\n class: \"app-uploader\"\n }, _ctx.$attrs, {\n hidden: \"\",\n onChange: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.uploadHandler && _ctx.uploadHandler(...args)))\n }), null, 16, _hoisted_2),\n _createElementVNode(\"label\", {\n for: _ctx.id,\n class: \"upload-trigger\"\n }, [\n (_ctx.renderedPreview)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, [\n _createElementVNode(\"img\", {\n src: _ctx.renderedPreview,\n alt: \"alt\"\n }, null, 8, _hoisted_5)\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_6, [\n (_ctx.placeholder)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: _ctx.placeholder,\n alt: \"\"\n }, null, 8, _hoisted_7))\n : _createCommentVNode(\"\", true)\n ])),\n _createVNode(_component_svg_icon, {\n icon: \"camera\",\n class: \"camera\"\n })\n ], 8, _hoisted_3)\n ]))\n}","\r\nimport SvgIcon from \"@/components/ui/SvgIcon.vue\";\r\nimport { fileRender } from \"@/utills/files/fileRender\";\r\nimport { defineComponent } from \"vue\";\r\nexport default defineComponent({\r\n name: \"FileUploader\",\r\n components: { SvgIcon },\r\n emits: {\r\n fileChanged: null\r\n },\r\n\r\n props: {\r\n id: { type: String, required: true },\r\n previewUrl: { type: String, default: null },\r\n placeholder: {\r\n type: String,\r\n required: false,\r\n default: require(\"@/assets/icons/avatar-placeholder.svg\")\r\n }\r\n },\r\n\r\n data() {\r\n return {\r\n renderedPreview: this.previewUrl,\r\n file: null\r\n } as {\r\n renderedPreview: string;\r\n file: File | null;\r\n };\r\n },\r\n\r\n watch: {\r\n file(file: File | null) {\r\n this.$emit(\"fileChanged\", file);\r\n }\r\n },\r\n\r\n methods: {\r\n async uploadHandler({ target }: Event): Promise {\r\n const evtTarget: HTMLInputElement | null = target as HTMLInputElement;\r\n\r\n if (evtTarget) {\r\n const files: FileList | null = evtTarget.files;\r\n\r\n if (files) {\r\n const file: File = files[0];\r\n\r\n if (file) {\r\n this.file = file;\r\n this.renderedPreview = await fileRender(file);\r\n\r\n return;\r\n }\r\n }\r\n }\r\n\r\n this.file = null;\r\n }\r\n }\r\n});\r\n","import { render } from \"./FileUploader.vue?vue&type=template&id=a15c207c&ts=true\"\nimport script from \"./FileUploader.vue?vue&type=script&lang=ts\"\nexport * from \"./FileUploader.vue?vue&type=script&lang=ts\"\n\nimport \"./FileUploader.vue?vue&type=style&index=0&id=a15c207c&lang=scss\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\nimport FileUploader from \"@/components/ui/FileUploader.vue\";\r\nimport { defineComponent } from \"vue\";\r\nexport default defineComponent({\r\n name: \"AvatarUpload\",\r\n components: { FileUploader },\r\n props: {\r\n title: {\r\n type: String,\r\n default: \"We recommend to upload image with the following presets:\"\r\n },\r\n size: { type: String, default: \"160x160\" },\r\n format: { type: String, default: \"PNG\" },\r\n placeholder: {\r\n type: [String, File],\r\n required: false,\r\n default: \"\"\r\n },\r\n direction: {\r\n type: String,\r\n validator: (d: string) => [\"row\", \"column\"].indexOf(d) !== -1,\r\n default: \"row\"\r\n }\r\n },\r\n emits: { fileChanged: null }\r\n});\r\n","import { render } from \"./AvatarUpload.vue?vue&type=template&id=e52f561e&ts=true\"\nimport script from \"./AvatarUpload.vue?vue&type=script&lang=ts\"\nexport * from \"./AvatarUpload.vue?vue&type=script&lang=ts\"\n\nimport \"./AvatarUpload.vue?vue&type=style&index=0&id=e52f561e&lang=scss\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\nimport { defineComponent, h, Transition, VNode } from \"vue\";\r\nimport gsap from \"gsap\";\r\n\r\nconst TAB_DURATION = 0.55;\r\nconst HEIGHT_DURATION = 0.4;\r\n\r\nexport default defineComponent({\r\n name: \"AppTabsBody\",\r\n props: {\r\n selectedTabIdx: { type: Number, default: 0 },\r\n animate: { type: Boolean, default: true }\r\n },\r\n\r\n data(): {\r\n prevSelectedIdx: number;\r\n activeTabHeight: number;\r\n tabDuration: number;\r\n rootElDuration: number;\r\n loaded: boolean;\r\n rootEl: VNode | null;\r\n resizeObserver: ResizeObserver | null;\r\n activeTabContent: Element | null;\r\n processTimeout: ReturnType | null;\r\n currentTabHeight: number;\r\n heightAlreadySet: boolean;\r\n } {\r\n return {\r\n prevSelectedIdx: -1,\r\n rootEl: null,\r\n activeTabHeight: 0,\r\n resizeObserver: null,\r\n activeTabContent: null,\r\n tabDuration: this.animate ? TAB_DURATION : 0,\r\n rootElDuration: this.animate ? HEIGHT_DURATION : 0,\r\n loaded: false,\r\n processTimeout: null,\r\n currentTabHeight: 0,\r\n heightAlreadySet: false\r\n };\r\n },\r\n\r\n watch: {\r\n currentTabHeight: {\r\n handler(height) {\r\n this.setRootElHeight(height, this.rootElDuration);\r\n }\r\n },\r\n\r\n activeTabContent: {\r\n handler(current, prev) {\r\n // Observe / unobserve active tab height\r\n if (this.resizeObserver) {\r\n if (prev) {\r\n this.resizeObserver.unobserve(prev);\r\n }\r\n\r\n this.resizeObserver.observe(current, {\r\n box: \"border-box\"\r\n });\r\n }\r\n }\r\n },\r\n\r\n selectedTabIdx: {\r\n immediate: true,\r\n handler(idx, prevIdx) {\r\n if (this.rootEl?.el) {\r\n this.rootEl.el.style.overflow = \"hidden\";\r\n }\r\n\r\n if (prevIdx !== undefined) {\r\n this.prevSelectedIdx = prevIdx;\r\n }\r\n }\r\n },\r\n\r\n animate(animate: boolean) {\r\n this.tabDuration = animate ? TAB_DURATION : 0;\r\n this.rootElDuration = animate ? HEIGHT_DURATION : 0;\r\n }\r\n },\r\n\r\n mounted() {\r\n this.$nextTick(() => {\r\n setTimeout(() => {\r\n if (this.activeTabContent) {\r\n const { height } = this.activeTabContent.getBoundingClientRect();\r\n this.currentTabHeight = height;\r\n }\r\n }, 200);\r\n });\r\n },\r\n created() {\r\n // Create active tab resize observer\r\n this.resizeObserver = new ResizeObserver(([{ target }]) => {\r\n if (target) {\r\n this.heightAlreadySet = true;\r\n this.currentTabHeight = target.getBoundingClientRect().height;\r\n }\r\n });\r\n },\r\n\r\n beforeUnmount() {\r\n this.heightAlreadySet = false;\r\n\r\n // Kill active tab resize observer\r\n if (this.resizeObserver) {\r\n this.resizeObserver.disconnect();\r\n }\r\n\r\n this.resizeObserver = null;\r\n },\r\n\r\n unmounted() {\r\n this.currentTabHeight = 0;\r\n },\r\n\r\n methods: {\r\n setRootElHeight(\r\n height: number,\r\n duration?: number,\r\n onComplete: () => void = () => {}\r\n ) {\r\n this.heightAlreadySet = true;\r\n if (!this.rootEl?.el) return;\r\n\r\n gsap.to(this.rootEl.el, {\r\n height,\r\n delay: 0,\r\n duration: duration ?? this.rootElDuration,\r\n onComplete\r\n });\r\n },\r\n\r\n beforeAppear(el: Element) {\r\n this.activeTabContent = el;\r\n gsap.set(el, { autoAlpha: 1, xPercent: 0 });\r\n },\r\n\r\n beforeEnter(el: Element) {\r\n if (this.rootEl?.el) {\r\n this.rootEl.el.style.overflow = \"\";\r\n }\r\n\r\n this.activeTabContent = el;\r\n\r\n // Animate active tab enter\r\n gsap.set(el, {\r\n autoAlpha: 0,\r\n xPercent: this.prevSelectedIdx > this.selectedTabIdx ? -100 : 100\r\n });\r\n\r\n if (this.rootEl?.el) {\r\n const { height } = el.getBoundingClientRect();\r\n this.currentTabHeight = height;\r\n }\r\n },\r\n\r\n enter(el: Element, done: () => void) {\r\n this.$nextTick(() => {\r\n if (this.rootEl?.el) this.rootEl.el.style.overflow = \"hidden\";\r\n gsap.to(el, {\r\n autoAlpha: 1,\r\n xPercent: 0,\r\n easing: \"expo.inOut\",\r\n duration: this.tabDuration,\r\n onComplete: () => {\r\n this.processTimeout = setTimeout(() => {\r\n if (this.rootEl?.el) {\r\n this.rootEl.el.style.overflow = \"visible\";\r\n }\r\n }, this.tabDuration);\r\n\r\n done();\r\n }\r\n });\r\n });\r\n },\r\n\r\n leave(el: Element, done: () => void) {\r\n this.$nextTick(() => {\r\n gsap.to(el, {\r\n autoAlpha: 0,\r\n duration: this.tabDuration,\r\n easing: \"expo.outIn\",\r\n xPercent: this.prevSelectedIdx > this.selectedTabIdx ? 100 : -100,\r\n onComplete: done\r\n });\r\n });\r\n }\r\n },\r\n\r\n render() {\r\n const tabs: any = this.$slots.default?.() || [];\r\n const root: Array = [].concat(\r\n ...tabs?.[0]?.children.map((c: any) => {\r\n if (c && typeof c.type !== \"symbol\") {\r\n return [c];\r\n } else if (c && c.children) {\r\n return c.children;\r\n }\r\n return [];\r\n })\r\n );\r\n\r\n if (!Array.isArray(root)) {\r\n return h(\"\");\r\n }\r\n\r\n let target = \"\";\r\n\r\n if (root.length === 1) {\r\n target = root?.[0]?.children[this.selectedTabIdx];\r\n } else if (root.length > 0) {\r\n target = root[this.selectedTabIdx];\r\n }\r\n\r\n const rootEl = h(\r\n \"div\",\r\n {\r\n class: \"app-tabs__body__wrapper\"\r\n },\r\n h(\r\n \"div\",\r\n {\r\n class: \"app-tabs__body__controller\"\r\n },\r\n h(\r\n Transition,\r\n {\r\n css: false,\r\n appear: true,\r\n onAppear: this.beforeAppear,\r\n onBeforeEnter: this.beforeEnter,\r\n onEnter: this.enter,\r\n onLeave: this.leave\r\n },\r\n target\r\n )\r\n )\r\n );\r\n\r\n this.rootEl = rootEl;\r\n return rootEl;\r\n }\r\n});\r\n","import script from \"./AppTabsBody.vue?vue&type=script&lang=tsx\"\nexport * from \"./AppTabsBody.vue?vue&type=script&lang=tsx\"\n\nimport \"./AppTabsBody.vue?vue&type=style&index=0&id=5d7c64ec&scoped=true&lang=scss\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5d7c64ec\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AppTabsBody.vue?vue&type=style&index=0&id=5d7c64ec&scoped=true&lang=scss\"","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./AppCheckbox.vue?vue&type=template&id=07b72113&scoped=true\"\nimport script from \"./AppCheckbox.vue?vue&type=script&lang=js\"\nexport * from \"./AppCheckbox.vue?vue&type=script&lang=js\"\n\nimport \"./AppCheckbox.vue?vue&type=style&index=0&id=07b72113&scoped=true&lang=scss\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-07b72113\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./FullscreenLoader.vue?vue&type=template&id=4b07da65\"\nimport script from \"./FullscreenLoader.vue?vue&type=script&lang=js\"\nexport * from \"./FullscreenLoader.vue?vue&type=script&lang=js\"\n\nimport \"./FullscreenLoader.vue?vue&type=style&index=0&id=4b07da65&lang=scss\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { IUserAccount } from \"@/store/interfaces/accounts/IUserAccount\";\r\nimport { IApiResponse } from \"../IApi\";\r\n\r\nexport enum userTypes {\r\n admin = \"admin\",\r\n user = \"user\",\r\n operator = \"operator\"\r\n}\r\n\r\nexport type userType = keyof typeof userTypes;\r\n\r\nexport interface AddUserDto {\r\n email: string;\r\n fullName: string;\r\n password: string;\r\n phone: string;\r\n type?: userType;\r\n}\r\n\r\nexport interface EditUserDto {\r\n email: string;\r\n fullName: string;\r\n id: number;\r\n}\r\n\r\nexport interface AddUserModalDto extends AddUserDto {\r\n avatar?: File;\r\n}\r\n\r\nexport interface ITemplatesDataResponse extends IApiResponse {\r\n data: IUserAccount;\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AppTabsHead.vue?vue&type=style&index=0&id=0e3ca560&scoped=true&lang=scss\"","export const fileRender = file => {\r\n return new Promise((resolve, reject) => {\r\n if (!file) {\r\n reject(\"File dont provided\");\r\n }\r\n\r\n const reader = new FileReader();\r\n\r\n reader.onload = ({ target }) => {\r\n if (!target) {\r\n reject(\"Something wrong\");\r\n }\r\n\r\n resolve(target.result);\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n });\r\n};\r\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, withCtx as _withCtx, createSlots as _createSlots, createBlock as _createBlock, Transition as _Transition, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"container loader-container\"\n}\nconst _hoisted_2 = { style: {\"overflow\":\"hidden\"} }\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = { key: 0 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_FullscreenLoader = _resolveComponent(\"FullscreenLoader\")!\n const _component_BtnContent = _resolveComponent(\"BtnContent\")!\n const _component_AppButton = _resolveComponent(\"AppButton\")!\n const _component_EmptyBlock = _resolveComponent(\"EmptyBlock\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"app-table-controller\", { 'min-height-1': _ctx.tableLoad }])\n }, [\n _createVNode(_Transition, {\n name: \"fade\",\n mode: \"out-in\"\n }, {\n default: _withCtx(() => [\n (_ctx.useLoader && (_ctx.tableLoading || _ctx.appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_FullscreenLoader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_ctx.showTable)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _renderSlot(_ctx.$slots, \"default\")\n ]))\n : (_openBlock(), _createBlock(_component_EmptyBlock, {\n key: 1,\n icon: _ctx.emptyIcon,\n description: _ctx.emptyText,\n \"icon-color\": \"dark\",\n fullscreen: true\n }, _createSlots({ _: 2 }, [\n (_ctx.emptyButtonText)\n ? {\n name: \"button\",\n fn: _withCtx(() => [\n _createVNode(_component_AppButton, {\n type: \"secondary\",\n size: \"lg\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$emit('emptyButtonClick')))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_BtnContent, {\n icon: \"plus\",\n label: _ctx.emptyButtonText\n }, null, 8, [\"label\"])\n ]),\n _: 1\n })\n ]),\n key: \"0\"\n }\n : undefined\n ]), 1032, [\"icon\", \"description\"]))\n ]))\n ]),\n _: 3\n })\n ], 2))\n}","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderSlot as _renderSlot, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-28469b4f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"empty-block-description\" }\nconst _hoisted_2 = {\n key: 1,\n class: \"empty-block--button-wrapper mt-4\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_svg_icon = _resolveComponent(\"svg-icon\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"empty-block d-flex justify-content-center flex-column align-items-center\", {\r\n [`color-${_ctx.iconColor}`]: true,\r\n fullscreen: _ctx.fullscreen\r\n }])\n }, [\n (_ctx.icon)\n ? (_openBlock(), _createBlock(_component_svg_icon, {\n key: 0,\n icon: _ctx.icon,\n class: \"mb-3\"\n }, null, 8, [\"icon\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", _hoisted_1, _toDisplayString(_ctx.description), 1),\n (_ctx.$slots.button)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _renderSlot(_ctx.$slots, \"button\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true)\n ], 2))\n}","\r\nimport { defineComponent, PropType } from \"vue\";\r\nimport SvgIcon from \"@/components/ui/SvgIcon.vue\";\r\nexport default defineComponent({\r\n name: \"EmptyBlock\",\r\n components: { SvgIcon },\r\n props: {\r\n icon: { type: String, required: false },\r\n description: { type: String, required: true },\r\n fullscreen: { type: Boolean, default: false },\r\n iconColor: {\r\n type: String as PropType<\"grey\" | \"dark\">,\r\n default: \"grey\"\r\n }\r\n }\r\n});\r\n","import { render } from \"./EmptyBlock.vue?vue&type=template&id=28469b4f&scoped=true&ts=true\"\nimport script from \"./EmptyBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./EmptyBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./EmptyBlock.vue?vue&type=style&index=0&id=28469b4f&scoped=true&lang=scss\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-28469b4f\"]])\n\nexport default __exports__","\r\nimport { mapGetters } from \"vuex\";\r\nimport { defineComponent } from \"vue\";\r\nimport FullscreenLoader from \"@/components/ui/FullscreenLoader.vue\";\r\nimport EmptyBlock from \"@/components/ui/EmptyBlock.vue\";\r\nimport AppButton from \"@/components/ui/Buttons/AppButton.vue\";\r\nimport BtnContent from \"@/components/ui/Buttons/BtnContent.vue\";\r\n\r\nexport default defineComponent({\r\n name: \"AppTableController\",\r\n components: { BtnContent, AppButton, EmptyBlock, FullscreenLoader },\r\n props: {\r\n tableLoading: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n useLoader: {\r\n type: Boolean,\r\n default: true\r\n },\r\n\r\n showTable: {\r\n type: Boolean,\r\n default: true\r\n },\r\n\r\n searchQuery: {\r\n type: String,\r\n default: \"\"\r\n },\r\n\r\n emptyKey: {\r\n type: String,\r\n required: true\r\n },\r\n\r\n emptyButtonText: { type: String, default: \"\" },\r\n\r\n emptyIcon: {\r\n type: String,\r\n default: \"\"\r\n }\r\n },\r\n emits: {\r\n emptyButtonClick: null\r\n },\r\n\r\n data() {\r\n return {\r\n tableLoad: false,\r\n loadTimeout: null as ReturnType | null\r\n };\r\n },\r\n\r\n watch: {\r\n getTableLoad: {\r\n handler(data) {\r\n this.loadTimeout && clearTimeout(this.loadTimeout);\r\n this.loadTimeout = setTimeout(\r\n () => {\r\n this.tableLoad = data;\r\n },\r\n data ? 0 : 500\r\n );\r\n },\r\n immediate: true\r\n }\r\n },\r\n\r\n computed: {\r\n ...mapGetters([\"appLoading\"]),\r\n emptyText(): string {\r\n if (!this.searchQuery) {\r\n return `There are no ${this.emptyKey} created yet!`;\r\n }\r\n\r\n return `No ${this.emptyKey} found by request \"${this.searchQuery}\"`;\r\n },\r\n getTableLoad() {\r\n return !this.showTable || this.tableLoading || this.appLoading;\r\n }\r\n }\r\n});\r\n","import { render } from \"./AppTableController.vue?vue&type=template&id=ea90f002&ts=true\"\nimport script from \"./AppTableController.vue?vue&type=script&lang=ts\"\nexport * from \"./AppTableController.vue?vue&type=script&lang=ts\"\n\nimport \"./AppTableController.vue?vue&type=style&index=0&id=ea90f002&lang=scss\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, mergeProps as _mergeProps, createBlock as _createBlock, normalizeClass as _normalizeClass, withCtx as _withCtx } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AppTableBodyCell = _resolveComponent(\"AppTableBodyCell\")!\n const _component_TableRow = _resolveComponent(\"TableRow\")!\n const _component_AppTableLayout = _resolveComponent(\"AppTableLayout\")!\n\n return (_openBlock(), _createBlock(_component_AppTableLayout, _mergeProps({\n \"table-head\": _ctx.tableHead,\n \"pagination-capture-key\": _ctx.paginationCaptureKey,\n \"total-rows\": _ctx.totalRows,\n \"per-page\": _ctx.perPage,\n \"current-page\": _ctx.currentPage\n }, _ctx.$attrs.class, {\n class: { withMoreMenu: _ctx.withMoreMenu },\n \"space-between\": _ctx.spaceBetween,\n \"with-footer\": _ctx.withFooter,\n onSort: _cache[0] || (_cache[0] = \r\n (...arg: any[]) => {\r\n _ctx.$emit('sort', ...arg);\r\n }\r\n ),\n onChangeViewConfiguration: _cache[1] || (_cache[1] = \r\n (conf) => {\r\n _ctx.$emit('changeViewConfiguration', conf);\r\n }\r\n )\n }), {\n \"table-body\": _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.mappedRows, ({\r\n id,\r\n actions,\r\n withAction,\r\n status,\r\n cells,\r\n bgStatus = '',\r\n onClick = () => {}\r\n }, idx) => {\n return (_openBlock(), _createBlock(_component_TableRow, {\n key: idx,\n status: status,\n \"more-menu\": actions,\n \"space-between\": _ctx.spaceBetween,\n class: _normalizeClass({\r\n 'with-footer': !_ctx.withFooter,\r\n 'hover-scale': withAction,\r\n [`status-${bgStatus}`]: true\r\n }),\n onClick: onClick\n }, {\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(cells, ({ componentName, componentContent, cellProps, params }, idx) => {\n return (_openBlock(), _createBlock(_component_AppTableBodyCell, _mergeProps({\n id: id,\n key: idx,\n \"component-info\": {\r\n name: componentName,\r\n content: componentContent\r\n },\n \"hide-button\": _ctx.hideButton,\n \"right-align\": params.rightAlign\n }, { ...cellProps }, {\n onEditItem: _ctx.editItem,\n onDeleteItem: _ctx.deleteItem,\n onSelectData: _ctx.selectData\n }), null, 16, [\"id\", \"component-info\", \"hide-button\", \"right-align\", \"onEditItem\", \"onDeleteItem\", \"onSelectData\"]))\n }), 128))\n ]),\n _: 2\n }, 1032, [\"status\", \"more-menu\", \"space-between\", \"class\", \"onClick\"]))\n }), 128))\n ]),\n _: 1\n }, 16, [\"table-head\", \"pagination-capture-key\", \"total-rows\", \"per-page\", \"current-page\", \"class\", \"space-between\", \"with-footer\"]))\n}","\r\nimport { defineComponent, PropType } from \"vue\";\r\nimport { IObjectKeys } from \"@/interfaces/IObjectKeys\";\r\nimport TableRow from \"@/components/Table/TableRow.vue\";\r\n\r\nimport {\r\n ITableBodyRow,\r\n ITableHeadCell\r\n} from \"@/components/Table/ts/interfaces/TableStructure\";\r\nimport { mapTableRowsToTableContent } from \"@/hooks/tables/modules/baseTable/mapTableRowsToTableContent\";\r\nimport AppTableBodyCell from \"@/components/Table/ts/AppTableBodyCell.vue\";\r\nimport AppTableLayout from \"@/components/Table/ts/AppTableLayout.vue\";\r\n\r\nconst tableStatuses: IObjectKeys = {\r\n verified: \"base\",\r\n unverified: \"warn\",\r\n blocked: \"error\"\r\n};\r\n\r\nexport type tableHeadCellsList = ITableHeadCell[];\r\nexport type tableBodyList = ITableBodyRow[];\r\n\r\nexport default defineComponent({\r\n name: \"AppTable\",\r\n components: {\r\n AppTableLayout,\r\n AppTableBodyCell,\r\n TableRow\r\n },\r\n inheritAttrs: false,\r\n props: {\r\n paginationCaptureKey: {\r\n type: String,\r\n default: \"\"\r\n },\r\n totalRows: { type: Number as PropType, default: 0 },\r\n perPage: { type: Number, default: 10 },\r\n currentPage: { type: Number, default: 1 },\r\n tableHead: {\r\n type: Array as PropType,\r\n required: true\r\n },\r\n\r\n tableBody: {\r\n type: Array as PropType,\r\n required: true\r\n },\r\n\r\n hideButton: { type: Boolean, default: false },\r\n spaceBetween: { type: Boolean, default: true },\r\n withFooter: { type: Boolean, default: true }\r\n },\r\n emits: {\r\n changeViewConfiguration: null,\r\n sort: null,\r\n deleteItem: null,\r\n editItem: null,\r\n selectData: null\r\n },\r\n computed: {\r\n withMoreMenu(): boolean {\r\n return !!this.tableBody[0]?.actions;\r\n },\r\n\r\n updatedBodyRows(): tableBodyList {\r\n return this.tableBody.map(row => {\r\n const status = row.status || \"base\";\r\n\r\n return {\r\n ...row,\r\n cells: row.cells.map((cell, idx) => ({\r\n ...cell,\r\n size: this.tableHead[idx].size\r\n })),\r\n withAction: !!row.onClick,\r\n status: tableStatuses[status] || \"base\"\r\n };\r\n });\r\n },\r\n\r\n mappedRows() {\r\n return mapTableRowsToTableContent(this.updatedBodyRows);\r\n }\r\n },\r\n\r\n methods: {\r\n deleteItem(id: number) {\r\n this.$emit(\"deleteItem\", id);\r\n },\r\n editItem(id: number) {\r\n this.$emit(\"editItem\", id);\r\n },\r\n selectData(data: any) {\r\n this.$emit(\"selectData\", data);\r\n }\r\n }\r\n});\r\n","import { render } from \"./AppTable.vue?vue&type=template&id=30198167&ts=true\"\nimport script from \"./AppTable.vue?vue&type=script&lang=ts\"\nexport * from \"./AppTable.vue?vue&type=script&lang=ts\"\n\nimport \"./AppTable.vue?vue&type=style&index=0&id=30198167&lang=scss\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"d-flex justify-content-end page-heading-toolbar\" }\nconst _hoisted_3 = { class: \"page-heading-toolbar--col\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BtnContent = _resolveComponent(\"BtnContent\")!\n const _component_AppButton = _resolveComponent(\"AppButton\")!\n const _component_PageMainHeading = _resolveComponent(\"PageMainHeading\")!\n const _component_CategoryTable = _resolveComponent(\"CategoryTable\")!\n const _component_AppTableController = _resolveComponent(\"AppTableController\")!\n const _component_CategoryModal = _resolveComponent(\"CategoryModal\")!\n const _component_DeleteBrandDialog = _resolveComponent(\"DeleteBrandDialog\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_PageMainHeading, { title: \"Categories\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_AppButton, {\n type: \"secondary\",\n size: \"lg\",\n onClick: _ctx.editingCategory\n }, {\n default: _withCtx(() => [\n _createVNode(_component_BtnContent, {\n icon: \"plus\",\n label: \"Create Category\"\n })\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ])\n ]),\n _: 1\n })\n ]),\n _createVNode(_component_AppTableController, {\n \"show-table\": !!_ctx.categoryList.length,\n \"empty-button-text\": \"Create Operator\",\n \"empty-key\": \"category\",\n \"empty-icon\": \"category\",\n onEmptyButtonClick: _ctx.editingCategory\n }, {\n default: _withCtx(() => [\n _createVNode(_component_CategoryTable, {\n \"categories-list\": _ctx.categoryList,\n \"total-rows-count\": _ctx.totalAccountsCount,\n \"initial-view-configuration\": _ctx.viewConfiguration,\n sort: _ctx.sortConfig,\n onChangeViewConfiguration: _ctx.changeViewConfigurationHandler,\n onRemovingCategory: _ctx.removingCategory,\n onEditingCategory: _ctx.editingCategory\n }, null, 8, [\"categories-list\", \"total-rows-count\", \"initial-view-configuration\", \"sort\", \"onChangeViewConfiguration\", \"onRemovingCategory\", \"onEditingCategory\"])\n ]),\n _: 1\n }, 8, [\"show-table\", \"onEmptyButtonClick\"]),\n _createVNode(_component_CategoryModal, {\n title: _ctx.editData?.id ? 'Edit Category' : 'Add category',\n loading: _ctx.isLoading,\n data: _ctx.editData?.id ? _ctx.editData : null,\n opened: _ctx.createCategoryOpened,\n \"create-data\": _ctx.editData,\n \"localizations-list\": _ctx.localizationList,\n onHide: _ctx.cleanData,\n onCancel: _ctx.cleanData,\n onSubmit: _ctx.actionWithCategory,\n onSaveLocalization: _ctx.saveLocalizationHandler\n }, null, 8, [\"title\", \"loading\", \"data\", \"opened\", \"create-data\", \"localizations-list\", \"onHide\", \"onCancel\", \"onSubmit\", \"onSaveLocalization\"]),\n _createVNode(_component_DeleteBrandDialog, {\n title: _ctx.editData?.title,\n opened: _ctx.deleteCategoryOpened,\n loading: _ctx.isLoading,\n photo: _ctx.editData?.icon,\n \"edit-data\": _ctx.editData,\n \"is-show\": true,\n onHide: _ctx.cleanData,\n onConfirm: _ctx.onDeleteConfirm,\n onCancel: _ctx.cleanData\n }, null, 8, [\"title\", \"opened\", \"loading\", \"photo\", \"edit-data\", \"onHide\", \"onConfirm\", \"onCancel\"])\n ], 64))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n class: \"account-wrapper\",\n style: {\"max-width\":\"100%\",\"overflow\":\"auto\"}\n}\nconst _hoisted_2 = { class: \"container\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AppTable = _resolveComponent(\"AppTable\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_AppTable, {\n \"pagination-capture-key\": \"categories\",\n \"table-head\": _ctx.tableHead,\n \"table-body\": _ctx.rows,\n \"total-rows\": _ctx.totalRowsCount,\n \"current-page\": _ctx.viewConfiguration.page,\n \"per-page\": _ctx.viewConfiguration.perPage,\n \"space-between\": false,\n onDeleteItem: _ctx.DeletingInfo,\n onEditItem: _ctx.EditingInfo,\n onChangeViewConfiguration: _ctx.changeViewConfiguration,\n onSort: _ctx.changeSorting\n }, null, 8, [\"table-head\", \"table-body\", \"total-rows\", \"current-page\", \"per-page\", \"onDeleteItem\", \"onEditItem\", \"onChangeViewConfiguration\", \"onSort\"])\n ])\n ]))\n}","\r\nimport { sortItem, sortOrders } from \"@/enums/main/sortOrders\";\r\n\r\nimport {\r\n ComputedRef,\r\n defineComponent,\r\n PropType,\r\n computed,\r\n toRefs,\r\n watch\r\n} from \"vue\";\r\nimport {\r\n ITableBodyRow,\r\n ITableHeadCell\r\n} from \"@/components/Table/ts/interfaces/TableStructure\";\r\nimport { ITableViewConfiguration } from \"@/components/Table/ts/interfaces/common\";\r\nimport AppTable from \"@/components/Table/ts/AppTable.vue\";\r\nimport { useBaseTable } from \"@/hooks/tables/useTable\";\r\nimport { ICategories } from \"@/api/interfaces/categories/ICategories\";\r\nimport { badgeTypes } from \"@/components/ui/AppBadge/interfaces\";\r\n\r\ntype tableHeadCells = ITableHeadCell[];\r\n\r\nexport type categoriesTableSort = {\r\n byName: sortItem;\r\n};\r\n\r\nexport default defineComponent({\r\n name: \"CategoryTable\",\r\n components: { AppTable },\r\n\r\n emits: {\r\n toggleBlock: null,\r\n delete: null,\r\n changeViewConfiguration: null,\r\n removingCategory: null,\r\n editingCategory: null\r\n },\r\n setup(props, { emit }) {\r\n // base\r\n\r\n const { byName } = toRefs(props.sort);\r\n\r\n const initialSortOptions: categoriesTableSort = {\r\n byName: { order: sortOrders.turnOff, keyName: \"title\" }\r\n };\r\n\r\n // table model\r\n const categoriesList: ComputedRef = computed(\r\n () => props.categoriesList\r\n );\r\n const tableRefs = useBaseTable({\r\n initialViewConfiguration: { ...props.initialViewConfiguration },\r\n\r\n initialSortOptions,\r\n model: categoriesList,\r\n generateRows(categoriesList: ICategories[]): ITableBodyRow[] {\r\n return categoriesList.map(\r\n (category: ICategories): ITableBodyRow => {\r\n const { title, active, id } = category;\r\n return {\r\n cells: [\r\n {\r\n label: title,\r\n sort: {\r\n keyName: byName?.value?.keyName || \"\",\r\n value: title,\r\n order: byName?.value?.order\r\n }\r\n },\r\n {\r\n badge: {\r\n type: active\r\n ? badgeTypes.lightSecondary\r\n : badgeTypes.danger,\r\n\r\n label: active ? \"Active\" : \"Inactive\"\r\n }\r\n },\r\n {\r\n userActions: true\r\n }\r\n ],\r\n id: id\r\n };\r\n }\r\n );\r\n },\r\n\r\n onViewConfigurationChanged(\r\n viewConfiguration: ITableViewConfiguration\r\n ): void {\r\n // get data by parent component\r\n emit(\"changeViewConfiguration\", viewConfiguration);\r\n }\r\n });\r\n\r\n const {\r\n rows,\r\n changeViewConfiguration,\r\n changeSorting,\r\n viewConfiguration,\r\n currentSort\r\n } = tableRefs;\r\n\r\n watch(\r\n props.initialViewConfiguration,\r\n (updatedConfiguration: ITableViewConfiguration) => {\r\n changeViewConfiguration(updatedConfiguration);\r\n }\r\n );\r\n\r\n return {\r\n rows,\r\n changeViewConfiguration,\r\n changeSorting,\r\n viewConfiguration,\r\n currentSort\r\n };\r\n },\r\n\r\n props: {\r\n totalRowsCount: {\r\n type: Number,\r\n required: true\r\n },\r\n\r\n categoriesList: {\r\n type: Array as PropType,\r\n required: true\r\n },\r\n\r\n sort: {\r\n type: Object as PropType,\r\n required: true\r\n },\r\n\r\n initialViewConfiguration: {\r\n type: Object as PropType,\r\n default: () => ({\r\n page: 1,\r\n perPage: 10\r\n })\r\n }\r\n },\r\n\r\n computed: {\r\n tableHead(): tableHeadCells {\r\n const { byName } = this.currentSort;\r\n return [\r\n {\r\n sort: {\r\n keyName: byName?.keyName,\r\n order: byName?.order\r\n },\r\n size: \"fluid\",\r\n label: \"name\",\r\n id: \"category-name\"\r\n },\r\n {\r\n size: \"sm\",\r\n label: \"Status\",\r\n id: \"category-status\"\r\n },\r\n {\r\n size: \"xs\",\r\n label: \"Action\",\r\n id: \"category-action\"\r\n }\r\n ];\r\n }\r\n },\r\n\r\n methods: {\r\n DeletingInfo(categoryId: any, info: ICategories) {\r\n this.$emit(\"removingCategory\", categoryId, info);\r\n },\r\n\r\n EditingInfo(categoryId: ICategories, info: ICategories) {\r\n this.$emit(\"editingCategory\", categoryId, info);\r\n }\r\n }\r\n});\r\n","import { render } from \"./CategoriesTable.vue?vue&type=template&id=ba711fda&ts=true\"\nimport script from \"./CategoriesTable.vue?vue&type=script&lang=ts\"\nexport * from \"./CategoriesTable.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createVNode as _createVNode, withCtx as _withCtx, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { key: 12 }\nconst _hoisted_2 = { class: \"mb-5\" }\nconst _hoisted_3 = { class: \"mt-3 pt-1\" }\nconst _hoisted_4 = {\n for: \"category-active\",\n class: \"d-flex align-items-center cursor-pointer\"\n}\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"d-block ms-2\" }, \"Active\", -1)\nconst _hoisted_6 = { class: \"mt-5\" }\nconst _hoisted_7 = { class: \"pt-3 pb-5\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AvatarUpload = _resolveComponent(\"AvatarUpload\")!\n const _component_AppInput = _resolveComponent(\"AppInput\")!\n const _component_AppInputsValidationProvider = _resolveComponent(\"AppInputsValidationProvider\")!\n const _component_AppCheckbox = _resolveComponent(\"AppCheckbox\")!\n const _component_AppButton = _resolveComponent(\"AppButton\")!\n const _component_TabsDialog = _resolveComponent(\"TabsDialog\")!\n\n return (_openBlock(), _createBlock(_component_TabsDialog, {\n key: 1,\n modelValue: _ctx.selectedTab,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.selectedTab) = $event)),\n tabs: _ctx.tabs,\n opened: _ctx.opened,\n title: _ctx.title,\n class: \"create-location-modal\",\n onHide: _ctx.hide\n }, {\n default: _withCtx(() => [\n (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"form\", {\n class: \"pt-5\",\n onSubmit: _cache[4] || (_cache[4] = _withModifiers(() => {}, [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.isShow)\n ? (_openBlock(), _createBlock(_component_AvatarUpload, {\n key: 0,\n modelValue: _ctx.editData.file,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.editData.file) = $event)),\n placeholder: _ctx.editData.icon,\n onFileChanged: _ctx.fileUpload\n }, null, 8, [\"modelValue\", \"placeholder\", \"onFileChanged\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_AppInputsValidationProvider, { onChangeErrorState: _ctx.onChangeErrorState }, {\n default: _withCtx(() => [\n _createVNode(_component_AppInput, {\n id: \"create-category\",\n modelValue: _ctx.editData.title,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.editData.title) = $event)),\n \"input-type\": \"material\",\n label: \"Title\",\n type: \"text\",\n \"validation-type\": \"notEmptyString\",\n name: \"image\"\n }, null, 8, [\"modelValue\"])\n ]),\n _: 1\n }, 8, [\"onChangeErrorState\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createVNode(_component_AppCheckbox, {\n id: \"category-active\",\n modelValue: _ctx.editData.active,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.editData.active) = $event)),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.editData.active = _ctx.isChecked))\n }, null, 8, [\"modelValue\"]),\n _hoisted_5\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_AppButton, {\n disabled: !_ctx.disabledButton,\n type: \"secondary\",\n size: \"xl\",\n loading: _ctx.loading,\n onClick: _ctx.submit\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.title), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"loading\", \"onClick\"])\n ])\n ], 32)\n ])),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.localizationsList, (localization) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: localization.localizationId\n }, [\n _createElementVNode(\"form\", {\n onSubmit: _cache[5] || (_cache[5] = _withModifiers(() => {}, [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_component_AppInput, {\n id: \"question-title\",\n modelValue: localization.title,\n \"onUpdate:modelValue\": ($event: any) => ((localization.title) = $event),\n \"input-type\": \"material\",\n label: \"Title\",\n type: \"text\",\n name: \"question-title\"\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ]),\n _createVNode(_component_AppButton, {\n loading: _ctx.loading,\n disabled: localization?.title === '',\n type: \"secondary\",\n size: \"xl\",\n onClick: ($event: any) => (_ctx.saveLocalization(localization))\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" Save localization \")\n ]),\n _: 2\n }, 1032, [\"loading\", \"disabled\", \"onClick\"])\n ], 32)\n ]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"modelValue\", \"tabs\", \"opened\", \"title\", \"onHide\"]))\n}","\r\nimport TabsDialog from \"@/components/ui/Modal/Dialog/TabsDialog.vue\";\r\nimport AvatarUpload from \"@/components/ui/AvatarUpload.vue\";\r\nimport AppInput from \"@/components/Form/AppInput.vue\";\r\nimport AppButton from \"@/components/ui/Buttons/AppButton.vue\";\r\nimport AppCheckbox from \"@/components/Form/AppCheckbox.vue\";\r\nimport AppInputsValidationProvider from \"@/components/Form/AppInputsValidationProvider.vue\";\r\nimport { defineComponent, PropType } from \"@vue/runtime-core\";\r\nimport { IMappedFaqLocalization } from \"@/api/services/faq/faqLocalizationsTypes\";\r\n\r\nexport interface EditData {\r\n id: number;\r\n title: string;\r\n icon: string;\r\n file: File;\r\n active: boolean;\r\n}\r\nexport default defineComponent({\r\n name: \"CategoryModal\",\r\n\r\n components: {\r\n AppCheckbox,\r\n AppButton,\r\n AppInput,\r\n AvatarUpload,\r\n TabsDialog,\r\n AppInputsValidationProvider\r\n },\r\n props: {\r\n disabled: { type: Boolean, default: true },\r\n opened: { type: Boolean, default: true },\r\n buttonText: { type: String, required: false },\r\n canCancel: { type: Boolean, default: false },\r\n isShow: { type: Boolean, default: true },\r\n title: { type: String, default: \"\" },\r\n data: {\r\n type: Object as PropType,\r\n required: false\r\n },\r\n localizationsList: {\r\n type: Array as PropType,\r\n default: () => []\r\n },\r\n loading: { type: Boolean, default: false }\r\n },\r\n emits: [\"submit\", \"hide\", \"cansel\", \"saveLocalization\"],\r\n\r\n data() {\r\n return {\r\n buttonTextUpdated: this.buttonText,\r\n categoryName: \"\",\r\n avatar: \"\",\r\n isPasswordTouch: false,\r\n valid: false,\r\n disabledButton: false,\r\n isChecked: false,\r\n editData: {} as EditData,\r\n isEditCategory: false,\r\n isCreateCategory: false,\r\n file: File,\r\n selectedTab: 0\r\n };\r\n },\r\n computed: {\r\n tabs() {\r\n const details = {\r\n title: \"Details\",\r\n id: 0\r\n };\r\n\r\n return [\r\n details,\r\n ...this.localizationsList.map((el: any) => ({\r\n title: el.short_name,\r\n id: el.localizationId\r\n }))\r\n ];\r\n }\r\n },\r\n watch: {\r\n opened() {\r\n this.selectedTab = 0;\r\n },\r\n data(data: EditData): void {\r\n if (data) {\r\n this.editData = { ...data };\r\n } else {\r\n this.editData = {} as EditData;\r\n }\r\n },\r\n editData: {\r\n handler(data) {\r\n if (data?.title?.length > 3) {\r\n if (data?.icon || data?.file?.name) {\r\n this.disabledButton = true;\r\n }\r\n } else {\r\n this.disabledButton = false;\r\n }\r\n },\r\n deep: true\r\n }\r\n },\r\n methods: {\r\n saveLocalization(localization: IMappedFaqLocalization) {\r\n this.$emit(\"saveLocalization\", localization);\r\n },\r\n async submit() {\r\n this.$emit(\"submit\", this.editData);\r\n },\r\n\r\n onChangeErrorState(error: any) {\r\n this.valid = !error;\r\n },\r\n\r\n hide() {\r\n this.$emit(\"hide\", false);\r\n },\r\n\r\n fileUpload(file: any) {\r\n this.editData.file = file;\r\n }\r\n },\r\n\r\n inheritAttrs: false\r\n});\r\n","import { render } from \"./CategoryModal.vue?vue&type=template&id=66817856&ts=true\"\nimport script from \"./CategoryModal.vue?vue&type=script&lang=ts\"\nexport * from \"./CategoryModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\nimport { useStore } from \"vuex\";\r\nimport { defineComponent, computed, watch, reactive } from \"@vue/runtime-core\";\r\nimport {\r\n IUseBaseAppLayout,\r\n useBaseAppLayout\r\n} from \"@/hooks/layout/useBaseAppLayout\";\r\nimport { ITableViewConfiguration } from \"@/components/Table/ts/interfaces/common\";\r\nimport PageMainHeading from \"@/components/Layout/PageMainHeading.vue\";\r\nimport CategoryTable from \"@/components/Table/ts/instances/categories/CategoriesTable.vue\";\r\n\r\nimport AppButton from \"@/components/ui/Buttons/AppButton.vue\";\r\nimport BtnContent from \"@/components/ui/Buttons/BtnContent.vue\";\r\nimport DeleteBrandDialog from \"@/components/ui/Modal/Dialog/instances/DeleteBrandDialog.vue\";\r\n\r\nimport CategoryModal from \"@/components/ui/Modal/Dialog/instances/CategoryModal.vue\";\r\nimport { ICategories } from \"@/api/interfaces/categories/ICategories\";\r\nimport { useUserTable } from \"@/hooks/tables/modules/usersTable/usersTable\";\r\nimport AppTableController from \"@/components/Table/ts/AppTableController.vue\";\r\nimport { useFaq } from \"@/hooks/faq/useFaq\";\r\nimport { sortOrders } from \"@/enums/main/sortOrders\";\r\nimport useFaqLocalizations from \"@/hooks/faq/useFaqLocalizations\";\r\nimport { IMappedFaqLocalization } from \"@/api/services/faq/faqLocalizationsTypes\";\r\n\r\nexport default defineComponent({\r\n name: \"Categories\",\r\n components: {\r\n DeleteBrandDialog,\r\n CategoryModal,\r\n BtnContent,\r\n AppButton,\r\n PageMainHeading,\r\n CategoryTable,\r\n AppTableController\r\n },\r\n\r\n setup() {\r\n const store = useStore();\r\n\r\n const viewConfiguration: ITableViewConfiguration = reactive({\r\n page: 1,\r\n perPage: 10\r\n });\r\n const options = {\r\n viewConfiguration,\r\n selectedTab: {\r\n id: null\r\n }\r\n };\r\n\r\n const {\r\n requestCategoriesHandler,\r\n changeViewConfigurationHandler,\r\n addEditCategory,\r\n removeCategory\r\n } = useFaq(options);\r\n const {\r\n localizationList,\r\n startEditing,\r\n saveLocalization,\r\n cleanLocalizationData\r\n } = useFaqLocalizations(options);\r\n // Page layout refs\r\n const layoutRefs: IUseBaseAppLayout = useBaseAppLayout({\r\n initialSearchQuery: \"\",\r\n onFiltersChange: requestCategoriesHandler,\r\n onChangeSearchQuery: () => {\r\n changeViewConfigurationHandler({\r\n page: 1,\r\n perPage: viewConfiguration.perPage\r\n });\r\n }\r\n });\r\n\r\n watch(viewConfiguration, () => requestCategoriesHandler());\r\n\r\n requestCategoriesHandler();\r\n\r\n return {\r\n ...layoutRefs,\r\n ...useUserTable(),\r\n viewConfiguration,\r\n categoryList: computed(() => store.getters.categoriesList),\r\n totalAccountsCount: computed(() => store.getters.totalCategories),\r\n localizationList,\r\n startEditing,\r\n saveLocalization,\r\n cleanLocalizationData,\r\n requestCategoriesHandler,\r\n changeViewConfigurationHandler,\r\n addEditCategory,\r\n removeCategory\r\n };\r\n },\r\n\r\n data() {\r\n return {\r\n editText: \"\",\r\n editId: 0,\r\n isLoading: false,\r\n createCategoryOpened: false,\r\n sortConfig: {\r\n byName: { order: sortOrders.asc, keyName: \"title\" }\r\n },\r\n deleteCategoryOpened: false,\r\n editData: {} as ICategories | undefined\r\n };\r\n },\r\n\r\n computed: {\r\n emptyText(): string {\r\n this.requestCategoriesHandler?.();\r\n\r\n return `No categories found!`;\r\n }\r\n },\r\n\r\n methods: {\r\n async removingCategory(cId: number): Promise {\r\n this.editId = cId;\r\n this.editData = this.categoryList.find(\r\n (categoryItem: any) => categoryItem.id == cId\r\n );\r\n this.deleteCategoryOpened = true;\r\n },\r\n\r\n cleanData(): void {\r\n this.editData = {} as ICategories | undefined;\r\n this.deleteCategoryOpened = false;\r\n this.createCategoryOpened = false;\r\n this.cleanLocalizationData();\r\n },\r\n\r\n async editingCategory(cId: number) {\r\n typeof cId === \"number\" && this.startEditing(cId);\r\n this.editId = cId;\r\n this.createCategoryOpened = true;\r\n\r\n this.editData = this.categoryList.find(\r\n (categoryItem: any) => categoryItem.id == cId\r\n );\r\n },\r\n\r\n async actionWithCategory(dataCategory: any) {\r\n this.isLoading = true;\r\n let success = false;\r\n if (dataCategory.id) {\r\n success = await this.addEditCategory(dataCategory, \"patch\");\r\n } else {\r\n success = await this.addEditCategory(dataCategory, \"post\");\r\n }\r\n if (success) {\r\n this.createCategoryOpened = false;\r\n this.cleanData();\r\n this.requestCategoriesHandler?.();\r\n }\r\n this.isLoading = false;\r\n },\r\n\r\n async saveLocalizationHandler(localization: IMappedFaqLocalization) {\r\n this.isLoading = true;\r\n const success = await this.saveLocalization(localization);\r\n if (success) {\r\n this.createCategoryOpened = false;\r\n this.cleanData();\r\n }\r\n this.isLoading = false;\r\n },\r\n\r\n async onDeleteConfirm(): Promise {\r\n this.isLoading = true;\r\n const success = await this.removeCategory(this.editData?.id || -1);\r\n if (success) {\r\n this.deleteCategoryOpened = false;\r\n this.cleanData();\r\n this.requestCategoriesHandler?.();\r\n }\r\n this.isLoading = false;\r\n }\r\n }\r\n});\r\n","import { render } from \"./Categories.vue?vue&type=template&id=43cb499a&ts=true\"\nimport script from \"./Categories.vue?vue&type=script&lang=ts\"\nexport * from \"./Categories.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\Bohdan\\\\telesim_test\\\\telesim-admin-panel\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { ref, Ref } from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport { AddUserModalDto, userTypes } from \"@/api/interfaces/users/users.dto\";\r\nimport { userExtraInfo } from \"@/hooks/tables/modules/usersTable/usersTable\";\r\nimport { ICreateUser } from \"@/hooks/tables/modules/usersTable/types\";\r\n\r\nexport function useCreateUser(): ICreateUser {\r\n const store = useStore();\r\n\r\n const creationLoading: Ref = ref(false);\r\n const createUserDialogOpened: Ref = ref(false);\r\n const onCreateSubmitResolved: Ref = ref(null);\r\n\r\n return {\r\n creationLoading,\r\n createUserDialogOpened,\r\n\r\n // methods\r\n onCreateSubmitResolved,\r\n setOnCreateSubmitResolved(onResolve: Function) {\r\n onCreateSubmitResolved.value = onResolve;\r\n },\r\n\r\n showCreateUserDialog() {\r\n createUserDialogOpened.value = true;\r\n },\r\n\r\n async createUser(\r\n data: AddUserModalDto,\r\n extra: userExtraInfo = { type: userTypes.user },\r\n onUserCreated?: Function\r\n ) {\r\n creationLoading.value = true;\r\n const { avatar, ...userInfo } = data;\r\n const { success, message, data: userId } = await store.dispatch(\r\n \"addUser\",\r\n {\r\n ...userInfo,\r\n type: extra.type\r\n }\r\n );\r\n\r\n if (!success && message) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n\r\n onCreateSubmitResolved.value?.(success);\r\n\r\n if (avatar) {\r\n await store.dispatch(\"uploadUserAvatar\", {\r\n avatar: avatar,\r\n id: userId\r\n });\r\n }\r\n\r\n onUserCreated?.();\r\n createUserDialogOpened.value = false;\r\n creationLoading.value = false;\r\n }\r\n };\r\n}\r\n","import { reactive, ref } from \"vue\";\r\nimport { userId } from \"@/store/interfaces/auth/common\";\r\nimport { IUserAccount } from \"@/store/interfaces/accounts/IUserAccount\";\r\nimport {\r\n IDeleteUser,\r\n ISelectedUser\r\n} from \"@/hooks/tables/modules/usersTable/types\";\r\nimport { useStore } from \"vuex\";\r\n\r\nexport function useDeleteUser(): IDeleteUser {\r\n const store = useStore();\r\n\r\n const deleteUserDialogOpened = ref(false);\r\n const deleteUserLoading = ref(false);\r\n\r\n const selectedUser: ISelectedUser = reactive({\r\n id: null,\r\n name: null,\r\n email: null,\r\n avatar: null\r\n });\r\n\r\n return {\r\n deleteUserDialogOpened,\r\n selectedUser,\r\n deleteUserLoading,\r\n selectUserToDelete(userList: IUserAccount[], id: userId) {\r\n const user = userList.find(user => id === user.id);\r\n\r\n if (user) {\r\n const { email, fullName: name, image: avatar } = user;\r\n\r\n selectedUser.email = email;\r\n selectedUser.name = name;\r\n selectedUser.avatar = avatar;\r\n selectedUser.id = id;\r\n\r\n deleteUserDialogOpened.value = true;\r\n }\r\n },\r\n\r\n async deleteUser(onUserDelete?: Function) {\r\n deleteUserLoading.value = true;\r\n const { success, message } = await store.dispatch(\"removeUser\", {\r\n id: selectedUser.id\r\n });\r\n\r\n if (!success) {\r\n await store.dispatch(\"showErrorNotification\", message);\r\n }\r\n\r\n onUserDelete?.();\r\n deleteUserDialogOpened.value = false;\r\n deleteUserLoading.value = false;\r\n }\r\n };\r\n}\r\n","import { userType } from \"@/api/interfaces/users/users.dto\";\r\nimport { useCreateUser } from \"@/hooks/tables/modules/usersTable/useCreateUser\";\r\nimport {\r\n ICreateUser,\r\n IDeleteUser\r\n} from \"@/hooks/tables/modules/usersTable/types\";\r\nimport { useDeleteUser } from \"@/hooks/tables/modules/usersTable/useDeleteUser\";\r\n\r\nexport type userExtraInfo = {\r\n type?: userType;\r\n};\r\n\r\nexport interface IUserUserTable extends ICreateUser, IDeleteUser {}\r\n\r\nexport function useUserTable(): IUserUserTable {\r\n const creationData: ICreateUser = useCreateUser();\r\n const deleteData: IDeleteUser = useDeleteUser();\r\n\r\n return { ...creationData, ...deleteData };\r\n}\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AppTableController.vue?vue&type=style&index=0&id=ea90f002&lang=scss\"","module.exports = __webpack_public_path__ + \"img/avatar-placeholder.a1fc07ae.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bgColor\":\"#f5f6fa\",\"fontColor\":\"#333\",\"lightColor\":\"#fff\",\"primaryColor\":\"#2f80ed\",\"successColor\":\"#27ae60\",\"warningColor\":\"#f2994a\",\"warningLightColor\":\"#fef5ed\",\"dangerColor\":\"#eb5757\",\"dangerLightColor\":\"#fdefef\",\"darkBackgroundColor\":\"rgba(0,0,0,.1)\",\"activeMenuItemGradient\":\"linear-gradient(0deg, #F3F4F8, #F3F4F8)\",\"gradientPrimaryLight\":\"linear-gradient(90.25deg, #DFE9F7 1.96%, #F5F6FA 99.73%)\",\"gradientPrimaryLightTransparent\":\"linear-gradient(90.25deg, #DFE9F7 1.96%, #F5F6FA 99.73%)\",\"colIndent\":\"1rem\",\"tableColXxs\":\"4rem\",\"tableColXs\":\"5.2rem\",\"tableColSm\":\"7rem\",\"tableColSmL\":\"9.5rem\",\"tableColMd\":\"11.5rem\",\"tableColLg\":\"18rem\",\"tableColXg\":\"25rem\",\"buttonSizesArray\":\"icon,xs,sm,smL,md-fluid,md,lg,xl,fluid\"};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AppCheckbox.vue?vue&type=style&index=0&id=07b72113&scoped=true&lang=scss\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bgColor\":\"#f5f6fa\",\"fontColor\":\"#333\",\"lightColor\":\"#fff\",\"primaryColor\":\"#2f80ed\",\"successColor\":\"#27ae60\",\"warningColor\":\"#f2994a\",\"warningLightColor\":\"#fef5ed\",\"dangerColor\":\"#eb5757\",\"dangerLightColor\":\"#fdefef\",\"darkBackgroundColor\":\"rgba(0,0,0,.1)\",\"activeMenuItemGradient\":\"linear-gradient(0deg, #F3F4F8, #F3F4F8)\",\"gradientPrimaryLight\":\"linear-gradient(90.25deg, #DFE9F7 1.96%, #F5F6FA 99.73%)\",\"gradientPrimaryLightTransparent\":\"linear-gradient(90.25deg, #DFE9F7 1.96%, #F5F6FA 99.73%)\",\"colIndent\":\"1rem\",\"tableColXxs\":\"4rem\",\"tableColXs\":\"5.2rem\",\"tableColSm\":\"7rem\",\"tableColSmL\":\"9.5rem\",\"tableColMd\":\"11.5rem\",\"tableColLg\":\"18rem\",\"tableColXg\":\"25rem\",\"buttonSizesArray\":\"icon,xs,sm,smL,md-fluid,md,lg,xl,fluid\"};","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./DeleteBrandDialog.vue?vue&type=style&index=0&id=c07b11c0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./EmptyBlock.vue?vue&type=style&index=0&id=28469b4f&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./FullscreenLoader.vue?vue&type=style&index=0&id=4b07da65&lang=scss\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bgColor\":\"#f5f6fa\",\"fontColor\":\"#333\",\"lightColor\":\"#fff\",\"primaryColor\":\"#2f80ed\",\"successColor\":\"#27ae60\",\"warningColor\":\"#f2994a\",\"warningLightColor\":\"#fef5ed\",\"dangerColor\":\"#eb5757\",\"dangerLightColor\":\"#fdefef\",\"darkBackgroundColor\":\"rgba(0,0,0,.1)\",\"activeMenuItemGradient\":\"linear-gradient(0deg, #F3F4F8, #F3F4F8)\",\"gradientPrimaryLight\":\"linear-gradient(90.25deg, #DFE9F7 1.96%, #F5F6FA 99.73%)\",\"gradientPrimaryLightTransparent\":\"linear-gradient(90.25deg, #DFE9F7 1.96%, #F5F6FA 99.73%)\",\"colIndent\":\"1rem\",\"tableColXxs\":\"4rem\",\"tableColXs\":\"5.2rem\",\"tableColSm\":\"7rem\",\"tableColSmL\":\"9.5rem\",\"tableColMd\":\"11.5rem\",\"tableColLg\":\"18rem\",\"tableColXg\":\"25rem\",\"buttonSizesArray\":\"icon,xs,sm,smL,md-fluid,md,lg,xl,fluid\"};"],"sourceRoot":""}