{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./themeConfig.js","webpack:///./src/indexDB/item.js","webpack:///./src/store/app/index.js","webpack:///./src/store/app-config/index.js","webpack:///./src/store/vertical-menu/index.js","webpack:///./src/store/user-data/index.js","webpack:///./src/indexDB/order.js","webpack:///./src/store/item-data/index.js","webpack:///./src/indexDB/basket.js","webpack:///./src/store/basket-data/index.js","webpack:///./src/indexDB/favorite.js","webpack:///./src/store/favorite-data/index.js","webpack:///./src/store/index.js","webpack:///./src/@core/components/feather-icon/FeatherIcon.vue","webpack:///./src/App.vue?9b2d","webpack:///./src/@core/components/scroll-to-top/ScrollToTop.vue?ee4f","webpack:///src/@core/components/scroll-to-top/ScrollToTop.vue","webpack:///./src/@core/components/scroll-to-top/ScrollToTop.vue?63b1","webpack:///./src/@core/components/scroll-to-top/ScrollToTop.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///src/@core/components/feather-icon/FeatherIcon.vue","webpack:///./src/@core/components/feather-icon/FeatherIcon.vue?fe69","webpack:///./src/global-components.js","webpack:///./src/libs/portal-vue.js","webpack:///./src/libs/toastification.js","webpack:///./src/libs/acl/index.js","webpack:///./src/libs/sweet-alerts.js","webpack:///./src/libs/tour.js","webpack:///./src/main.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/@core/components/feather-icon/FeatherIcon.vue?93b6","webpack:///./src/@core/components/scroll-to-top/ScrollToTop.vue?cb85","webpack:///./src/router/customer.js","webpack:///./src/router/administrator.js","webpack:///./src/libs/acl/routeProtection.js","webpack:///./src/router/supervisor.js","webpack:///./src/router/supplier.js","webpack:///./src/router/index.js","webpack:///./src/@core/app-config/useAppConfig.js","webpack:///./src/libs/acl/ability.js","webpack:///./src/assets/images/logo/logo.svg","webpack:///./src/libs/acl/config.js"],"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","appLogoImage2","layout","isRTL","skin","routerTransition","contentWidth","menu","hidden","isCollapsed","navbar","backgroundColor","footer","customizer","enableScrollToTop","db","namespaced","state","windowWidth","shallShowOverlay","getters","currentBreakPoint","xl","lg","md","sm","mutations","UPDATE_WINDOW_WIDTH","val","TOGGLE_OVERLAY","actions","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","isVerticalMenuCollapsed","UPDATE_VERTICAL_MENU_COLLAPSED","AppActiveUser","Companies","Company","getAppActiveUser","getCompanies","getCompany","UPDATE_USER_INFO","payload","username","UPDATE_COMPANIES","UPDATE_COMPANY","logout","commit","axiosIns","post","response","catch","finally","removeItem","useJwt","jwtConfig","storageTokenKeyName","storageRefreshTokenKeyName","INIT_USER_DATA","log","INIT_COMPANIES","companies","company","DB_NAME","DB_VERSION","ITEM_MED_NAME","ITEM_PARA_NAME","openDatabase","indexedDB","open","onsuccess","onupgradeneeded","objectStoreNames","contains","createObjectStore","keyPath","closeDatabase","close","addItem","storeName","item","transaction","store","objectStore","getRequest","existingItem","updatedItem","updateRequest","put","addRequest","getAllItems","getAll","ORDER_NAME","addOrder","compoundKey","IDBKeyRange","only","getAllOrders","deleteByCode","delete","getOrderCount","count","itemsMED","itemsPARA","orderLines","isItemsMEDFetched","isItemsPARAFetched","geItemsMED","geItemsPARA","geItems","concat","geItemMEDByCode","find","geItemPARAByCode","geItemByCode","getOrderLines","parseInt","MUTATE_ITEMS_MED","MUTATE_ITEMS_PARA","UPDATE_ORDER_LINES","INCREMENT_ORDER_LINES","DECREMENT_ORDER_LINES","FETCH_ITEMS_FROM_BACKEND","dispatch","axios","status","itemDB","map","element","updatedAt","FETCH_ITEMS_FROM_BACKEND_ADMIN","INITIALIZE_ITEMS_MED","items","INITIALIZE_ITEMS_PARA","GET_INVENTORY","Qte","resp","inventory","respStruct","title","icon","text","variant","promotion","price","price_ttc","public_price","packaging","dlc","Unit_Price","Price_Including_VAT","Public_Price","Packaging","DLC","Quotas_Item_Exist","Quotas_Item_by_Customer","Quantity_available","Description","Promotion_Inventory","Sales_threshold","Free_Sales_Qty","unitesGratuits","Math","floor","SAVE_ORDER","includes","orderDB","FETCH_ORDERS","orders","filter","DELETE_ORDER_LINE","COUNT_ORDER_LINES","BASKET_HEADER_NAME","BASKET_LINE_NAME","autoIncrement","lineStore","createIndex","unique","addBasketHeader","headerId","addBasketLine","basketHeaderId","getAllBasketHeaders","getAllBasketLines","index","range","deleteBasketLine","deleteRequest","deleteBasketHeaderAndLines","headerStore","linesIndex","linesRange","deleteLinesRequest","openCursor","cursor","continue","deleteHeaderRequest","basketHeaders","basketHeadersCount","getBasketHeaders","reverse","getBasketHeadersCount","MUTATE_BASKET_HEADER","FILL_BASKET_HEADERS","basketDB","headers","ADD_BASKET_HEADER","basketName","rootGetters","now","Date","day","String","getDate","padStart","month","getMonth","year","getFullYear","hours","getHours","minutes","getMinutes","seconds","getSeconds","formattedDateTime","description","time","ADD_BASKET_LINE","_","GET_BASKET_LINES","lines","DELETE_BASKET_LINE","line","DELETE_BASKET_HEADER","FVORITE_NAME","addFavorite","deleteFavorite","findAll","findByCode","favorites","getFavorites","MUTATE_FAVORITES","FILL_FAVORITES","favoritetDB","ADD_FAVORITE","DELETE_FAVORITE","FIND_FAVORITE","fav","Vue","use","Vuex","Store","appConfig","verticalMenu","userdata","itemData","basketData","favoriteData","strict","process","DEV","_vm","this","_h","$createElement","_c","_self","staticClass","class","skinClasses","attrs","staticRenderFns","y","directives","rawName","expression","modifiers","on","scrollToTop","Ripple","components","BButton","setup","rootEle","scrollTo","top","behavior","component","LayoutHorizontal","LayoutVertical","LayoutFull","ScrollToTop","computed","$route","meta","contentLayoutType","$store","beforeCreate","hideProgressBar","closeOnClick","closeButton","transition","functional","props","required","size","default","badge","Number","badgeClasses","Array","render","svg","h","FeatherIcon","PortalVue","Toast","position","pauseOnFocusLoss","pauseOnHover","draggable","draggablePercent","maxToasts","newestOnTop","abilitiesPlugin","ability","VueSweetalert2","VueTour","BootstrapVue","VueCompositionAPI","config","productionTip","eventBus","router","App","$mount","loginEndpoint","registerEndpoint","refreshEndpoint","logoutEndpoint","tokenType","JwtService","jwtOverrideConfig","jwtDefaultConfig","interceptors","accessToken","getToken","Authorization","$emit","originalRequest","isAlreadyFetchingAccessToken","refreshToken","setToken","setRefreshToken","onAccessTokenFetched","retryOriginalRequest","addSubscriber","subscribers","callback","token","JSON","stringify","sessionId","args","email","password","getRefreshToken","jwt","baseURL","DIRECTORY_FILES_PATH","$serverpath","$http","path","resource","action","contentRenderer","contentClass","canNavigate","to","matched","some","route","can","VueRouter","base","scrollBehavior","x","routes","customer","administrator","supervisor","supplier","redirect","beforeEach","next","fullPath","usAppConfig","set","layoutType","watch","isNavMenuHidden","navbarBackgroundColor","navbarType","footerType","userData","parse","existingAbility","Ability","initialAbility","subject"],"mappings":"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","file":"js/app.90f11ea4.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-08d9dfc0\":\"50d6434b\",\"chunk-0b2e8bc0\":\"820eee3a\",\"chunk-22e51782\":\"7157f721\",\"chunk-2d0e9345\":\"7d3a532d\",\"chunk-2d22bcc3\":\"4147fcd7\",\"chunk-2d22d835\":\"a32f5e71\",\"chunk-3c6d1987\":\"347b12de\",\"chunk-48353e20\":\"31f635b1\",\"chunk-39c8eb36\":\"fca32ac0\",\"chunk-487983c2\":\"d0c97aa2\",\"chunk-4ed18d76\":\"196fa9e4\",\"chunk-dc60d9ea\":\"3e89763b\",\"chunk-53a62132\":\"2ffdc57f\",\"chunk-064b5c59\":\"cb9fd3ef\",\"chunk-14923ee3\":\"b770e1fd\",\"chunk-19412f83\":\"3ec9e663\",\"chunk-1c89e266\":\"7d51ce63\",\"chunk-2b76a29c\":\"67e8d327\",\"chunk-2bec5f70\":\"d2658e48\",\"chunk-2c8e3672\":\"635e151c\",\"chunk-5c2823df\":\"73e5fde6\",\"chunk-67f4a006\":\"98ca35c1\",\"chunk-2d0a4a39\":\"d3cc5d27\",\"chunk-3efacabc\":\"93f70404\",\"chunk-42bf7ae6\":\"ef134b3d\",\"chunk-4bd44658\":\"d066fdd6\",\"chunk-4bd4b1af\":\"362ebfc3\",\"chunk-77228efe\":\"28afac90\",\"chunk-a4f94348\":\"2077947e\",\"chunk-0853bc50\":\"429dd3ca\",\"chunk-3ae9e027\":\"8c3b6fc5\",\"chunk-2c3144a0\":\"b5c9c817\",\"chunk-45389511\":\"6ba86106\",\"chunk-1c613c0c\":\"dd25f29c\",\"chunk-9b0f398a\":\"5e94a0dd\",\"chunk-3962ef67\":\"0a8cbbc5\",\"chunk-5518f1de\":\"769be6ad\",\"chunk-a43c19be\":\"af84732e\",\"chunk-585d568e\":\"75e09421\",\"chunk-7b86db1e\":\"e2c5b3a6\",\"chunk-7fd4987b\":\"52137561\",\"chunk-721a81f3\":\"7de71415\",\"chunk-86f16cd0\":\"f6dca8b9\",\"chunk-8d8e7a54\":\"faf7e161\",\"chunk-94a3150c\":\"b736569c\",\"chunk-b81a5226\":\"ed2e6102\",\"chunk-ca834206\":\"cd9250c7\",\"chunk-ca9f1bf2\":\"d508694a\",\"chunk-dfa85188\":\"8659bcde\",\"chunk-2ba8790c\":\"1280e875\",\"chunk-2bd7450d\":\"4634af67\",\"chunk-6e1a0708\":\"fb884da2\",\"chunk-73061488\":\"33ebf921\",\"chunk-7826de79\":\"ec82d8ba\",\"chunk-c8847676\":\"55b0a71a\",\"chunk-cdc019fa\":\"fcac7752\",\"chunk-ecf0a160\":\"411cbaee\",\"chunk-ef8c38fc\":\"9f5d1d13\",\"chunk-efb672dc\":\"d6b37645\",\"chunk-ff7b5afe\":\"cf9fb2d5\",\"chunk-549a343e\":\"fd42f054\",\"chunk-7d3b7f4b\":\"f94f671a\",\"chunk-66debd90\":\"5a9e5c8a\",\"chunk-f4db92fe\":\"8e91f909\",\"chunk-62e8aa27\":\"8fe60711\",\"chunk-672ff4ce\":\"9249c330\",\"chunk-7628d256\":\"0eb2d03d\",\"chunk-7aa979ea\":\"093d8046\",\"chunk-8a4532f2\":\"668d39a4\",\"chunk-db565cd8\":\"9223f96b\",\"chunk-1a710db4\":\"9a96d212\"}[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-08d9dfc0\":1,\"chunk-0b2e8bc0\":1,\"chunk-22e51782\":1,\"chunk-3c6d1987\":1,\"chunk-39c8eb36\":1,\"chunk-487983c2\":1,\"chunk-4ed18d76\":1,\"chunk-dc60d9ea\":1,\"chunk-53a62132\":1,\"chunk-064b5c59\":1,\"chunk-14923ee3\":1,\"chunk-19412f83\":1,\"chunk-1c89e266\":1,\"chunk-2b76a29c\":1,\"chunk-2bec5f70\":1,\"chunk-2c8e3672\":1,\"chunk-5c2823df\":1,\"chunk-67f4a006\":1,\"chunk-3efacabc\":1,\"chunk-42bf7ae6\":1,\"chunk-77228efe\":1,\"chunk-a4f94348\":1,\"chunk-0853bc50\":1,\"chunk-3ae9e027\":1,\"chunk-2c3144a0\":1,\"chunk-45389511\":1,\"chunk-1c613c0c\":1,\"chunk-9b0f398a\":1,\"chunk-3962ef67\":1,\"chunk-5518f1de\":1,\"chunk-a43c19be\":1,\"chunk-7b86db1e\":1,\"chunk-7fd4987b\":1,\"chunk-721a81f3\":1,\"chunk-86f16cd0\":1,\"chunk-8d8e7a54\":1,\"chunk-94a3150c\":1,\"chunk-b81a5226\":1,\"chunk-ca834206\":1,\"chunk-ca9f1bf2\":1,\"chunk-2ba8790c\":1,\"chunk-2bd7450d\":1,\"chunk-6e1a0708\":1,\"chunk-73061488\":1,\"chunk-7826de79\":1,\"chunk-c8847676\":1,\"chunk-cdc019fa\":1,\"chunk-ecf0a160\":1,\"chunk-ff7b5afe\":1,\"chunk-66debd90\":1,\"chunk-f4db92fe\":1,\"chunk-62e8aa27\":1,\"chunk-672ff4ce\":1,\"chunk-7628d256\":1,\"chunk-7aa979ea\":1,\"chunk-8a4532f2\":1,\"chunk-db565cd8\":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-08d9dfc0\":\"6c9e409c\",\"chunk-0b2e8bc0\":\"c0732149\",\"chunk-22e51782\":\"c0732149\",\"chunk-2d0e9345\":\"31d6cfe0\",\"chunk-2d22bcc3\":\"31d6cfe0\",\"chunk-2d22d835\":\"31d6cfe0\",\"chunk-3c6d1987\":\"2df38712\",\"chunk-48353e20\":\"31d6cfe0\",\"chunk-39c8eb36\":\"f042f29f\",\"chunk-487983c2\":\"6c9e409c\",\"chunk-4ed18d76\":\"48051329\",\"chunk-dc60d9ea\":\"bb2c2d29\",\"chunk-53a62132\":\"e8cb159f\",\"chunk-064b5c59\":\"a57f6fb9\",\"chunk-14923ee3\":\"35379b01\",\"chunk-19412f83\":\"ae796000\",\"chunk-1c89e266\":\"0e433876\",\"chunk-2b76a29c\":\"e6e57257\",\"chunk-2bec5f70\":\"d00325fc\",\"chunk-2c8e3672\":\"4dd24b7e\",\"chunk-5c2823df\":\"0e433876\",\"chunk-67f4a006\":\"0e433876\",\"chunk-2d0a4a39\":\"31d6cfe0\",\"chunk-3efacabc\":\"b8c97fd8\",\"chunk-42bf7ae6\":\"96013ebc\",\"chunk-4bd44658\":\"31d6cfe0\",\"chunk-4bd4b1af\":\"31d6cfe0\",\"chunk-77228efe\":\"fe1c39c6\",\"chunk-a4f94348\":\"c9e0b0c4\",\"chunk-0853bc50\":\"d97f6c9a\",\"chunk-3ae9e027\":\"63c36ef7\",\"chunk-2c3144a0\":\"ed5db4d2\",\"chunk-45389511\":\"06194056\",\"chunk-1c613c0c\":\"0d9f4613\",\"chunk-9b0f398a\":\"4427aaa6\",\"chunk-3962ef67\":\"44843a33\",\"chunk-5518f1de\":\"9d6c426d\",\"chunk-a43c19be\":\"cdee600a\",\"chunk-585d568e\":\"31d6cfe0\",\"chunk-7b86db1e\":\"2266b515\",\"chunk-7fd4987b\":\"820901ee\",\"chunk-721a81f3\":\"03457057\",\"chunk-86f16cd0\":\"6c9e409c\",\"chunk-8d8e7a54\":\"69b4af91\",\"chunk-94a3150c\":\"794196e5\",\"chunk-b81a5226\":\"e6e57257\",\"chunk-ca834206\":\"ae796000\",\"chunk-ca9f1bf2\":\"de70cde5\",\"chunk-dfa85188\":\"31d6cfe0\",\"chunk-2ba8790c\":\"0bc0d906\",\"chunk-2bd7450d\":\"faf0e4ac\",\"chunk-6e1a0708\":\"919bb347\",\"chunk-73061488\":\"8c45adde\",\"chunk-7826de79\":\"329f7046\",\"chunk-c8847676\":\"d00222f4\",\"chunk-cdc019fa\":\"f61414a3\",\"chunk-ecf0a160\":\"5881a71b\",\"chunk-ef8c38fc\":\"31d6cfe0\",\"chunk-efb672dc\":\"31d6cfe0\",\"chunk-ff7b5afe\":\"3eb96991\",\"chunk-549a343e\":\"31d6cfe0\",\"chunk-7d3b7f4b\":\"31d6cfe0\",\"chunk-66debd90\":\"5d7822d9\",\"chunk-f4db92fe\":\"5d7822d9\",\"chunk-62e8aa27\":\"c0732149\",\"chunk-672ff4ce\":\"2265e602\",\"chunk-7628d256\":\"2265e602\",\"chunk-7aa979ea\":\"00045dc8\",\"chunk-8a4532f2\":\"cae9bcd5\",\"chunk-db565cd8\":\"c0732149\",\"chunk-1a710db4\":\"31d6cfe0\"}[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","// Theme Colors\n// Initially this will be blank. Later on when app is initialized we will assign bootstrap colors to this from CSS variables.\nexport const $themeColors = {}\n\n// App Breakpoints\n// Initially this will be blank. Later on when app is initialized we will assign bootstrap breakpoints to this object from CSS variables.\nexport const $themeBreakpoints = {}\n\n// APP CONFIG\nexport const $themeConfig = {\n app: {\n appName: 'PHARMACONNECT', // Will update name in navigation menu (Branding)\n // eslint-disable-next-line global-require\n appLogoImage: require('@/assets/images/logo/logo.svg'), // Will update logo in navigation menu (Branding)\n appLogoImage2: require('@/assets/images/logo/logo.svg'), // Will update logo in navigation menu (Branding)\n },\n layout: {\n isRTL: false,\n skin: 'light', // light, dark, bordered, semi-dark\n routerTransition: 'slide-fade', // zoom-fade, slide-fade, fade-bottom, fade, zoom-out, none\n type: 'horizontal', // vertical, horizontal\n contentWidth: 'full', // full, boxed\n menu: {\n hidden: false,\n isCollapsed: false,\n },\n navbar: {\n // ? For horizontal menu, navbar type will work for navMenu type\n type: 'floating', // static , sticky , floating, hidden\n backgroundColor: '', // BS color options [primary, success, etc]\n },\n footer: {\n type: 'sticky', // static, sticky, hidden\n },\n customizer: true,\n enableScrollToTop: true,\n },\n}\n","const DB_NAME = \"itemsDatabase\";\r\nconst DB_VERSION = 1;\r\nconst ITEM_MED_NAME = \"itemMED\";\r\nconst ITEM_PARA_NAME = \"itemPARA\";\r\n\r\nlet db;\r\n\r\nfunction openDatabase() {\r\n return new Promise((resolve, reject) => {\r\n if (db) {\r\n resolve(db);\r\n return;\r\n }\r\n\r\n const request = indexedDB.open(DB_NAME, DB_VERSION);\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Failed to open database:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n\r\n request.onsuccess = (event) => {\r\n db = event.target.result;\r\n resolve(db);\r\n };\r\n\r\n request.onupgradeneeded = (event) => {\r\n db = event.target.result;\r\n if (!db.objectStoreNames.contains(ITEM_MED_NAME)) {\r\n db.createObjectStore(ITEM_MED_NAME, { keyPath: 'code' });\r\n }\r\n if (!db.objectStoreNames.contains(ITEM_PARA_NAME)) {\r\n db.createObjectStore(ITEM_PARA_NAME, { keyPath: 'code' });\r\n }\r\n };\r\n });\r\n}\r\n\r\nfunction closeDatabase() {\r\n if (db) {\r\n db.close();\r\n db = null;\r\n }\r\n}\r\n\r\nfunction addItem(storeName, item) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([storeName], 'readwrite');\r\n const store = transaction.objectStore(storeName);\r\n\r\n const getRequest = store.get(item.code);\r\n\r\n getRequest.onsuccess = (event) => {\r\n const existingItem = event.target.result;\r\n\r\n if (existingItem) {\r\n const updatedItem = { ...existingItem, ...item };\r\n const updateRequest = store.put(updatedItem);\r\n\r\n updateRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n updateRequest.onerror = (event) => {\r\n console.error(\"Error updating item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n } else {\r\n const addRequest = store.add(item);\r\n\r\n addRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n addRequest.onerror = (event) => {\r\n console.error(\"Error adding item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n }\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction addItems(storeName, items) {\r\n return Promise.all(items.map((item) => addItem(storeName, item)));\r\n}\r\n\r\nfunction getAllItems(storeName) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([storeName], 'readonly');\r\n const store = transaction.objectStore(storeName);\r\n const request = store.getAll();\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction getItemByCode(storeName, itemCode) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([storeName], 'readonly');\r\n const store = transaction.objectStore(storeName);\r\n const request = store.get(itemCode);\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction getItemCount(storeName) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([storeName], 'readonly');\r\n const store = transaction.objectStore(storeName);\r\n const request = store.count();\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error counting items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nexport { ITEM_MED_NAME, ITEM_PARA_NAME, openDatabase, closeDatabase, addItem, addItems, getAllItems, getItemByCode, getItemCount };\r\n","import { $themeBreakpoints } from '@themeConfig'\n\nexport default {\n namespaced: true,\n state: {\n windowWidth: 0,\n shallShowOverlay: false,\n },\n getters: {\n currentBreakPoint: state => {\n const { windowWidth } = state\n if (windowWidth >= $themeBreakpoints.xl) return 'xl'\n if (windowWidth >= $themeBreakpoints.lg) return 'lg'\n if (windowWidth >= $themeBreakpoints.md) return 'md'\n if (windowWidth >= $themeBreakpoints.sm) return 'sm'\n return 'xs'\n },\n },\n mutations: {\n UPDATE_WINDOW_WIDTH(state, val) {\n state.windowWidth = val\n },\n TOGGLE_OVERLAY(state, val) {\n state.shallShowOverlay = val !== undefined ? val : !state.shallShowOverlay\n },\n },\n actions: {},\n}\n","import { $themeConfig } from '@themeConfig'\n\nexport default {\n namespaced: true,\n state: {\n layout: {\n isRTL: $themeConfig.layout.isRTL,\n skin: localStorage.getItem('vuexy-skin') || $themeConfig.layout.skin,\n routerTransition: $themeConfig.layout.routerTransition,\n type: $themeConfig.layout.type,\n contentWidth: $themeConfig.layout.contentWidth,\n menu: {\n hidden: $themeConfig.layout.menu.hidden,\n },\n navbar: {\n type: $themeConfig.layout.navbar.type,\n backgroundColor: $themeConfig.layout.navbar.backgroundColor,\n },\n footer: {\n type: $themeConfig.layout.footer.type,\n },\n },\n },\n getters: {},\n mutations: {\n TOGGLE_RTL(state) {\n state.layout.isRTL = !state.layout.isRTL\n document.documentElement.setAttribute('dir', state.layout.isRTL ? 'rtl' : 'ltr')\n },\n UPDATE_SKIN(state, skin) {\n state.layout.skin = skin\n\n // Update value in localStorage\n localStorage.setItem('vuexy-skin', skin)\n\n // Update DOM for dark-layout\n if (skin === 'dark') document.body.classList.add('dark-layout')\n else if (document.body.className.match('dark-layout')) document.body.classList.remove('dark-layout')\n },\n UPDATE_ROUTER_TRANSITION(state, val) {\n state.layout.routerTransition = val\n },\n UPDATE_LAYOUT_TYPE(state, val) {\n state.layout.type = val\n },\n UPDATE_CONTENT_WIDTH(state, val) {\n state.layout.contentWidth = val\n },\n UPDATE_NAV_MENU_HIDDEN(state, val) {\n state.layout.menu.hidden = val\n },\n UPDATE_NAVBAR_CONFIG(state, obj) {\n Object.assign(state.layout.navbar, obj)\n },\n UPDATE_FOOTER_CONFIG(state, obj) {\n Object.assign(state.layout.footer, obj)\n },\n },\n actions: {},\n}\n","import { $themeConfig } from '@themeConfig'\n\nexport default {\n namespaced: true,\n state: {\n isVerticalMenuCollapsed: $themeConfig.layout.menu.isCollapsed,\n },\n getters: {},\n mutations: {\n UPDATE_VERTICAL_MENU_COLLAPSED(state, val) {\n state.isVerticalMenuCollapsed = val\n },\n },\n actions: {},\n}\n","import axiosIns from \"@axios\";\r\nimport useJwt from '@/auth/jwt/useJwt'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n AppActiveUser: {},\r\n Companies: [],\r\n Company: {}\r\n },\r\n getters: {\r\n getAppActiveUser: (state) => state.AppActiveUser,\r\n getCompanies: (state) => state.Companies,\r\n getCompany: (state) => state.Company,\r\n },\r\n mutations: {\r\n UPDATE_USER_INFO(state, payload) {\r\n if (payload.username) {\r\n state.AppActiveUser = payload;\r\n // localStorage.setItem(\"userInfo\", JSON.stringify(state.AppActiveUser))\r\n } else {\r\n state.AppActiveUser = {};\r\n }\r\n },\r\n UPDATE_COMPANIES(state, payload) {\r\n if (payload) {\r\n state.Companies = payload;\r\n } else {\r\n state.Companies = [];\r\n }\r\n },\r\n UPDATE_COMPANY(state, payload) {\r\n if (payload) {\r\n state.Company = payload;\r\n } else {\r\n state.Company = {};\r\n }\r\n },\r\n },\r\n actions: {\r\n logout({ commit }) {\r\n return new Promise((resolve, reject) => {\r\n axiosIns.post(\"account/logout/\" + localStorage.getItem(\"sessionId\"))\r\n .then(response => {\r\n commit('UPDATE_USER_INFO', {})\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error)\r\n }).finally(() => {\r\n localStorage.removeItem(useJwt.jwtConfig.storageTokenKeyName)\r\n localStorage.removeItem(useJwt.jwtConfig.storageRefreshTokenKeyName)\r\n localStorage.removeItem('userData');\r\n localStorage.removeItem('sessionId');\r\n localStorage.removeItem('company');\r\n // localStorage.clear()\r\n });\r\n })\r\n },\r\n INIT_USER_DATA({ commit }) {\r\n console.log(\"INIT_USER_DATA\")\r\n return new Promise((resolve, reject) => {\r\n // axiosIns.get(\"account/getMyInfo/\" + JSON.parse(localStorage.getItem('userData')).username)\r\n axiosIns.get(\"account/getMyInfo\")\r\n .then(response => {\r\n // localStorage.setItem(\"token\", response.headers.Authorization)\r\n commit('UPDATE_USER_INFO', response.data)\r\n resolve(response)\r\n })\r\n .catch(error => {\r\n reject(error)\r\n })\r\n })\r\n },\r\n INIT_COMPANIES({ commit }) {\r\n console.log(\"INIT_COMPANIES\")\r\n return new Promise((resolve, reject) => {\r\n axiosIns.get(\"company/findCompanies\")\r\n .then(response => {\r\n commit('UPDATE_COMPANIES', response.data.companies);\r\n commit('UPDATE_COMPANY', response.data.company);\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error)\r\n })\r\n })\r\n }\r\n },\r\n}\r\n","const DB_NAME = \"ordersDatabase\";\r\nconst DB_VERSION = 1;\r\nconst ORDER_NAME = \"order\";\r\n\r\nlet db;\r\n\r\nfunction openDatabase() {\r\n return new Promise((resolve, reject) => {\r\n if (db) {\r\n resolve(db);\r\n return;\r\n }\r\n\r\n const request = indexedDB.open(DB_NAME, DB_VERSION);\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Failed to open database:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n\r\n request.onsuccess = (event) => {\r\n db = event.target.result;\r\n resolve(db);\r\n };\r\n\r\n request.onupgradeneeded = (event) => {\r\n db = event.target.result;\r\n if (!db.objectStoreNames.contains(ORDER_NAME)) {\r\n db.createObjectStore(ORDER_NAME, { keyPath: ['company', 'code'] });\r\n }\r\n };\r\n });\r\n}\r\n\r\nfunction closeDatabase() {\r\n if (db) {\r\n db.close();\r\n db = null;\r\n }\r\n}\r\n\r\nfunction addOrder(item) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([ORDER_NAME], 'readwrite');\r\n const store = transaction.objectStore(ORDER_NAME);\r\n\r\n const compoundKey = [localStorage.getItem('company'), item.code]; // Define the compound key as an array\r\n\r\n const getRequest = store.get(IDBKeyRange.only(compoundKey));\r\n\r\n getRequest.onsuccess = (event) => {\r\n const existingItem = event.target.result;\r\n\r\n if (existingItem) {\r\n const updatedItem = { ...existingItem, ...item };\r\n const updateRequest = store.put(updatedItem);\r\n\r\n updateRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n updateRequest.onerror = (event) => {\r\n console.error(\"Error updating item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n } else {\r\n const addRequest = store.add(item);\r\n\r\n addRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n addRequest.onerror = (event) => {\r\n console.error(\"Error adding item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n }\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction addOrders(items) {\r\n return Promise.all(items.map((item) => addOrder(ORDER_NAME, item)));\r\n}\r\n\r\nfunction getAllOrders() {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([ORDER_NAME], 'readonly');\r\n const store = transaction.objectStore(ORDER_NAME);\r\n const request = store.getAll();\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\n// function getByCompany(company) {\r\n// return new Promise((resolve, reject) => {\r\n// openDatabase()\r\n// .then(() => {\r\n// const transaction = db.transaction([ORDER_NAME], 'readonly');\r\n// const store = transaction.objectStore(ORDER_NAME);\r\n// const index = store.index('company');\r\n\r\n// const range = IDBKeyRange.only(company);\r\n// const request = index.getAll(range);\r\n\r\n// request.onsuccess = (event) => {\r\n// resolve(event.target.result);\r\n// };\r\n\r\n// request.onerror = (event) => {\r\n// console.error(\"Error retrieving items by company:\", event.target.error);\r\n// reject(event.target.error);\r\n// };\r\n// })\r\n// .catch((error) => {\r\n// console.error(\"Error opening database:\", error);\r\n// reject(error);\r\n// });\r\n// });\r\n// }\r\n\r\nfunction getOrderByCode(itemCode) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([ORDER_NAME], 'readonly');\r\n const store = transaction.objectStore(ORDER_NAME);\r\n const request = store.get(itemCode);\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction deleteByCode(code, company) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([ORDER_NAME], 'readwrite');\r\n const store = transaction.objectStore(ORDER_NAME);\r\n const compoundKey = [company, code]; // Define the compound key as an array\r\n\r\n const request = store.delete(IDBKeyRange.only(compoundKey)); // Use IDBKeyRange.only to match the compound key\r\n\r\n request.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error deleting items by code:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction getOrderCount() {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([ORDER_NAME], 'readonly');\r\n const store = transaction.objectStore(ORDER_NAME);\r\n const request = store.count();\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error counting items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nexport { openDatabase, closeDatabase, addOrder, addOrders, getAllOrders, getOrderByCode, deleteByCode, getOrderCount };\r\n","import axios from '@axios'\r\n\r\nimport * as itemDB from '@/indexDB/item.js';\r\nimport * as orderDB from '@/indexDB/order.js';\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n itemsMED: [],\r\n itemsPARA: [],\r\n orderLines: 0,\r\n },\r\n getters: {\r\n isItemsMEDFetched: (state) => state.itemsMED.length > 0,\r\n isItemsPARAFetched: (state) => state.itemsPARA.length > 0,\r\n geItemsMED: (state) => state.itemsMED,\r\n geItemsPARA: (state) => state.itemsPARA,\r\n geItems: (state) => state.itemsPARA.concat(state.itemsMED),\r\n geItemMEDByCode: (state) => (code) => {\r\n return state.itemsMED.find((item) => item.code === code);\r\n },\r\n geItemPARAByCode: (state) => (code) => {\r\n return state.itemsPARA.find((item) => item.code === code);\r\n },\r\n geItemByCode: (state) => (code) => {\r\n let item = state.itemsMED.find((item) => item.code === code);\r\n if (item == undefined)\r\n return state.itemsPARA.find((item) => item.code === code);\r\n else return item;\r\n },\r\n getOrderLines: (state) => parseInt(state.orderLines),\r\n },\r\n mutations: {\r\n MUTATE_ITEMS_MED(state, payload) {\r\n state.itemsMED = payload;\r\n },\r\n MUTATE_ITEMS_PARA(state, payload) {\r\n state.itemsPARA = payload;\r\n },\r\n UPDATE_ORDER_LINES(state, payload) {\r\n state.orderLines = payload\r\n },\r\n INCREMENT_ORDER_LINES(state) {\r\n state.orderLines = state.orderLines + 1;\r\n },\r\n DECREMENT_ORDER_LINES(state) {\r\n state.orderLines = state.orderLines - 1;\r\n },\r\n },\r\n actions: {\r\n async FETCH_ITEMS_FROM_BACKEND({ dispatch }) {\r\n console.log(\"FETCH_ITEMS_FROM_BACKEND\");\r\n try {\r\n const response = await axios.get(\"_item/\" + localStorage.getItem(\"lastItemUpdate\"));\r\n console.log(response.data.length);\r\n // console.log(response);\r\n if (response.status == 200) {\r\n if (response.data.length > 0) {\r\n await itemDB.openDatabase();\r\n await Promise.all(response.data.map(async (element) => {\r\n if (element.type == \"MED\") {\r\n await itemDB.addItem(itemDB.ITEM_MED_NAME, element);\r\n localStorage.setItem(\"lastItemUpdate\", element.updatedAt);\r\n } else {\r\n await itemDB.addItem(itemDB.ITEM_PARA_NAME, element);\r\n localStorage.setItem(\"lastItemUpdate\", element.updatedAt);\r\n }\r\n }));\r\n }\r\n }\r\n await dispatch('INITIALIZE_ITEMS_MED');\r\n await dispatch('INITIALIZE_ITEMS_PARA');\r\n itemDB.closeDatabase();\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n },\r\n\r\n async FETCH_ITEMS_FROM_BACKEND_ADMIN({ dispatch }) {\r\n console.log(\"FETCH_ITEMS_FROM_BACKEND_ADMIN\");\r\n try {\r\n const response = await axios.get(\"_item/withBlocked/\" + localStorage.getItem(\"lastItemUpdate\"));\r\n console.log(response.data.length);\r\n // console.log(response);\r\n if (response.status == 200) {\r\n if (response.data.length > 0) {\r\n await itemDB.openDatabase();\r\n await Promise.all(response.data.map(async (element) => {\r\n if (element.type == \"MED\") {\r\n await itemDB.addItem(itemDB.ITEM_MED_NAME, element);\r\n localStorage.setItem(\"lastItemUpdate\", element.updatedAt);\r\n } else {\r\n await itemDB.addItem(itemDB.ITEM_PARA_NAME, element);\r\n localStorage.setItem(\"lastItemUpdate\", element.updatedAt);\r\n }\r\n }));\r\n }\r\n }\r\n await dispatch('INITIALIZE_ITEMS_MED');\r\n await dispatch('INITIALIZE_ITEMS_PARA');\r\n itemDB.closeDatabase();\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n },\r\n\r\n async INITIALIZE_ITEMS_MED({ commit }) {\r\n console.log(\"INITIALIZE_ITEMS_MED\");\r\n let items = await itemDB.getAllItems(itemDB.ITEM_MED_NAME);\r\n commit('MUTATE_ITEMS_MED', items);\r\n },\r\n async INITIALIZE_ITEMS_PARA({ commit }) {\r\n console.log(\"INITIALIZE_ITEMS_PARA\");\r\n let items = await itemDB.getAllItems(itemDB.ITEM_PARA_NAME);\r\n commit('MUTATE_ITEMS_PARA', items);\r\n },\r\n\r\n GET_INVENTORY({ dispatch }, payload) {\r\n return new Promise((resolve, reject) => {\r\n axios.get('_item/inventory/' + payload.code + '/' + parseInt(payload.Qte)).then(resp => {\r\n // console.log(resp);\r\n if (resp.status == 200) {\r\n if (resp.data.status == 200) {\r\n let inventory = resp.data.result;\r\n let respStruct = {\r\n title: \"\",\r\n icon: \"\",\r\n text: \"\",\r\n variant: \"\",\r\n promotion: \"\",\r\n price: \"\",\r\n price_ttc: \"\",\r\n public_price: \"\",\r\n packaging: \"\",\r\n dlc: \"\",\r\n };\r\n respStruct.price = inventory.Unit_Price;\r\n respStruct.price_ttc = inventory.Price_Including_VAT;\r\n respStruct.public_price = inventory.Public_Price;\r\n respStruct.packaging = inventory.Packaging;\r\n respStruct.dlc = inventory.DLC;\r\n if (inventory.Quotas_Item_Exist) {\r\n if (payload.Qte <= parseInt(inventory.Quotas_Item_by_Customer) && payload.Qte <= parseInt(inventory.Quantity_available)) {\r\n respStruct.title = \"Quantité réservée\";\r\n respStruct.icon = \"CheckIcon\";\r\n respStruct.variant = \"success\";\r\n } else {\r\n respStruct.title = \"Indisponible en stock !\";\r\n respStruct.icon = \"XOctagonIcon\";\r\n respStruct.text = \"Aucun stock disponible pour l’article «\" + inventory.Description + \"»\";\r\n respStruct.variant = \"danger\";\r\n }\r\n } else {\r\n if (parseInt(inventory.Quantity_available) <= 0) {\r\n respStruct.title = \"Indisponible en stock !\";\r\n respStruct.icon = \"XOctagonIcon\";\r\n respStruct.text = \"Aucun stock disponible pour l’article «\" + inventory.Description + \"»\";\r\n respStruct.variant = \"danger\";\r\n } else if (payload.Qte > parseInt(inventory.Quantity_available)) {\r\n respStruct.title = \"Stock insuffisant !\";\r\n respStruct.icon = \"AlertOctagonIcon\";\r\n respStruct.text = \"Impossible de satisfaire la quantité demandée pour l’article «\" + inventory.Description + \"»\";\r\n respStruct.variant = \"danger\";\r\n } else if (inventory.Promotion_Inventory > 0) {\r\n if (parseInt(inventory.Sales_threshold) > payload.Qte) {\r\n respStruct.title = \"Promotion !\";\r\n respStruct.icon = \"GiftIcon\";\r\n respStruct.text = \"Une promotion disponible pour l’article «\" +\r\n payload.Qte +\r\n \"», changer la quantité pour pouvoir bénéficier de la promotion : \" +\r\n inventory.Sales_threshold +\r\n \" -> \" +\r\n inventory.Free_Sales_Qty;\r\n respStruct.variant = \"info\";\r\n respStruct.promotion = inventory.Sales_threshold + \" -> \" + inventory.Free_Sales_Qty;\r\n } else {\r\n var unitesGratuits = (payload.Qte / inventory.Sales_threshold) * inventory.Free_Sales_Qty;\r\n if (unitesGratuits > inventory.Promotion_Inventory) {\r\n unitesGratuits = inventory.Promotion_Inventory;\r\n }\r\n respStruct.title = \"Promotion !\";\r\n respStruct.icon = \"GiftIcon\";\r\n respStruct.text = \"Vous avez bénéficié de \" + Math.floor(unitesGratuits) +\r\n \" Unitée(s) gratuite(s) «\" + inventory.Sales_threshold +\r\n \" -> \" + inventory.Free_Sales_Qty + \"»\";\r\n respStruct.variant = \"info\";\r\n respStruct.promotion = \"+\" + Math.floor(unitesGratuits);\r\n }\r\n } else {\r\n respStruct.title = \"Quantité réservée\";\r\n respStruct.icon = \"CheckIcon\";\r\n // respStruct.text = \"Impossible de satisfaire la quantité demandée pour l’article «\" + response.data.Description + \"».\";\r\n respStruct.variant = \"success\";\r\n }\r\n }\r\n dispatch('SAVE_ORDER', { respStruct: respStruct, item: payload });\r\n resolve(respStruct);\r\n } else {\r\n reject({\r\n title: \"Article Actuellement Indisponible\",\r\n text: resp.data.error,\r\n icon: \"XOctagonIcon\",\r\n variant: \"danger\",\r\n });\r\n }\r\n } else {\r\n reject(resp.data.error)\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n reject(error)\r\n });\r\n });\r\n },\r\n\r\n async SAVE_ORDER({ dispatch }, obj) {\r\n // if (![\"warning\", \"danger\"].includes(obj.respStruct.variant)) {\r\n obj.item[\"state\"] = ![\"warning\", \"danger\"].includes(obj.respStruct.variant);\r\n obj.item[\"promotion\"] = obj.respStruct.promotion;\r\n obj.item[\"price\"] = obj.respStruct.price;\r\n obj.item[\"price_ttc\"] = obj.respStruct.price_ttc;\r\n obj.item[\"public_price\"] = obj.respStruct.public_price;\r\n obj.item[\"company\"] = localStorage.getItem('company');\r\n await orderDB.openDatabase();\r\n await orderDB.addOrder(obj.item);\r\n await orderDB.closeDatabase();\r\n // commit('INCREMENT_ORDER_LINES');\r\n dispatch('COUNT_ORDER_LINES');\r\n // }\r\n },\r\n\r\n async FETCH_ORDERS() {\r\n await orderDB.openDatabase();\r\n let orders = await orderDB.getAllOrders();\r\n await orderDB.closeDatabase();\r\n return orders.filter(item => item.company == localStorage.getItem(\"company\"));\r\n },\r\n\r\n async DELETE_ORDER_LINE({ dispatch }, code) {\r\n await orderDB.openDatabase();\r\n await orderDB.deleteByCode(code, localStorage.getItem(\"company\"));\r\n await orderDB.closeDatabase();\r\n // commit('DECREMENT_ORDER_LINES');\r\n dispatch('COUNT_ORDER_LINES');\r\n },\r\n\r\n async COUNT_ORDER_LINES({ commit }) {\r\n let count = await orderDB.getOrderCount();\r\n commit('UPDATE_ORDER_LINES', count);\r\n },\r\n },\r\n}\r\n","const DB_NAME = \"basketsDatabase\";\r\nconst DB_VERSION = 1;\r\nconst BASKET_HEADER_NAME = \"basketHeader\";\r\nconst BASKET_LINE_NAME = \"basketLine\";\r\n\r\nlet db;\r\n\r\nfunction openDatabase() {\r\n return new Promise((resolve, reject) => {\r\n if (db) {\r\n resolve(db);\r\n return;\r\n }\r\n\r\n const request = indexedDB.open(DB_NAME, DB_VERSION);\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Failed to open database:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n\r\n request.onsuccess = (event) => {\r\n db = event.target.result;\r\n resolve(db);\r\n };\r\n\r\n request.onupgradeneeded = (event) => {\r\n db = event.target.result;\r\n if (!db.objectStoreNames.contains(BASKET_HEADER_NAME)) {\r\n db.createObjectStore(BASKET_HEADER_NAME, { keyPath: 'id', autoIncrement: true });\r\n }\r\n if (!db.objectStoreNames.contains(BASKET_LINE_NAME)) {\r\n const lineStore = db.createObjectStore(BASKET_LINE_NAME, { keyPath: ['code', 'basketHeaderId'] });\r\n lineStore.createIndex('basketHeaderId', 'basketHeaderId', { unique: false });\r\n }\r\n };\r\n });\r\n}\r\n\r\nfunction closeDatabase() {\r\n if (db) {\r\n db.close();\r\n db = null;\r\n }\r\n}\r\n\r\nfunction addBasketHeader(item) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([BASKET_HEADER_NAME], 'readwrite');\r\n const store = transaction.objectStore(BASKET_HEADER_NAME);\r\n const addRequest = store.add(item);\r\n addRequest.onsuccess = (event) => {\r\n const headerId = event.target.result;\r\n resolve(headerId);\r\n };\r\n addRequest.onerror = (event) => {\r\n console.error(\"Error adding item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction addBasketLine(item) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([BASKET_LINE_NAME], 'readwrite');\r\n const store = transaction.objectStore(BASKET_LINE_NAME);\r\n\r\n const key = [item.code, item.basketHeaderId];\r\n const getRequest = store.get(key);\r\n\r\n getRequest.onsuccess = (event) => {\r\n const existingItem = event.target.result;\r\n\r\n if (existingItem) {\r\n const updatedItem = { ...existingItem, ...item };\r\n const updateRequest = store.put(updatedItem);\r\n\r\n updateRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n updateRequest.onerror = (event) => {\r\n console.error(\"Error updating item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n } else {\r\n const addRequest = store.add(item);\r\n\r\n addRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n addRequest.onerror = (event) => {\r\n console.error(\"Error adding item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n }\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction getAllBasketHeaders() {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([BASKET_HEADER_NAME], 'readonly');\r\n const store = transaction.objectStore(BASKET_HEADER_NAME);\r\n const request = store.getAll();\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction getAllBasketLines(basketHeaderId) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([BASKET_LINE_NAME], 'readonly');\r\n const store = transaction.objectStore(BASKET_LINE_NAME);\r\n\r\n const index = store.index('basketHeaderId');\r\n const range = IDBKeyRange.only(basketHeaderId);\r\n const request = index.getAll(range);\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction deleteBasketLine(code, basketHeaderId) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then((db) => {\r\n const transaction = db.transaction([BASKET_LINE_NAME], 'readwrite');\r\n const store = transaction.objectStore(BASKET_LINE_NAME);\r\n\r\n // Create a compound key with code and basketHeaderId\r\n const key = [code, basketHeaderId];\r\n const deleteRequest = store.delete(key);\r\n\r\n deleteRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n deleteRequest.onerror = (event) => {\r\n console.error(\"Error deleting item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction deleteBasketHeaderAndLines(basketHeaderId) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then((db) => {\r\n const transaction = db.transaction([BASKET_HEADER_NAME, BASKET_LINE_NAME], 'readwrite');\r\n const headerStore = transaction.objectStore(BASKET_HEADER_NAME);\r\n const lineStore = transaction.objectStore(BASKET_LINE_NAME);\r\n\r\n const linesIndex = lineStore.index('basketHeaderId');\r\n const linesRange = IDBKeyRange.only(basketHeaderId);\r\n const deleteLinesRequest = linesIndex.openCursor(linesRange);\r\n\r\n deleteLinesRequest.onsuccess = (event) => {\r\n const cursor = event.target.result;\r\n\r\n if (cursor) {\r\n cursor.delete();\r\n cursor.continue();\r\n } else {\r\n const deleteHeaderRequest = headerStore.delete(basketHeaderId);\r\n\r\n deleteHeaderRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n deleteHeaderRequest.onerror = (event) => {\r\n console.error(\"Error deleting header:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n }\r\n };\r\n\r\n deleteLinesRequest.onerror = (event) => {\r\n console.error(\"Error deleting lines:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\n\r\nexport { openDatabase, closeDatabase, addBasketHeader, addBasketLine, getAllBasketHeaders, getAllBasketLines, deleteBasketLine, deleteBasketHeaderAndLines };\r\n","import * as basketDB from '@/indexDB/basket.js';\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n basketHeaders: [],\r\n basketHeadersCount: 0,\r\n },\r\n getters: {\r\n getBasketHeaders: (state) => state.basketHeaders.reverse(),\r\n getBasketHeadersCount: (state) => parseInt(state.basketHeadersCount),\r\n },\r\n mutations: {\r\n MUTATE_BASKET_HEADER(state, payload) {\r\n state.basketHeaders = payload;\r\n },\r\n UPDATE_ORDER_LINES(state, payload) {\r\n state.basketHeadersCount = payload\r\n },\r\n INCREMENT_ORDER_LINES(state) {\r\n state.basketHeadersCount = state.basketHeadersCount + 1;\r\n },\r\n DECREMENT_ORDER_LINES(state) {\r\n state.basketHeadersCount = state.basketHeadersCount - 1;\r\n },\r\n },\r\n actions: {\r\n\r\n async FILL_BASKET_HEADERS({ commit }) {\r\n await basketDB.openDatabase();\r\n let headers = await basketDB.getAllBasketHeaders();\r\n commit('MUTATE_BASKET_HEADER', headers);\r\n basketDB.closeDatabase();\r\n },\r\n async ADD_BASKET_HEADER({ dispatch, rootGetters }, basketName) {\r\n await basketDB.openDatabase();\r\n const now = new Date();\r\n const day = String(now.getDate()).padStart(2, '0');\r\n const month = String(now.getMonth() + 1).padStart(2, '0');\r\n const year = now.getFullYear();\r\n const hours = String(now.getHours()).padStart(2, '0');\r\n const minutes = String(now.getMinutes()).padStart(2, '0');\r\n const seconds = String(now.getSeconds()).padStart(2, '0');\r\n const formattedDateTime = `${day}-${month}-${year} ${hours}:${minutes}:${seconds}`;\r\n let headerId = await basketDB.addBasketHeader({ name: basketName == undefined ? rootGetters['app-userdata/getCompany'].description : basketName, time: formattedDateTime });\r\n await basketDB.closeDatabase();\r\n dispatch('FILL_BASKET_HEADERS');\r\n return headerId;\r\n },\r\n async ADD_BASKET_LINE(_, item) {\r\n await basketDB.openDatabase();\r\n await basketDB.addBasketLine(item);\r\n await basketDB.closeDatabase();\r\n },\r\n async GET_BASKET_LINES(_, basketHeaderId) {\r\n await basketDB.openDatabase();\r\n let lines = await basketDB.getAllBasketLines(basketHeaderId);\r\n await basketDB.closeDatabase();\r\n return lines;\r\n },\r\n async DELETE_BASKET_LINE(_, line) {\r\n await basketDB.openDatabase();\r\n await basketDB.deleteBasketLine(line.code, line.basketHeaderId);\r\n await basketDB.closeDatabase();\r\n },\r\n async DELETE_BASKET_HEADER({ dispatch }, basketHeaderId) {\r\n await basketDB.openDatabase();\r\n await basketDB.deleteBasketHeaderAndLines(basketHeaderId);\r\n await dispatch('FILL_BASKET_HEADERS');\r\n await basketDB.closeDatabase();\r\n },\r\n\r\n },\r\n}\r\n","const DB_NAME = \"favoritesDatabase\";\r\nconst DB_VERSION = 1;\r\nconst FVORITE_NAME = \"favorite\";\r\n\r\nlet db;\r\n\r\nfunction openDatabase() {\r\n return new Promise((resolve, reject) => {\r\n if (db) {\r\n resolve(db);\r\n return;\r\n }\r\n\r\n const request = indexedDB.open(DB_NAME, DB_VERSION);\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Failed to open database:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n\r\n request.onsuccess = (event) => {\r\n db = event.target.result;\r\n resolve(db);\r\n };\r\n\r\n request.onupgradeneeded = (event) => {\r\n db = event.target.result;\r\n if (!db.objectStoreNames.contains(FVORITE_NAME)) {\r\n db.createObjectStore(FVORITE_NAME, { keyPath: 'code' });\r\n }\r\n };\r\n });\r\n}\r\n\r\nfunction closeDatabase() {\r\n if (db) {\r\n db.close();\r\n db = null;\r\n }\r\n}\r\n\r\nfunction addFavorite(item) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([FVORITE_NAME], 'readwrite');\r\n const store = transaction.objectStore(FVORITE_NAME);\r\n const addRequest = store.add(item);\r\n addRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n addRequest.onerror = (event) => {\r\n console.error(\"Error adding item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction deleteFavorite(code) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([FVORITE_NAME], 'readwrite');\r\n const store = transaction.objectStore(FVORITE_NAME);\r\n\r\n const request = store.delete(code); // Use IDBKeyRange.only to match the compound key\r\n\r\n\r\n request.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error deleting items by code:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction findAll() {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([FVORITE_NAME], 'readonly');\r\n const store = transaction.objectStore(FVORITE_NAME);\r\n const request = store.getAll();\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction findByCode(code) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([FVORITE_NAME], 'readonly');\r\n const store = transaction.objectStore(FVORITE_NAME);\r\n const request = store.get(code);\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nexport { openDatabase, closeDatabase, addFavorite, deleteFavorite, findAll, findByCode };\r\n","import * as favoritetDB from '@/indexDB/favorite.js';\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n favorites: [],\r\n },\r\n getters: {\r\n getFavorites: (state) => state.favorites.reverse(),\r\n },\r\n mutations: {\r\n MUTATE_FAVORITES(state, payload) {\r\n state.favorites = payload;\r\n },\r\n },\r\n actions: {\r\n async FILL_FAVORITES({ commit }) {\r\n await favoritetDB.openDatabase();\r\n let favorites = await favoritetDB.findAll();\r\n commit('MUTATE_FAVORITES', favorites);\r\n favoritetDB.closeDatabase();\r\n },\r\n async ADD_FAVORITE({ dispatch }, item) {\r\n await favoritetDB.openDatabase();\r\n await favoritetDB.addFavorite(item);\r\n await favoritetDB.closeDatabase();\r\n dispatch('FILL_FAVORITES');\r\n },\r\n async DELETE_FAVORITE({ dispatch }, line) {\r\n await favoritetDB.openDatabase();\r\n await favoritetDB.deleteFavorite(line.code);\r\n await favoritetDB.closeDatabase();\r\n dispatch('FILL_FAVORITES');\r\n },\r\n async FIND_FAVORITE(_, code) {\r\n await favoritetDB.openDatabase();\r\n let fav = await favoritetDB.findByCode(code);\r\n await favoritetDB.closeDatabase();\r\n return fav;\r\n },\r\n\r\n },\r\n}\r\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n\n// Modules\nimport app from './app'\nimport appConfig from './app-config'\nimport verticalMenu from './vertical-menu'\nimport userdata from './user-data'\nimport itemData from './item-data'\nimport basketData from './basket-data'\nimport favoriteData from './favorite-data'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n modules: {\n app,\n appConfig,\n verticalMenu,\n 'app-userdata': userdata,\n 'app-items': itemData,\n 'app-baskets': basketData,\n 'app-favorites': favoriteData,\n },\n strict: process.env.DEV,\n})\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),_c('scroll-to-top')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn-scroll-to-top\",class:{'show': _vm.y > 250}},[_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}}],staticClass:\"btn-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.scrollToTop}},[_c('feather-icon',{attrs:{\"icon\":\"ArrowUpIcon\",\"size\":\"16\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\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!./ScrollToTop.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!./ScrollToTop.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScrollToTop.vue?vue&type=template&id=8314f794&scoped=true&\"\nimport script from \"./ScrollToTop.vue?vue&type=script&lang=js&\"\nexport * from \"./ScrollToTop.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ScrollToTop.vue?vue&type=style&index=0&id=8314f794&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 \"8314f794\",\n null\n \n)\n\nexport default component.exports","\n\n\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=47ca7029&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.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","\n\n\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&\"","import Vue from 'vue'\nimport FeatherIcon from '@core/components/feather-icon/FeatherIcon.vue'\n\nVue.component(FeatherIcon.name, FeatherIcon)\n","import Vue from 'vue'\nimport PortalVue from 'portal-vue'\n\nVue.use(PortalVue)\n","import Vue from 'vue'\nimport Toast from 'vue-toastification'\n\n// Toast Notification Component Styles\nimport \"vue-toastification/dist/index.css\";\nimport '@core/scss/vue/libs/toastification.scss'\n\n/**\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\n */\n// Vue.use(Toast, {\n// icon: false,\n// position: \"top-right\",\n// timeout: 100000,\n// closeOnClick: true,\n// pauseOnFocusLoss: false,\n// pauseOnHover: true,\n// draggable: true,\n// draggablePercent: 2,\n// showCloseButtonOnHover: true,\n// hideProgressBar: true,\n// closeButton: \"button\",\n// transition: \"Vue-Toastification__bounce\",\n// })\n\nVue.use(Toast, {\n icon: false,\n transition: 'Vue-Toastification__bounce',\n position: \"top-right\",\n timeout: 8000,\n closeOnClick: false,\n pauseOnFocusLoss: false,\n pauseOnHover: true,\n draggable: true,\n draggablePercent: 2,\n hideProgressBar: false,\n maxToasts: 20,\n newestOnTop: true\n})\n","import Vue from 'vue'\nimport { abilitiesPlugin } from '@casl/vue'\nimport ability from './ability'\n\nVue.use(abilitiesPlugin, ability)\n","import Vue from 'vue'\nimport VueSweetalert2 from 'vue-sweetalert2'\n\nVue.use(VueSweetalert2)\n","import Vue from 'vue'\nimport VueTour from 'vue-tour'\n\nVue.use(VueTour)\n","import Vue from 'vue'\nimport { BootstrapVue } from 'bootstrap-vue'\nimport VueCompositionAPI from '@vue/composition-api'\n\nimport router from './router'\nimport store from './store'\nimport App from './App.vue'\n\n// Global Components\nimport './global-components'\n\n// 3rd party plugins\nimport '@/libs/portal-vue'\nimport '@/libs/toastification'\nimport '@/libs/acl'\nimport 'material-icons/iconfont/material-icons.css' //Material Icons\nimport '@/libs/sweet-alerts'\nimport '@/libs/tour'\n// BSV Plugin Registration\nVue.use(BootstrapVue)\n\n// Composition API\nVue.use(VueCompositionAPI)\n\n// import core styles\nrequire('@core/scss/core.scss')\n\n// import assets styles\nrequire('@/assets/scss/style.scss')\n\nVue.config.productionTip = false\nexport const eventBus = new Vue();\nnew Vue({\n router,\n store,\n render: h => h(App),\n}).$mount('#app')\n","export default {\n // Endpoints\n loginEndpoint: '/login',\n registerEndpoint: '/jwt/register',\n refreshEndpoint: '/jwt/refresh-token',\n logoutEndpoint: '/jwt/logout',\n\n // This will be prefixed in authorization header with token\n // e.g. Authorization: Bearer \n tokenType: 'Bearer',\n\n // Value of this property will be used as key to store JWT token in storage\n storageTokenKeyName: 'accessToken',\n storageRefreshTokenKeyName: 'refreshToken',\n}\n","import jwtDefaultConfig from './jwtDefaultConfig'\n\n\nimport { eventBus } from '@/main';\n\n\nexport default class JwtService {\n // Will be used by this service for making API calls\n axiosIns = null\n\n // jwtConfig <= Will be used by this service\n jwtConfig = { ...jwtDefaultConfig }\n\n // For Refreshing Token\n isAlreadyFetchingAccessToken = false\n\n // For Refreshing Token\n subscribers = []\n\n constructor(axiosIns, jwtOverrideConfig) {\n this.axiosIns = axiosIns\n this.jwtConfig = { ...this.jwtConfig, ...jwtOverrideConfig }\n\n // Request Interceptor\n this.axiosIns.interceptors.request.use(\n config => {\n // Get token from localStorage\n const accessToken = this.getToken()\n\n // If token is present add it to request's Authorization Header\n if (accessToken) {\n // eslint-disable-next-line no-param-reassign\n config.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}`\n }\n return config\n },\n error => Promise.reject(error),\n )\n\n // Add request/response interceptor\n this.axiosIns.interceptors.response.use(\n response => response,\n error => {\n // const { config, response: { status } } = error\n const { config, response } = error\n eventBus.$emit('show-sweetalert-error', response);\n const originalRequest = config\n\n // if (status === 401) {\n if (response && response.status === 401) {\n if (!this.isAlreadyFetchingAccessToken) {\n this.isAlreadyFetchingAccessToken = true\n this.refreshToken().then(r => {\n this.isAlreadyFetchingAccessToken = false\n\n // Update accessToken in localStorage\n this.setToken(r.data.accessToken)\n this.setRefreshToken(r.data.refreshToken)\n\n this.onAccessTokenFetched(r.data.accessToken)\n })\n }\n const retryOriginalRequest = new Promise(resolve => {\n this.addSubscriber(accessToken => {\n // Make sure to assign accessToken according to your response.\n // Check: https://pixinvent.ticksy.com/ticket/2413870\n // Change Authorization header\n originalRequest.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}`\n resolve(this.axiosIns(originalRequest))\n })\n })\n return retryOriginalRequest\n }\n return Promise.reject(error)\n },\n )\n }\n\n onAccessTokenFetched(accessToken) {\n this.subscribers = this.subscribers.filter(callback => callback(accessToken))\n }\n\n addSubscriber(callback) {\n this.subscribers.push(callback)\n }\n\n getToken() {\n return localStorage.getItem(this.jwtConfig.storageTokenKeyName)\n }\n\n getRefreshToken() {\n return localStorage.getItem(this.jwtConfig.storageRefreshTokenKeyName)\n }\n\n // setCurrentCompany(company) {\n // localStorage.setItem(\"company\", company);\n // }\n\n setToken(data) {\n localStorage.setItem(this.jwtConfig.storageTokenKeyName, data.token);\n }\n\n // getBaseToken() {\n // return localStorage.getItem(this.jwtConfig.storageTokenKeyName);\n // }\n\n setUserData(value) {\n localStorage.setItem('userData', JSON.stringify(value));\n localStorage.setItem(\"sessionId\", value.sessionId);\n localStorage.setItem(\"company\", value.company);\n }\n\n setRefreshToken(value) {\n localStorage.setItem(this.jwtConfig.storageRefreshTokenKeyName, value)\n }\n\n login(...args) {\n return this.axiosIns.post(this.jwtConfig.loginEndpoint + '', null, {\n headers: {\n username: args[0].email,\n password: args[0].password\n }\n })\n }\n\n register(...args) {\n return this.axiosIns.post(this.jwtConfig.registerEndpoint, ...args)\n }\n\n refreshToken() {\n return this.axiosIns.post(this.jwtConfig.refreshEndpoint, {\n refreshToken: this.getRefreshToken(),\n })\n }\n}\n","import JwtService from './jwtService'\n\nexport default function useJwt(axiosIns, jwtOverrideConfig) {\n const jwt = new JwtService(axiosIns, jwtOverrideConfig)\n\n return {\n jwt,\n }\n}\n","import useJwt from '@core/auth/jwt/useJwt'\nimport axios from '@axios'\n\nconst { jwt } = useJwt(axios, {})\nexport default jwt\n","import Vue from 'vue'\n\n// axios\nimport axios from 'axios'\n\nconst axiosIns = axios.create({\n // baseURL: 'http://127.0.0.1:441/pharmaConnect/api/',\n // baseURL: '/pharmaconnect/',\n // baseURL: 'https://pharmaconnect.net/devpharma/',\n baseURL: 'https://pharmaconnect.net/pharmaconnect/',\n})\n\nexport const DIRECTORY_FILES_PATH = \"https://www.pharmaconnect.net/docserver/\"\n// export const DIRECTORY_FILES_PATH = \"https://www.pharmaconnect.net/docserverdev/\"\n\nVue.prototype.$serverpath = DIRECTORY_FILES_PATH\nVue.prototype.$http = axiosIns\nexport default axiosIns","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&\"","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!./ScrollToTop.vue?vue&type=style&index=0&id=8314f794&lang=scss&scoped=true&\"","export default [\r\n //documents --------------------\r\n {\r\n path: '/docs/orders',\r\n name: 'docs-orders',\r\n component: () => import('@/views/customer/docs/Orders.vue'),\r\n meta: {\r\n resource: 'docs-orders',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/shipments',\r\n name: 'docs-shipments',\r\n component: () => import('@/views/customer/docs/Shipments.vue'),\r\n meta: {\r\n resource: 'docs-shipments',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/credit-memos',\r\n name: 'docs-credit-memos',\r\n component: () => import('@/views/customer/docs/CreditMemos.vue'),\r\n meta: {\r\n resource: 'docs-credit-memos',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/validated-credit-memos',\r\n name: 'docs-validated-credit-memos',\r\n component: () => import('@/views/customer/docs/ValidatedCreditMemos.vue'),\r\n meta: {\r\n resource: 'docs-validated-credit-memos',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/validated-invoices',\r\n name: 'docs-validated-invoices',\r\n component: () => import('@/views/customer/docs/ValidateInvoices.vue'),\r\n meta: {\r\n resource: 'docs-validated-invoices',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/returns',\r\n name: 'docs-returns',\r\n component: () => import('@/views/customer/docs/Returns.vue'),\r\n meta: {\r\n resource: 'docs-returns',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/invoices',\r\n name: 'docs-invoices',\r\n component: () => import('@/views/customer/docs/Invoices.vue'),\r\n meta: {\r\n resource: 'docs-invoices',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/billing-docs',\r\n name: 'docs-billing-documents',\r\n component: () => import('@/views/customer/docs/BillingDocs.vue'),\r\n meta: {\r\n resource: 'docs-billing-documents',\r\n action: 'page',\r\n contentRenderer: 'sidebar-left-detached',\r\n contentClass: 'ecommerce-application',\r\n },\r\n },\r\n {\r\n path: '/actuality',\r\n name: 'arrivals',\r\n component: () => import('@/views/customer/actuality/Actualities.vue'),\r\n meta: {\r\n resource: 'arrivals',\r\n action: 'page',\r\n contentRenderer: 'sidebar-left-detached',\r\n contentClass: 'ecommerce-application',\r\n },\r\n },\r\n {\r\n path: '/catalog',\r\n name: 'catalog',\r\n component: () => import('@/views/customer/catalog/Catalog.vue'),\r\n meta: {\r\n resource: 'catalog',\r\n action: 'page',\r\n contentRenderer: 'sidebar-left-detached',\r\n contentClass: 'ecommerce-application',\r\n },\r\n },\r\n {\r\n path: '/',\r\n name: 'new-order',\r\n component: () => import('@/views/customer/order/NewOrder.vue'),\r\n meta: {\r\n resource: 'new-order',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/users',\r\n name: 'sub-accounts',\r\n component: () => import('@/views/customer/users/Users.vue'),\r\n meta: {\r\n resource: 'sub-accounts',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/users/new',\r\n name: 'add-new-user',\r\n component: () => import('@/views/customer/users/NewUser.vue'),\r\n meta: {\r\n resource: 'add-new-user',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/claims',\r\n name: 'claims',\r\n component: () => import('@/views/customer/Claims.vue'),\r\n meta: {\r\n resource: 'claims',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/return',\r\n name: 'return-proposal',\r\n component: () => import('@/views/customer/return/Proposal.vue'),\r\n meta: {\r\n resource: 'return-proposal',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/return-new',\r\n name: 'return-proposal-new',\r\n component: () => import('@/views/customer/return/NewProposal.vue'),\r\n meta: {\r\n resource: 'return-proposal',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/purchase-history',\r\n name: 'purchase-history',\r\n component: () => import('@/views/customer/PurchaseHistory.vue'),\r\n meta: {\r\n resource: 'purchase-history',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/basket/:slug',\r\n name: 'basket',\r\n component: () => import('@/views/customer/basket/Basket.vue'),\r\n meta: {\r\n resource: 'new-order',\r\n action: 'page',\r\n },\r\n },\r\n]\r\n","export default [\r\n {\r\n path: '/administrator/dashboard',\r\n name: 'admin-dashboard',\r\n component: () => import('@/views/administrator/Dashboard.vue'),\r\n meta: {\r\n resource: 'admin-dashboard',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/administrator/customers-list',\r\n name: 'admin-customers-list',\r\n component: () => import('@/views/administrator/users/Customer.vue'),\r\n meta: {\r\n resource: 'admin-customers-list',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/administrator/supplier-list',\r\n name: 'admin-suppliers-list',\r\n component: () => import('@/views/administrator/users/Supplier.vue'),\r\n meta: {\r\n resource: 'admin-suppliers-list',\r\n action: 'page',\r\n },\r\n },\r\n // {\r\n // path: '/administrator/administrators-list',\r\n // name: 'admin-administrators-list',\r\n // component: () => import('@/views/administrator/users/Administrator.vue'),\r\n // meta: {\r\n // resource: 'admin-administrators-list',\r\n // action: 'page',\r\n // },\r\n // },\r\n {\r\n path: '/administrator/orders-list',\r\n name: 'admin-orders-list',\r\n component: () => import('@/views/administrator/orders/OrdersList.vue'),\r\n meta: {\r\n action: 'page',\r\n resource: 'admin-orders-list'\r\n },\r\n },\r\n {\r\n path: '/administrator/connection-tracking',\r\n name: 'admin-connection-tracking',\r\n component: () => import('@/views/administrator/ConnectionTracking.vue'),\r\n meta: {\r\n action: 'page',\r\n resource: 'admin-connection-tracking'\r\n },\r\n },\r\n {\r\n path: '/administrator/claims',\r\n name: 'admin-claims',\r\n component: () => import('@/views/administrator/Claims.vue'),\r\n meta: {\r\n action: 'page',\r\n resource: 'admin-claims'\r\n },\r\n },\r\n {\r\n path: '/customer/:slug',\r\n name: 'customer-dashboard',\r\n component: () => import('@/views/administrator/CustomerDashboard.vue'),\r\n meta: {\r\n action: 'page',\r\n resource: 'admin-customer-dashboard',\r\n },\r\n },\r\n]\r\n","import ability from './ability'\n\nexport const canNavigate = to => to.matched.some(route => (ability.can(route.meta.action || 'read', route.meta.resource) || route.meta.layout == 'full'))\n\nexport const _ = undefined\n","export default [\r\n {\r\n path: '/supervisor/dashboard',\r\n name: 'supervisor-dashboard',\r\n component: () => import('@/views/supervisor/Dashboard.vue'),\r\n meta: {\r\n resource: 'supervisor-dashboard',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/companies',\r\n name: 'supervisor-companies',\r\n component: () => import('@/views/supervisor/company/List.vue'),\r\n meta: {\r\n resource: 'supervisor-companies',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/pharmacy',\r\n name: 'supervisor-pharmacy',\r\n component: () => import('@/views/supervisor/pharmacy/List.vue'),\r\n meta: {\r\n resource: 'supervisor-pharmacy',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/pharmacy-new',\r\n name: 'supervisor-pharmacy-new',\r\n component: () => import('@/views/supervisor/pharmacy/New.vue'),\r\n meta: {\r\n resource: 'supervisor-pharmacy',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/vendor',\r\n name: 'supervisor-vendor',\r\n component: () => import('@/views/supervisor/vendor/List.vue'),\r\n meta: {\r\n resource: 'supervisor-vendor',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/vendor-new',\r\n name: 'supervisor-vendor-new',\r\n component: () => import('@/views/supervisor/vendor/New.vue'),\r\n meta: {\r\n resource: 'supervisor-vendor',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/customers/:slug',\r\n name: 'supervisor-customers',\r\n component: () => import('@/views/supervisor/company/CustomerByCompany.vue'),\r\n meta: {\r\n resource: 'supervisor-customers',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/suppliers/:slug',\r\n name: 'supervisor-suppliers',\r\n component: () => import('@/views/supervisor/company/SupplierByCompany.vue'),\r\n meta: {\r\n resource: 'supervisor-suppliers',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/items',\r\n name: 'supervisor-item-list',\r\n component: () => import('@/views/supervisor/item/ItemList.vue'),\r\n meta: {\r\n resource: 'supervisor-item-list',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/item/:code',\r\n name: 'supervisor-item-sheet',\r\n component: () => import('@/views/supervisor/item/ItemSheet.vue'),\r\n meta: {\r\n resource: 'supervisor-item-sheet',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/families',\r\n name: 'supervisor-family',\r\n component: () => import('@/views/supervisor/item/Family.vue'),\r\n meta: {\r\n resource: 'supervisor-family',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/sub-families',\r\n name: 'supervisor-subFamily',\r\n component: () => import('@/views/supervisor/item/SubFamily.vue'),\r\n meta: {\r\n resource: 'supervisor-subFamily',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/dci',\r\n name: 'supervisor-dci',\r\n component: () => import('@/views/supervisor/item/DCI.vue'),\r\n meta: {\r\n resource: 'supervisor-dci',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/company-items/:slug',\r\n name: 'supervisor-company-items',\r\n component: () => import('@/views/supervisor/item/CompanyItems.vue'),\r\n meta: {\r\n resource: 'supervisor-company-items',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/logs',\r\n name: 'supervisor-middleware-logs',\r\n component: () => import('@/views/supervisor/log/Log.vue'),\r\n meta: {\r\n resource: 'supervisor-middleware-logs',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/notifications',\r\n name: 'supervisor-notifications',\r\n component: () => import('@/views/supervisor/notification/List.vue'),\r\n meta: {\r\n resource: 'supervisor-notifications',\r\n action: 'page',\r\n },\r\n },\r\n]\r\n","export default [\r\n {\r\n path: '/supplier/dashboard',\r\n name: 'supplier-dashboard',\r\n component: () => import('@/views/supplier/Dashboard.vue'),\r\n meta: {\r\n resource: 'supplier-dashboard',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supplier/stock-availibility',\r\n name: 'supplier-stock-availibility',\r\n component: () => import('@/views/supplier/StockAvailibility.vue'),\r\n meta: {\r\n resource: 'supplier-stock-availibility',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supplier/statistics',\r\n name: 'supplier-statistics',\r\n component: () => import('@/views/supplier/StatList.vue'),\r\n meta: {\r\n resource: 'supplier-statistics',\r\n action: 'page',\r\n contentRenderer: 'sidebar-left-detached',\r\n contentClass: 'ecommerce-application',\r\n },\r\n },\r\n {\r\n path: '/supplier/item-statistics/:no',\r\n name: 'supplier-item-statistics',\r\n component: () => import('@/views/supplier/StatDetails.vue'),\r\n meta: {\r\n action: 'page',\r\n resource: 'supplier-item-statistics'\r\n },\r\n },\r\n {\r\n path: '/supplier/items-catalog',\r\n name: 'supplier-items-catalog',\r\n component: () => import('@/views/supplier/Catalog.vue'),\r\n meta: {\r\n resource: 'supplier-items-catalog',\r\n action: 'page',\r\n contentRenderer: 'sidebar-left-detached',\r\n contentClass: 'ecommerce-application',\r\n },\r\n },\r\n {\r\n path: '/supplier/items-list',\r\n name: 'supplier-items-list',\r\n component: () => import('@/views/supplier/ItemsList.vue'),\r\n meta: {\r\n action: 'page',\r\n resource: 'supplier-items-list'\r\n },\r\n },\r\n {\r\n path: '/supplier/item/:code',\r\n name: 'supplier-item-sheet',\r\n component: () => import('@/views/supplier/ItemSheet.vue'),\r\n meta: {\r\n resource: 'supplier-item-sheet',\r\n action: 'page',\r\n },\r\n },\r\n]\r\n","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport customer from \"./customer\";\nimport administrator from \"./administrator\";\nimport { canNavigate } from '@/libs/acl/routeProtection'\nimport supervisor from \"./supervisor\";\nimport supplier from \"./supplier\";\n\nVue.use(VueRouter)\n\nconst router = new VueRouter({\n mode: 'history',\n base: process.env.BASE_URL,\n scrollBehavior() {\n return { x: 0, y: 0 }\n },\n routes: [\n ...customer,\n ...administrator,\n ...supervisor,\n ...supplier,\n {\n path: '/login',\n name: 'auth-login',\n component: () => import('@/views/Login.vue'),\n meta: {\n layout: 'full',\n },\n },\n {\n path: '/password',\n name: 'password',\n component: () => import('@/views/ChangePassword.vue'),\n meta: {\n layout: 'full',\n },\n },\n {\n path: '/pages/not-authorized',\n name: 'misc-not-authorized',\n component: () => import('@/views/error/NotAuthorized.vue'),\n meta: {\n layout: 'full',\n },\n },\n {\n path: '/error',\n name: 'error',\n component: () => import('@/views/error/Error.vue'),\n meta: {\n layout: 'full',\n },\n },\n {\n path: '/not-affected',\n name: 'not-affected',\n component: () => import('@/views/error/NotAffected.vue'),\n meta: {\n layout: 'full',\n },\n },\n {\n path: '/faq',\n name: 'pages-faq',\n component: () => import('@/views/faq/Faq.vue'),\n meta: {\n action: \"page\",\n resource: \"faq\",\n },\n },\n {\n path: '/profile',\n name: 'profile',\n component: () => import('@/views/account-setting/AccountSetting.vue'),\n meta: {\n resource: \"profile\",\n action: \"page\",\n },\n },\n //------------------------------\n //articles\n {\n path: '/products-list',\n name: 'products-list',\n component: () => import('@/views/product/ProductsList.vue'),\n meta: {\n resource: 'products-list',\n action: 'page',\n },\n },\n {\n path: '/product/:slug',\n name: 'product-details',\n component: () => import('@/views/product/ProductDetails.vue'),\n meta: {\n action: 'page',\n resource: 'product-details',\n contentClass: 'ecommerce-application',\n },\n },\n //------------------------------\n {\n path: '*',\n redirect: 'error',\n },\n ],\n})\n\nrouter.beforeEach((to, _, next) => {\n\n if (!canNavigate(to)) {\n if (to.fullPath == \"/\")\n return next({ name: 'auth-login' })\n else\n return next({ name: 'misc-not-authorized' })\n }\n\n return next()\n});\n\nexport default router\n","import { computed, watch } from '@vue/composition-api'\nimport store from '@/store'\n\nexport default function usAppConfig() {\n // ------------------------------------------------\n // isVerticalMenuCollapsed\n // ------------------------------------------------\n const isVerticalMenuCollapsed = computed({\n get: () => store.state.verticalMenu.isVerticalMenuCollapsed,\n set: val => {\n store.commit('verticalMenu/UPDATE_VERTICAL_MENU_COLLAPSED', val)\n },\n })\n\n // ------------------------------------------------\n // RTL\n // ------------------------------------------------\n const isRTL = computed({\n get: () => store.state.appConfig.layout.isRTL,\n set: val => {\n store.commit('appConfig/TOGGLE_RTL', val)\n },\n })\n\n // ------------------------------------------------\n // Skin\n // ------------------------------------------------\n const skin = computed({\n get: () => store.state.appConfig.layout.skin,\n set: val => {\n store.commit('appConfig/UPDATE_SKIN', val)\n },\n })\n\n const skinClasses = computed(() => {\n if (skin.value === 'bordered') return 'bordered-layout'\n if (skin.value === 'semi-dark') return 'semi-dark-layout'\n\n // Do not return any class for dark layout because dark layout updates class in body\n // Do not return any class for light layout as that is default layout\n return null\n })\n\n // ------------------------------------------------\n // routerTransition\n // ------------------------------------------------\n const routerTransition = computed({\n get: () => store.state.appConfig.layout.routerTransition,\n set: val => {\n store.commit('appConfig/UPDATE_ROUTER_TRANSITION', val)\n },\n })\n\n // *===============================================---*\n // *--------- LAYOUT ---------------------------------------*\n // *===============================================---*\n\n // ------------------------------------------------\n // layoutType\n // ------------------------------------------------\n\n const layoutType = computed({\n get: () => store.state.appConfig.layout.type,\n set: val => {\n store.commit('appConfig/UPDATE_LAYOUT_TYPE', val)\n },\n })\n\n // Reset skin if skin is semi-dark and move to horizontal layout\n watch(layoutType, val => {\n if (val === 'horizontal' && skin.value === 'semi-dark') skin.value = 'light'\n })\n\n // ------------------------------------------------\n // Content Width (Full/Boxed)\n // ------------------------------------------------\n const contentWidth = computed({\n get: () => store.state.appConfig.layout.contentWidth,\n set: val => {\n store.commit('appConfig/UPDATE_CONTENT_WIDTH', val)\n },\n })\n\n // ------------------------------------------------\n // isNavMenuHidden\n // ------------------------------------------------\n const isNavMenuHidden = computed({\n get: () => store.state.appConfig.layout.menu.hidden,\n set: val => {\n store.commit('appConfig/UPDATE_NAV_MENU_HIDDEN', val)\n },\n })\n\n // *===============================================---*\n // *--------- NAVBAR ---------------------------------------*\n // *===============================================---*\n\n const navbarBackgroundColor = computed({\n get: () => store.state.appConfig.layout.navbar.backgroundColor,\n set: val => {\n store.commit('appConfig/UPDATE_NAVBAR_CONFIG', { backgroundColor: val })\n },\n })\n\n const navbarType = computed({\n get: () => store.state.appConfig.layout.navbar.type,\n set: val => {\n store.commit('appConfig/UPDATE_NAVBAR_CONFIG', { type: val })\n },\n })\n\n // *===============================================---*\n // *--------- FOOTER ---------------------------------------*\n // *===============================================---*\n\n const footerType = computed({\n get: () => store.state.appConfig.layout.footer.type,\n set: val => {\n store.commit('appConfig/UPDATE_FOOTER_CONFIG', { type: val })\n },\n })\n\n return {\n isVerticalMenuCollapsed,\n isRTL,\n skin,\n skinClasses,\n routerTransition,\n\n // Navbar\n navbarBackgroundColor,\n navbarType,\n\n // Footer\n footerType,\n\n // Layout\n layoutType,\n contentWidth,\n isNavMenuHidden,\n }\n}\n","import { Ability } from '@casl/ability'\nimport { initialAbility } from './config'\n\n// Read ability from localStorage\n// * Handles auto fetching previous abilities if already logged in user\n// ? You can update this if you store user abilities to more secure place\n// ! Anyone can update localStorage so be careful and please update this\nconst userData = JSON.parse(localStorage.getItem('userData'))\nconst existingAbility = userData ? userData.ability : null\n\nexport default new Ability(existingAbility || initialAbility)\n","module.exports = __webpack_public_path__ + \"img/logo.36f34a9f.svg\";","export const initialAbility = [\n {\n action: 'read',\n subject: 'Auth',\n },\n]\n\nexport const _ = undefined\n"],"sourceRoot":""}