{"version":3,"sources":["webpack:///./src/components/ui/FileUploader.vue?076c","webpack:///./src/hooks/faq/useFaq.ts","webpack:///./src/components/ui/FullscreenLoader.vue?9dd2","webpack:///./src/components/Table/ts/AppTable.vue?3d31","webpack:///./src/components/AppTabs/AppTabsHead.vue?46ae","webpack:///./src/components/AppTabs/AppTabsHead.vue","webpack:///./src/components/AppTabs/AppTabsHead.vue?aa72","webpack:///./src/components/ui/Modal/Dialog/TabsDialog.vue?9722","webpack:///./src/components/ui/Modal/Dialog/TabsDialog.vue","webpack:///./src/components/ui/Modal/Dialog/TabsDialog.vue?7462","webpack:///./src/hooks/layout/useBaseAppLayout.ts","webpack:///./src/components/ui/FileUploader.vue?b953","webpack:///./src/components/ui/AvatarUpload.vue?73d6","webpack:///./src/hooks/faq/useFaqLocalizations.ts","webpack:///./src/components/ui/AvatarUpload.vue?a94c","webpack:///./src/components/ui/Modal/Dialog/instances/DeleteBrandDialog.vue","webpack:///./src/components/ui/Modal/Dialog/instances/DeleteBrandDialog.vue?9175","webpack:///./src/hooks/localizations/useLocalizations.ts","webpack:///./src/hooks/locations/new/modules/location.update.ts","webpack:///./src/components/ui/AvatarUpload.vue?045c","webpack:///./src/components/ui/FileUploader.vue?a979","webpack:///./src/components/ui/FileUploader.vue","webpack:///./src/components/ui/FileUploader.vue?28f7","webpack:///./src/components/ui/AvatarUpload.vue","webpack:///./src/components/ui/AvatarUpload.vue?1d18","webpack:///./src/components/AppTabs/AppTabsBody.vue","webpack:///./src/components/AppTabs/AppTabsBody.vue?6023","webpack:///./src/components/AppTabs/AppTabsBody.vue?abc2","webpack:///./src/components/Form/AppCheckbox.vue","webpack:///./src/components/Form/AppCheckbox.vue?3abe","webpack:///./src/components/ui/FullscreenLoader.vue","webpack:///./src/components/ui/FullscreenLoader.vue?5e8b","webpack:///./src/components/Table/ts/AppTable.vue?2bd8","webpack:///./src/api/interfaces/users/users.dto.ts","webpack:///./src/utills/files/fileRender.js","webpack:///./src/components/Table/ts/AppTableController.vue?db59","webpack:///./src/components/ui/EmptyBlock.vue?3b14","webpack:///./src/components/ui/EmptyBlock.vue","webpack:///./src/components/ui/EmptyBlock.vue?24ef","webpack:///./src/components/Table/ts/AppTableController.vue","webpack:///./src/components/Table/ts/AppTableController.vue?27b8","webpack:///./src/components/Table/ts/AppTable.vue?2623","webpack:///./src/components/Table/ts/AppTable.vue","webpack:///./src/components/Table/ts/AppTable.vue?81e5","webpack:///./src/components/ui/Modal/Dialog/instances/DeleteBrandDialog.vue?16b0","webpack:///./src/views/faq/Categories.vue?f651","webpack:///./src/components/Table/ts/instances/categories/CategoriesTable.vue?a17e","webpack:///./src/components/Table/ts/instances/categories/CategoriesTable.vue","webpack:///./src/components/Table/ts/instances/categories/CategoriesTable.vue?af65","webpack:///./src/components/ui/Modal/Dialog/instances/CategoryModal.vue?0a76","webpack:///./src/components/ui/Modal/Dialog/instances/CategoryModal.vue","webpack:///./src/components/ui/Modal/Dialog/instances/CategoryModal.vue?65e6","webpack:///./src/views/faq/Categories.vue","webpack:///./src/views/faq/Categories.vue?b115","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?7b54","webpack:///./src/assets/icons/avatar-placeholder.svg","webpack:///./src/components/Form/AppCheckbox.vue?bb34","webpack:///./src/components/ui/Modal/Dialog/instances/DeleteBrandDialog.vue?150d","webpack:///./src/components/Table/ts/AppTableController.vue?e681","webpack:///./src/components/ui/EmptyBlock.vue?c416","webpack:///./src/components/AppTabs/AppTabsHead.vue?5a59","webpack:///./src/components/ui/FullscreenLoader.vue?7e12"],"names":["module","exports","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","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","advantagesHeader","advantagesTitle","advantagesDescription","keywords","initialSavedLocations","countries","subregions","image","updateLocation","ctx","baseLoading","baseLocationsLoading","location","locationFaqList","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","result","results","mapLocalization","locationLocalization","mapLocationFaq","locatoinFaq","fetchLocationLocalization","locationFaqListData","fetchLocationFaqList","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","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.6af91d25.js","sourcesContent":["// 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 { httpMethodType, IBaseQuery } from \"@/api/interfaces/IApi\";\nimport { useStore } from \"vuex\";\nimport { ITableViewConfiguration } from \"@/components/Table/ts/interfaces/common\";\nimport { ICategories } from \"@/api/interfaces/categories/ICategories\";\nimport { IQuestions } from \"@/api/interfaces/questions/IQuestions\";\nimport { EditData } from \"@/components/ui/Modal/Dialog/instances/CategoryModal.vue\";\n\nexport type useBaseAppLayoutOptions = {\n viewConfiguration: IBaseQuery;\n selectedTab: { id: number | null };\n};\n\nexport interface categoriesData {\n id: number;\n selected: boolean;\n name: string;\n}\n\ninterface editDeviceData {\n title: string;\n active: boolean;\n brand?: string;\n icon?: string;\n id?: number;\n}\n\nexport function useFaq(options: useBaseAppLayoutOptions) {\n const { viewConfiguration, selectedTab } = options;\n const store = useStore();\n\n function categoriesToSelect(categories: ICategories[]): categoriesData[] {\n return categories.map(el => ({\n id: el.id,\n name: el.title,\n selected: false\n }));\n }\n async function requestQuestionHandler(): Promise {\n await store.dispatch(\"setAppLoading\", true);\n const { success, message } = await store.dispatch(\"fetchQuestionList\", {\n query: viewConfiguration,\n id: selectedTab.id\n });\n\n if (!success) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n await store.dispatch(\"setAppLoading\", false);\n }\n async function requestCategoriesHandler(): Promise {\n await store.dispatch(\"setAppLoading\", true);\n\n const { success, message } = await store.dispatch(\"fetchCategoriesList\", {\n query: viewConfiguration\n });\n if (!success) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n\n await store.dispatch(\"setAppLoading\", false);\n }\n\n function changeViewConfigurationHandler({\n page,\n perPage\n }: ITableViewConfiguration): void {\n if (\n page === viewConfiguration.page &&\n perPage !== viewConfiguration.perPage\n ) {\n viewConfiguration.page = 1;\n } else {\n viewConfiguration.page = page;\n }\n\n viewConfiguration.perPage = perPage;\n }\n async function removeQuestion(id: number): Promise {\n await store.dispatch(\"setAppLoading\", true);\n\n const { success, message } = await store.dispatch(\"removeQuestion\", { id });\n\n if (!success) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n await store.dispatch(\"setAppLoading\", false);\n return success;\n }\n\n async function editQuestion(reqData: IQuestions): Promise {\n const { id, ...data } = reqData;\n const { success, message } = await store.dispatch(\"editQuestion\", {\n data,\n id\n });\n\n if (!success) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n\n await store.dispatch(\"setAppLoading\", false);\n return success;\n }\n\n async function addQuestion(data: IQuestions): Promise {\n const { success, message } = await store.dispatch(\"addQuestion\", {\n data: {\n categoryId: data.category,\n ...data\n }\n });\n\n if (!success) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n\n await store.dispatch(\"setAppLoading\", false);\n return success;\n }\n\n async function addEditCategory(\n dataCategory: EditData,\n method: httpMethodType\n ): Promise {\n await store.dispatch(\"setAppLoading\", true);\n const { active, title, id } = dataCategory;\n const { success, message } = await store.dispatch(\"addEditCategory\", {\n data: { active, title },\n method,\n file: dataCategory.file,\n id\n });\n\n if (!success) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n\n await store.dispatch(\"setAppLoading\", false);\n return success;\n }\n\n async function removeCategory(id: number): Promise {\n await store.dispatch(\"setAppLoading\", true);\n\n const { success, message } = await store.dispatch(\"removeCategory\", { id });\n\n if (!success) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n\n await store.dispatch(\"setAppLoading\", false);\n return success;\n }\n return {\n editQuestion,\n addQuestion,\n removeQuestion,\n categoriesToSelect,\n changeViewConfigurationHandler,\n requestQuestionHandler,\n requestCategoriesHandler,\n addEditCategory,\n removeCategory\n };\n}\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\"};","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../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-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-7c3fe4ca\"),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({\n 'margin-left': _ctx.margin ? '20px' : '0'\n })\n }, [\n _createVNode(_Transition, { name: \"x-left\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-controller-control scroll-controller-control--left\", {\n active: _ctx.showPrevButton\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\", {\n active: _ctx.showNextButton\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}","\nimport {\n defineComponent,\n nextTick,\n onBeforeUnmount,\n onMounted,\n PropType,\n ref,\n Ref,\n watch\n} from \"vue\";\nimport { computed } from \"@vue/reactivity\";\nimport SortButton from \"../ui/SortButton.vue\";\n\nexport default defineComponent({\n name: \"AppTabsHead\",\n components: { SortButton },\n props: {\n modelValue: {\n type: Number,\n default: 0\n },\n tabs: {\n type: Array as PropType,\n required: true\n },\n margin: {\n type: Boolean,\n default: false\n }\n },\n emits: [\"update:modelValue\"],\n setup(props, { emit }) {\n const scrollItems: Ref = ref([]);\n const scrollController: Ref = ref(null);\n const scrollContent: Ref = ref(null);\n const scrollControllerWidth = ref(0);\n const scrollContentWidth = ref(0);\n\n const scrollCount = ref(0);\n const scrollTimeout = ref(setTimeout(() => {}));\n\n watch(\n () => scrollCount.value,\n count => {\n if (scrollController.value) {\n scrollController.value.scroll({\n top: 0,\n left: count,\n behavior: \"smooth\"\n });\n }\n },\n { immediate: true }\n );\n\n const scrollable = computed(\n () => scrollControllerWidth.value < scrollContentWidth.value\n );\n const showPrevButton = computed(() => {\n return scrollCount.value > 10;\n });\n\n const showNextButton = computed(() => {\n return (\n scrollable &&\n scrollCount.value <\n scrollContentWidth.value - scrollControllerWidth.value - 15\n );\n });\n\n function resizeHandler(link: Ref) {\n return ([{ contentRect }]: ResizeObserverEntry[]) => {\n link.value = contentRect.width;\n };\n }\n\n const controllerResizeObserver = new ResizeObserver(\n resizeHandler(scrollControllerWidth)\n );\n\n const contentResizeObserver = new ResizeObserver(\n resizeHandler(scrollContentWidth)\n );\n\n onMounted(() => {\n nextTick(() => {\n if (scrollController.value) {\n controllerResizeObserver.observe(scrollController.value);\n scrollControllerWidth.value = scrollController.value.getBoundingClientRect().width;\n scrollController.value.addEventListener(\"scroll\", onScrollHandler);\n }\n\n if (scrollContent.value) {\n contentResizeObserver.observe(scrollContent.value);\n scrollContentWidth.value = scrollContent.value.getBoundingClientRect().width;\n }\n });\n });\n\n onBeforeUnmount(() => {\n contentResizeObserver.disconnect();\n contentResizeObserver.disconnect();\n scrollController.value &&\n scrollController.value.removeEventListener(\"scroll\", onScrollHandler);\n });\n\n function setScrollItem(item: HTMLElement) {\n if (!item || scrollItems.value.includes(item)) return;\n nextTick(() => {\n scrollItems.value.push(item);\n });\n }\n\n function onScrollHandler() {\n clearTimeout(scrollTimeout.value);\n\n scrollTimeout.value = setTimeout(() => {\n if (scrollController.value) {\n scrollCount.value = scrollController.value.scrollLeft;\n }\n }, 100);\n }\n\n function scrollToHandler(direction: \"forward\" | \"backward\") {\n if (direction === \"forward\") {\n scrollCount.value = scrollCount.value + 300;\n return;\n }\n\n scrollCount.value = scrollCount.value - 300;\n }\n\n return {\n setScrollItem,\n showPrevButton,\n showNextButton,\n scrollToHandler,\n scrollContentWidth,\n scrollControllerWidth,\n scrollController,\n scrollContent,\n scrollCount,\n selectTabHandler(idx: number) {\n emit(\"update:modelValue\", idx);\n }\n };\n }\n});\n","import { render } from \"./AppTabsHead.vue?vue&type=template&id=7c3fe4ca&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=7c3fe4ca&scoped=true&lang=scss\"\n\nimport exportComponent from \"/var/www/html/telesim-admin-panel/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7c3fe4ca\"]])\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}","\nimport { defineComponent, PropType } from \"vue\";\nimport Dialog from \"@/components/ui/Modal/Dialog/Dialog.vue\";\nimport AppTabsHead from \"@/components/AppTabs/AppTabsHead.vue\";\nimport AppTabsBody from \"@/components/AppTabs/AppTabsBody.vue\";\nimport { ITab } from \"@/store/interfaces/common\";\n\nexport default defineComponent({\n name: \"TabsDialog\",\n components: { AppTabsBody, AppTabsHead, Dialog },\n inheritAttrs: false,\n\n props: {\n opened: { type: Boolean, default: false },\n tabs: {\n type: Array as PropType,\n required: true\n },\n\n modelValue: {\n type: Number,\n default: 0\n }\n },\n emits: [\"hide\", \"update:modelValue\"],\n data() {\n return {\n selectedTabIdx: this.modelValue\n };\n },\n\n computed: {\n tabsHead() {\n return this.tabs.map(({ title }: ITab) => title);\n }\n },\n\n watch: {\n selectedTabIdx(idx) {\n if (idx === this.modelValue) return;\n this.$emit(\"update:modelValue\", idx);\n },\n\n modelValue(idx) {\n if (idx === this.selectedTabIdx) return;\n this.selectedTabIdx = idx;\n }\n },\n\n methods: {\n hide() {\n this.$emit(\"hide\");\n }\n }\n});\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 \"/var/www/html/telesim-admin-panel/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\";\nimport { computed } from \"@vue/reactivity\";\n\nexport type pageFilter = {\n name: string;\n id: string;\n selected: boolean;\n};\n\nexport type useBaseAppLayoutOptions = {\n initialSearchQuery?: string;\n filterOptions?: string[];\n initialSelectedFilterOptionIdx?: number;\n onFiltersChange?: () => void;\n onChangeSearchQuery?: () => void;\n};\n\nexport interface IUseBaseAppLayout {\n filter: pageFilter[];\n selectedFilterOption: ComputedRef;\n searchQuery: Ref;\n\n searchHandler: (evt: Event) => void;\n onFilterSelect: (id: string) => void | Promise;\n}\n\nfunction mapFilterOptions(\n options: string[],\n selectedIdx: number | undefined = 0\n): pageFilter[] {\n return options.map(\n (option: string, idx: number): pageFilter => ({\n name: option,\n id: option,\n selected: idx === selectedIdx\n })\n );\n}\n\nexport function useBaseAppLayout(\n options: useBaseAppLayoutOptions\n): IUseBaseAppLayout {\n const {\n initialSearchQuery = \"\",\n filterOptions,\n initialSelectedFilterOptionIdx,\n onFiltersChange,\n onChangeSearchQuery\n } = options;\n\n const searchQuery: Ref = ref(initialSearchQuery);\n let filter: pageFilter[] | null = null;\n\n if (filterOptions) {\n filter = reactive(\n mapFilterOptions(filterOptions, initialSelectedFilterOptionIdx)\n );\n }\n\n if (onFiltersChange instanceof Function) {\n const watchable = [searchQuery, filter];\n\n watchable.forEach((ref: any, idx: number) => {\n watch(ref, () => {\n if (idx === 0 && onChangeSearchQuery) {\n onChangeSearchQuery();\n }\n\n onFiltersChange();\n });\n });\n }\n\n return {\n filter: filter || [],\n searchQuery,\n selectedFilterOption: computed(() => {\n if (!filter) {\n return null;\n }\n\n return filter.find(({ selected }) => !!selected) || null;\n }),\n\n searchHandler: ({ target }: Event) => {\n if (target) {\n searchQuery.value = (target as HTMLInputElement).value;\n }\n },\n\n onFilterSelect: (id: string): void => {\n if (filter) {\n filter.forEach((option: pageFilter) => {\n option.selected = option.id === id;\n });\n }\n }\n };\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../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-loader-v16/dist/index.js??ref--1-1!./FileUploader.vue?vue&type=style&index=0&id=a15c207c&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../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-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\";\nimport { Ref } from \"vue\";\nimport { useStore } from \"vuex\";\nimport useLocalizations from \"@/hooks/localizations/useLocalizations\";\nimport { ILocalizations } from \"@/api/interfaces/localizations/ILocalizations\";\nimport {\n IFetchFaqLocalizationData,\n IMappedFaqLocalization\n} from \"@/api/services/faq/faqLocalizationsTypes\";\nimport { useBaseAppLayoutOptions } from \"./useFaq\";\n\nexport default function useAboutLocalizations(\n options: useBaseAppLayoutOptions\n) {\n const { selectedTab } = options;\n const store = useStore();\n const localizationList: Ref = ref([]);\n const { localizations } = useLocalizations();\n\n const fetchFaqLocalization = async (faqRecordId: number) => {\n const { data } = await store.dispatch(\"fetchFaqLocalizations\", {\n faqRecordId,\n type: selectedTab?.id ? \"question\" : \"category\"\n });\n return data;\n };\n\n const mapFaq = (\n faqLocalization: IFetchFaqLocalizationData[],\n id: number\n ): IMappedFaqLocalization[] => {\n return localizations.value.map((localization: ILocalizations) => {\n const matchingLocalization = faqLocalization?.find(\n (localizationItem: any) =>\n localizationItem.localization?.id === localization?.id\n );\n const title = matchingLocalization ? matchingLocalization.title : \"\";\n const description = matchingLocalization\n ? matchingLocalization.description\n : \"\";\n return {\n ...localization,\n id: matchingLocalization?.id || null,\n localizationId: localization?.id,\n title,\n description,\n faqRecordId: id || -1\n };\n });\n };\n\n const startEditing = async (id: number) => {\n const faqLocalization: IFetchFaqLocalizationData[] = await fetchFaqLocalization(\n id\n );\n\n localizationList.value = mapFaq(faqLocalization, id);\n };\n\n const saveLocalization = async (\n localization: IMappedFaqLocalization\n ): Promise => {\n await store.dispatch(\"setAppLoading\", true);\n\n const { success, message } = await store.dispatch(\"editFaqLocalization\", {\n editData: localization,\n type: selectedTab?.id ? \"question\" : \"category\"\n });\n\n if (!success) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n\n cleanLocalizationData();\n await store.dispatch(\"setAppLoading\", false);\n return success;\n };\n\n const cleanLocalizationData = () => {\n localizationList.value = [];\n };\n\n return {\n localizations,\n localizationList,\n startEditing,\n saveLocalization,\n cleanLocalizationData\n };\n}\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\"};","\n\n\n\n\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 \"/var/www/html/telesim-admin-panel/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\";\nimport { useStore } from \"vuex\";\nimport { ITableViewConfiguration } from \"@/components/Table/ts/interfaces/common\";\nimport { ICreateLocalizationDto } from \"@/api/services/localizations/localizationsTypes\";\nimport { isImage } from \"../locations/new/modules/location.update\";\nimport { computed, reactive, ref, watch } from \"vue\";\nimport { api } from \"@/api/Api\";\nimport { ILocalizations } from \"@/api/interfaces/localizations/ILocalizations\";\nimport {\n IUseBaseAppLayout,\n useBaseAppLayout\n} from \"../layout/useBaseAppLayout\";\n\ninterface editLocalizationData {\n id?: number;\n short_name?: string;\n full_name?: string;\n icon?: string;\n active?: boolean;\n}\n\nexport default function useLocalizations() {\n const store = useStore();\n const viewConfiguration: ITableViewConfiguration = reactive({\n page: 1,\n perPage: 10\n });\n\n const initialLocalization: editLocalizationData = {\n id: -1,\n short_name: \"\",\n full_name: \"\",\n icon: \"\",\n active: false\n };\n\n const layoutRefs: IUseBaseAppLayout = useBaseAppLayout({\n initialSearchQuery: \"\",\n onFiltersChange: requestLocalizationsHandler,\n onChangeSearchQuery: () => {\n changeViewConfigurationHandler({\n page: 1,\n perPage: viewConfiguration.perPage\n });\n }\n });\n\n watch(viewConfiguration, () => requestLocalizationsHandler());\n\n requestLocalizationsHandler();\n const localizations = computed(() => store.getters.localizations);\n const totalLocalizationsCount = computed(\n () => store.getters.totalLocalizations\n );\n\n const modalActionLoading = ref(false);\n const updateModalOpened = ref(false);\n const deletePageOpened = ref(false);\n const editId = ref(0);\n const editData = ref({} as ILocalizations | undefined);\n\n async function requestLocalizationsHandler(): Promise {\n await store.dispatch(\"setAppLoading\", true);\n const query = Object.assign(viewConfiguration, { all: true });\n const { success, message } = await store.dispatch(\"fetchLocalizations\", {\n query\n });\n if (!success) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n\n await store.dispatch(\"setAppLoading\", false);\n }\n\n function changeViewConfigurationHandler({\n page,\n perPage\n }: ITableViewConfiguration): void {\n if (\n page === viewConfiguration.page &&\n perPage !== viewConfiguration.perPage\n ) {\n viewConfiguration.page = 1;\n } else {\n viewConfiguration.page = page;\n }\n\n viewConfiguration.perPage = perPage;\n }\n\n async function saveIcon(\n action: \"create\" | \"edit\",\n data: {\n short_name: string;\n active: boolean;\n icon?: string;\n full_name: string;\n },\n updatedLocation: editLocalizationData,\n id: number | null\n ) {\n if (action === \"create\") return;\n\n const { short_name, active, icon, full_name } = data;\n\n const payload: ICreateLocalizationDto = {\n short_name,\n active,\n images: {},\n full_name\n };\n\n isImage(icon) && (payload.images.icon = icon as string);\n\n const res = id && (await updateLocalization(id, payload));\n await requestLocalizationsHandler();\n return res;\n }\n\n async function updateLocalization(\n id: number,\n payload: ICreateLocalizationDto\n ) {\n modalActionLoading.value = true;\n\n const { success, message, data } = await api.editLocalization(payload, id);\n if (!success && message) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n modalActionLoading.value = false;\n return data;\n }\n\n async function saveUpdates(\n action: \"create\" | \"edit\",\n data: {\n short_name: string;\n active: boolean;\n icon?: string;\n full_name: string;\n },\n id?: number | null\n ) {\n const { short_name, active, icon, full_name } = data;\n\n const payload: ICreateLocalizationDto = {\n short_name,\n active,\n images: {},\n full_name\n };\n\n isImage(icon) && (payload.images.icon = icon as string);\n const res =\n action === \"create\"\n ? await createLocalization(payload)\n : id && (await updateLocalization(id, payload));\n\n updateModalOpened.value = false;\n await requestLocalizationsHandler();\n endUpdating();\n\n return res;\n }\n\n async function createLocalization(payload: ICreateLocalizationDto) {\n modalActionLoading.value = true;\n\n const { success, message, data } = await api.createLocalization(payload);\n if (!success && message) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n modalActionLoading.value = false;\n return data;\n }\n\n async function onDeleteConfirm(): Promise {\n modalActionLoading.value = true;\n if (!editData.value?.id) return;\n const { success, message } = await api.removeLocalization(editData.value.id);\n if (success) {\n deletePageOpened.value = false;\n endUpdating();\n requestLocalizationsHandler?.();\n }\n if (!success && message) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n modalActionLoading.value = false;\n }\n\n async function removeLocalization(cId: number): Promise {\n editId.value = cId;\n editData.value = localizations.value.find(\n (l: ILocalizations) => l.id == cId\n );\n deletePageOpened.value = true;\n }\n\n function endUpdating(): void {\n updateModalOpened.value = false;\n deletePageOpened.value = false;\n editData.value = { ...initialLocalization } as ILocalizations | undefined;\n }\n\n function editLocalization(data: ILocalizations) {\n editId.value = data?.id;\n updateModalOpened.value = true;\n\n editData.value = data;\n }\n\n function setModalLoading(loading: boolean) {\n modalActionLoading.value = loading;\n }\n\n return {\n updateModalOpened,\n deletePageOpened,\n editId,\n editData,\n localizations,\n totalLocalizationsCount,\n modalActionLoading,\n ...layoutRefs,\n setModalLoading,\n requestLocalizationsHandler,\n changeViewConfigurationHandler,\n saveIcon,\n saveUpdates,\n onDeleteConfirm,\n editLocalization,\n endUpdating,\n removeLocalization\n };\n}\n","import { computed, ComputedRef, Ref, ref, watch } from \"vue\";\nimport {\n ICreateLocationDto,\n IFetchLocationLocalizationData,\n ILocationFaqList,\n IMappedLocalization,\n IMappedLocationFaqList,\n selectedLocationListType\n} from \"@/api/services/locations/locationTypes\";\nimport {\n IBaseLocation,\n ISubregion\n} from \"@/api/services/packages/esim/location-packages/types\";\n\nimport { ILocationCountry, TLocationKeys } from \"@/store/locations\";\nimport { ILocationsCtx } from \"../useLocations\";\nimport { switchedLocation } from \"@/components/Locations/interfaces\";\nimport { api } from \"@/api/Api\";\nimport {\n TPackageLocation,\n TPackageLocationSingle\n} from \"@/hooks/esim/location-packages/types/locationPackage.types\";\nimport useLocalizations from \"@/hooks/localizations/useLocalizations\";\nimport { ILocalizations } from \"@/api/interfaces/localizations/ILocalizations\";\n\nconst listTypes: selectedLocationListType[] = [\"country\", \"subregion\"];\n\nexport interface ILocationSelected {\n countries: ILocationCountry[];\n subregions: ISubregion[];\n}\n\nexport type editLocationData = {\n id: number;\n title: string;\n icon: string;\n smallImage: string;\n bigImage: string;\n active: boolean;\n isoCode?: string;\n popular?: boolean;\n titleSEO: string;\n descriptionSEO?: string;\n advantagesHeader?: string;\n advantagesTitle?: string;\n advantagesDescription?: string;\n keywords: string;\n // localizations: localizationsLocation[];\n};\nexport type localizationsLocation = {\n id: number;\n name: string;\n localizationId: number;\n};\n\nconst initialLocation: editLocationData = {\n title: \"\",\n icon: \"\",\n smallImage: \"\",\n bigImage: \"\",\n active: false,\n isoCode: \"\",\n popular: false,\n id: -1,\n titleSEO: \"\",\n descriptionSEO: \"\",\n advantagesHeader: \"\",\n advantagesTitle: \"\",\n advantagesDescription: \"\",\n keywords: \"\"\n};\n\nexport type selectedlocations = {\n countries: IBaseLocation[];\n subregions: IBaseLocation[];\n};\n\nexport type locationImageVariants = \"icon\" | \"smallImage\" | \"bigImage\";\n\nconst initialSavedLocations: selectedlocations = {\n countries: [],\n subregions: []\n};\n\nexport const isImage = (image: any): boolean =>\n image && typeof image === \"string\";\n\nexport function updateLocation(ctx: ILocationsCtx) {\n const baseLoading = ref(false);\n const baseLocationsLoading = ref(false);\n const modalActionLoading = ref(false);\n\n const location = ref({ ...initialLocation });\n const { localizations } = useLocalizations();\n const localizationList: Ref = ref([]);\n const locationFaqList: Ref = ref([]);\n const savedLocation: Ref = ref(null);\n\n const selectedList: Ref = ref({\n ...initialSavedLocations\n });\n\n const localSelectedList: Ref = ref({\n ...initialSavedLocations\n });\n\n const changeList: Ref = ref([]);\n const updateModalOpened = ref(false);\n\n const countries = computed(\n () => ctx.store.getters.notExtendedCountries as IBaseLocation[]\n );\n const subregions = computed(\n () => ctx.store.getters.notExtendedSubregions as IBaseLocation[]\n );\n\n ctx.store.dispatch(\"fetchNotExtendedLocations\").finally(() => {\n baseLocationsLoading.value = false;\n });\n\n watch(() => changeList.value, changeListChangeHandler, { deep: true });\n watch(() => selectedList.value, selecetdListChangeHandler, { deep: true });\n\n function selecetdListChangeHandler({\n countries,\n subregions\n }: selectedlocations) {\n localSelectedList.value = {\n countries: [],\n subregions: []\n };\n const newCountry: any = countries;\n const newSubregion: any = subregions;\n if (newCountry.selected?.length) {\n localSelectedList.value.countries = [...newCountry.selected];\n }\n if (newSubregion.selected?.length) {\n localSelectedList.value.subregions = [...newSubregion.selected];\n }\n if (!newSubregion.selected?.length && !newCountry.selected?.length) {\n localSelectedList.value.subregions = [];\n localSelectedList.value.countries = [];\n }\n }\n\n function changeListChangeHandler(\n locations: switchedLocation[],\n prev?: switchedLocation[]\n ) {\n const removedFromChangeList = prev\n ? prev.filter(({ id }) => !locations.some(l => l.id === id))\n : [];\n\n locations.forEach(({ id, action, type = \"countries\" }) => {\n if (action === \"enable\") {\n const isExist = localSelectedList.value[type].find(l => l.id === id);\n\n if (!isExist) {\n const list = type === \"countries\" ? countries : subregions;\n const fullLocation: IBaseLocation | null =\n list.value.find(item => item.id === id) || null;\n\n if (fullLocation) {\n localSelectedList.value[type].push(fullLocation);\n }\n }\n } else if (action === \"disable\") {\n localSelectedList.value[type] = localSelectedList.value[type].filter(\n l => l.id !== id\n );\n }\n });\n\n removedFromChangeList.forEach(({ id, action, type = \"countries\" }) => {\n const data: any = selectedList.value[type];\n const isEnabledByServer = data.selected?.find((l: any) => l.id === id);\n\n if (action === \"enable\") {\n if (!isEnabledByServer) {\n localSelectedList.value[type] = localSelectedList.value[type].filter(\n l => l.id !== id\n );\n }\n } else {\n const isExist = localSelectedList.value[type].find(l => l.id === id);\n\n if (isEnabledByServer && !isExist) {\n const list = type === \"countries\" ? countries : subregions;\n const fullLocation: IBaseLocation | null =\n list.value.find(item => item.id === id) || null;\n\n if (fullLocation) {\n localSelectedList.value[type].push(fullLocation);\n }\n }\n }\n });\n }\n\n async function updateLocation(id: number, payload: ICreateLocationDto) {\n modalActionLoading.value = true;\n\n const res = await api.editLocation(\n payload,\n ctx.locationTypeSingle.value,\n id\n );\n\n modalActionLoading.value = false;\n return res;\n }\n\n async function createLocation(payload: ICreateLocationDto) {\n modalActionLoading.value = true;\n\n const res = await api.createLocation(payload, ctx.locationTypeSingle.value);\n\n modalActionLoading.value = false;\n return res;\n }\n\n return {\n location,\n localizationList,\n locationFaqList,\n selectedList,\n countries,\n subregions,\n updateModalOpened,\n modalActionLoading,\n localSelectedList,\n changeList,\n modalLoading: computed(\n () => baseLoading.value || baseLocationsLoading.value\n ),\n\n setModalLoading: (loading: boolean) => (baseLoading.value = loading),\n\n getSelectedLocations(\n id: number\n ): Promise<{\n success: boolean;\n countries: ILocationCountry[];\n subregions: ISubregion[];\n }> {\n baseLoading.value = true;\n\n return Promise.all(\n listTypes.map(listType => {\n return ctx.store.dispatch(\"fetchSelectedLocations\", {\n listType,\n locationType: ctx.locationTypeSingle.value,\n locationId: id\n });\n })\n )\n .then(([{ data: countries = [] }, { data: subregions = [] }]) => {\n return { success: true, countries, subregions };\n })\n .catch(() => ({ success: false, countries: [], subregions: [] }))\n .finally(() => (baseLoading.value = false));\n },\n\n startAddLocation() {\n location.value = { ...initialLocation };\n selectedList.value = { countries: [], subregions: [] };\n updateModalOpened.value = true;\n },\n async fetchLocationLocalization(\n locationId: number,\n locationType: TPackageLocationSingle\n ) {\n const { data } = await ctx.store.dispatch(\n \"fetchLocalizationLocalization\",\n {\n locationId,\n locationType\n }\n );\n return data;\n },\n async fetchLocationFaqList(\n locationId: number,\n locationType: TPackageLocationSingle\n ) {\n const { data } = await ctx.store.dispatch(\"fetchLocationFaqList\", {\n locationId,\n locationType\n });\n const result = data?.results ?? [];\n locationFaqList.value = result;\n return result;\n },\n mapLocalization(\n locationLocalization: IFetchLocationLocalizationData[],\n id: number\n ): IMappedLocalization[] {\n return localizations.value.map((localization: ILocalizations) => {\n const matchingLocalization = locationLocalization?.find(\n (localizationItem: any) =>\n localizationItem.localization?.id === localization?.id\n );\n const name = matchingLocalization ? matchingLocalization.name : \"\";\n return {\n ...localization,\n id: matchingLocalization?.id || null,\n localizationId: localization?.id,\n name,\n locationId: id || -1\n };\n });\n },\n mapLocationFaq(\n locationFaqList: ILocationFaqList[],\n id: number\n ): IMappedLocationFaqList[] {\n return locationFaqList.map((locatoinFaq: ILocationFaqList) => {\n return {\n ...locatoinFaq,\n locationId: id || -1\n };\n });\n },\n async startEditing(id: number) {\n const locationLocalization: IFetchLocationLocalizationData[] = await this.fetchLocationLocalization(\n id,\n ctx.locationTypeSingle.value\n );\n\n const locationFaqListData: ILocationFaqList[] = await this.fetchLocationFaqList(\n id,\n ctx.locationTypeSingle.value\n );\n\n localizationList.value = this.mapLocalization(locationLocalization, id);\n locationFaqList.value = this.mapLocationFaq(locationFaqListData, id);\n\n if (ctx.locationTypeSingle.value !== \"country\") {\n const {\n countries,\n subregions,\n success\n } = await this.getSelectedLocations(id);\n\n if (success) {\n selectedList.value = {\n countries,\n subregions\n };\n }\n }\n\n updateModalOpened.value = true;\n\n const currentLocation = ctx.locationsList.value\n .map(l => l)\n .find(location => location.id === id);\n\n if (currentLocation) {\n savedLocation.value = currentLocation;\n }\n\n if (currentLocation) {\n const {\n name,\n active,\n id,\n icon,\n smallImage,\n bigImage,\n popular,\n isoCode,\n keywords,\n titleSEO,\n descriptionSEO,\n advantagesHeader,\n advantagesTitle,\n advantagesDescription\n } = currentLocation;\n\n location.value = {\n title: name,\n active,\n id,\n icon,\n smallImage: smallImage ?? \"\",\n bigImage: bigImage ?? \"\",\n popular,\n isoCode,\n titleSEO,\n descriptionSEO,\n advantagesHeader,\n advantagesTitle,\n advantagesDescription,\n keywords\n };\n }\n },\n\n createLocation,\n updateLocation,\n\n async saveUpadtes(\n action: \"create\" | \"edit\",\n data: {\n name: string;\n active: boolean;\n isoCode?: string;\n popular?: boolean;\n icon?: string;\n smallImage?: string;\n bigImage?: string;\n titleSEO: string;\n descriptionSEO?: string;\n advantagesHeader?: string;\n advantagesTitle?: string;\n advantagesDescription?: string;\n keywords: string;\n },\n id?: number | null\n ) {\n const {\n name,\n active,\n icon,\n smallImage,\n bigImage,\n isoCode,\n popular,\n titleSEO,\n descriptionSEO,\n advantagesHeader,\n advantagesTitle,\n advantagesDescription,\n keywords\n } = data;\n\n const payload: ICreateLocationDto = {\n name,\n active,\n images: {},\n titleSEO,\n descriptionSEO,\n advantagesHeader,\n advantagesTitle,\n advantagesDescription,\n keywords\n };\n\n if (ctx.locationTypeSingle.value !== \"country\") {\n payload.changedLocations = {\n changeList: changeList.value.map(({ action, id }) => ({\n action,\n id\n })),\n\n locationChildType: changeList.value[0]?.type || \"countries\",\n locationParentType: ctx.locationTypeSingle.value\n };\n } else {\n payload.isoCode = isoCode;\n payload.popular = popular;\n }\n\n isImage(icon) && (payload.images.icon = icon as string);\n isImage(smallImage) && (payload.images.smallImage = smallImage as string);\n isImage(bigImage) && (payload.images.bigImage = bigImage as string);\n\n const res =\n action === \"create\"\n ? await createLocation(payload)\n : id && (await updateLocation(id, payload));\n\n updateModalOpened.value = false;\n await ctx.requestLocations?.();\n changeList.value = [];\n\n return res;\n },\n\n async saveIcon(\n action: \"create\" | \"edit\",\n data: {\n name: string;\n active: boolean;\n icon?: string;\n smallImage?: string;\n bigImage?: string;\n titleSEO: string;\n descriptionSEO?: string;\n advantagesHeader?: string;\n advantagesTitle?: string;\n advantagesDescription?: string;\n keywords: string;\n },\n updatedLocation: editLocationData,\n id: number | null\n ) {\n if (action === \"create\") return;\n\n const {\n name,\n active,\n icon,\n smallImage,\n bigImage,\n titleSEO,\n descriptionSEO,\n advantagesHeader,\n advantagesTitle,\n advantagesDescription,\n keywords\n } = data;\n\n const payload: ICreateLocationDto = {\n name,\n active,\n images: {},\n titleSEO,\n descriptionSEO,\n advantagesHeader,\n advantagesTitle,\n advantagesDescription,\n keywords\n };\n\n isImage(icon) && (payload.images.icon = icon as string);\n isImage(smallImage) && (payload.images.smallImage = smallImage as string);\n isImage(bigImage) && (payload.images.bigImage = bigImage as string);\n\n const res = id && (await updateLocation(id, payload));\n await ctx.requestLocations?.();\n location.value = updatedLocation;\n return res;\n },\n\n endUpdating() {\n updateModalOpened.value = false;\n location.value = { ...initialLocation };\n selectedList.value = { countries: [], subregions: [] };\n changeList.value = [];\n savedLocation.value = null;\n },\n\n setLocation(updatedLocation: editLocationData) {\n location.value = updatedLocation;\n },\n\n toggleSelectedLocation(location: switchedLocation) {\n const { action, id, type = \"countries\" } = location;\n const inChangesList = changeList.value.find(item => item.id === id);\n const data: any = selectedList.value[type];\n const enabledByServer = data?.selected?.find(\n (item: any) => item.id === id\n );\n\n if (action === \"disable\") {\n if (enabledByServer) {\n if (inChangesList) {\n inChangesList.action = \"disable\";\n } else {\n changeList.value.push(location);\n }\n } else {\n changeList.value = changeList.value.filter(item => item.id !== id);\n }\n } else if (action === \"enable\") {\n if (enabledByServer) {\n changeList.value = changeList.value.filter(item => item.id !== id);\n } else if (inChangesList) {\n inChangesList.action = \"enable\";\n } else {\n changeList.value.push(location);\n }\n }\n },\n\n async deleteLocation(id: number, locationType: TPackageLocation) {\n modalActionLoading.value = true;\n const res = await api.deleteLocation({ id, locationType });\n modalActionLoading.value = false;\n ctx.requestLocations?.();\n return res;\n },\n\n async saveLocalization(\n data: localizationsLocation[],\n locationType: TPackageLocationSingle\n ) {\n modalActionLoading.value = true;\n updateModalOpened.value = false;\n const { success, message } = await api.saveLocalization(\n data,\n locationType\n );\n\n if (!success && message) {\n await ctx.store.dispatch(\"showErrorNotification\", message);\n }\n modalActionLoading.value = false;\n localizationList.value = [];\n locationFaqList.value = [];\n ctx.requestLocations?.();\n }\n };\n}\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\", {\n 'flex-column': _ctx.direction === 'column',\n 'align-items-center': _ctx.direction === 'column',\n 'text-center': _ctx.direction === 'column'\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}","\nimport SvgIcon from \"@/components/ui/SvgIcon.vue\";\nimport { fileRender } from \"@/utills/files/fileRender\";\nimport { defineComponent } from \"vue\";\nexport default defineComponent({\n name: \"FileUploader\",\n components: { SvgIcon },\n emits: {\n fileChanged: null\n },\n\n props: {\n id: { type: String, required: true },\n previewUrl: { type: String, default: null },\n placeholder: {\n type: String,\n required: false,\n default: require(\"@/assets/icons/avatar-placeholder.svg\")\n }\n },\n\n data() {\n return {\n renderedPreview: this.previewUrl,\n file: null\n } as {\n renderedPreview: string;\n file: File | null;\n };\n },\n\n watch: {\n file(file: File | null) {\n this.$emit(\"fileChanged\", file);\n }\n },\n\n methods: {\n async uploadHandler({ target }: Event): Promise {\n const evtTarget: HTMLInputElement | null = target as HTMLInputElement;\n\n if (evtTarget) {\n const files: FileList | null = evtTarget.files;\n\n if (files) {\n const file: File = files[0];\n\n if (file) {\n this.file = file;\n this.renderedPreview = await fileRender(file);\n\n return;\n }\n }\n }\n\n this.file = null;\n }\n }\n});\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 \"/var/www/html/telesim-admin-panel/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport FileUploader from \"@/components/ui/FileUploader.vue\";\nimport { defineComponent } from \"vue\";\nexport default defineComponent({\n name: \"AvatarUpload\",\n components: { FileUploader },\n props: {\n title: {\n type: String,\n default: \"We recommend to upload image with the following presets:\"\n },\n size: { type: String, default: \"160x160\" },\n format: { type: String, default: \"PNG\" },\n placeholder: {\n type: [String, File],\n required: false,\n default: \"\"\n },\n direction: {\n type: String,\n validator: (d: string) => [\"row\", \"column\"].indexOf(d) !== -1,\n default: \"row\"\n }\n },\n emits: { fileChanged: null }\n});\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 \"/var/www/html/telesim-admin-panel/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { defineComponent, h, Transition, VNode } from \"vue\";\nimport gsap from \"gsap\";\n\nconst TAB_DURATION = 0.55;\nconst HEIGHT_DURATION = 0.4;\n\nexport default defineComponent({\n name: \"AppTabsBody\",\n props: {\n selectedTabIdx: { type: Number, default: 0 },\n animate: { type: Boolean, default: true }\n },\n\n data(): {\n prevSelectedIdx: number;\n activeTabHeight: number;\n tabDuration: number;\n rootElDuration: number;\n loaded: boolean;\n rootEl: VNode | null;\n resizeObserver: ResizeObserver | null;\n activeTabContent: Element | null;\n processTimeout: ReturnType | null;\n currentTabHeight: number;\n heightAlreadySet: boolean;\n } {\n return {\n prevSelectedIdx: -1,\n rootEl: null,\n activeTabHeight: 0,\n resizeObserver: null,\n activeTabContent: null,\n tabDuration: this.animate ? TAB_DURATION : 0,\n rootElDuration: this.animate ? HEIGHT_DURATION : 0,\n loaded: false,\n processTimeout: null,\n currentTabHeight: 0,\n heightAlreadySet: false\n };\n },\n\n watch: {\n currentTabHeight: {\n handler(height) {\n this.setRootElHeight(height, this.rootElDuration);\n }\n },\n\n activeTabContent: {\n handler(current, prev) {\n // Observe / unobserve active tab height\n if (this.resizeObserver) {\n if (prev) {\n this.resizeObserver.unobserve(prev);\n }\n\n this.resizeObserver.observe(current, {\n box: \"border-box\"\n });\n }\n }\n },\n\n selectedTabIdx: {\n immediate: true,\n handler(idx, prevIdx) {\n if (this.rootEl?.el) {\n this.rootEl.el.style.overflow = \"hidden\";\n }\n\n if (prevIdx !== undefined) {\n this.prevSelectedIdx = prevIdx;\n }\n }\n },\n\n animate(animate: boolean) {\n this.tabDuration = animate ? TAB_DURATION : 0;\n this.rootElDuration = animate ? HEIGHT_DURATION : 0;\n }\n },\n\n mounted() {\n this.$nextTick(() => {\n setTimeout(() => {\n if (this.activeTabContent) {\n const { height } = this.activeTabContent.getBoundingClientRect();\n this.currentTabHeight = height;\n }\n }, 200);\n });\n },\n created() {\n // Create active tab resize observer\n this.resizeObserver = new ResizeObserver(([{ target }]) => {\n if (target) {\n this.heightAlreadySet = true;\n this.currentTabHeight = target.getBoundingClientRect().height;\n }\n });\n },\n\n beforeUnmount() {\n this.heightAlreadySet = false;\n\n // Kill active tab resize observer\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n\n this.resizeObserver = null;\n },\n\n unmounted() {\n this.currentTabHeight = 0;\n },\n\n methods: {\n setRootElHeight(\n height: number,\n duration?: number,\n onComplete: () => void = () => {}\n ) {\n this.heightAlreadySet = true;\n if (!this.rootEl?.el) return;\n\n gsap.to(this.rootEl.el, {\n height,\n delay: 0,\n duration: duration ?? this.rootElDuration,\n onComplete\n });\n },\n\n beforeAppear(el: Element) {\n this.activeTabContent = el;\n gsap.set(el, { autoAlpha: 1, xPercent: 0 });\n },\n\n beforeEnter(el: Element) {\n if (this.rootEl?.el) {\n this.rootEl.el.style.overflow = \"\";\n }\n\n this.activeTabContent = el;\n\n // Animate active tab enter\n gsap.set(el, {\n autoAlpha: 0,\n xPercent: this.prevSelectedIdx > this.selectedTabIdx ? -100 : 100\n });\n\n if (this.rootEl?.el) {\n const { height } = el.getBoundingClientRect();\n this.currentTabHeight = height;\n }\n },\n\n enter(el: Element, done: () => void) {\n this.$nextTick(() => {\n if (this.rootEl?.el) this.rootEl.el.style.overflow = \"hidden\";\n gsap.to(el, {\n autoAlpha: 1,\n xPercent: 0,\n easing: \"expo.inOut\",\n duration: this.tabDuration,\n onComplete: () => {\n this.processTimeout = setTimeout(() => {\n if (this.rootEl?.el) {\n this.rootEl.el.style.overflow = \"visible\";\n }\n }, this.tabDuration);\n\n done();\n }\n });\n });\n },\n\n leave(el: Element, done: () => void) {\n this.$nextTick(() => {\n gsap.to(el, {\n autoAlpha: 0,\n duration: this.tabDuration,\n easing: \"expo.outIn\",\n xPercent: this.prevSelectedIdx > this.selectedTabIdx ? 100 : -100,\n onComplete: done\n });\n });\n }\n },\n\n render() {\n const tabs: any = this.$slots.default?.() || [];\n const root: Array = [].concat(\n ...tabs?.[0]?.children.map((c: any) => {\n if (c && typeof c.type !== \"symbol\") {\n return [c];\n } else if (c && c.children) {\n return c.children;\n }\n return [];\n })\n );\n\n if (!Array.isArray(root)) {\n return h(\"\");\n }\n\n let target = \"\";\n\n if (root.length === 1) {\n target = root?.[0]?.children[this.selectedTabIdx];\n } else if (root.length > 0) {\n target = root[this.selectedTabIdx];\n }\n\n const rootEl = h(\n \"div\",\n {\n class: \"app-tabs__body__wrapper\"\n },\n h(\n \"div\",\n {\n class: \"app-tabs__body__controller\"\n },\n h(\n Transition,\n {\n css: false,\n appear: true,\n onAppear: this.beforeAppear,\n onBeforeEnter: this.beforeEnter,\n onEnter: this.enter,\n onLeave: this.leave\n },\n target\n )\n )\n );\n\n this.rootEl = rootEl;\n return rootEl;\n }\n});\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 \"/var/www/html/telesim-admin-panel/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/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../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-loader-v16/dist/index.js??ref--1-1!./AppTabsBody.vue?vue&type=style&index=0&id=5d7c64ec&scoped=true&lang=scss\"","\n\n\n\n\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 \"/var/www/html/telesim-admin-panel/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-07b72113\"]])\n\nexport default __exports__","\n\n\n\n\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 \"/var/www/html/telesim-admin-panel/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// 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 { IUserAccount } from \"@/store/interfaces/accounts/IUserAccount\";\nimport { IApiResponse } from \"../IApi\";\n\nexport enum userTypes {\n admin = \"admin\",\n user = \"user\",\n operator = \"operator\"\n}\n\nexport type userType = keyof typeof userTypes;\n\nexport interface AddUserDto {\n email: string;\n fullName: string;\n password: string;\n phone: string;\n type?: userType;\n}\n\nexport interface EditUserDto {\n email: string;\n fullName: string;\n id: number;\n}\n\nexport interface AddUserModalDto extends AddUserDto {\n avatar?: File;\n}\n\nexport interface ITemplatesDataResponse extends IApiResponse {\n data: IUserAccount;\n}\n","export const fileRender = file => {\n return new Promise((resolve, reject) => {\n if (!file) {\n reject(\"File dont provided\");\n }\n\n const reader = new FileReader();\n\n reader.onload = ({ target }) => {\n if (!target) {\n reject(\"Something wrong\");\n }\n\n resolve(target.result);\n };\n\n reader.readAsDataURL(file);\n });\n};\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\", {\n [`color-${_ctx.iconColor}`]: true,\n fullscreen: _ctx.fullscreen\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}","\nimport { defineComponent, PropType } from \"vue\";\nimport SvgIcon from \"@/components/ui/SvgIcon.vue\";\nexport default defineComponent({\n name: \"EmptyBlock\",\n components: { SvgIcon },\n props: {\n icon: { type: String, required: false },\n description: { type: String, required: true },\n fullscreen: { type: Boolean, default: false },\n iconColor: {\n type: String as PropType<\"grey\" | \"dark\">,\n default: \"grey\"\n }\n }\n});\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 \"/var/www/html/telesim-admin-panel/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-28469b4f\"]])\n\nexport default __exports__","\nimport { mapGetters } from \"vuex\";\nimport { defineComponent } from \"vue\";\nimport FullscreenLoader from \"@/components/ui/FullscreenLoader.vue\";\nimport EmptyBlock from \"@/components/ui/EmptyBlock.vue\";\nimport AppButton from \"@/components/ui/Buttons/AppButton.vue\";\nimport BtnContent from \"@/components/ui/Buttons/BtnContent.vue\";\n\nexport default defineComponent({\n name: \"AppTableController\",\n components: { BtnContent, AppButton, EmptyBlock, FullscreenLoader },\n props: {\n tableLoading: {\n type: Boolean,\n default: false\n },\n\n useLoader: {\n type: Boolean,\n default: true\n },\n\n showTable: {\n type: Boolean,\n default: true\n },\n\n searchQuery: {\n type: String,\n default: \"\"\n },\n\n emptyKey: {\n type: String,\n required: true\n },\n\n emptyButtonText: { type: String, default: \"\" },\n\n emptyIcon: {\n type: String,\n default: \"\"\n }\n },\n emits: {\n emptyButtonClick: null\n },\n\n data() {\n return {\n tableLoad: false,\n loadTimeout: null as ReturnType | null\n };\n },\n\n watch: {\n getTableLoad: {\n handler(data) {\n this.loadTimeout && clearTimeout(this.loadTimeout);\n this.loadTimeout = setTimeout(\n () => {\n this.tableLoad = data;\n },\n data ? 0 : 500\n );\n },\n immediate: true\n }\n },\n\n computed: {\n ...mapGetters([\"appLoading\"]),\n emptyText(): string {\n if (!this.searchQuery) {\n return `There are no ${this.emptyKey} created yet!`;\n }\n\n return `No ${this.emptyKey} found by request \"${this.searchQuery}\"`;\n },\n getTableLoad() {\n return !this.showTable || this.tableLoading || this.appLoading;\n }\n }\n});\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 \"/var/www/html/telesim-admin-panel/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] = \n (...arg: any[]) => {\n _ctx.$emit('sort', ...arg);\n }\n ),\n onChangeViewConfiguration: _cache[1] || (_cache[1] = \n (conf) => {\n _ctx.$emit('changeViewConfiguration', conf);\n }\n )\n }), {\n \"table-body\": _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.mappedRows, ({\n id,\n actions,\n withAction,\n status,\n cells,\n bgStatus = '',\n onClick = () => {}\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({\n 'with-footer': !_ctx.withFooter,\n 'hover-scale': withAction,\n [`status-${bgStatus}`]: true\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\": {\n name: componentName,\n content: componentContent\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}","\nimport { defineComponent, PropType } from \"vue\";\nimport { IObjectKeys } from \"@/interfaces/IObjectKeys\";\nimport TableRow from \"@/components/Table/TableRow.vue\";\n\nimport {\n ITableBodyRow,\n ITableHeadCell\n} from \"@/components/Table/ts/interfaces/TableStructure\";\nimport { mapTableRowsToTableContent } from \"@/hooks/tables/modules/baseTable/mapTableRowsToTableContent\";\nimport AppTableBodyCell from \"@/components/Table/ts/AppTableBodyCell.vue\";\nimport AppTableLayout from \"@/components/Table/ts/AppTableLayout.vue\";\n\nconst tableStatuses: IObjectKeys = {\n verified: \"base\",\n unverified: \"warn\",\n blocked: \"error\"\n};\n\nexport type tableHeadCellsList = ITableHeadCell[];\nexport type tableBodyList = ITableBodyRow[];\n\nexport default defineComponent({\n name: \"AppTable\",\n components: {\n AppTableLayout,\n AppTableBodyCell,\n TableRow\n },\n inheritAttrs: false,\n props: {\n paginationCaptureKey: {\n type: String,\n default: \"\"\n },\n totalRows: { type: Number as PropType, default: 0 },\n perPage: { type: Number, default: 10 },\n currentPage: { type: Number, default: 1 },\n tableHead: {\n type: Array as PropType,\n required: true\n },\n\n tableBody: {\n type: Array as PropType,\n required: true\n },\n\n hideButton: { type: Boolean, default: false },\n spaceBetween: { type: Boolean, default: true },\n withFooter: { type: Boolean, default: true }\n },\n emits: {\n changeViewConfiguration: null,\n sort: null,\n deleteItem: null,\n editItem: null,\n selectData: null\n },\n computed: {\n withMoreMenu(): boolean {\n return !!this.tableBody[0]?.actions;\n },\n\n updatedBodyRows(): tableBodyList {\n return this.tableBody.map(row => {\n const status = row.status || \"base\";\n\n return {\n ...row,\n cells: row.cells.map((cell, idx) => ({\n ...cell,\n size: this.tableHead[idx].size\n })),\n withAction: !!row.onClick,\n status: tableStatuses[status] || \"base\"\n };\n });\n },\n\n mappedRows() {\n return mapTableRowsToTableContent(this.updatedBodyRows);\n }\n },\n\n methods: {\n deleteItem(id: number) {\n this.$emit(\"deleteItem\", id);\n },\n editItem(id: number) {\n this.$emit(\"editItem\", id);\n },\n selectData(data: any) {\n this.$emit(\"selectData\", data);\n }\n }\n});\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 \"/var/www/html/telesim-admin-panel/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// 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 { 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}","\nimport { sortItem, sortOrders } from \"@/enums/main/sortOrders\";\n\nimport {\n ComputedRef,\n defineComponent,\n PropType,\n computed,\n toRefs,\n watch\n} from \"vue\";\nimport {\n ITableBodyRow,\n ITableHeadCell\n} from \"@/components/Table/ts/interfaces/TableStructure\";\nimport { ITableViewConfiguration } from \"@/components/Table/ts/interfaces/common\";\nimport AppTable from \"@/components/Table/ts/AppTable.vue\";\nimport { useBaseTable } from \"@/hooks/tables/useTable\";\nimport { ICategories } from \"@/api/interfaces/categories/ICategories\";\nimport { badgeTypes } from \"@/components/ui/AppBadge/interfaces\";\n\ntype tableHeadCells = ITableHeadCell[];\n\nexport type categoriesTableSort = {\n byName: sortItem;\n};\n\nexport default defineComponent({\n name: \"CategoryTable\",\n components: { AppTable },\n\n emits: {\n toggleBlock: null,\n delete: null,\n changeViewConfiguration: null,\n removingCategory: null,\n editingCategory: null\n },\n setup(props, { emit }) {\n // base\n\n const { byName } = toRefs(props.sort);\n\n const initialSortOptions: categoriesTableSort = {\n byName: { order: sortOrders.turnOff, keyName: \"title\" }\n };\n\n // table model\n const categoriesList: ComputedRef = computed(\n () => props.categoriesList\n );\n const tableRefs = useBaseTable({\n initialViewConfiguration: { ...props.initialViewConfiguration },\n\n initialSortOptions,\n model: categoriesList,\n generateRows(categoriesList: ICategories[]): ITableBodyRow[] {\n return categoriesList.map(\n (category: ICategories): ITableBodyRow => {\n const { title, active, id } = category;\n return {\n cells: [\n {\n label: title,\n sort: {\n keyName: byName?.value?.keyName || \"\",\n value: title,\n order: byName?.value?.order\n }\n },\n {\n badge: {\n type: active\n ? badgeTypes.lightSecondary\n : badgeTypes.danger,\n\n label: active ? \"Active\" : \"Inactive\"\n }\n },\n {\n userActions: true\n }\n ],\n id: id\n };\n }\n );\n },\n\n onViewConfigurationChanged(\n viewConfiguration: ITableViewConfiguration\n ): void {\n // get data by parent component\n emit(\"changeViewConfiguration\", viewConfiguration);\n }\n });\n\n const {\n rows,\n changeViewConfiguration,\n changeSorting,\n viewConfiguration,\n currentSort\n } = tableRefs;\n\n watch(\n props.initialViewConfiguration,\n (updatedConfiguration: ITableViewConfiguration) => {\n changeViewConfiguration(updatedConfiguration);\n }\n );\n\n return {\n rows,\n changeViewConfiguration,\n changeSorting,\n viewConfiguration,\n currentSort\n };\n },\n\n props: {\n totalRowsCount: {\n type: Number,\n required: true\n },\n\n categoriesList: {\n type: Array as PropType,\n required: true\n },\n\n sort: {\n type: Object as PropType,\n required: true\n },\n\n initialViewConfiguration: {\n type: Object as PropType,\n default: () => ({\n page: 1,\n perPage: 10\n })\n }\n },\n\n computed: {\n tableHead(): tableHeadCells {\n const { byName } = this.currentSort;\n return [\n {\n sort: {\n keyName: byName?.keyName,\n order: byName?.order\n },\n size: \"fluid\",\n label: \"name\",\n id: \"category-name\"\n },\n {\n size: \"sm\",\n label: \"Status\",\n id: \"category-status\"\n },\n {\n size: \"xs\",\n label: \"Action\",\n id: \"category-action\"\n }\n ];\n }\n },\n\n methods: {\n DeletingInfo(categoryId: any, info: ICategories) {\n this.$emit(\"removingCategory\", categoryId, info);\n },\n\n EditingInfo(categoryId: ICategories, info: ICategories) {\n this.$emit(\"editingCategory\", categoryId, info);\n }\n }\n});\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 \"/var/www/html/telesim-admin-panel/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}","\nimport TabsDialog from \"@/components/ui/Modal/Dialog/TabsDialog.vue\";\nimport AvatarUpload from \"@/components/ui/AvatarUpload.vue\";\nimport AppInput from \"@/components/Form/AppInput.vue\";\nimport AppButton from \"@/components/ui/Buttons/AppButton.vue\";\nimport AppCheckbox from \"@/components/Form/AppCheckbox.vue\";\nimport AppInputsValidationProvider from \"@/components/Form/AppInputsValidationProvider.vue\";\nimport { defineComponent, PropType } from \"@vue/runtime-core\";\nimport { IMappedFaqLocalization } from \"@/api/services/faq/faqLocalizationsTypes\";\n\nexport interface EditData {\n id: number;\n title: string;\n icon: string;\n file: File;\n active: boolean;\n}\nexport default defineComponent({\n name: \"CategoryModal\",\n\n components: {\n AppCheckbox,\n AppButton,\n AppInput,\n AvatarUpload,\n TabsDialog,\n AppInputsValidationProvider\n },\n props: {\n disabled: { type: Boolean, default: true },\n opened: { type: Boolean, default: true },\n buttonText: { type: String, required: false },\n canCancel: { type: Boolean, default: false },\n isShow: { type: Boolean, default: true },\n title: { type: String, default: \"\" },\n data: {\n type: Object as PropType,\n required: false\n },\n localizationsList: {\n type: Array as PropType,\n default: () => []\n },\n loading: { type: Boolean, default: false }\n },\n emits: [\"submit\", \"hide\", \"cansel\", \"saveLocalization\"],\n\n data() {\n return {\n buttonTextUpdated: this.buttonText,\n categoryName: \"\",\n avatar: \"\",\n isPasswordTouch: false,\n valid: false,\n disabledButton: false,\n isChecked: false,\n editData: {} as EditData,\n isEditCategory: false,\n isCreateCategory: false,\n file: File,\n selectedTab: 0\n };\n },\n computed: {\n tabs() {\n const details = {\n title: \"Details\",\n id: 0\n };\n\n return [\n details,\n ...this.localizationsList.map((el: any) => ({\n title: el.short_name,\n id: el.localizationId\n }))\n ];\n }\n },\n watch: {\n opened() {\n this.selectedTab = 0;\n },\n data(data: EditData): void {\n if (data) {\n this.editData = { ...data };\n } else {\n this.editData = {} as EditData;\n }\n },\n editData: {\n handler(data) {\n if (data?.title?.length > 3) {\n if (data?.icon || data?.file?.name) {\n this.disabledButton = true;\n }\n } else {\n this.disabledButton = false;\n }\n },\n deep: true\n }\n },\n methods: {\n saveLocalization(localization: IMappedFaqLocalization) {\n this.$emit(\"saveLocalization\", localization);\n },\n async submit() {\n this.$emit(\"submit\", this.editData);\n },\n\n onChangeErrorState(error: any) {\n this.valid = !error;\n },\n\n hide() {\n this.$emit(\"hide\", false);\n },\n\n fileUpload(file: any) {\n this.editData.file = file;\n }\n },\n\n inheritAttrs: false\n});\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 \"/var/www/html/telesim-admin-panel/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { useStore } from \"vuex\";\nimport { defineComponent, computed, watch, reactive } from \"@vue/runtime-core\";\nimport {\n IUseBaseAppLayout,\n useBaseAppLayout\n} from \"@/hooks/layout/useBaseAppLayout\";\nimport { ITableViewConfiguration } from \"@/components/Table/ts/interfaces/common\";\nimport PageMainHeading from \"@/components/Layout/PageMainHeading.vue\";\nimport CategoryTable from \"@/components/Table/ts/instances/categories/CategoriesTable.vue\";\n\nimport AppButton from \"@/components/ui/Buttons/AppButton.vue\";\nimport BtnContent from \"@/components/ui/Buttons/BtnContent.vue\";\nimport DeleteBrandDialog from \"@/components/ui/Modal/Dialog/instances/DeleteBrandDialog.vue\";\n\nimport CategoryModal from \"@/components/ui/Modal/Dialog/instances/CategoryModal.vue\";\nimport { ICategories } from \"@/api/interfaces/categories/ICategories\";\nimport { useUserTable } from \"@/hooks/tables/modules/usersTable/usersTable\";\nimport AppTableController from \"@/components/Table/ts/AppTableController.vue\";\nimport { useFaq } from \"@/hooks/faq/useFaq\";\nimport { sortOrders } from \"@/enums/main/sortOrders\";\nimport useFaqLocalizations from \"@/hooks/faq/useFaqLocalizations\";\nimport { IMappedFaqLocalization } from \"@/api/services/faq/faqLocalizationsTypes\";\n\nexport default defineComponent({\n name: \"Categories\",\n components: {\n DeleteBrandDialog,\n CategoryModal,\n BtnContent,\n AppButton,\n PageMainHeading,\n CategoryTable,\n AppTableController\n },\n\n setup() {\n const store = useStore();\n\n const viewConfiguration: ITableViewConfiguration = reactive({\n page: 1,\n perPage: 10\n });\n const options = {\n viewConfiguration,\n selectedTab: {\n id: null\n }\n };\n\n const {\n requestCategoriesHandler,\n changeViewConfigurationHandler,\n addEditCategory,\n removeCategory\n } = useFaq(options);\n const {\n localizationList,\n startEditing,\n saveLocalization,\n cleanLocalizationData\n } = useFaqLocalizations(options);\n // Page layout refs\n const layoutRefs: IUseBaseAppLayout = useBaseAppLayout({\n initialSearchQuery: \"\",\n onFiltersChange: requestCategoriesHandler,\n onChangeSearchQuery: () => {\n changeViewConfigurationHandler({\n page: 1,\n perPage: viewConfiguration.perPage\n });\n }\n });\n\n watch(viewConfiguration, () => requestCategoriesHandler());\n\n requestCategoriesHandler();\n\n return {\n ...layoutRefs,\n ...useUserTable(),\n viewConfiguration,\n categoryList: computed(() => store.getters.categoriesList),\n totalAccountsCount: computed(() => store.getters.totalCategories),\n localizationList,\n startEditing,\n saveLocalization,\n cleanLocalizationData,\n requestCategoriesHandler,\n changeViewConfigurationHandler,\n addEditCategory,\n removeCategory\n };\n },\n\n data() {\n return {\n editText: \"\",\n editId: 0,\n isLoading: false,\n createCategoryOpened: false,\n sortConfig: {\n byName: { order: sortOrders.asc, keyName: \"title\" }\n },\n deleteCategoryOpened: false,\n editData: {} as ICategories | undefined\n };\n },\n\n computed: {\n emptyText(): string {\n this.requestCategoriesHandler?.();\n\n return `No categories found!`;\n }\n },\n\n methods: {\n async removingCategory(cId: number): Promise {\n this.editId = cId;\n this.editData = this.categoryList.find(\n (categoryItem: any) => categoryItem.id == cId\n );\n this.deleteCategoryOpened = true;\n },\n\n cleanData(): void {\n this.editData = {} as ICategories | undefined;\n this.deleteCategoryOpened = false;\n this.createCategoryOpened = false;\n this.cleanLocalizationData();\n },\n\n async editingCategory(cId: number) {\n typeof cId === \"number\" && this.startEditing(cId);\n this.editId = cId;\n this.createCategoryOpened = true;\n\n this.editData = this.categoryList.find(\n (categoryItem: any) => categoryItem.id == cId\n );\n },\n\n async actionWithCategory(dataCategory: any) {\n this.isLoading = true;\n let success = false;\n if (dataCategory.id) {\n success = await this.addEditCategory(dataCategory, \"patch\");\n } else {\n success = await this.addEditCategory(dataCategory, \"post\");\n }\n if (success) {\n this.createCategoryOpened = false;\n this.cleanData();\n this.requestCategoriesHandler?.();\n }\n this.isLoading = false;\n },\n\n async saveLocalizationHandler(localization: IMappedFaqLocalization) {\n this.isLoading = true;\n const success = await this.saveLocalization(localization);\n if (success) {\n this.createCategoryOpened = false;\n this.cleanData();\n }\n this.isLoading = false;\n },\n\n async onDeleteConfirm(): Promise {\n this.isLoading = true;\n const success = await this.removeCategory(this.editData?.id || -1);\n if (success) {\n this.deleteCategoryOpened = false;\n this.cleanData();\n this.requestCategoriesHandler?.();\n }\n this.isLoading = false;\n }\n }\n});\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 \"/var/www/html/telesim-admin-panel/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { ref, Ref } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { AddUserModalDto, userTypes } from \"@/api/interfaces/users/users.dto\";\nimport { userExtraInfo } from \"@/hooks/tables/modules/usersTable/usersTable\";\nimport { ICreateUser } from \"@/hooks/tables/modules/usersTable/types\";\n\nexport function useCreateUser(): ICreateUser {\n const store = useStore();\n\n const creationLoading: Ref = ref(false);\n const createUserDialogOpened: Ref = ref(false);\n const onCreateSubmitResolved: Ref = ref(null);\n\n return {\n creationLoading,\n createUserDialogOpened,\n\n // methods\n onCreateSubmitResolved,\n setOnCreateSubmitResolved(onResolve: Function) {\n onCreateSubmitResolved.value = onResolve;\n },\n\n showCreateUserDialog() {\n createUserDialogOpened.value = true;\n },\n\n async createUser(\n data: AddUserModalDto,\n extra: userExtraInfo = { type: userTypes.user },\n onUserCreated?: Function\n ) {\n creationLoading.value = true;\n const { avatar, ...userInfo } = data;\n const { success, message, data: userId } = await store.dispatch(\n \"addUser\",\n {\n ...userInfo,\n type: extra.type\n }\n );\n\n if (!success && message) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n\n onCreateSubmitResolved.value?.(success);\n\n if (avatar) {\n await store.dispatch(\"uploadUserAvatar\", {\n avatar: avatar,\n id: userId\n });\n }\n\n onUserCreated?.();\n createUserDialogOpened.value = false;\n creationLoading.value = false;\n }\n };\n}\n","import { reactive, ref } from \"vue\";\nimport { userId } from \"@/store/interfaces/auth/common\";\nimport { IUserAccount } from \"@/store/interfaces/accounts/IUserAccount\";\nimport {\n IDeleteUser,\n ISelectedUser\n} from \"@/hooks/tables/modules/usersTable/types\";\nimport { useStore } from \"vuex\";\n\nexport function useDeleteUser(): IDeleteUser {\n const store = useStore();\n\n const deleteUserDialogOpened = ref(false);\n const deleteUserLoading = ref(false);\n\n const selectedUser: ISelectedUser = reactive({\n id: null,\n name: null,\n email: null,\n avatar: null\n });\n\n return {\n deleteUserDialogOpened,\n selectedUser,\n deleteUserLoading,\n selectUserToDelete(userList: IUserAccount[], id: userId) {\n const user = userList.find(user => id === user.id);\n\n if (user) {\n const { email, fullName: name, image: avatar } = user;\n\n selectedUser.email = email;\n selectedUser.name = name;\n selectedUser.avatar = avatar;\n selectedUser.id = id;\n\n deleteUserDialogOpened.value = true;\n }\n },\n\n async deleteUser(onUserDelete?: Function) {\n deleteUserLoading.value = true;\n const { success, message } = await store.dispatch(\"removeUser\", {\n id: selectedUser.id\n });\n\n if (!success) {\n await store.dispatch(\"showErrorNotification\", message);\n }\n\n onUserDelete?.();\n deleteUserDialogOpened.value = false;\n deleteUserLoading.value = false;\n }\n };\n}\n","import { userType } from \"@/api/interfaces/users/users.dto\";\nimport { useCreateUser } from \"@/hooks/tables/modules/usersTable/useCreateUser\";\nimport {\n ICreateUser,\n IDeleteUser\n} from \"@/hooks/tables/modules/usersTable/types\";\nimport { useDeleteUser } from \"@/hooks/tables/modules/usersTable/useDeleteUser\";\n\nexport type userExtraInfo = {\n type?: userType;\n};\n\nexport interface IUserUserTable extends ICreateUser, IDeleteUser {}\n\nexport function useUserTable(): IUserUserTable {\n const creationData: ICreateUser = useCreateUser();\n const deleteData: IDeleteUser = useDeleteUser();\n\n return { ...creationData, ...deleteData };\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../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-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.67742697.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../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-loader-v16/dist/index.js??ref--1-1!./AppCheckbox.vue?vue&type=style&index=0&id=07b72113&scoped=true&lang=scss\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../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-loader-v16/dist/index.js??ref--1-1!./DeleteBrandDialog.vue?vue&type=style&index=0&id=c07b11c0&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/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../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-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/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../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-loader-v16/dist/index.js??ref--1-1!./AppTabsHead.vue?vue&type=style&index=0&id=7c3fe4ca&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../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-loader-v16/dist/index.js??ref--1-1!./FullscreenLoader.vue?vue&type=style&index=0&id=4b07da65&lang=scss\""],"sourceRoot":""}