{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/images/portrait/small/avatar-s-10.png","webpack:///./src/components/FeatherIcon.vue","webpack:///src/components/FeatherIcon.vue","webpack:///./src/components/FeatherIcon.vue?fe75","webpack:///./src/layouts/components/navbar/navbarSearchAndPinList.js","webpack:///./src/store/state.js","webpack:///./src/store/getters.js","webpack:///./src/store/mutations.js","webpack:///./src/store/actions.js","webpack:///./src/store/eCommerce/moduleECommerceState.js","webpack:///./src/store/eCommerce/moduleECommerceMutations.js","webpack:///./src/store/eCommerce/moduleECommerceActions.js","webpack:///./src/store/eCommerce/moduleECommerceGetters.js","webpack:///./src/store/eCommerce/moduleECommerce.js","webpack:///./src/store/notification/moduleNotificationState.js","webpack:///./src/store/notification/moduleNotificationMutations.js","webpack:///./src/store/notification/moduleNotificationActions.js","webpack:///./src/store/notification/moduleNotificationGetters.js","webpack:///./src/store/notification/moduleNotification.js","webpack:///./src/store/customers/moduleCustomersState.js","webpack:///./src/store/customers/moduleCustomersMutations.js","webpack:///./src/store/customers/moduleCustomersActions.js","webpack:///./src/store/customers/moduleCustomersGetters.js","webpack:///./src/store/customers/moduleCustomers.js","webpack:///./src/store/indicators/moduleIndicatorsState.js","webpack:///./src/store/indicators/moduleIndicatorsMutations.js","webpack:///./src/store/indicators/moduleIndicatorsActions.js","webpack:///./src/store/indicators/moduleIndicatorsGetters.js","webpack:///./src/store/indicators/moduleIndicators.js","webpack:///./src/store/roles-permissions/moduleRolesPermissionsState.js","webpack:///./src/store/roles-permissions/moduleRolesPermissionsMutations.js","webpack:///./src/store/roles-permissions/moduleRolesPermissionsActions.js","webpack:///./src/store/roles-permissions/moduleRolesPermissionsGetters.js","webpack:///./src/store/roles-permissions/moduleRolesPermissions.js","webpack:///./src/store/stores/state.js","webpack:///./src/store/stores/mutations.js","webpack:///./src/store/stores/actions.js","webpack:///./src/store/stores/getters.js","webpack:///./src/store/stores/index.js","webpack:///./src/store/applications/state.js","webpack:///./src/store/applications/mutations.js","webpack:///./src/store/applications/actions.js","webpack:///./src/store/applications/getters.js","webpack:///./src/store/applications/index.js","webpack:///./src/store/doctors/state.js","webpack:///./src/store/doctors/mutations.js","webpack:///./src/store/doctors/actions.js","webpack:///./src/store/doctors/getters.js","webpack:///./src/store/doctors/index.js","webpack:///./src/store/firebase/state.js","webpack:///./src/store/firebase/mutations.js","webpack:///./src/store/firebase/actions.js","webpack:///./src/store/firebase/getters.js","webpack:///./src/store/firebase/index.js","webpack:///./src/store/products/state.js","webpack:///./src/store/products/mutations.js","webpack:///./src/store/products/actions.js","webpack:///./src/store/products/getters.js","webpack:///./src/store/products/index.js","webpack:///./src/store/categories/state.js","webpack:///./src/store/categories/mutations.js","webpack:///./src/store/categories/actions.js","webpack:///./src/store/categories/getters.js","webpack:///./src/store/categories/index.js","webpack:///./src/store/promotions/state.js","webpack:///./src/store/promotions/mutations.js","webpack:///./src/store/promotions/actions.js","webpack:///./src/store/promotions/getters.js","webpack:///./src/store/promotions/index.js","webpack:///./src/store/inventories/state.js","webpack:///./src/store/inventories/mutations.js","webpack:///./src/store/inventories/actions.js","webpack:///./src/store/inventories/getters.js","webpack:///./src/store/inventories/index.js","webpack:///./src/store/preorders/state.js","webpack:///./src/store/preorders/mutations.js","webpack:///./src/store/preorders/actions.js","webpack:///./src/store/preorders/getters.js","webpack:///./src/store/preorders/index.js","webpack:///./src/store/tracking/state.js","webpack:///./src/store/tracking/mutations.js","webpack:///./src/store/tracking/actions.js","webpack:///./src/store/tracking/getters.js","webpack:///./src/store/tracking/index.js","webpack:///./src/store/location/state.js","webpack:///./src/store/location/mutations.js","webpack:///./src/store/location/actions.js","webpack:///./src/store/location/getters.js","webpack:///./src/store/location/index.js","webpack:///./src/store/users/state.js","webpack:///./src/store/users/mutations.js","webpack:///./src/store/users/actions.js","webpack:///./src/store/users/getters.js","webpack:///./src/store/users/index.js","webpack:///./src/store/clients/state.js","webpack:///./src/store/clients/mutations.js","webpack:///./src/store/clients/actions.js","webpack:///./src/store/clients/getters.js","webpack:///./src/store/clients/index.js","webpack:///./src/store/messages/state.js","webpack:///./src/store/messages/mutations.js","webpack:///./src/store/messages/actions.js","webpack:///./src/store/messages/getters.js","webpack:///./src/store/messages/index.js","webpack:///./src/store/auth/state.js","webpack:///./src/store/auth/mutations.js","webpack:///./src/store/auth/actions.js","webpack:///./src/store/auth/getters.js","webpack:///./src/store/auth/index.js","webpack:///./src/store/store.js","webpack:///./src/assets/images/portrait/small/avatar-s-8.png","webpack:///./themeConfig.js","webpack:///./src/assets/images/portrait/small/avatar-s-7.png","webpack:///./src/assets/images/flags/es.png","webpack:///./src/assets/images/pages/card-image-6.jpg","webpack:///./src/assets/images/portrait/small/avatar-s-1.png","webpack:///./src/store/calendar/state.js","webpack:///./src/store/calendar/mutations.js","webpack:///./src/store/calendar/actions.js","webpack:///./src/store/calendar/getters.js","webpack:///./src/store/calendar/index.js","webpack:///./src/router.js","webpack:///./src/auth/authService.js","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./src/App.vue?8402","webpack:///./src/App.vue?f102","webpack:///./src/fake-db/mock.js","webpack:///./src/fake-db/data/card/card-basic.js","webpack:///./src/fake-db/data/card/card-statistics.js","webpack:///./src/fake-db/data/card/card-analytics.js","webpack:///./src/fake-db/data/table/index.js","webpack:///./src/fake-db/data/data-list/index.js","webpack:///./src/fake-db/data/user/index.js","webpack:///./src/fake-db/data/apps/chat/index.js","webpack:///./src/fake-db/data/apps/calendar/index.js","webpack:///./src/fake-db/data/apps/todo/index.js","webpack:///./src/fake-db/data/apps/email/index.js","webpack:///./src/fake-db/index.js","webpack:///./src/firebase/firebaseConfig.js","webpack:///./src/plugins/auth.js","webpack:///./src/layouts/components/vx-tooltip/VxTooltip.vue","webpack:///./src/assets/utils/index.js","webpack:///./src/assets/utils/color.js","webpack:///src/layouts/components/vx-tooltip/VxTooltip.vue","webpack:///./src/layouts/components/vx-tooltip/VxTooltip.vue?5df4","webpack:///./src/layouts/components/vx-tooltip/VxTooltip.vue?7d02","webpack:///./src/components/vx-card/VxCard.vue","webpack:///src/components/vx-card/VxCard.vue","webpack:///./src/components/vx-card/VxCard.vue?f78b","webpack:///./src/components/vx-card/VxCard.vue?5e60","webpack:///./src/components/vx-list/VxList.vue","webpack:///src/components/vx-list/VxList.vue","webpack:///./src/components/vx-list/VxList.vue?c517","webpack:///./src/components/vx-list/VxList.vue?82b1","webpack:///./src/layouts/components/VxBreadcrumb.vue","webpack:///src/layouts/components/VxBreadcrumb.vue","webpack:///./src/layouts/components/VxBreadcrumb.vue?2812","webpack:///./src/layouts/components/VxBreadcrumb.vue?7e35","webpack:///./src/components/vx-input-group/VxInputGroup.vue","webpack:///src/components/vx-input-group/VxInputGroup.vue","webpack:///./src/components/vx-input-group/VxInputGroup.vue?ab42","webpack:///./src/components/vx-input-group/VxInputGroup.vue?c122","webpack:///./src/globalComponents.js","webpack:///./src/filters/filters.js","webpack:///./src/main.js","webpack:///./src/assets/images/portrait/small/avatar-s-3.png","webpack:///./src/components/vx-card/VxCard.vue?129f","webpack:///./src/http/http-client.js","webpack:///./src/components/vx-list/VxList.vue?1d15","webpack:///./src/assets/images/portrait/small/avatar-s-13.png","webpack:///./src/http/axios/index.js","webpack:///./src/assets/images/portrait/small/avatar-s-5.png","webpack:///./src/components/FeatherIcon.vue?8a5c","webpack:///./src/http/siti-http-client.js","webpack:///./src/assets/images/pages/content-img-1.jpg","webpack:///./src/http/promotions-http-client.js","webpack:///./src/assets/images/portrait/small/avatar-s-12.png","webpack:///./src/assets/images/portrait/small/avatar-s-19.png","webpack:///./src/assets/images/pages/card-image-5.jpg","webpack:///./src/analytics/index.js","webpack:///./src/http/requests/auth/jwt/index.js","webpack:///./src/assets/images/portrait/small/avatar-s-2.png","webpack:///./src/assets/images/pages/content-img-3.jpg","webpack:///./src/assets/images/pages/content-img-4.jpg","webpack:///./src/axios.js","webpack:///./src/assets/images/portrait/small/avatar-s-11.png","webpack:///./src/plugins/i18n.js","webpack:///./src/assets/images/pages/content-img-2.jpg","webpack:///./src/assets/images/portrait/small/avatar-s-4.png","webpack:///./src/plugins/utils.js","webpack:///./src/assets/images/portrait/small/avatar-s-18.png","webpack:///./src/assets/images/portrait/small/avatar-s-14.png","webpack:///./src/components/vx-input-group/VxInputGroup.vue?6ebf","webpack:///./src/assets/images/portrait/small/avatar-s-6.png","webpack:///./src/assets/images/portrait/small/avatar-s-9.png"],"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","staticRenderFns","functional","props","icon","required","svgClasses","String","Array","default","badge","render","h","_ref","staticClass","svg","icons","class","badgeEl","style","children","component","actionIcon","highlightColor","index","label","url","labelIcon","highlightAction","show","auth","isValidModule","userDefaults","uid","displayName","about","photoURL","status","userRole","userInfo","Cookies","JSON","parse","userInfoLocalStorage","getUserInfo","keys","forEach","pageTitle","title","subtitle","reduceButton","localStorage","getItem","state","AppActiveUser","bodyOverlay","isVerticalNavMenuActive","mainLayoutType","themeConfig","navbarSearchAndPinList","verticalNavMenuWidth","verticalNavMenuItemsMin","scrollY","starredPages","filter","page","theme","themePrimaryColor","colors","primary","windowWidth","fileSampleURL","getters","windowBreakPoint","mutations","TOGGLE_IS_VERTICAL_NAV_MENU_ACTIVE","TOGGLE_REDUCE_BUTTON","val","setItem","UPDATE_MAIN_LAYOUT_TYPE","UPDATE_VERTICAL_NAV_MENU_ITEMS_MIN","UPDATE_VERTICAL_NAV_MENU_WIDTH","width","UPDATE_STARRED_PAGE","payload","findIndex","item","ARRANGE_STARRED_PAGES_LIMITED","list","starredPagesMore","concat","ARRANGE_STARRED_PAGES_MORE","downToUp","lastItemInStarredLimited","starredPagesLimited","map","indexOf","TOGGLE_CONTENT_OVERLAY","UPDATE_PRIMARY_COLOR","UPDATE_THEME","UPDATE_WINDOW_WIDTH","UPDATE_WINDOW_SCROLL_Y","UPDATE_USER_INFO","_i","_Object$keys","set","stringify","SET_PAGE_TITLE","SET_FILE_SAMPLE_URL","actions","updateVerticalNavMenuWidth","commit","updateStarredPage","_ref2","arrangeStarredPagesLimited","_ref3","arrangeStarredPagesMore","_ref4","toggleContentOverlay","_ref5","updateTheme","_ref6","updateUserInfo","_ref7","updateUserRole","_ref8","dispatch","aclChangeRole","updatePageTitle","_ref9","getFileUrl","_ref10","storageRef","firebase","storage","ref","fileRef","child","getDownloadURL","link","catch","checkService","http","res","checkSitiService","sitiHttp","cartItems","wishList","TOGGLE_ITEM_IN_WISH_LIST","objectID","TOGGLE_ITEM_IN_CART","ADD_ITEM_IN_CART","UPDATE_ITEM_QUANTITY","quantity","toggleItemInWishList","toggleItemInCart","additemInCart","Math","floor","random","Date","getTime","toDateString","updateItemQuantity","isInCart","itemId","some","isInWishList","namespaced","notifications","notification","SET_NOTIFICATIONS","SET_NOTIFICATION","user","getAllNotifications","firestore","collection","where","orderBy","onSnapshot","docs","doc","_objectSpread","id","getNotification","log","changeNotificationsToReaded","ntf","update","unread","deleteAllNotifications","delete","setNotification","date","time","valueOf","getTimezoneOffset","customerServiceLines","SET_CUSTOMER_SERVICE_LINES","lines","getAllCustomers","deleteCustomerSupportLine","lineId","getAllCustomerSupportLines","createCustomerSupportLine","line","post","updateCustomerSupportLine","put","indicators","questionReports","shopsReports","dateRanges","rangeDateSelected","SET_INDICATORS","SET_QUESION_REPORTS","reports","SET_SHOPS_REPORTS","SET_RANGE_DATE_SELECTED","getAllIndicators","getQuestionReports","range","find","option","days","getShopsReports","roles","SET_ROLES","getAllRoles","stores","store","address","city","influence","cx","cy","coords","delivery_price","phone","list_type_shops","city_dane","minimum_purchase","categories","SET_STORES","SET_STORE","SET_STORE_CATEGORIES","cats","CLEAR_STORE_DATA","type_shops_id","getAllStores","getStoreByCode","createStore","uploadStore","deleteStore","filterStores","getAllStoreCategories","getStoreById","loadMassiveStores","files","file","filename","ext","substr","lastIndexOf","currTimestamp","route","company","app_id","task","on","snapshot","percentage","bytesTransferred","totalBytes","progress","bucket_path","original_name","setStoreFileToService","_","uploadZones","apps","app","description","email","url_image","companies_id","payment_method","states","payment_methods","SET_APPS","SET_APP","SET_APP_INDEX","obj","SET_DEFAULT_IMAGE_URL","default_image_url","SET_APP_IMAGE_URL","SET_STATES","CLEAR_APP_DATA","getAllApplications","getApplication","getDefaultImage","uploadAlliedImage","saveAllied","deleteApplication","getAllStates","doctors","query","doctorsWithSchedule","doctorsWithoutSchedule","doctor","type_event","appointment","durartion","price","id_doctor","appointmentTypes","SET_DOCTORS","SET_DOCTOR","SET_QUERY","SET_DOCTORS_WITH_SCHEDULE","SET_DOCTORS_WITHOUT_SCHEDULE","SET_APPOINTMENT_TYPES","apTypes","SET_APPOINTMENT","ap","CLEAR_APPOINTMENT","getAllDoctors","_getAllDoctors","_asyncToGenerator","regeneratorRuntime","mark","_callee","wrap","_context","prev","next","num_page","sent","abrupt","stop","_x","arguments","searchDoctorsWithSchedule","_searchDoctorsWithSchedule","_callee2","_context2","name_medical","schedule","list_doctors","_x2","_x3","searchDoctorsWithoutSchedule","_searchDoctorsWithoutSchedule","_callee3","_context3","_x4","_x5","getDoctor","_getDoctor","_callee4","_context4","_x6","_x7","createEvent","_createEvent","_callee5","_context5","_x8","_x9","getAppointmentTypes","_getAppointmentTypes","_callee6","doctor_id","_context6","_x10","_x11","cancelDoctorEvent","_cancelDoctorEvent","_callee7","_context7","_x12","_x13","deleteMassiveScheduler","_deleteMassiveScheduler","_callee8","_context8","_x14","_x15","saveAppointment","_saveAppointment","_callee9","_context9","_x16","_x17","updateAppointment","_updateAppointment","_callee10","_context10","_x18","_x19","deleteAppointment","_deleteAppointment","_callee11","_context11","_x20","_x21","uploadFilesToStorage","destination","currentTs","firebase_url","bucket","original_file","extension","action","root","uploadImage","image","currentTimestamp","uploadDocument","fullPath","products","leads","fileList","product","applications_id","category_id","summary","content","med_form","sku","image_url","status_id","type_product","email_list","email_list_arr","defaultImageUrl","lead","closing_date","contact_date","contract_price","full_name","identification","send_date","user_id","SET_PRODUCTS","SET_PRODUCT","SET_FILES","SET_FILE_PROGRESS","loadError","REMOVE_FILE","CLEAR_PRODUCT_DATA","SET_LEADS","SET_LEAD","CLEAR_LEAD_DATA","baseUrl","process","headers","getAllProducts","_getAllProducts","u","URLSearchParams","toString","massiveLoadOfProducts","formData","FormData","append","axios","method","onUploadProgress","progressEvent","round","loaded","total","msg","category","getProductBySKU","uploadProductImageToFirebase","saveProduct","attempUploadFiles","xlsxFiles","zipFiles","uploadFilesFirebase","newData","firebaseUrl","bucketPath","originalFile","setProductFileToService","deleteProduct","productId","uploadProduct","getDefaultProductImage","getProductsLeads","getAllLeads","getLeadById","_ref11","saveLead","_ref12","createLead","_ref13","updateLead","_ref14","updateProductsForTaskService","SET_CATEGORIES","getAllCategories","createCategorie","updateCategorie","deleteCategorie","uploadMassiveCategories","progressEv","response","promotions","banner","start_date_prog","start_hour","end_date_prog","end_hour","shops","redirect_id","banner_category_id","bannerTypes","banners","coupons","coupon","text","view","shop_id","SET_PROMOS","promos","SET_BANNER","SET_BANNER_TYPES","types","CLEAR_BANNER_DATA","SET_BANNERS","SET_COUPONS","SET_COUPON","CLEAR_COUPON","getAllPromos","filterInventories","updatePromo","promo","deletePromo","promoId","getAllBannerTypes","saveBanner","_saveBanner","createBanner","updateBanner","getAllBanners","getBannerById","bannerId","conct","values","prod","deleteBanner","changeBannerStatus","saveCoupon","_saveCoupon","updateCoupon","_updateCoupon","getAllCoupons","_getAllCoupons","getCoupon","_getCoupon","deleteCoupon","_deleteCoupon","_ref15","inventories","SET_INVENTORIES","getAllInventories","_getAllInventories","loadMassiveInventory","fileErrors","setInventoryFileToService","updateInventorie","inventory","findInventories","_findInventories","results","findPromotions","_findPromotions","deleteAllInventorie","_deleteAllInventorie","createWithJSON","_createWithJSON","preorders","SET_PREORDERS","getPreOrders","_getPreOrders","uploadPreOrder","split","deletePreOrder","getPreOrdersFind","_getPreOrdersFind","page_size","orders","newOrders","preparingOrders","deliveredOrders","rejectMessages","filteredStores","SET_ODERS","SET_NEW_ODERS","SET_PREPARING_ODERS","SET_DELIVERED_ODERS","SET_PREPARING_ODER_TIME","delivery_time","parseInt","SET_REJECT_MESSAGES","SET_FILTERED_ORDERS","_step","grouped","Utils","groupBy","order","shop","groupSetter","Set","groupMapped","_iterator","_createForOfIteratorHelper","done","collapsed","panel","f","SET_FILTERED_ORDERS_MAPPED","ordersMapped","getAllOrders","_getAllOrders","getOrdersStatistics","_getOrdersStatistics","getAllNewOrders","getAllPreparingOrders","getAllDeliveredOrders","acceptOrder","orderId","status_order","status_tracking","rejectOrder","rejectOrderData","orderSelectedId","getRejectMessages","dispatchOrder","deliverOrder","changeNewOrdersToReaded","filterOrders","ordersRef","ordersFiltered","storesIds","includes","toggleStoreStatus","storeId","getOrderByID","order_id","findOrdersHistory","_findOrdersHistory","departments","cities","callsigns","callingCodes","flag","require","SET_DEPARTMENTS","SET_CITIES","SET_CALLSIGNS","signs","getAllDepartments","getCitiesByDepartment","getAllCities","getAllSigns","getAddresInfo","location","identificationTypes","users","lastname","city_id","departmentId","companies_neme","email2","password","password2","position","role_id","role_name","phoneSign","phoneNumber","role","country_code_phone","country_code_cell_phone","cell_phone","send_email","userStatus","SET_USERS","SET_USER","CLEAR_USER_DATA","getAllUsers","_getAllUsers","createUser","_createUser","getUserById","updateUser","deleteUser","userId","SET_CLIENTS","clients","SET_CLIENT","client","CLEAR_CLIENT_DATA","getClients","_getClients","getAllClients","_getAllClients","userClients","_userClients","updateCLientsForTaskService","UserClientList","_UserClientList","getAllConsumers","_getAllConsumers","userConsumers","_userConsumers","putUserConsumers","_putUserConsumers","messages","body","color","sound","type_","date_ts","message_data","success","failure","SET_MESSAGES","SET_MESSAGE","RESET_MESSAGE","_create","getAll","_getAll","_get","_delete2","_delete","deleteMassive","_deleteMassive","isUserLoggedIn","isAuthenticated","firebaseCurrentUser","currentUser","SET_BEARER","accessToken","defaults","common","loginAttempt","newPayload","userDetails","notify","closeAnimation","loginSiti","rememberMe","remove","setPersistence","Auth","Persistence","SESSION","iconPack","login","signInWithEmailAndPassword","isUsernameUpdateRequired","updateUsername","username","isReloadRequired","router","currentRoute","to","providerData","loginWithGoogle","provider","GoogleAuthProvider","signInWithPopup","loginWithFacebook","FacebookAuthProvider","loginWithTwitter","TwitterAuthProvider","loginWithGithub","GithubAuthProvider","registerUser","createUserWithEmailAndPassword","updateProfile","newUserData","assign","loginJWT","jwt","authorization","access_token","auth_grants","registerUserJWT","_payload$userDetails","confirmPassword","userData","fetchAccessToken","refreshToken","changePassword","updatePassword","logout","queryEncoded","warn","signOut","recoveryFbPwd","actionCodeSettings","sendPasswordResetEmail","Vue","use","Vuex","Store","eCommerce","moduleECommerce","moduleNotification","customers","moduleCustomers","moduleIndicators","rolesPermissions","moduleRolesPermissions","applications","calendar","tracking","strict","danger","warning","dark","Vuesax","disableCustomizer","disableThemeTour","footerType","hideScrollToTop","navbarColor","navbarType","routerTransition","sidebarCollapsed","userInfoLocalStorageKey","eventLabels","events","ADD_EVENT","SET_EVENTS","SET_LABELS","labels","UPDATE_EVENT","eventIndex","REMOVE_EVENT","eventId","addEvent","fetchEvents","fetchEventLabels","editEvent","startDate","endDate","removeEvent","eventDragged","fetchDoctorEvents","getEvent","Router","base","scrollBehavior","x","y","routes","path","redirect","meta","rule","authRequired","analytics","perms","breadcrumb","active","afterEach","appLoading","getElementById","display","beforeEach","from","comingSoonPage","comingSoon","onAuthStateChanged","localStorageKey","tokenExpiryKey","loginEvent","webAuth","auth0","WebAuth","domain","authConfig","redirectUri","origin","clientID","clientId","responseType","scope","AuthService","_EventEmitter","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","_key","_defineProperty","_assertThisInitialized","_createClass","customState","authorize","appState","_this2","parseHash","authResult","alert","localLogin","idToken","this","profile","idTokenPayload","tokenExpiry","exp","picture","providerId","sub","emit","loggedIn","_this3","checkSession","returnTo","userPermsArr","permissions","permsWithoutSpace","replace","permsArr","havePermission","perm","EventEmitter","_vm","_c","_self","attrs","watch","toggleClassInBody","methods","className","match","classList","add","handleWindowResize","$store","innerWidth","handleScroll","mounted","created","_created","init","$vs","promotionsHttp","addEventListener","$auth","renewTokens","t0","destroyed","removeEventListener","MockAdapter","mock","pixinvent_product_1","img","subtitle_2","pixinvent_product_sales_1","footer_text_left_value","footer_text_left_label","footer_text_right_value","footer_text_right_label","pixinvent_product_goal_1","progress_done_per","current_progress","progress_goal","btn_left_text","btn_right_text","user_detail_89","userImg","profession","btn_1_text","btn_2_text","footer_text_1_icon","footer_text_1","footer_text_2_icon","footer_text_2","user_detail_58","user_meta_1_title","user_meta_1_label","user_meta_2_title","user_meta_2_label","user_meta_3_title","user_meta_3_label","btn_text","user_detail_16","place_detail_18","overlay_img","place_weather_76","place_name","weather","weather_icon","temperature","chatLog","senderImg","isSent","item_reviews_12","likes","comments","dislikes","player_options","height","fluid","autoplay","muted","language","playbackRates","sources","poster","onGet","reply","subscribers_gained","series","analyticsData","subscribers","revenueGenerated","revenue","quarterlySales","sales","ordersRecevied","siteTraffic","activeUsers","newsletter","device","sessionsPercentage","comparedResultPercentage","productsOrders","salesRadar","supportTracker","openTickets","revenueComparisonLine","thisMonth","lastMonth","goalOverviewRadialBar","completed","inProgress","salesBarSession","session","comparison","str","todoToday","numCompletedTasks","totalTasks","tasksToday","salesLine","funding","currBalance","depostis","resultPerc","pastData","earned","duration","browserAnalytics","ratio","comparedResult","clientRetention","dispatchedOrders","orderNo","statusColor","operator","operatorImg","usersLiked","distance","distPercent","estDelDate","reverse","onPost","lastIndex","substring","onDelete","itemIndex","checkpointReward","userName","jwtConfig","_JSON$parse","sign","secret","expiresIn","expireTime","_JSON$parse2","isEmailAlreadyInUse","_JSON$parse3","_jwt$verify","verify","newAccessToken","contacts","chats","1","isPinned","textContent","isSeen","2","chatDataOfUser","filteredContacts","contact","toLowerCase","params","q","chatContactsArray","contactId","unseenMsg","chatData","classes","draggedDateStart","eventStartDate","eventEndDate","diff","newEndDate","tasks","taskTags","filteredTasks","isTrashed","isStarred","isImportant","isCompleted","tags","taskId","emails","sender","sender_name","subject","cc","bcc","attachments","replies","mailFolder","emailTags","filteredEmails","countUnreadMailFolders","unreadMails","folder","draftMails","mail","mailsToMove","emailIds","mailsToUpdate","mailId","mailIndex","labelIndex","unreadFlag","onAny","passThrough","config","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","initializeApp","navigator","serviceWorker","register","registration","messaging","useServiceWorker","install","authService","mixin","handleLoginEvent","addListener","removeListener","mouseleavex","mouseenterx","destroy","directives","rawName","expression","positionx","noneAfter","_v","_s","_e","_t","insertBody","elx","insertBefore","firstChild","removeBody","element","bodyx","changePosition","conditional","topx","leftx","widthx","scrollTopx","pageYOffset","documentElement","scrollTop","getBoundingClientRect","top","innerHeight","clientHeight","left","offsetWidth","cords","darken","percent","R","G","B","getColor","colorx","alphax","defaultx","test","hexToRgb","g","b","search","isColor","vscolors","RandomColor","getRandomInt","min","max","rColor","opacity","colorSplit","contrastColor","elementx","rgbx","rgb","yiq","setCssVariable","propertyName","setProperty","hex","shorthandRegex","exec","getVariable","styles","getPropertyValue","trim","changeColor","colorInicial","colores","getComputedStyle","Number","delay","computed","transitionDelay","background","_color","$nextTick","utils","$refs","vstooltip","convstooltip","elxEvent","tooltip","closest","clientWidth","_g","tempHidden","noShadow","noRadius","cardBorder","cardClasses","cardStyles","$listeners","hasHeader","$props","titleClasses","titleStyles","subtitleClasses","subtitleStyles","hasAction","actionButtons","collapseAction","refreshContentAction","removeCardAction","codeToggler","rotate180","isContentCollapsed","toggleContent","refreshcard","removeCard","showCode","toggleCode","StyleItems","$slots","footer","codeContainer","codeContainerStyles","codeLanguage","Boolean","actionButtonsColor","headerBackground","cardBackground","contentColor","titleColor","subtitleColor","maxHeight","cardMaxHeight","codeContainerMaxHeight","overflow","scrollHeight","$emit","loading","container","scale","removeRefreshAnimation","close","card","$el","_this4","components","Prism","_l","domProps","$t","slots","prepend","prependClasses","appendClasses","VxTooltip","VxCard","VxList","VxBreadcrumb","FeatherIcon","VxInputGroup","VueApexCharts","vSelect","Deselect","OpenIndicator","arr","capitalized_array","word","capitalized","charAt","toUpperCase","join","replacer","limit","tail","is24HrFormat","hours","getHours","getMinutes","fullDate","month","year","showYear","regx","monthsToSpanish","monthSpanish","num","toFixed","formatter","Intl","NumberFormat","currency","minimumFractionDigits","format","region","number","getFullYear","getMonth","day","getUTCDate","minutes","seconds","getSeconds","datetime","$http","AuthPlugin","VueClipboard","VueGoogleMaps","load","libraries","VueHammer","VueI18n","productionTip","i18n","App","$mount","activeUser","token_type","handleResponse","handleError","performance","memory","mem","used","usedJSHeapSize","reload","clear","$router","baseURL","sc","VUE_APP_ANALYTICS_ID","innerHTML","isAlreadyFetchingAccessToken","clientSecret","onAccessTokenFetched","callback","addSubscriber","interceptors","originalRequest","retryOriginalRequest","Authorization","client_secret","pwd","pt","es","en","locale","fallbackLocale","keyGetter","Map","getDate","mseconds","getMilliseconds","fullDatetime"],"mappings":"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,MAAO,wBAGX,CACEN,KAAM,MACN93B,KAAM,kBACNoD,UAAW,kBAAM,iDACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,WACPqzB,MAAO,0BAMf,CACEN,KAAM,YACN93B,KAAM,gBACNoD,UAAW,kBAAM,iDACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,YACPqzB,MAAO,uBAETj1B,SAAU,CACR,CACE20B,KAAM,GACNC,SAAU,QAEZ,CACED,KAAM,OACN93B,KAAM,qBACNoD,UAAW,kBAAM,iDACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,YACPqzB,MAAO,wBAGX,CACEN,KAAM,MACN93B,KAAM,oBACNoD,UAAW,kBAAM,iDACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,YACPqzB,MAAO,wBAGX,CACEN,KAAM,WACN93B,KAAM,qBACNoD,UAAW,kBAAM,iDACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,YACPqzB,MAAO,0BAwCf,CACEN,KAAM,YACN93B,KAAM,gBACNoD,UAAW,kBAAM,iDACjBD,SAAU,CACR,CACE20B,KAAM,GACNC,SAAU,QAEZ,CACED,KAAM,OACN93B,KAAM,qBACNoD,UAAW,kBAAM,iDACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,YACPqzB,MAAO,yCAGX,CACEN,KAAM,OACN93B,KAAM,qBACNoD,UAAW,kBAAM,iDACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,YACPqzB,MAAO,2CAMf,CACEN,KAAM,WAEN10B,UAAW,kBAAM,4GACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,GAEhB/0B,SAAU,CACR,CACE20B,KAAM,GACN93B,KAAM,qBACNoD,UAAW,kBAAM,sFACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,YACPqzB,MAAO,mCAGX,CACEN,KAAM,MACN93B,KAAM,mBACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,mBACPqzB,MAAO,mCAeX,CACEN,KAAM,aACN93B,KAAM,yBACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,mBACPqzB,MAAO,kCAETj1B,SAAU,CACR,CACE20B,KAAM,GACNC,SAAU,iCAEZ,CACED,KAAM,OACN93B,KAAM,8BACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,mBACPqzB,MAAO,uCAQnB,CACEN,KAAM,SAEN10B,UAAW,kBAAM,iDACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,GAEhB/0B,SAAU,CACR,CACE20B,KAAM,GACN93B,KAAM,mBACNoD,UAAW,kBAAM,4GACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,UACPqzB,MAAO,6BAIX,CACEN,KAAM,MACN93B,KAAM,iBACNoD,UAAW,kBAAM,iDACjBD,SAAU,CACR,CACE20B,KAAM,GACN93B,KAAM,2BACNoD,UAAW,kBAAM,iDACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,iBACPqzB,MAAO,6BAGX,CACEN,KAAM,OACN93B,KAAM,sBACNoD,UAAW,kBACT,4GACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdE,MAAO,6BAGX,CACEN,KAAM,UACN93B,KAAM,yBACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdE,MAAO,+BAMf,CACEN,KAAM,UACN93B,KAAM,oBACNoD,UAAW,kBACT,iDACFD,SAAU,CACR,CACE20B,KAAM,QACN93B,KAAM,0BACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,iBACPqzB,MAAO,iCAQnB,CACEN,KAAM,SAEN10B,UAAW,kBAAM,iDACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,GAEhB/0B,SAAU,CACR,CACE20B,KAAM,GACN93B,KAAM,mBACNoD,UAAW,kBACT,4GACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,uBACPqzB,MAAO,+BAGX,CACEN,KAAM,cACN93B,KAAM,yBACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,sBACPqzB,MAAO,iCAMf,CACEN,KAAM,YAEN10B,UAAW,kBAAM,kDA0DnB,CACE00B,KAAM,aACN93B,KAAM,iBACNoD,UAAW,kBAAM,iDACjBD,SAAU,CACR,CACE20B,KAAM,GACN93B,KAAM,sBACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,cACPqzB,MAAO,qCAGX,CACEN,KAAM,MACN93B,KAAM,qBACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,sBACPqzB,MAAO,qCAGX,CACEN,KAAM,WACN93B,KAAM,sBACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,uBACPqzB,MAAO,qCAGX,CACEN,KAAM,aACN93B,KAAM,wBACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,4BACPqzB,MAAO,qCAGX,CACEN,KAAM,UACN93B,KAAM,0BACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,cACPqzB,MAAO,qCAIX,CACEN,KAAM,QACN93B,KAAM,uBACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,kBACPqzB,MAAO,qCAGX,CACEN,KAAM,YACN93B,KAAM,2BACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,oBACPqzB,MAAO,qCAGX,CACEN,KAAM,iBACN93B,KAAM,4BACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,qBACPqzB,MAAO,qCAGX,CACEN,KAAM,mBACN93B,KAAM,8BACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,qBACPqzB,MAAO,qCAIX,CACEN,KAAM,UACN93B,KAAM,yBACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,mBACPqzB,MAAO,oCAETj1B,SAAU,CACR,CACE20B,KAAM,GACN93B,KAAM,8BACNoD,UAAW,kBACT,sFACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,qBACPqzB,MAAO,qCAGX,CACEN,KAAM,MACN93B,KAAM,6BACNoD,UAAW,kBACT,sFACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,qBACPqzB,MAAO,yCAQnB,CACEN,KAAM,eAEN10B,UAAW,kBAAM,iDACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,WAET5B,SAAU,CACR,CACE20B,KAAM,GACNC,SAAU,0BAEZ,CACED,KAAM,OACN93B,KAAM,wBACNoD,UAAW,kBAAM,iDACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,UACPqzB,MAAO,UAGX,CACEN,KAAM,SACN93B,KAAM,0BACNoD,UAAW,kBACT,iDACF40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,UACPqzB,MAAO,YA2Ff,CACEN,KAAM,UACN93B,KAAM,cACNoD,UAAW,kBAAM,iDACjBD,SAAU,CACR,CACE20B,KAAM,GACNC,SAAU,QAEZ,CACED,KAAM,OACN93B,KAAM,mBACNoD,UAAW,kBAAM,sFACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,mBACPqzB,MAAO,UAGX,CACEN,KAAM,MACN93B,KAAM,kBACNoD,UAAW,kBAAM,sFACjB40B,KAAM,CACJC,KAAM,QACNC,cAAc,EACdnzB,MAAO,mBACPqzB,MAAO,YAMf,CACEN,KAAM,OACN93B,KAAM,WACNoD,UAAW,kBAAM,iDACjBD,SAAU,CACR,CACE20B,KAAM,GACNC,SAAU,QAEZ,CACED,KAAM,OACN93B,KAA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","file":"js/app.264bef9a.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-0822a8d6\":\"af496607\",\"chunk-0a6f61ac\":\"0b978b97\",\"chunk-0c25f612\":\"0482d7a8\",\"chunk-0d1fea04\":\"9e47cced\",\"chunk-133bf5fe\":\"4142c8f9\",\"chunk-139e3c2c\":\"55f9da6e\",\"chunk-19609560\":\"c7ee2fbc\",\"chunk-2193d2c5\":\"2d1783bc\",\"chunk-259b2006\":\"ab4e49d5\",\"chunk-273491b2\":\"07587ffd\",\"chunk-2aed5319\":\"9aa71310\",\"chunk-2ce2089a\":\"d875cec2\",\"chunk-2d0aa9a7\":\"570d5c29\",\"chunk-2d0ac5eb\":\"cc0b16c9\",\"chunk-2d0af116\":\"51dfa9cc\",\"chunk-2d0b92b4\":\"07dae1dc\",\"chunk-2d0bd3e7\":\"fb8f79a6\",\"chunk-2d0bd54b\":\"dd52afdf\",\"chunk-2d0c08d4\":\"55216698\",\"chunk-2d0c4db9\":\"5cb18342\",\"chunk-2d0c9568\":\"b777f92d\",\"chunk-2d0cbe89\":\"3dfb65d7\",\"chunk-2d0cc467\":\"74e99b41\",\"chunk-2d0d6ed5\":\"6ca3d827\",\"chunk-2d0dab92\":\"96e6ed86\",\"chunk-2d0de525\":\"5d907705\",\"chunk-2d0e2648\":\"c90e4129\",\"chunk-2d0e2c36\":\"ac845da9\",\"chunk-2d0e581c\":\"baf9b2f2\",\"chunk-2d0e5b65\":\"1981de16\",\"chunk-2d0e5beb\":\"0862ae27\",\"chunk-2d0f0c32\":\"2e133411\",\"chunk-2d0f0de4\":\"e6d56f33\",\"chunk-2d2095bf\":\"742fdb2f\",\"chunk-2d20f777\":\"677083ca\",\"chunk-2d21063d\":\"d0f943c7\",\"chunk-2d21711d\":\"50483380\",\"chunk-2d21ab4a\":\"37e11fe4\",\"chunk-2d21af68\":\"5e4fdb9d\",\"chunk-2d21b2c9\":\"d13ef2d8\",\"chunk-2d21b49d\":\"b2372c3b\",\"chunk-2d21e7e8\":\"548169a8\",\"chunk-2d221417\":\"a6ff7ac5\",\"chunk-2d222063\":\"a904fedb\",\"chunk-2d229da4\":\"cea99bf6\",\"chunk-2d22c341\":\"ca70080a\",\"chunk-2d22cc91\":\"ab6ce945\",\"chunk-2d237151\":\"533ed2d1\",\"chunk-2d21334a\":\"e9d6051c\",\"chunk-4d015125\":\"3bda1b8b\",\"chunk-2d789192\":\"2ee704dc\",\"chunk-38bfe987\":\"268ab0f5\",\"chunk-3f33f717\":\"3cc37e09\",\"chunk-3fd62981\":\"6b35caba\",\"chunk-44cdc844\":\"146737c1\",\"chunk-49470fda\":\"87264936\",\"chunk-4a5f46a6\":\"bd0a1b1c\",\"chunk-1e6ae67d\":\"cb8fcc8d\",\"chunk-5ef438d8\":\"70b9b354\",\"chunk-4c138743\":\"b0adc095\",\"chunk-2d0d07e4\":\"e1cadb2a\",\"chunk-4f6a9f49\":\"f1a0e601\",\"chunk-59c47205\":\"cfdc3c6f\",\"chunk-5cf42bfc\":\"dd03de47\",\"chunk-6ed4f2a9\":\"0c2b5bec\",\"chunk-031f867f\":\"c37109f8\",\"chunk-1edd415d\":\"8fdc39ca\",\"chunk-1f2430ad\":\"14dcadd1\",\"chunk-22e7ced3\":\"286354b3\",\"chunk-272ece74\":\"b7987364\",\"chunk-243372e8\":\"f6f7d23b\",\"chunk-627f4838\":\"11c7ca55\",\"chunk-40ee25f5\":\"287eab17\",\"chunk-739d475d\":\"ed8f8a45\",\"chunk-2d0b1a07\":\"1cfc2d54\",\"chunk-b787f1de\":\"5dd66fa5\",\"chunk-86197c98\":\"e9cc1947\",\"chunk-76e3f450\":\"13f5fca9\",\"chunk-7a1395ca\":\"fe2cd03e\",\"chunk-7b775419\":\"aa1060fc\",\"chunk-7bbb4e74\":\"8d32f20d\",\"chunk-82d5c29a\":\"0458205a\",\"chunk-8408073a\":\"2104a673\",\"chunk-8778d490\":\"1e52f78c\",\"chunk-8fd45d22\":\"35f15164\",\"chunk-9a344850\":\"4d36e14d\",\"chunk-9e7d2c50\":\"2841656f\",\"chunk-ae53ffc6\":\"47446d4c\",\"chunk-376cbad3\":\"8fa4fa02\",\"chunk-e5475d26\":\"acd1b787\",\"chunk-2d0af12a\":\"26aa476c\",\"chunk-b7a8956c\":\"ed75c8c3\",\"chunk-bd372c6a\":\"6740a7e2\",\"chunk-c08b98a2\":\"9324b452\",\"chunk-d81aaf22\":\"093a2fb9\",\"chunk-e89bafc2\":\"f5900f08\",\"chunk-ed90b932\":\"24477883\",\"chunk-ee597c62\":\"fac5f88c\",\"chunk-f75e4a8a\":\"0b9c80b5\",\"chunk-fdc4d506\":\"c569a995\",\"chunk-4fe850c2\":\"8b5afe2b\",\"chunk-306d3301\":\"432a2aa6\"}[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-0a6f61ac\":1,\"chunk-0c25f612\":1,\"chunk-0d1fea04\":1,\"chunk-133bf5fe\":1,\"chunk-19609560\":1,\"chunk-2193d2c5\":1,\"chunk-273491b2\":1,\"chunk-2aed5319\":1,\"chunk-4d015125\":1,\"chunk-2d789192\":1,\"chunk-38bfe987\":1,\"chunk-3f33f717\":1,\"chunk-3fd62981\":1,\"chunk-49470fda\":1,\"chunk-1e6ae67d\":1,\"chunk-5ef438d8\":1,\"chunk-4f6a9f49\":1,\"chunk-5cf42bfc\":1,\"chunk-031f867f\":1,\"chunk-1edd415d\":1,\"chunk-1f2430ad\":1,\"chunk-22e7ced3\":1,\"chunk-272ece74\":1,\"chunk-243372e8\":1,\"chunk-627f4838\":1,\"chunk-40ee25f5\":1,\"chunk-739d475d\":1,\"chunk-b787f1de\":1,\"chunk-86197c98\":1,\"chunk-76e3f450\":1,\"chunk-7b775419\":1,\"chunk-7bbb4e74\":1,\"chunk-82d5c29a\":1,\"chunk-8408073a\":1,\"chunk-8fd45d22\":1,\"chunk-9a344850\":1,\"chunk-9e7d2c50\":1,\"chunk-376cbad3\":1,\"chunk-e5475d26\":1,\"chunk-e89bafc2\":1,\"chunk-ed90b932\":1,\"chunk-ee597c62\":1,\"chunk-f75e4a8a\":1,\"chunk-fdc4d506\":1,\"chunk-306d3301\":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-0822a8d6\":\"31d6cfe0\",\"chunk-0a6f61ac\":\"35519fdd\",\"chunk-0c25f612\":\"66d4043f\",\"chunk-0d1fea04\":\"cc1426d2\",\"chunk-133bf5fe\":\"bed8745d\",\"chunk-139e3c2c\":\"31d6cfe0\",\"chunk-19609560\":\"f280f6b5\",\"chunk-2193d2c5\":\"5a0ed78b\",\"chunk-259b2006\":\"31d6cfe0\",\"chunk-273491b2\":\"d4d495cd\",\"chunk-2aed5319\":\"71cd1e81\",\"chunk-2ce2089a\":\"31d6cfe0\",\"chunk-2d0aa9a7\":\"31d6cfe0\",\"chunk-2d0ac5eb\":\"31d6cfe0\",\"chunk-2d0af116\":\"31d6cfe0\",\"chunk-2d0b92b4\":\"31d6cfe0\",\"chunk-2d0bd3e7\":\"31d6cfe0\",\"chunk-2d0bd54b\":\"31d6cfe0\",\"chunk-2d0c08d4\":\"31d6cfe0\",\"chunk-2d0c4db9\":\"31d6cfe0\",\"chunk-2d0c9568\":\"31d6cfe0\",\"chunk-2d0cbe89\":\"31d6cfe0\",\"chunk-2d0cc467\":\"31d6cfe0\",\"chunk-2d0d6ed5\":\"31d6cfe0\",\"chunk-2d0dab92\":\"31d6cfe0\",\"chunk-2d0de525\":\"31d6cfe0\",\"chunk-2d0e2648\":\"31d6cfe0\",\"chunk-2d0e2c36\":\"31d6cfe0\",\"chunk-2d0e581c\":\"31d6cfe0\",\"chunk-2d0e5b65\":\"31d6cfe0\",\"chunk-2d0e5beb\":\"31d6cfe0\",\"chunk-2d0f0c32\":\"31d6cfe0\",\"chunk-2d0f0de4\":\"31d6cfe0\",\"chunk-2d2095bf\":\"31d6cfe0\",\"chunk-2d20f777\":\"31d6cfe0\",\"chunk-2d21063d\":\"31d6cfe0\",\"chunk-2d21711d\":\"31d6cfe0\",\"chunk-2d21ab4a\":\"31d6cfe0\",\"chunk-2d21af68\":\"31d6cfe0\",\"chunk-2d21b2c9\":\"31d6cfe0\",\"chunk-2d21b49d\":\"31d6cfe0\",\"chunk-2d21e7e8\":\"31d6cfe0\",\"chunk-2d221417\":\"31d6cfe0\",\"chunk-2d222063\":\"31d6cfe0\",\"chunk-2d229da4\":\"31d6cfe0\",\"chunk-2d22c341\":\"31d6cfe0\",\"chunk-2d22cc91\":\"31d6cfe0\",\"chunk-2d237151\":\"31d6cfe0\",\"chunk-2d21334a\":\"31d6cfe0\",\"chunk-4d015125\":\"8c38e2e5\",\"chunk-2d789192\":\"4869c970\",\"chunk-38bfe987\":\"d47a16a3\",\"chunk-3f33f717\":\"53f3f47c\",\"chunk-3fd62981\":\"97e0cfbd\",\"chunk-44cdc844\":\"31d6cfe0\",\"chunk-49470fda\":\"fa62ea69\",\"chunk-4a5f46a6\":\"31d6cfe0\",\"chunk-1e6ae67d\":\"8fee3cc6\",\"chunk-5ef438d8\":\"24076e99\",\"chunk-4c138743\":\"31d6cfe0\",\"chunk-2d0d07e4\":\"31d6cfe0\",\"chunk-4f6a9f49\":\"3cda333c\",\"chunk-59c47205\":\"31d6cfe0\",\"chunk-5cf42bfc\":\"d263d1c7\",\"chunk-6ed4f2a9\":\"31d6cfe0\",\"chunk-031f867f\":\"c53d75c5\",\"chunk-1edd415d\":\"8110bdfb\",\"chunk-1f2430ad\":\"d00a336c\",\"chunk-22e7ced3\":\"9dd5e9b2\",\"chunk-272ece74\":\"c907b2b0\",\"chunk-243372e8\":\"fb3a76da\",\"chunk-627f4838\":\"3b262e8e\",\"chunk-40ee25f5\":\"9dd5e9b2\",\"chunk-739d475d\":\"9dd5e9b2\",\"chunk-2d0b1a07\":\"31d6cfe0\",\"chunk-b787f1de\":\"440d8699\",\"chunk-86197c98\":\"f57bef73\",\"chunk-76e3f450\":\"6a53179c\",\"chunk-7a1395ca\":\"31d6cfe0\",\"chunk-7b775419\":\"b57deecc\",\"chunk-7bbb4e74\":\"bf79451c\",\"chunk-82d5c29a\":\"9ce00925\",\"chunk-8408073a\":\"6c8d5c78\",\"chunk-8778d490\":\"31d6cfe0\",\"chunk-8fd45d22\":\"c9a88f40\",\"chunk-9a344850\":\"ee0fc12f\",\"chunk-9e7d2c50\":\"462ef440\",\"chunk-ae53ffc6\":\"31d6cfe0\",\"chunk-376cbad3\":\"3d2e246d\",\"chunk-e5475d26\":\"d9c53bd3\",\"chunk-2d0af12a\":\"31d6cfe0\",\"chunk-b7a8956c\":\"31d6cfe0\",\"chunk-bd372c6a\":\"31d6cfe0\",\"chunk-c08b98a2\":\"31d6cfe0\",\"chunk-d81aaf22\":\"31d6cfe0\",\"chunk-e89bafc2\":\"2fb057a7\",\"chunk-ed90b932\":\"1f7d86d1\",\"chunk-ee597c62\":\"b85d5095\",\"chunk-f75e4a8a\":\"065149e2\",\"chunk-fdc4d506\":\"048d5024\",\"chunk-4fe850c2\":\"31d6cfe0\",\"chunk-306d3301\":\"7ff6a902\"}[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","module.exports = __webpack_public_path__ + \"img/avatar-s-10.7be10c57.png\";","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&id=3c1631b2&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/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","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/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--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatherIcon.vue?vue&type=script&lang=js&\"","import auth from '../../../auth/authService.js'\r\n\r\nexport default {\r\n actionIcon: 'StarIcon',\r\n highlightColor: 'warning',\r\n data: [\r\n // MODULOS APP\r\n {\r\n index: 0,\r\n label: 'Dashboard',\r\n url: '/app/dashboard',\r\n labelIcon: 'HomeIcon',\r\n highlightAction: false,\r\n show: true,\r\n },\r\n {\r\n index: 1,\r\n label: 'Mi Perfil',\r\n url: '/app/profile',\r\n labelIcon: 'UserIcon',\r\n highlightAction: false,\r\n show: auth.isValidModule( 'OWNER, MANAGE_USERS, READ_USERS' ),\r\n },\r\n {\r\n index: 2,\r\n label: 'Usuarios',\r\n url: '/app/users/list',\r\n labelIcon: 'UsersIcon',\r\n highlightAction: false,\r\n show: auth.isValidModule( 'OWNER, MANAGE_USERS' ),\r\n },\r\n {\r\n index: 3,\r\n label: 'Tiendas',\r\n url: '/app/stores',\r\n labelIcon: 'ShoppingBagIcon', \r\n highlightAction: false,\r\n show: auth.isValidModule( 'MANAGE_SHOPS, READ_SHOPS' ),\r\n },\r\n {\r\n index: 4,\r\n label: 'Productos',\r\n url: '/app/products',\r\n labelIcon: 'ClipboardIcon',\r\n highlightAction: false,\r\n show: auth.isValidModule( 'MANAGE_PRODUCTS, READ_PRODUCTS' ),\r\n },\r\n {\r\n index: 5,\r\n label: 'Inventario',\r\n url: '/app/inventory',\r\n labelIcon: 'ListIcon',\r\n highlightAction: false,\r\n show: auth.isValidModule( 'MANAGE_INVENTORIES, READ_INVENTORIES' ),\r\n },\r\n {\r\n index: 6,\r\n label: 'Promociones',\r\n url: '/app/promotions',\r\n labelIcon: 'PercentIcon',\r\n highlightAction: false,\r\n show: auth.isValidModule( 'MANAGE_PROMOTION, READ_PROMOTION' ),\r\n },\r\n {\r\n index: 7,\r\n label: 'Pedidos en Curso',\r\n url: '/app/orders/in-progress',\r\n labelIcon: 'ShoppingCartIcon',\r\n highlightAction: false,\r\n show: auth.isValidModule( 'MANAGE_ORDERS, READ_ORDERS' ),\r\n },\r\n {\r\n index: 8,\r\n label: 'Historial de Pedidos',\r\n url: '/app/orders',\r\n labelIcon: 'TruckIcon',\r\n highlightAction: false,\r\n show: auth.isValidModule( 'MANAGE_ORDERS, READ_ORDERS' ),\r\n },\r\n {\r\n index: 9,\r\n label: 'Indicadores',\r\n url: '/app/indicators',\r\n labelIcon: 'BarChartIcon',\r\n highlightAction: false,\r\n show: auth.isValidModule( 'MANAGE_INDICATOR, READ_INDICATOR' ),\r\n },\r\n { index: 10,\r\n label: 'Atención al Cliente',\r\n url: '/app/customers/support',\r\n labelIcon: 'HeadphonesIcon',\r\n highlightAction: false,\r\n show: auth.isValidModule( 'MANAGE_CALLCENTER, CREATE_CALLCENTER' ),\r\n },\r\n { index: 11,\r\n label: 'Lista de aliados',\r\n url: '/app/applications/list',\r\n labelIcon: 'BookIcon',\r\n highlightAction: false,\r\n show: auth.isValidModule( 'OWNER' ),\r\n },\r\n { index: 12,\r\n label: 'Crear aliado',\r\n url: '/app/applications/create',\r\n labelIcon: 'BookOpenIcon',\r\n highlightAction: false,\r\n show: auth.isValidModule( 'OWNER' ),\r\n },\r\n \r\n // {index: 5, label: 'Calendar', url: '/apps/calendar/vue-simple-calendar', labelIcon: 'CalendarIcon', highlightAction: true},\r\n // {index: 20, label: 'agGrid Table', url: '/ui-elements/ag-grid-table', labelIcon: 'GridIcon', highlightAction: false},\r\n // {index: 23, label: 'Breadcrumb Component', url: '/components/breadcrumb', labelIcon: 'NavigationIcon', highlightAction: false},\r\n // {index: 32, label: 'Loading Component', url: '/components/loading', labelIcon: 'LoaderIcon', highlightAction: false},\r\n // {index: 34, label: 'Notifications Component', url: '/components/notifications', labelIcon: 'BellIcon', highlightAction: false},\r\n // {index: 35, label: 'Pagination Component', url: '/components/pagination', labelIcon: 'ChevronsRightIcon', highlightAction: false, show: true},\r\n // {index: 36, label: 'Popup Component', url: '/components/popup', labelIcon: 'CopyIcon', highlightAction: false},\r\n // {index: 37, label: 'Progress Component', url: '/components/progress', labelIcon: 'SlidersIcon', highlightAction: false},\r\n // {index: 39, label: 'Slider Component', url: '/components/slider', labelIcon: 'SlidersIcon', highlightAction: false},\r\n // {index: 41, label: 'Tooltip Component', url: '/components/tooltip', labelIcon: 'AlertCircleIcon', highlightAction: false},\r\n\r\n // // FORMS\r\n // {index: 48, label: 'Number Input Form Element', url: '/forms/form-elements/number-input', labelIcon: 'TypeIcon', highlightAction: false},\r\n // {index: 51, label: 'Form Wizard', url: '/forms/form-wizard', labelIcon: 'GitCommitIcon', highlightAction: false},\r\n // {index: 52, label: 'Form Validation', url: '/forms/form-validation', labelIcon: 'CheckSquareIcon', highlightAction: false},\r\n\r\n // // PAGES\r\n // {index: 54, label: 'Login Page', url: '/pages/login', labelIcon: 'LockIcon', highlightAction: false},\r\n // {index: 55, label: 'Register Page', url: '/pages/register', labelIcon: 'UserPlusIcon', highlightAction: false},\r\n // {index: 60, label: '404 Page', url: '/pages/error-404', labelIcon: 'MonitorIcon', highlightAction: false},\r\n // {index: 61, label: '500 Page', url: '/pages/error-500', labelIcon: 'MonitorIcon', highlightAction: false},\r\n // {index: 62, label: 'Not Authorized Page', url: '/pages/not-authorized', labelIcon: 'XCircleIcon', highlightAction: false},\r\n // {index: 63, label: 'Maintenance Page', url: '/pages/maintenance', labelIcon: 'MonitorIcon', highlightAction: false},\r\n // {index: 64, label: 'Profile Page', url: '/pages/profile', labelIcon: 'UserIcon', highlightAction: false},\r\n // {index: 65, label: 'FAQ Page', url: '/pages/faq', labelIcon: 'HelpCircleIcon', highlightAction: false},\r\n\r\n // // EXTENSIONS\r\n // {index: 74, label: 'Quill Editor', url: '/extensions/quill-editor', labelIcon: 'EditIcon', highlightAction: false},\r\n // {index: 75, label: 'Drag & Drop', url: '/extensions/drag-and-drop', labelIcon: 'CopyIcon', highlightAction: false},\r\n // {index: 76, label: 'Datepicker', url: '/extensions/datepicker', labelIcon: 'CalendarIcon', highlightAction: false, show: true},\r\n // {index: 77, label: 'Datetime Picker', url: '/extensions/datetime-picker', labelIcon: 'ClockIcon', highlightAction: false, show: true},\r\n // {index: 78, label: 'Access Control', url: '/extensions/access-control', labelIcon: 'LockIcon', highlightAction: false},\r\n // {index: 81, label: 'Carousel', url: '/extensions/carousel', labelIcon: 'LayersIcon', highlightAction: false},\r\n // {index: 83, label: 'Context Menu', url: '/extensions/context-menu', labelIcon: 'MoreHorizontalIcon', highlightAction: false},\r\n // {index: 84, label: 'Star Rating', url: '/extensions/star-ratings', labelIcon: 'StarIcon', highlightAction: false},\r\n // {index: 85, label: 'Autocomplete', url: '/extensions/autocomplete', labelIcon: 'Edit3Icon', highlightAction: false},\r\n // {index: 86, label: 'Tree', url: '/extensions/tree', labelIcon: 'GitPullRequestIcon', highlightAction: false},\r\n // {index: 68, label: 'Import', url: '/import-export/import', labelIcon: 'FileTextIcon', highlightAction: false},\r\n // {index: 68, label: 'Export', url: '/import-export/export', labelIcon: 'ExternalLinkIcon', highlightAction: false, show: true },\r\n // {index: 68, label: 'Export Selected', url: '/import-export/export-selected', labelIcon: 'ExternalLinkIcon', highlightAction: false},\r\n ]\r\n}\r\n","/*=========================================================================================\r\n File Name: state.js\r\n Description: Vuex Store - state\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport navbarSearchAndPinList from \"@/layouts/components/navbar/navbarSearchAndPinList\";\r\nimport themeConfig from \"@/../themeConfig.js\";\r\nimport colors from \"@/../themeConfig.js\";\r\n\r\nimport Cookies from 'js-cookie';\r\n\r\n// /////////////////////////////////////////////\r\n// Helper\r\n// /////////////////////////////////////////////\r\n\r\n// *From Auth - Data will be received from auth provider\r\nconst userDefaults = {\r\n uid : \"\", // From Auth\r\n displayName : \"user\", // From Auth\r\n about : \"\",\r\n photoURL : \"\", // require(\"@/assets/images/portrait/small/avatar-s-11.png\"), // From Auth\r\n status : \"online\",\r\n userRole : \"admin\"\r\n}\r\n\r\nconst userInfo = Cookies.get('userInfo') ? JSON.parse( Cookies.get('userInfo') ) : null;\r\nconst userInfoLocalStorage = userInfo ? userInfo : {};\r\n\r\n// Set default values for active-user\r\n// More data can be added by auth provider or other plugins/packages\r\nconst getUserInfo = () => {\r\n let userInfo = {}\r\n\r\n // Update property in user\r\n Object.keys(userDefaults).forEach((key) => {\r\n // If property is defined in localStorage => Use that\r\n userInfo[key] = userInfoLocalStorage[key] ? userInfoLocalStorage[key] : userDefaults[key]\r\n })\r\n\r\n // Include properties from localStorage\r\n Object.keys(userInfoLocalStorage).forEach((key) => {\r\n if(userInfo[key] == undefined && userInfoLocalStorage[key] != null) userInfo[key] = userInfoLocalStorage[key]\r\n })\r\n\r\n return userInfo\r\n}\r\n\r\n// layout title\r\nconst pageTitle = {\r\n title: '',\r\n subtitle: '',\r\n}\r\n\r\n// /////////////////////////////////////////////\r\n// State\r\n// /////////////////////////////////////////////\r\nconst reduceButton = localStorage.getItem('reduceButton') &&\r\n localStorage.getItem('reduceButton') === 'true' ?\r\n true :\r\n false;\r\n\r\nconst state = {\r\n AppActiveUser : getUserInfo(),\r\n bodyOverlay : false,\r\n isVerticalNavMenuActive : true,\r\n mainLayoutType : themeConfig.mainLayoutType || \"vertical\",\r\n navbarSearchAndPinList : navbarSearchAndPinList,\r\n // reduce button menu now is getting from local storage\r\n // reduceButton : themeConfig.sidebarCollapsed,\r\n reduceButton : reduceButton,\r\n verticalNavMenuWidth : localStorage.getItem('verticalNavMenuWidth') || \"default\",\r\n verticalNavMenuItemsMin : false,\r\n scrollY : 0,\r\n starredPages : navbarSearchAndPinList.data.filter((page) => page.highlightAction),\r\n theme : themeConfig.theme || \"light\",\r\n themePrimaryColor : colors.primary,\r\n\r\n // Can be used to get current window with\r\n // Note: Above breakpoint state is for internal use of sidebar & navbar component\r\n windowWidth : null,\r\n pageTitle,\r\n fileSampleURL : '',\r\n}\r\n\r\nexport default state\r\n","/*=========================================================================================\r\n File Name: getters.js\r\n Description: Vuex Store - getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n// added so later we can keep breakpoint in sync automatically using this config file\r\n// import tailwindConfig from \"../../tailwind.config.js\"\r\n\r\nconst getters = {\r\n\r\n\t// COMPONENT\r\n\t\t// vx-autosuggest\r\n\t// starredPages: state => state.navbarSearchAndPinList.data.filter((page) => page.highlightAction),\r\n windowBreakPoint: state => {\r\n\r\n // This should be same as tailwind. So, it stays in sync with tailwind utility classes\r\n if (state.windowWidth >= 1200) return \"xl\"\r\n else if (state.windowWidth >= 992) return \"lg\"\r\n else if (state.windowWidth >= 768) return \"md\"\r\n else if (state.windowWidth >= 576) return \"sm\"\r\n else return \"xs\"\r\n }\r\n}\r\n\r\nexport default getters\r\n","/*=========================================================================================\r\n File Name: mutations.js\r\n Description: Vuex Store - mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport Cookies from 'js-cookie';\r\n\r\nconst mutations = {\r\n\r\n\r\n // /////////////////////////////////////////////\r\n // COMPONENTS\r\n // /////////////////////////////////////////////\r\n\r\n // Vertical NavMenu\r\n\r\n TOGGLE_IS_VERTICAL_NAV_MENU_ACTIVE(state, value) {\r\n state.isVerticalNavMenuActive = value\r\n },\r\n TOGGLE_REDUCE_BUTTON(state, val) {\r\n localStorage.setItem('reduceButton', val);\r\n state.reduceButton = val\r\n },\r\n UPDATE_MAIN_LAYOUT_TYPE(state, val) {\r\n state.mainLayoutType = val\r\n },\r\n UPDATE_VERTICAL_NAV_MENU_ITEMS_MIN(state, val) {\r\n state.verticalNavMenuItemsMin = val\r\n },\r\n UPDATE_VERTICAL_NAV_MENU_WIDTH(state, width) {\r\n localStorage.setItem('verticalNavMenuWidth', width);\r\n state.verticalNavMenuWidth = width\r\n },\r\n\r\n\r\n // VxAutoSuggest\r\n\r\n UPDATE_STARRED_PAGE(state, payload) {\r\n\r\n // find item index in search list state\r\n const index = state.navbarSearchAndPinList.data.findIndex((item) => item.index == payload.index)\r\n\r\n // update the main list\r\n state.navbarSearchAndPinList.data[index].highlightAction = payload.val\r\n\r\n // if val is true add it to starred else remove\r\n if (payload.val) {\r\n state.starredPages.push(state.navbarSearchAndPinList.data[index])\r\n }\r\n else {\r\n // find item index from starred pages\r\n const index = state.starredPages.findIndex((item) => item.index == payload.index)\r\n\r\n // remove item using index\r\n state.starredPages.splice(index, 1)\r\n }\r\n },\r\n\r\n // Navbar-Vertical\r\n\r\n ARRANGE_STARRED_PAGES_LIMITED(state, list) {\r\n const starredPagesMore = state.starredPages.slice(10)\r\n state.starredPages = list.concat(starredPagesMore)\r\n },\r\n ARRANGE_STARRED_PAGES_MORE(state, list) {\r\n let downToUp = false\r\n let lastItemInStarredLimited = state.starredPages[10]\r\n const starredPagesLimited = state.starredPages.slice(0, 10)\r\n state.starredPages = starredPagesLimited.concat(list)\r\n\r\n state.starredPages.slice(0, 10).map((i) => {\r\n if (list.indexOf(i) > -1) downToUp = true\r\n })\r\n\r\n if (!downToUp) {\r\n state.starredPages.splice(10, 0, lastItemInStarredLimited)\r\n }\r\n },\r\n\r\n\r\n // ////////////////////////////////////////////\r\n // UI\r\n // ////////////////////////////////////////////\r\n\r\n TOGGLE_CONTENT_OVERLAY(state, val) { state.bodyOverlay = val },\r\n UPDATE_PRIMARY_COLOR(state, val) { state.themePrimaryColor = val },\r\n UPDATE_THEME(state, val) { state.theme = val },\r\n UPDATE_WINDOW_WIDTH(state, width) { state.windowWidth = width },\r\n UPDATE_WINDOW_SCROLL_Y(state, val) { state.scrollY = val },\r\n\r\n\r\n // /////////////////////////////////////////////\r\n // User/Account\r\n // /////////////////////////////////////////////\r\n\r\n // Updates user info in state and localstorage\r\n UPDATE_USER_INFO(state, payload) {\r\n\r\n // Get Data Cookies\r\n let userInfo = Cookies.get('userInfo') ? JSON.parse(Cookies.get(\"userInfo\")) : state.AppActiveUser\r\n\r\n for (const property of Object.keys(payload)) {\r\n\r\n if (payload[property] != null) {\r\n // If some of user property is null - user default property defined in state.AppActiveUser\r\n state.AppActiveUser[property] = payload[property]\r\n\r\n // Update key in localStorage\r\n userInfo[property] = payload[property]\r\n }\r\n\r\n\r\n }\r\n // Store data in localStorage\r\n Cookies.set(\"userInfo\", JSON.stringify(userInfo));\r\n },\r\n\r\n SET_PAGE_TITLE( state, data ) {\r\n state.pageTitle.title = data.title;\r\n state.pageTitle.subtitle = data.subtitle;\r\n },\r\n\r\n SET_FILE_SAMPLE_URL( state, url ) {\r\n state.fileSampleURL = url;\r\n }\r\n}\r\n\r\nexport default mutations\r\n\r\n","/*=========================================================================================\r\n File Name: actions.js\r\n Description: Vuex Store - actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport firebase from 'firebase/app';\r\nimport 'firebase/storage';\r\n\r\nimport http from '../http/http-client';\r\nimport sitiHttp from '../http/siti-http-client';\r\n\r\nconst actions = {\r\n\r\n // /////////////////////////////////////////////\r\n // COMPONENTS\r\n // /////////////////////////////////////////////\r\n\r\n // Vertical NavMenu\r\n updateVerticalNavMenuWidth({ commit }, width) {\r\n commit('UPDATE_VERTICAL_NAV_MENU_WIDTH', width)\r\n },\r\n\r\n // VxAutoSuggest\r\n updateStarredPage({ commit }, payload) {\r\n commit('UPDATE_STARRED_PAGE', payload)\r\n },\r\n\r\n // The Navbar\r\n arrangeStarredPagesLimited({ commit }, list) {\r\n commit('ARRANGE_STARRED_PAGES_LIMITED', list)\r\n },\r\n arrangeStarredPagesMore({ commit }, list) {\r\n commit('ARRANGE_STARRED_PAGES_MORE', list)\r\n },\r\n\r\n // /////////////////////////////////////////////\r\n // UI\r\n // /////////////////////////////////////////////\r\n\r\n toggleContentOverlay({ commit }) {\r\n commit('TOGGLE_CONTENT_OVERLAY')\r\n },\r\n updateTheme({ commit }, val) {\r\n commit('UPDATE_THEME', val)\r\n },\r\n\r\n // /////////////////////////////////////////////\r\n // User/Account\r\n // /////////////////////////////////////////////\r\n\r\n updateUserInfo({ commit }, payload) {\r\n commit('UPDATE_USER_INFO', payload)\r\n },\r\n updateUserRole({ dispatch }, payload) {\r\n // Change client side\r\n payload.aclChangeRole(payload.userRole)\r\n\r\n // Make API call to server for changing role\r\n\r\n // Change userInfo in localStorage and store\r\n dispatch('updateUserInfo', {userRole: payload.userRole})\r\n },\r\n updatePageTitle( {commit}, pageTitle ) {\r\n commit( 'SET_PAGE_TITLE', pageTitle );\r\n },\r\n\r\n getFileUrl( {commit}, url ) {\r\n const storageRef = firebase.storage().ref();\r\n const fileRef = storageRef.child( `${url}`);\r\n \r\n return fileRef.getDownloadURL()\r\n .then( link => {\r\n commit( 'SET_FILE_SAMPLE_URL', link );\r\n return link;\r\n })\r\n .catch( err => {\r\n console.error(`An error ocurred trying get the file ${ url }: ${ err.message }`);\r\n return null;\r\n })\r\n },\r\n\r\n checkService() {\r\n return http.get('api/shops') .then( res => res );\r\n },\r\n\r\n checkSitiService() {\r\n return sitiHttp.get('api/v1/departament') .then( res => res );\r\n },\r\n}\r\n\r\nexport default actions\r\n","/*=========================================================================================\r\n File Name: moduleEcommerceState.js\r\n Description: Ecommerce Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nexport default {\r\n cartItems: [\r\n { \"name\": \"Nikon - D810 DSLR Camera with AF-S NIKKOR 24-120mm f/4G ED VR Zoom Lens - Black\", \"description\": \"Shoot arresting photos and 1080p high-definition videos with this Nikon D810 DSLR camera, which features a 36.3-megapixel CMOS sensor and a powerful EXPEED 4 processor for clear, detailed images. The AF-S NIKKOR 24-120mm lens offers shooting versatility. Memory card sold separately.\", \"brand\": \"Nikon\", \"categories\": [\"Cameras & Camcorders\", \"Digital Cameras\", \"Digital SLR Cameras\", \"DSLR Body & Lens\"], \"hierarchicalCategories\": { \"lvl0\": \"Cameras & Camcorders\", \"lvl1\": \"Cameras & Camcorders > Digital Cameras\", \"lvl2\": \"Cameras & Camcorders > Digital Cameras > Digital SLR Cameras\", \"lvl3\": \"Cameras & Camcorders > Digital Cameras > Digital SLR Cameras > DSLR Body & Lens\" }, \"type\": \"Dslr cameras\", \"price\": 4099.99, \"price_range\": \"> 2000\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/3953409_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/3953409/pdp\", \"free_shipping\": true, \"rating\": 4, \"popularity\": 12311, \"objectID\": \"3953409\", \"_highlightResult\": { \"name\": { \"value\": \"Nikon - D810 DSLR Camera with AF-S NIKKOR 24-120mm f/4G ED VR Zoom Lens - Black\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"description\": { \"value\": \"Shoot arresting photos and 1080p high-definition videos with this Nikon D810 DSLR camera, which features a 36.3-megapixel CMOS sensor and a powerful EXPEED 4 processor for clear, detailed images. The AF-S NIKKOR 24-120mm lens offers shooting versatility. Memory card sold separately.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Nikon\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"categories\": [{ \"value\": \"Cameras & Camcorders\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Digital Cameras\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Digital SLR Cameras\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"DSLR Body & Lens\", \"matchLevel\": \"none\", \"matchedWords\": [] }] }, \"quantity\": 1, \"discount_in_percentage\": 13, \"offers_count\": 4, \"delivery_date\": \"Wed Apr 10\" },\r\n { \"name\": \"Sony - 75\\\" Class (74.5\\\" diag) - LED - 2160p - Smart - 3D - 4K Ultra HD TV with High Dynamic Range - Black\", \"description\": \"This Sony 4K HDR TV boasts 4K technology for vibrant hues. Its X940D series features a bold 75-inch screen and slim design. Wires remain hidden, and the unit is easily wall mounted. This television has a 4K Processor X1 and 4K X-Reality PRO for crisp video. This Sony 4K HDR TV is easy to control via voice commands.\", \"brand\": \"Sony\", \"categories\": [\"TV & Home Theater\", \"TVs\", \"4K Ultra HD TVs\"], \"hierarchicalCategories\": { \"lvl0\": \"TV & Home Theater\", \"lvl1\": \"TV & Home Theater > TVs\", \"lvl2\": \"TV & Home Theater > TVs > 4K Ultra HD TVs\" }, \"type\": \"Mht 61\\\"-100\\\" tv's\", \"price\": 4499.99, \"price_range\": \"> 2000\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/4803900_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/4803900/pdp\", \"free_shipping\": false, \"rating\": 4, \"popularity\": 20687, \"objectID\": \"4803900\", \"_highlightResult\": { \"name\": { \"value\": \"Sony - 75" Class (74.5" diag) - LED - 2160p - Smart - 3D - 4K Ultra HD TV with High Dynamic Range - Black\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"description\": { \"value\": \"This Sony 4K HDR TV boasts 4K technology for vibrant hues. Its X940D series features a bold 75-inch screen and slim design. Wires remain hidden, and the unit is easily wall mounted. This television has a 4K Processor X1 and 4K X-Reality PRO for crisp video. This Sony 4K HDR TV is easy to control via voice commands.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Sony\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"categories\": [{ \"value\": \"TV & Home Theater\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"TVs\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"4K Ultra HD TVs\", \"matchLevel\": \"none\", \"matchedWords\": [] }] }, \"quantity\": 1, \"discount_in_percentage\": 5, \"offers_count\": 2, \"delivery_date\": \"Wed Apr 13\" },\r\n { \"name\": \"Beats by Dr. Dre - Geek Squad Certified Refurbished Beats Studio Wireless On-Ear Headphones - Red\", \"description\": \"Rock out to your favorite songs with these Beats by Dr. Dre Beats Studio Wireless GS-MH8K2AM/A headphones that feature a Beats Acoustic Engine and DSP software for enhanced clarity. ANC (Adaptive Noise Cancellation) allows you to focus on your tunes.\", \"brand\": \"Beats by Dr. Dre\", \"categories\": [\"Audio\", \"Headphones\", \"All Headphones\"], \"hierarchicalCategories\": { \"lvl0\": \"Audio\", \"lvl1\": \"Audio > Headphones\", \"lvl2\": \"Audio > Headphones > All Headphones\" }, \"type\": \"Refurbished beats\", \"price\": 379.99, \"price_range\": \"200 - 500\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/4784058_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/4784058/pdp\", \"free_shipping\": false, \"rating\": 4, \"popularity\": 15883, \"objectID\": \"4784058\", \"_highlightResult\": { \"name\": { \"value\": \"Beats by Dr. Dre - Geek Squad Certified Refurbished Beats Studio Wireless On-Ear Headphones - Red\", \"matchLevel\": \"full\", \"fullyHighlighted\": false, \"matchedWords\": [\"beats\", \"by\", \"dr\"] }, \"description\": { \"value\": \"Rock out to your favorite songs with these Beats by Dr. Dre Beats Studio Wireless GS-MH8K2AM/A headphones that feature a Beats Acoustic Engine and DSP software for enhanced clarity. ANC (Adaptive Noise Cancellation) allows you to focus on your tunes.\", \"matchLevel\": \"full\", \"fullyHighlighted\": false, \"matchedWords\": [\"beats\", \"by\", \"dr\"] }, \"brand\": { \"value\": \"Beats by Dr. Dre\", \"matchLevel\": \"full\", \"fullyHighlighted\": false, \"matchedWords\": [\"beats\", \"by\", \"dr\"] }, \"categories\": [{ \"value\": \"Audio\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Headphones\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"All Headphones\", \"matchLevel\": \"none\", \"matchedWords\": [] }] }, \"quantity\": 1, \"discount_in_percentage\": 12, \"offers_count\": 3, \"delivery_date\": \"Wed Apr 9\" },\r\n { \"name\": \"Sony - PlayStation 4 Pro Console\", \"description\": \"PS4 Pro Dynamic 4K Gaming & 4K Entertainment* PS4 Pro gets you closer to your game. Heighten your experiences. Enrich your adventures. Let the super-charged PS4 Pro lead the way.** GREATNESS AWAITS\", \"brand\": \"Sony\", \"categories\": [\"Video Games\", \"PlayStation 4\", \"PS4 Consoles\"], \"hierarchicalCategories\": { \"lvl0\": \"Video Games\", \"lvl1\": \"Video Games > PlayStation 4\", \"lvl2\": \"Video Games > PlayStation 4 > PS4 Consoles\" }, \"type\": \"Playstation 4 hw\", \"price\": 399.99, \"price_range\": \"200 - 500\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/5388900_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/5388900/pdp\", \"free_shipping\": true, \"rating\": 4, \"popularity\": 21402, \"objectID\": \"5388900\", \"_highlightResult\": { \"name\": { \"value\": \"Sony - PlayStation 4 Pro Console\", \"matchLevel\": \"full\", \"fullyHighlighted\": false, \"matchedWords\": [\"sony\", \"pla\"] }, \"description\": { \"value\": \"PS4 Pro Dynamic 4K Gaming & 4K Entertainment* PS4 Pro gets you closer to your game. Heighten your experiences. Enrich your adventures. Let the super-charged PS4 Pro lead the way.** GREATNESS AWAITS\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Sony\", \"matchLevel\": \"partial\", \"fullyHighlighted\": true, \"matchedWords\": [\"sony\"] }, \"categories\": [{ \"value\": \"Video Games\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"PlayStation 4\", \"matchLevel\": \"partial\", \"fullyHighlighted\": false, \"matchedWords\": [\"pla\"] }, { \"value\": \"PS4 Consoles\", \"matchLevel\": \"none\", \"matchedWords\": [] }] }, \"quantity\": 1, \"discount_in_percentage\": 3, \"offers_count\": 1, \"delivery_date\": \"Wed Apr 12\" },\r\n { \"name\": \"Apple - Macbook® (Latest Model) - 12\\\" Display - Intel Core M5 - 8GB Memory - 512GB Flash Storage - Space Gray\", \"description\": \"MacBook delivers a full-size experience in the lightest and most compact Mac notebook ever. With a full-size keyboard, force-sensing trackpad, 12-inch Retina display,1 sixth-generation Intel Core M processor, multifunctional USB-C port, and now up to 10 hours of battery life,2 MacBook features big thinking in an impossibly compact form.\", \"brand\": \"Apple\", \"categories\": [\"Computers & Tablets\", \"Laptops\", \"All Laptops\", \"MacBooks\"], \"hierarchicalCategories\": { \"lvl0\": \"Computers & Tablets\", \"lvl1\": \"Computers & Tablets > Laptops\", \"lvl2\": \"Computers & Tablets > Laptops > All Laptops\", \"lvl3\": \"Computers & Tablets > Laptops > All Laptops > MacBooks\" }, \"type\": \"Apple\", \"price\": 1599.99, \"price_range\": \"500 - 2000\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/5229600_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/5229600/pdp\", \"free_shipping\": true, \"rating\": 4, \"popularity\": 19609, \"objectID\": \"5229600\", \"_highlightResult\": { \"name\": { \"value\": \"Apple - Macbook® (Latest Model) - 12" Display - Intel Core M5 - 8GB Memory - 512GB Flash Storage - Space Gray\", \"matchLevel\": \"partial\", \"fullyHighlighted\": false, \"matchedWords\": [\"apple\"] }, \"description\": { \"value\": \"MacBook delivers a full-size experience in the lightest and most compact Mac notebook ever. With a full-size keyboard, force-sensing trackpad, 12-inch Retina display,1 sixth-generation Intel Core M processor, multifunctional USB-C port, and now up to 10 hours of battery life,2 MacBook features big thinking in an impossibly compact form.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Apple\", \"matchLevel\": \"partial\", \"fullyHighlighted\": true, \"matchedWords\": [\"apple\"] }, \"categories\": [{ \"value\": \"Computers & Tablets\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Laptops\", \"matchLevel\": \"partial\", \"fullyHighlighted\": true, \"matchedWords\": [\"laptop\"] }, { \"value\": \"All Laptops\", \"matchLevel\": \"partial\", \"fullyHighlighted\": false, \"matchedWords\": [\"laptop\"] }, { \"value\": \"MacBooks\", \"matchLevel\": \"none\", \"matchedWords\": [] }] }, \"quantity\": 1, \"discount_in_percentage\": 7, \"offers_count\": 1, \"delivery_date\": \"Wed Apr 14\" },\r\n { \"name\": \"Apple - Apple Watch Series 1 42mm Space Gray Aluminum Case Black Sport Band - Space Gray Aluminum\", \"description\": \"Durable, lightweight aluminum cases in silver, space gray, gold, and rose gold. Sport Band in a variety of colors. All the features of the original Apple Watch, plus a new dual-core processor for faster performance. All models run watchOS 3. Requires an iPhone 5 or later.\", \"brand\": \"Apple\", \"categories\": [\"Wearable Technology\", \"Apple Watch\", \"Apple Watch Series 1\"], \"hierarchicalCategories\": { \"lvl0\": \"Wearable Technology\", \"lvl1\": \"Wearable Technology > Apple Watch\", \"lvl2\": \"Wearable Technology > Apple Watch > Apple Watch Series 1\" }, \"type\": \"Standard apple watch\", \"price\": 299, \"price_range\": \"200 - 500\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/5546604_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/5546604/pdp\", \"free_shipping\": true, \"rating\": 4, \"popularity\": 21419, \"objectID\": \"5546604\", \"_highlightResult\": { \"name\": { \"value\": \"Apple - Apple Watch Series 1 42mm Space Gray Aluminum Case Black Sport Band - Space Gray Aluminum\", \"matchLevel\": \"full\", \"fullyHighlighted\": false, \"matchedWords\": [\"apple\"] }, \"description\": { \"value\": \"Durable, lightweight aluminum cases in silver, space gray, gold, and rose gold. Sport Band in a variety of colors. All the features of the original Apple Watch, plus a new dual-core processor for faster performance. All models run watchOS 3. Requires an iPhone 5 or later.\", \"matchLevel\": \"full\", \"fullyHighlighted\": false, \"matchedWords\": [\"apple\"] }, \"brand\": { \"value\": \"Apple\", \"matchLevel\": \"full\", \"fullyHighlighted\": true, \"matchedWords\": [\"apple\"] }, \"categories\": [{ \"value\": \"Wearable Technology\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Apple Watch\", \"matchLevel\": \"full\", \"fullyHighlighted\": false, \"matchedWords\": [\"apple\"] }, { \"value\": \"Apple Watch Series 1\", \"matchLevel\": \"full\", \"fullyHighlighted\": false, \"matchedWords\": [\"apple\"] }], \"type\": { \"value\": \"Standard apple watch\", \"matchLevel\": \"full\", \"fullyHighlighted\": false, \"matchedWords\": [\"apple\"] } }, \"quantity\": 1, \"discount_in_percentage\": 17, \"offers_count\": 4, \"delivery_date\": \"Wed Apr 15\" },\r\n ],\r\n wishList: [\r\n { \"name\": \"Bowers & Wilkins - CM10 S2 Triple 6-1/2\\\" 3-Way Floorstanding Speaker (Each) - Gloss Black\", \"description\": \"Featuring triple 6-1/2\\\" bass cones, a 6\\\" midrange cone and a 1\\\" tweeter, this Bowers & Wilkins CM10 S2 floorstanding speaker fills a large room with stunning, true-to-life audio. The tweeter-on-top design ensures studio-grade sound is emitted.\", \"brand\": \"Bowers & Wilkins\", \"categories\": [\"Audio\", \"Home Audio\", \"Speakers\", \"Floor Speakers\"], \"hierarchicalCategories\": { \"lvl0\": \"Audio\", \"lvl1\": \"Audio > Home Audio\", \"lvl2\": \"Audio > Home Audio > Speakers\", \"lvl3\": \"Audio > Home Audio > Speakers > Floor Speakers\" }, \"type\": \"Mht floor speakers\", \"price\": 1999.98, \"price_range\": \"500 - 2000\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/8434275_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/8434275/pdp\", \"free_shipping\": false, \"rating\": 5, \"popularity\": 17253, \"objectID\": \"8434275\", \"_highlightResult\": { \"name\": { \"value\": \"Bowers & Wilkins - CM10 S2 Triple 6-1/2" 3-Way Floorstanding Speaker (Each) - Gloss Black\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"description\": { \"value\": \"Featuring triple 6-1/2" bass cones, a 6" midrange cone and a 1" tweeter, this Bowers & Wilkins CM10 S2 floorstanding speaker fills a large room with stunning, true-to-life audio. The tweeter-on-top design ensures studio-grade sound is emitted.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Bowers & Wilkins\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"categories\": [{ \"value\": \"Audio\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Home Audio\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Speakers\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Floor Speakers\", \"matchLevel\": \"none\", \"matchedWords\": [] }] } },\r\n { \"name\": \"Samsung - Chef Collection 34.3 Cu. Ft. 4-Door Flex French Door Refrigerator with Thru-the-Door Ice and Water - Stainless Steel\", \"description\": \"Samsung 34.3 Cu. Ft. Frost-Free 4-Door Flex French Door Refrigerator with Thru-the Door Ice and Water: Take the utmost care of your ingredients, and keep them all organized, with this ultralarge-capacity Chef Collection refrigerator. It features 2 compressors, 3 evaporators and 4 temperature zones, keeping foods at their optimum temperature for freshness and flavor.\", \"brand\": \"Samsung\", \"categories\": [\"Appliances\", \"Refrigerators\", \"All Refrigerators\"], \"hierarchicalCategories\": { \"lvl0\": \"Appliances\", \"lvl1\": \"Appliances > Refrigerators\", \"lvl2\": \"Appliances > Refrigerators > All Refrigerators\" }, \"type\": \"French door refrig\", \"price\": 4999.99, \"price_range\": \"> 2000\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/4039001_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/4039001/pdp\", \"free_shipping\": false, \"rating\": 4, \"popularity\": 17400, \"objectID\": \"4039001\", \"_highlightResult\": { \"name\": { \"value\": \"Samsung - Chef Collection 34.3 Cu. Ft. 4-Door Flex French Door Refrigerator with Thru-the-Door Ice and Water - Stainless Steel\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"description\": { \"value\": \"Samsung 34.3 Cu. Ft. Frost-Free 4-Door Flex French Door Refrigerator with Thru-the Door Ice and Water: Take the utmost care of your ingredients, and keep them all organized, with this ultralarge-capacity Chef Collection refrigerator. It features 2 compressors, 3 evaporators and 4 temperature zones, keeping foods at their optimum temperature for freshness and flavor.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Samsung\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"categories\": [{ \"value\": \"Appliances\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Refrigerators\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"All Refrigerators\", \"matchLevel\": \"none\", \"matchedWords\": [] }] } },\r\n { \"name\": \"Canon - EOS 5D Mark IV DSLR Camera with 24-70mm f/4L IS USM Lens\", \"description\": \"Shoot professional photos and videos with this Canon EOS 5D Mk V 24-70mm lens kit. A huge 30.4-megapixel full-frame sensor delivers outstanding image clarity, and 4K video is possible from this DSLR for powerful films. Ultra-precise autofocus and huge ISO ranges give you the images you want from this Canon EOS 5D Mk V 24-70mm lens kit.\", \"brand\": \"Canon\", \"categories\": [\"Cameras & Camcorders\", \"Digital Cameras\", \"Digital SLR Cameras\", \"DSLR Body & Lens\"], \"hierarchicalCategories\": { \"lvl0\": \"Cameras & Camcorders\", \"lvl1\": \"Cameras & Camcorders > Digital Cameras\", \"lvl2\": \"Cameras & Camcorders > Digital Cameras > Digital SLR Cameras\", \"lvl3\": \"Cameras & Camcorders > Digital Cameras > Digital SLR Cameras > DSLR Body & Lens\" }, \"type\": \"Dslr cameras\", \"price\": 4399.99, \"price_range\": \"> 2000\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/5578528_rb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/5578528/pdp\", \"free_shipping\": true, \"rating\": 4, \"popularity\": 16298, \"objectID\": \"5578528\", \"_highlightResult\": { \"name\": { \"value\": \"Canon - EOS 5D Mark IV DSLR Camera with 24-70mm f/4L IS USM Lens\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"description\": { \"value\": \"Shoot professional photos and videos with this Canon EOS 5D Mk V 24-70mm lens kit. A huge 30.4-megapixel full-frame sensor delivers outstanding image clarity, and 4K video is possible from this DSLR for powerful films. Ultra-precise autofocus and huge ISO ranges give you the images you want from this Canon EOS 5D Mk V 24-70mm lens kit.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Canon\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"categories\": [{ \"value\": \"Cameras & Camcorders\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Digital Cameras\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Digital SLR Cameras\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"DSLR Body & Lens\", \"matchLevel\": \"none\", \"matchedWords\": [] }] } },\r\n { \"name\": \"Apple - 27\\\" iMac with Retina 5K display - Intel Core i7 - 32GB Memory - 2TB Fusion Drive - Silver\", \"description\": \"With 14.7 million pixels, the 27-inch iMac with Retina 5K display is the most powerful iMac ever. It features quad-core Intel® processors, the latest AMD graphics, 2TB Fusion Drive, and great built-in apps. All in the same ultrathin design that's just 5mm at the edge.\", \"brand\": \"Apple\", \"categories\": [\"Computers & Tablets\", \"All Desktops\"], \"hierarchicalCategories\": { \"lvl0\": \"Computers & Tablets\", \"lvl1\": \"Computers & Tablets > All Desktops\" }, \"type\": \"Apple cpu's\", \"price\": 3199.99, \"price_range\": \"> 2000\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/5622404_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/5622404/pdp\", \"free_shipping\": true, \"rating\": 4, \"popularity\": 16050, \"objectID\": \"5622404\", \"_highlightResult\": { \"name\": { \"value\": \"Apple - 27" iMac with Retina 5K display - Intel Core i7 - 32GB Memory - 2TB Fusion Drive - Silver\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"description\": { \"value\": \"With 14.7 million pixels, the 27-inch iMac with Retina 5K display is the most powerful iMac ever. It features quad-core Intel® processors, the latest AMD graphics, 2TB Fusion Drive, and great built-in apps. All in the same ultrathin design that's just 5mm at the edge.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Apple\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"categories\": [{ \"value\": \"Computers & Tablets\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"All Desktops\", \"matchLevel\": \"none\", \"matchedWords\": [] }] } },\r\n { \"name\": \"Amazon - Fire TV Stick with Alexa Voice Remote - Black\", \"description\": \"Enjoy smart access to videos, games and apps with this Amazon Fire TV stick. Its Alexa voice remote lets you deliver hands-free commands when you want to watch television or engage with other applications. With a quad-core processor, 1GB internal memory and 8GB of storage, this portable Amazon Fire TV stick works fast for buffer-free streaming.\", \"brand\": \"Amazon\", \"categories\": [\"TV & Home Theater\", \"Streaming Media Players\"], \"hierarchicalCategories\": { \"lvl0\": \"TV & Home Theater\", \"lvl1\": \"TV & Home Theater > Streaming Media Players\" }, \"type\": \"Streaming media plyr\", \"price\": 39.99, \"price_range\": \"1 - 50\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/5477500_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/5477500/pdp\", \"free_shipping\": false, \"rating\": 4, \"popularity\": 21469, \"objectID\": \"5477500\", \"_highlightResult\": { \"name\": { \"value\": \"Amazon - Fire TV Stick with Alexa Voice Remote - Black\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"description\": { \"value\": \"Enjoy smart access to videos, games and apps with this Amazon Fire TV stick. Its Alexa voice remote lets you deliver hands-free commands when you want to watch television or engage with other applications. With a quad-core processor, 1GB internal memory and 8GB of storage, this portable Amazon Fire TV stick works fast for buffer-free streaming.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Amazon\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"categories\": [{ \"value\": \"TV & Home Theater\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Streaming Media Players\", \"matchLevel\": \"none\", \"matchedWords\": [] }], \"type\": { \"value\": \"Streaming media plyr\", \"matchLevel\": \"none\", \"matchedWords\": [] } } },\r\n { \"name\": \"Alienware - 17.3\\\" Laptop - Intel Core i7 - 16GB Memory - NVIDIA GeForce GTX 1070 - 1TB Hard Drive + 128GB Solid State Drive - Silver\", \"description\": \"Alienware Laptop: Bring video games to life with this 17.3-inch Dell Alienware laptop. It has a powerful quad-core Intel Core i7 processor and 16GB of DDR4 RAM to run modern games quickly, and its 1TB hard drive stores plenty of game and other files. This Dell Alienware laptop has a 2.1 speaker configuration with a subwoofer for a dynamic gaming experience.\", \"brand\": \"Alienware\", \"categories\": [ \"Computers & Tablets\", \"Laptops\" ], \"hierarchicalCategories\": { \"lvl0\": \"Computers & Tablets\", \"lvl1\": \"Computers & Tablets > Laptops\" }, \"type\": \"Gaming laptops\", \"price\": 1999.99, \"price_range\": \"500 - 2000\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/5713010_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/5713010/pdp\", \"free_shipping\": false, \"rating\": 0, \"popularity\": 14033, \"objectID\": \"5713010\", \"_highlightResult\": { \"name\": { \"value\": \"Alienware - 17.3" Laptop - Intel Core i7 - 16GB Memory - NVIDIA GeForce GTX 1070 - 1TB Hard Drive + 128GB Solid State Drive - Silver\", \"matchLevel\": \"full\", \"fullyHighlighted\": false, \"matchedWords\": [ \"alien\" ] }, \"description\": { \"value\": \"Alienware Laptop: Bring video games to life with this 17.3-inch Dell Alienware laptop. It has a powerful quad-core Intel Core i7 processor and 16GB of DDR4 RAM to run modern games quickly, and its 1TB hard drive stores plenty of game and other files. This Dell Alienware laptop has a 2.1 speaker configuration with a subwoofer for a dynamic gaming experience.\", \"matchLevel\": \"full\", \"fullyHighlighted\": false, \"matchedWords\": [ \"alien\" ] }, \"brand\": { \"value\": \"Alienware\", \"matchLevel\": \"full\", \"fullyHighlighted\": false, \"matchedWords\": [ \"alien\" ] }, \"categories\": [ { \"value\": \"Computers & Tablets\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Laptops\", \"matchLevel\": \"none\", \"matchedWords\": [] } ] } },\r\n { \"name\": \"Garmin - fenix 3 Sapphire GPS Watch - Silver\", \"description\": \"This Garmin fenix 3 Sapphire GPS watch comes with a titanium bezel and band, providing style and strength. This watch is waterproof up to 100m, and it comes with state-of-the-art fitness training features such as advanced running dynamics with vertical oscillation and vertical ratio. Track your activity and stay fit with the Garmin fenix 3 Sapphire GPS watch.\", \"brand\": \"Garmin\", \"categories\": [ \"Health, Fitness & Beauty\", \"Fitness & GPS Watches\" ], \"hierarchicalCategories\": { \"lvl0\": \"Health, Fitness & Beauty\", \"lvl1\": \"Health, Fitness & Beauty > Fitness & GPS Watches\" }, \"type\": \"\", \"price\": 649.99, \"price_range\": \"500 - 2000\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/4922801_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/4922801/pdp\", \"free_shipping\": true, \"rating\": 4, \"popularity\": 12115, \"objectID\": \"4922801\", \"_highlightResult\": { \"name\": { \"value\": \"Garmin - fenix 3 Sapphire GPS Watch - Silver\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"description\": { \"value\": \"This Garmin fenix 3 Sapphire GPS watch comes with a titanium bezel and band, providing style and strength. This watch is waterproof up to 100m, and it comes with state-of-the-art fitness training features such as advanced running dynamics with vertical oscillation and vertical ratio. Track your activity and stay fit with the Garmin fenix 3 Sapphire GPS watch.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Garmin\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"categories\": [ { \"value\": \"Health, Fitness & Beauty\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Fitness & GPS Watches\", \"matchLevel\": \"none\", \"matchedWords\": [] } ] } },\r\n { \"name\": \"Garmin - fēnix 5 GPS Heart Rate Monitor Watch - Slate gray\", \"description\": \"Map your adventure with this Garmin Fenix 5 GPS watch. Built-in navigation lets you know where you are when hiking or camping, and integrated Wi-Fi connects to the Garmin Connect to track your fitness level and daily steps. This Garmin Fenix 5 GPS watch is water-resistant up to 100m for use in wet conditions.\", \"brand\": \"Garmin\", \"categories\": [ \"Health, Fitness & Beauty\", \"Fitness & GPS Watches\" ], \"hierarchicalCategories\": { \"lvl0\": \"Health, Fitness & Beauty\", \"lvl1\": \"Health, Fitness & Beauty > Fitness & GPS Watches\" }, \"type\": \"Monitoring devices\", \"price\": 599.99, \"price_range\": \"500 - 2000\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/5714479_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/5714479/pdp\", \"free_shipping\": false, \"rating\": 0, \"popularity\": 12534, \"objectID\": \"5714479\", \"_highlightResult\": { \"name\": { \"value\": \"Garmin - fēnix 5 GPS Heart Rate Monitor Watch - Slate gray\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"description\": { \"value\": \"Map your adventure with this Garmin Fenix 5 GPS watch. Built-in navigation lets you know where you are when hiking or camping, and integrated Wi-Fi connects to the Garmin Connect to track your fitness level and daily steps. This Garmin Fenix 5 GPS watch is water-resistant up to 100m for use in wet conditions.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Garmin\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"categories\": [ { \"value\": \"Health, Fitness & Beauty\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Fitness & GPS Watches\", \"matchLevel\": \"none\", \"matchedWords\": [] } ] } },\r\n { \"name\": \"Sony - 75\\\" Class (74.5\\\" diag) - LED - 2160p - Smart - 3D - 4K Ultra HD TV with High Dynamic Range - Black\", \"description\": \"This Sony 4K HDR TV boasts 4K technology for vibrant hues. Its X940D series features a bold 75-inch screen and slim design. Wires remain hidden, and the unit is easily wall mounted. This television has a 4K Processor X1 and 4K X-Reality PRO for crisp video. This Sony 4K HDR TV is easy to control via voice commands.\", \"brand\": \"Sony\", \"categories\": [ \"TV & Home Theater\", \"TVs\", \"4K Ultra HD TVs\" ], \"hierarchicalCategories\": { \"lvl0\": \"TV & Home Theater\", \"lvl1\": \"TV & Home Theater > TVs\", \"lvl2\": \"TV & Home Theater > TVs > 4K Ultra HD TVs\" }, \"type\": \"Mht 61\\\"-100\\\" tv's\", \"price\": 4499.99, \"price_range\": \"> 2000\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/4803900_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/4803900/pdp\", \"free_shipping\": false, \"rating\": 4, \"popularity\": 20687, \"objectID\": \"4803900\", \"_highlightResult\": { \"name\": { \"value\": \"Sony - 75" Class (74.5" diag) - LED - 2160p - Smart - 3D - 4K Ultra HD TV with High Dynamic Range - Black\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"description\": { \"value\": \"This Sony 4K HDR TV boasts 4K technology for vibrant hues. Its X940D series features a bold 75-inch screen and slim design. Wires remain hidden, and the unit is easily wall mounted. This television has a 4K Processor X1 and 4K X-Reality PRO for crisp video. This Sony 4K HDR TV is easy to control via voice commands.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Sony\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"categories\": [ { \"value\": \"TV & Home Theater\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"TVs\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"4K Ultra HD TVs\", \"matchLevel\": \"none\", \"matchedWords\": [] } ] } },\r\n { \"name\": \"Asus - ROG Desktop - Intel Core i7 - 16GB Memory - Double NVIDIA GeForce GTX1080 - 1TB Hard Drive + 2x512GB Solid State Drive - Gray\", \"description\": \"Place the sleek form of this ASUS desktop computer tower on your desk, and take your gaming to the next level. With Intel Core i7 processing inside, this speedy desktop keeps up with even multilayered action games. Nvidia graphics on this ASUS desktop computer help eliminate ghosting and stutter so you see every move your enemy makes.\", \"brand\": \"Asus\", \"categories\": [ \"Video Games\", \"PC Gaming\", \"Virtual Reality for PC\" ], \"hierarchicalCategories\": { \"lvl0\": \"Video Games\", \"lvl1\": \"Video Games > PC Gaming\", \"lvl2\": \"Video Games > PC Gaming > Virtual Reality for PC\" }, \"type\": \"\", \"price\": 4999.99, \"price_range\": \"> 2000\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/5582501_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/5582501/pdp\", \"free_shipping\": false, \"rating\": 1, \"popularity\": 9684, \"objectID\": \"5582501\", \"_highlightResult\": { \"name\": { \"value\": \"Asus - ROG Desktop - Intel Core i7 - 16GB Memory - Double NVIDIA GeForce GTX1080 - 1TB Hard Drive + 2x512GB Solid State Drive - Gray\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"description\": { \"value\": \"Place the sleek form of this ASUS desktop computer tower on your desk, and take your gaming to the next level. With Intel Core i7 processing inside, this speedy desktop keeps up with even multilayered action games. Nvidia graphics on this ASUS desktop computer help eliminate ghosting and stutter so you see every move your enemy makes.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Asus\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"categories\": [ { \"value\": \"Video Games\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"PC Gaming\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Virtual Reality for PC\", \"matchLevel\": \"none\", \"matchedWords\": [] } ] } },\r\n { \"name\": \"Sony - ZX Series On-Ear Headphones - Black\", \"description\": \"These Sony ZX Series MDRZX110/BLK headphones feature neodymium magnets and 30mm drivers for powerful, reinforced sound. Enjoy your favorite songs with lush bass response thanks to the Acoustic Bass Booster technology.\", \"brand\": \"Sony\", \"categories\": [ \"Audio\", \"Headphones\", \"On-Ear Headphones\" ], \"hierarchicalCategories\": { \"lvl0\": \"Audio\", \"lvl1\": \"Audio > Headphones\", \"lvl2\": \"Audio > Headphones > On-Ear Headphones\" }, \"type\": \"On ear headphones\", \"price\": 19.99, \"price_range\": \"1 - 50\", \"image\": \"https://cdn-demo.algolia.com/bestbuy-0118/8618232_sb.jpg\", \"url\": \"https://api.bestbuy.com/click/-/8618232/pdp\", \"free_shipping\": true, \"rating\": 4, \"popularity\": 21400, \"objectID\": \"8618232\", \"_highlightResult\": { \"name\": { \"value\": \"Sony - ZX Series On-Ear Headphones - Black\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"description\": { \"value\": \"These Sony ZX Series MDRZX110/BLK headphones feature neodymium magnets and 30mm drivers for powerful, reinforced sound. Enjoy your favorite songs with lush bass response thanks to the Acoustic Bass Booster technology.\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"brand\": { \"value\": \"Sony\", \"matchLevel\": \"none\", \"matchedWords\": [] }, \"categories\": [ { \"value\": \"Audio\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"Headphones\", \"matchLevel\": \"none\", \"matchedWords\": [] }, { \"value\": \"On-Ear Headphones\", \"matchLevel\": \"none\", \"matchedWords\": [] } ], \"type\": { \"value\": \"On ear headphones\", \"matchLevel\": \"none\", \"matchedWords\": [] } } }\r\n ]\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleEcommerceMutations.js\r\n Description: Ecommerce Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n TOGGLE_ITEM_IN_WISH_LIST(state, item) {\r\n const index = state.wishList.findIndex(i => i.objectID == item.objectID)\r\n if (index < 0) {\r\n state.wishList.push(item)\r\n } else {\r\n state.wishList.splice(index, 1)\r\n }\r\n },\r\n TOGGLE_ITEM_IN_CART(state, item) {\r\n const index = state.cartItems.findIndex(i => i.objectID == item.objectID)\r\n if (index < 0) {\r\n state.cartItems.push(item)\r\n } else {\r\n state.cartItems.splice(index, 1)\r\n }\r\n },\r\n ADD_ITEM_IN_CART(state, item) {\r\n state.cartItems.push(item)\r\n },\r\n UPDATE_ITEM_QUANTITY(state, payload) {\r\n state.cartItems[payload.index].quantity = payload.quantity\r\n }\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleEcommerceActions.js\r\n Description: Ecommerce Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n toggleItemInWishList({ commit }, item) {\r\n commit('TOGGLE_ITEM_IN_WISH_LIST', item)\r\n },\r\n toggleItemInCart({ commit }, item) {\r\n commit('TOGGLE_ITEM_IN_CART', item)\r\n },\r\n additemInCart({ commit }, item) {\r\n item[\"quantity\"] = 1\r\n item[\"discount_in_percentage\"] = Math.floor(Math.random() * 20) + 4\r\n item[\"offers_count\"] = Math.floor(Math.random() * 4) + 1\r\n item[\"delivery_date\"] = new Date(new Date().getTime() + (Math.random()*10*24*60*60*1000)).toDateString().slice(0, -4)\r\n commit('ADD_ITEM_IN_CART', item)\r\n },\r\n updateItemQuantity({ commit }, payload){\r\n commit('UPDATE_ITEM_QUANTITY', payload)\r\n }\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleEcommerceGetters.js\r\n Description: Ecommerce Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nexport default {\r\n isInCart: state => itemId => {\r\n return state.cartItems.some((item) => item.objectID == itemId )\r\n },\r\n isInWishList: state => itemId => {\r\n return state.wishList.some((item) => item.objectID == itemId )\r\n }\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleecommerce.js\r\n Description: ecommerce Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './moduleECommerceState.js'\r\nimport mutations from './moduleECommerceMutations.js'\r\nimport actions from './moduleECommerceActions.js'\r\nimport getters from './moduleECommerceGetters.js'\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state: state,\r\n mutations: mutations,\r\n actions: actions,\r\n getters: getters\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleNotificationState.js\r\n Description: Notification Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n notifications: [],\r\n notification: {},\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleNotificationMutations.js\r\n Description: Notification Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_NOTIFICATIONS( state, notifications ){\r\n state.notifications = notifications;\r\n },\r\n\r\n SET_NOTIFICATION( state, notification ){\r\n state.notification = notification;\r\n },\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleNotificationActions.js\r\n Description: Notification Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport Cookies from 'js-cookie';\r\nimport firebase from 'firebase/app';\r\nimport 'firebase/firestore';\r\nimport 'firebase/auth';\r\n// import fb from 'firebase'; // to get timestamp\r\n\r\nconst user = Cookies.get('userInfo') ? JSON.parse(Cookies.get('userInfo')) : null;\r\n\r\nexport default {\r\n getAllNotifications( {commit} ) { \r\n firebase.firestore().collection('serviroutes_notifications')\r\n .where('uid', '==', user.uid)\r\n .orderBy('time', 'desc')\r\n .onSnapshot( document => {\r\n let notifications = [];\r\n \r\n document.docs.forEach( doc => {\r\n notifications.push( { ...doc.data(), id: doc.id } );\r\n });\r\n\r\n commit( 'SET_NOTIFICATIONS', notifications );\r\n });\r\n },\r\n\r\n getNotification( {commit}, id ) {\r\n return firebase.firestore().collection('serviroutes_notifications')\r\n .doc(id)\r\n .get()\r\n .then(res => {\r\n commit( 'SET_NOTIFICATION', res.data() );\r\n return res.data();\r\n\r\n })\r\n .catch(err => {\r\n console.log(err.message);\r\n\r\n return null;\r\n });\r\n },\r\n\r\n changeNotificationsToReaded( {dispatch} ) {\r\n firebase.firestore().collection('serviroutes_notifications')\r\n .where('uid', '==', user.uid)\r\n .where('unread', '==', true)\r\n .get()\r\n .then(res => {\r\n res.forEach( ntf => {\r\n ntf.ref.update({\r\n unread: false,\r\n });\r\n });\r\n\r\n dispatch('getAllNotifications');\r\n\r\n })\r\n .catch(err => {\r\n console.log(err.message);\r\n });\r\n },\r\n\r\n deleteAllNotifications( {commit} ) {\r\n firebase.firestore().collection('serviroutes_notifications')\r\n .where('uid', '==', user.uid)\r\n .get()\r\n .then( res => {\r\n res.forEach( ntf => {\r\n ntf.ref.delete();\r\n });\r\n\r\n commit( 'SET_NOTIFICATIONS', [] );\r\n })\r\n .catch(err => {\r\n console.log(err.message);\r\n });\r\n },\r\n\r\n setNotification( {dispatch}, notification ){\r\n const date = new Date();\r\n const payload = {\r\n ...notification,\r\n unread : true,\r\n uid : user.uid,\r\n // time : fb.database.ServerValue.TIMESTAMP, // Get firebase time\r\n time : new Date( date.valueOf() + date.getTimezoneOffset() * 60000 ).getTime(),\r\n }\r\n\r\n firebase.firestore().collection('serviroutes_notifications')\r\n .doc()\r\n .set(payload)\r\n .then(() => {\r\n dispatch( 'getAllNotifications' );\r\n })\r\n .catch( err => {\r\n console.log(err.message);\r\n });\r\n\r\n },\r\n\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleNotificationGetters.js\r\n Description: Notification Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n notifications( state ) {\r\n return state.notifications;\r\n },\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleNotification.js\r\n Description: Notification Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './moduleNotificationState.js';\r\nimport mutations from './moduleNotificationMutations.js';\r\nimport actions from './moduleNotificationActions.js';\r\nimport getters from './moduleNotificationGetters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleCustomersState.js\r\n Description: Customers Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n\r\n customerServiceLines: []\r\n\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleCustomersMutations.js\r\n Description: Customers Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_CUSTOMER_SERVICE_LINES( state, lines ) {\r\n state.customerServiceLines = lines;\r\n },\r\n \r\n}\r\n","/*=========================================================================================\r\n File Name: moduleCustomersActions.js\r\n Description: Customers Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport http from '../../http/http-client.js';\r\n\r\nexport default {\r\n\r\n getAllCustomers() {\r\n console.log('hla');\r\n },\r\n\r\n deleteCustomerSupportLine( {dispatch}, lineId ) {\r\n return http.delete( `api/callcenter/${lineId}` )\r\n .then( res => {\r\n if( res ) {\r\n dispatch( 'getAllCustomerSupportLines' );\r\n }\r\n\r\n return res;\r\n });\r\n },\r\n\r\n getAllCustomerSupportLines( {commit} ) {\r\n return http.get( 'api/callcenter' )\r\n .then( res => {\r\n if( res ) {\r\n commit( 'SET_CUSTOMER_SERVICE_LINES', res.data);\r\n }\r\n return res;\r\n });\r\n },\r\n\r\n createCustomerSupportLine( {dispatch}, line ) {\r\n return http.post( 'api/callcenter', line )\r\n .then( res => {\r\n if( res ) {\r\n dispatch( 'getAllCustomerSupportLines' );\r\n }\r\n\r\n return res;\r\n });\r\n },\r\n\r\n updateCustomerSupportLine( {dispatch}, line ) {\r\n return http.put( `api/callcenter/${line.id}`, line )\r\n .then( res => {\r\n if( res ) {\r\n dispatch( 'getAllCustomerSupportLines' );\r\n }\r\n\r\n return res;\r\n });\r\n },\r\n\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleCustomersGetters.js\r\n Description: Customers Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n \r\n}\r\n","/*=========================================================================================\r\n File Name: moduleCustomers.js\r\n Description: Customers Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './moduleCustomersState.js';\r\nimport mutations from './moduleCustomersMutations.js';\r\nimport actions from './moduleCustomersActions.js';\r\nimport getters from './moduleCustomersGetters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleInventoriesState.js\r\n Description: Inventories Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n indicators : [],\r\n questionReports : [],\r\n shopsReports : [],\r\n dateRanges : [\r\n { id: 1, value : 1, name : 'Hoy' },\r\n { id: 2, value : 2, name : 'Desde ayer' },\r\n { id: 3, value : 7, name : 'Hace 7 días' },\r\n { id: 4, value : 15, name : 'Hace 15 días' },\r\n { id: 5, value : 30, name : 'Hace un mes' },\r\n { id: 6, value : 60, name : 'Hace dos meses' },\r\n ],\r\n rangeDateSelected : 5,\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleIndicatorsMutations.js\r\n Description: Indicators Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_INDICATORS( state, indicators ) {\r\n state.indicators = indicators;\r\n },\r\n\r\n SET_QUESION_REPORTS( state, reports ) {\r\n state[\"questionReports\"] = reports;\r\n },\r\n\r\n SET_SHOPS_REPORTS( state, reports ) {\r\n state[\"shopsReports\"] = reports;\r\n },\r\n\r\n SET_RANGE_DATE_SELECTED( state, rangeDateSelected ) {\r\n state.rangeDateSelected = rangeDateSelected;\r\n },\r\n \r\n}\r\n","/*=========================================================================================\r\n File Name: moduleIndicatorsActions.js\r\n Description: Indicators Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport http from '../../http/http-client.js'\r\n\r\nexport default {\r\n\r\n getAllIndicators( {commit} ) {\r\n return http.get( 'api/indicators' )\r\n .then( res => {\r\n if( res ) commit( 'SET_INDICATORS', res.data );\r\n return res;\r\n });\r\n },\r\n\r\n getQuestionReports( { state, commit } ) {\r\n const range = state.dateRanges.find( range => range.id === state.rangeDateSelected );\r\n const value = range.value;\r\n\r\n return http.post( 'api/questionReports' , {\r\n option : \"FEEDBACK\",\r\n days : value,\r\n \r\n } )\r\n .then( res => {\r\n if( res ) commit( 'SET_QUESION_REPORTS', res.data );\r\n return res;\r\n });\r\n },\r\n\r\n getShopsReports( { state, commit } ) {\r\n const range = state.dateRanges.find( range => range.id === state.rangeDateSelected );\r\n const value = range.value;\r\n\r\n return http.post( 'api/questionReports' , {\r\n option : \"SHOPS\",\r\n days : value,\r\n \r\n } )\r\n .then( res => {\r\n if( res ) commit( 'SET_SHOPS_REPORTS', res.data );\r\n return res;\r\n });\r\n },\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleIndicatorsGetters.js\r\n Description: Indicators Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n \r\n}\r\n","/*=========================================================================================\r\n File Name: moduleIndicators.js\r\n Description: Indicators Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './moduleIndicatorsState.js';\r\nimport mutations from './moduleIndicatorsMutations.js';\r\nimport actions from './moduleIndicatorsActions.js';\r\nimport getters from './moduleIndicatorsGetters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleRolesPermissionsState.js\r\n Description: Roles & Permissions Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n roles : [],\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleRolesPermissionsMutations.js\r\n Description: Roles & Permissions Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_ROLES( state, roles ) {\r\n state.roles = roles;\r\n }\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleRolesPermissionsActions.js\r\n Description: Roles & Permissions Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport http from '../../http/http-client.js'\r\n\r\nexport default {\r\n getAllRoles( {commit} ) {\r\n return http.get( 'api/roles' )\r\n .then( res => {\r\n if( res ) commit( 'SET_ROLES', res.data );\r\n return res;\r\n })\r\n },\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleRolesPermissionsGetters.js\r\n Description: Roles & Permissions Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleRolesPermissions.js\r\n Description: Roles & Permissions Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './moduleRolesPermissionsState.js';\r\nimport mutations from './moduleRolesPermissionsMutations.js';\r\nimport actions from './moduleRolesPermissionsActions.js';\r\nimport getters from './moduleRolesPermissionsGetters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n Description: Stores Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n stores : [],\r\n store : {\r\n name : '',\r\n code : '',\r\n address : '',\r\n city : '',\r\n influence : null,\r\n cx : -58.1843,\r\n cy : -15.6248,\r\n coords : '-15.6248,-58.1843',\r\n delivery_price : null,\r\n phone : '',\r\n list_type_shops : [],\r\n city_dane : '',\r\n minimum_purchase : null,\r\n },\r\n categories : [],\r\n}\r\n","/*=========================================================================================\r\n Description: Stores Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_STORES( state, stores ){\r\n state.stores = stores;\r\n },\r\n\r\n SET_STORE( state, store ){\r\n state.store = store;\r\n },\r\n\r\n SET_STORE_CATEGORIES( state, cats ) {\r\n state.categories = cats;\r\n },\r\n\r\n CLEAR_STORE_DATA( state ) {\r\n state.store = {\r\n name : '',\r\n code : '',\r\n address : '',\r\n city : '',\r\n influence : null,\r\n cx : -58.1843,\r\n cy : -15.6248,\r\n coords : '-15.6248,-58.1843',\r\n delivery_price : 0,\r\n phone : '',\r\n type_shops_id : 1,\r\n city_dane : '',\r\n minimum_purchase : null,\r\n };\r\n },\r\n\r\n}\r\n","/*=========================================================================================\r\n Description: Stores Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport http from '@/http/http-client.js';\r\n\r\nimport Cookies from 'js-cookie';\r\nimport firebase from 'firebase/app';\r\nimport 'firebase/storage';\r\n\r\nconst user = Cookies.get('userInfo') ? JSON.parse( Cookies.get('userInfo') ) : null;\r\n\r\nexport default {\r\n getAllStores( {commit} ) {\r\n return http.get( 'api/shops' )\r\n .then( res => {\r\n if( res ) commit( 'SET_STORES', res.data );\r\n return res;\r\n });\r\n },\r\n\r\n getStoreByCode() {\r\n // commit( 'SET_STORE', {} );\r\n return false;\r\n },\r\n\r\n createStore( {dispatch, commit}, payload ) {\r\n return http.post( 'api/shops', payload )\r\n .then( res => {\r\n if( res ){\r\n dispatch( 'getAllStores' );\r\n commit('CLEAR_STORE_DATA');\r\n }\r\n return res;\r\n });\r\n },\r\n\r\n uploadStore( {dispatch, commit}, store ) {\r\n return http.put( `api/shops/${store.id}`, store )\r\n .then( res => {\r\n if( res ) {\r\n commit('CLEAR_STORE_DATA');\r\n dispatch( 'getAllStores' );\r\n }\r\n return res;\r\n })\r\n },\r\n\r\n deleteStore( {dispatch}, id ) {\r\n return http.delete( `api/shops/${id}` )\r\n .then( res => {\r\n if( res ) {\r\n dispatch( 'getAllStores' );\r\n } \r\n return null;\r\n });\r\n },\r\n\r\n filterStores( {commit}, payload ) {\r\n return http.post( 'api/shopsFilter', payload )\r\n .then( res => {\r\n if( res ) {\r\n commit( 'SET_STORES', res.data );\r\n }\r\n\r\n return res;\r\n });\r\n },\r\n\r\n getAllStoreCategories( {commit} ) {\r\n return http.get( 'api/shopsType' )\r\n .then( res => {\r\n if( res ) commit( 'SET_STORE_CATEGORIES', res.data );\r\n return res;\r\n });\r\n },\r\n\r\n getStoreById( {commit}, id ) {\r\n return http.get( `api/shops/${id}` )\r\n .then( res => {\r\n if( res ) commit( 'SET_STORE', res.data[0] );\r\n return res;\r\n });\r\n },\r\n\r\n loadMassiveStores( {dispatch}, files ) {\r\n files.forEach( file => {\r\n const filename = file.file.name;\r\n const ext = filename.substr( filename.lastIndexOf('.') + 1 );\r\n const currTimestamp = new Date().getTime();\r\n const route = `SAKURA/files/shops/app_${user.company.app_id}/${currTimestamp}.${ext}`;\r\n const storageRef = firebase.storage().ref();\r\n const fileRef = storageRef.child( route );\r\n\r\n let task = fileRef.put( file.file );\r\n\r\n task.on( 'state_changed', (snapshot) => {\r\n let percentage = ( snapshot.bytesTransferred / snapshot.totalBytes ) * 100;\r\n file.progress = percentage;\r\n });\r\n\r\n task.then( snapshot => {\r\n snapshot.ref.getDownloadURL().then( () => {\r\n const data = {\r\n bucket_path : route,\r\n original_name : filename,\r\n };\r\n\r\n dispatch( 'setStoreFileToService', data);\r\n });\r\n });\r\n\r\n task.catch( (err) => {\r\n console.log(err);\r\n file.error = `Ocurrió un error al cargar el archivo ${filename}: ${err.message}`;\r\n });\r\n\r\n });\r\n },\r\n\r\n setStoreFileToService( _, data ) {\r\n return http.post( 'api/uploadShopsUrl', data )\r\n .then( res => res );\r\n },\r\n\r\n uploadZones( _, data ) {\r\n return http.post( 'api/zone', data ).then( res => res );\r\n },\r\n\r\n}\r\n","/*=========================================================================================\r\n Description: Stores Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n stores( state ) {\r\n return state.stores;\r\n },\r\n\r\n store( state ) {\r\n return state.store;\r\n },\r\n}\r\n","/*=========================================================================================\r\n Description: Stores Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './state.js';\r\nimport mutations from './mutations.js';\r\nimport actions from './actions.js';\r\nimport getters from './getters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n Description: Applications Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n apps : [\r\n { id: 24, name: 'FARMATODO' },\r\n { id: 25, name: 'LA REBAJA' },\r\n { id: 26, name: 'FARMACITY' },\r\n { id: 27, name: 'FARMACIA MARIA RIOS' },\r\n { id: 28, name: 'Revofit' },\r\n { id: 29, name: 'Pharma2.0' },\r\n { id: 30, name: 'LOCATEL_PRUEBAS' },\r\n ],\r\n app : {\r\n name : '',\r\n description : '',\r\n email : '',\r\n url : '',\r\n url_image : '',\r\n companies_id : 16,\r\n payment_method : [],\r\n },\r\n states : [],\r\n payment_methods : [\"RUNWAY\",\"CASH\"],\r\n}\r\n","/*=========================================================================================\r\n Description: Applications Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_APPS( state, apps ) {\r\n state.apps = apps;\r\n },\r\n SET_APP( state, app ) {\r\n state.app = app;\r\n },\r\n SET_APP_INDEX( state, obj ) {\r\n state.app[obj.index] = obj;\r\n },\r\n SET_DEFAULT_IMAGE_URL( state, url ) {\r\n state.default_image_url = url;\r\n },\r\n SET_APP_IMAGE_URL( state, url ) {\r\n state.app = {\r\n ...state.app,\r\n url_image : url,\r\n }\r\n },\r\n SET_STATES( state, states ) {\r\n state.states = states;\r\n },\r\n CLEAR_APP_DATA( state ) {\r\n state.app = {\r\n name : '',\r\n description : '',\r\n email : '',\r\n url : '',\r\n url_image : '',\r\n companies_id : 16,\r\n }\r\n }\r\n}\r\n","/*=========================================================================================\r\n Description: Applications Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport firebase from 'firebase/app';\r\nimport 'firebase/storage';\r\n\r\nimport http from '../../http/http-client.js'\r\n\r\nexport default {\r\n getAllApplications( {commit} ) {\r\n return http.get('api/applications')\r\n .then( res => {\r\n if( res ) commit( 'SET_APPS', res.data );\r\n return res;\r\n });\r\n },\r\n\r\n getApplication( {commit}, app_id ) {\r\n return http.get( `api/applications/${app_id}` )\r\n .then( res => {\r\n if( res ) commit( 'SET_APP', res.data[0] );\r\n return res;\r\n });\r\n },\r\n\r\n getDefaultImage( {commit} ) {\r\n const storage = firebase.storage();\r\n let ref = storage.ref('images/allies/build-default.png');\r\n\r\n return ref.getDownloadURL()\r\n .then( url => {\r\n commit( 'SET_DEFAULT_IMAGE_URL', url );\r\n commit( 'SET_APP_IMAGE_URL', url );\r\n return url;\r\n })\r\n .catch( err => {\r\n console.log(`An error ocurred trying get the default product Image ${err.message}`);\r\n return null;\r\n });\r\n },\r\n\r\n uploadAlliedImage( {commit}, file ) {\r\n const storage = firebase.storage();\r\n const filename = file.file.name;\r\n const ext = filename.substr(filename.lastIndexOf('.') + 1);\r\n const currTimestamp = new Date().getTime();\r\n\r\n let ref = storage.ref(`images/allies/${currTimestamp}.${ext}`);\r\n return new Promise( ( resolve, reject ) => {\r\n let task = ref.put( file.file )\r\n\r\n task.on( 'state_changed', (snapshot) => {\r\n let percentage = (snapshot.bytesTransferred/snapshot.totalBytes)*100;\r\n file.progress = percentage;\r\n });\r\n\r\n task.then( snapshot => {\r\n snapshot.ref.getDownloadURL().then( (link) => {\r\n resolve(link);\r\n commit( 'SET_APP_IMAGE_URL', link );\r\n });\r\n });\r\n\r\n task.catch( (err) => {\r\n // referenciar y mostrar en consola error de archivo\r\n console.log(err);\r\n file.error = 'Ocurrió un error al guardar el archivo. Intente de nuevo más tarde';\r\n reject(err);\r\n });\r\n });\r\n\r\n },\r\n\r\n saveAllied( {dispatch, commit}, payload ) {\r\n if( payload.id ) {\r\n return http.put(`api/applications/${payload.id}`, payload )\r\n .then( res => {\r\n if( res ) {\r\n dispatch( 'getAllApplications' );\r\n commit('CLEAR_APP_DATA');\r\n }\r\n return res;\r\n });\r\n\r\n } else {\r\n return http.post('api/applications', payload )\r\n .then( res => {\r\n if( res ) {\r\n dispatch( 'getAllApplications' );\r\n commit('CLEAR_APP_DATA');\r\n }\r\n return res;\r\n });\r\n\r\n }\r\n },\r\n\r\n deleteApplication( {dispatch}, app_id ) {\r\n return http.delete( `api/applications/${app_id}` )\r\n .then( res => {\r\n if( res ) dispatch( 'getAllApplications' );\r\n return res;\r\n });\r\n },\r\n\r\n getAllStates( {commit} ) {\r\n return http.get('api/status')\r\n .then( res => {\r\n if( res ) commit('SET_STATES', res.data);\r\n return res;\r\n });\r\n }\r\n}\r\n","/*=========================================================================================\r\n Description: Applications Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n}\r\n","/*=========================================================================================\r\n Description: Applications Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport state from './state.js';\r\nimport mutations from './mutations.js';\r\nimport actions from './actions.js';\r\nimport getters from './getters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n Description: Doctors Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n doctors : [],\r\n query : '',\r\n doctorsWithSchedule : [],\r\n doctorsWithoutSchedule : [],\r\n doctor : {\r\n type_event : [],\r\n },\r\n appointment : {\r\n name : '',\r\n durartion : 30, // mins\r\n price : 80000, // COP\r\n id_doctor : null,\r\n },\r\n appointmentTypes : [],\r\n}\r\n","/*=========================================================================================\r\n Description: Doctors Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_DOCTORS( state, doctors ) {\r\n state['doctors'] = doctors;\r\n },\r\n SET_DOCTOR( state, doctor ) {\r\n state['doctor'] = {\r\n ...state['doctor'],\r\n ...doctor,\r\n };\r\n },\r\n SET_QUERY( state, query ) {\r\n state['query'] = query;\r\n },\r\n SET_DOCTORS_WITH_SCHEDULE( state, doctors ) {\r\n state['doctorsWithSchedule'] = doctors;\r\n },\r\n SET_DOCTORS_WITHOUT_SCHEDULE( state, doctors ) {\r\n state['doctorsWithoutSchedule'] = doctors;\r\n },\r\n SET_APPOINTMENT_TYPES( state, apTypes ) {\r\n state['appointmentTypes'] = apTypes;\r\n },\r\n SET_APPOINTMENT( state, ap ) { state['appointment'] = ap; },\r\n CLEAR_APPOINTMENT( state ) {\r\n state['appointment'] = {\r\n name : '',\r\n durartion : 30, // mins\r\n price : 80000, // COP\r\n id_doctor : null,\r\n }\r\n },\r\n}\r\n","/*=========================================================================================\r\n Description: Doctors Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport sitiHttp from '../../http/siti-http-client';\r\n\r\nexport default {\r\n async getAllDoctors( {commit} ) {\r\n const payload = {\r\n quantity : 100,\r\n num_page : 1,\r\n cx : -74.072092,\r\n cy : 4.6482837,\r\n };\r\n\r\n const res = await sitiHttp.post( 'api/v1/filters/doctors', payload );\r\n if( res ) commit( 'SET_DOCTORS', res.data.doctors );\r\n return res;\r\n },\r\n\r\n async searchDoctorsWithSchedule( {commit}, name ) {\r\n const payload = {\r\n name_medical : name,\r\n schedule : 1,\r\n quantity : 10,\r\n num_page : 1,\r\n }\r\n\r\n const res = await sitiHttp.post( 'api/v1/filterMedical', payload );\r\n if( res ) {\r\n if( res.data[0] ) commit('SET_DOCTORS_WITH_SCHEDULE', res.data[0].list_doctors );\r\n }\r\n return res;\r\n },\r\n\r\n async searchDoctorsWithoutSchedule( {commit}, name ) {\r\n const payload = {\r\n name_medical : name,\r\n schedule : 2,\r\n quantity : 10,\r\n num_page : 1,\r\n }\r\n\r\n const res = await sitiHttp.post( 'api/v1/filterMedical', payload );\r\n if( res ) {\r\n if( res.data[0] ) commit('SET_DOCTORS_WITHOUT_SCHEDULE', res.data[0].list_doctors );\r\n }\r\n return res;\r\n },\r\n\r\n async getDoctor( {commit}, id ) {\r\n const res = await sitiHttp.get( `api/v1/UserPerfil/${id}` );\r\n if( res ) commit( 'SET_DOCTOR', res.data );\r\n return res;\r\n },\r\n\r\n async createEvent( _, event ) {\r\n const res = await sitiHttp.post( 'api/v1/scheduling', event );\r\n return res\r\n },\r\n\r\n async getAppointmentTypes( {commit}, doctor_id ) {\r\n const res = await sitiHttp.get( `api/v1/TypeAppointment/${doctor_id}` );\r\n if( res ) commit( 'SET_APPOINTMENT_TYPES', res.data );\r\n return res;\r\n },\r\n\r\n async cancelDoctorEvent( _, payload ) {\r\n const res = await sitiHttp.put( 'api/v1/events/scheduler/cancel', payload );\r\n return res;\r\n },\r\n\r\n async deleteMassiveScheduler( _, payload ) {\r\n const res = await sitiHttp.post('api/v1/scheduler/delete/massive', payload);\r\n return res;\r\n },\r\n\r\n async saveAppointment( {commit, dispatch}, payload ) {\r\n const res = await sitiHttp.post( 'api/v1/TypeAppointment', payload );\r\n if( res ) {\r\n dispatch('getDoctor', payload.id_doctor);\r\n commit('CLEAR_APPOINTMENT');\r\n }\r\n return res;\r\n },\r\n\r\n async updateAppointment( _, payload ) {\r\n const res = await sitiHttp.put( `api/v1/TypeAppointment/${ payload.id }`, payload );\r\n return res;\r\n },\r\n\r\n async deleteAppointment( {dispatch}, payload ) {\r\n const res = await sitiHttp.delete( `api/v1/TypeAppointment/${ payload.id }` );\r\n if( res ) dispatch('getDoctor', payload.id_doctor);\r\n return res;\r\n },\r\n \r\n}\r\n","/*=========================================================================================\r\n Description: Doctors Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n}\r\n","/*=========================================================================================\r\n Description: Doctors Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport state from './state.js';\r\nimport mutations from './mutations.js';\r\nimport actions from './actions.js';\r\nimport getters from './getters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n Description: Firebase Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n}\r\n","/*=========================================================================================\r\n Description: Firebase Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nexport default {\r\n}\r\n","/*=========================================================================================\r\n Description: Firebase Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport Cookies from \"js-cookie\";\r\nimport firebase from \"firebase/app\";\r\nimport \"firebase/storage\";\r\n\r\nconst userInfo = Cookies.get('userInfo') ? JSON.parse( Cookies.get('userInfo') ) : null;\r\n\r\nexport default {\r\n uploadFilesToStorage( {dispatch}, files=[] ) {\r\n files.forEach( file => {\r\n const destination = file.destination ? file.destination : `files/zones/app_${userInfo.company.app_id}`\r\n const filename = file.file.name;\r\n const ext = filename.substr(filename.lastIndexOf('.') + 1);\r\n\r\n const currentTs = new Date().getTime();\r\n const route = `${ destination }/${currentTs}.${ext}`;\r\n const storageRef = firebase.storage().ref();\r\n const fileRef = storageRef.child(route);\r\n\r\n let task = fileRef.put(file.file);\r\n\r\n task.on( 'state_changed', (snapshot) => {\r\n let percentage = (snapshot.bytesTransferred/snapshot.totalBytes)*100;\r\n file.progress = percentage;\r\n });\r\n\r\n task.then( snapshot => {\r\n \r\n snapshot.ref.getDownloadURL().then( (link) => {\r\n const data = {\r\n firebase_url : link,\r\n bucket_path : `gs://${snapshot.ref.bucket}/${route}`,\r\n original_file : filename,\r\n extension : ext,\r\n };\r\n dispatch( file.action, data, { root: true } );\r\n });\r\n\r\n });\r\n\r\n task.catch( (err) => {\r\n console.log(err);\r\n file.error = `${err.message}. Intente de nuevo más tarde`;\r\n });\r\n\r\n });\r\n },\r\n\r\n uploadImage( _, image ) {\r\n const file = image.file;\r\n // obtener nombre y extension de archivo\r\n const filename = file.name;\r\n const ext = filename.substr(filename.lastIndexOf('.') + 1);\r\n // crear nombre basado en linea temporal referencia de firestorage\r\n const currentTimestamp = new Date().getTime();\r\n const route = `images/app_${ userInfo.company.app_id }/${currentTimestamp}.${ext}`;\r\n const storageRef = firebase.storage().ref();\r\n const fileRef = storageRef.child(route);\r\n // tarea de archivo\r\n return new Promise( ( resolve, reject ) => {\r\n let task = fileRef.put(file);\r\n // obtener progreso de subida de archivo\r\n task.on( 'state_changed', (snapshot) => {\r\n let percentage = (snapshot.bytesTransferred/snapshot.totalBytes)*100;\r\n image.progress = percentage;\r\n });\r\n // archivo subido correctamente\r\n task.then( snapshot => {\r\n // obtener enlace de descarga\r\n snapshot.ref.getDownloadURL().then( (link) => {\r\n resolve(link)\r\n });\r\n\r\n });\r\n // error al subir el archivo\r\n task.catch( (err) => {\r\n // referenciar y mostrar en consola error de archivo\r\n console.log(err);\r\n image.error = 'Ocurrió un error al guardar el archivo. Intente de nuevo más tarde';\r\n reject( null );\r\n });\r\n });\r\n },\r\n\r\n uploadDocument( _, document ) {\r\n const file = document.file;\r\n // obtener nombre y extension de archivo\r\n const filename = file.name;\r\n const ext = filename.substr(filename.lastIndexOf('.') + 1);\r\n // crear nombre basado en linea temporal referencia de firestorage\r\n const currentTimestamp = new Date().getTime();\r\n const route = `documents/app_${ userInfo.company.app_id }/${currentTimestamp}.${ext}`;\r\n const storageRef = firebase.storage().ref();\r\n const fileRef = storageRef.child(route);\r\n // tarea de archivo\r\n return new Promise( ( resolve, reject ) => {\r\n let task = fileRef.put(file);\r\n // obtener progreso de subida de archivo\r\n task.on( 'state_changed', (snapshot) => {\r\n let percentage = (snapshot.bytesTransferred/snapshot.totalBytes)*100;\r\n document.progress = percentage;\r\n });\r\n // archivo subido correctamente\r\n task.then( snapshot => {\r\n // return file path\r\n resolve(snapshot.ref.fullPath);\r\n\r\n });\r\n // error al subir el archivo\r\n task.catch( (err) => {\r\n // referenciar y mostrar en consola error de archivo\r\n console.log(err);\r\n document.error = 'Ocurrió un error al guardar el archivo. Intente de nuevo más tarde';\r\n reject( null );\r\n });\r\n });\r\n },\r\n}\r\n","/*=========================================================================================\r\n Description: Firebase Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nexport default {\r\n}\r\n","/*=========================================================================================\r\n Description: Firebase Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './state.js'\r\nimport mutations from './mutations.js'\r\nimport actions from './actions.js'\r\nimport getters from './getters.js'\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleProductState.js\r\n Description: Product Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n products : [],\r\n leads : [],\r\n fileList : [],\r\n product : {\r\n title : '',\r\n applications_id : 0,\r\n category_id : 0,\r\n summary : '',\r\n state : 1,\r\n content : '',\r\n med_form : 1,\r\n sku : '',\r\n image_url : '',\r\n status_id : 1,\r\n type_product : 1,\r\n email_list : \"\",\r\n email_list_arr : [],\r\n },\r\n defaultImageUrl : '',\r\n lead : {\r\n city : '',\r\n closing_date : null,\r\n code : '',\r\n contact_date : null,\r\n contract_price : null,\r\n email : '',\r\n full_name : '',\r\n id : 0,\r\n identification : '',\r\n phone : '',\r\n send_date : '',\r\n state : null,\r\n status : 0,\r\n user_id : 0,\r\n }\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleProductMutations.js\r\n Description: Product Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_PRODUCTS( state, products ){\r\n state.products = products;\r\n },\r\n\r\n SET_PRODUCT( state, product ) {\r\n state.product = product;\r\n },\r\n\r\n SET_FILES( state, files ) {\r\n state.fileList = files;\r\n },\r\n\r\n SET_FILE_PROGRESS( state, file ) {\r\n state.fileList[file.index].progress = file.progress;\r\n state.fileList[file.index].loadError = file.loadError ? file.loadError : '';\r\n },\r\n\r\n REMOVE_FILE( state, index ) {\r\n state.fileList.splice( index, 1 );\r\n },\r\n\r\n SET_DEFAULT_IMAGE_URL( state, url ) {\r\n state.defaultImageUrl = url;\r\n },\r\n\r\n CLEAR_PRODUCT_DATA( state ) {\r\n state.product = {\r\n title : '',\r\n applications_id : 0,\r\n category_id : 0,\r\n summary : '',\r\n state : 1,\r\n content : '',\r\n med_form : 1,\r\n sku : '',\r\n image_url : '',\r\n status_id : 1,\r\n type_product : 1,\r\n email_list : \"\",\r\n email_list_arr : [],\r\n };\r\n },\r\n\r\n SET_LEADS( state, leads ) { state.leads = leads; },\r\n\r\n SET_LEAD( state, lead ) { state.lead = lead; },\r\n\r\n CLEAR_LEAD_DATA( state ) {\r\n state.lead = {\r\n city : '',\r\n closing_date : null,\r\n code : '',\r\n contact_date : null,\r\n contract_price : null,\r\n email : '',\r\n full_name : '',\r\n id : 0,\r\n identification : '',\r\n phone : '',\r\n send_date : '',\r\n state : null,\r\n status : 0,\r\n user_id : 0,\r\n }\r\n },\r\n\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleProductActions.js\r\n Description: Product Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport Cookies from 'js-cookie';\r\nimport axios from 'axios';\r\nimport firebase from 'firebase/app';\r\nimport 'firebase/storage';\r\n\r\nimport http from '../../http/http-client.js';\r\nconst baseUrl = process.env.VUE_APP_BASE_LOAD;\r\n\r\nconst user = Cookies.get('userInfo') ? JSON.parse( Cookies.get('userInfo') ) : null;\r\nlet headers = {\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token',\r\n}\r\n\r\nexport default {\r\n async getAllProducts (_, payload) {\r\n const u = new URLSearchParams(payload).toString();\r\n const res = await http.get( `api/products?${ u }` );\r\n if(!res) return;\r\n // commit( 'SET_PRODUCTS', res.data );\r\n return res.data;\r\n },\r\n\r\n massiveLoadOfProducts( {commit, dispatch}, files ) {\r\n files.forEach((file, i) => {\r\n\r\n const formData = new FormData();\r\n formData.append(\"file\", file.file);\r\n formData.append(\"app_id\", user.company.app_id);\r\n \r\n axios({\r\n method: 'POST',\r\n data: formData,\r\n url: `${process.env.VUE_APP_BASE_URL}/api/uploadShops`,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n 'Access-Control-Allow-Origin': '*',\r\n },\r\n onUploadProgress: function(progressEvent) {\r\n commit('SET_FILE_PROGRESS', {\r\n index: i,\r\n progress: Math.round((progressEvent.loaded * 100) / progressEvent.total)\r\n });\r\n }\r\n })\r\n .then( res => {\r\n console.log(res);\r\n // file.progress = 100;\r\n\r\n })\r\n .catch( (err) => {\r\n console.log(err);\r\n dispatch(\r\n 'notification/setNotification', {\r\n title: `Error al cargar el archivo ${file.file.name}`,\r\n msg: '',\r\n icon: 'AlertOctagonIcon',\r\n time: new Date().getTime(),\r\n category: 'danger'\r\n },\r\n {root: true}\r\n );\r\n commit('SET_FILE_PROGRESS', {\r\n index: i,\r\n progress: 100,\r\n loadError: 'error garrafal',\r\n });\r\n });\r\n });\r\n \r\n },\r\n\r\n getProductBySKU( _, sku ) {\r\n return http.get( `api/productsfind/${sku}` ).then( res => res);\r\n },\r\n\r\n uploadProductImageToFirebase( _, image ) {\r\n const file = image.file;\r\n // obtener nombre y extension de archivo\r\n const filename = file.name;\r\n const ext = filename.substr(filename.lastIndexOf('.') + 1);\r\n // crear nombre basado en linea temporal referencia de firestorage\r\n const currentTimestamp = new Date().getTime();\r\n const route = `SAKURA/files/products/app_${ user.company.app_id }/images/${currentTimestamp}.${ext}`;\r\n const storageRef = firebase.storage().ref();\r\n const fileRef = storageRef.child(route);\r\n // tarea de archivo\r\n return new Promise( ( resolve, reject ) => {\r\n let task = fileRef.put(file);\r\n // obtener progreso de subida de archivo\r\n task.on( 'state_changed', (snapshot) => {\r\n let percentage = (snapshot.bytesTransferred/snapshot.totalBytes)*100;\r\n image.progress = percentage;\r\n });\r\n // archivo subido correctamente\r\n task.then( snapshot => {\r\n // obtener enlace de descarga\r\n snapshot.ref.getDownloadURL().then( (link) => {\r\n resolve(link)\r\n });\r\n\r\n });\r\n // error al subir el archivo\r\n task.catch( (err) => {\r\n // referenciar y mostrar en consola error de archivo\r\n console.log(err);\r\n image.error = 'Ocurrió un error al guardar el archivo. Intente de nuevo más tarde';\r\n reject( null );\r\n });\r\n });\r\n },\r\n\r\n saveProduct( {dispatch, commit}, payload ) {\r\n return http.post( 'api/products', payload )\r\n .then( res => {\r\n if( res ) {\r\n dispatch( 'getAllProducts' );\r\n commit( 'CLEAR_PRODUCT_DATA' );\r\n }\r\n return res;\r\n });\r\n },\r\n\r\n attempUploadFiles( {dispatch}, files ) {\r\n let xlsxFiles = [];\r\n let zipFiles = [];\r\n\r\n // Separar xlsx y Zip\r\n files.forEach( file => {\r\n const filename = file.file.name;\r\n const ext = filename.substr(filename.lastIndexOf('.') + 1);\r\n\r\n if ( ext === 'xlsx' ) {\r\n xlsxFiles.push( file );\r\n \r\n } else if( ext === 'csv' ) {\r\n xlsxFiles.push( file );\r\n\r\n } else if( ext === 'zip' ) {\r\n zipFiles.push( file );\r\n }\r\n });\r\n // set files to firebase\r\n dispatch( 'uploadFilesFirebase', { files: xlsxFiles, type: 'xlsx'} );\r\n dispatch( 'uploadFilesFirebase', { files: zipFiles, type: 'zip'} );\r\n\r\n },\r\n\r\n uploadFilesFirebase( {dispatch}, data ) {\r\n let files = data.files;\r\n\r\n files.forEach( file => {\r\n // obtener nombre y extension de archivo\r\n const filename = file.file.name;\r\n const ext = filename.substr(filename.lastIndexOf('.') + 1);\r\n // crear nombre basado en linea temporal referencia de firestorage\r\n const currentTimestamp = new Date().getTime();\r\n const route = `files/products/app_${ user.company.app_id }/${currentTimestamp}.${ext}`;\r\n const storageRef = firebase.storage().ref();\r\n const fileRef = storageRef.child(route);\r\n // tarea de archivo\r\n let task = fileRef.put(file.file);\r\n // obtener progreso de subida de archivo\r\n task.on( 'state_changed', (snapshot) => {\r\n let percentage = (snapshot.bytesTransferred/snapshot.totalBytes)*100;\r\n file.progress = percentage;\r\n });\r\n // archivo subido correctamente\r\n task.then( snapshot => {\r\n // obtener enlace de descarga\r\n snapshot.ref.getDownloadURL().then( (link) => {\r\n // objeto de datos para enviar archivo\r\n const newData = {\r\n firebaseUrl : link,\r\n bucketPath : `gs://${snapshot.ref.bucket}/${route}`,\r\n originalFile : filename,\r\n type : data.type,\r\n extension : ext\r\n }\r\n // enviar objeto de datos al servicio para posterior procesamiento\r\n dispatch( 'setProductFileToService', newData );\r\n\r\n });\r\n\r\n });\r\n // error al subir el archivo\r\n task.catch( (err) => {\r\n // referenciar y mostrar en consola error de archivo\r\n console.log(err);\r\n file.loadError = 'Ocurrió un error al guardar el archivo. Intente de nuevo más tarde';\r\n });\r\n\r\n });\r\n },\r\n\r\n setProductFileToService( {dispatch}, data ) {\r\n const payload = {\r\n firebase_url : data.firebaseUrl,\r\n bucket_path : data.bucketPath,\r\n original_file : data.originalFile,\r\n extension : data.extension,\r\n }\r\n const url = data.extension === 'xlsx' || data.extension === 'csv' ? 'api/uploadProducts' : 'api/uploadImagesProducts';\r\n\r\n return http.post( url, payload )\r\n .then( res => {\r\n if( res ) {\r\n dispatch( 'getAllProducts' );\r\n }\r\n return res;\r\n });\r\n },\r\n\r\n deleteProduct( {dispatch}, productId ){\r\n http.delete( `api/products/${productId}` )\r\n .then( res => {\r\n if( res ) {\r\n dispatch( 'getAllProducts' );\r\n }\r\n })\r\n },\r\n\r\n uploadProduct( {dispatch}, product ) {\r\n return http.put( `api/products/${product.id}`, product )\r\n .then( res => {\r\n if( res ) {\r\n dispatch( 'getAllProducts' );\r\n }\r\n\r\n return res;\r\n });\r\n },\r\n\r\n getDefaultProductImage( {commit} ) {\r\n const storage = firebase.storage();\r\n let ref = storage.ref('images/default-product.png');\r\n\r\n return ref.getDownloadURL()\r\n .then( url => {\r\n commit( 'SET_DEFAULT_IMAGE_URL', url );\r\n return url;\r\n })\r\n .catch( err => {\r\n console.log(`An error ocurred trying get the default product Image ${err.message}`);\r\n return null;\r\n });\r\n },\r\n\r\n getProductsLeads( {dispatch}, id=0 ) {\r\n if( id === 0 ) return dispatch('getAllLeads');\r\n else return dispatch( 'getLeadById', id );\r\n },\r\n\r\n getAllLeads( {commit} ) {\r\n return http.get('api/leads')\r\n .then( res => {\r\n if( res ) commit('SET_LEADS', res.data );\r\n return res;\r\n });\r\n },\r\n\r\n getLeadById( {commit}, id ) {\r\n return http.get(`api/leads/${id}`)\r\n .then( res => {\r\n if( res ) commit('SET_LEAD', res.data );\r\n return res;\r\n });\r\n },\r\n\r\n saveLead( {dispatch}, payload ) {\r\n if( payload.id === 0 ) return dispatch('createLead', payload);\r\n else return dispatch('updateLead', payload);\r\n },\r\n\r\n createLead( {commit, dispatch}, payload) {\r\n return http.post('api/leads', payload)\r\n .then( res => {\r\n if( res ) {\r\n commit('CLEAR_LEAD_DATA');\r\n dispatch('getAllLeads');\r\n }\r\n return res;\r\n });\r\n },\r\n\r\n updateLead( {commit, dispatch}, payload ) {\r\n return http.put(`api/leads/${payload.id}`, payload)\r\n .then( res => {\r\n if( res ) {\r\n commit('CLEAR_LEAD_DATA');\r\n dispatch('getAllLeads');\r\n }\r\n return res;\r\n });\r\n },\r\n\r\n updateProductsForTaskService() {\r\n return axios({\r\n method: 'GET',\r\n url: `${baseUrl}/api/process/sakuraTaskProducts`,\r\n headers\r\n })\r\n .then( res => { return res } )\r\n .catch(err => console.log('err', err) );\r\n },\r\n\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleProductGetters.js\r\n Description: Product Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n products( state ) {\r\n return state.products;\r\n },\r\n\r\n fileList( state ) {\r\n return state.fileList;\r\n }\r\n}\r\n","/*=========================================================================================\r\n Description: Product Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './state.js';\r\nimport mutations from './mutations.js';\r\nimport actions from './actions.js';\r\nimport getters from './getters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n Description: Categorie Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n categories: [],\r\n}\r\n","/*=========================================================================================\r\n Description: Category Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_CATEGORIES( state, categories ){\r\n state.categories = categories;\r\n },\r\n\r\n}\r\n","/*=========================================================================================\r\n Description: Category Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport http from '@/http/http-client.js';\r\nimport axios from 'axios';\r\n\r\nexport default {\r\n getAllCategories( {commit} ) {\r\n return http.get('api/category')\r\n .then(res => {\r\n if( res ) commit( 'SET_CATEGORIES', res.data );\r\n return res;\r\n });\r\n },\r\n\r\n createCategorie( {dispatch}, category ) {\r\n return http.post( 'api/category', category )\r\n .then( res => {\r\n if( res ) dispatch( 'getAllCategories' );\r\n return res;\r\n });\r\n },\r\n\r\n updateCategorie( {dispatch}, category ) {\r\n return http.put( `api/category/${category.id}`, category )\r\n .then( res => {\r\n if( res ) dispatch( 'getAllCategories' );\r\n return res;\r\n });\r\n },\r\n\r\n deleteCategorie( {dispatch}, category ) {\r\n return http.delete( `api/category/${category.id}` )\r\n .then( res => {\r\n if( res ) dispatch( 'getAllCategories' );\r\n return res;\r\n });\r\n },\r\n\r\n uploadMassiveCategories( _, files=[] ) {\r\n files.forEach( ( file ) => {\r\n const formData = new FormData();\r\n\r\n formData.append( \"file\", file.file );\r\n\r\n axios({\r\n method: 'POST',\r\n data: formData,\r\n url: `${process.env.VUE_APP_BASE_URL}/api/uploadCategory`,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n 'Access-Control-Allow-Origin': '*',\r\n },\r\n onUploadProgress: ( progressEv ) => {\r\n const progress = Math.round( (progressEv.loaded * 100) / progressEv.total );\r\n file.progress = progress;\r\n }\r\n })\r\n .then( () => {\r\n // TODO validar respuesta\r\n } )\r\n .catch( ( err ) => {\r\n file.error = err.response.data.message;\r\n });\r\n });\r\n },\r\n\r\n}\r\n","/*=========================================================================================\r\n Description: Category Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n categories( state ) {\r\n return state.categories;\r\n },\r\n}\r\n","/*=========================================================================================\r\n Description: Category Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './state.js';\r\nimport mutations from './mutations.js';\r\nimport actions from './actions.js';\r\nimport getters from './getters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n Description: Promotions Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n promotions : [],\r\n banner : {\r\n id : null, \r\n type : 2,\r\n start_date_prog : '',\r\n start_hour : '',\r\n end_date_prog : '',\r\n end_hour : '',\r\n name : '',\r\n shops : [],\r\n redirect_id : 0,\r\n link : '',\r\n image : '',\r\n banner_category_id : 0\r\n },\r\n bannerTypes : [],\r\n banners : [],\r\n coupons : [],\r\n coupon : {\r\n code : \"\",\r\n name : \"\",\r\n text : \"\",\r\n price : 0,\r\n start_hour : \"\",\r\n start_date_prog : \"\",\r\n end_hour : \"\",\r\n end_date_prog : \"\",\r\n shops : [],\r\n minimum_purchase : 0, // Not required\r\n view : 0, // Not required\r\n identification : \"\", // Not required\r\n shop_id : 0, // Not required\r\n status : 2, // Not required\r\n }\r\n}\r\n","/*=========================================================================================\r\n Description: Promotions Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_PROMOS( state, promos ) {\r\n state.promotions = promos;\r\n },\r\n SET_BANNER( state, banner ) {\r\n state.banner = banner;\r\n },\r\n SET_BANNER_TYPES(state, types) {\r\n state.bannerTypes = types;\r\n },\r\n CLEAR_BANNER_DATA( state ) {\r\n state.banner = {\r\n id : null,\r\n type : 2,\r\n start_date_prog : '',\r\n start_hour : '',\r\n end_date_prog : '',\r\n end_hour : '',\r\n name : '',\r\n shops : [],\r\n redirect_id : 0,\r\n link : '',\r\n image : '',\r\n banner_category_id : 0\r\n }\r\n },\r\n SET_BANNERS( state, banners ) {\r\n state.banners = banners;\r\n },\r\n SET_COUPONS( state, coupons ) {\r\n state.coupons = coupons;\r\n },\r\n SET_COUPON( state, coupon ) {\r\n state.coupon = coupon;\r\n },\r\n CLEAR_COUPON( state ) {\r\n state.coupon = {\r\n code : \"\",\r\n name : \"\",\r\n text : \"\",\r\n price : 0,\r\n start_hour : \"\",\r\n start_date_prog : \"\",\r\n end_hour : \"\",\r\n end_date_prog : \"\",\r\n minimum_purchase : 0, // Not required\r\n view : 0, // Not required\r\n identification : \"\", // Not required\r\n shop_id : 0, // Not required\r\n status : 2, // Not required\r\n }\r\n }\r\n}\r\n","/*=========================================================================================\r\n Description: Promotions Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport http from '../../http/http-client.js'\r\n\r\nexport default {\r\n\r\n getAllPromos( {commit} ) {\r\n return http.get( 'api/promotions' )\r\n .then( res => {\r\n if( res ) commit( 'SET_PROMOS', res.data );\r\n return res;\r\n });\r\n },\r\n\r\n filterInventories( {commit}, payload ) {\r\n return http.post( 'api/inventorydiscount', payload )\r\n .then( res => {\r\n if( res ){\r\n commit( 'SET_INVENTORIES', res.data );\r\n }\r\n\r\n return res;\r\n });\r\n },\r\n\r\n updatePromo( _, promo ) {\r\n return promo;\r\n },\r\n\r\n deletePromo( _, promoId ) {\r\n return promoId;\r\n },\r\n\r\n getAllBannerTypes( {commit} ) {\r\n return http.get( 'api/banner_type_shop' )\r\n .then( res => {\r\n if( res ) commit( 'SET_BANNER_TYPES', res.data );\r\n return res;\r\n });\r\n },\r\n\r\n async saveBanner({dispatch}, payload) {\r\n if( payload.id ) return dispatch('updateBanner', payload);\r\n else return dispatch('createBanner', payload);\r\n \r\n },\r\n\r\n createBanner( {commit, dispatch}, payload ) {\r\n return http.post('api/banners', payload).then( res => {\r\n if( res ) {\r\n commit( 'CLEAR_BANNER_DATA' );\r\n dispatch('getAllBanners');\r\n }\r\n return res;\r\n });\r\n },\r\n\r\n updateBanner( {commit, dispatch}, payload ) {\r\n return http.put(`api/banners/${payload.id}`, payload).then( res => {\r\n if( res ) {\r\n commit( 'CLEAR_BANNER_DATA' );\r\n dispatch('getAllBanners');\r\n }\r\n return res;\r\n });\r\n },\r\n\r\n getAllBanners( {commit} ) {\r\n return http.get( 'api/banners' )\r\n .then( res => {\r\n if( res ) commit( 'SET_BANNERS', res.data.promotions );\r\n return res;\r\n });\r\n },\r\n\r\n getBannerById( {commit}, bannerId=0 ) {\r\n return http.get( `api/banners/${bannerId}` )\r\n .then( res => {\r\n if( res ) commit('SET_BANNER', res.data.promotions[0]);\r\n \r\n let conct = [];\r\n Object.values(res.data).forEach((category) => {\r\n category.forEach((prod) => {\r\n conct.push(prod)\r\n });\r\n });\r\n return conct[0];\r\n });\r\n },\r\n\r\n deleteBanner( {dispatch}, bannerId=0 ) {\r\n return http.delete( `api/banner_type_shop/${bannerId}`)\r\n .then( res => {\r\n if( res ) dispatch('getAllBanners');\r\n return res;\r\n });\r\n },\r\n\r\n changeBannerStatus( {dispatch}, bannerId=0 ) {\r\n return http.delete( `api/banners/${bannerId}`)\r\n .then( res => {\r\n if( res ) dispatch('getAllBanners');\r\n return res;\r\n });\r\n },\r\n\r\n async saveCoupon( {commit}, payload ) {\r\n const res = await http.post('api/promotions', payload );\r\n \r\n if( res ) commit('CLEAR_COUPON');\r\n\r\n return res;\r\n },\r\n\r\n async updateCoupon( {commit, dispatch}, payload ) {\r\n const res = await http.put(`api/promotions/${ payload.id }`, payload );\r\n \r\n if( res ) {\r\n commit('CLEAR_COUPON');\r\n dispatch('getAllCoupons');\r\n }\r\n\r\n return res;\r\n },\r\n\r\n async getAllCoupons( {commit} ) {\r\n const res = await http.get('api/promotions');\r\n \r\n if( res ) commit('SET_COUPONS', res.data);\r\n\r\n return res;\r\n },\r\n\r\n async getCoupon( {commit}, code ) {\r\n const res = await http.get(`api/promotions/${ code }`);\r\n \r\n if( res ) commit('SET_COUPON', res.data);\r\n\r\n return res;\r\n },\r\n\r\n async deleteCoupon( {dispatch}, code ) {\r\n const res = await http.delete(`api/promotions/${ code }`);\r\n \r\n if( res ) dispatch('getAllCoupons');\r\n\r\n return res;\r\n },\r\n}\r\n","/*=========================================================================================\r\n Description: Promotions Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n}\r\n","/*=========================================================================================\r\n Description: Promotions Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './state.js';\r\nimport mutations from './mutations.js';\r\nimport actions from './actions.js';\r\nimport getters from './getters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n Description: Inventories Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n\r\n inventories: [],\r\n\r\n}\r\n","/*=========================================================================================\r\n Description: Inventories Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n\r\n SET_INVENTORIES( state, inventories ) {\r\n state.inventories = inventories;\r\n },\r\n\r\n}\r\n","/*=========================================================================================\r\n Description: Inventories Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport Cookies from 'js-cookie';\r\nimport firebase from 'firebase/app';\r\nimport 'firebase/storage';\r\n\r\nimport http from '../../http/http-client.js';\r\n\r\nconst userInfo = Cookies.get('userInfo') ? JSON.parse( Cookies.get('userInfo') ) : null;\r\n\r\nexport default {\r\n\r\n async getAllInventories( {commit} ) {\r\n const inventories = await http.get(`api/inventory` );\r\n \r\n if( inventories ) commit('SET_INVENTORIES', inventories.data);\r\n \r\n return inventories;\r\n },\r\n\r\n loadMassiveInventory( {dispatch}, files ) {\r\n let fileErrors = [];\r\n\r\n files.forEach( file => {\r\n const filename = file.file.name;\r\n const ext = filename.substr(filename.lastIndexOf('.') + 1);\r\n\r\n const currentTimestamp = new Date().getTime();\r\n const route = `SAKURA/files/inventory/app_${userInfo.company.app_id}/${currentTimestamp}.${ext}`;\r\n const storageRef = firebase.storage().ref();\r\n const fileRef = storageRef.child(route);\r\n\r\n let task = fileRef.put(file.file);\r\n\r\n task.on( 'state_changed', (snapshot) => {\r\n let percentage = (snapshot.bytesTransferred/snapshot.totalBytes)*100;\r\n file.progress = percentage;\r\n });\r\n\r\n task.then( snapshot => {\r\n \r\n snapshot.ref.getDownloadURL().then( (link) => {\r\n const data = {\r\n firebaseUrl : link,\r\n bucketPath : `gs://${snapshot.ref.bucket}/${route}`,\r\n originalFile : filename,\r\n extension : ext,\r\n }\r\n\r\n dispatch( 'setInventoryFileToService', data );\r\n\r\n });\r\n\r\n });\r\n\r\n task.catch( (err) => {\r\n console.log(err);\r\n file.loadError = 'Ocurrió un error al guardar el archivo. Intente de nuevo más tarde'\r\n\r\n fileErrors.push(file);\r\n });\r\n\r\n });\r\n \r\n return true;\r\n\r\n },\r\n\r\n setInventoryFileToService( _, data ) {\r\n const payload = {\r\n firebase_url : data.firebaseUrl,\r\n bucket_path : data.bucketPath,\r\n original_file : data.originalFile,\r\n extension : data.extension,\r\n }\r\n\r\n return http.post( 'api/uploadInventory', payload )\r\n .then( res => {\r\n return res;\r\n });\r\n },\r\n\r\n deleteProduct( {dispatch}, productId ) {\r\n return http.delete( `api/inventory/${productId}` )\r\n .then( res => {\r\n if( res ) dispatch( 'getAllInventories' );\r\n return res;\r\n });\r\n },\r\n\r\n filterInventories( {commit}, payload ) {\r\n return http.post( 'api/inventoryfind', payload )\r\n .then( res => {\r\n if( res ){\r\n commit( 'SET_INVENTORIES', res.data );\r\n }\r\n\r\n return res;\r\n });\r\n },\r\n\r\n updateInventorie( {dispatch}, inventory ) {\r\n return http.put( `api/inventory/${inventory.id}`, inventory )\r\n .then( res => {\r\n if( res ) dispatch( 'getAllInventories' );\r\n return res;\r\n });\r\n },\r\n\r\n async findInventories( {commit}, payload ) {\r\n const inventories = await http.post(`api/inventorypaginate`, payload );\r\n \r\n if( inventories ) commit('SET_INVENTORIES', inventories.data.results);\r\n \r\n return inventories;\r\n },\r\n\r\n async findPromotions( {commit}, payload ) {\r\n const inventories = await http.post(`api/inventorypaginatediscount`, payload );\r\n \r\n if( inventories ) commit('SET_INVENTORIES', inventories.data.results);\r\n \r\n return inventories;\r\n },\r\n\r\n async deleteAllInventorie( {dispatch} ) {\r\n const res = await http.delete('api/delete_all_inventory');\r\n if(res) dispatch('getAllInventories');\r\n return res;\r\n },\r\n\r\n async createWithJSON( _, payload ) {\r\n const res = await http.post(`api/spatial/inventory/uploadByJson`, payload );\r\n return res;\r\n },\r\n}\r\n","/*=========================================================================================\r\n Description: Inventories Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n \r\n}\r\n","/*=========================================================================================\r\n Description: Inventories Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './state.js';\r\nimport mutations from './mutations.js';\r\nimport actions from './actions.js';\r\nimport getters from './getters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n Description: Inventories Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n\r\n preorders: [],\r\n\r\n}\r\n","/*=========================================================================================\r\n Description: Inventories Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n\r\n SET_PREORDERS( state, preorders ) {\r\n state.preorders = preorders;\r\n },\r\n\r\n}\r\n","/*=========================================================================================\r\n Description: Inventories Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport Cookies from 'js-cookie';\r\nimport firebase from 'firebase/app';\r\nimport 'firebase/storage';\r\nimport axios from 'axios';\r\nconst baseUrl = process.env.VUE_APP_BASE_LOAD;\r\n\r\nimport http from '../../http/http-client.js';\r\n\r\nconst userInfo = Cookies.get('userInfo') ? JSON.parse( Cookies.get('userInfo') ) : null;\r\nlet headers = {\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token',\r\n}\r\n\r\nexport default {\r\n\r\n async getPreOrders( {commit} ) {\r\n const preorders = await http.get(`api/productGroupProductUsersAdmin` );\r\n \r\n if( preorders ) commit('SET_PREORDERS', preorders.data);\r\n \r\n return preorders;\r\n },\r\n\r\n uploadPreOrder( {dispatch}, files ) {\r\n let fileErrors = [];\r\n\r\n files.forEach( file => {\r\n const filename = file.file.name;\r\n const ext = filename.substr(filename.lastIndexOf('.') + 1);\r\n\r\n const currentTimestamp = new Date().getTime();\r\n const route = `SAKURA/files/preorders/app_${userInfo.company.app_id}/${currentTimestamp}.${ext}`;\r\n const storageRef = firebase.storage().ref();\r\n const fileRef = storageRef.child(route);\r\n\r\n let task = fileRef.put(file.file);\r\n\r\n task.on( 'state_changed', (snapshot) => {\r\n let percentage = (snapshot.bytesTransferred/snapshot.totalBytes)*100;\r\n file.progress = percentage;\r\n });\r\n\r\n task.then( snapshot => {\r\n \r\n snapshot.ref.getDownloadURL().then( (link) => {\r\n const data = {\r\n firebaseUrl : link,\r\n bucketPath : `gs://${snapshot.ref.bucket}/${route}`,\r\n originalFile : filename,\r\n extension : ext,\r\n }\r\n\r\n dispatch( 'setInventoryFileToService', data );\r\n\r\n });\r\n\r\n });\r\n\r\n task.catch( (err) => {\r\n console.log(err);\r\n file.loadError = 'Ocurrió un error al guardar el archivo. Intente de nuevo más tarde'\r\n\r\n fileErrors.push(file);\r\n });\r\n\r\n });\r\n \r\n return true;\r\n\r\n },\r\n\r\n setInventoryFileToService( _, data ) {\r\n const payload = {\r\n firebase_url : data.firebaseUrl,\r\n bucket_path : data.bucketPath.split('appspot.com/')[1],\r\n original_file : data.originalFile,\r\n extension : data.extension,\r\n }\r\n return axios({\r\n method: 'POST',\r\n data: payload,\r\n url: `${baseUrl}/api/uploadPreOrder`,\r\n headers\r\n })\r\n .then( res => { return res } )\r\n .catch(err => console.log('err', err) );\r\n },\r\n\r\n deletePreOrder( _, d ) {\r\n return http.delete( `api/groupProductUsersAdmin/${d.id}/${d.uid}` )\r\n .then( res => {\r\n return res;\r\n });\r\n },\r\n\r\n filterInventories( {commit}, payload ) {\r\n return http.post( 'api/inventoryfind', payload )\r\n .then( res => {\r\n if( res ){\r\n commit( 'SET_INVENTORIES', res.data );\r\n }\r\n\r\n return res;\r\n });\r\n },\r\n\r\n updateInventorie( {dispatch}, inventory ) {\r\n return http.put( `api/inventory/${inventory.id}`, inventory )\r\n .then( res => {\r\n if( res ) dispatch( 'getAllInventories' );\r\n return res;\r\n });\r\n },\r\n\r\n async getPreOrdersFind( {commit}, payload ) {\r\n const preorders = await http.get(`api/productGroupProductUsersAdmin/${payload.page}/${payload.page_size}` );\r\n \r\n if( preorders ) commit('SET_PREORDERS', preorders.data);\r\n \r\n return preorders;\r\n },\r\n\r\n async findPromotions( {commit}, payload ) {\r\n const inventories = await http.post(`api/inventorypaginatediscount`, payload );\r\n \r\n if( inventories ) commit('SET_INVENTORIES', inventories.data.results);\r\n \r\n return inventories;\r\n },\r\n\r\n async deleteAllInventorie( {dispatch} ) {\r\n const res = await http.delete('api/delete_all_inventory');\r\n if(res) dispatch('getAllInventories');\r\n return res;\r\n },\r\n\r\n async createWithJSON( _, payload ) {\r\n const res = await http.post(`api/spatial/inventory/uploadByJson`, payload );\r\n return res;\r\n },\r\n}\r\n","/*=========================================================================================\r\n Description: Inventories Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n \r\n}\r\n","/*=========================================================================================\r\n Description: Inventories Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './state.js';\r\nimport mutations from './mutations.js';\r\nimport actions from './actions.js';\r\nimport getters from './getters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n Description: Tracking Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n orders : [],\r\n newOrders : [],\r\n preparingOrders : [],\r\n deliveredOrders : [],\r\n rejectMessages : [],\r\n filteredStores : [],\r\n}\r\n","/*=========================================================================================\r\n Description: Tracking Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport Utils from '../../plugins/utils.js';\r\n\r\nexport default {\r\n SET_ODERS( state, orders ) {\r\n state.orders = orders;\r\n },\r\n\r\n SET_NEW_ODERS( state, newOrders ) {\r\n state.newOrders = newOrders;\r\n },\r\n\r\n SET_PREPARING_ODERS( state, preparingOrders ) {\r\n state.preparingOrders = preparingOrders;\r\n },\r\n\r\n SET_DELIVERED_ODERS( state, deliveredOrders ) {\r\n state.deliveredOrders = deliveredOrders;\r\n },\r\n\r\n SET_PREPARING_ODER_TIME( state, data ) {\r\n state.preparingOrders[data.key].delivery_time = { value: parseInt( data.value ), time: data.time };\r\n state.preparingOrders = state.preparingOrders;\r\n },\r\n\r\n SET_REJECT_MESSAGES( state, rejectMessages ) {\r\n state.rejectMessages = rejectMessages;\r\n },\r\n\r\n SET_FILTERED_ORDERS( state, orders ) {\r\n const grouped = Utils.groupBy( orders, order => order.shop.shop_id );\r\n const groupSetter = new Set(grouped);\r\n let groupMapped = [];\r\n \r\n for( const item of groupSetter ) {\r\n groupMapped.push({...item, collapsed: true, panel : ''});\r\n }\r\n \r\n state.filteredStores = groupMapped;\r\n },\r\n\r\n SET_FILTERED_ORDERS_MAPPED( state, ordersMapped ) {\r\n state.filteredStores = ordersMapped;\r\n },\r\n \r\n}\r\n","/*=========================================================================================\r\n Description: Tracking Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport http from '../../http/http-client.js';\r\n\r\nimport Cookies from 'js-cookie';\r\nimport firebase from 'firebase/app';\r\nimport 'firebase/firestore';\r\n\r\nconst user = Cookies.get('userInfo') ? JSON.parse( Cookies.get('userInfo') ) : null;\r\n\r\nexport default {\r\n\r\n async getAllOrders( {commit}, payload ) {\r\n // firebase.firestore().collection('serviroutes_tracking')\r\n // .where( 'app_id', '==', user.company.app_id )\r\n // .orderBy('time', 'desc')\r\n // .onSnapshot( document => {\r\n // let orders = [];\r\n // document.docs.forEach( doc => {\r\n // orders.push( { ...doc.data(), id: doc.id } );\r\n // });\r\n // commit( 'SET_ODERS', orders );\r\n // }); \r\n const u = new URLSearchParams(payload).toString();\r\n return await http.get( `api/orders?${ u }` )\r\n .then( res => {\r\n if( res ) commit( 'SET_ODERS', res.data );\r\n return res;\r\n });\r\n },\r\n\r\n async getOrdersStatistics(_, payload ) {\r\n const u = new URLSearchParams(payload).toString();\r\n return await http.get( `api/orderStatistics?${ u }` )\r\n .then( res => {\r\n if( res ) return res;\r\n });\r\n },\r\n\r\n getAllNewOrders( {commit} ) {\r\n firebase.firestore().collection('serviroutes_tracking')\r\n .where( 'app_id', '==', user.company.app_id )\r\n .where( 'status', '==', parseInt( process.env.VUE_APP_NEW_ORDER ) )\r\n .orderBy('time', 'desc')\r\n .onSnapshot( document => {\r\n let orders = [];\r\n document.docs.forEach( doc => {\r\n orders.push( { ...doc.data(), id: doc.id } );\r\n });\r\n commit( 'SET_NEW_ODERS', orders );\r\n });\r\n },\r\n\r\n getAllPreparingOrders( {commit} ) {\r\n firebase.firestore().collection('serviroutes_tracking')\r\n .where( 'app_id', '==', user.company.app_id )\r\n .where( 'status', '==', parseInt( process.env.VUE_APP_PREPARING_ORDER ) )\r\n .orderBy('time', 'desc')\r\n .onSnapshot( document => {\r\n let orders = [];\r\n document.docs.forEach( doc => {\r\n orders.push( { ...doc.data(), id: doc.id, delivery_time: { value: 1, time: 'Days' } } );\r\n });\r\n commit( 'SET_PREPARING_ODERS', orders );\r\n });\r\n },\r\n\r\n getAllDeliveredOrders( {commit} ) {\r\n firebase.firestore().collection('serviroutes_tracking')\r\n .where( 'app_id', '==', user.company.app_id )\r\n .where( 'status', '==', parseInt( process.env.VUE_APP_TRACKING_ORDER_DISPATCHED ) )\r\n .orderBy('time', 'desc')\r\n .onSnapshot( document => {\r\n let orders = [];\r\n document.docs.forEach( doc => {\r\n orders.push( { ...doc.data(), id: doc.id } );\r\n });\r\n commit( 'SET_DELIVERED_ODERS', orders );\r\n });\r\n },\r\n\r\n acceptOrder( _, orderId ) {\r\n const payload = {\r\n status_order: parseInt( process.env.VUE_APP_PREPARING_ORDER ),\r\n status_tracking: parseInt( process.env.VUE_APP_TRACKING_PREPARING_ORDER ),\r\n };\r\n\r\n return http.put( `api/tracking/${orderId}`, payload )\r\n .then( res => res );\r\n },\r\n\r\n rejectOrder( _, rejectOrderData ) {\r\n const payload = {\r\n ...rejectOrderData,\r\n status_order: parseInt( process.env.VUE_APP_ORDER_REJECTED_BY_STORE ),\r\n status_tracking: parseInt( process.env.VUE_APP_TRACKING_REJECTED_BY_STORE ),\r\n };\r\n\r\n return http.put( `api/tracking/${rejectOrderData.orderSelectedId}`, payload )\r\n .then( res => res );\r\n },\r\n\r\n getRejectMessages( {commit} ) {\r\n return http.get( 'api/rejectedResponse' )\r\n .then( res => {\r\n if( res ) {\r\n commit( 'SET_REJECT_MESSAGES', res.data );\r\n }\r\n return res;\r\n });\r\n },\r\n\r\n dispatchOrder( _, order ) {\r\n const payload = {\r\n id : order.id,\r\n status_order : parseInt( process.env.VUE_APP_ORDER_SHIPPED ),\r\n status_tracking : parseInt( process.env.VUE_APP_TRACKING_ORDER_DISPATCHED ),\r\n delivery_time : `${order.delivery_time.value} ${order.delivery_time.time}`,\r\n };\r\n\r\n return http.put( `api/tracking/${payload.id}`, payload )\r\n .then( res => res );\r\n },\r\n\r\n deliverOrder( _, orderId ) {\r\n const payload = {\r\n status_order: parseInt( process.env.VUE_APP_ORDER_FINALIZED ),\r\n status_tracking: parseInt( process.env.VUE_APP_TRACKING_ORDER_DELIVERED ),\r\n };\r\n\r\n return http.put( `api/tracking/${orderId}`, payload )\r\n .then( res => res );\r\n },\r\n\r\n changeNewOrdersToReaded() {\r\n firebase.firestore().collection('serviroutes_tracking')\r\n .where( 'app_id', '==', user.company.app_id )\r\n .where( 'status', '==', parseInt( process.env.VUE_APP_NEW_ORDER ) )\r\n .where('unread', '==', true)\r\n .get()\r\n .then(res => {\r\n res.forEach( order => {\r\n order.ref.update({\r\n unread: false,\r\n });\r\n });\r\n })\r\n .catch(err => {\r\n console.log(err.message);\r\n });\r\n },\r\n\r\n filterOrders( { commit}, data ) {\r\n // for( let i=0; i {\r\n let orders = [];\r\n document.docs.forEach( doc => {\r\n orders.push({\r\n ...doc.data(),\r\n id: doc.id,\r\n // if delivery time is null set to 1 days\r\n delivery_time: doc.data().delivery_time ? doc.data().delivery_time : { value: 1, time: 'Days' },\r\n });\r\n });\r\n\r\n // Filter stores where user have relationship\r\n const ordersFiltered = orders.filter( order => data.storesIds.includes( order.shop.shop_id) );\r\n commit( 'SET_FILTERED_ORDERS', ordersFiltered );\r\n });\r\n },\r\n\r\n toggleStoreStatus( {dispatch}, storeId ) {\r\n return http.delete( `api/tracking/${storeId}` ).then( res => {\r\n if( res ) dispatch('stores/getAllStores', {}, { root: true } );\r\n return res;\r\n });\r\n },\r\n\r\n getOrderByID( {commit}, order_id) {\r\n return http.get( `api/orders/${ order_id }` )\r\n .then( res => {\r\n if( res ) commit( 'SET_ODER', res.data );\r\n return res;\r\n });\r\n },\r\n async findOrdersHistory( _, payload ) {\r\n const res = await http.put('api/orders', payload);\r\n return res;\r\n }\r\n\r\n}\r\n","/*=========================================================================================\r\n Description: Customers Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n \r\n}\r\n","/*=========================================================================================\r\n Description: Tracking Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './state.js';\r\nimport mutations from './mutations.js';\r\nimport actions from './actions.js';\r\nimport getters from './getters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleLocationState.js\r\n Description: Location Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n departments: [],\r\n cities: [],\r\n callsigns: [{\r\n callingCodes : ['57'],\r\n flag : require('../../assets/images/flags/es.png'),\r\n }],\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleLocationMutations.js\r\n Description: Location Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_DEPARTMENTS( state, departments ) {\r\n state.departments = departments;\r\n },\r\n\r\n SET_CITIES( state, cities ) {\r\n state.cities = cities;\r\n },\r\n\r\n SET_CALLSIGNS( state, signs ) {\r\n state.callsigns = signs;\r\n },\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleLocationActions.js\r\n Description: Location Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport http from '../../http/http-client.js';\r\n// import axios from '../../http/axios/index.js';\r\n\r\nexport default {\r\n getAllDepartments( { commit } ) {\r\n http.get( 'api/departments' )\r\n .then( res => {\r\n if( res ) {\r\n commit('SET_DEPARTMENTS', res.data );\r\n }\r\n });\r\n },\r\n\r\n getCitiesByDepartment( {commit}, id ) {\r\n http.get( `api/cities/departamentId/${id}` )\r\n .then( res => {\r\n if( res ) {\r\n commit('SET_CITIES', res.data );\r\n }\r\n });\r\n },\r\n\r\n getAllCities( { commit } ) {\r\n return http.get( 'api/cities' )\r\n .then( res => {\r\n if( res ) {\r\n commit('SET_CITIES', res.data );\r\n }\r\n return res;\r\n });\r\n },\r\n\r\n getAllSigns() {\r\n // return axios.get('https://restcountries.eu/rest/v2/lang/es')\r\n // .then( res => {\r\n // commit( 'SET_CALLSIGNS', res.data);\r\n // return res;\r\n // })\r\n // .catch( err => {\r\n // console.warn('Error con el API restcountries: ', err.response);\r\n // return null;\r\n // });\r\n return [];\r\n },\r\n\r\n getAddresInfo( _, payload ) {\r\n return http.post( 'api/geo', payload )\r\n .then( res => {\r\n if( res ) return res.data;\r\n return res;\r\n });\r\n }\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleLocationGetters.js\r\n Description: Location Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n location( state ) {\r\n return state.location;\r\n },\r\n\r\n callsigns( state ) {\r\n return state.callsigns;\r\n },\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleLocation.js\r\n Description: Location Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport state from './state.js';\r\nimport mutations from './mutations.js';\r\nimport actions from './actions.js';\r\nimport getters from './getters';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleUserState.js\r\n Description: User Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n identificationTypes: [\r\n {id: 1, name: 'CC'},\r\n {id: 2, name: 'CE'},\r\n {id: 3, name: 'NIT'},\r\n ],\r\n roles: [],\r\n stores: [\r\n {id: 0, name: ''},\r\n ],\r\n users: [],\r\n user: {\r\n name : '',\r\n lastname : '',\r\n city : \"\",\r\n city_id : '',\r\n departmentId : '',\r\n address : '',\r\n companies_id : 0,\r\n companies_neme : '',\r\n email : '',\r\n email2 : '',\r\n password : '',\r\n password2 : '',\r\n id : 0,\r\n identification : '',\r\n position : '',\r\n role_id : 2,\r\n role_name : '',\r\n status_id : 1,\r\n store : [],\r\n phoneSign : '+57',\r\n phoneNumber : '',\r\n role : 2,\r\n country_code_phone : '+57',\r\n phone : '',\r\n country_code_cell_phone : '+57',\r\n cell_phone : '',\r\n applications_id : 0,\r\n stores : [],\r\n send_email : 1,\r\n },\r\n userStatus : [\r\n { id: 1, name: 'Active' },\r\n { id: 2, name: 'Inactive' },\r\n ]\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleUserMutations.js\r\n Description: User Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_ROLES( state, roles ){\r\n state.roles = roles;\r\n },\r\n\r\n SET_STORES( state, stores ){\r\n state.stores = stores;\r\n },\r\n\r\n SET_USERS( state, users ){\r\n state.users = users;\r\n },\r\n\r\n SET_USER( state, user ) {\r\n state.user = {\r\n ...state.user,\r\n ...user\r\n };\r\n },\r\n\r\n CLEAR_USER_DATA( state ) {\r\n state.user = {\r\n name : '',\r\n lastname : '',\r\n city : \"\",\r\n city_id : '',\r\n departmentId : '',\r\n address : '',\r\n companies_id : 0,\r\n companies_neme : '',\r\n email : '',\r\n email2 : '',\r\n password : '',\r\n password2 : '',\r\n id : 0,\r\n identification : '',\r\n position : '',\r\n role_id : 2,\r\n role_name : '',\r\n status_id : 1,\r\n store : [],\r\n phoneSign : '+57',\r\n phoneNumber : '',\r\n role : 2,\r\n country_code_phone : '+57',\r\n phone : '',\r\n country_code_cell_phone : '+57',\r\n cell_phone : '',\r\n applications_id : 0,\r\n stores : [],\r\n }\r\n }\r\n}","/*=========================================================================================\r\n File Name: moduleUserActions.js\r\n Description: User Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport http from '../../http/http-client.js';\r\n\r\nexport default {\r\n getAllRoles( {commit} ) {\r\n http.get( 'api/roles' )\r\n .then( res => {\r\n if( res ) {\r\n commit('SET_ROLES', res.data);\r\n }\r\n });\r\n },\r\n\r\n getAllStores( {commit} ) {\r\n http.get( 'api/shops' )\r\n .then( res => {\r\n if( res ) {\r\n commit('SET_STORES', res.data);\r\n }\r\n });\r\n },\r\n\r\n async getAllUsers( {commit} ) {\r\n const res = await http.get( 'api/users' );\r\n if( res ) commit( 'SET_USERS', res.data );\r\n return res;\r\n },\r\n\r\n async createUser( {dispatch, commit}, payload ) {\r\n const res = await http.post( 'api/auth/register/usersAdmin', payload );\r\n if( res ) {\r\n dispatch( 'getAllUsers' );\r\n commit('CLEAR_USER_DATA');\r\n }\r\n return res;\r\n },\r\n\r\n getUserById( {commit}, id ) {\r\n return http.get( `api/users/${id}` )\r\n .then( res => {\r\n if( res ) commit( 'SET_USER', res.data[0] );\r\n return res;\r\n });\r\n },\r\n\r\n updateUser( {dispatch, commit}, user ) {\r\n return http.put( `api/users/${user.id}`, user )\r\n .then( res => {\r\n if( res ) {\r\n dispatch( 'getAllUsers' );\r\n commit('CLEAR_USER_DATA');\r\n }\r\n return res;\r\n });\r\n },\r\n\r\n deleteUser( {dispatch}, userId ) {\r\n return http.delete( `api/users/${userId}` ).then( res => {\r\n if( res ) dispatch( 'getAllUsers' );\r\n return res;\r\n });\r\n },\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleUserGetters.js\r\n Description: User Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n identificationTypes( state ) {\r\n return state.identificationTypes;\r\n },\r\n\r\n roles (state) {\r\n return state.roles;\r\n },\r\n\r\n stores (state) {\r\n return state.stores;\r\n },\r\n\r\n users (state) {\r\n return state.users;\r\n },\r\n\r\n user (state) {\r\n return state.user;\r\n },\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleUser.js\r\n Description: User Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './state.js'\r\nimport mutations from './mutations.js'\r\nimport actions from './actions.js'\r\nimport getters from './getters.js'\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleUserState.js\r\n Description: User Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n users: [],\r\n user: {\r\n name : '',\r\n lastname : '',\r\n city : \"\",\r\n city_id : '',\r\n departmentId : '',\r\n address : '',\r\n companies_id : 0,\r\n companies_neme : '',\r\n email : '',\r\n email2 : '',\r\n password : '',\r\n password2 : '',\r\n id : 0,\r\n identification : '',\r\n position : '',\r\n role_id : 2,\r\n role_name : '',\r\n status_id : 1,\r\n store : [],\r\n phoneSign : '+57',\r\n phoneNumber : '',\r\n role : 2,\r\n country_code_phone : '+57',\r\n phone : '',\r\n country_code_cell_phone : '+57',\r\n cell_phone : '',\r\n applications_id : 0,\r\n stores : [],\r\n send_email : 1,\r\n },\r\n data: {\r\n name : '',\r\n lastname : '',\r\n city : \"\",\r\n city_id : '',\r\n departmentId : '',\r\n address : '',\r\n companies_id : 0,\r\n companies_neme : '',\r\n email : '',\r\n email2 : '',\r\n password : '',\r\n password2 : '',\r\n id : 0,\r\n identification : '',\r\n position : '',\r\n role_id : 2,\r\n role_name : '',\r\n status_id : 1,\r\n store : [],\r\n phoneSign : '+57',\r\n phoneNumber : '',\r\n role : 2,\r\n country_code_phone : '+57',\r\n phone : '',\r\n country_code_cell_phone : '+57',\r\n cell_phone : '',\r\n applications_id : 0,\r\n stores : [],\r\n send_email : 1,\r\n }\r\n\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleUserMutations.js\r\n Description: User Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_CLIENTS( state, clients ){\r\n state.clients = clients;\r\n },\r\n\r\n /* SET_CLIENT( state, client ){\r\n state.client = client;\r\n }, */\r\n\r\n SET_CLIENT( state, client ) {\r\n state.client = {\r\n ...state.client,\r\n ...client\r\n };\r\n },\r\n\r\n CLEAR_CLIENT_DATA( state ) {\r\n state.client = {}\r\n }\r\n}","/*=========================================================================================\r\n File Name: moduleUserActions.js\r\n Description: User Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport axios from 'axios';\r\nimport http from '../../http/http-client.js';\r\nconst baseUrl = process.env.VUE_APP_BASE_LOAD;\r\n\r\nlet headers = {\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token',\r\n}\r\nexport default {\r\n getAllRoles( {commit} ) {\r\n http.get( 'api/roles' )\r\n .then( res => {\r\n if( res ) {\r\n commit('SET_ROLES', res.data);\r\n }\r\n });\r\n },\r\n\r\n getAllStores( {commit} ) {\r\n http.get( 'api/shops' )\r\n .then( res => {\r\n if( res ) {\r\n commit('SET_STORES', res.data);\r\n }\r\n });\r\n },\r\n\r\n async getClients( {commit} ) {\r\n const res = await http.get(`api/userClients` );\r\n \r\n if( res ) commit('SET_CLIENTS', res.data);\r\n \r\n return res;\r\n },\r\n async getAllClients( {commit}, payload ) {\r\n const u = new URLSearchParams(payload).toString();\r\n const res = await http.get( `api/userClients?${ u }` );\r\n if( res ) commit( 'SET_CLIENTS', res.data );\r\n return res;\r\n },\r\n\r\n async userClients( {dispatch, commit}, payload ) {\r\n const res = await http.post( 'api/userClients', payload );\r\n if( res ) {\r\n dispatch( 'getAllClients' );\r\n commit('CLEAR_CLIENT_DATA');\r\n }\r\n return res;\r\n },\r\n\r\n getUserById( {commit}, id ) {\r\n return http.get( `api/users/${id}` )\r\n .then( res => {\r\n if( res ) commit( 'SET_USER', res.data[0] );\r\n return res;\r\n });\r\n },\r\n\r\n updateUser( {dispatch, commit}, user ) {\r\n return http.put( `api/userClientsUD/${user.id}`, user )\r\n .then( res => {\r\n if( res ) {\r\n dispatch( 'getAllClients' );\r\n commit('CLEAR_CLIENT_DATA');\r\n }\r\n return res;\r\n });\r\n },\r\n\r\n deleteUser( {dispatch}, userId ) {\r\n return http.delete( `api/users/${userId}` ).then( res => {\r\n if( res ) dispatch( 'getAllUsers' );\r\n return res;\r\n });\r\n },\r\n\r\n updateCLientsForTaskService() {\r\n return axios({\r\n method: 'GET',\r\n url: `${baseUrl}/api/process/sakuraUsers`,\r\n headers\r\n })\r\n .then( res => { return res } )\r\n .catch(err => console.log('err', err) );\r\n },\r\n\r\n async UserClientList() {\r\n const res = await http.get(`api/UserClientList` ); \r\n return res;\r\n },\r\n\r\n async getAllConsumers( {commit}, payload ) {\r\n const u = new URLSearchParams(payload).toString();\r\n const res = await http.get( `api/userConsumers?${ u }` );\r\n if( res ) commit( 'SET_CLIENTS', res.data );\r\n return res;\r\n },\r\n\r\n async userConsumers( {commit}, payload ) {\r\n const res = await http.post( 'api/userConsumers', payload );\r\n if( res ) {\r\n commit('CLEAR_CLIENT_DATA');\r\n }\r\n return res;\r\n },\r\n\r\n async putUserConsumers ( {commit}, payload ) {\r\n const res = await http.put( `api/userConsumers/${payload.id}`, payload );\r\n if( res ) {\r\n commit('CLEAR_CLIENT_DATA');\r\n }\r\n return res;\r\n }\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleUserGetters.js\r\n Description: User Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n \r\n}\r\n","/*=========================================================================================\r\n File Name: moduleUser.js\r\n Description: User Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport state from './state.js';\r\nimport mutations from './mutations.js';\r\nimport actions from './actions.js';\r\nimport getters from './getters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n Description: Applications Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n messages : [],\r\n message : {\r\n title : '',\r\n body : '',\r\n bucket_path : '',\r\n color : '#841910',\r\n sound : '',\r\n image : '',\r\n type_ : '', // TODO pendiente\r\n text : '',\r\n date_ts : 0,\r\n message_data : {\r\n success : 0,\r\n failure : 0,\r\n },\r\n },\r\n}\r\n","/*=========================================================================================\r\n Description: Applications Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n SET_MESSAGES(state, messages) {\r\n state.messages = messages;\r\n },\r\n\r\n SET_MESSAGE(state, message) {\r\n state.message = message;\r\n },\r\n\r\n RESET_MESSAGE(state) {\r\n state.message = {\r\n title : '',\r\n body : '',\r\n bucket_path : '',\r\n color : '#841910',\r\n sound : '',\r\n image : '',\r\n type_ : '', // TODO pendiente\r\n text : '',\r\n date_ts : 0,\r\n message_data : {\r\n success : 0,\r\n failure : 0,\r\n },\r\n }\r\n }\r\n\r\n}\r\n","/*=========================================================================================\r\n Description: Messages Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport http from '../../http/http-client.js';\r\n\r\nexport default {\r\n async create({commit}, message) {\r\n const res = await http.post('api/messaging', message);\r\n if( res ) commit('RESET_MESSAGE');\r\n return res;\r\n },\r\n\r\n async getAll({commit}) {\r\n const res = await http.get('api/messaging');\r\n if( res ) {\r\n commit('SET_MESSAGES', res.data);\r\n commit('RESET_MESSAGE');\r\n }\r\n return res;\r\n },\r\n async get({commit}, id) {\r\n const res = await http.get('api/messaging/' + id);\r\n if( res ) commit('SET_MESSAGE', res.data);\r\n return res;\r\n },\r\n async delete({dispatch}, id) {\r\n const res = await http.get('api/messaging/delete/' + id);\r\n if( res ) dispatch('getAll');\r\n return res;\r\n },\r\n async deleteMassive({dispatch}) {\r\n const res = await http.get('api/messaging/delete_massive');\r\n if( res ) dispatch('getAll');\r\n return res;\r\n }\r\n}\r\n","/*=========================================================================================\r\n Description: Applications Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n}\r\n","/*=========================================================================================\r\n Description: Applications Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport state from './state.js';\r\nimport mutations from './mutations.js';\r\nimport actions from './actions.js';\r\nimport getters from './getters.js';\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n Description: Auth Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\nimport auth from \"@/auth/authService\";\r\n\r\nimport Cookies from 'js-cookie'\r\nimport firebase from 'firebase/app'\r\nimport 'firebase/auth'\r\n\r\nexport default {\r\n isUserLoggedIn: () => {\r\n let isAuthenticated = false\r\n // get firebase current user\r\n const firebaseCurrentUser = firebase.auth().currentUser\r\n if (auth.isAuthenticated() && firebaseCurrentUser) isAuthenticated = true\r\n else isAuthenticated = false\r\n return (Cookies.get('userInfo') && isAuthenticated)\r\n },\r\n}\r\n","/*=========================================================================================\r\n Description: Auth Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport axios from \"../../http/axios/index.js\"\r\n\r\nexport default {\r\n SET_BEARER(state, accessToken) {\r\n axios.defaults.headers.common['Authorization'] = 'Bearer ' + accessToken\r\n }\r\n}\r\n","/*=========================================================================================\r\n Description: Auth Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport jwt from \"../../http/requests/auth/jwt/index.js\"\r\nimport http from '../../http/http-client.js';\r\nimport router from '@/router'\r\n\r\nimport Cookies from 'js-cookie'\r\nimport firebase from 'firebase/app'\r\nimport 'firebase/auth'\r\n\r\nexport default {\r\n loginAttempt({ dispatch }, payload) {\r\n // New payload for login action\r\n const newPayload = {\r\n userDetails : payload.userDetails,\r\n notify : payload.notify,\r\n closeAnimation : payload.closeAnimation,\r\n loginSiti : payload.loginSiti,\r\n }\r\n // If remember_me is enabled change firebase Persistence\r\n if ( !payload.rememberMe ) {\r\n Cookies.remove( 'email' );\r\n // Change firebase Persistence\r\n firebase.auth().setPersistence(firebase.auth.Auth.Persistence.SESSION)\r\n // If success try to login\r\n .then(function() {\r\n dispatch('login', newPayload)\r\n })\r\n // If error notify\r\n .catch(function() {\r\n // Close animation if passed as payload\r\n if(payload.closeAnimation) payload.closeAnimation()\r\n payload.notify({\r\n time: 2500,\r\n title: 'Error',\r\n text: 'El correo electrónico o la contraseña son incorrectos',\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'danger'\r\n })\r\n })\r\n } else {\r\n Cookies.set( 'email', payload.userDetails.email );\r\n // Try to login\r\n dispatch('login', newPayload);\r\n }\r\n },\r\n\r\n login({ commit, state, dispatch }, payload) {\r\n // If user is already logged in notify and exit\r\n if (state.isUserLoggedIn()) {\r\n // Close animation if passed as payload\r\n if(payload.closeAnimation) payload.closeAnimation()\r\n\r\n payload.notify({\r\n title: 'Login Attempt',\r\n text: 'You are already logged in!',\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'warning'\r\n });\r\n \r\n return false\r\n }\r\n\r\n // Try to sigin\r\n firebase.auth().signInWithEmailAndPassword(payload.userDetails.email, payload.userDetails.password)\r\n .then((result) => {\r\n // Set FLAG username update required for updating username\r\n let isUsernameUpdateRequired = false\r\n\r\n if( payload.loginSiti ) { \r\n payload['uid'] = result.user.uid;\r\n payload['photoURL'] = result.user.photoURL;\r\n\r\n dispatch('loginJWT', payload)\r\n .then( () => { if(payload.closeAnimation) payload.closeAnimation() } )\r\n .catch( () => {\r\n if(payload.closeAnimation) payload.closeAnimation()\r\n \r\n payload.notify({\r\n time: 2500,\r\n title: 'Error',\r\n text: 'El correo electrónico o la contraseña son incorrectos',\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'danger'\r\n })\r\n });\r\n return;\r\n }\r\n \r\n // if username is provided and updateUsername FLAG is true\r\n // set local username update FLAG to true\r\n // try to update username\r\n if(payload.updateUsername && payload.userDetails.username) {\r\n isUsernameUpdateRequired = true\r\n\r\n dispatch('updateUsername', {\r\n user: result.user,\r\n username: payload.userDetails.username,\r\n notify: payload.notify,\r\n isReloadRequired: true\r\n });\r\n }\r\n // Close animation if passed as payload\r\n if(payload.closeAnimation) payload.closeAnimation();\r\n\r\n // if username update is not required\r\n // just reload the page to get fresh data\r\n // set new user data in localstorage\r\n if(!isUsernameUpdateRequired) {\r\n router.push(router.currentRoute.query.to || '/')\r\n commit('UPDATE_USER_INFO', result.user.providerData[0], {root: true})\r\n }\r\n }, () => {\r\n // Close animation if passed as payload\r\n if(payload.closeAnimation) payload.closeAnimation()\r\n\r\n payload.notify({\r\n time: 2500,\r\n title: 'Error',\r\n text: 'El correo electrónico o la contraseña son incorrectos',\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'danger'\r\n });\r\n });\r\n },\r\n\r\n // Google Login\r\n loginWithGoogle({commit, state}, payload) {\r\n if (state.isUserLoggedIn()) {\r\n payload.notify({\r\n title: 'Login Attempt',\r\n text: 'You are already logged in!',\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'warning'\r\n });\r\n return false;\r\n }\r\n const provider = new firebase.auth.GoogleAuthProvider()\r\n\r\n firebase.auth().signInWithPopup(provider)\r\n .then((result) => {\r\n router.push(router.currentRoute.query.to || '/')\r\n commit('UPDATE_USER_INFO', result.user.providerData[0], {root: true})\r\n }).catch((err) => {\r\n payload.notify({\r\n time: 2500,\r\n title: 'Error',\r\n text: err.message,\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'danger'\r\n });\r\n });\r\n },\r\n\r\n // Facebook Login\r\n loginWithFacebook({commit, state}, payload) {\r\n if (state.isUserLoggedIn()) {\r\n payload.notify({\r\n title: 'Login Attempt',\r\n text: 'You are already logged in!',\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'warning'\r\n });\r\n return false;\r\n }\r\n const provider = new firebase.auth.FacebookAuthProvider()\r\n\r\n firebase.auth().signInWithPopup(provider)\r\n .then((result) => {\r\n router.push(router.currentRoute.query.to || '/')\r\n commit('UPDATE_USER_INFO', result.user.providerData[0], {root: true})\r\n }).catch((err) => {\r\n payload.notify({\r\n time: 2500,\r\n title: 'Error',\r\n text: err.message,\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'danger'\r\n });\r\n });\r\n },\r\n\r\n // Twitter Login\r\n loginWithTwitter({commit, state}, payload) {\r\n if (state.isUserLoggedIn()) {\r\n payload.notify({\r\n title: 'Login Attempt',\r\n text: 'You are already logged in!',\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'warning'\r\n });\r\n return false;\r\n }\r\n const provider = new firebase.auth.TwitterAuthProvider()\r\n\r\n firebase.auth().signInWithPopup(provider)\r\n .then((result) => {\r\n router.push(router.currentRoute.query.to || '/')\r\n commit('UPDATE_USER_INFO', result.user.providerData[0], {root: true})\r\n }).catch((err) => {\r\n payload.notify({\r\n time: 2500,\r\n title: 'Error',\r\n text: err.message,\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'danger'\r\n });\r\n });\r\n },\r\n\r\n // Github Login\r\n loginWithGithub({commit, state}, payload) {\r\n if (state.isUserLoggedIn()) {\r\n payload.notify({\r\n title: 'Login Attempt',\r\n text: 'You are already logged in!',\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'warning'\r\n });\r\n return false;\r\n }\r\n const provider = new firebase.auth.GithubAuthProvider()\r\n\r\n firebase.auth().signInWithPopup(provider)\r\n .then((result) => {\r\n router.push(router.currentRoute.query.to || '/')\r\n commit('UPDATE_USER_INFO', result.user.providerData[0], {root: true})\r\n }).catch((err) => {\r\n payload.notify({\r\n time: 2500,\r\n title: 'Error',\r\n text: err.message,\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'danger'\r\n });\r\n });\r\n },\r\n\r\n registerUser({dispatch}, payload) {\r\n // create user using firebase\r\n firebase.auth().createUserWithEmailAndPassword(payload.userDetails.email, payload.userDetails.password)\r\n .then(() => {\r\n payload.notify({\r\n title: 'Account Created',\r\n text: 'You are successfully registered!',\r\n iconPack: 'feather',\r\n icon: 'icon-check',\r\n color: 'success'\r\n });\r\n\r\n const newPayload = {\r\n userDetails: payload.userDetails,\r\n notify: payload.notify,\r\n updateUsername: true\r\n }\r\n dispatch('login', newPayload)\r\n }, (error) => {\r\n payload.notify({\r\n title: 'Error',\r\n text: error.message,\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'danger'\r\n });\r\n });\r\n },\r\n\r\n updateUsername({ commit }, payload) {\r\n payload.user.updateProfile({\r\n displayName: payload.username\r\n }).then(() => {\r\n // If username update is success\r\n // update in localstorage\r\n let newUserData = Object.assign({}, payload.user.providerData[0])\r\n newUserData.displayName = payload.username\r\n commit('UPDATE_USER_INFO', newUserData, {root: true})\r\n // If reload is required to get fresh data after update\r\n // Reload current page\r\n if(payload.isReloadRequired) {\r\n router.push(router.currentRoute.query.to || '/')\r\n }\r\n }).catch((err) => {\r\n payload.notify({\r\n time: 8800,\r\n title: 'Error',\r\n text: err.message,\r\n iconPack: 'feather',\r\n icon: 'icon-alert-circle',\r\n color: 'danger'\r\n });\r\n });\r\n },\r\n\r\n // JWT\r\n loginJWT({ commit }, payload) {\r\n return new Promise((resolve,reject) => {\r\n jwt.login(payload.userDetails.email, payload.userDetails.password, payload.uid)\r\n .then(response => {\r\n // If there's user data in response\r\n if( response.data ) {\r\n // Navigate User to homepage\r\n // router.push(router.currentRoute.query.to || '/') DISABLED to return access token\r\n // Set accessToken\r\n Cookies.set( \"accessToken\", response.data.authorization.access_token );\r\n // Update user details\r\n commit(\r\n 'UPDATE_USER_INFO', {\r\n ...response.data,\r\n ...payload, // Merge data with firebase,\r\n userDetails: null, // Clean auth data\r\n }, \r\n {root: true}\r\n );\r\n // Set bearer token in axios\r\n commit( \"SET_BEARER\", response.data.auth_grants.access_token );\r\n // Navigate User to homepage\r\n window.location.href = router.currentRoute.query.to || '/';\r\n \r\n resolve(response);\r\n\r\n } else {\r\n reject({message: \"Wrong Email or Password\"})\r\n }\r\n })\r\n .catch( () => {\r\n reject({message: `error` })\r\n });\r\n });\r\n },\r\n\r\n registerUserJWT({ commit }, payload) {\r\n const { displayName, email, password, confirmPassword } = payload.userDetails\r\n\r\n return new Promise((resolve,reject) => {\r\n // Check confirm password\r\n if(password !== confirmPassword) {\r\n reject({message: \"Password doesn't match. Please try again.\"})\r\n }\r\n\r\n jwt.registerUser(displayName, email, password)\r\n .then(response => {\r\n // Redirect User\r\n router.push(router.currentRoute.query.to || '/')\r\n // Update data in localStorage\r\n Cookies.set(\"accessToken\", response.data.accessToken)\r\n commit('UPDATE_USER_INFO', response.data.userData, {root: true})\r\n\r\n resolve(response)\r\n })\r\n .catch(error => { reject(error) })\r\n })\r\n },\r\n\r\n fetchAccessToken() {\r\n return new Promise((resolve) => {\r\n jwt.refreshToken().then(response => { resolve(response) })\r\n });\r\n },\r\n\r\n changePassword( _, password ) {\r\n const user = firebase.auth().currentUser;\r\n\r\n return user.updatePassword( password )\r\n .then(() => {\r\n return { 'ok': 'password changed' };\r\n })\r\n .catch( (err) => {\r\n return { 'err': err.message };\r\n });\r\n },\r\n\r\n logout( ) {\r\n let queryEncoded = '';\r\n\r\n http.get( 'api/logout' )\r\n .then( res => {\r\n if( res ) {\r\n console.warn('Sesión cerrada de servicio');\r\n }\r\n // if user is logged in via firebase\r\n const firebaseCurrentUser = firebase.auth().currentUser\r\n\r\n if (firebaseCurrentUser) {\r\n firebase.auth().signOut().then(() => console.log('sesión cerrada de firebase') );\r\n }\r\n // If JWT token\r\n if(Cookies.get(\"accessToken\")) {\r\n Cookies.remove(\"accessToken\")\r\n }\r\n // Change role on logout. Same value as initialRole of acj.js\r\n // this.$acl.change('admin');\r\n Cookies.remove('userInfo')\r\n // This is just for demo Purpose. If user clicks on logout -> redirect\r\n window.location.href = `/auth/login?${queryEncoded}`;\r\n });\r\n },\r\n\r\n recoveryFbPwd( _, email) {\r\n const actionCodeSettings = {\r\n url : process.env.VUE_APP_MAIN_ADDRESS,\r\n };\r\n\r\n return firebase.auth().sendPasswordResetEmail( email, actionCodeSettings )\r\n .then( () => {\r\n return true;\r\n })\r\n .catch( (err) => {\r\n console.error( err.message );\r\n return true;\r\n });\r\n },\r\n}\r\n","/*=========================================================================================\r\n Description: Auth Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nexport default {}\r\n","/*=========================================================================================\r\n File Name: moduleAuth.js\r\n Description: Auth Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './state.js'\r\nimport mutations from './mutations.js'\r\nimport actions from './actions.js'\r\nimport getters from './getters.js'\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state: state,\r\n mutations: mutations,\r\n actions: actions,\r\n getters: getters\r\n}\r\n","/*=========================================================================================\r\n File Name: store.js\r\n Description: Vuex store\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Sitidoctor - plantilla aliado\r\n Author: Miguel A. Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nimport state from \"./state\"\r\nimport getters from \"./getters\"\r\nimport mutations from \"./mutations\"\r\nimport actions from \"./actions\"\r\n\r\nVue.use(Vuex)\r\n\r\nimport moduleECommerce from './eCommerce/moduleECommerce.js';\r\nimport moduleNotification from './notification/moduleNotification.js';\r\nimport moduleCustomers from './customers/moduleCustomers.js';\r\nimport moduleIndicators from './indicators/moduleIndicators.js';\r\nimport moduleRolesPermissions from './roles-permissions/moduleRolesPermissions.js';\r\nimport stores from './stores/index';\r\nimport applications from './applications/index.js';\r\nimport doctors from './doctors/index';\r\nimport calendar from './calendar/index';\r\nimport firebase from './firebase/index';\r\nimport products from './products/index';\r\nimport categories from './categories/index';\r\nimport promotions from './promotions/index.js';\r\nimport inventories from './inventories/index.js';\r\nimport preorders from './preorders/index.js';\r\nimport tracking from './tracking/index.js';\r\nimport location from './location/';\r\nimport users from './users';\r\nimport clients from './clients';\r\nimport messages from './messages';\r\nimport auth from './auth';\r\n\r\nexport default new Vuex.Store({\r\n getters,\r\n mutations,\r\n state,\r\n actions,\r\n modules: {\r\n // todo: moduleTodo,\r\n // calendar: moduleCalendar,\r\n // chat: moduleChat,\r\n // email: moduleEmail,\r\n eCommerce : moduleECommerce,\r\n notification : moduleNotification,\r\n customers : moduleCustomers,\r\n indicators : moduleIndicators,\r\n rolesPermissions : moduleRolesPermissions,\r\n stores,\r\n applications,\r\n doctors,\r\n calendar,\r\n firebase,\r\n products,\r\n categories,\r\n promotions,\r\n inventories,\r\n preorders,\r\n tracking,\r\n location,\r\n users,\r\n clients,\r\n messages,\r\n auth,\r\n },\r\n strict: process.env.NODE_ENV !== 'production'\r\n})\r\n","module.exports = __webpack_public_path__ + \"img/avatar-s-8.2579bd6d.png\";","/*=========================================================================================\r\n File Name: themeConfig.js\r\n Description: Theme configuration\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n==========================================================================================*/\r\n\r\n// MAIN COLORS - VUESAX THEME COLORS\r\nlet colors = {\r\n\tprimary : '#00C8EB',\r\n\tsuccess : '#28C76F',\r\n\tdanger : '#EA5455',\r\n\twarning : '#F7BF51',\r\n dark : '#1E1E1E',\r\n}\r\n\r\nimport Vue from 'vue'\r\nimport Vuesax from 'vuesax'\r\nVue.use(Vuesax, { theme:{ colors } })\r\n\r\n\r\n// CONFIGS\r\nconst themeConfig = {\r\n disableCustomizer : false, // options[Boolean] : true, false(default)\r\n disableThemeTour : false, // options[Boolean] : true, false(default)\r\n footerType : \"static\", // options[String] : static(default) / sticky / hidden\r\n hideScrollToTop : false, // options[Boolean] : true, false(default)\r\n mainLayoutType : \"vertical\", // options[String] : vertical(default) / horizontal\r\n navbarColor : \"transparent\", // options[String] : HEX color / rgb / rgba / Valid HTML Color name - (default: #fff)\r\n navbarType : \"static\", // options[String] : floating(default) / static / sticky / hidden\r\n routerTransition : \"zoom-fade\", // options[String] : zoom-fade / slide-fade / fade-bottom / fade / zoom-out / none(default)\r\n sidebarCollapsed : true, // options[Boolean] : true, false(default)\r\n theme : \"semi-dark\", // options[String] : \"light\"(default), \"dark\", \"semi-dark\"\r\n\r\n // Not required yet - WIP\r\n userInfoLocalStorageKey: \"userInfo\",\r\n\r\n // NOTE: themeTour will be disabled in screens < 1200. Please refer docs for more info.\r\n}\r\n\r\nexport default themeConfig\r\n","module.exports = __webpack_public_path__ + \"img/avatar-s-7.9241b5d6.png\";","module.exports = __webpack_public_path__ + \"img/es.10510a94.png\";","module.exports = __webpack_public_path__ + \"img/card-image-6.b26faf1e.jpg\";","module.exports = __webpack_public_path__ + \"img/avatar-s-1.8edbcded.png\";","/*=========================================================================================\r\n Description: Calendar Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nexport default {\r\n\r\n // Calendar Labels\r\n eventLabels: [\r\n { text: 'Disponible' ,value : 'disponible', color: 'primary' },\r\n { text: 'Personal', value: 'personal', color: 'warning'},\r\n { text: 'Asignada', value: 'asignada', color: 'info'},\r\n ],\r\n\r\n // Simple Calendar State\r\n events: [\r\n // { \r\n // id: 1,\r\n // title: 'Cita1',\r\n // startDate: new Date(new Date() - 1000 * 60 * 60 * 24 * 3),\r\n // endDate: new Date(new Date() - 1000 * 60 * 60 * 24 * 2),\r\n // url: '',\r\n // classes: 'event-primary',\r\n // label: 'business'\r\n // },\r\n ]\r\n}\r\n","/*=========================================================================================\r\n Description: Calendar Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nexport default {\r\n ADD_EVENT(state, event) {\r\n state.events.push(event)\r\n },\r\n SET_EVENTS(state, events) {\r\n state.events = events\r\n },\r\n SET_LABELS(state, labels) {\r\n state.eventLabels = labels\r\n },\r\n UPDATE_EVENT(state, event) {\r\n const eventIndex = state.events.findIndex((e) => e.id == event.id)\r\n Object.assign(state.events[eventIndex], event)\r\n },\r\n REMOVE_EVENT(state, eventId) {\r\n const eventIndex = state.events.findIndex((e) => e.id == eventId)\r\n state.events.splice(eventIndex, 1)\r\n },\r\n}\r\n","/*=========================================================================================\r\n Description: Calendar Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport axios from \"@/axios.js\"\r\nimport sitiHttp from \"../../http/siti-http-client\";\r\n\r\nexport default {\r\n addEvent({ commit }, event) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(\"/api/apps/calendar/events/\", {event: event})\r\n .then((response) => {\r\n commit('ADD_EVENT', Object.assign(event, {id: response.data.id}))\r\n resolve(response)\r\n })\r\n .catch((error) => { reject(error) })\r\n })\r\n },\r\n fetchEvents({ commit }) {\r\n return new Promise((resolve, reject) => {\r\n axios.get(\"/api/apps/calendar/events\")\r\n .then((response) => {\r\n commit('SET_EVENTS', response.data)\r\n resolve(response)\r\n })\r\n .catch((error) => { reject(error) })\r\n })\r\n },\r\n fetchEventLabels({ commit }) {\r\n return new Promise((resolve, reject) => {\r\n axios.get(\"/api/apps/calendar/labels\")\r\n .then((response) => {\r\n commit('SET_LABELS', response.data)\r\n resolve(response)\r\n })\r\n .catch((error) => { reject(error) })\r\n })\r\n },\r\n editEvent({ commit }, event) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`/api/apps/calendar/event/${event.id}`, {event: event})\r\n .then((response) => {\r\n\r\n // Convert Date String to Date Object\r\n let event = response.data\r\n event.startDate = new Date(event.startDate)\r\n event.endDate = new Date(event.endDate)\r\n\r\n commit('UPDATE_EVENT', event)\r\n resolve(response)\r\n })\r\n .catch((error) => { reject(error) })\r\n })\r\n },\r\n removeEvent({ commit }, eventId) {\r\n return new Promise((resolve, reject) => {\r\n axios.delete(`/api/apps/calendar/event/${eventId}`)\r\n .then((response) => {\r\n commit('REMOVE_EVENT', response.data)\r\n resolve(response)\r\n })\r\n .catch((error) => { reject(error) })\r\n })\r\n },\r\n eventDragged({ commit }, payload) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`/api/apps/calendar/event/dragged/${payload.event.id}`, {payload: payload})\r\n .then((response) => {\r\n\r\n // Convert Date String to Date Object\r\n let event = response.data\r\n event.startDate = new Date(event.startDate)\r\n event.endDate = new Date(event.endDate)\r\n\r\n commit('UPDATE_EVENT', event)\r\n resolve(response)\r\n })\r\n .catch((error) => { reject(error) })\r\n })\r\n },\r\n fetchDoctorEvents( _, payload ) {\r\n return sitiHttp.post( '/api/v1/scheduler/list', payload )\r\n .then( res => {\r\n if( res ) return res.data;\r\n return res;\r\n });\r\n },\r\n}\r\n","/*=========================================================================================\r\n Description: Calendar Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nexport default {\r\n getEvent: state => (eventId) => state.events.find((event) => event.id == eventId),\r\n}\r\n","/*=========================================================================================\r\n Description: Calendar Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './state.js'\r\nimport mutations from './mutations.js'\r\nimport actions from './actions.js'\r\nimport getters from './getters.js'\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n}\r\n","/*=========================================================================================\r\n File Name: router.js\r\n Description: Routes for vue-router. Lazy loading is enabled.\r\n Object Strucutre:\r\n path => router path\r\n name => router name\r\n component(lazy loading) => component to load\r\n meta : {\r\n rule => which user can have access (ACL)\r\n breadcrumb => Add breadcrumb to specific page\r\n pageTitle => Display title besides breadcrumb\r\n }\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport Vue from \"vue\";\r\nimport Router from \"vue-router\";\r\nimport auth from \"@/auth/authService\";\r\n\r\nimport firebase from \"firebase/app\";\r\nimport \"firebase/auth\";\r\n\r\nVue.use(Router);\r\n\r\nconst router = new Router({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n scrollBehavior() {\r\n return { x: 0, y: 0 };\r\n },\r\n routes: [\r\n {\r\n // =============================================================================\r\n // MAIN LAYOUT ROUTES\r\n // =============================================================================\r\n path: \"/\",\r\n component: () => import(\"./layouts/main/Main.vue\"),\r\n children: [\r\n // =============================================================================\r\n // Theme Routes\r\n // =============================================================================\r\n {\r\n path: \"\",\r\n redirect: \"/app\",\r\n },\r\n {\r\n path: \"app\",\r\n // name: 'app',\r\n component: () => import(\"./views/app/Index\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n },\r\n children: [\r\n // =============================================================================\r\n // App child Routes\r\n // =============================================================================\r\n {\r\n path: \"\",\r\n redirect: \"/app/dashboard\",\r\n },\r\n // dashboard\r\n {\r\n path: \"dashboard\",\r\n name: \"app-dashboard\",\r\n component: () => import(\"./views/app/dashboard/Index\"),\r\n meta: {\r\n // rule: 'admin',\r\n analytics: \"dashboard\",\r\n authRequired: true,\r\n title: \"Inicio\",\r\n },\r\n },\r\n // notificaciones\r\n {\r\n path: \"notifications/:id\",\r\n name: \"app-notifications\",\r\n component: () => import(\"./views/app/notifications/Index\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n },\r\n },\r\n // perfil\r\n {\r\n path: \"profile\",\r\n name: \"app-profile\",\r\n component: () => import(\"./views/app/profile/Index.vue\"),\r\n meta: {\r\n //rule: \"admin\",\r\n authRequired: true,\r\n title: \"Mi Perfil\"\r\n },\r\n },\r\n {\r\n path: \"profile\",\r\n name: \"app-profile\",\r\n component: () => import(\"./views/app/profile/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n },\r\n },\r\n // usuarios\r\n {\r\n path: \"users\",\r\n name: \"app-users\",\r\n component: () => import(\"./views/app/users/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Usuarios\",\r\n perms: \"MANAGE_USERS, OWNER\",\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n redirect: \"list\",\r\n },\r\n {\r\n path: \"list\",\r\n name: \"app-users-list\",\r\n component: () => import(\"./views/app/users/List.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Usuarios\",\r\n perms: \"MANAGE_USERS, OWNER\",\r\n },\r\n },\r\n {\r\n path: \"new\",\r\n name: \"app-users-new\",\r\n component: () => import(\"./views/app/users/New.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Usuarios\",\r\n perms: \"MANAGE_USERS, OWNER\",\r\n },\r\n },\r\n ],\r\n },\r\n // clientes\r\n {\r\n path: \"clients\",\r\n name: \"app-clients\",\r\n component: () => import(\"./views/app/clients/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Clientes\",\r\n perms: \"MANAGE_USERS, OWNER\",\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n redirect: \"list\",\r\n },\r\n {\r\n path: \"list\",\r\n name: \"app-clients-list\",\r\n component: () => import(\"./views/app/clients/List.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Clientes\",\r\n perms: \"MANAGE_USERS, OWNER\",\r\n },\r\n },\r\n {\r\n path: \"new\",\r\n name: \"app-clients-new\",\r\n component: () => import(\"./views/app/clients/New.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Clientes\",\r\n perms: \"MANAGE_USERS, OWNER\",\r\n },\r\n },\r\n ],\r\n },\r\n // consumers\r\n {\r\n path: \"consumers\",\r\n name: \"app-consumers\",\r\n component: () => import(\"./views/app/consumers/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Consumers\",\r\n perms: \"MANAGE_USERS, OWNER\",\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n redirect: \"list\",\r\n },\r\n {\r\n path: \"list\",\r\n name: \"app-consumers-list\",\r\n component: () => import(\"./views/app/consumers/List.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Consumers\",\r\n perms: \"MANAGE_USERS, OWNER\",\r\n },\r\n },\r\n {\r\n path: \"new\",\r\n name: \"app-consumers-new\",\r\n component: () => import(\"./views/app/consumers/New.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Consumers\",\r\n perms: \"MANAGE_USERS, OWNER\",\r\n },\r\n },\r\n {\r\n path: \"edit/:id\",\r\n name: \"app-consumers-edit\",\r\n component: () => import(\"./views/app/consumers/Edit.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Consumers\",\r\n perms: \"MANAGE_USERS, OWNER\",\r\n },\r\n },\r\n ],\r\n },\r\n // Inventario\r\n /* {\r\n path: \"inventory\",\r\n name: \"app-inventory\",\r\n component: () => import(\"./views/app/inventory/Index.vue\"),\r\n children: [\r\n {\r\n path: \"\",\r\n redirect: \"list\",\r\n },\r\n {\r\n path: \"list\",\r\n name: \"app-inventory-list\",\r\n component: () => import(\"./views/app/inventory/List.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Inventario\",\r\n perms: \"MANAGE_INVENTORIES, READ_INVENTORIES\",\r\n },\r\n },\r\n {\r\n path: \"load\",\r\n name: \"app-inventory-load\",\r\n component: () => import(\"./views/app/inventory/Load.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Inventario\",\r\n perms: \"MANAGE_INVENTORIES, READ_INVENTORIES\",\r\n },\r\n },\r\n ],\r\n }, */\r\n // Preorders\r\n {\r\n path: \"preorders\",\r\n name: \"app-preorders\",\r\n component: () => import(\"./views/app/preorders/Index.vue\"),\r\n children: [\r\n {\r\n path: \"\",\r\n redirect: \"list\",\r\n },\r\n {\r\n path: \"list\",\r\n name: \"app-preorders-list\",\r\n component: () => import(\"./views/app/preorders/List.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"PreOrders\",\r\n perms: \"MANAGE_INVENTORIES, READ_INVENTORIES\",\r\n },\r\n },\r\n {\r\n path: \"load\",\r\n name: \"app-preorders-load\",\r\n component: () => import(\"./views/app/preorders/Load.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"PreOrders\",\r\n perms: \"MANAGE_INVENTORIES, READ_INVENTORIES\",\r\n },\r\n },\r\n ],\r\n },\r\n // productos\r\n {\r\n path: \"products\",\r\n // name: 'app-products',\r\n component: () => import(\"./views/app/products/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n name: \"app-products-index\",\r\n component: () => import(\"./views/app/products/CardList.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Productos\",\r\n perms: \"MANAGE_PRODUCTS, READ_PRODUCTS\",\r\n },\r\n },\r\n {\r\n path: \"new\",\r\n name: \"app-products-new\",\r\n component: () =>\r\n import(\"./views/app/products/NewProducts.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Agregar Producto\",\r\n perms: \"MANAGE_PRODUCTS, READ_PRODUCTS\",\r\n },\r\n },\r\n /* {\r\n path : 'leads',\r\n name : 'app-products-leads',\r\n component : () => import('./views/app/products/leads/Index.vue'),\r\n meta: {\r\n rule: 'admin',\r\n authRequired: true,\r\n perms: 'MANAGE_PRODUCTS, READ_PRODUCTS',\r\n title : 'Productos lead'\r\n },\r\n }, */\r\n // categorias\r\n {\r\n path: \"categories\",\r\n name: \"app-product-categories\",\r\n component: () =>\r\n import(\"./views/app/products/categories/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Agregar Producto\",\r\n perms: \"MANAGE_PRODUCTS, READ_PRODUCTS\",\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n redirect: \"/app/products/categories/load\",\r\n },\r\n {\r\n path: \"load\",\r\n name: \"app-product-categories-load\",\r\n component: () =>\r\n import(\"./views/app/products/categories/Load.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Agregar Producto\",\r\n perms: \"MANAGE_PRODUCTS, READ_PRODUCTS\",\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n // tiendas\r\n {\r\n path: \"stores\",\r\n // name: 'app-stores',\r\n component: () => import(\"./views/app/stores/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n name: \"app-stores-index\",\r\n component: () => import(\"./views/app/stores/StoresList.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Tiendas\",\r\n perms: \"MANAGE_SHOPS, READ_SHOPS\",\r\n },\r\n },\r\n // new\r\n {\r\n path: \"new\",\r\n name: \"app-stores-new\",\r\n component: () => import(\"./views/app/stores/new/Index.vue\"),\r\n children: [\r\n {\r\n path: \"\",\r\n name: \"app-stores-new-selection\",\r\n component: () => import(\"./views/app/stores/new/New.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Agregar Tienda\",\r\n perms: \"MANAGE_SHOPS, READ_SHOPS\",\r\n },\r\n },\r\n {\r\n path: \"form\",\r\n name: \"app-stores-new-form\",\r\n component: () =>\r\n import(\"./views/app/stores/new/Form.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n perms: \"MANAGE_SHOPS, READ_SHOPS\",\r\n },\r\n },\r\n {\r\n path: \"massive\",\r\n name: \"app-stores-new-massive\",\r\n component: () =>\r\n import(\"./views/app/stores/new/Massive.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n perms: \"MANAGE_SHOPS, READ_SHOPS\",\r\n },\r\n },\r\n ],\r\n },\r\n // uploads\r\n {\r\n path: \"uploads\",\r\n name: \"app-stores-upload\",\r\n component: () =>\r\n import(\"./views/app/stores/upload/Index.vue\"),\r\n children: [\r\n {\r\n path: \"zones\",\r\n name: \"app-stores-upload-zones\",\r\n component: () =>\r\n import(\"./views/app/stores/upload/UploadZones.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Agregar Tienda\",\r\n perms: \"MANAGE_SHOPS, READ_SHOPS\",\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n // orders\r\n {\r\n path: \"orders\",\r\n // name: 'app-orders',\r\n component: () => import(\"./views/app/orders/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n name: \"app-orders-index\",\r\n component: () =>\r\n import(\"./views/app/orders/OrdersHistoryList.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Historial de Pedidos\",\r\n perms: \"MANAGE_ORDERS, READ_ORDERS\",\r\n },\r\n },\r\n {\r\n path: \"in-progress\",\r\n name: \"app-orders-in-progress\",\r\n component: () =>\r\n import(\"./views/app/orders/OrdersInProgress.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Pedidos en Progreso\",\r\n perms: \"MANAGE_ORDERS, READ_ORDERS\",\r\n },\r\n },\r\n ],\r\n },\r\n // clientes\r\n {\r\n path: \"customers\",\r\n // name: 'app-customers',\r\n component: () => import(\"./views/app/customers/Index.vue\"),\r\n /* meta: {\r\n rule: 'admin',\r\n authRequired: true,\r\n },\r\n children: [\r\n {\r\n path: '',\r\n redirect: '/app/customers/support'\r\n },\r\n {\r\n path: 'support',\r\n // name: 'app-customers-support',\r\n component: () => import('./views/app/customers/support/Index.vue'),\r\n meta: {\r\n rule: 'admin',\r\n authRequired: true,\r\n },\r\n children: [\r\n {\r\n path: '',\r\n name: 'app-customers-support-index',\r\n component: () => import('./views/app/customers/support/CustomerSupportList.vue'),\r\n meta: {\r\n rule: 'admin',\r\n authRequired: true,\r\n title: 'Atención al Cliente',\r\n perms: 'MANAGE_CALLCENTER, CREATE_CALLCENTER',\r\n }\r\n },\r\n {\r\n path: 'new',\r\n name: 'app-customers-support-new',\r\n component: () => import('./views/app/customers/support/CustomerSupportNew.vue'),\r\n meta: {\r\n rule: 'admin',\r\n authRequired: true,\r\n title: 'Agregar Nueva Linea de Atención al Cliente',\r\n perms: 'MANAGE_CALLCENTER, CREATE_CALLCENTER',\r\n }\r\n },\r\n ]\r\n },\r\n ] */\r\n },\r\n // indicadores\r\n /* {\r\n path: 'indicators',\r\n name: 'app-indicators',\r\n component: () => import('./views/app/indicators/Index.vue'),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Indicadores\",\r\n perms: \"MANAGE_INDICATOR, READ_INDICATOR\",\r\n },\r\n }, */\r\n // promociones\r\n {\r\n path: \"promotions\",\r\n name: \"app-promotions\",\r\n component: () => import(\"./views/app/promotions/Index.vue\"),\r\n children: [\r\n {\r\n path: \"\",\r\n name: \"app-promotions-list\",\r\n component: () =>\r\n import(\"./views/app/promotions/list/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Promociones\",\r\n perms: \"MANAGE_PROMOTION, READ_PROMOTION\",\r\n },\r\n },\r\n {\r\n path: \"add\",\r\n name: \"app-promotions-add\",\r\n component: () =>\r\n import(\"./views/app/promotions/add/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Crear una promoción\",\r\n perms: \"MANAGE_PROMOTION, READ_PROMOTION\",\r\n },\r\n },\r\n {\r\n path: \"edit/:id\",\r\n name: \"app-promotions-edit\",\r\n component: () =>\r\n import(\"./views/app/promotions/edit/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Editar una promoción\",\r\n perms: \"MANAGE_PROMOTION, READ_PROMOTION\",\r\n },\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"app-promotions-detail\",\r\n component: () =>\r\n import(\"./views/app/promotions/detail/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Detalle de una promociónß\",\r\n perms: \"MANAGE_PROMOTION, READ_PROMOTION\",\r\n },\r\n },\r\n {\r\n path: \"oldlist\",\r\n name: \"app-promotions-old-list\",\r\n component: () =>\r\n import(\"./views/app/promotions/oldlist/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Promociones\",\r\n perms: \"MANAGE_PROMOTION, READ_PROMOTION\",\r\n },\r\n },\r\n // PROMOTION RULES\r\n {\r\n path: \"rules\",\r\n name: \"app-promotions-rules\",\r\n component: () =>\r\n import(\"./views/app/promotions/rules/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Lista de reglas\",\r\n perms: \"MANAGE_PROMOTION, READ_PROMOTION\",\r\n },\r\n },\r\n {\r\n path: \"rules/add\",\r\n name: \"app-promotions-rules-add\",\r\n component: () =>\r\n import(\"./views/app/promotions/rules/add/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Crear nueva regla\",\r\n perms: \"MANAGE_PROMOTION, READ_PROMOTION\",\r\n },\r\n },\r\n {\r\n path: \"rules/edit/:id\",\r\n name: \"app-promotions-rules-edit\",\r\n component: () =>\r\n import(\"./views/app/promotions/rules/edit/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Editar nueva regla\",\r\n perms: \"MANAGE_PROMOTION, READ_PROMOTION\",\r\n },\r\n },\r\n {\r\n path: \"rules/detail/:id\",\r\n name: \"app-promotions-rules-detail\",\r\n component: () =>\r\n import(\"./views/app/promotions/rules/detail/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Detalles una regla\",\r\n perms: \"MANAGE_PROMOTION, READ_PROMOTION\",\r\n },\r\n },\r\n // BANNERS\r\n {\r\n path: \"banners\",\r\n name: \"app-promotions-banners\",\r\n component: () =>\r\n import(\"./views/app/promotions/banners/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Lista de banners\",\r\n perms: \"MANAGE_PROMOTION, READ_PROMOTION\",\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n name: \"app-promotions-banners-list\",\r\n component: () =>\r\n import(\"./views/app/promotions/banners/List.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Crear nuevo banner\",\r\n perms: \"MANAGE_PROMOTION, READ_PROMOTION\",\r\n },\r\n },\r\n {\r\n path: \"new\",\r\n name: \"app-promotions-banners-new\",\r\n component: () =>\r\n import(\"./views/app/promotions/banners/New.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Crear nuevo banner\",\r\n perms: \"MANAGE_PROMOTION, READ_PROMOTION\",\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n // aliados\r\n {\r\n path: \"applications\",\r\n // name: 'app-applications',\r\n component: () => import(\"./views/app/applications/Index.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Aliados\",\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n redirect: \"/app/applications/list\",\r\n },\r\n {\r\n path: \"list\",\r\n name: \"app-applications-list\",\r\n component: () => import(\"./views/app/applications/List.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Aliados\",\r\n perms: \"OWNER\",\r\n },\r\n },\r\n {\r\n path: \"create\",\r\n name: \"app-applications-create\",\r\n component: () =>\r\n import(\"./views/app/applications/Create.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Aliados\",\r\n perms: \"OWNER\",\r\n },\r\n },\r\n ],\r\n },\r\n // medicos\r\n /* {\r\n path : 'doctors',\r\n name : 'app-doctors',\r\n component : () => import(\"./views/app/doctors/Index.vue\"),\r\n children : [\r\n {\r\n path : '',\r\n redirect : '/app/doctors/find',\r\n },\r\n {\r\n path : 'find',\r\n name : 'app-doctors-find',\r\n component : () => import(\"./views/app/doctors/Find.vue\"),\r\n meta: {\r\n rule: 'admin',\r\n authRequired: true,\r\n title: 'Lista de médicos',\r\n perms: 'OWNER',\r\n },\r\n },\r\n {\r\n path : 'profile',\r\n name: 'app-doctors-profile',\r\n component: () => import(\"./views/app/doctors/profile/Index.vue\"),\r\n children: [\r\n {\r\n path: '',\r\n redirect: '/app/doctors/find'\r\n },\r\n {\r\n path: ':id',\r\n name: 'app-doctors-profile-resume',\r\n component: () => import(\"./views/app/doctors/profile/Resume.vue\"),\r\n meta: {\r\n rule: 'admin',\r\n authRequired: true,\r\n title: 'Perfil médico',\r\n perms: 'OWNER',\r\n },\r\n },\r\n ]\r\n },\r\n {\r\n path : 'appointments/:id',\r\n name: 'app-doctors-appointments',\r\n component: () => import(\"./views/app/doctors/profile/Appointments.vue\"),\r\n meta: {\r\n rule: 'admin',\r\n authRequired: true,\r\n title: 'Citas disponibles',\r\n perms: 'OWNER',\r\n },\r\n },\r\n {\r\n path: 'calendar/:id',\r\n name: 'app-doctors-calendar',\r\n component: () => import(\"./views/app/doctors/calendar/Index.vue\"),\r\n children : [\r\n {\r\n path: '',\r\n name: 'app-doctors-calendar-list',\r\n component: () => import(\"./views/app/doctors/calendar/Calendar.vue\"),\r\n meta: {\r\n rule: 'admin',\r\n authRequired: true,\r\n title: 'Agenda médica',\r\n perms: 'OWNER',\r\n },\r\n },\r\n {\r\n path: 'delete-massive',\r\n name: 'app-doctors-calendar-delete-massive',\r\n component: () => import(\"./views/app/doctors/calendar/DeleteMassive.vue\"),\r\n meta: {\r\n rule: 'admin',\r\n authRequired: true,\r\n title: 'Eliminación masiva de agenda médica',\r\n perms: 'OWNER',\r\n },\r\n },\r\n ]\r\n },\r\n ]\r\n }, */\r\n // coupons\r\n {\r\n path: \"coupons\",\r\n name: \"app-coupons\",\r\n component: () => import(\"./views/app/coupons/Index.vue\"),\r\n children: [\r\n {\r\n path: \"\",\r\n redirect: \"list\",\r\n },\r\n {\r\n path: \"list\",\r\n name: \"app-coupons-list\",\r\n component: () => import(\"./views/app/coupons/List.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Lista de cupones\",\r\n perms: \"OWNER\",\r\n },\r\n },\r\n {\r\n path: \"new\",\r\n name: \"app-coupons-new\",\r\n component: () => import(\"./views/app/coupons/New.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Lista de cupones\",\r\n perms: \"OWNER\",\r\n },\r\n },\r\n ],\r\n },\r\n // push\r\n {\r\n path: \"push\",\r\n name: \"app-push\",\r\n component: () => import(\"./views/app/push/Index.vue\"),\r\n children: [\r\n {\r\n path: \"\",\r\n redirect: \"list\",\r\n },\r\n {\r\n path: \"list\",\r\n name: \"app-push-list\",\r\n component: () => import(\"./views/app/push/List.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Lista de notificaciones\",\r\n perms: \"OWNER, MANAGE_USERS\",\r\n },\r\n },\r\n {\r\n path: \"new\",\r\n name: \"app-push-new\",\r\n component: () => import(\"./views/app/push/New.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n title: \"Crear notificación\",\r\n perms: \"OWNER, MANAGE_USERS\",\r\n },\r\n },\r\n ],\r\n },\r\n // logout\r\n {\r\n path: \"/app/logout\",\r\n name: \"app-logout\",\r\n component: () => import(\"./views/app/Logout.vue\"),\r\n meta: {\r\n rule: \"admin\",\r\n authRequired: true,\r\n },\r\n },\r\n ],\r\n },\r\n // =============================================================================\r\n // Application Routes\r\n // =============================================================================\r\n {\r\n path: \"/apps/calendar/vue-simple-calendar\",\r\n name: \"calendar-simple-calendar\",\r\n component: () => import(\"./views/apps/calendar/SimpleCalendar.vue\"),\r\n meta: {\r\n rule: \"editor\",\r\n },\r\n },\r\n // =============================================================================\r\n // UI ELEMENTS\r\n // =============================================================================\r\n {\r\n path: \"/ui-elements/ag-grid-table\",\r\n name: \"ag-grid-table\",\r\n component: () =>\r\n import(\"./views/ui-elements/ag-grid-table/AgGridTable.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"agGrid Table\", active: true },\r\n ],\r\n pageTitle: \"agGrid Table\",\r\n rule: \"editor\",\r\n },\r\n },\r\n // =============================================================================\r\n // COMPONENT ROUTES\r\n // =============================================================================\r\n {\r\n path: \"/components/breadcrumb\",\r\n name: \"component-breadcrumb\",\r\n component: () =>\r\n import(\"@/views/components/vuesax/breadcrumb/Breadcrumb.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Components\" },\r\n { title: \"Breadcrumb\", active: true },\r\n ],\r\n pageTitle: \"Breadcrumb\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/components/loading\",\r\n name: \"component-loading\",\r\n component: () =>\r\n import(\"@/views/components/vuesax/loading/Loading.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Components\" },\r\n { title: \"Loading\", active: true },\r\n ],\r\n pageTitle: \"Loading\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/components/pagination\",\r\n name: \"component-pagination\",\r\n component: () =>\r\n import(\"@/views/components/vuesax/pagination/Pagination.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Components\" },\r\n { title: \"Pagination\", active: true },\r\n ],\r\n pageTitle: \"Pagination\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/components/popup\",\r\n name: \"component-popup\",\r\n component: () => import(\"@/views/components/vuesax/popup/Popup.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Components\" },\r\n { title: \"Popup\", active: true },\r\n ],\r\n pageTitle: \"Popup\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/components/progress\",\r\n name: \"component-progress\",\r\n component: () =>\r\n import(\"@/views/components/vuesax/progress/Progress.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Components\" },\r\n { title: \"Progress\", active: true },\r\n ],\r\n pageTitle: \"Progress\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/components/slider\",\r\n name: \"component-slider\",\r\n component: () =>\r\n import(\"@/views/components/vuesax/slider/Slider.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Components\" },\r\n { title: \"Slider\", active: true },\r\n ],\r\n pageTitle: \"Slider\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/components/tooltip\",\r\n name: \"component-tooltip\",\r\n component: () =>\r\n import(\"@/views/components/vuesax/tooltip/Tooltip.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Components\" },\r\n { title: \"Tooltip\", active: true },\r\n ],\r\n pageTitle: \"Tooltip\",\r\n rule: \"editor\",\r\n },\r\n },\r\n // =============================================================================\r\n // FORM ELEMENTS\r\n // =============================================================================\r\n {\r\n path: \"/forms/form-elements/number-input\",\r\n name: \"form-element-number-input\",\r\n component: () =>\r\n import(\"./views/forms/form-elements/number-input/NumberInput.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Form Elements\" },\r\n { title: \"Number Input\", active: true },\r\n ],\r\n pageTitle: \"Number Input\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/forms/form-wizard\",\r\n name: \"extra-component-form-wizard\",\r\n component: () => import(\"@/views/forms/form-wizard/FormWizard.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extra Components\" },\r\n { title: \"Form Wizard\", active: true },\r\n ],\r\n pageTitle: \"Form Wizard\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/forms/form-validation\",\r\n name: \"extra-component-form-validation\",\r\n component: () =>\r\n import(\"@/views/forms/form-validation/FormValidation.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extra Components\" },\r\n { title: \"Form Validation\", active: true },\r\n ],\r\n pageTitle: \"Form Validation\",\r\n rule: \"editor\",\r\n },\r\n },\r\n // =============================================================================\r\n // Pages Routes\r\n // =============================================================================\r\n {\r\n path: \"/pages/profile\",\r\n name: \"page-profile\",\r\n component: () => import(\"@/views/pages/Profile.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Pages\" },\r\n { title: \"Profile\", active: true },\r\n ],\r\n pageTitle: \"Profile\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/pages/faq\",\r\n name: \"page-faq\",\r\n component: () => import(\"@/views/pages/Faq.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Pages\" },\r\n { title: \"FAQ\", active: true },\r\n ],\r\n pageTitle: \"FAQ\",\r\n rule: \"editor\",\r\n },\r\n },\r\n // =============================================================================\r\n // EXTENSIONS\r\n // =============================================================================\r\n {\r\n path: \"/extensions/quill-editor\",\r\n name: \"extra-component-quill-editor\",\r\n component: () =>\r\n import(\r\n \"@/views/components/extra-components/quill-editor/QuillEditor.vue\"\r\n ),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extra Components\" },\r\n { title: \"Quill Editor\", active: true },\r\n ],\r\n pageTitle: \"Quill Editor\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/extensions/drag-and-drop\",\r\n name: \"extra-component-drag-and-drop\",\r\n component: () =>\r\n import(\r\n \"@/views/components/extra-components/drag-and-drop/DragAndDrop.vue\"\r\n ),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extra Components\" },\r\n { title: \"Drag & Drop\", active: true },\r\n ],\r\n pageTitle: \"Drag & Drop\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/extensions/datepicker\",\r\n name: \"extra-component-datepicker\",\r\n component: () =>\r\n import(\r\n \"@/views/components/extra-components/datepicker/Datepicker.vue\"\r\n ),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extra Components\" },\r\n { title: \"Datepicker\", active: true },\r\n ],\r\n pageTitle: \"Datepicker\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/extensions/datetime-picker\",\r\n name: \"extra-component-datetime-picker\",\r\n component: () =>\r\n import(\r\n \"@/views/components/extra-components/datetime-picker/DatetimePicker.vue\"\r\n ),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extra Components\" },\r\n { title: \"Datetime Picker\", active: true },\r\n ],\r\n pageTitle: \"Datetime Picker\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/extensions/access-control\",\r\n name: \"extra-component-access-control\",\r\n component: () =>\r\n import(\r\n \"@/views/components/extra-components/access-control/AccessControl.vue\"\r\n ),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extensions\" },\r\n { title: \"Access Control\", active: true },\r\n ],\r\n pageTitle: \"Access Control\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/extensions/carousel\",\r\n name: \"extra-component-carousel\",\r\n component: () =>\r\n import(\"@/views/components/extra-components/carousel/Carousel.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extensions\" },\r\n { title: \"Carousel\", active: true },\r\n ],\r\n pageTitle: \"Carousel\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/extensions/context-menu\",\r\n name: \"extra-component-context-menu\",\r\n component: () =>\r\n import(\r\n \"@/views/components/extra-components/context-menu/ContextMenu.vue\"\r\n ),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extensions\" },\r\n { title: \"Context Menu\", active: true },\r\n ],\r\n pageTitle: \"Context Menu\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/extensions/star-ratings\",\r\n name: \"extra-component-star-ratings\",\r\n component: () =>\r\n import(\r\n \"@/views/components/extra-components/star-ratings/StarRatings.vue\"\r\n ),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extensions\" },\r\n { title: \"Star Ratings\", active: true },\r\n ],\r\n pageTitle: \"Star Ratings\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/extensions/autocomplete\",\r\n name: \"extra-component-autocomplete\",\r\n component: () =>\r\n import(\r\n \"@/views/components/extra-components/autocomplete/Autocomplete.vue\"\r\n ),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extensions\" },\r\n { title: \"Autocomplete\", active: true },\r\n ],\r\n pageTitle: \"Autocomplete\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/extensions/tree\",\r\n name: \"extra-component-tree\",\r\n component: () =>\r\n import(\"@/views/components/extra-components/tree/Tree.vue\"),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extensions\" },\r\n { title: \"Tree\", active: true },\r\n ],\r\n pageTitle: \"Tree\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/import-export/import\",\r\n name: \"import-excel\",\r\n component: () =>\r\n import(\r\n \"@/views/components/extra-components/import-export/Import.vue\"\r\n ),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extensions\" },\r\n { title: \"Import/Export\" },\r\n { title: \"Import\", active: true },\r\n ],\r\n pageTitle: \"Import Excel\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/import-export/export\",\r\n name: \"export-excel\",\r\n component: () =>\r\n import(\r\n \"@/views/components/extra-components/import-export/Export.vue\"\r\n ),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extensions\" },\r\n { title: \"Import/Export\" },\r\n { title: \"Export\", active: true },\r\n ],\r\n pageTitle: \"Export Excel\",\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/import-export/export-selected\",\r\n name: \"export-excel-selected\",\r\n component: () =>\r\n import(\r\n \"@/views/components/extra-components/import-export/ExportSelected.vue\"\r\n ),\r\n meta: {\r\n breadcrumb: [\r\n { title: \"Home\", url: \"/\" },\r\n { title: \"Extensions\" },\r\n { title: \"Import/Export\" },\r\n { title: \"Export Selected\", active: true },\r\n ],\r\n pageTitle: \"Export Excel\",\r\n rule: \"editor\",\r\n },\r\n },\r\n ],\r\n },\r\n\r\n // =============================================================================\r\n // FULL PAGE LAYOUTS\r\n // =============================================================================\r\n {\r\n path: \"\",\r\n component: () => import(\"@/layouts/full-page/FullPage.vue\"),\r\n children: [\r\n // =============================================================================\r\n // PAGES\r\n // =============================================================================\r\n {\r\n path: \"/pages/login\",\r\n name: \"page-login\",\r\n component: () => import(\"@/views/pages/login/Login.vue\"),\r\n meta: {\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/pages/register\",\r\n name: \"page-register\",\r\n component: () => import(\"@/views/pages/register/Register.vue\"),\r\n meta: {\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/pages/comingsoon\",\r\n name: \"page-coming-soon\",\r\n component: () => import(\"@/views/pages/ComingSoon.vue\"),\r\n meta: {\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/pages/error-404\",\r\n name: \"page-error-404\",\r\n component: () => import(\"@/views/pages/Error404.vue\"),\r\n meta: {\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/pages/error-500\",\r\n name: \"page-error-500\",\r\n component: () => import(\"@/views/pages/Error500.vue\"),\r\n meta: {\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/pages/not-authorized\",\r\n name: \"page-not-authorized\",\r\n component: () => import(\"@/views/pages/NotAuthorized.vue\"),\r\n meta: {\r\n rule: \"editor\",\r\n },\r\n },\r\n {\r\n path: \"/pages/maintenance\",\r\n name: \"page-maintenance\",\r\n component: () => import(\"@/views/pages/Maintenance.vue\"),\r\n meta: {\r\n rule: \"editor\",\r\n },\r\n },\r\n // =============================================================================\r\n // Auth Routes\r\n // =============================================================================\r\n {\r\n path: \"/auth/login\",\r\n name: \"page-auth\",\r\n component: () => import(\"@/views/pages/login/Login.vue\"), // TODO implementar auth folder\r\n meta: {\r\n rule: \"editor\",\r\n },\r\n },\r\n ],\r\n },\r\n // Redirect to 404 page, if no match found\r\n {\r\n path: \"*\",\r\n redirect: \"/pages/error-404\",\r\n },\r\n ],\r\n});\r\n\r\nrouter.afterEach(() => {\r\n // Remove initial loading\r\n const appLoading = document.getElementById(\"loading-bg\");\r\n if (appLoading) appLoading.style.display = \"none\";\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n // get and set document title\r\n const comingSoonPage = to.meta.comingSoon ? true : false;\r\n const title = to.meta.title\r\n ? `${to.meta.title} - Sakura Admin`\r\n : \"Sakura Admin\";\r\n document.title = title;\r\n\r\n firebase.auth().onAuthStateChanged(() => {\r\n // get firebase current user\r\n const firebaseCurrentUser = firebase.auth().currentUser;\r\n\r\n // If auth required. If login fails redirect to login page\r\n if (to.meta.authRequired) {\r\n if (!auth.isAuthenticated() || !firebaseCurrentUser)\r\n router.push({ path: \"/auth/login\" });\r\n }\r\n\r\n if (to.meta.perms) {\r\n if (!auth.isValidModule(to.meta.perms))\r\n router.push({\r\n path: \"/app/logout\",\r\n query: {\r\n err: \"You do not have sufficient permissions to enter the module\",\r\n },\r\n });\r\n }\r\n\r\n if (comingSoonPage) {\r\n // redirect to coming Soon page if production mode\r\n if (process.env.VUE_APP_MODE === \"production\")\r\n return next(\"/pages/comingsoon\");\r\n return next();\r\n }\r\n\r\n //console.clear();\r\n return next();\r\n // Specify the current path as the customState parameter, meaning it\r\n // will be returned to the application after auth\r\n // auth.login({ target: to.path });\r\n });\r\n});\r\n\r\nexport default router;\r\n","import auth0 from 'auth0-js'\r\nimport EventEmitter from 'events';\r\nimport Cookies from 'js-cookie';\r\n\r\nimport authConfig from '@/../auth_config.json'\r\n\r\nimport store from \"@/store/store.js\"\r\n\r\n// 'loggedIn' is used in other parts of application. So, Don't forget to change there also\r\nconst localStorageKey = 'loggedIn';\r\n\r\nconst tokenExpiryKey = 'tokenExpiry';\r\nconst loginEvent = 'loginEvent';\r\n\r\nconst webAuth = new auth0.WebAuth({\r\n domain: authConfig.domain,\r\n redirectUri: window.location.origin + process.env.BASE_URL + \"callback\",\r\n clientID: authConfig.clientId,\r\n responseType: 'id_token',\r\n scope: 'openid profile email'\r\n});\r\n\r\nclass AuthService extends EventEmitter {\r\n idToken = null;\r\n profile = null;\r\n tokenExpiry = null;\r\n\r\n // Starts the user login flow\r\n login(customState) {\r\n webAuth.authorize({\r\n appState: customState\r\n });\r\n }\r\n\r\n // Handles the callback request from Auth0\r\n handleAuthentication() {\r\n return new Promise((resolve, reject) => {\r\n webAuth.parseHash((err, authResult) => {\r\n if (err) {\r\n alert(err.error + '. Detailed error can be found in console.');\r\n reject(err);\r\n } else {\r\n this.localLogin(authResult);\r\n resolve(authResult.idToken);\r\n }\r\n });\r\n });\r\n }\r\n\r\n localLogin(authResult) {\r\n this.idToken = authResult.idToken;\r\n this.profile = authResult.idTokenPayload;\r\n\r\n // Convert the JWT expiry time from seconds to milliseconds\r\n this.tokenExpiry = new Date(this.profile.exp * 1000);\r\n Cookies.set(tokenExpiryKey, this.tokenExpiry);\r\n Cookies.set(localStorageKey, 'true');\r\n\r\n store.commit(\"UPDATE_USER_INFO\", {\r\n displayName: this.profile.name,\r\n email: this.profile.email,\r\n photoURL: this.profile.picture,\r\n providerId: this.profile.sub.substr(0, this.profile.sub.indexOf('|')),\r\n uid: this.profile.sub\r\n })\r\n\r\n this.emit(loginEvent, {\r\n loggedIn: true,\r\n profile: authResult.idTokenPayload,\r\n state: authResult.appState || {}\r\n });\r\n }\r\n\r\n renewTokens() {\r\n // reject can be used as parameter in promise for using reject\r\n return new Promise((resolve) => {\r\n if (Cookies.get(localStorageKey) !== \"true\") {\r\n // return reject(\"Not logged in\");\r\n }\r\n\r\n webAuth.checkSession({}, (err, authResult) => {\r\n if (err) {\r\n // reject(err);\r\n } else {\r\n this.localLogin(authResult);\r\n resolve(authResult);\r\n }\r\n });\r\n });\r\n }\r\n\r\n logOut() {\r\n Cookies.remove(localStorageKey)\r\n Cookies.remove(tokenExpiryKey)\r\n Cookies.remove('userInfo')\r\n\r\n this.idToken = null;\r\n this.tokenExpiry = null;\r\n this.profile = null;\r\n\r\n webAuth.logout({\r\n returnTo: window.location.origin + process.env.BASE_URL\r\n });\r\n\r\n this.emit(loginEvent, { loggedIn: false });\r\n }\r\n\r\n isAuthenticated() {\r\n // TODO Validate expire token\r\n return !!Cookies.get('accessToken');\r\n // return (\r\n // new Date(Date.now()) < new Date(localStorage.getItem(tokenExpiryKey)) &&\r\n // localStorage.getItem(localStorageKey) === 'true'\r\n // ); \r\n }\r\n\r\n isValidModule( perms ) {\r\n const userInfo = Cookies.get('userInfo') ? JSON.parse( Cookies.get('userInfo') ) : null;\r\n \r\n if( !userInfo ) return false; // If not logged in return false module\r\n \r\n const userPermsArr = userInfo.auth_grants.permissions; // User authenticated perms\r\n const permsWithoutSpace = perms.replace(/\\s/g, ''); // clean spaces from perms\r\n const permsArr = permsWithoutSpace.split(','); // create arr from string comas separated\r\n\r\n let havePermission = [];\r\n\r\n permsArr.forEach( perm => {\r\n let p = userPermsArr.includes(perm);\r\n if( p ) havePermission.push(true);\r\n });\r\n \r\n return havePermission.includes(true);\r\n }\r\n}\r\n\r\nexport default new AuthService();\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/@vue/cli-service/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--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/@vue/cli-service/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=fd6a8dc8&\"\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/cli-service/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","import axios from \"@/axios.js\"\r\nconst MockAdapter = require('axios-mock-adapter')\r\nconst mock = new MockAdapter(axios) // This sets the mock adapter on the default instance\r\n\r\nexport default mock\r\n","import mock from \"@/fake-db/mock.js\"\r\n\r\nconst data = {\r\n pixinvent_product_1: {\r\n img: require(\"@/assets/images/pages/content-img-1.jpg\"),\r\n title: \"Vuexy Admin\",\r\n subtitle: \"By Pixinvent Creative Studio\",\r\n subtitle_2: \"Elite Author\",\r\n },\r\n pixinvent_product_sales_1: {\r\n img: require(\"@/assets/images/pages/content-img-2.jpg\"),\r\n title: \"Vuexy Admin\",\r\n subtitle: \"By Pixinvent Creative Studio\",\r\n footer_text_left_value: \"$ 4785.78\",\r\n footer_text_left_label: \"Income\",\r\n footer_text_right_value: \"12 June 2019\",\r\n footer_text_right_label: \"Release Date\",\r\n },\r\n pixinvent_product_goal_1: {\r\n img: require(\"@/assets/images/pages/content-img-3.jpg\"),\r\n title: 'Vuexy Admin',\r\n progress_done_per: 75,\r\n current_progress: '$ 5975',\r\n progress_goal: '$ 8000',\r\n btn_left_text: 'Add More',\r\n btn_right_text: 'Remove'\r\n },\r\n user_detail_89: {\r\n userImg: require(\"@/assets/images/portrait/small/avatar-s-12.png\"),\r\n name: 'Zoila Legore',\r\n profession: 'Backend Dev',\r\n btn_1_text: 'Follow',\r\n btn_2_text: 'Message',\r\n footer_text_1_icon: 'StarIcon',\r\n footer_text_1: '4.9',\r\n footer_text_2_icon: 'BriefcaseIcon',\r\n footer_text_2: '37 Projects',\r\n },\r\n user_detail_58: {\r\n userImg: require(\"@/assets/images/portrait/small/avatar-s-12.png\"),\r\n name: 'Wilhelmina Jamal',\r\n profession: 'Frontend Dev',\r\n user_meta_1_title: 568,\r\n user_meta_1_label: 'Uploads',\r\n user_meta_2_title: '78.6K',\r\n user_meta_2_label: 'Followers',\r\n user_meta_3_title: 112,\r\n user_meta_3_label: 'Following',\r\n btn_text: 'Follow'\r\n },\r\n user_detail_16: {\r\n userImg: require(\"@/assets/images/portrait/small/avatar-s-1.png\"),\r\n name: 'Jonell Binion',\r\n profession: 'Designer',\r\n progress_done_per: 72,\r\n current_progress: '720 Points',\r\n progress_goal: '1000',\r\n btn_left_text: 'Follow',\r\n btn_right_text: 'Message'\r\n },\r\n place_detail_18: {\r\n overlay_img: require(\"@/assets/images/pages/card-image-6.jpg\"),\r\n title: 'Beautiful Overlay',\r\n text: 'Cake sesame snaps cupcake gingerbread danish I love gingerbread. Apple pie pie jujubes chupa chups muffin halvah lollipop.',\r\n },\r\n place_weather_76: {\r\n overlay_img: require('@/assets/images/pages/card-image-5.jpg'),\r\n place_name: \"New York\",\r\n weather: \"Snowy\",\r\n weather_icon: \"CloudSnowIcon\",\r\n temperature: -6,\r\n meta: [\r\n { label: \"Precipitation\", value: \"48%\" },\r\n { label: \"Humidity\", value: \"60%\" },\r\n { label: \"Wind\", value: \"4823 km/h\" },\r\n ]\r\n },\r\n chatLog: [\r\n { senderImg: require(\"@/assets/images/portrait/small/avatar-s-2.png\"), msg: 'Cake sesame snaps cupcake gingerbread', isSent: false },\r\n { senderImg: require(\"@/assets/images/portrait/small/avatar-s-5.png\"), msg: 'Apple pie pie jujubes chupa chups muffin', isSent: true },\r\n { senderImg: require(\"@/assets/images/portrait/small/avatar-s-2.png\"), msg: 'Chocolate cake', isSent: false },\r\n { senderImg: require(\"@/assets/images/portrait/small/avatar-s-5.png\"), msg: 'Donut sweet pie oat cake dragée fruitcake', isSent: true },\r\n { senderImg: require(\"@/assets/images/portrait/small/avatar-s-2.png\"), msg: 'Liquorice chocolate bar jelly beans icing', isSent: false },\r\n { senderImg: require(\"@/assets/images/portrait/small/avatar-s-5.png\"), msg: 'Pudding candy', isSent: true },\r\n ],\r\n item_reviews_12: {\r\n title: 'Vuexy Admin',\r\n subtitle: 'by Pixinvent Creative Studio',\r\n img: require(\"@/assets/images/pages/content-img-4.jpg\"),\r\n meta: {\r\n likes: 368,\r\n comments: 341,\r\n dislikes: 53\r\n }\r\n },\r\n player_options: {\r\n height: '460',\r\n fluid: true,\r\n autoplay: false,\r\n muted: true,\r\n language: 'en',\r\n playbackRates: [0.7, 1.0, 1.5, 2.0],\r\n sources: [ { type: \"video/mp4\", src: \"http://vjs.zencdn.net/v/oceans.mp4\" } ],\r\n poster: 'https://goo.gl/xcCsDd',\r\n }\r\n}\r\n\r\nmock.onGet(\"/api/users/pixinvent/product/1\").reply(() => {\r\n return [200, data.pixinvent_product_1];\r\n});\r\n\r\nmock.onGet(\"/api/users/pixinvent/product/sales/1\").reply(() => {\r\n return [200, data.pixinvent_product_sales_1];\r\n});\r\n\r\nmock.onGet(\"/api/users/pixinvent/product/goals/1\").reply(() => {\r\n return [200, data.pixinvent_product_goal_1];\r\n});\r\n\r\nmock.onGet(\"/api/users/89\").reply(() => {\r\n return [200, data.user_detail_89];\r\n});\r\n\r\nmock.onGet(\"/api/users/58\").reply(() => {\r\n return [200, data.user_detail_58];\r\n});\r\n\r\nmock.onGet(\"/api/users/16\").reply(() => {\r\n return [200, data.user_detail_16];\r\n});\r\n\r\nmock.onGet(\"/api/place/18\").reply(() => {\r\n return [200, data.place_detail_18];\r\n});\r\n\r\nmock.onGet(\"/api/place/76/weather\").reply(() => {\r\n return [200, data.place_weather_76];\r\n});\r\n\r\nmock.onGet(\"/api/item/12/review\").reply(() => {\r\n return [200, data.item_reviews_12];\r\n});\r\n\r\nmock.onGet(\"/api/chat/demo-1/log\").reply(() => {\r\n return [200, data.chatLog];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-basic/player-option\").reply(() => {\r\n return [200, data.player_options];\r\n});\r\n","import mock from \"@/fake-db/mock.js\"\r\n\r\nconst data = {\r\n subscribers_gained: {\r\n series: [{\r\n name: 'Subscribers',\r\n data: [28, 40, 36, 52, 38, 60, 55]\r\n }],\r\n analyticsData: {\r\n subscribers: 92600\r\n }\r\n },\r\n revenueGenerated: {\r\n series: [{\r\n name: 'Revenue',\r\n data: [350, 275, 400, 300, 350, 300, 450]\r\n }],\r\n analyticsData: {\r\n revenue: 97500\r\n }\r\n },\r\n quarterlySales: {\r\n series: [{\r\n name: 'Sales',\r\n data: [10, 15, 7, 12, 3, 16]\r\n }],\r\n analyticsData: {\r\n sales: \"36%\"\r\n }\r\n },\r\n ordersRecevied: {\r\n series: [{\r\n name: 'Orders',\r\n data: [10, 15, 8, 15, 7, 12, 8]\r\n }],\r\n analyticsData: {\r\n orders: 97500\r\n }\r\n },\r\n siteTraffic: {\r\n series: [{\r\n name: 'Traffic Rate',\r\n data: [150, 200, 125, 225, 200, 250]\r\n }]\r\n },\r\n activeUsers: {\r\n series: [{\r\n name: 'Active Users',\r\n data: [750, 1000, 900, 1250, 1000, 1200, 1100]\r\n }]\r\n },\r\n newsletter: {\r\n series: [{\r\n name: 'Newsletter',\r\n data: [365, 390, 365, 400, 375, 400]\r\n }]\r\n },\r\n}\r\n\r\n\r\nmock.onGet(\"/api/card/card-statistics/subscribers\").reply(() => {\r\n return [200, data.subscribers_gained];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-statistics/revenue\").reply(() => {\r\n return [200, data.revenueGenerated];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-statistics/sales\").reply(() => {\r\n return [200, data.quarterlySales];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-statistics/orders\").reply(() => {\r\n return [200, data.ordersRecevied];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-statistics/site-traffic\").reply(() => {\r\n return [200, data.siteTraffic];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-statistics/active-users\").reply(() => {\r\n return [200, data.activeUsers];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-statistics/newsletter\").reply(() => {\r\n return [200, data.newsletter];\r\n});\r\n","import mock from \"@/fake-db/mock.js\"\r\n\r\nconst data = {\r\n subscribers_gained: {\r\n analyticsData: [\r\n { device: 'Dekstop', icon: 'MonitorIcon', color: 'primary', sessionsPercentage: 58.6, comparedResultPercentage: 2 },\r\n { device: 'Mobile', icon: 'SmartphoneIcon', color: 'warning', sessionsPercentage: 34.9, comparedResultPercentage: 8 },\r\n { device: 'Tablet', icon: 'TabletIcon', color: 'danger', sessionsPercentage: 6.5, comparedResultPercentage: -5 },\r\n ],\r\n series: [58.6, 34.9, 6.5]\r\n },\r\n productsOrders: {\r\n analyticsData: [\r\n { 'orderType': 'Finished', 'counts': 23043, color: 'primary' },\r\n { 'orderType': 'Pending', 'counts': 14658, color: 'warning' },\r\n { 'orderType': 'Rejected ', 'counts': 4758, color: 'danger' },\r\n ],\r\n series: [70, 52, 26],\r\n },\r\n customers: {\r\n analyticsData: [\r\n { 'customerType': 'New', 'counts': 890, color: 'primary' },\r\n { 'customerType': 'Returning', 'counts': 258, color: 'warning' },\r\n { 'customerType': 'Referrals ', 'counts': 149, color: 'danger' },\r\n ],\r\n series: [690, 258, 149],\r\n },\r\n salesRadar: {\r\n series: [{\r\n name: 'Visits',\r\n data: [90, 50, 86, 40, 100, 20],\r\n }, {\r\n name: 'Sales',\r\n data: [70, 75, 70, 76, 20, 85],\r\n }],\r\n },\r\n supportTracker: {\r\n analyticsData: {\r\n openTickets: 163,\r\n meta: {\r\n \"New Tickets\": 29,\r\n \"Open Tickets\": 63,\r\n \"Response Time\": '1d',\r\n }\r\n },\r\n series: [83],\r\n },\r\n revenueComparisonLine: {\r\n analyticsData: {\r\n thisMonth: 86589,\r\n lastMonth: 73683\r\n },\r\n series: [{\r\n name: \"This Month\",\r\n data: [45000, 47000, 44800, 47500, 45500, 48000, 46500, 48600]\r\n },\r\n {\r\n name: \"Last Month\",\r\n data: [46000, 48000, 45500, 46600, 44500, 46500, 45000, 47000]\r\n }\r\n ],\r\n },\r\n goalOverviewRadialBar: {\r\n analyticsData: {\r\n completed: 786617,\r\n inProgress: 13561\r\n },\r\n series: [83]\r\n },\r\n salesBarSession: {\r\n series: [{\r\n name: 'Sessions',\r\n data: [75, 125, 225, 175, 125, 75, 25]\r\n }],\r\n analyticsData: {\r\n session: 2700,\r\n comparison : {\r\n str: \"Last 7 Days\",\r\n result: +5.2\r\n }\r\n }\r\n },\r\n todoToday: {\r\n date: \"Sat, 16 Feb\",\r\n numCompletedTasks: 2,\r\n totalTasks: 10,\r\n tasksToday: [\r\n {\r\n id: 3,\r\n task: \"Refactor button component\",\r\n date: \"16 Feb 2019\",\r\n },\r\n {\r\n id: 70,\r\n task: \"Submit report to admin\",\r\n date: \"16 Feb 2019\",\r\n },\r\n {\r\n id: 8,\r\n task: \"Prepare presentation\",\r\n date: \"16 Feb 2019\",\r\n },\r\n {\r\n id: 1,\r\n task: \"Calculate monthly income\",\r\n date: \"16 Feb 2019\",\r\n }\r\n ]\r\n },\r\n salesLine: {\r\n series: [{\r\n name: \"Sales\",\r\n data: [140, 180, 150, 205, 160, 295, 125, 255, 205, 305, 240, 295]\r\n }],\r\n },\r\n funding: {\r\n currBalance: 22597,\r\n depostis: 20065,\r\n comparison: {\r\n resultPerc: 5.2,\r\n pastData: 956\r\n },\r\n meta: {\r\n earned: {\r\n val: 56156,\r\n progress: 50\r\n },\r\n duration: {\r\n val: \"2 Year\",\r\n progress: 50\r\n }\r\n }\r\n },\r\n browserAnalytics: [{\r\n id: 1,\r\n name: 'Google Chrome',\r\n ratio: 73,\r\n time: 'Mon Dec 10 2018 07:46:05 GMT+0000 (GMT)',\r\n comparedResult: '800'\r\n },\r\n {\r\n id: 3,\r\n name: 'Opera',\r\n ratio: 8,\r\n time: 'Mon Dec 10 2018 07:46:05 GMT+0000 (GMT)',\r\n comparedResult: '-200'\r\n },\r\n {\r\n id: 2,\r\n name: 'Firefox',\r\n ratio: 19,\r\n time: 'Mon Dec 10 2018 07:46:05 GMT+0000 (GMT)',\r\n comparedResult: '100'\r\n },\r\n {\r\n id: 4,\r\n name: 'Internet Explorer',\r\n ratio: 27,\r\n time: 'Mon Dec 10 2018 07:46:05 GMT+0000 (GMT)',\r\n comparedResult: '-450'\r\n },\r\n ],\r\n clientRetention: {\r\n series: [{\r\n name: 'New Clients',\r\n data: [175, 125, 225, 175, 160, 189, 206, 134, 159, 216, 148, 123]\r\n }, {\r\n name: 'Retained Clients',\r\n data: [-144, -155, -141, -167, -122, -143, -158, -107, -126, -131, -140, -137]\r\n }],\r\n }\r\n}\r\n\r\n\r\nmock.onGet(\"/api/card/card-analytics/session-by-device\").reply(() => {\r\n return [200, data.subscribers_gained];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-analytics/products-orders\").reply(() => {\r\n return [200, data.productsOrders];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-analytics/customers\").reply(() => {\r\n return [200, data.customers];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-analytics/sales/radar\").reply(() => {\r\n return [200, data.salesRadar];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-analytics/support-tracker\").reply(() => {\r\n return [200, data.supportTracker];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-analytics/revenue-comparison\").reply(() => {\r\n return [200, data.revenueComparisonLine];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-analytics/goal-overview\").reply(() => {\r\n return [200, data.goalOverviewRadialBar];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-analytics/sales/bar\").reply(() => {\r\n return [200, data.salesBarSession];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-analytics/todo/today\").reply(() => {\r\n return [200, data.todoToday];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-analytics/sales/line\").reply(() => {\r\n return [200, data.salesLine];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-analytics/funding\").reply(() => {\r\n return [200, data.funding];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-analytics/browser-analytics\").reply(() => {\r\n return [200, data.browserAnalytics];\r\n});\r\n\r\nmock.onGet(\"/api/card/card-analytics/client-retention\").reply(() => {\r\n return [200, data.clientRetention];\r\n});\r\n","import mock from \"@/fake-db/mock.js\"\r\n\r\nconst data = {\r\n dispatchedOrders: [\r\n {\r\n orderNo: 879985,\r\n status: \"Moving\",\r\n statusColor: \"success\",\r\n operator: \"Cinar Knowles\",\r\n operatorImg: require(\"@/assets/images/portrait/small/avatar-s-2.png\"),\r\n usersLiked: [\r\n { name: \"Vennie Mostowy\", img: require(\"@/assets/images/portrait/small/avatar-s-5.png\") },\r\n { name: \"Elicia Rieske\", img: require(\"@/assets/images/portrait/small/avatar-s-7.png\") },\r\n { name: \"Julee Rossignol\", img: require(\"@/assets/images/portrait/small/avatar-s-10.png\") },\r\n { name: \"Darcey Nooner\", img: require(\"@/assets/images/portrait/small/avatar-s-8.png\") }\r\n ],\r\n location: \"Anniston, Alabama\",\r\n distance: \"130 km\",\r\n distPercent: 80,\r\n startDate: \"26/07/2018\",\r\n estDelDate: \"28/07/2018\"\r\n },\r\n {\r\n orderNo: 156897,\r\n status: \"Pending\",\r\n statusColor: \"warning\",\r\n operator: \"Britany Ryder\",\r\n operatorImg: require(\"@/assets/images/portrait/small/avatar-s-4.png\"),\r\n usersLiked: [\r\n { name: \"Trina Lynes\", img: require(\"@/assets/images/portrait/small/avatar-s-1.png\") },\r\n { name: \"Lilian Nenez\", img: require(\"@/assets/images/portrait/small/avatar-s-2.png\") },\r\n { name: \"Alberto Glotzbach\", img: require(\"@/assets/images/portrait/small/avatar-s-3.png\") }\r\n ],\r\n location: \"Cordova, Alaska\",\r\n distance: \"234 km\",\r\n distPercent: 60,\r\n startDate: \"26/07/2018\",\r\n estDelDate: \"28/07/2018\"\r\n },\r\n {\r\n orderNo: 568975,\r\n status: \"Moving\",\r\n statusColor: \"success\",\r\n operator: \"Kishan Ashton\",\r\n operatorImg: require(\"@/assets/images/portrait/small/avatar-s-1.png\"),\r\n usersLiked: [\r\n { name: \"Lai Lewandowski\", img: require(\"@/assets/images/portrait/small/avatar-s-6.png\") },\r\n { name: \"Elicia Rieske\", img: require(\"@/assets/images/portrait/small/avatar-s-7.png\") },\r\n { name: \"Darcey Nooner\", img: require(\"@/assets/images/portrait/small/avatar-s-8.png\") },\r\n { name: \"Julee Rossignol\", img: require(\"@/assets/images/portrait/small/avatar-s-10.png\") },\r\n { name: \"Jeffrey Gerondale\", img: require(\"@/assets/images/portrait/small/avatar-s-9.png\") },\r\n ],\r\n location: \"Florence, Alabama\",\r\n distance: \"168 km\",\r\n distPercent: 70,\r\n startDate: \"26/07/2018\",\r\n estDelDate: \"28/07/2018\"\r\n },\r\n {\r\n orderNo: 245689,\r\n status: \"Canceled\",\r\n statusColor: \"danger\",\r\n operator: \"Anabella Elliott\",\r\n operatorImg: require(\"@/assets/images/portrait/small/avatar-s-6.png\"),\r\n usersLiked: [\r\n { name: \"Vennie Mostowy\", img: require(\"@/assets/images/portrait/small/avatar-s-5.png\") },\r\n { name: \"Elicia Rieske\", img: require(\"@/assets/images/portrait/small/avatar-s-7.png\") }\r\n ],\r\n location: \"Clifton, Arizona\",\r\n distance: \"125 km\",\r\n distPercent: 95,\r\n startDate: \"26/07/2018\",\r\n estDelDate: \"28/07/2018\"\r\n }\r\n ]\r\n}\r\n\r\n\r\nmock.onGet(\"/api/table/dispatched-orders\").reply(() => {\r\n return [200, data.dispatchedOrders];\r\n});\r\n","import mock from \"@/fake-db/mock.js\"\r\n\r\nconst data = {\r\n products: [\r\n {\r\n \"id\": 1,\r\n \"category\": \"Computers\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/01.png\",\r\n \"name\": \"Apple Watch series 4 GPS\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 97,\r\n \"price\": 69.99\r\n },\r\n {\r\n \"id\": 2,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/02.png\",\r\n \"name\": \"Beats HeadPhones\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 83,\r\n \"price\": 69.99\r\n },\r\n {\r\n \"id\": 3,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/06.png\",\r\n \"name\": \"Altec Lansing - Bluetooth Speaker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 57,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 4,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Altec Lansing - Bluetooth Speaker\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 65,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 5,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/06.png\",\r\n \"name\": \"Altec Lansing - Portable Bluetooth Speaker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 87,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 6,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Altec Lansing - Bluetooth Speaker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 55,\r\n \"price\": 39.99\r\n },\r\n {\r\n \"id\": 7,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/02.png\",\r\n \"name\": \"Altec Lansing - Mini H2O Bluetooth Speaker\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 99,\r\n \"price\": 39.99\r\n },\r\n {\r\n \"id\": 8,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Altec Lansing - Bluetooth Speaker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 91,\r\n \"price\": 39.99\r\n },\r\n {\r\n \"id\": 9,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Altec Lansing - Mini H2O Bluetooth Speaker\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 52,\r\n \"price\": 39.99\r\n },\r\n {\r\n \"id\": 10,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/01.png\",\r\n \"name\": \"Altec Lansing - Mini H2O Bluetooth Speaker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 64,\r\n \"price\": 39.99\r\n },\r\n {\r\n \"id\": 11,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Altec Lansing - Bluetooth Speaker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 93,\r\n \"price\": 99.99\r\n },\r\n {\r\n \"id\": 12,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/01.png\",\r\n \"name\": \"Altec Lansing - Bluetooth Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 75,\r\n \"price\": 99.99\r\n },\r\n {\r\n \"id\": 13,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/01.png\",\r\n \"name\": \"Altec Lansing - Bluetooth Speaker\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 88,\r\n \"price\": 99.99\r\n },\r\n {\r\n \"id\": 14,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Altec Lansing - Bluetooth Speaker\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 86,\r\n \"price\": 99.99\r\n },\r\n {\r\n \"id\": 15,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Aluratek - Bluetooth Audio Receiver\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 62,\r\n \"price\": 29.99\r\n },\r\n {\r\n \"id\": 16,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/04.png\",\r\n \"name\": \"Aluratek - Bluetooth Audio Transmitter\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 51,\r\n \"price\": 29.99\r\n },\r\n {\r\n \"id\": 17,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/07.png\",\r\n \"name\": \"Aluratek - iStream Bluetooth Audio Receiver\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 51,\r\n \"price\": 29.99\r\n },\r\n {\r\n \"id\": 18,\r\n \"category\": \"Computers\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/07.png\",\r\n \"name\": \"Antec - Nano Diamond Thermal Compound\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 65,\r\n \"price\": 14.99\r\n },\r\n {\r\n \"id\": 19,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Antec - SmartBean Bluetooth Adapter\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 63,\r\n \"price\": 39.99\r\n },\r\n {\r\n \"id\": 20,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Basis - Peak Fitness and Sleep Tracker\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 72,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 21,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Basis - Peak Fitness and Sleep Tracker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 77,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 22,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/04.png\",\r\n \"name\": \"Beats by Dr. Dre - 3' USB-to-Micro USB Cable\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 65,\r\n \"price\": 19.99\r\n },\r\n {\r\n \"id\": 23,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/02.png\",\r\n \"name\": \"Beats by Dr. Dre - Bike Mount for Pill Speakers\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 60,\r\n \"price\": 49.99\r\n },\r\n {\r\n \"id\": 24,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/06.png\",\r\n \"name\": \"Beats by Dr. Dre - Support Stand for Speakers\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 59,\r\n \"price\": 49.99\r\n },\r\n {\r\n \"id\": 25,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/08.png\",\r\n \"name\": \"Beats by Dr. Dre - Support Stand for Pill Speakers\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 87,\r\n \"price\": 49.99\r\n },\r\n {\r\n \"id\": 26,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/08.png\",\r\n \"name\": \"Beats by Dr. Dre - Support Stand for Pill Speakers\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 95,\r\n \"price\": 49.99\r\n },\r\n {\r\n \"id\": 27,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/07.png\",\r\n \"name\": \"Beats by Dr. Dre - Support Stand for Speakers\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 98,\r\n \"price\": 49.99\r\n },\r\n {\r\n \"id\": 28,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/04.png\",\r\n \"name\": \"Beats by Dr. Dre - Support Stand\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 75,\r\n \"price\": 49.99\r\n },\r\n {\r\n \"id\": 29,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/06.png\",\r\n \"name\": \"Beats by Dr. Dre - Pill 2.0 Bluetooth Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 81,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 30,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/07.png\",\r\n \"name\": \"Beats by Dr. Dre - Pill 2.0 Bluetooth Speaker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 91,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 31,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/04.png\",\r\n \"name\": \"Beats by Dr. Dre - Bluetooth Speaker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 79,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 32,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Beats by Dr. Dre - Portable Speaker + Headphones\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 95,\r\n \"price\": 699.99\r\n },\r\n {\r\n \"id\": 33,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/03.png\",\r\n \"name\": \"Beats by Dr. Dre - Pill 2.0 Portable Stereo Speaker\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 90,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 34,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Bose® - SoundLink® III Cover\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 81,\r\n \"price\": 34.99\r\n },\r\n {\r\n \"id\": 35,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/08.png\",\r\n \"name\": \"Bose® - Bose® SoundLink® III Cover\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 81,\r\n \"price\": 34.99\r\n },\r\n {\r\n \"id\": 36,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Bose® - SoundLink® III Cover\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 69,\r\n \"price\": 34.99\r\n },\r\n {\r\n \"id\": 37,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Bose® - SoundLink® Mini Soft Cover\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 95,\r\n \"price\": 24.99\r\n },\r\n {\r\n \"id\": 38,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/01.png\",\r\n \"name\": \"Bose® - SoundLink® Color Bluetooth Speaker\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 100,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 39,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/01.png\",\r\n \"name\": \"Bose® - SoundLink® Color Bluetooth Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 89,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 40,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/08.png\",\r\n \"name\": \"Bose® - SoundLink® Color Bluetooth Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 75,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 41,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/06.png\",\r\n \"name\": \"Bose® - SoundLink® Color Bluetooth Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 54,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 42,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/04.png\",\r\n \"name\": \"Bose® - SoundLink® Color Bluetooth Speaker\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 98,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 43,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Bose® - SoundLink® Color Carry Case\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 95,\r\n \"price\": 24.99\r\n },\r\n {\r\n \"id\": 44,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/06.png\",\r\n \"name\": \"Bose® - SoundLink® III Cover\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 76,\r\n \"price\": 34.99\r\n },\r\n {\r\n \"id\": 45,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Bose® - SoundLink® III Cover\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 98,\r\n \"price\": 34.99\r\n },\r\n {\r\n \"id\": 46,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Bose® - SoundLink® III Cover\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 70,\r\n \"price\": 34.99\r\n },\r\n {\r\n \"id\": 47,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/08.png\",\r\n \"name\": \"Bose® - Mini Bluetooth Speaker II\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 62,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 48,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/02.png\",\r\n \"name\": \"Bose® - Bluetooth Speaker II\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 63,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 49,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Bose® - SoundLink® Mini Bluetooth Speaker Soft Cover\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 90,\r\n \"price\": 24.99\r\n },\r\n {\r\n \"id\": 50,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/04.png\",\r\n \"name\": \"Bose® - Bluetooth Speaker Soft Cover\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 98,\r\n \"price\": 24.99\r\n },\r\n {\r\n \"id\": 51,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Bose® - Bluetooth Speaker Soft Cover\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 55,\r\n \"price\": 24.99\r\n },\r\n {\r\n \"id\": 52,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Bose® - Bluetooth Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 53,\r\n \"price\": 24.99\r\n },\r\n {\r\n \"id\": 53,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Bose® - SoundLink® Mini Bluetooth Speaker Soft Cover\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 82,\r\n \"price\": 24.99\r\n },\r\n {\r\n \"id\": 54,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/08.png\",\r\n \"name\": \"Bose® - Bluetooth Speaker Travel Bag\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 78,\r\n \"price\": 44.99\r\n },\r\n {\r\n \"id\": 55,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/08.png\",\r\n \"name\": \"Bose® - SoundLink® Mini Soft Cover\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 81,\r\n \"price\": 24.99\r\n },\r\n {\r\n \"id\": 56,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/07.png\",\r\n \"name\": \"Bose® - SoundLink® Mini Soft Cover\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 94,\r\n \"price\": 24.99\r\n },\r\n {\r\n \"id\": 57,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Bose® - Bluetooth Speaker III\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 97,\r\n \"price\": 299.99\r\n },\r\n {\r\n \"id\": 58,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/04.png\",\r\n \"name\": \"Bose® - SoundLink® Soft Cover\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 89,\r\n \"price\": 24.99\r\n },\r\n {\r\n \"id\": 59,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/02.png\",\r\n \"name\": \"Bose® - Bluetooth Music Adapter\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 53,\r\n \"price\": 99.99\r\n },\r\n {\r\n \"id\": 60,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/04.png\",\r\n \"name\": \"Bowers & Wilkins - Bluetooth Speaker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 79,\r\n \"price\": 349.98\r\n },\r\n {\r\n \"id\": 61,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"BRAVEN - Balance Portable Bluetooth Speaker\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 82,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 62,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/01.png\",\r\n \"name\": \"BRAVEN - Balance Portable Bluetooth Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 80,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 63,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/06.png\",\r\n \"name\": \"BRAVEN - Outdoor Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 86,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 64,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/03.png\",\r\n \"name\": \"BRAVEN - BRV-X Outdoor Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 61,\r\n \"price\": 199.99\r\n },\r\n {\r\n \"id\": 65,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"BRAVEN - Portable Bluetooth Speaker\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 85,\r\n \"price\": 299.99\r\n },\r\n {\r\n \"id\": 66,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/02.png\",\r\n \"name\": \"BRAVEN - Portable Bluetooth Speaker\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 81,\r\n \"price\": 99.99\r\n },\r\n {\r\n \"id\": 67,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/01.png\",\r\n \"name\": \"BRAVEN - Wireless Bluetooth Speaker\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 50,\r\n \"price\": 99.99\r\n },\r\n {\r\n \"id\": 68,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/02.png\",\r\n \"name\": \"BRAVEN - Wireless Bluetooth Speaker\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 93,\r\n \"price\": 99.99\r\n },\r\n {\r\n \"id\": 69,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/03.png\",\r\n \"name\": \"BRAVEN - Wireless Bluetooth Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 51,\r\n \"price\": 99.99\r\n },\r\n {\r\n \"id\": 70,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Craig - Tower Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 77,\r\n \"price\": 69.99\r\n },\r\n {\r\n \"id\": 71,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/04.png\",\r\n \"name\": \"Craig - Portable Wireless Speaker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 89,\r\n \"price\": 29.99\r\n },\r\n {\r\n \"id\": 72,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Definitive Technology - Wireless Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 81,\r\n \"price\": 399.98\r\n },\r\n {\r\n \"id\": 73,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/03.png\",\r\n \"name\": \"Definitive Technology - Wireless Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 76,\r\n \"price\": 699.98\r\n },\r\n {\r\n \"id\": 74,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/08.png\",\r\n \"name\": \"Denon - Wireless Speaker\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 88,\r\n \"price\": 399.98\r\n },\r\n {\r\n \"id\": 75,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Denon - HEOS 7 Wireless Speaker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 100,\r\n \"price\": 599.98\r\n },\r\n {\r\n \"id\": 76,\r\n \"category\": \"Audio\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/02.png\",\r\n \"name\": \"ECOXGEAR - Waterproof Bluetooth Speaker\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 52,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 77,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/03.png\",\r\n \"name\": \"Fitbit - Charge HR Activity Tracker + Heart Rate (Large)\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 66,\r\n \"price\": 149.99\r\n },\r\n {\r\n \"id\": 78,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/01.png\",\r\n \"name\": \"Fitbit - Charge HR Activity Tracker + Heart Rate (Large)\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 66,\r\n \"price\": 149.99\r\n },\r\n {\r\n \"id\": 79,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Fitbit - Activity Tracker + Heart Rate (Large)\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 96,\r\n \"price\": 149.99\r\n },\r\n {\r\n \"id\": 80,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/01.png\",\r\n \"name\": \"Fitbit - Charge HR Activity Tracker + Heart Rate (Small)\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 92,\r\n \"price\": 149.99\r\n },\r\n {\r\n \"id\": 81,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Fitbit - Charge HR Activity Tracker + Heart Rate (Small)\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 82,\r\n \"price\": 149.99\r\n },\r\n {\r\n \"id\": 82,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/01.png\",\r\n \"name\": \"Fitbit - Activity Tracker + Heart Rate (Small)\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 100,\r\n \"price\": 149.99\r\n },\r\n {\r\n \"id\": 83,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/01.png\",\r\n \"name\": \"Fitbit - Activity Tracker + Sleep Wristband\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 100,\r\n \"price\": 149.99\r\n },\r\n {\r\n \"id\": 84,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/02.png\",\r\n \"name\": \"Fitbit - Activity Tracker (Large)\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 52,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 85,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Fitbit - Charge Wireless Activity Tracker (Large)\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 51,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 86,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/04.png\",\r\n \"name\": \"Fitbit - Charge Wireless Activity Tracker (Large)\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 80,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 87,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/02.png\",\r\n \"name\": \"Fitbit - Charge Wireless Activity Tracker (Small)\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 99,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 88,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/07.png\",\r\n \"name\": \"Fitbit - Activity Tracker (Small)\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 75,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 89,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/07.png\",\r\n \"name\": \"Fitbit - Charge Wireless Activity Tracker (Small)\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 80,\r\n \"price\": 129.99\r\n },\r\n {\r\n \"id\": 90,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/07.png\",\r\n \"name\": \"Fitbit - Charging Cable for Activity Trackers\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 50,\r\n \"price\": 19.99\r\n },\r\n {\r\n \"id\": 91,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Fitbit - Clip for Activity and Sleep Trackers\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 57,\r\n \"price\": 14.99\r\n },\r\n {\r\n \"id\": 92,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Fitbit - Clip for Wireless Activity and Sleep Trackers\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 80,\r\n \"price\": 14.99\r\n },\r\n {\r\n \"id\": 93,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/03.png\",\r\n \"name\": \"Fitbit - Clip for Zip Wireless Activity Trackers\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 78,\r\n \"price\": 14.99\r\n },\r\n {\r\n \"id\": 94,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/05.png\",\r\n \"name\": \"Fitbit - Flex 1\\\" USB Charging Cable\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 81,\r\n \"price\": 14.99\r\n },\r\n {\r\n \"id\": 95,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/03.png\",\r\n \"name\": \"Fitbit - Flex 1\\\" USB Charging Cable\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 51,\r\n \"price\": 14.99\r\n },\r\n {\r\n \"id\": 96,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/03.png\",\r\n \"name\": \"Fitbit - Flex Clasp for Activity Trackers\",\r\n \"order_status\": \"canceled\",\r\n \"popularity\": 56,\r\n \"price\": 4.99\r\n },\r\n {\r\n \"id\": 97,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/07.png\",\r\n \"name\": \"Fitbit - Sleep Wristband\",\r\n \"order_status\": \"on_hold\",\r\n \"popularity\": 95,\r\n \"price\": 99.99\r\n },\r\n {\r\n \"id\": 98,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Fitbit - Sleep Tracker Wristband\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 85,\r\n \"price\": 99.99\r\n },\r\n {\r\n \"id\": 99,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/09.png\",\r\n \"name\": \"Fitbit - Flex Wireless Activity\",\r\n \"order_status\": \"pending\",\r\n \"popularity\": 50,\r\n \"price\": 99.99\r\n },\r\n {\r\n \"id\": 100,\r\n \"category\": \"Fitness\",\r\n \"img\": \"https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/products/06.png\",\r\n \"name\": \"Fitbit - Activity Tracker\",\r\n \"order_status\": \"delivered\",\r\n \"popularity\": 72,\r\n \"price\": 99.99\r\n }\r\n ]\r\n}\r\n\r\n\r\nmock.onGet(\"/api/data-list/products\").reply(() => {\r\n return [200, JSON.parse(JSON.stringify(data.products)).reverse()];\r\n});\r\n\r\n// POST : Add new Item\r\nmock.onPost(\"/api/data-list/products/\").reply((request) => {\r\n\r\n // Get event from post data\r\n let item = JSON.parse(request.data).item\r\n\r\n const length = data.products.length\r\n let lastIndex = 0\r\n if(length){\r\n lastIndex = data.products[length - 1].id\r\n }\r\n item.id = lastIndex + 1\r\n\r\n data.products.push(item)\r\n\r\n return [201, {id: item.id}]\r\n})\r\n\r\n// Update Product\r\nmock.onPost(/\\/api\\/data-list\\/products\\/\\d+/).reply((request) => {\r\n\r\n const itemId = request.url.substring(request.url.lastIndexOf(\"/\")+1)\r\n\r\n let item = data.products.find((item) => item.id == itemId)\r\n Object.assign(item, JSON.parse(request.data).item)\r\n\r\n return [200, item]\r\n})\r\n\r\n// DELETE: Remove Item\r\nmock.onDelete(/\\/api\\/data-list\\/products\\/\\d+/).reply((request) => {\r\n\r\n const itemId = request.url.substring(request.url.lastIndexOf(\"/\")+1)\r\n\r\n const itemIndex = data.products.findIndex((p) => p.id == itemId)\r\n data.products.splice(itemIndex, 1)\r\n return [200]\r\n})\r\n","import mock from \"@/fake-db/mock.js\"\r\nimport jwt from 'jsonwebtoken'\r\n\r\nconst data = {\r\n checkpointReward: {\r\n userName: \"John\",\r\n progress: \"57.6%\"\r\n },\r\n users: [\r\n {\r\n uid: 34,\r\n displayName: \"Howard Potts\",\r\n password: \"adminadmin\",\r\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-5.png\"),\r\n email: \"admin@admin.com\",\r\n phoneNumber: null,\r\n }\r\n ]\r\n}\r\n\r\n\r\nconst jwtConfig = {\r\n \"secret\" : \"dd5f3089-40c3-403d-af14-d0c228b05cb4\",\r\n \"expireTime\": 8000\r\n}\r\n\r\n\r\nmock.onPost(\"/api/auth/login\").reply((request) => {\r\n const {email, password} = JSON.parse(request.data)\r\n\r\n let error = \"Something went wrong\"\r\n\r\n const user = data.users.find(user => user.email === email && user.password === password)\r\n\r\n if (user) {\r\n\r\n try {\r\n\r\n const accessToken = jwt.sign({id: user.uid}, jwtConfig.secret, {expiresIn: jwtConfig.expireTime})\r\n\r\n const userData = Object.assign({}, user, {providerId: \"jwt\"})\r\n\r\n const response = {\r\n userData : userData,\r\n accessToken: accessToken\r\n }\r\n\r\n return [200, response]\r\n\r\n } catch(e) {\r\n error = e\r\n }\r\n }else {\r\n error = \"Email Or Password Invalid\"\r\n }\r\n\r\n return [200, {error}]\r\n\r\n\r\n})\r\n\r\nmock.onPost('/api/auth/register').reply((request) => {\r\n const {displayName, email, password} = JSON.parse(request.data)\r\n const isEmailAlreadyInUse = data.users.find((user) => user.email === email)\r\n const error = {\r\n email : isEmailAlreadyInUse ? 'This email is already in use.' : null,\r\n displayName: displayName === '' ? 'Please enter your name.' : null\r\n }\r\n\r\n if ( !error.displayName && !error.email ) {\r\n\r\n let userData = {\r\n email: email,\r\n password: password,\r\n displayName: displayName,\r\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-5.png\"),\r\n phoneNumber: null\r\n }\r\n\r\n // Add user id\r\n const length = data.users.length\r\n let lastIndex = 0\r\n if(length){\r\n lastIndex = data.users[length - 1].uid\r\n }\r\n userData.uid = lastIndex + 1\r\n\r\n data.users.push(userData)\r\n\r\n const accessToken = jwt.sign({id: userData.uid}, jwtConfig.secret, {expiresIn: jwtConfig.expireTime})\r\n\r\n let user = Object.assign({}, userData)\r\n delete user['password']\r\n const response = { userData: user, accessToken: accessToken }\r\n\r\n return [200, response]\r\n } else {\r\n return [200, {error}]\r\n }\r\n})\r\n\r\n\r\nmock.onPost('/api/auth/refresh-token').reply((request) => {\r\n\r\n const {accessToken} = JSON.parse(request.data)\r\n\r\n try {\r\n const {id} = jwt.verify(accessToken, jwtConfig.secret)\r\n\r\n let userData = Object.assign({}, data.users.find(user => user.uid === id))\r\n\r\n const newAccessToken = jwt.sign({id: userData.uid}, jwtConfig.secret, {expiresIn: jwtConfig.expiresIn});\r\n\r\n delete userData['password']\r\n const response = {\r\n userData: userData,\r\n accessToken: newAccessToken\r\n }\r\n\r\n return [200, response]\r\n } catch (e){\r\n const error = \"Invalid access token\"\r\n return [401, {error}]\r\n }\r\n})\r\n\r\n\r\nmock.onGet(\"/api/user/checkpoint-reward\").reply(() => {\r\n return [200, data.checkpointReward];\r\n});\r\n","import mock from \"@/fake-db/mock.js\"\r\n\r\n// Contact\r\nlet data = {\r\n contacts: [\r\n {\r\n uid: 1,\r\n displayName: 'Felecia Rower',\r\n about: 'Cake pie jelly jelly beans. Marzipan lemon drops halvah cake. Pudding cookie lemon drops icing',\r\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-1.png\"),\r\n status: 'offline'\r\n },\r\n {\r\n uid: 2,\r\n displayName: 'Adalberto Granzin',\r\n about: 'Toffee caramels jelly-o tart gummi bears cake I love ice cream lollipop. Sweet liquorice croissant candy danish dessert icing. Cake macaroon gingerbread toffee sweet.',\r\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-2.png\"),\r\n status: 'do not disturb'\r\n },\r\n {\r\n uid: 3,\r\n displayName: 'Joaquina Weisenborn',\r\n about: 'Soufflé soufflé caramels sweet roll. Jelly lollipop sesame snaps bear claw jelly beans sugar plum sugar plum.',\r\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-3.png\"),\r\n status: 'do not disturb'\r\n },\r\n {\r\n uid: 4,\r\n displayName: 'Verla Morgano',\r\n about: 'Chupa chups candy canes chocolate bar marshmallow liquorice muffin. Lemon drops oat cake tart liquorice tart cookie. Jelly-o cookie tootsie roll halvah.',\r\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-4.png\"),\r\n status: 'online'\r\n },\r\n {\r\n uid: 5,\r\n displayName: 'Margot Henschke',\r\n about: 'Cake pie jelly jelly beans. Marzipan lemon drops halvah cake. Pudding cookie lemon drops icing',\r\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-5.png\"),\r\n status: 'do not disturb'\r\n },\r\n {\r\n uid: 6,\r\n displayName: 'Sal Piggee',\r\n about: 'Toffee caramels jelly-o tart gummi bears cake I love ice cream lollipop. Sweet liquorice croissant candy danish dessert icing. Cake macaroon gingerbread toffee sweet.',\r\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-6.png\"),\r\n status: 'online'\r\n },\r\n {\r\n uid: 7,\r\n displayName: 'Miguel Guelff',\r\n about: 'Biscuit powder oat cake donut brownie ice cream I love soufflé. I love tootsie roll I love powder tootsie roll.',\r\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-7.png\"),\r\n status: 'online'\r\n },\r\n {\r\n uid: 8,\r\n displayName: 'Mauro Elenbaas',\r\n about: 'Bear claw ice cream lollipop gingerbread carrot cake. Brownie gummi bears chocolate muffin croissant jelly I love marzipan wafer.',\r\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-8.png\"),\r\n status: 'away'\r\n },\r\n {\r\n uid: 9,\r\n displayName: 'Bridgett Omohundro',\r\n about: 'Gummies gummi bears I love candy icing apple pie I love marzipan bear claw. I love tart biscuit I love candy canes pudding chupa chups liquorice croissant.',\r\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-9.png\"),\r\n status: 'offline'\r\n },\r\n {\r\n uid: 10,\r\n displayName: 'Zenia Jacobs',\r\n about: 'Cake pie jelly jelly beans. Marzipan lemon drops halvah cake. Pudding cookie lemon drops icing',\r\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-10.png\"),\r\n status: 'away'\r\n },\r\n ],\r\n chats: {\r\n 1: {\r\n isPinned: true,\r\n msg: [\r\n {\r\n textContent: 'How can we help? We\\'re here for you!',\r\n time: 'Mon Dec 10 2018 07:45:00 GMT+0000 (GMT)',\r\n isSent: true,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'Hey John, I am looking for the best admin template. Could you please help me to find it out?',\r\n time: 'Mon Dec 10 2018 07:45:23 GMT+0000 (GMT)',\r\n isSent: false,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'It should be Bootstrap 4 compatible.',\r\n time: 'Mon Dec 10 2018 07:45:55 GMT+0000 (GMT)',\r\n isSent: false,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'Absolutely!',\r\n time: 'Mon Dec 10 2018 07:46:00 GMT+0000 (GMT)',\r\n isSent: true,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'Modern admin is the responsive bootstrap 4 admin template.!',\r\n time: 'Mon Dec 10 2018 07:46:05 GMT+0000 (GMT)',\r\n isSent: true,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'Looks clean and fresh UI.',\r\n time: 'Mon Dec 10 2018 07:46:23 GMT+0000 (GMT)',\r\n isSent: false,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'It\\'s perfect for my next project.',\r\n time: 'Mon Dec 10 2018 07:46:33 GMT+0000 (GMT)',\r\n isSent: false,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'How can I purchase it?',\r\n time: 'Mon Dec 10 2018 07:46:43 GMT+0000 (GMT)',\r\n isSent: false,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'Thanks, from ThemeForest.',\r\n time: 'Mon Dec 10 2018 07:46:53 GMT+0000 (GMT)',\r\n isSent: true,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'I will purchase it for sure. 👍',\r\n time: 'Mon Dec 10 2018 07:47:00 GMT+0000 (GMT)',\r\n isSent: false,\r\n isSeen: false,\r\n }\r\n ],\r\n },\r\n 2: {\r\n isPinned: false,\r\n msg: [\r\n {\r\n textContent: 'Hi',\r\n time: 'Mon Dec 10 2018 07:45:00 GMT+0000 (GMT)',\r\n isSent: true,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'Hello. How can I help You?',\r\n time: 'Mon Dec 11 2018 07:45:15 GMT+0000 (GMT)',\r\n isSent: false,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'Can I get details of my last transaction I made last month?',\r\n time: 'Mon Dec 11 2018 07:46:10 GMT+0000 (GMT)',\r\n isSent: true,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'We need to check if we can provide you such information.',\r\n time: 'Mon Dec 11 2018 07:45:15 GMT+0000 (GMT)',\r\n isSent: false,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'I will inform you as I get update on this.',\r\n time: 'Mon Dec 11 2018 07:46:15 GMT+0000 (GMT)',\r\n isSent: false,\r\n isSeen: true,\r\n },\r\n {\r\n textContent: 'If it takes long you can mail me at my mail address.',\r\n time: 'Mon Dec 11 2018 07:46:20 GMT+0000 (GMT)',\r\n isSent: true,\r\n isSeen: false,\r\n },\r\n ],\r\n },\r\n },\r\n}\r\n\r\n// Functions\r\nconst chatDataOfUser = (id) => {\r\n return data.chats[Object.keys(data.chats).find(key => key == id)]\r\n}\r\n\r\n// GET : Contacts List\r\nmock.onGet(\"/api/apps/chat/contacts\").reply((request) => {\r\n\r\n // Filter contact based on search query\r\n const filteredContacts = data.contacts.filter((contact) => {\r\n return contact.displayName.toLowerCase().includes(request.params.q.toLowerCase())\r\n })\r\n\r\n return [200, filteredContacts]\r\n})\r\n\r\n\r\n// GET : Get All Contacts\r\nmock.onGet(\"/api/apps/chat/contacts\").reply(() => {\r\n return [200, data.contacts]\r\n})\r\n\r\n// GET : Get All Chats\r\nmock.onGet(\"/api/apps/chat/chats\").reply(() => {\r\n return [200, data.chats]\r\n})\r\n\r\n// GET : Chats List\r\nmock.onGet(\"/api/apps/chat/chat-contacts\").reply((request) => {\r\n\r\n const chatContactsArray = data.contacts.filter((contact) => {\r\n if(data.chats[contact.uid]) return (data.chats[contact.uid] && contact.displayName.toLowerCase().includes(request.params.q.toLowerCase()))\r\n })\r\n\r\n return [200, chatContactsArray]\r\n})\r\n\r\n\r\n// POST : Mark all msgs as seen\r\nmock.onPost(\"/api/apps/chat/mark-all-seen/\").reply((request) => {\r\n let contactId = JSON.parse(request.data).contactId\r\n\r\n\r\n // Get chat data\r\n let chatLog = chatDataOfUser(contactId)\r\n\r\n // console.log(chatLog);\r\n chatDataOfUser(1) == chatLog\r\n\r\n // Loop over all msg & mark them as seen\r\n chatLog.msg.forEach((msg) => {\r\n msg.isSeen = true\r\n })\r\n\r\n // Set unsen Msg flag to 0\r\n chatLog.unseenMsg = 0\r\n\r\n // console.log(data.chats[0] == chatDataOfUser(contactId));\r\n\r\n return [200]\r\n})\r\n\r\n\r\nmock.onPost(\"/api/apps/chat/set-pinned/\").reply((request) => {\r\n let {contactId, value} = JSON.parse(request.data)\r\n let index = Object.keys(data.chats).find(key => key == contactId)\r\n data.chats[index].isPinned = value;\r\n return [200, data.chats[index]]\r\n})\r\n\r\n\r\nmock.onPost(\"/api/apps/chat/msg\").reply((request) => {\r\n let payload = JSON.parse(request.data).payload\r\n\r\n // Get chat data\r\n payload.chatData = chatDataOfUser(payload.id)\r\n\r\n if(payload.chatData){\r\n // If there's already chat. Push msg to existing chat\r\n data.chats[Object.keys(data.chats).find(key => key == payload.id)].msg.push(payload.msg);\r\n }else{\r\n // Create New chat and add msg\r\n data.chats[payload.id] = {isPinned: payload.isPinned, msg: [payload.msg]}\r\n }\r\n\r\n return [200]\r\n})\r\n\r\n\r\nmock.onPost(\"/api/apps/chat/mark-all-seen\").reply((request) => {\r\n const uid = JSON.parse(request.data).id\r\n\r\n // Get chat data\r\n let chatLog = chatDataOfUser(uid)\r\n\r\n chatLog.msg.forEach((msg) => {\r\n msg.isSeen = true\r\n })\r\n\r\n return [200]\r\n})\r\n","import mock from \"@/fake-db/mock.js\"\r\n\r\n// Contact\r\nlet data = {\r\n events: [\r\n {\r\n id: 1,\r\n title: 'My Event',\r\n startDate: new Date(new Date() - 1000 * 60 * 60 * 24 * 3),\r\n endDate: new Date(new Date() - 1000 * 60 * 60 * 24 * 2),\r\n url: '',\r\n classes: 'event-success',\r\n label: 'business'\r\n },\r\n ],\r\n labels: [\r\n { text: 'Business' ,value : 'business', color: 'success' },\r\n { text: 'Work', value: 'work', color: 'warning'},\r\n { text: 'Personal', value: 'personal', color: 'danger'},\r\n ]\r\n}\r\n\r\n// GET : Calendar Events\r\nmock.onGet(\"/api/apps/calendar/events\").reply(() => {\r\n return [200, data.events]\r\n})\r\n\r\n// POST : Add new events\r\nmock.onPost(\"/api/apps/calendar/events/\").reply((request) => {\r\n\r\n // Get event from post data\r\n let event = JSON.parse(request.data).event\r\n\r\n const length = data.events.length\r\n let lastIndex = 0\r\n if(length){\r\n lastIndex = data.events[length - 1].id\r\n }\r\n event.id = lastIndex + 1\r\n\r\n data.events.push(event)\r\n\r\n return [201, {id: event.id}]\r\n})\r\n\r\n// GET: Fetch Calendar Labels\r\nmock.onGet(\"api/apps/calendar/labels\").reply(() => {\r\n return [200, data.labels]\r\n})\r\n\r\n// POST: Update Event\r\nmock.onPost(/\\/api\\/apps\\/calendar\\/event\\/\\d+/).reply((request) => {\r\n\r\n let e = JSON.parse(request.data).event\r\n e.startDate = new Date(e.startDate)\r\n e.endDate = new Date(e.endDate)\r\n\r\n const eventId = request.url.substring(request.url.lastIndexOf(\"/\")+1)\r\n\r\n\r\n let event = data.events.find((event) => event.id == eventId)\r\n Object.assign(event, e)\r\n\r\n return [200, event]\r\n})\r\n\r\n// DELETE: Remove Event\r\nmock.onDelete(/\\/api\\/apps\\/calendar\\/event\\/\\d+/).reply((request) => {\r\n\r\n const eventId = request.url.substring(request.url.lastIndexOf(\"/\")+1)\r\n\r\n const eventIndex = data.events.findIndex((event) => event.id == eventId)\r\n data.events.splice(eventIndex, 1)\r\n return [200]\r\n})\r\n\r\n// POST: Update Dragged Event\r\nmock.onPost(/\\/api\\/apps\\/calendar\\/event\\/dragged\\/\\d+/).reply((request) => {\r\n\r\n const eventId = request.url.substring(request.url.lastIndexOf(\"/\")+1)\r\n let event = data.events.find((event) => event.id == eventId)\r\n const payload = JSON.parse(request.data).payload\r\n\r\n const draggedDateStart = new Date(payload.date)\r\n\r\n const eventStartDate = new Date(event.startDate).getTime()\r\n const eventEndDate = new Date(event.endDate).getTime()\r\n\r\n const diff = draggedDateStart - eventStartDate\r\n const newEndDate = new Date(eventEndDate + diff)\r\n event.startDate = draggedDateStart\r\n event.endDate = newEndDate\r\n\r\n return [200, event]\r\n})\r\n","import mock from \"@/fake-db/mock.js\"\r\n\r\n// Contact\r\nlet data = {\r\n tasks: [\r\n {\r\n \"id\": 10,\r\n \"title\": \"Refactor Code\",\r\n \"desc\": \"Pie liquorice wafer cotton candy danish. Icing topping jelly-o halvah pastry lollipop.\",\r\n \"isImportant\": true,\r\n \"isStarred\": false,\r\n \"tags\": [\"doc\", \"backend\"],\r\n \"isCompleted\": false,\r\n \"isTrashed\": false\r\n },\r\n {\r\n \"id\": 11,\r\n \"title\": \"Submit Report\",\r\n \"desc\": \"Donut tart toffee cake cookie gingerbread. Sesame snaps brownie sugar plum candy canes muffin cotton candy.\",\r\n \"isImportant\": false,\r\n \"isStarred\": true,\r\n \"tags\": [\"frontend\", \"doc\"],\r\n \"isCompleted\": false,\r\n \"isTrashed\": false\r\n },\r\n {\r\n \"id\": 15,\r\n \"title\": \"Send PPT 🎁\",\r\n \"desc\": \"Dragée gummi bears tiramisu brownie cookie. Jelly beans pudding marzipan fruitcake muffin. Wafer gummi bears lollipop pudding lollipop biscuit.\",\r\n \"isImportant\": true,\r\n \"isStarred\": true,\r\n \"tags\": [\"backend\", \"doc\"],\r\n \"isCompleted\": false,\r\n \"isTrashed\": false\r\n },\r\n {\r\n \"id\": 18,\r\n \"title\": \"Skype Tommy\",\r\n \"desc\": \"Tart oat cake sesame snaps lollipop croissant cake biscuit.\",\r\n \"isImportant\": false,\r\n \"isStarred\": false,\r\n \"tags\": [\"bug\"],\r\n \"isCompleted\": true,\r\n \"isTrashed\": false\r\n },\r\n {\r\n \"id\": 20,\r\n \"title\": \"Pick up Natasha 😁\",\r\n \"desc\": \"Sweet roll toffee dragée cotton candy jelly beans halvah gingerbread jelly-o. Ice cream bear claw sugar plum powder.\",\r\n \"isImportant\": true,\r\n \"isStarred\": true,\r\n \"tags\": [],\r\n \"isCompleted\": false,\r\n \"isTrashed\": false\r\n },\r\n {\r\n \"id\": 23,\r\n \"title\": \"Meet Jane ❤️\",\r\n \"desc\": \"Toffee sugar plum oat cake tiramisu tart bonbon gingerbread cheesecake cake. \",\r\n \"isImportant\": true,\r\n \"isStarred\": true,\r\n \"tags\": [\"frontend\", \"backend\", \"doc\"],\r\n \"isCompleted\": false,\r\n \"isTrashed\": false\r\n },\r\n {\r\n \"id\": 25,\r\n \"title\": \"Promot Products\",\r\n \"desc\": \"Gummi bears bear claw cake tiramisu gummies tiramisu apple pie chocolate jujubes. \",\r\n \"isImportant\": true,\r\n \"isStarred\": false,\r\n \"tags\": [],\r\n \"isCompleted\": false,\r\n \"isTrashed\": true\r\n },\r\n {\r\n \"id\": 28,\r\n \"title\": \"Fix Project\",\r\n \"desc\": \"Cookie fruitcake macaroon muffin apple pie chocolate bar toffee oat cake. Icing chocolate danish.\",\r\n \"isImportant\": false,\r\n \"isStarred\": false,\r\n \"tags\": [\"backend\"],\r\n \"isCompleted\": false,\r\n \"isTrashed\": true\r\n },\r\n {\r\n \"id\": 29,\r\n \"title\": \"Remove redundant files\",\r\n \"desc\": \"Brownie jelly beans tootsie roll brownie marshmallow. Sesame snaps halvah marzipan chocolate cake. Icing bear claw pie apple pie.\",\r\n \"isImportant\": false,\r\n \"isStarred\": false,\r\n \"tags\": [],\r\n \"isCompleted\": true,\r\n \"isTrashed\": true\r\n },\r\n {\r\n \"id\": 33,\r\n \"title\": \"Fix Responsiveness 💻\",\r\n \"desc\": \"Jelly topping toffee bear claw. Sesame snaps lollipop macaroon croissant cheesecake pastry cupcake.\",\r\n \"isImportant\": true,\r\n \"isStarred\": false,\r\n \"tags\": [\"frontend\"],\r\n \"isCompleted\": false,\r\n \"isTrashed\": false\r\n },\r\n ],\r\n taskTags: [\r\n { id: 5,text: 'Frontend' ,value : 'frontend', color: 'primary' },\r\n { id: 7,text: 'Backend', value: 'backend', color: 'warning'},\r\n { id: 8,text: 'Doc', value: 'doc', color: 'success'},\r\n { id: 11,text: 'Bug', value: 'bug', color: 'danger' },\r\n ]\r\n}\r\n\r\n// POST : Add new Tasks\r\nmock.onPost(\"/api/apps/todo/tasks/\").reply((request) => {\r\n\r\n // Get task from post data\r\n let task = JSON.parse(request.data).task\r\n\r\n const length = data.tasks.length\r\n let lastIndex = 0\r\n if(length){\r\n lastIndex = data.tasks[length - 1].id\r\n }\r\n task.id = lastIndex + 1\r\n\r\n data.tasks.push(task)\r\n\r\n return [201, {id: task.id}]\r\n})\r\n\r\n// GET: Fetch Todos\r\nmock.onGet(\"api/apps/todo/tasks\").reply((request) => {\r\n\r\n const filter = request.params.filter\r\n\r\n const filteredTasks = data.tasks.filter((task)=> {\r\n\r\n // If filter == all\r\n if(filter === \"all\") return !task.isTrashed\r\n\r\n // If filter == starred\r\n if(filter === \"starred\") return !task.isTrashed && task.isStarred\r\n\r\n // If filter == important\r\n if(filter === \"important\") return !task.isTrashed && task.isImportant\r\n\r\n // If filter == completed\r\n if(filter === \"completed\") return !task.isTrashed && task.isCompleted\r\n\r\n // If filter == trashed\r\n if(filter === \"trashed\") return task.isTrashed\r\n\r\n else return task.tags.includes(filter)\r\n\r\n })\r\n\r\n\r\n return [200, JSON.parse(JSON.stringify(filteredTasks)).reverse()]\r\n})\r\n\r\n// GET: Fetch tags\r\nmock.onGet(\"api/apps/todo/tags\").reply(() => {\r\n return [200, JSON.parse(JSON.stringify(data.taskTags))]\r\n})\r\n\r\n// POST: Update Task\r\nmock.onPost(/\\/api\\/apps\\/todo\\/task\\/\\d+/).reply((request) => {\r\n\r\n const taskId = request.url.substring(request.url.lastIndexOf(\"/\")+1)\r\n\r\n let task = data.tasks.find((task) => task.id == taskId)\r\n // task.title = JSON.parse(request.data).task.title\r\n Object.assign(task, JSON.parse(request.data).task)\r\n\r\n return [200, task]\r\n})\r\n","import mock from \"@/fake-db/mock.js\"\r\n\r\n// Contact\r\nlet data = {\r\n emails: [\r\n {\r\n id: 1,\r\n sender: 'tommys@mail.com',\r\n sender_name: 'Tommy Sicilia',\r\n to: ['johndoe@mail.com'],\r\n // require('@/assets/images/portrait/small/avatar-s-1.png')\r\n img: require('@/assets/images/portrait/small/avatar-s-1.png'),\r\n subject: 'Theme Update',\r\n cc: [],\r\n bcc: [],\r\n message: '

Hi John,


Biscuit lemon drops marshmallow. Cotton candy marshmallow bear claw. Dragée tiramisu cookie cotton candy. Carrot cake sweet roll I love macaroon wafer jelly soufflé I love dragée. Jujubes jelly I love carrot cake topping I love. Sweet candy I love chupa chups dragée. Tart I love gummies. Chocolate bar carrot cake candy wafer candy canes oat cake I love. Sesame snaps icing pudding sweet roll marshmallow. Cupcake brownie sweet roll chocolate bar I love gummies. Biscuit biscuit macaroon sesame snaps macaroon icing I love soufflé caramels. Apple pie candy jelly. I love icing gummi bears jelly-o pie muffin apple pie.


Marshmallow halvah brownie cake marzipan ice cream marshmallow. I love lollipop toffee croissant liquorice wafer muffin. Lollipop jelly beans caramels lollipop tootsie roll pudding pie macaroon tootsie roll. Oat cake jujubes gummies cake cake powder cupcake soufflé muffin. Chocolate caramels muffin tart. Jelly beans caramels dessert cotton candy liquorice chocolate cake. Chupa chups muffin bear claw I love. Biscuit jujubes soufflé tart caramels pie sugar plum. Croissant jelly beans cake. Ice cream chocolate liquorice dessert cookie chocolate cake. Powder tart sweet roll macaroon croissant. Sweet tootsie roll macaroon gummi bears macaroon. Gingerbread cake tart.


Regrads,

Kristeen Sicilia

',\r\n attachments: ['log.txt', 'sheet.xls'],\r\n isStarred: false,\r\n labels: ['private'],\r\n time: 'Mon Dec 10 2018 07:46:00 GMT+0000 (GMT)',\r\n replies: [],\r\n mailFolder: 'inbox',\r\n unread: false,\r\n },\r\n {\r\n id: 2,\r\n sender: 'tressag@mail.com',\r\n sender_name: 'Tressa Gass',\r\n to: ['johndoe@mail.com'],\r\n img: require('@/assets/images/portrait/small/avatar-s-2.png'),\r\n subject: 'Company Report',\r\n cc: ['vrushankbrahmshatriya@mail.com'],\r\n bcc: ['menka@mail.com'],\r\n message: '

Hello John,


Chocolate bar chupa chups sweet roll chocolate muffin macaroon liquorice tart. Carrot cake topping jelly-o cupcake sweet apple pie jelly I love. Chocolate cake I love dessert carrot cake tootsie roll chocolate I love. Tootsie roll pie marzipan sesame snaps. Lemon drops cake I love chocolate I love. Cheesecake croissant croissant cheesecake tootsie roll chocolate cake caramels. I love I love cake jelly. Pastry jelly beans I love I love. I love tootsie roll gummies toffee I love cookie cookie. Brownie tart croissant.


I love jelly pie. Croissant jelly beans lemon drops oat cake. Cupcake carrot cake ice cream cake cookie jelly-o fruitcake jelly macaroon. Biscuit muffin cupcake chocolate bar lollipop danish.

Ice cream I love I love lemon drops cotton candy macaroon. Jujubes soufflé oat cake sweet roll bear claw cotton candy cookie toffee tootsie roll. Danish sesame snaps sesame snaps cookie jelly danish chocolate bar.


Fruitcake pastry bear claw chocolate cookie. Biscuit icing bear claw. Sweet roll liquorice jelly-o muffin toffee I love wafer. Candy pastry halvah. Pie pastry candy canes tart. Fruitcake I love liquorice icing sweet roll macaroon. I love ice cream jelly-o biscuit brownie marzipan topping pudding sesame snaps. Chupa chups brownie brownie cotton candy sugar plum toffee. Tiramisu tootsie roll gingerbread biscuit I love ice cream brownie sesame snaps. I love croissant I love I love brownie pie marshmallow.


Regrads

Tressa Gass

',\r\n attachments: ['report.docx'],\r\n isStarred: true,\r\n labels: ['company', 'private'],\r\n time: 'Mon Dec 10 2018 07:55:00 GMT+0000 (GMT)',\r\n replies: [],\r\n mailFolder: 'inbox',\r\n unread: true,\r\n },\r\n {\r\n id: 3,\r\n sender: 'hettiem@mail.com',\r\n sender_name: 'Hettie Mcerlean',\r\n to: ['johndoe@mail.com', 'hello@pixinvent.net'],\r\n img: require('@/assets/images/portrait/small/avatar-s-3.png'),\r\n subject: 'Order Delivered',\r\n cc: [],\r\n bcc: [],\r\n message: '

Hello John,


Chocolate bar chupa chups sweet roll chocolate muffin macaroon liquorice tart. Carrot cake topping jelly-o cupcake sweet apple pie jelly I love. Chocolate cake I love dessert carrot cake tootsie roll chocolate I love. Tootsie roll pie marzipan sesame snaps. Lemon drops cake I love chocolate I love. Cheesecake croissant croissant cheesecake tootsie roll chocolate cake caramels. I love I love cake jelly. Pastry jelly beans I love I love. I love tootsie roll gummies toffee I love cookie cookie. Brownie tart croissant.


I love jelly pie. Croissant jelly beans lemon drops oat cake. Cupcake carrot cake ice cream cake cookie jelly-o fruitcake jelly macaroon. Biscuit muffin cupcake chocolate bar lollipop danish.

Ice cream I love I love lemon drops cotton candy macaroon. Jujubes soufflé oat cake sweet roll bear claw cotton candy cookie toffee tootsie roll. Danish sesame snaps sesame snaps cookie jelly danish chocolate bar.


Fruitcake pastry bear claw chocolate cookie. Biscuit icing bear claw. Sweet roll liquorice jelly-o muffin toffee I love wafer. Candy pastry halvah. Pie pastry candy canes tart. Fruitcake I love liquorice icing sweet roll macaroon. I love ice cream jelly-o biscuit brownie marzipan topping pudding sesame snaps. Chupa chups brownie brownie cotton candy sugar plum toffee. Tiramisu tootsie roll gingerbread biscuit I love ice cream brownie sesame snaps. I love croissant I love I love brownie pie marshmallow.


Regrads

Hettie Mcerlean

',\r\n attachments: [],\r\n isStarred: false,\r\n labels: ['company'],\r\n time: 'Mon Dec 10 2018 08:35:00 GMT+0000 (GMT)',\r\n replies: [\r\n {\r\n id: 4,\r\n sender: 'johndoe@mail.com',\r\n sender_name: 'John Doe',\r\n to: ['hettiem@mail.com'],\r\n img: require('@/assets/images/portrait/small/avatar-s-11.png'),\r\n subject: '',\r\n cc: [],\r\n bcc: [],\r\n message: '

Hello Hettie,


Marshmallow cookie jelly liquorice. Powder macaroon cake pastry biscuit. Cotton candy cotton candy jelly chocolate bar. Sesame snaps candy gummi bears cake cookie jujubes. Sweet I love sweet roll. Sesame snaps I love marzipan. Jelly powder tootsie roll. Marshmallow pudding cookie fruitcake liquorice powder. I love I love cookie chupa chups fruitcake ice cream I love biscuit I love. Tiramisu apple pie candy canes cookie gummies. Donut toffee bear claw topping jelly-o. Cupcake icing muffin. Cookie brownie wafer pie sweet. Icing sesame snaps halvah toffee marshmallow lemon drops jelly.


Tiramisu candy canes powder. Powder chocolate bar halvah liquorice cake I love danish. Cake wafer apple pie. Bear claw fruitcake I love marzipan dessert marzipan lollipop. Halvah gingerbread jelly chupa chups tiramisu I love wafer gummi bears. Candy powder caramels candy gummies. Tart tart cupcake brownie. Bear claw gummies toffee. Tiramisu donut cake chocolate bar. Halvah chocolate bar donut jelly-o. Icing candy brownie chocolate. Pastry bear claw halvah gummies chocolate bar chocolate. Apple pie danish wafer I love biscuit.


Regrads,

John Doe


',\r\n attachments: [],\r\n isStarred: false,\r\n labels: [],\r\n time: 'Mon Dec 10 2018 10:56:00 GMT+0000 (GMT)',\r\n replies: [],\r\n mailFolder: '',\r\n unread: false,\r\n },\r\n {\r\n id: 5,\r\n sender: 'hettiem@mail.com',\r\n sender_name: 'Hettie Mcerlean',\r\n to: ['johndoe@mail.com'],\r\n img: require('@/assets/images/portrait/small/avatar-s-3.png'),\r\n subject: '',\r\n cc: [],\r\n bcc: [],\r\n message: '

Oat cake tart danish jelly beans brownie I love. Liquorice I love lollipop chocolate cake carrot cake toffee. Tart muffin candy canes croissant sugar plum lollipop. Macaroon cheesecake marshmallow powder sweet roll bonbon candy apple pie candy canes.


Regrads,

Hettie Mcerlean


',\r\n attachments: ['data.docx'],\r\n isStarred: false,\r\n labels: [],\r\n time: 'Mon Dec 10 2018 11:25:00 GMT+0000 (GMT)',\r\n replies: [],\r\n mailFolder: '',\r\n unread: false,\r\n },\r\n ],\r\n mailFolder: 'spam',\r\n unread: false,\r\n },\r\n {\r\n id: 10,\r\n sender: 'louettae@mail.com',\r\n sender_name: 'Louetta Esses',\r\n to: ['johndoe@mail.com'],\r\n img: require('@/assets/images/portrait/small/avatar-s-4.png'),\r\n subject: '',\r\n cc: [],\r\n bcc: [],\r\n message: '

Hi John,


Biscuit lemon drops marshmallow. Cotton candy marshmallow bear claw. Dragée tiramisu cookie cotton candy. Carrot cake sweet roll I love macaroon wafer jelly soufflé I love dragée. Jujubes jelly I love carrot cake topping I love. Sweet candy I love chupa chups dragée. Tart I love gummies. Chocolate bar carrot cake candy wafer candy canes oat cake I love. Sesame snaps icing pudding sweet roll marshmallow. Cupcake brownie sweet roll chocolate bar I love gummies. Biscuit biscuit macaroon sesame snaps macaroon icing I love soufflé caramels. Apple pie candy jelly. I love icing gummi bears jelly-o pie muffin apple pie.


Marshmallow halvah brownie cake marzipan ice cream marshmallow. I love lollipop toffee croissant liquorice wafer muffin. Lollipop jelly beans caramels lollipop tootsie roll pudding pie macaroon tootsie roll. Oat cake jujubes gummies cake cake powder cupcake soufflé muffin. Chocolate caramels muffin tart. Jelly beans caramels dessert cotton candy liquorice chocolate cake. Chupa chups muffin bear claw I love. Biscuit jujubes soufflé tart caramels pie sugar plum. Croissant jelly beans cake. Ice cream chocolate liquorice dessert cookie chocolate cake. Powder tart sweet roll macaroon croissant. Sweet tootsie roll macaroon gummi bears macaroon. Gingerbread cake tart.


Regrads,

Kristeen Sicilia

',\r\n attachments: ['report.docx'],\r\n isStarred: false,\r\n labels: ['important'],\r\n time: 'Mon Dec 11 2018 10:55:00 GMT+0000 (GMT)',\r\n replies: [],\r\n mailFolder: 'inbox',\r\n unread: false,\r\n },\r\n {\r\n \"id\": 11,\r\n \"sender\": \"bposvner0@zdnet.com\",\r\n \"sender_name\": \"Bobbie Posvner\",\r\n \"to\": [\"johndoe@dot.gov\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-11.png'),\r\n \"subject\": \"Re-contextualized zero administration toolset\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hello John,


Epiboly henbill hemichorea composedness resequent hearthpenny racialization freeboard Reboulia Albuginaceae Violales Trisagion resinlike plumlet insalubrious Urocoptis Orthoceratidae ogmic plateaux reinsist preconsumption rattener venipuncture Rhadamanthine


perversely corpusculated theophoric uncemented weiring myolipoma gudesire dramatics trichomaphyte adventitious video polychaete glossorrhaphy bestially zoospore nonnotional sawbones unprejudiciable wali collaborative coppled shammish manless predisorder

\",\r\n \"attachments\": [\"OrciMaurisLacinia.avi\"],\r\n \"isStarred\": true,\r\n \"labels\": [\"private\"],\r\n \"time\": \"Tue Dec 12 2018 11:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"spam\",\r\n \"unread\": true\r\n },\r\n {\r\n \"id\": 12,\r\n \"sender\": \"rgilder1@illinois.edu\",\r\n \"sender_name\": \"Rebecca Gilder\",\r\n \"to\": [\"johndoe@google.co.uk\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-6.png'),\r\n \"subject\": \"Integrated bi-directional help-desk\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hello John,


irretraceably indestructibility sisi fiddle pyretic Gerbera vocable hoped Chartreux thinglet whister fetiferous Guhayna overloud yuca suggestibly atmiatrics serioludicrous prehaustorium androgenic betulin chiropterite sprittail atrochal


stopper acinaceous bandcutter unprostituted undependableness Saffarid parasympathetic dishonorer embryogeny overscrupulous deicidal Tapuya roupily devotee alfet sophiologic hydrobromide onlook preverb Dottore primitial frostlike overbig Monocyclica

\",\r\n \"attachments\": [\"QuisOdio.txt\"],\r\n \"isStarred\": false,\r\n \"labels\": [\"personal\"],\r\n \"time\": \"Thu Dec 13 2018 08:25:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"trash\",\r\n \"unread\": true\r\n },\r\n {\r\n \"id\": 13,\r\n \"sender\": \"swilby2@yandex.ru\",\r\n \"sender_name\": \"Shawn Wilby\",\r\n \"to\": [\"johndoe@altervista.org\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-1.png'),\r\n \"subject\": \"Devolved regional product\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hello John,


scalpellum unisometrical emend esotrope gether separatical passionwise cringe flawful annotinous jiboa thrombotic essoinment successional backrope oligohemia gitaligenin formulaic bradycinesia paralgesic eumycetic receptoral eyrie yearly


atomistical semischolastic clour discardment pseudelytron cheson path Bennet Herat pinchem Tho extravagantly shaking procidence flocker amidoketone gyric Moi petrolific clink immunization estrepement spalder poitrail

\",\r\n \"attachments\": [\"NecMolestieSed.tiff\"],\r\n \"isStarred\": false,\r\n \"labels\": [\"company\"],\r\n \"time\": \"Fri Dec 14 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"draft\",\r\n \"unread\": false\r\n },\r\n {\r\n \"id\": 14,\r\n \"sender\": \"wmannering3@mozilla.org\",\r\n \"sender_name\": \"Waldemar Mannering\",\r\n \"to\": [\"johndoe@sciencedaily.com\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-13.png'),\r\n \"subject\": \"Quality-focused methodical flexibility\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hi John,


wartproof ketoheptose incomplicate hyomental organal supermaterial monogene sophister nizamate rightle multifilament phloroglucic overvehement boatloading derelictly probudgeting archantiquary unknighted pallograph Volcanalia Jacobitiana ethyl neth Jugatae


noumenalize irredential energeia phlebotomist galp dactylitis unparticipated solepiece demure metarhyolite toboggan unpleased perilaryngeal binoxalate rabbitry atomic duali dihexahedron Pseudogryphus boomboat obelisk undreaded unadmired podometer

\",\r\n \"attachments\": [\"Nulla.gif\"],\r\n \"isStarred\": false,\r\n \"labels\": [\"private\"],\r\n \"time\": \"Tue Dec 15 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"inbox\",\r\n \"unread\": false\r\n },\r\n {\r\n \"id\": 15,\r\n \"sender\": \"hfrostdyke4@scientificamerican.com\",\r\n \"sender_name\": \"Heath Frostdyke\",\r\n \"to\": [\"johndoe@weibo.com\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-13.png'),\r\n \"subject\": \"Secured optimal algorithm\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hello John,


prefertility volumetrical subdivision Alpinist hypostomous foreyard lede knuckling Agade viking protometallic unsting palaeobiologist trierarchic bigheartedness Slartibartfast tabitude popadam idioplasm fabulous arsenite cingle backhandedness denizenship


argo trickish dependingly unhouseled aegeriid ophthalmophlebotomy crazy freedwoman unspinsterlike clinical epistemologically hermodactyl humbugger misogynist plunder Sabbathly tabule feckless cerite porringer benumb duograph propatagian pressman

\",\r\n \"attachments\": [\"SapienQuisLibero.tiff\"],\r\n \"isStarred\": true,\r\n \"labels\": [\"personal\"],\r\n \"time\": \"Tue Jan 01 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"trash\",\r\n \"unread\": false\r\n },\r\n {\r\n \"id\": 16,\r\n \"sender\": \"pjentzsch5@tamu.edu\",\r\n \"sender_name\": \"Paulita Jentzsch\",\r\n \"to\": [\"johndoe@skype.com\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-18.png'),\r\n \"subject\": \"Profound user-facing frame\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hello John,


unstintedly septifarious prevalid implicative esere Kedarite Nekkar encampment Issedones Saururus Turkize Tshi misengrave lamnid benzamine rigidulous octonion hydrophilous coxalgic nasturtium epileptogenic biporose undenominationalism widu


melioration pager infiltrate plouky tribesmanship transudate heinous exhibitionistic klendusic lienocele tractate unemotioned castigate selenate appealable Palladianism chloracetate penna moellon detector halcyon amidofluorid damascene hollaite

\",\r\n \"attachments\": [\"UtNulla.avi\"],\r\n \"isStarred\": true,\r\n \"labels\": [\"important\"],\r\n \"time\": \"Tue Jan 03 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"draft\",\r\n \"unread\": false\r\n },\r\n {\r\n \"id\": 17,\r\n \"sender\": \"lminghetti6@yale.edu\",\r\n \"sender_name\": \"Lowell Minghetti\",\r\n \"to\": [\"johndoe@fda.gov\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-4.png'),\r\n \"subject\": \"Reactive full-range encryption\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hi John,


Jaime stadimeter reshearer adfix exaristate herby chrysomonad ostentous Abrahamic Marsipobranchii skil linguodental relaster restbalk enhorror glycerizine foremelt difficultness Ostreidae Euphues panduriform howler Finmark primordality


semicurvilinear skeet sociogenetic dicephalism ghalva ethnicon katagenesis tasklike triachenium abuser henbane strubbly streetway Ramaism besetting saccos enzymically wickiup inopulent poetship Miranda hemianesthesia sphericle oariopathy

\",\r\n \"attachments\": [\"ElementumLigula.mp3\"],\r\n \"isStarred\": true,\r\n \"labels\": [\"company\"],\r\n \"time\": \"Tue Jan 03 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"trash\",\r\n \"unread\": false\r\n },\r\n {\r\n \"id\": 18,\r\n \"sender\": \"efinessy7@sbwire.com\",\r\n \"sender_name\": \"Eugenie Finessy\",\r\n \"to\": [\"johndoe@odnoklassniki.ru\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-2.png'),\r\n \"subject\": \"Polarised holistic protocol\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hello John,


nonmotile generale punctated humanify escharine unlatch alrighty unshepherding standstill upcrane unilobular prefrontal primate fluviatic premundane tritocone compaternity dolina phonautographic cobby corse neurohypnotic cyrtopia wreathy


slanderousness Lemosi myxochondroma haemogram electrothermostat piperonyl spital reappeal pyopneumothorax Yunca eyoty forecourse extensive kickout germanization vigilant Criophoros muss aortostenosis Berchta phonophotoscopic precorrespondence rigidist castling

\",\r\n \"attachments\": [\"Hac.xls\"],\r\n \"isStarred\": true,\r\n \"labels\": [\"personal\"],\r\n \"time\": \"Tue Jan 04 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"sent\",\r\n \"unread\": false\r\n },\r\n {\r\n \"id\": 19,\r\n \"sender\": \"tmckeurton8@163.com\",\r\n \"sender_name\": \"Tadio McKeurton\",\r\n \"to\": [\"johndoe@nifty.com\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-14.png'),\r\n \"subject\": \"Down-sized transitional intranet\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hey John,


calcimine gramineal nonfreezable interradial setula undertakable Abranchiata ultrasystematic spectroelectric Astarte Abraham bedsite enantiopathia exlex precoincident thiocarbamic mesenteriform daturism thioantimoniate tripudiate unsultry predynastic benzidino doxasticon


overstale confessory glossed jane smoodger modernization Dehkan progymnospermic gangliectomy volumenometry Paulinistically tippy Gelfomino hive preredemption coccygine horrendous unintrusted plainer interrelatedly tearer arrojadite incircumspectly yokemating

\",\r\n \"attachments\": [\"SedAnteVivamus.avi\"],\r\n \"isStarred\": true,\r\n \"labels\": [\"important\"],\r\n \"time\": \"Tue Jan 05 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"draft\",\r\n \"unread\": true\r\n },\r\n {\r\n \"id\": 20,\r\n \"sender\": \"ebegg9@wikia.com\",\r\n \"sender_name\": \"Eb Begg\",\r\n \"to\": [\"johndoe@51.la\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-19.png'),\r\n \"subject\": \"Organized value-added model\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hello Sir,


Lituola restrengthen bathofloric manciple decaffeinize Debby aciliated eatage proscribe prejurisdiction buttle quacky hyposecretion indemonstrableness schelling lymphopathy consumptivity nonappointment filminess spumiform erotogenicity equestrianize boneflower interlardation


allocate ponzite cote guilder tuff strind blamefully cocaine monstrously apocalyptically sublanate cherubimical oligoplasmia Miltonian hydrazyl unbeset statured Unami Cordeau strouthiocamelian geitjie larigo sociometry align

\",\r\n \"attachments\": [\"Eget.jpeg\"],\r\n \"isStarred\": false,\r\n \"labels\": [\"company\"],\r\n \"time\": \"Tue Jan 06 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"inbox\",\r\n \"unread\": false\r\n },\r\n {\r\n \"id\": 21,\r\n \"sender\": \"mspata@sina.com.cn\",\r\n \"sender_name\": \"Modestine Spat\",\r\n \"to\": [\"johndoe@oracle.com\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-9.png'),\r\n \"subject\": \"Profound systemic alliance 🎉 🎊\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hey John,


Parthenopean logeion chipwood tonsilitic cockleshell substance Stilbum dismayed tape Alderamin Phororhacos bridewain zoonomia lujaurite printline extraction weanedness charterless splitmouth bindoree unfit philological Pythonissa scintillescent


cinchonism sabbaton thyrocricoid dissuasively schematograph immerse pristane stimulability unreligion uncomplemental uteritis nef bavenite Hachiman teleutosorus anterolateral infirmate Nahani Hyla barile farthing crea venesector Cirrostomi

\",\r\n \"attachments\": [\"Felis.xls\"],\r\n \"isStarred\": false,\r\n \"labels\": [\"company\"],\r\n \"time\": \"Tue Jan 07 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"inbox\",\r\n \"unread\": true\r\n },\r\n {\r\n \"id\": 22,\r\n \"sender\": \"cprandob@rambler.ru\",\r\n \"sender_name\": \"Chase Prando\",\r\n \"to\": [\"johndoe@vistaprint.com\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-2.png'),\r\n \"subject\": \"Centralized intermediate instruction set\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Respected Sir,


drainman merman pleurosteal slatted serenader Tantalus slodder cachalot guerdon flannelflower digestibility priggish loa monocarbide endive rented kelep pangamous gummata siris stockproof butlerism polycrystalline begetter


rack unpaining beglue astucious yardstick laniflorous tetrachloride avidious Biblicistic clival myosinogen antilobium unamiability unperforate Elaphurus wrapping deformity revocative kovil unwainscoted councilmanic saccharobiose federalize procellous

\",\r\n \"attachments\": [\"HabitasJanlateaDictumst.avi\"],\r\n \"isStarred\": false,\r\n \"labels\": [\"company\"],\r\n \"time\": \"Tue Jan 08 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"sent\",\r\n \"unread\": false\r\n },\r\n {\r\n \"id\": 23,\r\n \"sender\": \"nbartlesc@merriam-webster.com\",\r\n \"sender_name\": \"Normand Bartles\",\r\n \"to\": [\"johndoe@si.edu\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-9.png'),\r\n \"subject\": \"Re-contextualized leading edge projection\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hello John,


orpine anidiomatic protoreptilian lacklusterness macromastia obstetricate Phaneroglossa tripleness laxatively hypophloeous ocellate sinoauricular porch lignitic miche strinkle hyperthyreosis tugui Alascan unrailroaded Cypriote vesuvian gradative hardener


forthink Locarno wattlework Nordicist formoxime demipriest medrick Lomentaria lucible Canossa Manatus anaplasty Spirochaete bonus overgown Amurru Skupshtina opisthorchiasis preworthy Brodie shortchange Nikko Gaviae crosscut

\",\r\n \"attachments\": [\"UltricesPosuere.mpeg\"],\r\n \"isStarred\": false,\r\n \"labels\": [\"personal\"],\r\n \"time\": \"Tue Jan 09 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"spam\",\r\n \"unread\": false\r\n },\r\n {\r\n \"id\": 24,\r\n \"sender\": \"rgennd@dedecms.com\",\r\n \"sender_name\": \"Robin Genn\",\r\n \"to\": [\"johndoe@about.com\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-6.png'),\r\n \"subject\": \"Team-oriented system-worthy intranet\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hi John,


balsamation teachableness enarthrodia dentilation superguarantee Yuapin schedulize antarctically biocoenotic unspottedly stinter admonitorily uncollatedness umquhile grayhead dephase stopgap evenglow photogenically desmacyte rink osiered specking ratwa


hospitize epithymetical montage rhapsodical Ninja superdramatist westerner clubionid haustellate Saltator rodding ophthalmomalacia concupiscibleness tingle hyperuresis Trigoniidae rearousal sanctimonial Munychia counterpaned exhibitable communer triadism Janiform

\",\r\n \"attachments\": [\"Id.tiff\"],\r\n \"isStarred\": true,\r\n \"labels\": [\"personal\"],\r\n \"time\": \"Tue Jan 10 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"spam\",\r\n \"unread\": false\r\n },\r\n {\r\n \"id\": 25,\r\n \"sender\": \"eramelote@webeden.co.uk\",\r\n \"sender_name\": \"Emmalynn Ramelot\",\r\n \"to\": [\"johndoe@tinypic.com\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-6.png'),\r\n \"subject\": \"Phased eco-centric architecture\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hey John,


hightoby Maja vindicatorship unglobe poduran bronchodilatation uncontorted underwarden cyclometric orgiacs tigerhearted upscale curatize Scylliorhinidae slick unisolated nanocephalous cuirassier heartwise Venusian titanitic requirement antirestoration toluido


Trematosaurus procreant ethos pessimistic antiselene pisk Amphipneusta anconad Corchorus unswabbed sizable Balanites sardonical shovelbill trammeler carpetwork rhexis remade myelinated right bounteous unsin retroduction Montanist

\",\r\n \"attachments\": [\"Augue.mp3\"],\r\n \"isStarred\": true,\r\n \"labels\": [\"personal\"],\r\n \"time\": \"Tue Jan 11 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"spam\",\r\n \"unread\": true\r\n },\r\n {\r\n \"id\": 26,\r\n \"sender\": \"pcuzenf@mediafire.com\",\r\n \"sender_name\": \"Penni Cuzen\",\r\n \"to\": [\"johndoe@google.es\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-9.png'),\r\n \"subject\": \"Future-proofed motivating support\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hello John,


yonder secessionalist astringer Ovangangela overcumber supracaecal scutulate Aglaonema Pakawan citril unsubducted cavernal multivalve ladify Cichorium supplication flexion cricothyroidean picaro locally etiogenic timeously scalpeen sapropel


agglutinative hyperideation Flamandize antipragmatic wincer brachyphalangia forenotion Angloman ornamentation merch revulsed windingly tristate orgic sateless orseilline Anchietea pilferer aroid counselor forevermore kulmet maladventure haruspice

\",\r\n \"attachments\": [\"Leo.avi\"],\r\n \"isStarred\": false,\r\n \"labels\": [\"private\"],\r\n \"time\": \"Tue Jan 12 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"spam\",\r\n \"unread\": true\r\n },\r\n {\r\n \"id\": 27,\r\n \"sender\": \"abaldersong@utexas.edu\",\r\n \"sender_name\": \"Ardis Balderson\",\r\n \"to\": [\"johndoe@ow.ly\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-18.png'),\r\n \"subject\": \"Focused impactful open system 📷 😃\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hey John,


bah kivu decrete epanorthotic unnotched Argyroneta nonius veratrine preimaginary saunders demidolmen Chaldaic allusiveness lorriker unworshipping ribaldish tableman hendiadys outwrest unendeavored fulfillment scientifical Pianokoto Chelonia


Freudian sperate unchary hyperneurotic phlogiston duodecahedron unflown Paguridea catena disrelishable Stygian paleopsychology cantoris phosphoritic disconcord fruited inblow somewhatly ilioperoneal forrard palfrey Satyrinae outfreeman melebiose

\",\r\n \"attachments\": [\"Interdum.doc\"],\r\n \"isStarred\": true,\r\n \"labels\": [\"company\"],\r\n \"time\": \"Tue Jan 13 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"inbox\",\r\n \"unread\": true\r\n },\r\n {\r\n \"id\": 28,\r\n \"sender\": \"dmallallh@ask.com\",\r\n \"sender_name\": \"Dagmar Mallall\",\r\n \"to\": [\"johndoe@furl.net\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-4.png'),\r\n \"subject\": \"Function-based local productivity\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Dear Consumer,


gibbed preconceptual passionwort Goanese confluence ungnaw aubepine coadjacency Romipetal isochronic convener overinsistently psammophyte colpenchyma unlogic instinctivist motorcab wellhole receptacle sinistrocular avifaunal decagram paramountness samhita


sphincterismus Aunjetitz vagabondage parallelotropism unreceipted io wheretoever semivolcanic Chlamydomonadidae spittlestaff spermatogenic Sephardi berrigan lowly grotesquerie Pentameridae unsuccessive archlexicographer Stephanian reimpatriate untossed beth ventriloquial dedicational

\",\r\n \"attachments\": [\"AdipiscingElit.ppt\"],\r\n \"isStarred\": true,\r\n \"labels\": [\"company\"],\r\n \"time\": \"Tue Jan 14 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"draft\",\r\n \"unread\": true\r\n },\r\n {\r\n \"id\": 29,\r\n \"sender\": \"nmacgaughyi@aol.com\",\r\n \"sender_name\": \"Nada MacGaughy\",\r\n \"to\": [\"johndoe@cnet.com\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-18.png'),\r\n \"subject\": \"Compatible object-oriented policy\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hello John,


miraculous pirijiri meekheartedness superoxygenation Elric paries epideictical Prajapati reassign stridlins spoach overreadily abusion sailmaking illiterately septangularness retinene Hler exceptionary ferberite possessionalist piperide Oschophoria beau


abnormalize yearnfulness Janiculum sixhaend abstemiousness uterogestation orchestrina gallotannin muckment melanoblast supercivilization inclusionist electroosmotically immatchable stomatoplastic satinity hydrogen unexorable quinamidine milksopism fascinating ratsbane endocline Zolaist

\",\r\n \"attachments\": [\"AnteIpsumPrimis.ppt\"],\r\n \"isStarred\": false,\r\n \"labels\": [\"private\"],\r\n \"time\": \"Tue Jan 16 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"trash\",\r\n \"unread\": false\r\n },\r\n {\r\n \"id\": 30,\r\n \"sender\": \"douldcottj@yellowpages.com\",\r\n \"sender_name\": \"Dalila Ouldcott\",\r\n \"to\": [\"johndoe@github.io\"],\r\n \"img\": require('@/assets/images/portrait/small/avatar-s-19.png'),\r\n \"subject\": \"User-friendly value-added application\",\r\n \"cc\": [],\r\n \"bcc\": [],\r\n \"message\": \"

Hey John,


wellish laminable ineunt popshop catalyte prismatize campimetrical lentisk excluding portlet coccinellid impestation Bangash Lollardist perameloid procerebrum presume cashmerette washbasin nainsook Odontolcae Alea holcodont welted


cibarious terrifical uploop naphthaleneacetic containable nonsailor Zwinglian blighty benchful guar porch fallectomy building coinvolve eidolism warmth unclericalize seismographic recongeal ethanethial clog regicidal regainment legific

\",\r\n \"attachments\": [\"EratFermentum.mpeg\"],\r\n \"isStarred\": true,\r\n \"labels\": [\"personal\"],\r\n \"time\": \"Tue Jan 17 2018 10:55:00 GMT+0000 (GMT)\",\r\n \"replies\": [],\r\n \"mailFolder\": \"trash\",\r\n \"unread\": false\r\n }\r\n ],\r\n emailTags: [\r\n { text: 'Personal', value : 'personal', color:\"success\"},\r\n { text: 'Company', value: 'company', color:\"primary\"},\r\n { text: 'Important', value: 'important', color:\"warning\"},\r\n { text: 'Private', value: 'private', color:\"danger\"},\r\n ]\r\n}\r\n\r\n// GET : Emails\r\nmock.onGet(\"api/apps/email/mails\").reply((request) => {\r\n\r\n const filter = request.params.filter\r\n\r\n const filteredEmails = data.emails.filter((email)=> {\r\n\r\n if (filter == \"inbox\") return email.mailFolder === \"inbox\"\r\n if (filter === \"sent\") return email.mailFolder === \"sent\"\r\n if (filter === \"draft\") return email.mailFolder === \"draft\"\r\n if (filter === \"starred\") return email.isStarred && email.mailFolder !== \"trash\"\r\n if (filter === \"trash\") return email.mailFolder === \"trash\"\r\n if (filter === \"spam\") return email.mailFolder === \"spam\"\r\n else return email.mailFolder != \"trash\" && email.labels.includes(filter)\r\n\r\n }).reverse()\r\n\r\n return [200, JSON.parse(JSON.stringify(filteredEmails))]\r\n})\r\n\r\n// GET : Emails\r\nmock.onGet(\"api/apps/email/tags\").reply(() => {\r\n return [200, data.emailTags]\r\n})\r\n\r\n// GET : Unread Mails\r\nmock.onGet(\"/api/apps/email/meta\").reply(() => {\r\n\r\n let countUnreadMailFolders = [\"inbox\", \"spam\"]\r\n\r\n let meta = {\r\n unreadMails: {\r\n folder: {},\r\n label: {}\r\n },\r\n draftMails: []\r\n }\r\n\r\n data.emails.forEach((mail) => {\r\n\r\n // Count unread mails\r\n if(mail.unread) {\r\n\r\n // Add mail id\r\n if(countUnreadMailFolders.includes(mail.mailFolder)) {\r\n meta.unreadMails.folder[mail.mailFolder] ? meta.unreadMails.folder[mail.mailFolder].push(mail.id) : meta.unreadMails.folder[mail.mailFolder] = [mail.id]\r\n }\r\n\r\n // Add mail id\r\n mail.labels.forEach((label) => {\r\n meta.unreadMails.label[label] ? meta.unreadMails.label[label].push(mail.id) : meta.unreadMails.label[label] = [mail.id]\r\n })\r\n }\r\n\r\n // Get draft mail count\r\n if(mail.mailFolder === \"draft\") meta.draftMails.push(mail.id)\r\n })\r\n\r\n return [200, meta]\r\n})\r\n\r\n\r\n// POST : Move Mails to another folder\r\nmock.onPost(\"/api/apps/email/move-mails\").reply((request) => {\r\n const mailsToMove = JSON.parse(request.data).emailIds\r\n\r\n data.emails.forEach((mail) => {\r\n if(mailsToMove.includes(mail.id)) mail.mailFolder = JSON.parse(request.data).mailFolder\r\n })\r\n\r\n return [200]\r\n})\r\n\r\n// POST : Update Mails Labels\r\nmock.onPost(\"/api/apps/email/update-labels\").reply((request) => {\r\n\r\n const label = JSON.parse(request.data).label\r\n const mailsToUpdate = JSON.parse(request.data).emailIds\r\n\r\n mailsToUpdate.forEach((mailId) => {\r\n const mailIndex = data.emails.findIndex((mail) => mail.id == mailId)\r\n const labelIndex = data.emails[mailIndex].labels.indexOf(label)\r\n\r\n if(labelIndex == -1) {\r\n data.emails[mailIndex].labels.push(label)\r\n }else{\r\n data.emails[mailIndex].labels.splice(labelIndex, 1)\r\n }\r\n })\r\n\r\n return [200]\r\n})\r\n\r\n// POST : Set Mails Labels for single mail\r\nmock.onPost(\"/api/apps/email/set-labels\").reply((request) => {\r\n const mailId = JSON.parse(request.data).mailId\r\n data.emails.find((mail) => mail.id === mailId).labels = JSON.parse(request.data).labels\r\n return [200]\r\n})\r\n\r\n// POST : Mark as Unread\r\nmock.onPost(\"/api/apps/email/mark-unread\").reply((request) => {\r\n const mailsToUpdate = JSON.parse(request.data).emailIds\r\n\r\n mailsToUpdate.forEach((mailId) => {\r\n const mailIndex = data.emails.findIndex((mail) => mail.id == mailId)\r\n data.emails[mailIndex].unread = JSON.parse(request.data).unreadFlag\r\n })\r\n\r\n return [200]\r\n})\r\n\r\n// POST : Set starred\r\nmock.onPost(\"/api/apps/email/set-starred\").reply((request) => {\r\n const mailId = JSON.parse(request.data).mailId\r\n\r\n data.emails.find((mail) => mail.id === mailId).isStarred = JSON.parse(request.data).value\r\n\r\n return [200]\r\n})\r\n\r\n// GET: Fetch Calendar Labels\r\n// mock.onGet(\"api/apps/calendar/labels\").reply(() => {\r\n// return [200, data.labels]\r\n// })\r\n\r\n// POST: Update Event\r\n// mock.onPost(/\\/api\\/apps\\/calendar\\/event\\/\\d+/).reply((request) => {\r\n\r\n// const eventId = request.url.substring(request.url.lastIndexOf(\"/\")+1)\r\n\r\n// let event = data.events.find((event) => event.id == eventId)\r\n// Object.assign(event, JSON.parse(request.data).event)\r\n\r\n// return [200, event]\r\n// })\r\n\r\n// DELETE: Remove Event\r\n// mock.onDelete(/\\/api\\/apps\\/calendar\\/event\\/\\d+/).reply((request) => {\r\n\r\n// const eventId = request.url.substring(request.url.lastIndexOf(\"/\")+1)\r\n\r\n// const eventIndex = data.events.findIndex((event) => event.id == eventId)\r\n// data.events.splice(eventIndex, 1)\r\n// return [200]\r\n// })\r\n\r\n// POST: Update Dragged Event\r\n// mock.onPost(/\\/api\\/apps\\/calendar\\/event\\/dragged\\/\\d+/).reply((request) => {\r\n\r\n// const eventId = request.url.substring(request.url.lastIndexOf(\"/\")+1)\r\n// let event = data.events.find((event) => event.id == eventId)\r\n// const payload = JSON.parse(request.data).payload\r\n\r\n// const draggedDateStart = new Date(payload.date)\r\n\r\n// const eventStartDate = new Date(event.startDate).getTime()\r\n// const eventEndDate = new Date(event.endDate).getTime()\r\n\r\n// const diff = draggedDateStart - eventStartDate\r\n// const newEndDate = new Date(eventEndDate + diff)\r\n// event.startDate = draggedDateStart\r\n// event.endDate = newEndDate\r\n\r\n// return [200, event]\r\n// })\r\n","import mock from './mock'\r\n\r\n\r\nimport \"./data/card/index.js\"\r\nimport \"./data/table/index.js\"\r\nimport \"./data/data-list/index.js\"\r\nimport \"./data/user/index.js\"\r\n\r\n// Apps\r\nimport \"./data/apps/index.js\"\r\n\r\nmock.onAny().passThrough(); // forwards the matched request over network\r\n","// NOTE\r\n// Please use your own firebase details below. For more details visit: https://pixinvent.com/demo/vuexy-vuejs-admin-dashboard-template/documentation/development/firebaseIntegration.html\r\n\r\n\r\nimport firebase from 'firebase/app';\r\nimport 'firebase/messaging';\r\n\r\n// Initialize Firebase\r\nvar config = {\r\n apiKey: process.env.VUE_APP_API_KEY,\r\n authDomain: process.env.VUE_APP_AUTH_DOMAIN,\r\n projectId: process.env.VUE_APP_PROJECT_ID,\r\n storageBucket: process.env.VUE_APP_STORAGE_BUCKET,\r\n messagingSenderId: process.env.VUE_APP_MESSAGING_SENDER_ID,\r\n appId: process.env.VUE_APP_APP_ID,\r\n measurementId: process.env.VUE_APP_MEASUREMENT_ID,\r\n};\r\n\r\nfirebase.initializeApp(config);\r\n\r\nnavigator.serviceWorker.register('/firebase-messaging-sw.js',\r\n { scope : \"firebase-cloud-messaging-push-scope\"}\r\n)\r\n .then((registration) => {\r\n const messaging = firebase.messaging();\r\n messaging.useServiceWorker(registration);\r\n\r\n }).catch((err) => {\r\n console.log('Firebase messaging service worker registration failed', err);\r\n });\r\n","import authService from '../auth/authService';\r\n\r\nexport default {\r\n install(Vue) {\r\n Vue.prototype.$auth = authService;\r\n\r\n Vue.mixin({\r\n created() {\r\n if (this.handleLoginEvent) {\r\n authService.addListener('loginEvent', this.handleLoginEvent);\r\n }\r\n },\r\n\r\n destroyed() {\r\n if (this.handleLoginEvent) {\r\n authService.removeListener('loginEvent', this.handleLoginEvent);\r\n }\r\n }\r\n });\r\n }\r\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"convstooltip\",staticClass:\"con-vs-tooltip\",on:{\"mouseleave\":_vm.mouseleavex,\"mouseenter\":_vm.mouseenterx,\"mouseup\":_vm.destroy}},[_c('transition',{attrs:{\"name\":\"tooltip-fade\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.active),expression:\"active\"}],ref:\"vstooltip\",staticClass:\"vs-tooltip\",class:[`vs-tooltip-${_vm.positionx || _vm.position}`,`vs-tooltip-${_vm.color}`, {'after-none': _vm.noneAfter}],style:(_vm.style)},[(_vm.title)?_c('h4',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.text)+\" \")])]),_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n insertBody(elx){\r\n document.body.insertBefore(elx, document.body.firstChild)\r\n },\r\n removeBody(element) {\r\n let bodyx = document.body\r\n bodyx.removeChild(element);\r\n },\r\n changePosition(elx,content,conditional){\r\n let topx = 0\r\n let leftx = 0\r\n let widthx = 0\r\n let scrollTopx = window.pageYOffset || document.documentElement.scrollTop;\r\n if(elx.getBoundingClientRect().top + 300 >= window.innerHeight) {\r\n setTimeout( ()=> {\r\n if(conditional){\r\n topx = (elx.getBoundingClientRect().top - content.clientHeight) + scrollTopx\r\n } else {\r\n topx = (elx.getBoundingClientRect().top - content.clientHeight + elx.clientHeight) + scrollTopx\r\n }\r\n }, 1);\r\n\r\n } else {\r\n topx = conditional?(elx.getBoundingClientRect().top + elx.clientHeight) + scrollTopx + 5:elx.getBoundingClientRect().top + scrollTopx\r\n }\r\n\r\n leftx = elx.getBoundingClientRect().left\r\n widthx = elx.offsetWidth\r\n\r\n let cords = {\r\n left: `${leftx}px`,\r\n top: `${topx}px`,\r\n width: `${widthx}px`\r\n }\r\n\r\n return cords\r\n },\r\n}\r\n","export default {\r\n darken(color, percent) {\r\n var f=color.split(\",\"),t=percent<0?0:255,p=percent<0?percent*-1:percent,R=parseInt(f[0].slice(4)),G=parseInt(f[1]),B=parseInt(f[2]);\r\n return \"rgb(\"+(Math.round((t-R)*p)+R)+\",\"+(Math.round((t-G)*p)+G)+\",\"+(Math.round((t-B)*p)+B)+\")\";\r\n },\r\n getColor(colorx, alphax = 1, defaultx = true){\r\n // change color hex to RGB\r\n if(/^[#]/.test(colorx)){\r\n let c = this.hexToRgb(colorx)\r\n\r\n if(alphax == 1){\r\n colorx = `rgb(${c.r},${c.g},${c.b})`\r\n\r\n } else {\r\n colorx = `rgba(${c.r},${c.g},${c.b},${alphax})`\r\n\r\n }\r\n } else if (/^rgba/.test(colorx)) {\r\n\r\n if(colorx.search(/.([0-9]\\))$/)==-1 && !defaultx){\r\n colorx = colorx.replace(/.?([0-9]\\))$/,`${alphax})`)\r\n }\r\n\r\n\r\n } else if (/^(rgb)/.test(colorx)) {\r\n // change rgb and rgba\r\n if(alphax != 1){\r\n colorx = colorx.replace(/^(rgb)/,`rgba`)\r\n colorx = colorx.replace(/\\)$/,`,${alphax})`)\r\n }\r\n\r\n }\r\n return colorx\r\n },\r\n isColor(colorx){\r\n let vscolors = ['primary','secondary','success','danger','warning','dark', 'light']\r\n return vscolors.includes(colorx)\r\n },\r\n RandomColor(){\r\n function getRandomInt(min, max) {\r\n return Math.floor(Math.random() * (max - min)) + min;\r\n }\r\n return `rgb(${getRandomInt(0,255)},${getRandomInt(0,255)},${getRandomInt(0,255)})`\r\n },\r\n rColor(colorx,opacity=1){\r\n if(/^[#]/.test(colorx)){\r\n let c = this.hexToRgb(colorx)\r\n colorx = `rgba(${c.r},${c.g},${c.b},${opacity})`\r\n } else if (/^[rgb]/.test(colorx)){\r\n let colorSplit = colorx.split(')')[0]\r\n if(!/^[rgba]/.test(colorx)){\r\n colorSplit.replace('rgb','rgba')\r\n colorSplit += `,${opacity})`\r\n } else {\r\n // colorSplit.replace('rgb','rgba')\r\n colorSplit += `)`\r\n }\r\n colorx = colorSplit\r\n }\r\n\r\n let vscolors = ['primary','success','danger','warning','dark']\r\n if(colorx){\r\n if(/[#()]/.test(colorx)){\r\n return colorx\r\n } else {\r\n if(vscolors.includes(colorx)){\r\n return `rgba(var(--${colorx}),${opacity})`\r\n } else {\r\n return `rgba(var(--primary),${opacity})`\r\n }\r\n }\r\n } else {\r\n return `rgba(var(--primary),${opacity})`\r\n }\r\n },\r\n contrastColor(elementx) {\r\n let c = elementx\r\n if(/[#]/g.test(elementx)){\r\n let rgbx = this.hexToRgb(elementx)\r\n c = `rgb(${rgbx.r},${rgbx.g},${rgbx.b})`\r\n }\r\n var rgb = c.replace(/^(rgb|rgba)\\(/,'').replace(/\\)$/,'').replace(/\\s/g,'').split(',');\r\n var yiq = ((rgb[0]*299)+(rgb[1]*587)+(rgb[2]*114))/1000;\r\n if(yiq >= 128){\r\n return true\r\n } else {\r\n return false\r\n }\r\n },\r\n setCssVariable(propertyName, value) {\r\n if(typeof window !== 'undefined'){\r\n document.documentElement.style.setProperty(propertyName, value);\r\n }\r\n },\r\n hexToRgb(hex) {\r\n // Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\r\n var shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\r\n hex = hex.replace(shorthandRegex, function(m, r, g, b) {\r\n return r + r + g + g + b + b;\r\n });\r\n\r\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n return result ? {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16)\r\n } : null;\r\n },\r\n getVariable(styles, propertyName) {\r\n return String(styles.getPropertyValue(propertyName)).trim();\r\n },\r\n changeColor(colorInicial){\r\n let colores = ['primary','success','danger','warning','dark']\r\n let colorx\r\n\r\n if(colores.includes(colorInicial)){\r\n let style = getComputedStyle(document.documentElement)\r\n colorx = this.getVariable(style,'--'+colorInicial)\r\n } else {\r\n if(/[rgb()]/g.test(colorInicial)){\r\n colorx = colorInicial.replace(/[rgb()]/g,'')\r\n } else if(/[#]/g.test(colorInicial)){\r\n let rgbx = this.hexToRgb(colorInicial)\r\n colorx = `${rgbx.r},${rgbx.g},${rgbx.b}`\r\n } else {\r\n colorx = '--'+colorInicial\r\n }\r\n }\r\n return colorx\r\n // this.setCssVariable('--'+clave,colorx)\r\n }\r\n}\r\n","\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxTooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxTooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VxTooltip.vue?vue&type=template&id=dc0d6752&\"\nimport script from \"./VxTooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./VxTooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/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 render(){var _vm=this,_c=_vm._self._c;return _c('div',_vm._g({ref:\"card\",staticClass:\"vx-card\",class:[\n {'overflow-hidden': _vm.tempHidden},\n {'no-shadow': _vm.noShadow},\n {'rounded-none': _vm.noRadius},\n {'card-border': _vm.cardBorder},\n _vm.cardClasses ],style:(_vm.cardStyles)},_vm.$listeners),[(_vm.hasHeader)?_c('div',{staticClass:\"vx-card__header\"},[_c('div',{staticClass:\"vx-card__title\"},[(this.$props.title)?_c('h4',{class:_vm.titleClasses,style:(_vm.titleStyles)},[_vm._v(_vm._s(_vm.title))]):_vm._e(),(this.$props.subtitle)?_c('h6',{class:_vm.subtitleClasses,style:(_vm.subtitleStyles)},[_vm._v(_vm._s(_vm.subtitle))]):_vm._e()]),(_vm.hasAction)?_c('div',{staticClass:\"vx-card__actions\"},[_vm._t(\"actions\",function(){return [((_vm.actionButtons || _vm.collapseAction || _vm.refreshContentAction || _vm.removeCardAction) && !_vm.codeToggler)?_c('div',{staticClass:\"vx-card__action-buttons\"},[(_vm.actionButtons || _vm.collapseAction)?_c('feather-icon',{staticClass:\"ml-4\",class:{rotate180: !_vm.isContentCollapsed},attrs:{\"icon\":\"ChevronUpIcon\"},on:{\"click\":_vm.toggleContent}}):_vm._e(),(_vm.actionButtons || _vm.refreshContentAction)?_c('feather-icon',{staticClass:\"ml-4\",attrs:{\"icon\":\"RotateCwIcon\"},on:{\"click\":_vm.refreshcard}}):_vm._e(),(_vm.actionButtons || _vm.removeCardAction)?_c('feather-icon',{staticClass:\"ml-4\",attrs:{\"icon\":\"XIcon\"},on:{\"click\":_vm.removeCard}}):_vm._e()],1):_vm._e(),(_vm.codeToggler && !_vm.actionButtons)?_c('div',{staticClass:\"vx-card__code-toggler sm:block hidden\"},[_c('feather-icon',{class:{'border border-solid border-primary border-t-0 border-r-0 border-l-0': _vm.showCode},attrs:{\"icon\":\"CodeIcon\"},on:{\"click\":_vm.toggleCode}})],1):_vm._e()]})],2):_vm._e()]):_vm._e(),_c('div',{ref:\"content\",staticClass:\"vx-card__collapsible-content vs-con-loading__container\",class:[{collapsed: _vm.isContentCollapsed}, {'overflow-hidden': _vm.tempHidden}],style:(_vm.StyleItems)},[_vm._t(\"no-body\"),(this.$slots.default)?_c('div',{staticClass:\"vx-card__body\"},[_vm._t(\"default\")],2):_vm._e(),_vm._t(\"no-body-bottom\"),(this.$slots.footer)?_c('div',{staticClass:\"vx-card__footer\"},[_vm._t(\"footer\")],2):_vm._e()],2),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.$slots.codeContainer),expression:\"this.$slots.codeContainer\"}],ref:\"codeContainer\",staticClass:\"vx-card__code-container\",class:{collapsed: !_vm.showCode},style:(_vm.codeContainerStyles)},[_c('div',{staticClass:\"code-content\"},[_c('prism',{attrs:{\"language\":_vm.codeLanguage}},[_vm._t(\"codeContainer\")],2)],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VxCard.vue?vue&type=template&id=878636b8&\"\nimport script from \"./VxCard.vue?vue&type=script&lang=js&\"\nexport * from \"./VxCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VxCard.vue?vue&type=style&index=0&id=878636b8&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/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 render(_c,_vm){return _c('ul',{staticClass:\"list\"},_vm._l((_vm.props.list),function(item,index){return _c('li',{key:index,staticClass:\"list__item\"},[_c('feather-icon',{staticClass:\"w-5 h-5 mr-1\",attrs:{\"icon\":_vm.props.icon}}),_c('span',{domProps:{\"innerHTML\":_vm._s(item)}})],1)}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VxList.vue?vue&type=template&id=08782d50&functional=true&\"\nimport script from \"./VxList.vue?vue&type=script&lang=js&\"\nexport * from \"./VxList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VxList.vue?vue&type=style&index=0&id=08782d50&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(_c,_vm){return _c('div',{staticClass:\"vx-breadcrumb\",class:_vm.data.staticClass},[_c('ul',{staticClass:\"flex flex-wrap items-center\"},[_c('li',{staticClass:\"inline-flex items-end\"},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('feather-icon',{attrs:{\"icon\":\"HomeIcon\",\"svgClasses\":\"h-5 w-5 mb-1 stroke-current text-primary\"}})],1),_c('span',{staticClass:\"breadcrumb-separator mx-2\"},[_c('feather-icon',{attrs:{\"icon\":\"ChevronsRightIcon\",\"svgClasses\":\"w-4 h-4\"}})],1)],1),_vm._l((_vm.props.route.meta.breadcrumb.slice(1,-1)),function(link,index){return _c('li',{key:index,staticClass:\"inline-flex items-center\"},[(link.url)?_c('router-link',{attrs:{\"to\":link.url}},[_vm._v(_vm._s(link.title))]):_c('span',{staticClass:\"text-primary cursor-default\"},[_vm._v(_vm._s(this.$t(link.title)))]),_c('span',{staticClass:\"breadcrumb-separator mx-2 flex items-start\"},[_c('feather-icon',{attrs:{\"icon\":\"ChevronsRightIcon\",\"svgClasses\":\"w-4 h-4\"}})],1)],1)}),_c('li',{staticClass:\"inline-flex\"},[(_vm.props.route.meta.breadcrumb.slice(-1)[0].active)?_c('span',{staticClass:\"cursor-default\"},[_vm._v(_vm._s(_vm.props.route.meta.breadcrumb.slice(-1)[0].title))]):_vm._e()])],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxBreadcrumb.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxBreadcrumb.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VxBreadcrumb.vue?vue&type=template&id=41f6cc1a&functional=true&\"\nimport script from \"./VxBreadcrumb.vue?vue&type=script&lang=js&\"\nexport * from \"./VxBreadcrumb.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(_c,_vm){return _c('div',{staticClass:\"vx-input-group flex\",class:_vm.data.staticClass},[(_vm.slots().prepend)?_c('div',{staticClass:\"vx-input-group-prepend flex\",class:_vm.props.prependClasses},[_vm._t(\"prepend\")],2):_vm._e(),_c('div',{staticClass:\"vx-input-group-default flex-grow\"},[_vm._t(\"default\")],2),(_vm.slots().append)?_c('div',{staticClass:\"vx-input-group-append flex\",class:_vm.props.appendClasses},[_vm._t(\"append\")],2):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxInputGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxInputGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VxInputGroup.vue?vue&type=template&id=769852af&functional=true&\"\nimport script from \"./VxInputGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./VxInputGroup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VxInputGroup.vue?vue&type=style&index=0&id=769852af&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*=========================================================================================\r\n File Name: globalComponents.js\r\n Description: Here you can register components globally\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://www.github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport Vue from \"vue\";\r\nimport VxTooltip from \"./layouts/components/vx-tooltip/VxTooltip.vue\";\r\nimport VxCard from \"./components/vx-card/VxCard.vue\";\r\nimport VxList from \"./components/vx-list/VxList.vue\";\r\nimport VxBreadcrumb from \"./layouts/components/VxBreadcrumb.vue\";\r\nimport FeatherIcon from \"./components/FeatherIcon.vue\";\r\nimport VxInputGroup from \"./components/vx-input-group/VxInputGroup.vue\";\r\nimport VueApexCharts from 'vue-apexcharts'\r\n\r\nVue.component(VxTooltip.name, VxTooltip);\r\nVue.component(VxCard.name, VxCard);\r\nVue.component(VxList.name, VxList);\r\nVue.component(VxBreadcrumb.name, VxBreadcrumb);\r\nVue.component(FeatherIcon.name, FeatherIcon);\r\nVue.component(VxInputGroup.name, VxInputGroup);\r\nVue.component('apexchart', VueApexCharts)\r\n// v-select component\r\nimport vSelect from \"vue-select\";\r\nimport \"vue-select/dist/vue-select.css\";\r\n\r\n// Set the components prop default to return our fresh components\r\nvSelect.props.components.default = () => ({\r\n Deselect: {\r\n render: (createElement) =>\r\n createElement(\"feather-icon\", {\r\n props: {\r\n icon: \"XIcon\",\r\n svgClasses: \"w-4 h-4 mt-1\",\r\n },\r\n }),\r\n },\r\n OpenIndicator: {\r\n render: (createElement) =>\r\n createElement(\"feather-icon\", {\r\n props: {\r\n icon: \"ChevronDownIcon\",\r\n svgClasses: \"w-5 h-5\",\r\n },\r\n }),\r\n },\r\n});\r\n\r\nVue.component(\"vSelect\", vSelect);\r\n","import Vue from 'vue'\r\n\r\nVue.filter('capitalize', function (value) {\r\n\tif (!value) return ''\r\n\tvalue = value.toString()\r\n\tlet arr = value.split(\" \")\r\n\tlet capitalized_array = []\r\n\tarr.forEach((word) => {\r\n\t\tlet capitalized = word.charAt(0).toUpperCase() + word.slice(1)\r\n\t\tcapitalized_array.push(capitalized)\r\n\t})\r\n\treturn capitalized_array.join(\" \");\r\n});\r\n\r\nVue.filter('title', function (value, replacer=\"_\") {\r\n if (!value) return ''\r\n value = value.toString()\r\n\r\n let arr = value.split(replacer)\r\n let capitalized_array = []\r\n arr.forEach((word) => {\r\n let capitalized = word.charAt(0).toUpperCase() + word.slice(1)\r\n capitalized_array.push(capitalized)\r\n })\r\n return capitalized_array.join(\" \");\r\n});\r\n\r\nVue.filter('truncate', function(value, limit) {\r\n\treturn value.substring(0, limit)\r\n});\r\n\r\nVue.filter('tailing', function(value, tail) {\r\n\treturn value + tail;\r\n});\r\n\r\nVue.filter('time', function(value, is24HrFormat = false) {\r\n\tif(value) {\r\n\t\tconst date = new Date(Date.parse(value));\r\n\t\tlet hours = date.getHours();\r\n\t\tconst min = (date.getMinutes() < 10 ? '0' : '') + date.getMinutes()\r\n\t\tif(!is24HrFormat) {\r\n\t\t\tconst time = hours > 12 ? 'AM' : 'PM';\r\n\t\t\thours = hours % 12 || 12;\r\n\t\t\treturn hours + ':' + min + ' ' + time\r\n\t\t}\r\n\t\treturn hours + ':' + min\r\n\t}\r\n});\r\n\r\nVue.filter('date', function(value, fullDate = false) {\r\n\tvalue = String(value)\r\n\tconst date = value.slice(8,10).trim();\r\n\tconst month = value.slice(4,7).trim();\r\n\tconst year = value.slice(11,15);\r\n\r\n\tif(!fullDate) return date + ' ' + month;\r\n\telse return date + ' ' + month + ' ' + year;\r\n});\r\n\r\nVue.filter('month', function(val, showYear = true) {\r\n\tval = String(val)\r\n\tconst regx = /\\w+\\s(\\w+)\\s\\d+\\s(\\d+)./;\r\n\tconst monthsToSpanish = {\r\n\t\t'Jan' : 'Enero',\r\n\t\t'Feb' : 'Febrero',\r\n\t\t'Mar' : 'Marzo',\r\n\t\t'Apr' : 'Abril',\r\n\t\t'May' : 'Mayo',\r\n\t\t'Jun' : 'Junio',\r\n\t\t'Jul' : 'Julio',\r\n\t\t'Aug' : 'Agosto',\r\n\t\t'Sep' : 'Septiembre',\r\n\t\t'Oct' : 'Octubre',\r\n\t\t'Nov' : 'Noviembre',\r\n\t\t'Dec' : 'Diciembre',\r\n\t};\r\n\r\n\tconst monthSpanish = monthsToSpanish[ regx.exec(val)[1] ];\r\n\t\r\n\tif(!showYear) return monthSpanish;\r\n\telse return monthSpanish + ' ' + regx.exec(val)[2];\r\n});\r\n\r\nVue.filter('csv', function(value) {\r\n\treturn value.join(', ')\r\n});\r\n\r\nVue.filter('filter_tags', function(value) {\r\n\treturn value.replace(/<\\/?[^>]+(>|$)/g, \"\")\r\n});\r\n\r\nVue.filter('k_formatter', function(num) {\r\n\treturn num > 999 ? (num/1000).toFixed(1) + 'k' : num\r\n});\r\n\r\nVue.filter( 'coin', function( value ) {\r\n const formatter = new Intl.NumberFormat( 'pt-BR', {\r\n style: 'currency',\r\n currency: 'BRL',\r\n minimumFractionDigits: 0\r\n });\r\n return formatter.format(value);\r\n});\r\n\r\nVue.filter( 'fileFormat', function( value ) {\r\n return value.substr(value.lastIndexOf('.') + 1);\r\n});\r\n\r\nVue.filter( 'timeWithoutSecond', function( val ) {\r\n\treturn val.slice( 0, -3 );\r\n});\r\n\r\nVue.filter( 'phone', function( val ) {\r\n\tconst region = val.substring( 0, 3 );\r\n\tconst number = val.substring( 3, 10 );\r\n\t\r\n\treturn `(${region}) ${number}`\r\n});\r\n\r\nVue.filter( 'cellphone', function( val ) {\r\n\tconst region = val.substring( 1, 3 );\r\n\tconst number = val.substring( 3, 13 );\r\n\t\r\n\treturn `(${region}) ${number}`\r\n});\r\n\r\nVue.filter( 'datetime', function( val ) {\r\n\tconst date = new Date( val * 1000 );\r\n\tconst year = date.getFullYear();\r\n\tconst month = date.getMonth() + 1;\r\n\tconst day = date.getUTCDate();\r\n\tconst hours = date.getHours();\r\n\tconst minutes = date.getMinutes();\r\n\tconst seconds = date.getSeconds();\r\n\tconst datetime = `\r\n\t\t${year}-${ month < 10 ? `0${month}` : month }-${ day < 10 ? `0${day}` : day } ${ hours < 10 ? `0${hours}` : hours }:${ minutes < 10 ? `0${minutes}` : minutes }:${ seconds < 10 ? `0${minutes}` : seconds }\r\n\t`;\r\n\treturn datetime;\r\n});\r\n\r\nVue.filter('fixedFloat', function (val=0, limit=2) {\r\n\treturn val.toFixed(limit);\r\n});\r\n\r\nVue.filter('sku', function( val='' ) {\r\n\treturn val.substr(3, val.length);\r\n});\r\n","/*=========================================================================================\r\n File Name: main.js\r\n Description: main vue(js) file\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Miguel Arenas\r\n Author URL: http://github.com/mxaxaxbx\r\n==========================================================================================*/\r\n\r\nimport Vue from \"vue\";\r\nimport App from \"./App.vue\";\r\n\r\n// Vuesax Component Framework\r\nimport Vuesax from \"vuesax\";\r\nimport \"material-icons/iconfont/material-icons.css\"; //Material Icons\r\nimport \"vuesax/dist/vuesax.css\"; // Vuesax\r\nVue.use(Vuesax);\r\n\r\n// axios\r\nimport axios from \"./axios.js\";\r\nVue.prototype.$http = axios;\r\n\r\n// API Calls\r\nimport \"./http/requests\";\r\n\r\n// mock\r\nimport \"./fake-db/index.js\";\r\n\r\n// Theme Configurations\r\nimport \"../themeConfig.js\";\r\n\r\n// Firebase\r\nimport \"@/firebase/firebaseConfig\";\r\n\r\n// Auth0 Plugin\r\nimport AuthPlugin from \"./plugins/auth\";\r\nVue.use(AuthPlugin);\r\n\r\n// ACL\r\n// import acl from './acl/acl'\r\n\r\n// Globally Registered Components\r\nimport \"./globalComponents.js\";\r\n\r\n// Styles: SCSS\r\nimport \"./assets/scss/main.scss\";\r\n\r\n// Tailwind\r\nimport \"@/assets/css/main.css\";\r\n\r\n// Vue Router\r\nimport router from \"./router\";\r\n\r\n// Google analytics\r\nimport \"./analytics\";\r\n\r\n// Vuex Store\r\nimport store from \"./store/store\";\r\n\r\n// Vuexy Admin Filters\r\nimport \"./filters/filters\";\r\nimport VueApexCharts from 'vue-apexcharts'\r\nVue.use(VueApexCharts)\r\n// Clipboard\r\nimport VueClipboard from \"vue-clipboard2\";\r\nVue.use(VueClipboard);\r\n\r\n// Tour\r\n// import VueTour from 'vue-tour'\r\n// Vue.use(VueTour)\r\n// require('vue-tour/dist/vue-tour.css')\r\n\r\n// VeeValidate\r\n// import VeeValidate from 'vee-validate';\r\n// Vue.use(VeeValidate);\r\n\r\n// Google Maps\r\nimport * as VueGoogleMaps from \"vue2-google-maps\";\r\nVue.use(VueGoogleMaps, {\r\n load: {\r\n // Add your API key here\r\n key: \"AIzaSyA43wSvXvFb7vp-Tc_caAUDUDOuX2Yt77k\",\r\n libraries: \"places\", // This is required if you use the Auto complete plug-in\r\n },\r\n});\r\n\r\n// Vuejs - Vue wrapper for hammerjs\r\nimport { VueHammer } from \"vue2-hammer\";\r\nVue.use(VueHammer);\r\n\r\n// PrismJS\r\nimport \"prismjs\";\r\nimport \"prismjs/themes/prism-tomorrow.css\";\r\n\r\n// Feather font icon\r\nrequire(\"./assets/css/iconfont.css\");\r\n\r\n// Vue select css\r\n// Note: In latest version you have to add it separately\r\n// import \"vue-select/dist/vue-select.css\";\r\n\r\n// I18n\r\nimport VueI18n from \"vue-i18n\";\r\nimport i18n from \"./plugins/i18n\";\r\nVue.use(VueI18n);\r\n\r\nVue.config.productionTip = false;\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n i18n,\r\n // acl,\r\n render: (h) => h(App),\r\n}).$mount(\"#app\");\r\n","module.exports = __webpack_public_path__ + \"img/avatar-s-3.a718f09a.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxCard.vue?vue&type=style&index=0&id=878636b8&prod&lang=scss&\"","import axios from 'axios';\r\nimport Cookies from 'js-cookie';\r\n//import router from '@/router'\r\n\r\nconst baseUrl = process.env.VUE_APP_BASE_URL;\r\nlet headers = {\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token',\r\n}\r\n\r\nexport default {\r\n notify: null,\r\n\r\n init( notify ) {\r\n this.notify = notify;\r\n // GET user from cookie\r\n let activeUser = Cookies.get('userInfo');\r\n // SET TOKEN to authorization header\r\n if( activeUser ) {\r\n activeUser = JSON.parse( activeUser );\r\n axios.defaults.headers.common['Authorization'] = `${activeUser.authorization.token_type} ${activeUser.authorization.access_token}`;\r\n }\r\n // SET custom headers\r\n axios.defaults.headers.common['Content-Type'] = 'application/json';\r\n axios.defaults.headers.common['Access-Control-Allow-Origin'] = '*';\r\n axios.defaults.headers.common['Access-Control-Allow-Methods'] = 'GET, POST, PATCH, PUT, DELETE, OPTIONS';\r\n axios.defaults.headers.common['Access-Control-Allow-Headers'] = 'Origin, Content-Type, X-Auth-Token';\r\n },\r\n\r\n get( url ) {\r\n return axios({\r\n method: 'GET',\r\n url: `${baseUrl}/${url}`,\r\n headers,\r\n })\r\n .then( this.handleResponse )\r\n .catch( err => this.handleError(err.response) );\r\n },\r\n\r\n post( url, data ) {\r\n return axios({\r\n method: 'POST',\r\n data,\r\n url: `${baseUrl}/${url}`,\r\n headers\r\n })\r\n .then( this.handleResponse )\r\n .catch(err => this.handleError(err.response) );\r\n },\r\n\r\n put( url, data ) {\r\n return axios({\r\n method: 'PUT',\r\n data,\r\n url: `${baseUrl}/${url}`,\r\n headers\r\n })\r\n .then( this.handleResponse )\r\n .catch(err => this.handleError(err.response) );\r\n },\r\n\r\n delete( url ) {\r\n return axios({\r\n method: 'DELETE',\r\n url: `${baseUrl}/${url}`,\r\n headers\r\n })\r\n .then( this.handleResponse )\r\n .catch(err => this.handleError(err.response) );\r\n },\r\n\r\n handleResponse( res ) {\r\n // Google chrome and opera\r\n if( window.performance.memory ) {\r\n const limit = 1000000000;\r\n const mem = window.performance.memory;\r\n const used = mem.usedJSHeapSize;\r\n \r\n if( used > limit )\r\n window.location.reload(true);\r\n\r\n }\r\n // TODO validate memory in firefox, edge, safari\r\n\r\n return res.data;\r\n },\r\n\r\n handleError( response ) {\r\n if( !response ) return null;\r\n \r\n switch( response.status ) {\r\n case 401:\r\n console.log(response.status, '401 aksjasj')\r\n \r\n this.notify({\r\n title : 'No cuenta con permisos suficientes para realizar esta operación',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n // redireccionar a login \r\n localStorage.clear()\r\n //router.push('/auth/login').catch(() => {})\r\n this.router.push('/auth/login').catch(() => {})\r\n \r\n break;\r\n\r\n case 403:\r\n this.notify({\r\n title : 'No cuenta con permisos suficientes para realizar esta operación',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n localStorage.clear()\r\n this.$router.push('/auth/login').catch(() => {})\r\n \r\n // redireccionar a login\r\n break;\r\n\r\n case 404:\r\n this.notify({\r\n title : 'No se encontró la información solicitada',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n break;\r\n\r\n case 422:\r\n this.notify({\r\n title : 'Error de validación',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n break;\r\n\r\n case 500:\r\n this.notify({\r\n title : 'Error de servidor',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n break;\r\n\r\n default:\r\n if( response.data.error === 'The sku does not exist')\r\n return;\r\n\r\n this.notify({\r\n title : 'Ocurrió un error',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n break;\r\n\r\n }\r\n \r\n return null;\r\n }\r\n\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxList.vue?vue&type=style&index=0&id=08782d50&prod&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/avatar-s-13.1875411a.png\";","import axios from \"../../axios.js\"\r\n\r\nexport default axios\r\n","module.exports = __webpack_public_path__ + \"img/avatar-s-5.73b9c8f8.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatherIcon.vue?vue&type=style&index=0&id=3c1631b2&prod&lang=scss&\"","import axios from 'axios';\r\nimport Cookies from 'js-cookie';\r\n\r\nconst baseUrl = process.env.VUE_APP_SITIDOCTOR_URL;\r\nlet headers = {\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token',\r\n}\r\n\r\nexport default {\r\n notify: null,\r\n\r\n init( notify ) {\r\n this.notify = notify;\r\n let activeUser = Cookies.get('userInfo');\r\n\r\n if (activeUser) {\r\n activeUser = JSON.parse( activeUser );\r\n axios.defaults.headers.common['Authorization'] = `${activeUser.authorization.token_type} ${activeUser.authorization.access_token}`;\r\n }\r\n\r\n axios.defaults.headers.common['Content-Type'] = 'application/json';\r\n axios.defaults.headers.common['Access-Control-Allow-Origin'] = '*';\r\n axios.defaults.headers.common['Access-Control-Allow-Methods'] = 'GET, POST, PATCH, PUT, DELETE, OPTIONS';\r\n axios.defaults.headers.common['Access-Control-Allow-Headers'] = 'Origin, Content-Type, X-Auth-Token';\r\n },\r\n\r\n get( url ) {\r\n return axios({\r\n method: 'GET',\r\n url: `${baseUrl}/${url}`,\r\n headers,\r\n })\r\n .then(res => res.data )\r\n .catch(err => {\r\n return this.handleError(err.response);\r\n });\r\n },\r\n\r\n post( url, data ) {\r\n // TODO Validar errores de auth\r\n return axios({\r\n method: 'POST',\r\n data,\r\n url: `${baseUrl}/${url}`,\r\n headers\r\n })\r\n .then(res => res.data )\r\n .catch(err => {\r\n return this.handleError(err.response);\r\n });\r\n },\r\n\r\n put( url, data ) {\r\n return axios({\r\n method: 'PUT',\r\n data,\r\n url: `${baseUrl}/${url}`,\r\n headers\r\n })\r\n .then(res => res.data )\r\n .catch(err => {\r\n return this.handleError(err.response);\r\n });\r\n },\r\n\r\n delete( url ) {\r\n return axios({\r\n method: 'DELETE',\r\n url: `${baseUrl}/${url}`,\r\n headers\r\n })\r\n .then(res => res.data )\r\n .catch(err => {\r\n return this.handleError(err.response);\r\n });\r\n },\r\n\r\n handleError( response ) {\r\n if( !response ) return null;\r\n\r\n switch( response.status ) {\r\n case 401:\r\n this.notify({\r\n title : 'No cuenta con permisos suficientes para realizar esta operación',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n localStorage.clear()\r\n this.$router.push('/auth/login').catch(() => {})\r\n \r\n // redireccionar a login\r\n break;\r\n\r\n case 403:\r\n this.notify({\r\n title : 'No cuenta con permisos suficientes para realizar esta operación',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n // redireccionar a login\r\n break;\r\n\r\n case 404:\r\n this.notify({\r\n title : 'No se encontró la información solicitada',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n break;\r\n\r\n case 422:\r\n this.notify({\r\n title : 'Error de validación',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n break;\r\n\r\n case 500:\r\n this.notify({\r\n title : 'Error de servidor',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n break;\r\n \r\n case 723:\r\n this.notify({\r\n title : 'No cuenta con permisos suficientes para realizar esta operación',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n localStorage.clear()\r\n this.$router.push('/auth/login').catch(() => {})\r\n \r\n // redireccionar a login\r\n break;\r\n\r\n \r\n\r\n default:\r\n if( response.data.error === 'The sku does not exist')\r\n return;\r\n\r\n this.notify({\r\n title : 'Ocurrió un error',\r\n text : `${response.data.message} ${response.data.error}`,\r\n color : 'warning',\r\n time : 8000,\r\n });\r\n break;\r\n\r\n }\r\n \r\n return null;\r\n }\r\n\r\n}","module.exports = __webpack_public_path__ + \"img/content-img-1.228da091.jpg\";","import axios from \"axios\";\r\nimport Cookies from \"js-cookie\";\r\n\r\nconst baseURL = process.env.VUE_APP_BASE_URL;\r\nexport default {\r\n notify: null,\r\n init(notify) {\r\n axios.defaults.baseURL = baseURL;\r\n this.notify = notify;\r\n // GET user from cookie\r\n let activeUser = Cookies.get(\"userInfo\");\r\n // SET TOKEN to authorization header\r\n if (activeUser) {\r\n activeUser = JSON.parse(activeUser);\r\n axios.defaults.headers.common[\r\n \"Authorization\"\r\n ] = `${activeUser.authorization.token_type} ${activeUser.authorization.access_token}`;\r\n }\r\n // SET custom headers\r\n axios.defaults.headers.common[\"Content-Type\"] = \"application/json\";\r\n axios.defaults.headers.common[\"Access-Control-Allow-Origin\"] = \"*\";\r\n axios.defaults.headers.common[\"Access-Control-Allow-Methods\"] =\r\n \"GET, POST, PATCH, PUT, DELETE, OPTIONS\";\r\n axios.defaults.headers.common[\"Access-Control-Allow-Headers\"] =\r\n \"Origin, Content-Type, X-Auth-Token\";\r\n },\r\n\r\n get(url) {\r\n return axios\r\n .get(`/${url}`, { data: {} })\r\n .then(this.handleResponse)\r\n .catch((err) => this.handleError(err.response));\r\n },\r\n\r\n post(url, data) {\r\n return axios\r\n .post(`/${url}`, data)\r\n .then(this.handleResponse)\r\n .catch((err) => this.handleError(err.response));\r\n },\r\n\r\n put(url, data) {\r\n return axios\r\n .put(`/${url}`, data)\r\n .then(this.handleResponse)\r\n .catch((err) => this.handleError(err.response));\r\n },\r\n\r\n delete(url) {\r\n return axios\r\n .delete(`/${url}`, { data: {} })\r\n .then(this.handleResponse)\r\n .catch((err) => this.handleError(err.response));\r\n },\r\n\r\n handleResponse(res) {\r\n // Google chrome and opera\r\n if (window.performance.memory) {\r\n const limit = 1000000000;\r\n const mem = window.performance.memory;\r\n const used = mem.usedJSHeapSize;\r\n\r\n if (used > limit) window.location.reload(true);\r\n }\r\n // TODO validate memory in firefox, edge, safari\r\n\r\n return res.data;\r\n },\r\n\r\n handleError(response) {\r\n \r\n if (!response) return null;\r\n\r\n switch (response.status) {\r\n case 401:\r\n this.notify({\r\n title:\r\n \"No cuenta con permisos suficientes para realizar esta operación\",\r\n text: `${response.data.message} ${response.data.error}`,\r\n color: \"warning\",\r\n time: 8000,\r\n });\r\n // redireccionar a login\r\n localStorage.clear();\r\n this.router.push(\"/auth/login\").catch(() => {});\r\n\r\n break;\r\n\r\n case 403:\r\n this.notify({\r\n title:\r\n \"No cuenta con permisos suficientes para realizar esta operación\",\r\n text: `${response.data.message} ${response.data.error}`,\r\n color: \"warning\",\r\n time: 8000,\r\n });\r\n localStorage.clear();\r\n this.$router.push(\"/auth/login\").catch(() => {});\r\n\r\n // redireccionar a login\r\n break;\r\n\r\n case 404:\r\n this.notify({\r\n title: \"No se encontró la información solicitada\",\r\n text: `${response.data.message} ${response.data.error}`,\r\n color: \"warning\",\r\n time: 8000,\r\n });\r\n break;\r\n\r\n case 422:\r\n this.notify({\r\n title: \"Error de validación\",\r\n text: `${response.data.message} ${response.data.error}`,\r\n color: \"warning\",\r\n time: 8000,\r\n });\r\n break;\r\n\r\n case 500:\r\n this.notify({\r\n title: \"Error de servidor\",\r\n text: `${response.data.message} ${response.data.error}`,\r\n color: \"warning\",\r\n time: 8000,\r\n });\r\n break;\r\n\r\n default:\r\n if (response.data.error === \"The sku does not exist\") return;\r\n\r\n this.notify({\r\n title: \"Ocurrió un error\",\r\n text: `${response.data.message} ${response.data.error}`,\r\n color: \"warning\",\r\n time: 8000,\r\n });\r\n break;\r\n }\r\n\r\n return null;\r\n },\r\n};\r\n","module.exports = __webpack_public_path__ + \"img/avatar-s-12.cec148fe.png\";","module.exports = __webpack_public_path__ + \"img/avatar-s-19.908c8b78.png\";","module.exports = __webpack_public_path__ + \"img/card-image-5.677b3fc1.jpg\";","const tag = document.createElement('script');\r\nconst sc = document.createElement('script');\r\nconst VUE_APP_ANALYTICS_ID = process.env.VUE_APP_ANALYTICS_ID;\r\n\r\ntag.src = `https://www.googletagmanager.com/gtag/js?id=${ VUE_APP_ANALYTICS_ID }`;\r\ntag.setAttribute('async', true);\r\n\r\nsc.innerHTML = `\r\n window.dataLayer = window.dataLayer || [];\r\n function gtag(){dataLayer.push(arguments);}\r\n gtag('js', new Date());\r\n gtag('config', '${ VUE_APP_ANALYTICS_ID }');\r\n`;\r\n\r\ndocument.body.append(tag);\r\ndocument.body.append(sc);\r\n","import axios from \"../../../axios/index.js\"\r\nimport store from \"../../../../store/store.js\"\r\nimport http from \"../../../http-client\";\r\n\r\nimport Cookies from \"js-cookie\";\r\n\r\n// Token Refresh\r\nlet isAlreadyFetchingAccessToken = false\r\nlet subscribers = [];\r\n\r\n// Siti VARS\r\nconst clientSecret = process.env.VUE_APP_CLIENT_SECRET;\r\n\r\nfunction onAccessTokenFetched(access_token) {\r\n subscribers = subscribers.filter(callback => callback(access_token))\r\n}\r\n\r\nfunction addSubscriber(callback) {\r\n subscribers.push(callback)\r\n}\r\n\r\nexport default {\r\n init() {\r\n axios.interceptors.response.use(function (response) {\r\n return response\r\n }, function (error) {\r\n // const { config, response: { status } } = error\r\n const { config, response } = error\r\n const originalRequest = config\r\n\r\n // if (status === 401) {\r\n if (response && response.status === 401) {\r\n if (!isAlreadyFetchingAccessToken) {\r\n isAlreadyFetchingAccessToken = true\r\n store.dispatch(\"auth/fetchAccessToken\")\r\n .then((access_token) => {\r\n isAlreadyFetchingAccessToken = false\r\n onAccessTokenFetched(access_token)\r\n })\r\n }\r\n\r\n const retryOriginalRequest = new Promise((resolve) => {\r\n addSubscriber(access_token => {\r\n originalRequest.headers.Authorization = 'Bearer ' + access_token\r\n resolve(axios(originalRequest))\r\n })\r\n })\r\n return retryOriginalRequest\r\n }\r\n return Promise.reject(error)\r\n })\r\n },\r\n\r\n login( email, password, uid ) {\r\n return http.post( `api/auth/login`, { email, password, uid, client_secret: clientSecret } );\r\n },\r\n\r\n registerUser(name, email, pwd) {\r\n return axios.post(\"/api/auth/register\", {displayName: name, email: email, password: pwd})\r\n },\r\n\r\n refreshToken() {\r\n return axios.post(\"/api/auth/refresh-token\", {accessToken: Cookies.get(\"accessToKen\")})\r\n }\r\n\r\n}\r\n","module.exports = __webpack_public_path__ + \"img/avatar-s-2.93c7a17a.png\";","module.exports = __webpack_public_path__ + \"img/content-img-3.ca080c4c.jpg\";","module.exports = __webpack_public_path__ + \"img/content-img-4.d77697ba.jpg\";","// axios\r\nimport axios from 'axios'\r\n\r\nconst domain = \"\"\r\n\r\nexport default axios.create({\r\n domain\r\n // You can add your headers here\r\n})\r\n","module.exports = __webpack_public_path__ + \"img/avatar-s-11.51a23c07.png\";","import Vue from 'vue';\r\nimport VueI18n from 'vue-i18n';\r\nimport es from '../assets/i18n/es.json'\r\nimport pt from '../assets/i18n/pt.json'\r\nimport en from '../assets/i18n/en.json'\r\n\r\nVue.use(VueI18n);\r\nconst messages = {\r\n 'pt': pt,\r\n 'es': es,\r\n 'en': en\r\n};\r\n\r\nconst i18n = new VueI18n({\r\n locale: 'pt', // set locale\r\n fallbackLocale: 'es', // set fallback locale\r\n messages, // set locale messages\r\n});\r\n\r\nexport default i18n\r\n","module.exports = __webpack_public_path__ + \"img/content-img-2.00ef7d97.jpg\";","module.exports = __webpack_public_path__ + \"img/avatar-s-4.88863dbb.png\";","class Utils {\r\n\r\n constructor() {}\r\n\r\n groupBy( list=[], keyGetter ) {\r\n const map = new Map();\r\n list.forEach( (item) => {\r\n const key = keyGetter( item );\r\n const collection = map.get( key );\r\n\r\n if( !collection ) map.set( key, [ item ] );\r\n else collection.push( item );\r\n });\r\n return map;\r\n }\r\n\r\n dateToStr( date ) {\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n const hours = date.getHours();\r\n const minutes = date.getMinutes();\r\n const seconds = date.getSeconds();\r\n const mseconds = date.getMilliseconds();\r\n\r\n const fullDatetime = `${year}-${ month < 10 ? '0' + month : month }-${ day < 10 ? '0' + day : day } ${ hours < 10 ? '0' + hours : hours }:${ minutes < 10 ? '0' + minutes : minutes }:${ seconds < 10 ? '0' + seconds : seconds }.${ mseconds }`;\r\n\r\n return fullDatetime;\r\n }\r\n\r\n}\r\n\r\nexport default new Utils();\r\n","module.exports = __webpack_public_path__ + \"img/avatar-s-18.6f5c3253.png\";","module.exports = __webpack_public_path__ + \"img/avatar-s-14.9ab8c514.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VxInputGroup.vue?vue&type=style&index=0&id=769852af&prod&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/avatar-s-6.6b63817c.png\";","module.exports = __webpack_public_path__ + \"img/avatar-s-9.ec990ac1.png\";"],"sourceRoot":""}