{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?7e02","webpack:///./src/components/CrudButton.vue?8ca6","webpack:///./themeConfig.js","webpack:///./src/libs/i18n/locales sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack:///./src/store/app/index.js","webpack:///./src/store/app/loader.module.js","webpack:///./src/store/app-config/index.js","webpack:///./src/store/utils/utils.module.js","webpack:///./src/store/vertical-menu/index.js","webpack:///./src/store/general-store/notification/notification.module.js","webpack:///./src/store/general-store/ticket/ticket.module.js","webpack:///./src/store/general-store/account/account.module.js","webpack:///./src/store/general-store/profile-settings/profilesettings.module.js","webpack:///./src/store/general-store/product/product.module.js","webpack:///./src/store/general-store/order/order.module.js","webpack:///./src/store/general-store/checkout/deepACheckout.module.js","webpack:///./src/store/general-store/checkout/traitCheckout.module.js","webpack:///./src/store/general-store/checkout/g25PartnerCheckout.module.js","webpack:///./src/store/general-store/update-v2/updateV2.module.js","webpack:///./src/store/deep-ancestry/daResult.module.js","webpack:///./src/store/deep-ancestry/shared/region.module.js","webpack:///./src/store/deep-ancestry/periodical/period.module.js","webpack:///./src/store/deep-ancestry/periodical/periodSourceData.module.js","webpack:///./src/store/deep-ancestry/periodical/periodicalResult.module.js","webpack:///./src/store/deep-ancestry/hg-farmer/hgFarmerSourceData.module.js","webpack:///./src/store/deep-ancestry/hg-farmer/hgFarmerResult.module.js","webpack:///./src/store/deep-ancestry/unsupervised/mixedModePeriod.module.js","webpack:///./src/store/deep-ancestry/unsupervised/mixedModeResult.module.js","webpack:///./src/store/deep-ancestry/genetic-distance/geneticDistance.module.js","webpack:///./src/store/deep-ancestry/genetic-distance/ancient/ancientProxSourceData.module.js","webpack:///./src/store/deep-ancestry/genetic-distance/ancient/ancientProxResult.module.js","webpack:///./src/store/deep-ancestry/genetic-distance/ancient/ancientProxSampleCoordinate.module.js","webpack:///./src/store/deep-ancestry/genetic-distance/modern/modernProxSourceData.module.js","webpack:///./src/store/deep-ancestry/genetic-distance/modern/modernProxResult.module.js","webpack:///./src/store/deep-ancestry/pca-plots/pcaRegion.module.js","webpack:///./src/store/deep-ancestry/pca-plots/pcaSourceData.module.js","webpack:///./src/store/deep-ancestry/diy/diy.module.js","webpack:///./src/store/deep-ancestry/diy/diySourceData.module.js","webpack:///./src/store/deep-ancestry/diy/diyGDSourceData.module.js","webpack:///./src/store/deep-ancestry/sample-database/sampleDatabase.module.js","webpack:///./src/store/deep-ancestry/sample-database/ancientDatabase.module.js","webpack:///./src/store/deep-ancestry/sample-database/ancientIndividualDatabase.module.js","webpack:///./src/store/deep-ancestry/sample-database/modernDatabase.module.js","webpack:///./src/store/index.js","webpack:///./src/libs/i18n/index.js","webpack:///./src/@core/components/feather-icon/FeatherIcon.vue","webpack:///./src/App.vue?78aa","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue?bff9","webpack:///./src/components/SpinnerContainer.vue?84b6","webpack:///src/components/SpinnerContainer.vue","webpack:///./src/components/SpinnerContainer.vue?65eb","webpack:///./src/components/SpinnerContainer.vue","webpack:///src/@core/components/feather-icon/FeatherIcon.vue","webpack:///./src/@core/components/feather-icon/FeatherIcon.vue?fe69","webpack:///./src/components/SpinnerLoader.vue?a742","webpack:///src/components/SpinnerLoader.vue","webpack:///./src/components/SpinnerLoader.vue?b083","webpack:///./src/components/SpinnerLoader.vue","webpack:///./src/components/CrudButton.vue?d18d","webpack:///src/components/CrudButton.vue","webpack:///./src/components/CrudButton.vue?e8b0","webpack:///./src/components/CrudButton.vue?598b","webpack:///./src/components/Alert.vue?f4c1","webpack:///src/components/Alert.vue","webpack:///./src/components/Alert.vue?f564","webpack:///./src/components/Alert.vue","webpack:///./src/global-components.js","webpack:///./src/libs/acl/config.js","webpack:///./src/libs/acl/ability.js","webpack:///./src/libs/acl/index.js","webpack:///./src/libs/portal-vue.js","webpack:///./src/libs/clipboard.js","webpack:///./src/libs/toastification.js","webpack:///./src/libs/sweet-alerts.js","webpack:///./src/libs/vue-select.js","webpack:///./src/libs/tour.js","webpack:///./src/main.js","webpack:///./src/common/api.service.js","webpack:///./src/common/alert.service.js","webpack:///./src/@core/auth/jwt/jwtDefaultConfig.js","webpack:///./src/@core/auth/jwt/jwtService.js","webpack:///./src/@core/auth/jwt/useJwt.js","webpack:///./src/auth/jwt/useJwt.js","webpack:///./src/libs/axios.js","webpack:///./src/auth/utils.js","webpack:///./src/@core/components/feather-icon/FeatherIcon.vue?93b6","webpack:///./src/router/routes/general.js","webpack:///./src/router/routes/deepAncestry.js","webpack:///./src/router/index.js","webpack:///./src/common/config.js","webpack:///./src/assets/images/logo/logo.png","webpack:///./src/@core/app-config/useAppConfig.js","webpack:///./src/common/globalVue.js","webpack:///./src/components/SpinnerContainer.vue?9532"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","$themeColors","$themeBreakpoints","$themeConfig","app","appName","appLogoImage","require","layout","isRTL","skin","routerTransition","contentWidth","menu","hidden","isCollapsed","navbar","backgroundColor","footer","customizer","enableScrollToTop","map","webpackContext","req","id","webpackContextResolve","keys","namespaced","state","windowWidth","shallShowOverlay","isOpenMobileNavbar","getters","currentBreakPoint","xl","lg","md","sm","mutations","UPDATE_WINDOW_WIDTH","val","TOGGLE_OVERLAY","actions","loading","googleLoadMap","getLoader","getMapLoader","setLoader","setMapLoader","innerWidth","isLoading","localStorage","getItem","TOGGLE_RTL","documentElement","UPDATE_SKIN","setItem","body","classList","add","className","match","remove","UPDATE_ROUTER_TRANSITION","UPDATE_LAYOUT_TYPE","UPDATE_CONTENT_WIDTH","UPDATE_NAV_MENU_HIDDEN","UPDATE_NAVBAR_CONFIG","obj","assign","UPDATE_FOOTER_CONFIG","isScrollbarVisible","element","scrollHeight","clientHeight","style","getComputedStyle","overflowY","getDefaultState","checkIfScrolledToBottom","parentElement","scrollTop","isVerticalMenuCollapsed","UPDATE_VERTICAL_MENU_COLLAPSED","notificationCount","notifications","generalNotificationList","getNotificationCount","getNotifications","getAllGeneralNotifications","setNotification","notificationData","notReadedCount","setAllGeneralNotification","forEach","x","isOpenDesc","fetchNotifications","context","queryParams","ApiService","response","catch","fetchAllGeneralNotifications","getSilent","this","commit","readNotifications","postSilent","ticketData","ticketList","getTicketData","getTicketList","setTicketData","setTicketList","fetchTickets","statusCode","AlertService","fetchTicket","ticketNo","createTicket","upload","createTicketDetail","userData","userEmail","firstName","lastName","password","twoFactorAuthActive","isUserLoggedIn","logginUserData","JSON","parse","getUserDataField","getField","getUserData","getIsLoggedIn","useJwt","jwtConfig","storageTokenKeyName","updateUserDataField","field","updateField","updateUserEmail","setIsLoggedIn","status","signUp","post","sendResetPassowrdEmail","emailAddress","checkResetPasswordEmail","verifyCode","changeResetPasswordEmail","generalSettings","getGeneralSettings","setGeneralSettings","fetchGeneralSettings","checkUserName","checkUserEmail","saveGeneralUserInfo","savePassword","deleteAccount","tempProducts","products","getProducts","setProducts","setProductTypeFilter","filter","productType","fetchProducts","fetchProduct","productCode","fetchProductById","productId","orders","kits","getOrders","getKits","setOrders","setKits","fetchOrders","fetchKits","hasMissedFileFetch","kitObj","kitName","rawFileKey","rawFileName","rawFileFormat","targetCoordinate","presetEthnicityId","selectedEthnicityName","isEmptyPresetEthnicityId","emptyKitName","emptyRawFileKey","emptyTargetCoordinate","isShowDropdown","persistedState","selectedProductCode","PRODUCT_CODES","UPLOAD_DA_RAW_DATA","selectedStepCode","DEEP_ANCESTRY_CHECKOUT_STEPS","SELECT_SERVICE","productData","createOrderData","subtotal","discountSubtotal","paymentGuid","product","productQuantity","paymentType","promotionDetailGuid","kitList","isFinishedPayment","isConfirmPrivacyPalicy","getCreateOrderData","getCheckoutQuery","orderData","_subtotal","toString","replace","_discountSubtotal","getOrderSubTotal","getProductData","setProductData","setCreateOrderData","setOrderKitsData","index","setKitFileData","removeKitFileData","changeKitNumber","count","fileLength","newFile","pop","resetOrderState","closeDropdowns","saveCheckout","createPaymentIntent","applyPromotionCode","personName","fileName","preTempOrderRawDataGuid","emptyPreTempOrderRawDataGuid","emptyPersonName","UPLOAD_TRAIT_RAW_DATA","currencyUnit","note","preTempOrderGuid","personList","setOrderFileData","addOrderFile","fileItem","findFileObj","find","removeOrderFile","changeFileArray","saveChecout","createPaymentDirect","selectedRegionName","mobilePageCode","partnerLinkData","businessPartnerLinkGuid","person","guid","findPrice","productPrices","productCount","subTotal","disCountedPrice","discountTotal","discount","Math","round","setPartnerLinkData","fullName","fetchPartnerLink","linkGuid","selectedPage","uploadedFileList","selectedResult","resultList","dataVersion","fetchResultList","regionGroupList","regionList","selectedRegionGroup","grupName","selectedRegion","title","getRegionList","getRegionGroupList","setSelectRegion","regionId","region","regionGroup","presetRegionGrupId","fetchRegionList","fetchRegionGroupList","periods","selectedPeriod","getPeriods","setPeriods","setSelectedPeriod","period","setInitialSelectedPeriod","fetchPeriods","savedSourceDatas","fetchPeriodSourceData","sourceDataRequest","periodId","resultId","saveDetail","originalResults","groupedResults","uiResults","geoJson","savedUiDetails","showAllEra","popLimit","isOpenedPeriodicalDetail","openedPeriodicalDetail","openedPeriodicalDetails","getOriginalResults","getGroupedResults","getUiResults","getGeoJson","setOriginalResults","setGroupedResults","setUiResults","setGeoJson","fetchSupervisedPeriodDetails","groupedSourceCodes","join","listOfSourceData","fetchSupervisedPeriodDetail","findDetail","fetchHgFarmerSourceData","results","isOpenedHgFarmerDetail","openedHgFarmerDetail","openedHgFarmerDetails","getResults","setResults","fetchHgFarmerDetails","fetchHgFarmerDetail","modernPeriods","selectedModernPeriod","selectedReport","selectedMode","mixedModeType","currentResult","fetchMixedModeResults","orderResultId","findResult","fetchAncientProxSourceData","fetchAncientProxDetails","fetchAncientProxDetail","openedAncientProxDetail","saveSampleCoordinates","fetchAncientProxSampleCoordinates","ids","ancientProxDataIds","selectedFilterSourceDatas","fetchModernProxSourceData","fetchModernProxDetails","fetchRegionDatas","selectedRegionId","regionGrupList","selectedPcaRegion","isEnableConvexHull","fetchPcaSourceData","selectedTab","souceDataList","populationNumber","filteredTargetType","targetUnSelectedList","targetSelectedList","filteredSourceType","sourceUnSelectedList","sourceSelectedList","calculatedResults","fetchDiySourceData","selectedSampleType","filterQuery","Search","location","PageIndex","PageSize","Count","locationList","savedLocationList","distanceTypes","distanceType","calculatedDistance","calculatedDistanceAncient","calculatedFarmerHgResult","getFilterQuery","setFilterQuery","pageSize","setDefaultQuery","fetchLocationData","url","unshift","ancientDatabaseList","savedAncientDatabaseList","sampleDetail","isModernDistance","getAncientDatabaseList","setAncientDatabaseList","fetchAncientDatabaseData","values","ancientIndividualDatabaseList","savedAncientIndividualDatabaseList","openMap","getAncientIndividualDatabaseList","setAncientIndividualDatabaseList","fetchDatabaseData","modernDatabaseList","getModernDatabaseList","setModernDatabaseList","Vue","use","Vuex","Store","loader","appConfig","verticalMenu","notification","ticket","account","profileSettings","deepACheckout","traitCheckout","g25PartnerCheckout","updateV2","daResult","periodSourceData","periodicalResult","hgFarmerSourceData","hgFarmerResult","mixedModePeriod","mixedModeResult","geneticDistance","ancientProxSourceData","ancientProxResult","ancientProxSampleCoordinate","modernProxSourceData","modernProxResult","pcaRegion","pcaSourceData","diy","diySourceData","diyGDSourceData","sampleDatabase","ancientDatabase","ancientIndividualDatabase","modernDatabase","utils","strict","process","DEV","VueI18n","dateTimeFormats","en","short","year","month","day","long","weekday","hour","minute","tr","hour12","numberFormats","currency","currencyDisplay","loadLocaleMessages","locales","messages","matched","locale","fallbackLocale","_vm","_h","$createElement","_c","_self","staticClass","class","skinClasses","attrs","staticRenderFns","components","LayoutLab","LayoutFull","methods","handleResize","$store","computed","$route","meta","contentLayoutType","created","addEventListener","beforeCreate","setup","hideProgressBar","closeOnClick","closeButton","icon","transition","store","component","_l","getStyle","transform","animationDelay","functional","props","required","String","size","default","badge","Number","badgeClasses","Array","render","svg","h","_e","directives","rawName","expression","modifiers","on","onClickRefresh","_v","_s","$t","onClickAddNew","BButtonGroup","BButton","Ripple","listLoading","showRefresh","Boolean","showAddNew","Function","variant","vSelect","FeatherIcon","SpinnerLoader","CrudButton","Alert","initialAbility","action","subject","existingAbility","ability","Ability","abilitiesPlugin","PortalVue","VueClipboard","Toast","VueSweetalert2","Deselect","OpenIndicator","VueTour","BootstrapVue","ToastPlugin","ModalPlugin","LottieVuePlayer","SpinnerContainer","VueCompositionAPI","config","productionTip","navigator","serviceWorker","register","log","router","i18n","App","$mount","setVueInstance","resource","params","instance","setInterceptor","axiosIns","controlErrorResponse","setSilentInterceptor","formData","headers","download","method","responseType","update","slug","put","delete","interceptors","success","callback","getVueInstance","$swal","text","customClass","confirmButton","buttonsStyling","confirm","warning","confirmDelete","showCancelButton","confirmButtonText","cancelButtonText","cancelButton","confirmSuccess","loginEndpoint","registerEndpoint","refreshEndpoint","logoutEndpoint","tokenType","storageRefreshTokenKeyName","storageUserDataName","JwtService","jwtOverrideConfig","jwtDefaultConfig","accessToken","getToken","includes","Authorization","subscribers","stringify","args","refreshToken","getRefreshToken","jwt","axios","baseURL","API_URL","$http","getUserRole","userRole","Role","Customer","getHomeRouteForLoggedInUser","path","authorize","pageTitle","children","parentCode","VueRouter","base","scrollBehavior","y","routes","redirect","general","deepAncestry","redirectIfLoggedIn","beforeEach","to","from","next","isLoggedIn","currentUserRole","UPLOAD_DA_COORDINATES","UPLOAD","ACCOUNT","CONFIRM","TRAIT_CHECKOUT_STEPS","usAppConfig","set","hrClasses","layoutType","watch","isNavMenuHidden","navbarBackgroundColor","navbarType","footerType","vue"],"mappings":"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","file":"js/app.84cfe4e1.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-14f5d51d\":\"9ce05517\",\"chunk-2c9e2ca8\":\"d644f3ca\",\"chunk-2d0ba362\":\"cf384190\",\"chunk-32ffadfa\":\"16f8164b\",\"chunk-3a3ab4d8\":\"91f237c8\",\"chunk-56ebbdb4\":\"2034dcd4\",\"chunk-3829fed8\":\"6a508db8\",\"chunk-5a11e204\":\"72d8ca3c\",\"chunk-606a88a0\":\"cd2daf23\",\"chunk-69680125\":\"8e1e151b\",\"chunk-35bb2a2e\":\"2ae87d8a\",\"chunk-a7b705d4\":\"6c5ad955\",\"chunk-236c341a\":\"3ec1b30a\",\"chunk-1019fe5e\":\"03b2744c\",\"chunk-6b16b712\":\"90945ed1\",\"chunk-9e7b4636\":\"bf7f3522\",\"chunk-f0f62fba\":\"05248d86\",\"chunk-afe8b900\":\"9e0278ce\",\"chunk-6e5b371e\":\"7097b319\",\"chunk-73a20f4c\":\"7b5ff24a\",\"chunk-661328f6\":\"dfb7be09\",\"chunk-7c64b37a\":\"50375e3c\",\"chunk-8461f0b2\":\"fc15e840\",\"chunk-3e9665ce\":\"0f4a97d2\",\"chunk-b6954a28\":\"0a196dfb\",\"chunk-c64c536e\":\"ac76325c\",\"chunk-69b8bf94\":\"a169f7b7\",\"chunk-e8e89e30\":\"4f4b7087\",\"chunk-fe3c3290\":\"f34f705c\",\"chunk-0fa581f2\":\"d1a06ab6\",\"chunk-14b28c8b\":\"cac3b6fe\",\"chunk-1af3095a\":\"133c7ead\",\"chunk-275463f0\":\"e76ac0f5\",\"chunk-4dd7d6a6\":\"06e9ea05\",\"chunk-52209c54\":\"0c43e728\",\"chunk-7c8e2f7e\":\"b508e4b4\",\"chunk-b0cc71e2\":\"d7a419de\",\"chunk-535c07dc\":\"d129a432\",\"chunk-57b7fffe\":\"c1edea22\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-14f5d51d\":1,\"chunk-2c9e2ca8\":1,\"chunk-32ffadfa\":1,\"chunk-3a3ab4d8\":1,\"chunk-56ebbdb4\":1,\"chunk-3829fed8\":1,\"chunk-5a11e204\":1,\"chunk-606a88a0\":1,\"chunk-35bb2a2e\":1,\"chunk-236c341a\":1,\"chunk-1019fe5e\":1,\"chunk-6b16b712\":1,\"chunk-9e7b4636\":1,\"chunk-f0f62fba\":1,\"chunk-afe8b900\":1,\"chunk-6e5b371e\":1,\"chunk-73a20f4c\":1,\"chunk-661328f6\":1,\"chunk-7c64b37a\":1,\"chunk-8461f0b2\":1,\"chunk-3e9665ce\":1,\"chunk-b6954a28\":1,\"chunk-c64c536e\":1,\"chunk-69b8bf94\":1,\"chunk-e8e89e30\":1,\"chunk-0fa581f2\":1,\"chunk-14b28c8b\":1,\"chunk-1af3095a\":1,\"chunk-275463f0\":1,\"chunk-4dd7d6a6\":1,\"chunk-52209c54\":1,\"chunk-7c8e2f7e\":1,\"chunk-b0cc71e2\":1,\"chunk-535c07dc\":1,\"chunk-57b7fffe\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-14f5d51d\":\"521eb758\",\"chunk-2c9e2ca8\":\"4665df3a\",\"chunk-2d0ba362\":\"31d6cfe0\",\"chunk-32ffadfa\":\"1edfeb5e\",\"chunk-3a3ab4d8\":\"72c7448d\",\"chunk-56ebbdb4\":\"e48bbb08\",\"chunk-3829fed8\":\"8fb7f7af\",\"chunk-5a11e204\":\"3ded4565\",\"chunk-606a88a0\":\"fd79da1b\",\"chunk-69680125\":\"31d6cfe0\",\"chunk-35bb2a2e\":\"a110f90a\",\"chunk-a7b705d4\":\"31d6cfe0\",\"chunk-236c341a\":\"5dc4b49d\",\"chunk-1019fe5e\":\"5d54a8e6\",\"chunk-6b16b712\":\"25ba3c2e\",\"chunk-9e7b4636\":\"be3b001f\",\"chunk-f0f62fba\":\"2247034e\",\"chunk-afe8b900\":\"da7407fc\",\"chunk-6e5b371e\":\"feb083f8\",\"chunk-73a20f4c\":\"d6514d9a\",\"chunk-661328f6\":\"c93ca7bf\",\"chunk-7c64b37a\":\"b55d9c40\",\"chunk-8461f0b2\":\"ecc69087\",\"chunk-3e9665ce\":\"03a04e15\",\"chunk-b6954a28\":\"c57238b8\",\"chunk-c64c536e\":\"340d344c\",\"chunk-69b8bf94\":\"20c7aabf\",\"chunk-e8e89e30\":\"b7778c51\",\"chunk-fe3c3290\":\"31d6cfe0\",\"chunk-0fa581f2\":\"8338b2aa\",\"chunk-14b28c8b\":\"f8aae57c\",\"chunk-1af3095a\":\"952b3201\",\"chunk-275463f0\":\"c57238b8\",\"chunk-4dd7d6a6\":\"3554c034\",\"chunk-52209c54\":\"1ebe565a\",\"chunk-7c8e2f7e\":\"30705bdd\",\"chunk-b0cc71e2\":\"345a3ef1\",\"chunk-535c07dc\":\"e0a9571a\",\"chunk-57b7fffe\":\"77360f96\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrudButton.vue?vue&type=style&index=0&id=0d6326b4&scoped=true&lang=css&\"","// Theme Colors\r\n// Initially this will be blank. Later on when app is initialized we will assign bootstrap colors to this from CSS variables.\r\nexport const $themeColors = {}\r\n\r\n// App Breakpoints\r\n// Initially this will be blank. Later on when app is initialized we will assign bootstrap breakpoints to this object from CSS variables.\r\nexport const $themeBreakpoints = {}\r\n\r\n// APP CONFIG\r\nexport const $themeConfig = {\r\n app: {\r\n appName: 'Illustrative Dna',\r\n // eslint-disable-next-line global-require\r\n appLogoImage: require('@/assets/images/logo/logo.png'),\r\n },\r\n layout: {\r\n isRTL: false,\r\n skin: 'dark', // light, dark, bordered, semi-dark\r\n routerTransition: 'zoom-fade', // zoom-fade, slide-fade, fade-bottom, fade, zoom-out, none\r\n type: 'lab', // vertical, horizontal\r\n contentWidth: 'boxed', // full, boxed\r\n menu: {\r\n hidden: true,\r\n isCollapsed: false,\r\n },\r\n navbar: {\r\n // ? For horizontal menu, navbar type will work for navMenu type\r\n type: 'floating', // static , sticky , floating, hidden\r\n backgroundColor: 'primary', // BS color options [primary, success, etc]\r\n },\r\n footer: {\r\n type: 'hidden', // static, sticky, hidden\r\n },\r\n customizer: false,\r\n enableScrollToTop: false,\r\n },\r\n}\r\n","var map = {\n\t\"./en.json\": \"d782\",\n\t\"./tr.json\": \"111b\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"3e8d\";","import { $themeBreakpoints } from '@themeConfig'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n windowWidth: 0,\r\n shallShowOverlay: false,\r\n isOpenMobileNavbar: false,\r\n },\r\n getters: {\r\n currentBreakPoint: state => {\r\n const { windowWidth } = state\r\n if (windowWidth >= $themeBreakpoints.xl) return 'xl'\r\n if (windowWidth >= $themeBreakpoints.lg) return 'lg'\r\n if (windowWidth >= $themeBreakpoints.md) return 'md'\r\n if (windowWidth >= $themeBreakpoints.sm) return 'sm'\r\n return 'xs'\r\n },\r\n },\r\n mutations: {\r\n UPDATE_WINDOW_WIDTH(state, val) {\r\n state.windowWidth = val\r\n },\r\n TOGGLE_OVERLAY(state, val) {\r\n state.shallShowOverlay = val !== undefined ? val : !state.shallShowOverlay\r\n },\r\n },\r\n actions: {},\r\n}\r\n","export default {\r\n state: {\r\n loading: false,\r\n googleLoadMap: null,\r\n },\r\n getters: {\r\n getLoader: state => state.loading,\r\n getMapLoader: state => state.googleLoadMap,\r\n },\r\n mutations: {\r\n setLoader(state, value) {\r\n state.loading = value\r\n },\r\n setMapLoader(state, value) {\r\n state.googleLoadMap = value\r\n },\r\n },\r\n}\r\n","import { $themeConfig } from '@themeConfig'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n windowWidth: window.innerWidth,\r\n isLoading: false,\r\n \r\n layout: {\r\n isRTL: $themeConfig.layout.isRTL,\r\n skin: localStorage.getItem('vuexy-skin') || $themeConfig.layout.skin,\r\n routerTransition: $themeConfig.layout.routerTransition,\r\n type: $themeConfig.layout.type,\r\n contentWidth: $themeConfig.layout.contentWidth,\r\n menu: {\r\n hidden: $themeConfig.layout.menu.hidden,\r\n },\r\n navbar: {\r\n type: $themeConfig.layout.navbar.type,\r\n backgroundColor: $themeConfig.layout.navbar.backgroundColor,\r\n },\r\n footer: {\r\n type: $themeConfig.layout.footer.type,\r\n },\r\n },\r\n },\r\n getters: {},\r\n mutations: {\r\n TOGGLE_RTL(state) {\r\n state.layout.isRTL = !state.layout.isRTL\r\n document.documentElement.setAttribute('dir', state.layout.isRTL ? 'rtl' : 'ltr')\r\n },\r\n UPDATE_SKIN(state, skin) {\r\n state.layout.skin = skin\r\n\r\n // Update value in localStorage\r\n localStorage.setItem('vuexy-skin', skin)\r\n\r\n // Update DOM for dark-layout\r\n if (skin === 'dark') document.body.classList.add('dark-layout')\r\n else if (document.body.className.match('dark-layout')) document.body.classList.remove('dark-layout')\r\n },\r\n UPDATE_ROUTER_TRANSITION(state, val) {\r\n state.layout.routerTransition = val\r\n },\r\n UPDATE_LAYOUT_TYPE(state, val) {\r\n state.layout.type = val\r\n },\r\n UPDATE_CONTENT_WIDTH(state, val) {\r\n state.layout.contentWidth = val\r\n },\r\n UPDATE_NAV_MENU_HIDDEN(state, val) {\r\n state.layout.menu.hidden = val\r\n },\r\n UPDATE_NAVBAR_CONFIG(state, obj) {\r\n Object.assign(state.layout.navbar, obj)\r\n },\r\n UPDATE_FOOTER_CONFIG(state, obj) {\r\n Object.assign(state.layout.footer, obj)\r\n },\r\n },\r\n actions: {},\r\n}\r\n","function isScrollbarVisible(element) {\r\n const { scrollHeight, clientHeight } = element;\r\n const style = window.getComputedStyle(element);\r\n const overflowY = style.overflowY;\r\n\r\n return (\r\n scrollHeight > clientHeight \r\n && (overflowY === 'auto' || overflowY === 'scroll')\r\n );\r\n}\r\n\r\nconst getDefaultState = () => ({\r\n checkIfScrolledToBottom: (element, parentElement) => {\r\n if (!element) {\r\n return false;\r\n }\r\n\r\n // console.log(`element.clientHeight ${element.clientHeight}`);\r\n // console.log(`element.scrollTop ${element.scrollTop}`);\r\n // console.log(`element.scrollHeight ${element.scrollHeight}`);\r\n // console.log(`element.height ${element.offsetHeight}`);\r\n\r\n if (parentElement) {\r\n // Check if scrolled to the bottom\r\n if (element.scrollTop + element.clientHeight >= element.scrollHeight - 10) {\r\n parentElement.classList.add('no-scroll');\r\n } else {\r\n parentElement.classList.remove('no-scroll');\r\n }\r\n return true;\r\n }\r\n\r\n if (isScrollbarVisible(element) === false) {\r\n element.classList.add('no-scroll');\r\n return true;\r\n }\r\n \r\n if (element.scrollTop + element.clientHeight >= element.scrollHeight - 10) {\r\n element.classList.add('no-scroll');\r\n } else {\r\n element.classList.remove('no-scroll');\r\n }\r\n \r\n return true;\r\n }\r\n});\r\n\r\n\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import { $themeConfig } from '@themeConfig'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n isVerticalMenuCollapsed: $themeConfig.layout.menu.isCollapsed,\r\n },\r\n getters: {},\r\n mutations: {\r\n UPDATE_VERTICAL_MENU_COLLAPSED(state, val) {\r\n state.isVerticalMenuCollapsed = val\r\n },\r\n },\r\n actions: {},\r\n}\r\n","import ApiService from '@/common/api.service'\r\n\r\nconst state = {\r\n notificationCount: 0,\r\n notifications: [],\r\n\r\n generalNotificationList: [],\r\n}\r\n\r\nconst getters = {\r\n getNotificationCount(state) {\r\n return state.notificationCount;\r\n },\r\n\r\n getNotifications(state) {\r\n return state.notifications;\r\n },\r\n\r\n getAllGeneralNotifications(state) {\r\n return state.generalNotificationList;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setNotification(state, notificationData) {\r\n state.notifications = notificationData.generalNotificationList;\r\n state.notificationCount = notificationData.notReadedCount;\r\n },\r\n\r\n setAllGeneralNotification(state, notificationData) {\r\n notificationData.forEach(x => {\r\n x.isOpenDesc = false;\r\n });\r\n state.generalNotificationList = notificationData;\r\n },\r\n}\r\n\r\nconst actions = {\r\n fetchNotifications(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.get('notification/getless', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n fetchAllGeneralNotifications(context, queryParams) {\r\n return ApiService.getSilent('notification/getAll', queryParams, this)\r\n .then(response => {\r\n context.commit('setAllGeneralNotification', response.result)\r\n })\r\n },\r\n\r\n readNotifications(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.postSilent('notification/read', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service'\r\nimport AlertService from '@/common/alert.service'\r\n\r\n/* eslint-disable */\r\nconst state = {\r\n ticketData: null,\r\n ticketList: [],\r\n}\r\n\r\nconst getters = {\r\n getTicketData(state) {\r\n return state.ticketData;\r\n },\r\n getTicketList(state) {\r\n return state.ticketList;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setTicketData(state, ticketData) {\r\n state.ticketData = ticketData;\r\n },\r\n setTicketList(state, ticketList) {\r\n state.ticketList = ticketList;\r\n },\r\n}\r\n\r\nconst actions = {\r\n fetchTickets(context, queryParams) {\r\n if (context.state.ticketList.length > 0) {\r\n return;\r\n }\r\n\r\n return ApiService.get('ticket', queryParams, this)\r\n .then(response => {\r\n if (response.statusCode === 200) {\r\n context.commit('setTicketList', response.result)\r\n } else {\r\n AlertService.error(response.message)\r\n }\r\n });\r\n },\r\n\r\n fetchTicket(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.get(`ticket/${queryParams.ticketNo}`, {}, this)\r\n .then(response => {\r\n context.commit('setTicketData', response.result);\r\n resolve(response);\r\n })\r\n .catch(error => reject(error))\r\n });\r\n },\r\n\r\n createTicket(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.upload('ticket', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n\r\n createTicketDetail(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.upload('ticket/message', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import useJwt from '@/auth/jwt/useJwt'\r\nimport ApiService from '@/common/api.service'\r\nimport { getField, updateField } from 'vuex-map-fields';\r\n\r\n/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n userData: {\r\n userEmail: null,\r\n firstName: null,\r\n lastName: null,\r\n password: null,\r\n twoFactorAuthActive: true,\r\n },\r\n isUserLoggedIn: false,\r\n logginUserData: JSON.parse(localStorage.getItem('userData')) || null,\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getUserDataField(state) {\r\n return getField(state.userData);\r\n },\r\n\r\n getUserData(state) {\r\n return state.userData;\r\n },\r\n\r\n getIsLoggedIn(state) {\r\n state.isUserLoggedIn = false;\r\n if(localStorage.getItem('userData') && localStorage.getItem(useJwt.jwtConfig.storageTokenKeyName)) {\r\n state.isUserLoggedIn = true;\r\n }\r\n \r\n return state.isUserLoggedIn;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n updateUserDataField(state, field) {\r\n updateField(state.userData, field);\r\n },\r\n updateUserEmail(state, userEmail) {\r\n state.userData.userEmail = userEmail;\r\n },\r\n\r\n setIsLoggedIn(state, status) {\r\n state.isUserLoggedIn = status;\r\n },\r\n}\r\n\r\nconst actions = {\r\n signUp(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.post('account/signup', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n\r\n sendResetPassowrdEmail(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.get(`account/resetpassword/request/${queryParams.emailAddress}`, {}, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n\r\n checkResetPasswordEmail(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.get(`account/resetpassword/verify/${queryParams.verifyCode}`, {}, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n\r\n changeResetPasswordEmail(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.post('account/resetpassword/change', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service'\r\n\r\nconst state = {\r\n generalSettings: {},\r\n}\r\n\r\nconst getters = {\r\n getGeneralSettings(state) {\r\n return state.generalSettings\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setGeneralSettings(state, generalSettings) {\r\n state.generalSettings = generalSettings\r\n },\r\n}\r\n\r\nconst actions = {\r\n fetchGeneralSettings() {\r\n return new Promise((resolve, reject) => {\r\n ApiService.get('user', {}, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n\r\n checkUserName(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.postSilent('user/checkusername', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n\r\n checkUserEmail(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.postSilent('user/checkemail', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n\r\n saveGeneralUserInfo(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.post('user', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n\r\n savePassword(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.post('user/password/save', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n\r\n deleteAccount(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.post('user/delete', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service'\r\nimport AlertService from '@/common/alert.service'\r\n\r\nconst state = {\r\n tempProducts: [],\r\n products: [],\r\n}\r\n\r\nconst getters = {\r\n getProducts(state) {\r\n return state.products\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setProducts(state, products) {\r\n state.products = products;\r\n state.tempProducts = products;\r\n },\r\n setProductTypeFilter(state, type) {\r\n if (type === 0) {\r\n state.products = state.tempProducts;\r\n } else {\r\n state.products = state.tempProducts.filter(x => x.productType === type);\r\n }\r\n },\r\n}\r\n\r\nconst actions = {\r\n fetchProducts(context, queryParams) {\r\n /* eslint-disable */\r\n if(context.state.products.length > 0) {\r\n return;\r\n }\r\n\r\n return ApiService.getSilent('products', queryParams, this)\r\n .then(response => {\r\n if (response.statusCode === 200) {\r\n context.commit('setProducts', response.result)\r\n } else {\r\n AlertService.error(response.message)\r\n }\r\n })\r\n },\r\n\r\n fetchProduct(context, productCode) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.get(`products/code/${productCode}`, {}, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n\r\n fetchProductById(context, productId) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.get(`products/${productId}`, {}, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service'\r\nimport AlertService from '@/common/alert.service'\r\n\r\n/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n orders: [],\r\n kits: [],\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getOrders(state) {\r\n return state.orders;\r\n },\r\n getKits(state) {\r\n return state.kits;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setOrders(state, orders) {\r\n state.orders = orders;\r\n },\r\n\r\n setKits(state, kits) {\r\n state.kits = kits;\r\n },\r\n}\r\n\r\nconst actions = {\r\n fetchOrders(context, queryParams) {\r\n if(context.state.orders.length > 0) {\r\n return;\r\n }\r\n\r\n return ApiService.get('order', queryParams, this)\r\n .then(response => {\r\n if (response.statusCode === 200) {\r\n context.commit('setOrders', response.result)\r\n } else {\r\n AlertService.error(response.message)\r\n }\r\n })\r\n },\r\n fetchKits(context, queryParams) {\r\n if(context.state.kits.length > 0) {\r\n return;\r\n }\r\n\r\n return ApiService.get('order/kits', queryParams, this)\r\n .then(response => {\r\n if (response.statusCode === 200) {\r\n context.commit('setKits', response.result)\r\n } else {\r\n AlertService.error(response.message)\r\n }\r\n })\r\n },\r\n\r\n hasMissedFileFetch(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.get('order/kits/hasmissedfile', {}, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service'\r\nimport { PRODUCT_CODES, DEEP_ANCESTRY_CHECKOUT_STEPS } from '@/common/config';\r\nimport { getField, updateField } from 'vuex-map-fields';\r\n\r\n/* eslint-disable */\r\nlet kitObj = { \r\n id: 0, \r\n kitName: '', \r\n rawFileKey: null,\r\n rawFileName: '',\r\n rawFileFormat: '', \r\n targetCoordinate: '', \r\n presetEthnicityId: null,\r\n \r\n selectedEthnicityName: 'Select Ethnicity',\r\n isEmptyPresetEthnicityId: false,\r\n isLoading: false,\r\n emptyKitName: false,\r\n emptyRawFileKey: null,\r\n emptyTargetCoordinate: false,\r\n isShowDropdown: false,\r\n};\r\n\r\nconst persistedState = JSON.parse(localStorage.getItem('deepACheckout'));\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n selectedProductCode: PRODUCT_CODES.UPLOAD_DA_RAW_DATA,\r\n selectedStepCode: DEEP_ANCESTRY_CHECKOUT_STEPS.SELECT_SERVICE,\r\n\r\n productData: null,\r\n userData: {\r\n userEmail: null,\r\n firstName: null,\r\n lastName: null,\r\n password: null,\r\n twoFactorAuthActive: true,\r\n },\r\n createOrderData: {\r\n subtotal: null,\r\n discountSubtotal: null,\r\n paymentGuid: null,\r\n product: null,\r\n productQuantity: 1,\r\n paymentType: 2,\r\n promotionDetailGuid: null,\r\n kitList: [Object.assign({}, kitObj)],\r\n\r\n isFinishedPayment: false,\r\n isConfirmPrivacyPalicy: false,\r\n },\r\n }\r\n}\r\n\r\nconst state = persistedState ? persistedState : getDefaultState()\r\n\r\nconst getters = {\r\n getCreateOrderData(state) {\r\n return state.createOrderData;\r\n },\r\n getCheckoutQuery(state) {\r\n const product = state.productData.product;\r\n const orderData = state.createOrderData;\r\n \r\n const queryParams = {\r\n _subtotal: orderData.subtotal.toString().replace(',', '.'),\r\n _discountSubtotal: orderData.discountSubtotal != null ? orderData.discountSubtotal.toString().replace(',', '.') : null,\r\n \r\n productId: product.id,\r\n paymentGuid: orderData.paymentGuid,\r\n promotionDetailGuid: orderData.promotionDetailGuid,\r\n kitList: orderData.kitList,\r\n };\r\n return queryParams;\r\n },\r\n getOrderSubTotal(state) {\r\n return state.createOrderData.discountSubtotal === null ? state.createOrderData.subtotal : state.createOrderData.discountSubtotal;\r\n },\r\n getProductData(state) {\r\n return state.productData;\r\n },\r\n\r\n // User\r\n getUserDataField(state) {\r\n return getField(state.userData);\r\n },\r\n getUserData(state) {\r\n return state.userData;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setProductData(state, productData) {\r\n state.productData = productData;\r\n },\r\n setCreateOrderData(state, { key, value }) {\r\n state.createOrderData[key] = value;\r\n },\r\n\r\n setOrderKitsData(state, { index, key, value }) {\r\n state.createOrderData.kitList[index][key] = value;\r\n },\r\n\r\n setKitFileData(state, { index, rawFileKey, rawFileName, rawFileFormat }) {\r\n state.createOrderData.kitList[index].rawFileKey = rawFileKey;\r\n state.createOrderData.kitList[index].rawFileName = rawFileName;\r\n state.createOrderData.kitList[index].rawFileFormat = rawFileFormat;\r\n state.createOrderData.kitList[index].emptyRawFileKey = false;\r\n },\r\n removeKitFileData(state, { index }) {\r\n state.createOrderData.kitList[index].rawFileKey = null;\r\n state.createOrderData.kitList[index].rawFileName = '';\r\n state.createOrderData.kitList[index].rawFileFormat = '';\r\n state.createOrderData.kitList[index].emptyRawFileKey = true;\r\n },\r\n\r\n changeKitNumber(state, count) {\r\n /* eslint-disable */\r\n state.createOrderData.productQuantity = count;\r\n const fileLength = state.createOrderData.kitList.length;\r\n if(count > fileLength) {\r\n for (let index = fileLength; index < count; index++) {\r\n const newFile = Object.assign({}, kitObj);\r\n newFile.id = index;\r\n state.createOrderData.kitList.push(newFile)\r\n }\r\n }\r\n\r\n if(count < fileLength) {\r\n for (let index = 0; index < fileLength - count; index++) {\r\n state.createOrderData.kitList.pop();\r\n }\r\n }\r\n },\r\n\r\n resetOrderState(state) {\r\n kitObj = { \r\n id: 0, \r\n kitName: '', \r\n rawFileKey: null,\r\n rawFileName: '',\r\n rawFileFormat: '', \r\n targetCoordinate: '', \r\n presetEthnicityId: null,\r\n \r\n selectedEthnicityName: 'Select Ethnicity',\r\n isEmptyPresetEthnicityId: false,\r\n isLoading: false,\r\n emptyKitName: false,\r\n emptyRawFileKey: null,\r\n emptyTargetCoordinate: false,\r\n isShowDropdown: false,\r\n };\r\n Object.assign(state, getDefaultState())\r\n },\r\n\r\n closeDropdowns(state) {\r\n state.createOrderData.kitList.forEach(element => {\r\n element.isShowDropdown = false;\r\n });\r\n },\r\n\r\n // User\r\n updateUserDataField(state, field) {\r\n updateField(state.userData, field);\r\n },\r\n}\r\n\r\nconst actions = {\r\n saveCheckout(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.post('Checkout/g25', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n\r\n createPaymentIntent(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.postSilent('payment/create/intent', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n\r\n applyPromotionCode(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.postSilent('Promotion/apply/code', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service'\r\nimport { PRODUCT_CODES } from '@/common/config';\r\nimport { getField, updateField } from 'vuex-map-fields';\r\n\r\n/* eslint-disable */\r\nlet kitObj = { \r\n id: 0, \r\n personName: '', \r\n fileName: '', \r\n preTempOrderRawDataGuid: null,\r\n emptyPreTempOrderRawDataGuid: false,\r\n isLoading: false,\r\n emptyPersonName: false,\r\n isShowDropdown: false,\r\n};\r\n\r\nconst persistedState = JSON.parse(localStorage.getItem('traitCheckout'));\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n selectedProductCode: PRODUCT_CODES.UPLOAD_TRAIT_RAW_DATA,\r\n productData: null,\r\n userData: {\r\n userEmail: null,\r\n firstName: null,\r\n lastName: null,\r\n password: null,\r\n twoFactorAuthActive: true,\r\n },\r\n createOrderData: {\r\n subtotal: null,\r\n discountSubtotal: null,\r\n currencyUnit: null,\r\n paymentType: 2,\r\n paymentGuid: null,\r\n product: null,\r\n note: null,\r\n productQuantity: 1,\r\n kits: [Object.assign({}, kitObj)],\r\n isFinishedPayment: false,\r\n preTempOrderGuid: null,\r\n promotionDetailGuid: null,\r\n isConfirmPrivacyPalicy: false,\r\n },\r\n }\r\n}\r\n\r\nconst state = persistedState ? persistedState : getDefaultState()\r\n\r\nconst getters = {\r\n getCreateOrderData(state) {\r\n return state.createOrderData;\r\n },\r\n getCheckoutQuery(state) {\r\n const product = state.productData.product;\r\n const orderData = state.createOrderData;\r\n \r\n const queryParams = {\r\n subtotal: orderData.subtotal.toString().replace(',', '.'),\r\n discountSubtotal: orderData.discountSubtotal != null ? orderData.discountSubtotal.toString().replace(',', '.') : null,\r\n productQuantity: orderData.productQuantity,\r\n currencyUnit: product.currencyUnit,\r\n productId: product.id,\r\n paymentType: orderData.paymentType,\r\n paymentGuid: orderData.paymentGuid,\r\n promotionDetailGuid: orderData.promotionDetailGuid,\r\n preTempOrderGuid: orderData.preTempOrderGuid,\r\n personList: orderData.kits,\r\n };\r\n return queryParams;\r\n },\r\n getOrderSubTotal(state) {\r\n return state.createOrderData.discountSubtotal === null ? state.createOrderData.subtotal : state.createOrderData.discountSubtotal;\r\n },\r\n getProductData(state) {\r\n return state.productData;\r\n },\r\n\r\n // User\r\n getUserDataField(state) {\r\n return getField(state.userData);\r\n },\r\n getUserData(state) {\r\n return state.userData;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setProductData(state, productData) {\r\n state.productData = productData;\r\n },\r\n setCreateOrderData(state, { key, value }) {\r\n state.createOrderData[key] = value;\r\n },\r\n\r\n setOrderFileData(state, { key, value, index }) {\r\n state.createOrderData.kits[index][key] = value;\r\n },\r\n addOrderFile(state, fileItem) {\r\n const findFileObj = state.createOrderData.kits.find(x => x.id == fileItem.id);\r\n if (findFileObj) {\r\n findFileObj.fileName = fileItem.fileName;\r\n findFileObj.preTempOrderRawDataGuid = fileItem.preTempOrderRawDataGuid;\r\n findFileObj.emptyPreTempOrderRawDataGuid = false;\r\n }\r\n },\r\n removeOrderFile(state, fileItem) {\r\n const findFileObj = state.createOrderData.kits.find(x => x.id == fileItem.id);\r\n if (findFileObj) {\r\n findFileObj.fileName = '';\r\n findFileObj.preTempOrderRawDataGuid = null;\r\n findFileObj.emptyPreTempOrderRawDataGuid = true;\r\n }\r\n },\r\n\r\n changeFileArray(state, count) {\r\n /* eslint-disable */\r\n state.createOrderData.productQuantity = count;\r\n const fileLength = state.createOrderData.kits.length;\r\n if(count > fileLength) {\r\n for (let index = fileLength; index < count; index++) {\r\n const newFile = Object.assign({}, kitObj);\r\n newFile.id = index;\r\n state.createOrderData.kits.push(newFile)\r\n }\r\n }\r\n\r\n if(count < fileLength) {\r\n for (let index = 0; index < fileLength - count; index++) {\r\n state.createOrderData.kits.pop();\r\n }\r\n }\r\n },\r\n\r\n resetOrderState(state) {\r\n kitObj = { \r\n id: 0, \r\n personName: '', \r\n fileName: '', \r\n preTempOrderRawDataGuid: null,\r\n emptyPreTempOrderRawDataGuid: false,\r\n isLoading: false,\r\n emptyPersonName: false,\r\n isShowDropdown: false,\r\n };\r\n Object.assign(state, getDefaultState())\r\n },\r\n\r\n closeDropdowns(state) {\r\n state.createOrderData.kits.forEach(element => {\r\n element.isShowDropdown = false;\r\n });\r\n },\r\n\r\n // User\r\n updateUserDataField(state, field) {\r\n updateField(state.userData, field);\r\n },\r\n}\r\n\r\nconst actions = {\r\n saveChecout(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.post('Checkout/trait', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n\r\n createPaymentIntent(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.postSilent('payment/create/intent', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n createPaymentDirect(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.post('order/payment/create/direct', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n\r\n applyPromotionCode(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.postSilent('Promotion/apply/code', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service'\r\nimport { PRODUCT_CODES } from '@/common/config';\r\n\r\n/* eslint-disable */\r\nlet kitObj = { \r\n id: 0, \r\n personName: '', \r\n fileName: '', \r\n presetEthnicityId: null,\r\n selectedRegionName: 'Select Ethnicity',\r\n isEmptyPresetEthnicityId: false,\r\n targetCoordinate: '', \r\n preTempOrderRawDataGuid: null,\r\n emptyPreTempOrderRawDataGuid: false,\r\n isLoading: false,\r\n emptyPersonName: false,\r\n emptyTargetCoordinate: false,\r\n isShowDropdown: false,\r\n};\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n mobilePageCode: 'ACCOUNT',\r\n productData: null,\r\n partnerLinkData: null,\r\n createOrderData: {\r\n subtotal: null,\r\n discountSubtotal: null,\r\n currencyUnit: null,\r\n paymentType: 2,\r\n paymentGuid: null,\r\n product: null,\r\n note: null,\r\n productQuantity: 1,\r\n kits: [Object.assign({}, kitObj)],\r\n isFinishedPayment: false,\r\n isConfirmPrivacyPalicy: false,\r\n businessPartnerLinkGuid: null,\r\n },\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getCreateOrderData(state) {\r\n return state.createOrderData;\r\n },\r\n getCheckoutQuery(state) {\r\n const product = state.productData.product;\r\n const orderData = state.createOrderData;\r\n \r\n const queryParams = {\r\n subtotal: orderData.subtotal.toString().replace(',', '.'),\r\n discountSubtotal: orderData.discountSubtotal != null ? orderData.discountSubtotal.toString().replace(',', '.') : null,\r\n productQuantity: orderData.productQuantity,\r\n currencyUnit: product.currencyUnit,\r\n productId: product.id,\r\n paymentType: orderData.paymentType,\r\n paymentGuid: orderData.paymentGuid,\r\n person: orderData.kits[0],\r\n businessPartnerLinkGuid: state.partnerLinkData.guid,\r\n };\r\n \r\n return queryParams;\r\n },\r\n getOrderSubTotal(state) {\r\n return state.createOrderData.discountSubtotal === null ? state.createOrderData.subtotal : state.createOrderData.discountSubtotal;\r\n },\r\n getProductData(state) {\r\n return state.productData;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setProductData(state, productData) {\r\n state.productData = productData;\r\n const findPrice = productData.productPrices.find(x => x.productCount === 1);\r\n if (findPrice) {\r\n const subTotal = findPrice.disCountedPrice.toString().replace('.', ',');\r\n state.createOrderData.subtotal = subTotal;\r\n\r\n if (state.partnerLinkData) {\r\n const discountTotal = findPrice.disCountedPrice - (findPrice.disCountedPrice * state.partnerLinkData.discount / 100);\r\n state.createOrderData.discountSubtotal = Math.round(discountTotal * 100) / 100;\r\n }\r\n }\r\n },\r\n setPartnerLinkData(state, partnerLinkData) {\r\n state.partnerLinkData = partnerLinkData;\r\n state.createOrderData.kits[0].personName = partnerLinkData.fullName;\r\n },\r\n setCreateOrderData(state, { key, value }) {\r\n state.createOrderData[key] = value;\r\n },\r\n\r\n resetOrderState(state) {\r\n kitObj = { \r\n id: 0, \r\n personName: '', \r\n fileName: '', \r\n preTempOrderRawDataGuid: null,\r\n emptyPreTempOrderRawDataGuid: false,\r\n isLoading: false,\r\n emptyPersonName: false,\r\n isShowDropdown: false,\r\n };\r\n Object.assign(state, getDefaultState())\r\n },\r\n\r\n closeDropdowns(state) {\r\n state.createOrderData.kits.forEach(element => {\r\n element.isShowDropdown = false;\r\n });\r\n },\r\n}\r\n\r\nconst actions = {\r\n saveChecout(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.post('Checkout/g25-partner', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n\r\n createPaymentIntent(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.postSilent('payment/create/intent', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n createPaymentDirect(context, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.post('order/payment/create/direct', queryParams, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n });\r\n },\r\n\r\n fetchPartnerLink(context, guid) {\r\n return new Promise((resolve, reject) => {\r\n ApiService.post('BusinessPartner/check-guid', { linkGuid: guid }, this)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n selectedPage: 'INFO',\r\n\r\n uploadedFileList: [],\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service';\r\n\r\n/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n selectedResult: { id: 0, },\r\n resultList: [],\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n dataVersion(state) {\r\n return state.selectedResult.dataVersion;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n async fetchResultList(context) {\r\n try {\r\n if (context.state.selectedResult.length) {\r\n return;\r\n }\r\n const response = await ApiService.get('OrderResult', {}, this);\r\n if (response.statusCode === 200) {\r\n context.state.resultList = response.result;\r\n if (context.state.resultList.length) {\r\n context.state.selectedResult = context.state.resultList[0]\r\n }\r\n } else {\r\n console.error('Error fetching data:', response.message);\r\n }\r\n } catch (error) {\r\n console.error('Error fetching data:', error);\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service';\r\n\r\n/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n regionGroupList: [],\r\n regionList: [],\r\n\r\n selectedRegionGroup: { id: 0, grupName: '' },\r\n selectedRegion: { id: 0, title: '' },\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getRegionList(state) {\r\n return state.regionList;\r\n },\r\n\r\n getRegionGroupList() {\r\n return state.regionGroupList;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setSelectRegion(state, regionId) {\r\n const region = state.regionList.find(x => x.id === regionId);\r\n if (region) {\r\n const regionGroup = state.regionGroupList.find(x => x.id == region.presetRegionGrupId);\r\n state.selectedRegion = region;\r\n state.selectedRegionGroup = regionGroup;\r\n }\r\n },\r\n}\r\n\r\nconst actions = {\r\n async fetchRegionList(context) {\r\n try {\r\n const response = await ApiService.getSilent('data/Region', {}, this);\r\n if (response.statusCode === 200) {\r\n context.state.regionList = response.result;\r\n } else {\r\n console.error('Error fetching data:', response.message);\r\n }\r\n } catch (error) {\r\n console.error('Error fetching data:', error);\r\n throw error;\r\n }\r\n },\r\n\r\n async fetchRegionGroupList(context) {\r\n try {\r\n const response = await ApiService.getSilent('data/Region/groups', {}, this);\r\n if (response.statusCode === 200) {\r\n context.state.regionGroupList = response.result;\r\n } else {\r\n console.error('Error fetching data:', response.message);\r\n }\r\n } catch (error) {\r\n console.error('Error fetching data:', error);\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service';\r\n\r\n/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n periods: [],\r\n selectedPeriod: { id: 0 },\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getPeriods(state) {\r\n return state.periods;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setPeriods(state, data) {\r\n state.periods = data.result;\r\n },\r\n\r\n setSelectedPeriod(state, period) {\r\n state.selectedPeriod = period;\r\n },\r\n setInitialSelectedPeriod(state, dataVersion) {\r\n const periods = state.periods.filter(x => x.dataVersion == dataVersion);\r\n if (periods.length) {\r\n state.selectedPeriod = periods[0];\r\n }\r\n },\r\n}\r\n\r\nconst actions = {\r\n async fetchPeriods(context) {\r\n try {\r\n if (context.state.periods.length > 0) {\r\n return;\r\n }\r\n \r\n const response = await ApiService.get('data/SupervisedPeriod', {}, this);\r\n if (response.statusCode === 200) {\r\n context.commit('setPeriods', response)\r\n } else {\r\n console.error('Error fetching data:', response.message);\r\n }\r\n } catch (error) {\r\n console.error('Error fetching data:', error);\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from '@/common/api.service';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n savedSourceDatas: {},\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n async fetchPeriodSourceData(context, sourceDataRequest) {\r\n try {\r\n const key = `${sourceDataRequest.regionId}_${sourceDataRequest.periodId}_${sourceDataRequest.resultId}`;\r\n const saveDetail = context.state.savedSourceDatas[key]\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.get('data/SupervisedPeriodSourceData', sourceDataRequest, this);\r\n if (response.statusCode === 200) {\r\n context.state.savedSourceDatas[key] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from '@/common/api.service';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n originalResults: null,\r\n groupedResults: null,\r\n uiResults: null,\r\n geoJson: [],\r\n\r\n savedUiDetails: {},\r\n showAllEra: false,\r\n popLimit: 0,\r\n\r\n isOpenedPeriodicalDetail: false,\r\n openedPeriodicalDetail: { id: 0, },\r\n openedPeriodicalDetails: {},\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getOriginalResults(state) {\r\n return state.originalResults;\r\n },\r\n getGroupedResults(state) {\r\n return state.groupedResults;\r\n },\r\n getUiResults(state) {\r\n return state.uiResults;\r\n },\r\n\r\n getGeoJson(state) {\r\n return state.geoJson;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setOriginalResults(state, data) {\r\n state.originalResults = data;\r\n },\r\n setGroupedResults(state, data) {\r\n state.groupedResults = data;\r\n },\r\n setUiResults(state, data) {\r\n state.uiResults = data;\r\n },\r\n\r\n setGeoJson(state, data) {\r\n state.geoJson = data;\r\n },\r\n}\r\n\r\nconst actions = {\r\n async fetchSupervisedPeriodDetails(context, { groupedSourceCodes, dataVersion}) {\r\n try {\r\n if (!groupedSourceCodes) {\r\n return;\r\n }\r\n const saveDetail = context.state.savedUiDetails[groupedSourceCodes.join(',')]\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.post('data/SupervisedPeriodDetail', { listOfSourceData: groupedSourceCodes, dataVersion }, this);\r\n if (response.statusCode === 200) {\r\n context.state.savedUiDetails[groupedSourceCodes.join(',')] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n \r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n\r\n async fetchSupervisedPeriodDetail(context, id) {\r\n try {\r\n const findDetail = context.state.openedPeriodicalDetails[id];\r\n if (findDetail) {\r\n context.state.openedPeriodicalDetail = findDetail;\r\n return findDetail;\r\n }\r\n\r\n const response = await ApiService.get(`data/SupervisedPeriodDetail/${id}`, {}, this);\r\n if (response.statusCode === 200) {\r\n context.state.openedPeriodicalDetail = response.result;\r\n context.state.openedPeriodicalDetails[id] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n \r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from '@/common/api.service';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n savedSourceDatas: {},\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n async fetchHgFarmerSourceData(context, { dataVersion, resultId }) {\r\n try {\r\n const saveDetail = context.state.savedSourceDatas[`${dataVersion}_${resultId}`];\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.get('data/HgFarmerSourceData', { dataVersion, resultId }, this);\r\n if (response.statusCode === 200) {\r\n context.state.savedSourceDatas[`${dataVersion}_${resultId}`] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from '@/common/api.service';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n results: null,\r\n uiResults: null,\r\n geoJson: [],\r\n\r\n savedUiDetails: {},\r\n\r\n isOpenedHgFarmerDetail: false,\r\n \r\n openedHgFarmerDetail: { id: 0, },\r\n openedHgFarmerDetails: {},\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getResults(state) {\r\n return state.results;\r\n },\r\n getUiResults(state) {\r\n return state.uiResults;\r\n },\r\n\r\n getGeoJson(state) {\r\n return state.geoJson;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setResults(state, data) {\r\n state.results = data;\r\n },\r\n setUiResults(state, data) {\r\n state.uiResults = data;\r\n },\r\n\r\n setGeoJson(state, data) {\r\n state.geoJson = data;\r\n },\r\n}\r\n\r\nconst actions = {\r\n async fetchHgFarmerDetails(context, { groupedSourceCodes, dataVersion}) {\r\n try {\r\n if (!groupedSourceCodes) {\r\n return;\r\n }\r\n const saveDetail = context.state.savedUiDetails[groupedSourceCodes.join(',')]\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.postSilent('data/HgFarmerDetail', { listOfSourceData: groupedSourceCodes, dataVersion }, this);\r\n if (response.statusCode === 200) {\r\n context.state.savedUiDetails[groupedSourceCodes.join(',')] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n \r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n\r\n async fetchHgFarmerDetail(context, id) {\r\n try {\r\n const response = await ApiService.get(`data/HgFarmerDetail/${id}`, {}, this);\r\n if (response.statusCode === 200) {\r\n context.state.openedHgFarmerDetail = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n \r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service';\r\n\r\n/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n periods: [],\r\n selectedPeriod: null,\r\n\r\n modernPeriods: [],\r\n selectedModernPeriod: null,\r\n\r\n selectedReport: 'Ancient',\r\n selectedMode: 'Two Way',\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getPeriods(state) {\r\n return state.periods;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setPeriods(state, data) {\r\n state.periods = data.result.filter(x => x.mixedModeType === 0);\r\n state.modernPeriods = data.result.filter(x => x.mixedModeType === 1);\r\n },\r\n\r\n setSelectedPeriod(state, period) {\r\n state.selectedPeriod = period;\r\n },\r\n setInitialSelectedPeriod(state, dataVersion) {\r\n try {\r\n const periods = state.periods.filter(x => x.dataVersion == dataVersion);\r\n if (periods.length) {\r\n state.selectedPeriod = periods[0];\r\n }\r\n } catch {\r\n }\r\n\r\n try {\r\n const periods = state.modernPeriods.filter(x => x.dataVersion == dataVersion);\r\n if (periods.length) {\r\n state.selectedModernPeriod = periods[0];\r\n }\r\n } catch {\r\n }\r\n },\r\n}\r\n\r\nconst actions = {\r\n async fetchPeriods(context) {\r\n try {\r\n if (context.state.periods.length > 0) {\r\n return;\r\n }\r\n const response = await ApiService.get('data/MixedModePeriod', {}, this);\r\n if (response.statusCode === 200) {\r\n context.commit('setPeriods', response)\r\n } else {\r\n console.error('Error fetching data:', response.message);\r\n }\r\n } catch (error) {\r\n console.error('Error fetching data:', error);\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from '@/common/api.service';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n results: {},\r\n\r\n uiResults: null,\r\n\r\n currentResult: null,\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = { \r\n getUiResults(state) {\r\n return state.uiResults;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setUiResults(state, data) {\r\n state.uiResults = data;\r\n },\r\n}\r\n\r\nconst actions = {\r\n async fetchMixedModeResults(context, orderResultId) {\r\n try {\r\n const findResult = context.state.results[orderResultId];\r\n if (findResult) {\r\n return findResult;\r\n }\r\n\r\n const response = await ApiService.get(`data/MixedModeResult/${orderResultId}`, {}, this);\r\n if (response.statusCode === 200) {\r\n context.state.results[orderResultId] = response.result;\r\n return response.result;\r\n } else {\r\n console.error('Error fetching data:', response.message);\r\n }\r\n } catch (error) {\r\n console.error('Error fetching data:', error);\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n selectedReport: 'Ancient',\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from \"@/common/api.service\";\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n savedSourceDatas: {},\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n async fetchAncientProxSourceData(context, dataVersion) {\r\n try {\r\n const saveDetail = context.state.savedSourceDatas[dataVersion];\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.get(`data/AncientProxSourceData/${dataVersion}`, {}, this);\r\n if (response.statusCode === 200) {\r\n context.state.savedSourceDatas[dataVersion] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from \"@/common/api.service\";\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n uiResults: null,\r\n\r\n savedUiDetails: {},\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getUiResults(state) {\r\n return state.uiResults;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setUiResults(state, data) {\r\n state.uiResults = data;\r\n },\r\n}\r\n\r\nconst actions = {\r\n async fetchAncientProxDetails(context, { listOfSourceData, dataVersion }) {\r\n try {\r\n if (!listOfSourceData) {\r\n return;\r\n }\r\n const saveDetail = context.state.savedUiDetails[listOfSourceData.join(',')];\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.post('data/AncientProxDetail', { listOfSourceData, dataVersion }, this);\r\n \r\n if (response.statusCode === 200) {\r\n context.state.savedUiDetails[listOfSourceData.join(',')] = response.result;\r\n return context.state.savedUiDetails[listOfSourceData.join(',')];\r\n } else {\r\n throw error;\r\n }\r\n }\r\n \r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n\r\n async fetchAncientProxDetail(context, id) {\r\n try {\r\n const response = await ApiService.get(`data/AncientProxDetail/${id}`, {}, this);\r\n if (response.statusCode === 200) {\r\n context.state.openedAncientProxDetail = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n \r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from \"@/common/api.service\";\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n saveSampleCoordinates: {},\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n async fetchAncientProxSampleCoordinates(context, ids) {\r\n try {\r\n const saveDetail = context.state.saveSampleCoordinates[ids.join(',')];\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.post('data/AncientProxSampleCoordinate', { ancientProxDataIds: ids }, this);\r\n if (response.statusCode === 200) {\r\n context.state.saveSampleCoordinates[ids.join(',')] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from \"@/common/api.service\";\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n savedSourceDatas: {},\r\n\r\n selectedFilterSourceDatas: [],\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n async fetchModernProxSourceData(context, dataVersion) {\r\n try {\r\n const saveDetail = context.state.savedSourceDatas[dataVersion];\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.get(`data/ModernSouceData/${dataVersion}`, {}, this);\r\n if (response.statusCode === 200) {\r\n context.state.savedSourceDatas[dataVersion] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from \"@/common/api.service\";\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n uiResults: null,\r\n\r\n savedUiDetails: {},\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getUiResults(state) {\r\n return state.uiResults;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setUiResults(state, data) {\r\n state.uiResults = data;\r\n },\r\n}\r\n\r\nconst actions = {\r\n async fetchModernProxDetails(context, { listOfSourceData, dataVersion }) {\r\n try {\r\n if (!listOfSourceData) {\r\n return;\r\n }\r\n const saveDetail = context.state.savedUiDetails[listOfSourceData.join(',')];\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.post('data/ModernProxDetail', { listOfSourceData, dataVersion }, this);\r\n \r\n if (response.statusCode === 200) {\r\n context.state.savedUiDetails[listOfSourceData.join(',')] = response.result;\r\n return context.state.savedUiDetails[listOfSourceData.join(',')];\r\n } else {\r\n throw error;\r\n }\r\n }\r\n \r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service';\r\n\r\n/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n regionGroupList: [],\r\n regionList: [],\r\n\r\n selectedRegionGroup: { id: 0, grupName: '' },\r\n selectedRegion: { id: 0, title: '' },\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getRegionList(state) {\r\n return state.regionList;\r\n },\r\n\r\n getRegionGroupList() {\r\n return state.regionGroupList;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setSelectRegion(state, regionId) {\r\n const region = state.regionList.find(x => x.id === regionId);\r\n \r\n if (region) {\r\n const regionGroup = state.regionGroupList.find(x => x.id == region.presetRegionGrupId);\r\n state.selectedRegion = region;\r\n state.selectedRegionGroup = regionGroup;\r\n }\r\n },\r\n}\r\n\r\nconst actions = {\r\n async fetchRegionDatas(context, { selectedRegionId }) {\r\n try {\r\n const response = await ApiService.get('data/region/pca/', { selectedRegionId }, this);\r\n if (response.statusCode === 200) {\r\n context.state.regionGroupList = response.result.regionGrupList;\r\n context.state.regionList = response.result.regionList;\r\n context.commit('setSelectRegion', response.result.selectedPcaRegion.id)\r\n } else {\r\n console.error('Error fetching data:', response.message);\r\n }\r\n } catch (error) {\r\n console.error('Error fetching data:', error);\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from '@/common/api.service';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n isEnableConvexHull: false,\r\n savedSourceDatas: {},\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n async fetchPcaSourceData(context, sourceDataRequest) {\r\n try {\r\n const key = `${sourceDataRequest.regionId}`;\r\n const saveDetail = context.state.savedSourceDatas[key]\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.get('data/PcaPlotSourceData', sourceDataRequest, this);\r\n if (response.statusCode === 200) {\r\n context.state.savedSourceDatas[key] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from '@/common/api.service';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n selectedMode: 'ADMIXTURE',\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from '@/common/api.service';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n selectedTab: 'Target',\r\n savedSourceDatas: {},\r\n souceDataList: {},\r\n populationNumber: 0,\r\n\r\n filteredTargetType: 'MY_KITS',\r\n targetUnSelectedList: [],\r\n targetSelectedList: [],\r\n\r\n filteredSourceType: 'ANCIENT_POP',\r\n sourceUnSelectedList: [],\r\n sourceSelectedList: [],\r\n\r\n calculatedResults: [],\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n async fetchDiySourceData(context, dataVersion) {\r\n try {\r\n const saveDetail = context.state.savedSourceDatas[dataVersion]\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.get('data/DiySourceData', { dataVersion }, this);\r\n if (response.statusCode === 200) {\r\n context.state.savedSourceDatas[dataVersion] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nimport ApiService from '@/common/api.service';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n selectedTab: 1,\r\n savedSourceDatas: {},\r\n souceDataList: {},\r\n\r\n filteredTargetType: 'ANCIENT_POP',\r\n targetUnSelectedList: [],\r\n targetSelectedList: [],\r\n\r\n calculatedResults: [],\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n}\r\n\r\nconst mutations = {\r\n}\r\n\r\nconst actions = {\r\n async fetchDiySourceData(context, dataVersion) {\r\n try {\r\n const saveDetail = context.state.savedSourceDatas[dataVersion]\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.get('data/DiySourceData', { dataVersion }, this);\r\n if (response.statusCode === 200) {\r\n context.state.savedSourceDatas[dataVersion] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service';\r\n\r\n/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n selectedSampleType: 'ANCIENT-INDIVIDUAL',\r\n filterQuery: {\r\n Search: '',\r\n location: '',\r\n PageIndex: 1,\r\n PageSize: 20,\r\n Count: 200,\r\n },\r\n\r\n locationList: [],\r\n savedLocationList: {},\r\n \r\n distanceTypes: ['Modern', 'Ancient'],\r\n distanceType: 'Modern',\r\n calculatedDistance: [],\r\n calculatedDistanceAncient: [],\r\n calculatedFarmerHgResult: null,\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getFilterQuery(state) {\r\n return state.filterQuery;\r\n }\r\n}\r\n\r\nconst mutations = {\r\n setFilterQuery(state, data) {\r\n state.filterQuery.PageSize = data.pageSize;\r\n state.filterQuery.Count = data.count;\r\n },\r\n setDefaultQuery(state) {\r\n state.filterQuery = {\r\n Search: '',\r\n location: '',\r\n PageIndex: 1,\r\n PageSize: 20,\r\n Count: 200,\r\n };\r\n },\r\n}\r\n\r\nconst actions = {\r\n async fetchLocationData(context) {\r\n try {\r\n if (context.state.selectedSampleType === 'MODERN') {\r\n context.state.locationList = [];\r\n return;\r\n }\r\n const saveDetail = context.state.savedLocationList[context.state.selectedSampleType];\r\n \r\n if (saveDetail) {\r\n context.state.locationList = saveDetail;\r\n } else {\r\n const url = context.state.selectedSampleType === 'ANCIENT' ? 'data/AncientSampleDatabase/locations' : 'data/InvidualAncientSampleDatabase/locations';\r\n const response = await ApiService.get(url, {}, this);\r\n if (response.statusCode === 200) {\r\n response.result.unshift('')\r\n context.state.savedLocationList[context.state.selectedSampleType] = response.result;\r\n context.state.locationList = response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service';\r\n\r\n/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n ancientDatabaseList: [],\r\n savedAncientDatabaseList: {},\r\n\r\n sampleDetail: null,\r\n isModernDistance: true,\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getAncientDatabaseList(state) {\r\n return state.ancientDatabaseList;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setAncientDatabaseList(state, data) {\r\n state.ancientDatabaseList = data;\r\n state.sampleDetail = null;\r\n },\r\n}\r\n\r\nconst actions = {\r\n async fetchAncientDatabaseData(context, filterQuery) {\r\n try {\r\n const key = Object.values(filterQuery).join(',');\r\n \r\n const saveDetail = context.state.savedAncientDatabaseList[key];\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.get('data/AncientSampleDatabase', filterQuery, this);\r\n if (response.statusCode === 200) {\r\n context.state.savedAncientDatabaseList[key] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import ApiService from '@/common/api.service';\r\n\r\n/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n ancientIndividualDatabaseList: [],\r\n savedAncientIndividualDatabaseList: {},\r\n\r\n sampleDetail: null,\r\n isModernDistance: true,\r\n openMap: false,\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getAncientIndividualDatabaseList(state) {\r\n return state.ancientIndividualDatabaseList;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setAncientIndividualDatabaseList(state, data) {\r\n state.ancientIndividualDatabaseList = data;\r\n state.sampleDetail = null;\r\n },\r\n}\r\n\r\nconst actions = {\r\n async fetchDatabaseData(context, filterQuery) {\r\n try {\r\n const key = Object.values(filterQuery).join(',');\r\n \r\n const saveDetail = context.state.savedAncientIndividualDatabaseList[key];\r\n if (saveDetail) {\r\n return saveDetail;\r\n } else {\r\n const response = await ApiService.get('data/InvidualAncientSampleDatabase', filterQuery, this);\r\n if (response.statusCode === 200) {\r\n context.state.savedAncientIndividualDatabaseList[key] = response.result;\r\n return response.result;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n } catch (error) {\r\n throw error;\r\n }\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","/* eslint-disable */\r\nconst getDefaultState = () => {\r\n return {\r\n modernDatabaseList: [],\r\n\r\n sampleDetail: null,\r\n isModernDistance: true,\r\n }\r\n}\r\n\r\nconst state = getDefaultState()\r\n\r\nconst getters = {\r\n getModernDatabaseList(state) {\r\n return state.modernDatabaseList;\r\n },\r\n}\r\n\r\nconst mutations = {\r\n setModernDatabaseList(state, data) {\r\n state.modernDatabaseList = data;\r\n },\r\n}\r\n\r\nconst actions = {\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n actions,\r\n}\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\n// General\r\nimport app from './app';\r\nimport loader from './app/loader.module';\r\nimport appConfig from './app-config';\r\nimport utils from './utils/utils.module';\r\nimport verticalMenu from './vertical-menu';\r\n\r\nimport notification from './general-store/notification/notification.module';\r\nimport ticket from './general-store/ticket/ticket.module';\r\n\r\nimport account from './general-store/account/account.module'\r\nimport profileSettings from './general-store/profile-settings/profilesettings.module';\r\nimport products from './general-store/product/product.module';\r\nimport orders from './general-store/order/order.module';\r\n\r\nimport deepACheckout from './general-store/checkout/deepACheckout.module'\r\nimport traitCheckout from './general-store/checkout/traitCheckout.module'\r\nimport g25PartnerCheckout from './general-store/checkout/g25PartnerCheckout.module';\r\n\r\nimport updateV2 from './general-store/update-v2/updateV2.module';\r\n\r\n// deep-ancestry\r\nimport daResult from './deep-ancestry/daResult.module';\r\nimport region from './deep-ancestry/shared/region.module';\r\n\r\nimport period from './deep-ancestry/periodical/period.module';\r\nimport periodSourceData from './deep-ancestry/periodical/periodSourceData.module';\r\nimport periodicalResult from './deep-ancestry/periodical/periodicalResult.module';\r\n\r\nimport hgFarmerSourceData from './deep-ancestry/hg-farmer/hgFarmerSourceData.module';\r\nimport hgFarmerResult from './deep-ancestry/hg-farmer/hgFarmerResult.module';\r\n\r\nimport mixedModePeriod from './deep-ancestry/unsupervised/mixedModePeriod.module';\r\nimport mixedModeResult from './deep-ancestry/unsupervised/mixedModeResult.module';\r\n\r\nimport geneticDistance from './deep-ancestry/genetic-distance/geneticDistance.module';\r\nimport ancientProxSourceData from './deep-ancestry/genetic-distance/ancient/ancientProxSourceData.module';\r\nimport ancientProxResult from './deep-ancestry/genetic-distance/ancient/ancientProxResult.module';\r\nimport ancientProxSampleCoordinate from './deep-ancestry/genetic-distance/ancient/ancientProxSampleCoordinate.module';\r\nimport modernProxSourceData from './deep-ancestry/genetic-distance/modern/modernProxSourceData.module';\r\nimport modernProxResult from './deep-ancestry/genetic-distance/modern/modernProxResult.module';\r\n\r\nimport pcaRegion from './deep-ancestry/pca-plots/pcaRegion.module';\r\nimport pcaSourceData from './deep-ancestry/pca-plots/pcaSourceData.module';\r\n\r\nimport diy from './deep-ancestry/diy/diy.module';\r\nimport diySourceData from './deep-ancestry/diy/diySourceData.module';\r\nimport diyGDSourceData from './deep-ancestry/diy/diyGDSourceData.module';\r\n\r\nimport sampleDatabase from './deep-ancestry/sample-database/sampleDatabase.module';\r\nimport ancientDatabase from './deep-ancestry/sample-database/ancientDatabase.module';\r\nimport ancientIndividualDatabase from './deep-ancestry/sample-database/ancientIndividualDatabase.module';\r\nimport modernDatabase from './deep-ancestry/sample-database/modernDatabase.module';\r\n\r\nVue.use(Vuex)\r\n\r\nexport default new Vuex.Store({\r\n modules: {\r\n // General\r\n app,\r\n loader,\r\n appConfig,\r\n verticalMenu,\r\n\r\n notification,\r\n ticket,\r\n \r\n account,\r\n profileSettings,\r\n products,\r\n orders,\r\n\r\n deepACheckout,\r\n traitCheckout,\r\n g25PartnerCheckout,\r\n\r\n updateV2,\r\n\r\n // Shared\r\n daResult,\r\n region,\r\n\r\n // Periodical\r\n period,\r\n periodSourceData,\r\n periodicalResult,\r\n\r\n // Hg Farmer\r\n hgFarmerSourceData,\r\n hgFarmerResult,\r\n\r\n // unsupervised\r\n mixedModePeriod,\r\n mixedModeResult,\r\n\r\n // GeneticDistance\r\n geneticDistance,\r\n ancientProxSourceData,\r\n ancientProxResult,\r\n ancientProxSampleCoordinate,\r\n modernProxSourceData,\r\n modernProxResult,\r\n\r\n // PCA plot\r\n pcaRegion,\r\n pcaSourceData,\r\n\r\n // DIY\r\n diy,\r\n diySourceData,\r\n diyGDSourceData,\r\n\r\n // Sample Database\r\n sampleDatabase,\r\n ancientDatabase,\r\n ancientIndividualDatabase,\r\n modernDatabase,\r\n\r\n utils,\r\n },\r\n strict: process.env.DEV,\r\n})\r\n","import Vue from 'vue'\r\nimport VueI18n from 'vue-i18n'\r\n\r\nVue.use(VueI18n)\r\n\r\nconst dateTimeFormats = {\r\n en: {\r\n short: {\r\n year: 'numeric',\r\n month: 'short',\r\n day: 'numeric',\r\n },\r\n long: {\r\n year: 'numeric',\r\n month: 'long',\r\n day: 'numeric',\r\n weekday: 'long',\r\n hour: 'numeric',\r\n minute: 'numeric',\r\n },\r\n },\r\n tr: {\r\n short: {\r\n year: 'numeric',\r\n month: 'numeric',\r\n day: 'numeric',\r\n },\r\n long: {\r\n year: 'numeric',\r\n month: 'long',\r\n day: 'numeric',\r\n weekday: 'long',\r\n hour: 'numeric',\r\n minute: 'numeric',\r\n hour12: true,\r\n },\r\n },\r\n}\r\n\r\nconst numberFormats = {\r\n en: {\r\n currency: {\r\n style: 'currency',\r\n currency: 'USD',\r\n },\r\n },\r\n tr: {\r\n currency: {\r\n style: 'currency',\r\n currency: 'JPY',\r\n currencyDisplay: 'symbol',\r\n },\r\n },\r\n}\r\n\r\nfunction loadLocaleMessages() {\r\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.json$/i)\r\n const messages = {}\r\n locales.keys().forEach(key => {\r\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\r\n if (matched && matched.length > 1) {\r\n const locale = matched[1]\r\n messages[locale] = locales(key)\r\n }\r\n })\r\n return messages\r\n}\r\nexport default new VueI18n({\r\n locale: 'en',\r\n fallbackLocale: 'en',\r\n messages: loadLocaleMessages(),\r\n dateTimeFormats,\r\n numberFormats,\r\n})\r\n","var render, staticRenderFns\nimport script from \"./FeatherIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./FeatherIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FeatherIcon.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"h-100\",class:[_vm.skinClasses],attrs:{\"id\":\"app\"}},[_c(_vm.layout,{tag:\"component\"},[_c('router-view')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=67e84bc2&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"spinner-container\"},[_c('div',{staticClass:\"spinner-body\"},_vm._l((12),function(n){return _c('div',{key:n,staticClass:\"bar\",style:(_vm.getStyle(n))})}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SpinnerContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SpinnerContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SpinnerContainer.vue?vue&type=template&id=c2f95146&scoped=true&\"\nimport script from \"./SpinnerContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./SpinnerContainer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SpinnerContainer.vue?vue&type=style&index=0&id=c2f95146&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c2f95146\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatherIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatherIcon.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$store.getters.getLoader)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SpinnerLoader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SpinnerLoader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SpinnerLoader.vue?vue&type=template&id=75792801&\"\nimport script from \"./SpinnerLoader.vue?vue&type=script&lang=js&\"\nexport * from \"./SpinnerLoader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"crud-buttons\"},[_c('b-button-group',[(_vm.showRefresh)?_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":_vm.onClickRefresh}},[(_vm.$store.getters.getLoader)?_c('b-spinner',{staticClass:\"mr-1\",attrs:{\"small\":\"\",\"variant\":\"light\"}}):_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"RefreshCcwIcon\"}}),_c('span',{staticClass:\"align-middle\"},[_vm._v(_vm._s(_vm.$t('Refresh')))])],1):_vm._e(),(_vm.showAddNew)?_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"warning\",\"size\":\"sm\"},on:{\"click\":_vm.onClickAddNew}},[_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"PlusIcon\"}}),_c('span',{staticClass:\"align-middle\"},[_vm._v(_vm._s(_vm.$t('Add')))])],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrudButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CrudButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CrudButton.vue?vue&type=template&id=0d6326b4&scoped=true&\"\nimport script from \"./CrudButton.vue?vue&type=script&lang=js&\"\nexport * from \"./CrudButton.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CrudButton.vue?vue&type=style&index=0&id=0d6326b4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d6326b4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-alert',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.message),expression:\"message\"}],attrs:{\"variant\":_vm.variant,\"show\":\"\"}},[_c('div',{staticClass:\"alert-body\"},[_c('span',[_vm._v(_vm._s(_vm.message))])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Alert.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Alert.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Alert.vue?vue&type=template&id=f29e6a0a&scoped=true&\"\nimport script from \"./Alert.vue?vue&type=script&lang=js&\"\nexport * from \"./Alert.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f29e6a0a\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport FeatherIcon from '@core/components/feather-icon/FeatherIcon.vue'\r\nimport SpinnerLoader from '@/components/SpinnerLoader.vue'\r\nimport CrudButton from '@/components/CrudButton.vue'\r\nimport vSelect from 'vue-select'\r\nimport Alert from '@/components/Alert.vue';\r\n\r\nVue.component('v-select', vSelect)\r\nVue.component(FeatherIcon.name, FeatherIcon)\r\nVue.component(SpinnerLoader.name, SpinnerLoader)\r\nVue.component(CrudButton.name, CrudButton)\r\nVue.component(Alert.name, Alert)\r\n","export const initialAbility = [\r\n {\r\n action: 'read',\r\n subject: 'Auth',\r\n },\r\n]\r\n\r\nexport const _ = undefined\r\n","import { Ability } from '@casl/ability'\r\nimport { initialAbility } from './config'\r\n\r\n// Read ability from localStorage\r\n// * Handles auto fetching previous abilities if already logged in user\r\n// ? You can update this if you store user abilities to more secure place\r\n// ! Anyone can update localStorage so be careful and please update this\r\nconst userData = JSON.parse(localStorage.getItem('userData'))\r\nconst existingAbility = userData ? userData.ability : null\r\n\r\nexport default new Ability(existingAbility || initialAbility)\r\n","import Vue from 'vue'\r\nimport { abilitiesPlugin } from '@casl/vue'\r\nimport ability from './ability'\r\n\r\nVue.use(abilitiesPlugin, ability)\r\n","import Vue from 'vue'\r\nimport PortalVue from 'portal-vue'\r\n\r\nVue.use(PortalVue)\r\n","import Vue from 'vue'\r\nimport VueClipboard from 'vue-clipboard2'\r\n\r\n// clipboard\r\nVue.use(VueClipboard)\r\n","import Vue from 'vue'\r\nimport Toast from 'vue-toastification'\r\n\r\n// Toast Notification Component Styles\r\nimport '@core/scss/vue/libs/toastification.scss'\r\n\r\n/**\r\n * NOTE: If you are using other transition them make sure to import it in `src/@core/scss/vue/libs/notification.scss` from it's source\r\n */\r\nVue.use(Toast, {\r\n hideProgressBar: true,\r\n closeOnClick: false,\r\n closeButton: false,\r\n icon: false,\r\n timeout: 3000,\r\n transition: 'Vue-Toastification__fade',\r\n})\r\n","import Vue from 'vue'\r\nimport VueSweetalert2 from 'vue-sweetalert2'\r\n\r\nVue.use(VueSweetalert2)\r\n","import Vue from 'vue'\r\nimport vSelect from 'vue-select'\r\n\r\n// Set the components prop default to return our fresh components\r\nvSelect.props.components.default = () => ({\r\n Deselect: {\r\n render: h => h('feather-icon', { props: { size: '14', icon: 'XIcon' } }),\r\n },\r\n OpenIndicator: {\r\n render: h => h('feather-icon', { props: { size: '15', icon: 'ChevronDownIcon' }, class: 'open-indicator' }),\r\n },\r\n})\r\n\r\nVue.component(vSelect)\r\n","import Vue from 'vue'\r\nimport VueTour from 'vue-tour'\r\n\r\nVue.use(VueTour)\r\n","import Vue from 'vue'\r\nimport BootstrapVue, { ToastPlugin, ModalPlugin } from 'bootstrap-vue'\r\nimport LottieVuePlayer from '@lottiefiles/vue-lottie-player';\r\nimport VueCompositionAPI from '@vue/composition-api'\r\n\r\nimport i18n from '@/libs/i18n'\r\nimport router from './router'\r\nimport store from './store'\r\nimport App from './App.vue'\r\nimport SpinnerContainer from './components/SpinnerContainer.vue';\r\nimport { setVueInstance } from './common/globalVue';\r\n\r\n// Global Components\r\nimport './global-components'\r\n\r\n// 3rd party plugins\r\nimport '@axios'\r\nimport '@/libs/acl'\r\nimport '@/libs/portal-vue'\r\nimport '@/libs/clipboard'\r\nimport '@/libs/toastification'\r\nimport '@/libs/sweet-alerts'\r\nimport '@/libs/vue-select'\r\nimport '@/libs/tour'\r\n\r\n// leaflet css\r\nimport 'leaflet/dist/leaflet.css'\r\nimport 'mapbox-gl/dist/mapbox-gl.css'\r\n\r\n// BSV Plugin Registration\r\nVue.use(BootstrapVue)\r\nVue.use(ToastPlugin)\r\nVue.use(ModalPlugin)\r\n\r\n// Loader\r\nVue.use(LottieVuePlayer);\r\nVue.component(\"SpinnerContainer\", SpinnerContainer)\r\n\r\n// Composition API\r\nVue.use(VueCompositionAPI)\r\n\r\n// Feather font icon - For form-wizard\r\n// * Shall remove it if not using font-icons of feather-icons - For form-wizard\r\nrequire('@core/assets/fonts/feather/iconfont.css') // For form-wizard\r\n\r\n// import core styles\r\nrequire('@core/scss/core.scss')\r\n\r\n// import assets styles\r\nrequire('@/assets/scss/style.scss')\r\n\r\nVue.config.productionTip = false;\r\n\r\nif ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.register('/main-js/service-worker.js')\r\n .then(() => console.log(\"Service Worker Registered\"))\r\n .catch(error => console.log(\"Service Worker Registration Failed:\", error));\r\n}\r\n\r\nconst app = new Vue({\r\n router,\r\n store,\r\n i18n,\r\n render: h => h(App),\r\n}).$mount('#app')\r\n\r\nsetVueInstance(app);\r\n","import router from '@/router'\r\n\r\nimport useJwt from '@/auth/jwt/useJwt'\r\nimport AlertService from './alert.service'\r\n\r\nconst ApiService = {\r\n get(resource, params, instance) {\r\n this.setInterceptor(instance)\r\n return useJwt.axiosIns.get(resource, { params }).catch(error => {\r\n this.controlErrorResponse(error, instance)\r\n return Promise.reject(error)\r\n })\r\n },\r\n\r\n getSilent(resource, params, instance) {\r\n this.setSilentInterceptor(instance)\r\n return useJwt.axiosIns.get(resource, { params }).catch(error => {\r\n this.controlErrorResponse(error, instance)\r\n return Promise.reject(error)\r\n })\r\n },\r\n\r\n post(resource, params, instance) {\r\n this.setInterceptor(instance)\r\n return useJwt.axiosIns.post(`${resource}`, params).catch(error => {\r\n this.controlErrorResponse(error, instance)\r\n return Promise.reject(error)\r\n })\r\n },\r\n\r\n postSilent(resource, params, instance) {\r\n this.setSilentInterceptor(instance)\r\n return useJwt.axiosIns.post(`${resource}`, params).catch(error => {\r\n this.controlErrorResponse(error, instance)\r\n return Promise.reject(error)\r\n })\r\n },\r\n\r\n upload(resource, formData, instance) {\r\n this.setInterceptor(instance)\r\n return useJwt.axiosIns.post(`${resource}`, formData, { headers: { 'Content-Type': 'multipart/form-data' } })\r\n .catch(error => {\r\n this.controlErrorResponse(error, instance)\r\n })\r\n },\r\n\r\n download(resource, params, instance) {\r\n return useJwt.axiosIns({\r\n url: `${resource}`,\r\n method: 'GET',\r\n responseType: 'blob',\r\n }).catch(error => {\r\n this.controlErrorResponse(error, instance)\r\n })\r\n },\r\n\r\n update(resource, slug, params) {\r\n return useJwt.axiosIns.put(`${resource}/${slug}`, params)\r\n },\r\n\r\n put(resource, params) {\r\n return useJwt.axiosIns.put(`${resource}`, params)\r\n },\r\n\r\n delete(resource) {\r\n return useJwt.axiosIns.delete(resource).catch(error => {\r\n throw new Error(`[RWV] ApiService ${error}`)\r\n })\r\n },\r\n\r\n controlErrorResponse(response, instance) {\r\n if (!instance.commit) instance = instance.$store\r\n instance.commit('setLoader', false)\r\n const instanceObject = instance._vm ? instance._vm : instance;\r\n \r\n if (response && response.status === 401) {\r\n router.push({ name: 'login' })\r\n } else {\r\n AlertService.error(response)\r\n }\r\n },\r\n\r\n setInterceptor(instance) {\r\n if (!instance.commit) instance = instance.$store\r\n instance.commit('setLoader', true)\r\n useJwt.axiosIns.interceptors.response.use(response => {\r\n instance.commit('setLoader', false)\r\n return response;\r\n }, error => Promise.reject(error))\r\n },\r\n\r\n setSilentInterceptor(instance) {\r\n /* eslint-disable */\r\n if (!instance.commit) instance = instance.$store\r\n useJwt.axiosIns.interceptors.response.use(response => {\r\n return response;\r\n }, error => Promise.reject(error))\r\n },\r\n}\r\n\r\nexport default ApiService\r\n","import { getVueInstance } from '@/common/globalVue';\r\n\r\nconst AlertService = {\r\n success(message, callback) {\r\n if (!message) {\r\n message = ''\r\n }\r\n \r\n getVueInstance().$swal({\r\n title: 'Successful.',\r\n text: message,\r\n icon: 'success',\r\n customClass: {\r\n confirmButton: 'btn btn-primary',\r\n },\r\n buttonsStyling: false,\r\n }).then(confirm => {\r\n if (typeof callback === 'function' && confirm) {\r\n callback()\r\n }\r\n })\r\n },\r\n\r\n error(message, callback) {\r\n if (!message) {\r\n message = ''\r\n }\r\n \r\n getVueInstance().$swal({\r\n title: 'An error occurred!',\r\n text: message,\r\n icon: 'error',\r\n customClass: {\r\n confirmButton: 'btn btn-primary',\r\n },\r\n buttonsStyling: false,\r\n }).then(confirm => {\r\n if (typeof callback === 'function' && confirm) {\r\n callback()\r\n }\r\n })\r\n },\r\n\r\n warning(message, callback) {\r\n if (!message) {\r\n message = ''\r\n }\r\n \r\n getVueInstance().$swal({\r\n title: 'Warning...!',\r\n text: message,\r\n icon: 'warning',\r\n customClass: {\r\n confirmButton: 'btn btn-primary',\r\n },\r\n buttonsStyling: false,\r\n }).then(confirm => {\r\n if (typeof callback === 'function' && confirm) {\r\n callback()\r\n }\r\n })\r\n },\r\n\r\n confirmDelete(callback, message) {\r\n if (!message) {\r\n message = 'You are about to delete your account permanently. This action is irreversible.'\r\n }\r\n\r\n getVueInstance().$swal({\r\n title: 'Are you sure?',\r\n text: message,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Confirm Deletion',\r\n cancelButtonText: 'Cancel',\r\n customClass: {\r\n confirmButton: 'btn btn-danger',\r\n cancelButton: 'btn btn-outline-info ml-1',\r\n },\r\n buttonsStyling: false,\r\n }).then(result => {\r\n if (typeof callback === 'function' && result.value) {\r\n callback()\r\n }\r\n })\r\n },\r\n\r\n confirmSuccess(callback, message) {\r\n if (!message) {\r\n message = ''\r\n }\r\n\r\n getVueInstance().$swal({\r\n title: 'Confirm the Transaction?',\r\n text: message,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Ok, Continue',\r\n cancelButtonText: 'Cancel',\r\n customClass: {\r\n confirmButton: 'btn btn-primary',\r\n cancelButton: 'btn btn-outline-danger ml-1',\r\n },\r\n buttonsStyling: false,\r\n }).then(result => {\r\n if (typeof callback === 'function' && result.value) {\r\n callback()\r\n }\r\n })\r\n },\r\n}\r\n\r\nexport default AlertService\r\n","export default {\r\n // Endpoints\r\n loginEndpoint: '/account/login',\r\n registerEndpoint: '/jwt/register',\r\n refreshEndpoint: '/jwt/refresh-token',\r\n logoutEndpoint: '/account/logout',\r\n\r\n // This will be prefixed in authorization header with token\r\n // e.g. Authorization: Bearer \r\n tokenType: 'Bearer',\r\n\r\n // Value of this property will be used as key to store JWT token in storage\r\n storageTokenKeyName: 'accessToken',\r\n storageRefreshTokenKeyName: 'refreshToken',\r\n storageUserDataName: 'userData',\r\n}\r\n","import jwtDefaultConfig from './jwtDefaultConfig'\r\n\r\nexport default class JwtService {\r\n // Will be used by this service for making API calls\r\n axiosIns = null\r\n\r\n // jwtConfig <= Will be used by this service\r\n jwtConfig = { ...jwtDefaultConfig }\r\n\r\n // For Refreshing Token\r\n isAlreadyFetchingAccessToken = false\r\n\r\n // For Refreshing Token\r\n subscribers = []\r\n\r\n constructor(axiosIns, jwtOverrideConfig) {\r\n this.axiosIns = axiosIns\r\n this.jwtConfig = { ...this.jwtConfig, ...jwtOverrideConfig }\r\n\r\n // Request Interceptor\r\n this.axiosIns.interceptors.request.use(\r\n config => {\r\n // Get token from localStorage\r\n const accessToken = this.getToken()\r\n \r\n // If token is present add it to request's Authorization Header\r\n if (accessToken && !config.url.includes('https://illustrativedna-raw-files')) {\r\n // eslint-disable-next-line no-param-reassign\r\n config.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}`\r\n }\r\n return config\r\n },\r\n error => Promise.reject(error),\r\n )\r\n\r\n // Add request/response interceptor\r\n this.axiosIns.interceptors.response.use(\r\n response => response,\r\n error => Promise.reject(error.response),\r\n )\r\n }\r\n\r\n onAccessTokenFetched(accessToken) {\r\n this.subscribers = this.subscribers.filter(callback => callback(accessToken))\r\n }\r\n\r\n addSubscriber(callback) {\r\n this.subscribers.push(callback)\r\n }\r\n\r\n getToken() {\r\n return localStorage.getItem(this.jwtConfig.storageTokenKeyName)\r\n }\r\n\r\n getRefreshToken() {\r\n return localStorage.getItem(this.jwtConfig.storageRefreshTokenKeyName)\r\n }\r\n\r\n setToken(value) {\r\n localStorage.setItem(this.jwtConfig.storageTokenKeyName, value)\r\n }\r\n\r\n setRefreshToken(value) {\r\n localStorage.setItem(this.jwtConfig.storageRefreshTokenKeyName, value)\r\n }\r\n\r\n setUserData(userData) {\r\n localStorage.setItem(this.jwtConfig.storageUserDataName, JSON.stringify(userData))\r\n }\r\n\r\n login(...args) {\r\n return this.axiosIns.post(this.jwtConfig.loginEndpoint, ...args)\r\n }\r\n\r\n register(...args) {\r\n return this.axiosIns.post(this.jwtConfig.registerEndpoint, ...args)\r\n }\r\n\r\n refreshToken() {\r\n return this.axiosIns.post(this.jwtConfig.refreshEndpoint, {\r\n refreshToken: this.getRefreshToken(),\r\n })\r\n }\r\n}\r\n","import JwtService from './jwtService'\r\n\r\nexport default function useJwt(axiosIns, jwtOverrideConfig) {\r\n const jwt = new JwtService(axiosIns, jwtOverrideConfig)\r\n\r\n return {\r\n jwt,\r\n }\r\n}\r\n","import useJwt from '@core/auth/jwt/useJwt'\r\nimport axios from '@axios'\r\n\r\nconst { jwt } = useJwt(axios, {})\r\nexport default jwt\r\n","import Vue from 'vue'\r\n// axios\r\nimport axios from 'axios'\r\n\r\nimport { API_URL } from '@/common/config'\r\n\r\n/* eslint-disable */\r\nconst axiosIns = axios.create({\r\n baseURL: API_URL,\r\n // baseURL: 'https://localhost:5001/api/',\r\n headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET,POST,OPTIONS,DELETE,PUT' },\r\n})\r\n\r\n// Add a response interceptor\r\naxiosIns.interceptors.response.use(response => {\r\n try {\r\n if (typeof response.data.result === 'string') {\r\n response.data.result = JSON.parse(response.data.result);\r\n }\r\n } catch {\r\n // response.data = response.data;\r\n }\r\n return response.data;\r\n}, error => Promise.reject(error));\r\n\r\nVue.prototype.$http = axiosIns\r\n\r\nexport default axiosIns\r\n","import useJwt from '@/auth/jwt/useJwt'\r\n\r\n/**\r\n * Return if user is logged in\r\n * This is completely up to you and how you want to store the token in your frontend application\r\n * e.g. If you are using cookies to store the application please update this function\r\n */\r\n// eslint-disable-next-line arrow-body-style\r\nexport const isUserLoggedIn = () => {\r\n return localStorage.getItem('userData') && localStorage.getItem(useJwt.jwtConfig.storageTokenKeyName)\r\n}\r\n\r\nexport const getUserData = () => JSON.parse(localStorage.getItem('userData'))\r\n\r\nexport const getUserRole = () => {\r\n if (getUserData()) {\r\n return getUserData().userRole;\r\n } \r\n return null;\r\n}\r\n\r\n// Roles\r\nexport const Role = {\r\n Customer: 'Customer',\r\n}\r\n\r\n/**\r\n * This function is used for demo purpose route navigation\r\n * In real app you won't need this function because your app will navigate to same route for each users regardless of ability\r\n * Please note role field is just for showing purpose it's not used by anything in frontend\r\n * We are checking role just for ease\r\n * NOTE: If you have different pages to navigate based on user ability then this function can be useful. However, you need to update it.\r\n * @param {String} userRole Role of user\r\n */\r\nexport const getHomeRouteForLoggedInUser = userRole => {\r\n if (userRole === Role.Customer) return { name: 'dashboard' }\r\n if (userRole === 'client') return { name: 'access-control' }\r\n return { name: 'login' }\r\n}\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatherIcon.vue?vue&type=style&index=0&lang=scss&\"","import { Role } from '@/auth/utils'\r\n\r\nexport default [\r\n {\r\n path: '/order/list',\r\n name: 'order-list',\r\n component: () => import('@/views/dashboards/main-dashboard/actions/orders/MobileOrderList.vue'),\r\n meta: {\r\n authorize: [Role.Customer],\r\n },\r\n },\r\n {\r\n path: '/kits/list',\r\n name: 'kits-list',\r\n component: () => import('@/views/dashboards/main-dashboard/actions/kits/MobileKitsList.vue'),\r\n meta: {\r\n authorize: [Role.Customer],\r\n },\r\n },\r\n\r\n {\r\n path: '/notifications',\r\n name: 'notifications',\r\n component: () => import('@/views/others/Notifications.vue'),\r\n meta: {\r\n authorize: [Role.Customer],\r\n },\r\n },\r\n\r\n {\r\n path: '/ticket/list',\r\n name: 'ticket-list',\r\n component: () => import('@/views/dashboards/main-dashboard/actions/tickets/MobileTicketList.vue'),\r\n meta: {\r\n authorize: [Role.Customer],\r\n },\r\n },\r\n {\r\n path: '/ticket/new-ticket',\r\n name: 'new-ticket',\r\n component: () => import('@/views/dashboards/main-dashboard/actions/tickets/NewTicket.vue'),\r\n meta: {\r\n authorize: [Role.Customer],\r\n },\r\n },\r\n {\r\n path: '/ticket/detail/:id',\r\n name: 'ticket-detail',\r\n component: () => import('@/views/dashboards/main-dashboard/actions/tickets/TicketDetail.vue'),\r\n meta: {\r\n authorize: [Role.Customer],\r\n },\r\n },\r\n\r\n {\r\n path: '/dashboard/upgradev2',\r\n name: 'dashboard-upgradev2',\r\n component: () => import('@/views/dashboards/update-v2/UpdateToV2.vue'),\r\n meta: {\r\n authorize: [Role.Customer],\r\n pageTitle: 'UPGRADE TO V2',\r\n code: 'DASHBOARD',\r\n },\r\n },\r\n \r\n // Checkout\r\n {\r\n path: '/checkout/select-service',\r\n name: 'checkout-select-service',\r\n component: () => import('@/views/checkouts/select-services/CheckoutSelectService.vue'),\r\n meta: {\r\n layout: 'full',\r\n },\r\n },\r\n {\r\n path: '/checkout/da/:step',\r\n name: 'checkout-da',\r\n component: () => import('@/views/checkouts/DeepAncestryCheckout/DeepACheckout.vue'),\r\n meta: {\r\n layout: 'full',\r\n },\r\n },\r\n {\r\n path: '/checkout/da/:step/:product_code',\r\n name: 'checkout-da',\r\n component: () => import('@/views/checkouts/DeepAncestryCheckout/DeepACheckout.vue'),\r\n meta: {\r\n layout: 'full',\r\n },\r\n },\r\n\r\n {\r\n path: '/checkout/g25-partner/:link_guid',\r\n name: 'checkout-trait',\r\n component: () => import('@/views/purchase-partner/g25/PartnerCheckout.vue'),\r\n meta: {\r\n layout: 'full',\r\n },\r\n },\r\n\r\n]\r\n","import { Role } from '@/auth/utils'\r\n\r\nexport default [\r\n {\r\n path: '/deep-ancestry',\r\n name: 'deep-ancestry',\r\n component: () => import('@/views/results/deep-ancestry/dashboard/DeepAncestryDashboard.vue'),\r\n meta: {\r\n authorize: [Role.Customer],\r\n layout: 'deep-ancestry',\r\n },\r\n children: [\r\n {\r\n path: 'periodical',\r\n name: 'periodical',\r\n component: () => import('@/views/results/deep-ancestry/periodical/PeriodicalResult.vue'),\r\n meta: {\r\n layout: 'deep-ancestry',\r\n code: 'PERIODICAL',\r\n parentCode: 'DEEP-ANCESTRY'\r\n },\r\n },\r\n {\r\n path: 'hgfarmer',\r\n name: 'hgfarmer',\r\n component: () => import('@/views/results/deep-ancestry/hg-farmer/HgFarmerResult.vue'),\r\n meta: {\r\n layout: 'deep-ancestry',\r\n code: 'HG-FARMER',\r\n parentCode: 'DEEP-ANCESTRY'\r\n },\r\n },\r\n {\r\n path: 'unsupervised-analysis',\r\n name: 'unsupervised-analysis',\r\n component: () => import('@/views/results/deep-ancestry/unsupervised-analysis/UnsupervisedAnalysisResult.vue'),\r\n meta: {\r\n layout: 'deep-ancestry',\r\n code: 'UNSUPERVISED-ANALYSIS',\r\n parentCode: 'DEEP-ANCESTRY'\r\n },\r\n },\r\n {\r\n path: 'genetic-distances',\r\n name: 'genetic-distances',\r\n component: () => import('@/views/results/deep-ancestry/genetic-similarities/GeneticSimilaritiesResult.vue'),\r\n meta: {\r\n layout: 'deep-ancestry',\r\n code: 'GENETIC-DISTANCES',\r\n parentCode: 'DEEP-ANCESTRY'\r\n },\r\n },\r\n {\r\n path: 'pca-plots',\r\n name: 'pca-plots',\r\n component: () => import('@/views/results/deep-ancestry/pca-plots/PcaPlotResult.vue'),\r\n meta: {\r\n layout: 'deep-ancestry',\r\n code: 'PCA-PLOTS',\r\n parentCode: 'DEEP-ANCESTRY'\r\n },\r\n },\r\n {\r\n path: 'diy-tools',\r\n name: 'diy-tools',\r\n component: () => import('@/views/results/deep-ancestry/diy-tools/DiyToolsResult.vue'),\r\n meta: {\r\n layout: 'deep-ancestry',\r\n code: 'DIY-TOOLS',\r\n parentCode: 'DEEP-ANCESTRY'\r\n },\r\n },\r\n {\r\n path: 'sample-database',\r\n name: 'sample-database',\r\n component: () => import('@/views/results/deep-ancestry/sample-database/SampleDatabase.vue'),\r\n meta: {\r\n layout: 'deep-ancestry',\r\n code: 'SAMPLE-DATABASE',\r\n parentCode: 'DEEP-ANCESTRY'\r\n },\r\n },\r\n {\r\n path: 'download-coordinates',\r\n name: 'download-coordinates',\r\n component: () => import('@/views/results/deep-ancestry/download-coordinates/DownloadCoordinatesPage.vue'),\r\n meta: {\r\n layout: 'deep-ancestry',\r\n code: 'DOWNLOAD-COORDINATES',\r\n parentCode: 'DEEP-ANCESTRY'\r\n },\r\n },\r\n ],\r\n },\r\n]\r\n","import Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\n\r\n// Routes\r\nimport { isUserLoggedIn, getUserRole, Role } from '@/auth/utils'\r\nimport general from './routes/general'\r\nimport deepAncestry from './routes/deepAncestry'\r\n\r\nVue.use(VueRouter)\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n scrollBehavior() {\r\n return { x: 0, y: 0 }\r\n },\r\n routes: [\r\n { \r\n path: '/', \r\n redirect: { name: 'dashboard' },\r\n meta: {\r\n authorize: [Role.Customer],\r\n code: 'DASHBOARD',\r\n },\r\n },\r\n {\r\n path: '/dashboard',\r\n name: 'dashboard',\r\n component: () => import('@/views/dashboard.vue'),\r\n meta: {\r\n authorize: [Role.Customer],\r\n pageTitle: 'Dashboard',\r\n code: 'DASHBOARD',\r\n },\r\n },\r\n {\r\n path: '/dashboard/deep-ancestry',\r\n name: 'dashboard-da',\r\n component: () => import('@/views/results/deep-ancestry/dashboard/MobileDeepAncestryMenu.vue'),\r\n meta: {\r\n authorize: [Role.Customer],\r\n pageTitle: 'Deep Ancestry',\r\n code: 'DEEP-ANCESTRY',\r\n parentCode: 'DASHBOARD'\r\n },\r\n },\r\n ...general,\r\n ...deepAncestry,\r\n\r\n {\r\n path: '/profile-settings',\r\n name: 'profile-settings',\r\n component: () => import('@/views/others/profile-settings/ProfileSettings.vue'),\r\n meta: {\r\n authorize: [],\r\n },\r\n },\r\n {\r\n path: '/signup',\r\n name: 'signup',\r\n component: () => import('@/views/account/Register.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n redirectIfLoggedIn: true,\r\n },\r\n },\r\n {\r\n path: '/login',\r\n name: 'login',\r\n component: () => import('@/views/account/Login.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n redirectIfLoggedIn: true,\r\n },\r\n },\r\n {\r\n path: '/loginguid/:code',\r\n name: 'loginguid',\r\n component: () => import('@/views/account/LoginGuid.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n redirectIfLoggedIn: true,\r\n },\r\n },\r\n {\r\n path: '/forgotpassword',\r\n name: 'forgotpassword',\r\n component: () => import('@/views/account/ForgotPassword.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n redirectIfLoggedIn: true,\r\n },\r\n },\r\n {\r\n path: '/resetpassword/:verifyCode',\r\n name: 'resetpassword',\r\n component: () => import('@/views/account/ResetPassword.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n redirectIfLoggedIn: true,\r\n },\r\n },\r\n {\r\n path: '/email-verify/:verifyCode',\r\n name: 'email-verify',\r\n component: () => import('@/views/account/EmailVerify.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n redirectIfLoggedIn: true,\r\n },\r\n },\r\n {\r\n path: '/error-404',\r\n name: 'error-404',\r\n component: () => import('@/views/others/error/Error404.vue'),\r\n meta: {\r\n layout: 'full',\r\n },\r\n },\r\n {\r\n path: '*',\r\n redirect: 'error-404',\r\n },\r\n ],\r\n})\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n const { authorize } = to.meta\r\n if (authorize) {\r\n const isLoggedIn = isUserLoggedIn()\r\n const currentUserRole = getUserRole()\r\n\r\n if (!isLoggedIn) {\r\n // not logged in so redirect to login page with the return url\r\n if (to.name === 'login') {\r\n return next();\r\n } \r\n return next({ name: 'login' });\r\n }\r\n\r\n // check if route is restricted by role\r\n if (authorize.length && !authorize.includes(currentUserRole)) {\r\n // role not authorised so redirect to home page\r\n if ((currentUserRole === Role.Customer) && to.name !== 'customer-home') {\r\n next({ name: 'customer-home' });\r\n } else {\r\n next({ path: '/' });\r\n }\r\n }\r\n }\r\n\r\n return next()\r\n})\r\n\r\nexport default router\r\n","// export const API_URL = 'https://localhost:5001/api';\r\nexport const API_URL = 'https://api.illustrativedna.com/api';\r\n// export const API_URL = 'https://apitest.illustrativedna.com/api';\r\n\r\nexport const GOOGLE_API_KEY = process.env.NODE_ENV === 'development' ? 'AIzaSyAtgBHdXZtVI3tSA2APEbloj441Bp3E35A' : 'AIzaSyCq0AU-7Vq6ggAEgfCSPIxHFQbSKseyuBk';\r\n\r\nexport const regionDefaultId = 1;\r\nexport const regionGrupDefaultId = 3;\r\n\r\nexport const PRODUCT_CODES = {\r\n UPLOAD_DA_COORDINATES: 'upload_coordinates',\r\n UPLOAD_DA_RAW_DATA: 'Upload_Raw_Data',\r\n UPLOAD_TRAIT_RAW_DATA: 'traits_health',\r\n};\r\n\r\nexport const DEEP_ANCESTRY_CHECKOUT_STEPS = {\r\n SELECT_SERVICE: 'select-service',\r\n UPLOAD: 'upload',\r\n ACCOUNT: 'account',\r\n CONFIRM: 'confirm',\r\n};\r\n\r\nexport const TRAIT_CHECKOUT_STEPS = {\r\n UPLOAD: 'upload',\r\n ACCOUNT: 'account',\r\n CONFIRM: 'confirm',\r\n};\r\n","module.exports = \"data:image/png;base64,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\"","import { computed, watch } from '@vue/composition-api'\r\nimport store from '@/store'\r\n\r\nexport default function usAppConfig() {\r\n // ------------------------------------------------\r\n // isVerticalMenuCollapsed\r\n // ------------------------------------------------\r\n const isVerticalMenuCollapsed = computed({\r\n get: () => store.state.verticalMenu.isVerticalMenuCollapsed,\r\n set: val => {\r\n store.commit('verticalMenu/UPDATE_VERTICAL_MENU_COLLAPSED', val)\r\n },\r\n })\r\n\r\n // ------------------------------------------------\r\n // RTL\r\n // ------------------------------------------------\r\n const isRTL = computed({\r\n get: () => store.state.appConfig.layout.isRTL,\r\n set: val => {\r\n store.commit('appConfig/TOGGLE_RTL', val)\r\n },\r\n })\r\n\r\n // ------------------------------------------------\r\n // Skin\r\n // ------------------------------------------------\r\n const skin = computed({\r\n get: () => store.state.appConfig.layout.skin,\r\n set: val => {\r\n store.commit('appConfig/UPDATE_SKIN', val)\r\n },\r\n })\r\n\r\n const skinClasses = computed(() => {\r\n if (skin.value === 'bordered') return 'bordered-layout'\r\n if (skin.value === 'semi-dark') return 'semi-dark-layout'\r\n\r\n // Do not return any class for dark layout because dark layout updates class in body\r\n // Do not return any class for light layout as that is default layout\r\n return null\r\n })\r\n \r\n const hrClasses = computed(() => {\r\n if (skin.value === 'light') return 'light-hr'\r\n if (skin.value === 'dark') return 'dark-hr'\r\n\r\n // Do not return any class for dark layout because dark layout updates class in body\r\n // Do not return any class for light layout as that is default layout\r\n return null\r\n })\r\n\r\n // ------------------------------------------------\r\n // routerTransition\r\n // ------------------------------------------------\r\n const routerTransition = computed({\r\n get: () => store.state.appConfig.layout.routerTransition,\r\n set: val => {\r\n store.commit('appConfig/UPDATE_ROUTER_TRANSITION', val)\r\n },\r\n })\r\n\r\n // *===============================================---*\r\n // *--------- LAYOUT ---------------------------------------*\r\n // *===============================================---*\r\n\r\n // ------------------------------------------------\r\n // layoutType\r\n // ------------------------------------------------\r\n\r\n const layoutType = computed({\r\n get: () => store.state.appConfig.layout.type,\r\n set: val => {\r\n store.commit('appConfig/UPDATE_LAYOUT_TYPE', val)\r\n },\r\n })\r\n\r\n // Reset skin if skin is semi-dark and move to horizontal layout\r\n watch(layoutType, val => {\r\n if (val === 'horizontal' && skin.value === 'semi-dark') skin.value = 'light'\r\n })\r\n\r\n // ------------------------------------------------\r\n // Content Width (Full/Boxed)\r\n // ------------------------------------------------\r\n const contentWidth = computed({\r\n get: () => store.state.appConfig.layout.contentWidth,\r\n set: val => {\r\n store.commit('appConfig/UPDATE_CONTENT_WIDTH', val)\r\n },\r\n })\r\n\r\n // ------------------------------------------------\r\n // isNavMenuHidden\r\n // ------------------------------------------------\r\n const isNavMenuHidden = computed({\r\n get: () => store.state.appConfig.layout.menu.hidden,\r\n set: val => {\r\n store.commit('appConfig/UPDATE_NAV_MENU_HIDDEN', val)\r\n },\r\n })\r\n\r\n // *===============================================---*\r\n // *--------- NAVBAR ---------------------------------------*\r\n // *===============================================---*\r\n\r\n const navbarBackgroundColor = computed({\r\n get: () => store.state.appConfig.layout.navbar.backgroundColor,\r\n set: val => {\r\n store.commit('appConfig/UPDATE_NAVBAR_CONFIG', { backgroundColor: val })\r\n },\r\n })\r\n\r\n const navbarType = computed({\r\n get: () => store.state.appConfig.layout.navbar.type,\r\n set: val => {\r\n store.commit('appConfig/UPDATE_NAVBAR_CONFIG', { type: val })\r\n },\r\n })\r\n\r\n // *===============================================---*\r\n // *--------- FOOTER ---------------------------------------*\r\n // *===============================================---*\r\n\r\n const footerType = computed({\r\n get: () => store.state.appConfig.layout.footer.type,\r\n set: val => {\r\n store.commit('appConfig/UPDATE_FOOTER_CONFIG', { type: val })\r\n },\r\n })\r\n\r\n return {\r\n isVerticalMenuCollapsed,\r\n isRTL,\r\n skin,\r\n skinClasses,\r\n hrClasses,\r\n routerTransition,\r\n\r\n // Navbar\r\n navbarBackgroundColor,\r\n navbarType,\r\n\r\n // Footer\r\n footerType,\r\n\r\n // Layout\r\n layoutType,\r\n contentWidth,\r\n isNavMenuHidden,\r\n }\r\n}\r\n","let instance = null;\r\n\r\nexport function setVueInstance(vue) {\r\n instance = vue;\r\n}\r\n\r\nexport function getVueInstance() {\r\n return instance;\r\n}\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SpinnerContainer.vue?vue&type=style&index=0&id=c2f95146&lang=scss&scoped=true&\""],"sourceRoot":""}