{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/Home.vue?19e6","webpack:///./src/views/Products.vue?cc22","webpack:///./src/views/ErpAmounts.vue?1711","webpack:///./src/views/ErpMarket.vue?cfb1","webpack:///./src/views/ProductDetails.vue?73db","webpack:///./src/views/OrderTransmitted.vue?d4fa","webpack:///./src/views/ErpOrders.vue?2d58","webpack:///./src/components/AsideMenu.vue?9492","webpack:///./src/App.vue?e2cb","webpack:///./src/types/Api.ts","webpack:///./src/types/constants/Environment.ts","webpack:///./src/types/constants/Guid.ts","webpack:///./src/types/constants/Roles.ts","webpack:///./src/types/TypeOfSearch.ts","webpack:///./src/types/ProductStatus.ts","webpack:///./src/types/DocumentStatus.ts","webpack:///./src/types/DocumentLineStatus.ts","webpack:///./src/types/TypeOfOperation.ts","webpack:///./src/types/SystemStatusType.ts","webpack:///./src/types/DoubleEntryType.ts","webpack:///./src/types/MarketAdType.ts","webpack:///./src/types/SelectItem.ts","webpack:///./src/types/BannerPosition.ts","webpack:///./src/store/app/index.ts","webpack:///./src/components/NavBar.vue?d728","webpack:///./src/models/Result.ts","webpack:///./src/models/User.ts","webpack:///./src/models/Partner.ts","webpack:///./src/models/Order.ts","webpack:///./src/models/ProductsSearch.ts","webpack:///./src/filters/index.ts","webpack:///./src/models/ErpOrdersSearch.ts","webpack:///./src/models/MarketAdsSearch.ts","webpack:///./src/store/orders/index.ts","webpack:///./src/store/authentication/index.ts","webpack:///./src/components/NavBarMenu.vue?c506","webpack:///./src/components/NavBarMenu.ts","webpack:///./src/components/NavBarMenu.ts?00e8","webpack:///./src/components/NavBarMenu.vue","webpack:///./src/components/UserAvatar.vue?935e","webpack:///./src/components/UserAvatar.ts","webpack:///./src/components/UserAvatar.ts?ab5b","webpack:///./src/components/UserAvatar.vue","webpack:///./src/components/BannersBar.vue?1db2","webpack:///./src/store/banners/index.ts","webpack:///./src/components/BannersBar.ts","webpack:///./src/components/BannersBar.ts?3cf1","webpack:///./src/components/BannersBar.vue","webpack:///./src/components/ChangePassword.vue?6493","webpack:///./src/store/users/index.ts","webpack:///./src/components/ChangePassword.ts","webpack:///./src/components/ChangePassword.ts?195d","webpack:///./src/components/ChangePassword.vue","webpack:///./src/components/RequestResetPassword.vue?cb36","webpack:///./src/components/RequestResetPassword.ts","webpack:///./src/components/RequestResetPassword.ts?c45f","webpack:///./src/components/RequestResetPassword.vue","webpack:///./src/components/NavBar.ts","webpack:///./src/components/NavBar.ts?a320","webpack:///./src/components/NavBar.vue","webpack:///./src/components/AsideMenu.vue?fd12","webpack:///./src/components/AsideLogo.vue?4336","webpack:///./src/components/AsideLogo.ts","webpack:///./src/components/AsideLogo.ts?a09f","webpack:///./src/components/AsideLogo.vue","webpack:///./src/components/AsideMenuList.vue?ffad","webpack:///./src/components/AsideMenuItem.vue?5772","webpack:///./src/components/AsideMenuItem.ts","webpack:///./src/components/AsideMenuItem.ts?a454","webpack:///./src/components/AsideMenuItem.vue","webpack:///./src/components/AsideMenuList.ts","webpack:///./src/components/AsideMenuList.ts?d1b4","webpack:///./src/components/AsideMenuList.vue","webpack:///./src/components/AsideMenu.ts","webpack:///./src/components/AsideMenu.ts?9e05","webpack:///./src/components/AsideMenu.vue","webpack:///./src/components/FooterBar.vue?1561","webpack:///./src/components/FooterBar.ts","webpack:///./src/components/FooterBar.ts?31f5","webpack:///./src/components/FooterBar.vue","webpack:///./src/App.ts","webpack:///./src/App.ts?4321","webpack:///./src/App.vue","webpack:///./src/views/AuthorizationCallback.vue?69f5","webpack:///./src/views/AuthorizationCallback.ts","webpack:///./src/views/AuthorizationCallback.ts?80d1","webpack:///./src/views/AuthorizationCallback.vue","webpack:///./src/views/SilentRefreshTokenCallback.ts","webpack:///./src/views/Home.vue?d725","webpack:///./src/views/Home.ts","webpack:///./src/views/Home.ts?e233","webpack:///./src/views/Home.vue","webpack:///./src/views/Users.vue?f914","webpack:///./src/components/CardComponent.vue?9e66","webpack:///./src/components/CardComponent.ts","webpack:///./src/components/CardComponent.ts?6c55","webpack:///./src/components/CardComponent.vue","webpack:///./src/components/ListToolbar.vue?670f","webpack:///./src/components/ListToolbar.ts","webpack:///./src/components/ListToolbar.ts?8c00","webpack:///./src/components/ListToolbar.vue","webpack:///./src/views/Users.ts","webpack:///./src/views/Users.ts?7603","webpack:///./src/views/Users.vue","webpack:///./src/views/User.vue?15d1","webpack:///./src/components/EditToolbar.vue?e00a","webpack:///./src/components/EditToolbar.ts","webpack:///./src/components/EditToolbar.ts?6b15","webpack:///./src/components/EditToolbar.vue","webpack:///./src/services/PartnersService.ts","webpack:///./src/core/debounce.ts","webpack:///./src/views/User.ts","webpack:///./src/views/User.ts?d741","webpack:///./src/views/User.vue","webpack:///./src/views/UserProfile.vue?1406","webpack:///./src/views/UserProfile.ts","webpack:///./src/views/UserProfile.ts?2cfb","webpack:///./src/views/UserProfile.vue","webpack:///./src/views/Unauthorized.vue?9549","webpack:///./src/views/Unauthorized.ts","webpack:///./src/views/Unauthorized.ts?8d1b","webpack:///./src/views/Unauthorized.vue","webpack:///./src/views/ResetPassword.vue?d3ab","webpack:///./src/views/ResetPassword.ts","webpack:///./src/views/ResetPassword.ts?8f24","webpack:///./src/views/ResetPassword.vue","webpack:///./src/views/Products.vue?7593","webpack:///./src/store/products/index.ts","webpack:///./src/components/ColumnStatus.vue?36bd","webpack:///./src/components/ColumnStatus.ts","webpack:///./src/components/ColumnStatus.ts?08f9","webpack:///./src/components/ColumnStatus.vue","webpack:///./src/views/Products.ts","webpack:///./src/views/Products.ts?efaa","webpack:///./src/views/Products.vue","webpack:///./src/views/ProductDetails.vue?bf68","webpack:///./src/store/erp/index.ts","webpack:///./src/components/CustomToolbar.vue?adcd","webpack:///./src/components/CustomToolbar.ts","webpack:///./src/components/CustomToolbar.ts?7376","webpack:///./src/components/CustomToolbar.vue","webpack:///./src/views/ProductDetails.ts","webpack:///./src/views/ProductDetails.ts?edac","webpack:///./src/views/ProductDetails.vue","webpack:///./src/views/Cart.vue?5545","webpack:///./src/views/Cart.ts","webpack:///./src/views/Cart.ts?617f","webpack:///./src/views/Cart.vue","webpack:///./src/views/SystemAvailability.vue?cf74","webpack:///./src/components/Notification.vue?7d66","webpack:///./src/components/Notification.ts","webpack:///./src/components/Notification.ts?d3ab","webpack:///./src/components/Notification.vue","webpack:///./src/views/SystemAvailability.ts","webpack:///./src/views/SystemAvailability.ts?5dbe","webpack:///./src/views/SystemAvailability.vue","webpack:///./src/views/OrdersTransmitted.vue?3fae","webpack:///./src/views/OrdersTransmitted.ts","webpack:///./src/views/OrdersTransmitted.ts?be73","webpack:///./src/views/OrdersTransmitted.vue","webpack:///./src/views/OrderTransmitted.vue?f9ff","webpack:///./src/views/OrderTransmitted.ts","webpack:///./src/views/OrderTransmitted.ts?ceb8","webpack:///./src/views/OrderTransmitted.vue","webpack:///./src/views/ErpAmounts.vue?4a23","webpack:///./src/views/ErpAmounts.ts","webpack:///./src/views/ErpAmounts.ts?a5b4","webpack:///./src/views/ErpAmounts.vue","webpack:///./src/views/ErpStatements.vue?eeb3","webpack:///./src/views/ErpStatements.ts","webpack:///./src/views/ErpStatements.ts?5b85","webpack:///./src/views/ErpStatements.vue","webpack:///./src/views/ErpOrders.vue?525a","webpack:///./src/views/ErpOrders.ts","webpack:///./src/views/ErpOrders.ts?859f","webpack:///./src/views/ErpOrders.vue","webpack:///./src/views/ErpOrderLines.vue?e73d","webpack:///./src/views/ErpOrderLines.ts","webpack:///./src/views/ErpOrderLines.ts?54f8","webpack:///./src/views/ErpOrderLines.vue","webpack:///./src/views/ErpMarket.vue?770b","webpack:///./src/views/ErpMarket.ts","webpack:///./src/views/ErpMarket.ts?5c46","webpack:///./src/views/ErpMarket.vue","webpack:///./src/views/ErpMarketDetail.vue?6bdb","webpack:///./src/views/ErpMarketDetail.ts","webpack:///./src/views/ErpMarketDetail.ts?2186","webpack:///./src/views/ErpMarketDetail.vue","webpack:///./src/views/ErpProductsInOrders.vue?3b80","webpack:///./src/components/ColumnStatusProductOrders.vue?35a6","webpack:///./src/components/ColumnStatusProductOrders.ts","webpack:///./src/components/ColumnStatusProductOrders.ts?ab73","webpack:///./src/components/ColumnStatusProductOrders.vue","webpack:///./src/views/ErpProductsInOrders.ts","webpack:///./src/views/ErpProductsInOrders.ts?0a71","webpack:///./src/views/ErpProductsInOrders.vue","webpack:///./src/views/Banners.vue?4e22","webpack:///./src/views/Banners.ts","webpack:///./src/views/Banners.ts?75ea","webpack:///./src/views/Banners.vue","webpack:///./src/views/Banner.vue?1ff5","webpack:///./src/views/Banner.ts","webpack:///./src/views/Banner.ts?b270","webpack:///./src/views/Banner.vue","webpack:///./src/views/Partners.vue?0527","webpack:///./src/views/Partners.ts","webpack:///./src/views/Partners.ts?4087","webpack:///./src/views/Partners.vue","webpack:///./src/router/index.ts","webpack:///./src/store/index.ts","webpack:///./src/plugins/i18n-setup.ts","webpack:///./src/core/httpRequestInterceptor.ts","webpack:///./src/main.ts","webpack:///./src/views/Banner.vue?3d59","webpack:///./src/components/NavBar.vue?830f","webpack:///./src/views/ErpStatements.vue?d2a1"],"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","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","attrs","isLoading","on","$event","menu","staticRenderFns","ver","version","BaseUrl","Development","Production","Empty","Administrators","Users","TypeOfSearch","ProductStatus","DocumentStatus","DocumentLineStatus","TypeOfOperation","SystemStatusType","DoubleEntryType","MarketAdType","val","descr","description","BannerPosition","appMenu","thisState","applicationConfiguration","isNavBarVisible","isFooterBarVisible","isAsideVisible","isAsideMobileExpanded","isDarkMode","defaultPageSize","maxPageSize","activeMenu","undefined","systemStatus","status","None","statusDescription","message","systemStatusLastCheck","moduleBuilder","thisModule","getters","state","roles","pageSize","documentStatus","filter","x","code","shortDescription","actions","checkSystemStatusAsync","context","isAfter","Date","addMinutes","a","then","response","commitSetSystemStatus","fetchSystemTimetableAsync","commitSetSystemTimetable","getConfigurationAsync","commitApplicationConfiguration","activateMenu","currentMenu","commitSetActiveMenu","activateMenuById","payload","id","subMenuId","root","rootId","subMenu","setDarkMode","commitSetDarkMode","success","open","duration","timeout","position","type","queue","info","error","config","errors","ignoreNotFound","apiResult","messages","forEach","field","actionText","detail","warning","warnings","toggleMenuMobile","commitSetAsideMobileStateToggle","commitSetIsLoading","mutations","setApplicationConfiguration","freeze","setAsideMobileStateToggle","hasAsideMobileExpanded","isShow","element","document","documentElement","classList","add","remove","setIsLoading","setActiveMenu","isActive","htmlClassName","setSystemStatus","setSystemTimetable","getApplicationConfiguration","read","getIsNavBarVisible","getIsDarkMode","getIsFooterBarVisible","getIsAsideVisible","getIsAsideMobileExpanded","getIsLoading","getRoles","getMenu","getPageSize","getMaxPageSize","getSystemStatus","commit","app","dispatch","loading","directives","rawName","expression","staticClass","preventDefault","menuToggleMobile","menuToggleMobileIcon","menuNavBarToggle","menuNavBarToggleIcon","class","isMenuNavBarActive","_v","_s","user","given_name","family_name","slot","_e","changePassword","isUserLoggedIn","login","ResetPassword","cartIsUpdated","cartCount","systemAvailabilityIcon","configuration","logout","exception","emailConfirmed","accessFailedCount","locked","some","role","documentNumber","documentDate","Open","lines","year","getFullYear","keyword","pageNumber","sortField","sortDirection","searchInHistorical","searchType","StartsWith","month","date","setMonth","format","locale","it","days","getDate","getYear","getMonth","dateFormat","timeFormat","formatNumber","decimals","formatter","Intl","NumberFormat","style","minimumFractionDigits","formatCurrency","formatPercentage","formatBooleanShort","formatBooleanLong","authorizedMenus","profile","sub","autorizations","includes","jsonPretty","JSON","stringify","parse","onlyForToday","day","adType","ALL","ordersYear","orders","order","totalOrders","cart","cartLoaded","cartUpdate","totalProducts","isCartLoaded","isCartUpdated","getCartAsync","commitPopulateCart","catch","reason","commitSetCartAsLoaded","finally","addProductToCartAsync","post","product","pharmacode","quantity","Operation","operation","addToHistorical","commitAddProductToCart","sendCartAsync","commitCartSubmitted","syncOrderAsync","printOrderAsync","responseType","deleteProductInCartAsync","delete","commitDeleteProductInCart","getOrdersAsync","params","page","size","commitPopulateOrders","total","commitPopulateOrdersYear","getOrderAsync","commitPopulateOrder","populateOrdersYear","populateOrders","populateCart","populateOrder","setCartAsLoaded","setCartAsSubmitted","addProductToCart","documentReference","transmissionDate","lineUpdated","index","findIndex","productType","removeProductInCart","line","getOrdersYear","getOrders","getOrder","getTotalOrders","getCart","getIsCartLoaded","getCartCount","getCartIsUpdate","fetchCartAsync","fetchOrdersAsync","fetchOrderAsync","contextUser","userManager","authority","client_id","redirect_uri","post_logout_redirect_uri","response_type","scope","silent_redirect_uri","accessTokenExpiringNotificationTime","parseInt","automaticSilentRenew","filterProtocolClaims","loadUserInfo","userStore","prefix","store","localStorage","Log","logger","console","level","WARN","userProfile","Array","isArray","accessToken","access_token","isLoggedIn","expired","checkSignInAsync","authentication","getUserAsync","startSignInAsync","commitSignOutUser","signinRedirect","completeSignInAsync","signinRedirectCallback","commitAddAuthenticatedUser","signOutAsync","signoutRedirect","signinSilentAsync","signinSilent","signinSilentCallbackAsync","signinSilentCallback","getUser","addAuthenticatedUser","signOut","getLoggedInUser","getUserProfile","getIsLoggedIn","getAccessToken","events","addUserLoaded","addAccessTokenExpiring","addAccessTokenExpired","addSilentRenewError","isHoverable","isDropdownActive","toggle","_t","toggleDropdownIcon","addEventListener","forceClose","removeEventListener","e","$el","contains","target","default","required","component","avatarUrl","initials","charAt","bannerLeft","hyperLink","getImageUrl","bannerCenter","bannerRight","publishingDate","expiryDate","fileName","originalFileName","Left","banners","banner","currentBanners","currentBannersLoaded","positions","toString","Center","Right","emptyBanner","displayBanner","fetchBannersAsync","fromDate","toDate","commitPopulateBanners","fetchCurrentBannersAsync","commitPopulateCurrentBanners","fetchBannerAsync","commitPopulateBanner","upsertBannerAsync","isNew","commitInsertBanner","commitUpdateBanner","deleteBannerAsync","commitDeleteBanner","uploadBannerAsync","formData","FormData","append","file","populateBanners","populateCurrentBanners","populateBanner","deleteBanner","insertBanner","positionDescription","unshift","updateBanner","updated","indexFound","currentUpdated","url","getBanners","getTotalBanners","getBanner","getPositions","getBannerLeft","getBannerCenter","getBannerRight","getCurrentBannersLoaded","getEmptyBanner","change","staticStyle","_m","model","callback","$$v","currentPassword","newPassword","$parent","close","users","fetchUsersAsync","commitSetUsers","fetchUserAsync","asNewIfNotExists","commitSetUser","createUserAsync","updateUserAsync","put","deleteUserAsync","commitDeleteUser","changePasswordAsync","Promise","reject","requestResetPasswordAsync","username","resetPasswordAsync","setUsers","setUser","deleteUser","getUsers","getUsersTotal","userId","$emit","reset","$buefy","dialog","confirm","title","confirmText","cancelText","hasIcon","onConfirm","resetAsync","logoutAsync","snackbar","modal","parent","hasModalCard","Available","isCartUpdate","components","NavBarMenu","UserAvatar","BannersBar","_l","label","onSelectMenu","isSubmenuList","componentAs","tag","item","icon","hasDropdown","itemTo","itemHref","updateMark","dropdownIcon","to","href","AsideMenuList","AsideMenuItem","isExpanded","AsideLogo","copyright","companyWebSite","company","FooterBar","AsideMenu","NavBar","$router","scopedSlots","_u","fn","canRemove","canEdit","addUser","editUser","refresh","proxy","selected","select","onPageChange","props","row","firstName","lastName","email","partner","_f","lockoutEnd","canAdd","edit","showAdd","showEdit","showRemove","Boolean","selectedId","oldRow","CardComponent","ListToolbar","cancel","$refs","submitter","click","save","$set","option","partners","searchingPartnerAsync","onPartnerSelected","address","street","city","zipCode","country","selectedPartner","showPartnerBox","password","ref","succeeded","partnerCode","partnersService","fetchPartnersAsync","syncProductsHistoryAsync","syncOrdersHistoryAsync","debounce","func","timeoutId","waitMilliseconds","options","isImmediate","args","runLater","shouldCallNow","clearTimeout","setTimeout","debouncedFetchPartnersAsync","search","saveUser","isNewUser","map","partnerId","go","roleIds","indexOf","EditToolbar","aid","confirmPassword","token","reload","currentPage","products","onSort","goToProduct","iksCategory","isStockFridge","price","Discontinued","addToCart","addToCartWithQuantity","availability","createEmptyProduct","logisticCosts","margin","markUp","supplierPrice","lineTotal","amount","wholesalerInfo","fan","weight","volume","isStock","createEmptyAvailability","specialOfferCode","quantityAvailable","notes","fetchProductsAsync","keywordSearch","commitPopulateProducts","fetchProductAsync","commitPopulateProduct","fetchProductAvailabilityAsync","commitPopulateAvailability","populateProducts","populateProduct","populateAvailability","getProducts","getTotalProducts","getProduct","getAvailability","getSearch","types","icons","Number","String","searching","minLength","debouncedFetchProductsAsync","previousValue","trim","direction","prompt","inputAttrs","placeholder","maxlength","min","max","trapFocus","addToCartQuantity","AddQuantity","counter","delay","ms","resolve","immediate","deep","ColumnStatus","back","quantityToUse","quantityChanged","onTabChange","barcode","pharmacyPrice","vatRate","groupCode","groupDescription","iksDescription","replacementProduct","showReplacementProduct","stockInFridgeWithTemperature","quantityAlreadyInOrder","fanCode","selectedStatistic","totalStatistics","statistics","selectStatistic","documentType","invoiceNumber","deliveredQuantity","offerPrice","p3QtypeManualtp1","purchasePrice","lineDiscount","publicPrice","servicesPrice","unitPrice","availabilityLoadingValue","statements","totalStatement","amounts","totalAmounts","ordersSearch","orderLines","totalOrderLines","marketAds","totalMarketAds","marketAdsSearch","productInOrders","totalProductInOrders","marketTypes","RC","OF","PR","VA","AL","getStatementsAsync","commitPopulateStatements","printStatementsAsync","getAmountsAsync","commitPopulateAmounts","printAmountsAsync","exportAmountsAsync","getOrderLinesAsync","sort","orderBy","commitPopulateOrderLines","getMarketAdsAsync","commitPopulateMarketAds","upsertMarketAdAsync","commitInsertMarketAd","commitUpdateMarketAd","deleteMarketAdAsync","commitDeleteMarketAd","getProductsInOrdersAsync","searchAll","commitPopulateProductsInOrders","getStatisticsAsync","commitPopulateStatistics","populateStatements","populateAmounts","populateOrderLines","populateMarketAds","insertMarketAd","typeDescription","mk","marketAdd","createdAt","partnerName","updateMarketAd","deleteMarketAd","marketAd","populateProductsInOrders","populateStatistics","getStatements","getTotalStatements","getAmounts","getTotalAmounts","getOrdersSearch","getOrderLines","getTotalOrderLines","getMarketAds","getTotalMarketAds","getMarketAdsSearch","getMarketTypes","getProductInOrders","getTotalProductInOrders","getStatistics","getTotalStatistics","erp","fetchStatementsAsync","fetchAmountsAsync","fetchOrderLinesAsync","fetchMarketAdsAsync","fetchProductsInOrdersAsync","fetchStatisticsAsync","canBack","activeTab","availabilityLoaded","availabilityLoading","statisticsLoaded","ignoreQuantityChanged","debouncedFetchProductAsync","debouncedFetchProductAvailabilityAsync","tab","ReplaceQuantity","replace","stockTemperature","orderLine","quantityInOrder","CustomToolbar","goBack","isTransmittable","send","canPrint","print","orderNumberYear","cartStatusDescription","productStatus","productStatusDescription","logisticCost","addQuantityToCartModal","addQuantityToCart","removeQuantityFromCart","removeProduct","totalNumberOfRows","transmittOrderAsync","blob","URL","createObjectURL","Blob","link","createElement","setAttribute","display","body","appendChild","removeChild","addQuantityToCartYourQuantity","currentCart","SystemStatus","Busy","timetable","timetableDescription","isDismissed","dismiss","Notification","domProps","detailsToShow","quantityDelivered","firstYear","from","retransmit","canSync","sync","orderStatusDescription","synchronizeOrderAsync","retransmitOrderAsync","Transmitting","reasonForHandlingDescription","grossAmount","taxes","totalAmountCharges","chargesPercentage","netAmount","signDescription","summary","grossAmountTotal","taxesTotal","totalAmountChargesTotal","netAmountTotal","sum","sign","Debit","grandTotals","reduce","grandTotalBySign","monthDescription","statement","find","annu","documentTypeDescription","deliveryNumber","viewType","rowStyle","progressive","lineType","lineNumber","orderedQuantity","invoicedQuantity","addAd","deleteAd","editAd","ads","debouncedFetchMarketAdsAsync","saveAsync","currentUser","phone_number","communicationCode","debouncedFetchProductsInOrdersAsync","ColumnStatusProductOrders","addBanner","editBanner","debouncedSearchBannersAsync","searchBannersAsync","selectedBannerFile","removeBanner","image","uploadFileAsync","bannerToSave","reference","telephone","syncOrdersHistory","syncProductsHistory","transformIdInProps","route","transformIdInNumericProps","transformResetProps","transformProductProps","transformOrderLinesProps","use","router","base","routes","path","meta","requiresAuthentication","beforeEach","next","matched","record","afterEach","vuexStore","strict","en","i18n","fallbackLocale","apiVersion","requestTimeout","defaults","headers","common","instance","interceptors","request","Authorization","productionTip","performance","defaultIconComponent","defaultIconPack","defaultUseHtml5Validation","customIconPacks","fas","sizes","iconPrefix","classes","valid","invalid","apiConfiguration","render","h","$mount"],"mappings":"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","file":"js/app.2dd93c00.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 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// 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\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 \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","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=68224d74&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=68224d74&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Products.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Products.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErpAmounts.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErpAmounts.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErpMarket.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErpMarket.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductDetails.vue?vue&type=style&index=0&id=2f69bd32&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductDetails.vue?vue&type=style&index=0&id=2f69bd32&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderTransmitted.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderTransmitted.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErpOrders.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErpOrders.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AsideMenu.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AsideMenu.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('b-loading',{attrs:{\"is-full-page\":true,\"active\":_vm.isLoading,\"can-cancel\":false},on:{\"update:active\":function($event){_vm.isLoading=$event}}}),_c('nav-bar'),_c('aside-menu',{attrs:{\"menu\":_vm.menu}}),_c('router-view'),_c('footer-bar')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class Api {\r\n public static readonly BaseUrl: string = '/api/';\r\n public version!: string;\r\n constructor(ver: string) {\r\n this.version = ver;\r\n }\r\n}\r\n","export class Environment {\r\n public static readonly Development: string = 'development';\r\n public static readonly Production: string = 'production';\r\n}","export class Guid {\r\n public static readonly Empty: string = '00000000-0000-0000-0000-000000000000';\r\n}\r\n","export class Roles {\r\n public static readonly Administrators: string = 'Administrators';\r\n public static readonly Users: string = 'Users';\r\n}","export enum TypeOfSearch {\r\n StartsWith = 0,\r\n Contains = 1,\r\n ExactMatch = 2,\r\n EndsWith = 3,\r\n}","export enum ProductStatus {\r\n ToOrdered = 0,\r\n Available = 1,\r\n Discontinued = 2,\r\n}","export enum DocumentStatus {\r\n None = 0,\r\n Suspended = 5,\r\n TransmitLater = 20,\r\n Open = 30,\r\n Transmitting = 40,\r\n Printed = 60,\r\n TransmittedNotConfirmed = 61,\r\n TransmittedByPhone = 65,\r\n TransmittedByInternet = 66,\r\n StockCharged = 90,\r\n}","export enum DocumentLineStatus {\r\n None = 0,\r\n AutomaticReorder = 5,\r\n RowError = 7,\r\n Nota24 = 8,\r\n FromShoppingCart = 9,\r\n OkForTransmission = 10,\r\n NotTransmitted = 19,\r\n Transmitted = 20,\r\n NotConfirmed = 24,\r\n PartialConfirmed = 25,\r\n SpeciallyOrdered = 26,\r\n Confirmed = 30,\r\n StockUpdated = 60,\r\n}","export enum TypeOfOperation {\r\n AddQuantity = 0,\r\n ReplaceQuantity = 1,\r\n}","export enum SystemStatusType {\r\n None = 0,\r\n Busy = 1,\r\n Available = 2,\r\n}","export enum DoubleEntryType {\r\n None = 0,\r\n Debit = 1,\r\n Credit = 2,\r\n Plus = 3,\r\n Minus = 4,\r\n No = 5,\r\n}","export enum MarketAdType {\r\n ALL = 0,\r\n RC = 1,\r\n OF = 2,\r\n PR = 3,\r\n VA = 4,\r\n AL = 5,\r\n}","export class SelectItem {\r\n public value!: T;\r\n public description!: string;\r\n\r\n constructor(val: T, descr: string) {\r\n this.value = val;\r\n this.description = descr;\r\n }\r\n }","export enum BannerPosition {\r\n Left = 0,\r\n Center = 1,\r\n Right = 2,\r\n}\r\n","import { BareActionContext, getStoreBuilder } from 'vuex-typex';\r\nimport axios from 'axios';\r\nimport { RootState } from '@/store/state';\r\nimport { AppState } from './state';\r\nimport { Menu, Role } from '@/models';\r\nimport { ApplicationConfiguration, Api, ApiResult, Status, SystemStatus, SystemStatusType } from '@/types';\r\nimport { ToastProgrammatic as Toaster } from 'buefy';\r\nimport { SnackbarProgrammatic as Snackbar, NotificationProgrammatic as Notification } from 'buefy';\r\nimport { BNotificationConfig } from 'buefy/types/components';\r\nimport { addMinutes, isAfter } from 'date-fns';\r\n// import tracer from '@/core/tracer';\r\nimport menu from '../../assets/menu.json';\r\n\r\ntype StoreContext = BareActionContext;\r\n\r\nconst appMenu: Menu[] = menu as Menu[];\r\n\r\nconst thisState: AppState = {\r\n applicationConfiguration: {} as ApplicationConfiguration,\r\n isNavBarVisible: true,\r\n isFooterBarVisible: true,\r\n isAsideVisible: true,\r\n isAsideMobileExpanded: false,\r\n isDarkMode: false,\r\n isLoading: false,\r\n menu: appMenu,\r\n defaultPageSize: 20,\r\n maxPageSize: 2147483647,\r\n activeMenu: undefined,\r\n systemStatus: { status: SystemStatusType.None, statusDescription: '', message: '' } as SystemStatus,\r\n systemStatusLastCheck: undefined,\r\n};\r\n\r\nconst moduleBuilder = getStoreBuilder().module('app', thisState);\r\n\r\nconst thisModule = {\r\n getters: {\r\n applicationConfiguration(state: AppState): ApplicationConfiguration {\r\n return state.applicationConfiguration;\r\n },\r\n\r\n isNavBarVisible(state: AppState): boolean {\r\n return state.isNavBarVisible;\r\n },\r\n\r\n isDarkMode(state: AppState): boolean {\r\n return state.isDarkMode;\r\n },\r\n\r\n isFooterBarVisible(state: AppState): boolean {\r\n return state.isFooterBarVisible;\r\n },\r\n\r\n isAsideVisible(state: AppState): boolean {\r\n return state.isAsideVisible;\r\n },\r\n\r\n isAsideMobileExpanded(state: AppState): boolean {\r\n return state.isAsideMobileExpanded;\r\n },\r\n\r\n isLoading(state: AppState): boolean {\r\n return state.isLoading;\r\n },\r\n\r\n roles(state: AppState): Role[] {\r\n return state.applicationConfiguration.roles;\r\n },\r\n\r\n menu(state: AppState): Menu[] {\r\n return state.menu;\r\n },\r\n\r\n pageSize(state: AppState): number {\r\n return state.defaultPageSize;\r\n },\r\n\r\n maxPageSize(state: AppState): number {\r\n return state.maxPageSize;\r\n },\r\n\r\n documentStatus(state: AppState) {\r\n return (status: number) => state.applicationConfiguration.documentStatus.filter((x) => x.code === status)[0] ||\r\n { code: 0, shortDescription: '', description: '' } as Status;\r\n },\r\n\r\n systemStatus(state: AppState) {\r\n return state.systemStatus || { status: SystemStatusType.None, statusDescription: '' } as SystemStatus;\r\n },\r\n },\r\n\r\n actions: {\r\n async checkSystemStatusAsync(context: StoreContext): Promise {\r\n\r\n // Status is checked every 15 minutes\r\n if (context.state.systemStatusLastCheck && !isAfter(new Date(), addMinutes(context.state.systemStatusLastCheck, 15))) {\r\n return;\r\n }\r\n\r\n // app.info({ message: 'Checking system status'});\r\n\r\n return await axios.get(Api.BaseUrl + `systemstatus/check`)\r\n .then((response) => {\r\n commitSetSystemStatus(response.data);\r\n });\r\n },\r\n\r\n async fetchSystemTimetableAsync(context: StoreContext): Promise {\r\n return await axios.get(Api.BaseUrl + `systemstatus/timetable`)\r\n .then((response) => {\r\n commitSetSystemTimetable(response.data);\r\n });\r\n },\r\n\r\n async getConfigurationAsync(context: StoreContext): Promise {\r\n return await axios.get(Api.BaseUrl + `configuration`)\r\n .then((response) => {\r\n const systemStatus = response.data.systemStatus;\r\n commitApplicationConfiguration(response.data);\r\n commitSetSystemStatus(systemStatus);\r\n });\r\n },\r\n\r\n activateMenu(context: StoreContext, currentMenu: Menu): void {\r\n commitSetActiveMenu(currentMenu);\r\n },\r\n\r\n activateMenuById(context: StoreContext, payload: { rootId: number, subMenuId: number }): void {\r\n\r\n if (!context.state.menu) return;\r\n\r\n if (context.state.activeMenu && context.state.activeMenu.id === payload.subMenuId) return;\r\n\r\n const root = context.state.menu.filter((m) => m.id === payload.rootId);\r\n if (!root || root.length === 0 || !root[0].menu) return;\r\n\r\n const subMenu = root[0].menu.filter((m) => m.id === payload.subMenuId);\r\n if (!subMenu || subMenu.length === 0) return;\r\n\r\n commitSetActiveMenu(subMenu[0]);\r\n },\r\n\r\n setDarkMode(context: StoreContext): void {\r\n commitSetDarkMode();\r\n },\r\n\r\n success(context: StoreContext, payload: { message: string, timeout?: number }): void {\r\n\r\n if (!payload || !payload.message) { return; }\r\n\r\n Toaster.open({ duration: payload.timeout || 3000, message: payload.message, position: 'is-bottom', type: 'is-success', queue: false });\r\n },\r\n\r\n info(context: StoreContext, payload: { message: string, timeout?: number }): void {\r\n\r\n if (!payload || !payload.message) { return; }\r\n\r\n Toaster.open({ duration: payload.timeout || 3000, message: payload.message, position: 'is-bottom', type: 'is-info', queue: false });\r\n },\r\n\r\n error(context: StoreContext, payload: { message: string, timeout?: number }): void {\r\n\r\n if (!payload || !payload.message) { return; }\r\n\r\n const config: BNotificationConfig = {\r\n message: payload.message,\r\n type: 'is-danger',\r\n position: 'is-top-right',\r\n queue: false,\r\n };\r\n\r\n if (payload.timeout) {\r\n config.duration = payload.timeout;\r\n } else {\r\n // config.indefinite = true;\r\n config.duration = 5000;\r\n }\r\n\r\n Notification.open(config);\r\n },\r\n\r\n errors(context: StoreContext, payload: { status: number, result: ApiResult, ignoreNotFound: boolean }): void {\r\n\r\n if (!payload) { return; }\r\n\r\n if (payload.status === 404) {\r\n if (payload.ignoreNotFound) {\r\n return;\r\n } else {\r\n Toaster.open({ duration: 2000, message: 'Elemento non trovato.', position: 'is-bottom', type: 'is-warning', queue: false });\r\n return;\r\n }\r\n }\r\n\r\n if (payload.status === 403) {\r\n Toaster.open({ duration: 7000, message: 'Autorizzazioni insufficienti per l\\'operazione selezionata.', position: 'is-top', type: 'is-danger', queue: false });\r\n return;\r\n }\r\n\r\n const apiResult = payload.result;\r\n\r\n if (apiResult && apiResult.errors) {\r\n let messages = '';\r\n\r\n apiResult.errors.forEach((error) => {\r\n const message = !!error.field ? `${error.field} - ${error.message}` : `${error.message}`;\r\n messages += `
  • ${message}
  • `;\r\n });\r\n\r\n if (messages) {\r\n Snackbar.open({ duration: 7000, message: messages, position: 'is-top-right', type: 'is-danger', queue: false, actionText: 'OK' });\r\n }\r\n }\r\n\r\n if (apiResult && apiResult.detail) {\r\n Snackbar.open({ duration: 6000, message: apiResult.detail, position: 'is-top-right', type: 'is-danger', queue: false, actionText: 'OK' });\r\n }\r\n\r\n },\r\n\r\n warning(context: StoreContext, payload: { message: string, timeout?: number }): void {\r\n\r\n if (!payload || !payload.message) { return; }\r\n\r\n Toaster.open({ duration: payload.timeout || 6000, message: payload.message, position: 'is-bottom', type: 'is-warning', queue: false });\r\n },\r\n\r\n warnings(context: StoreContext, payload: { messages: string[], timeout?: number }): void {\r\n\r\n if (!payload || !payload.messages) { return; }\r\n\r\n payload.messages.forEach((message) => {\r\n Toaster.open({ duration: payload.timeout || 6000, message, position: 'is-bottom', type: 'is-warning', queue: false });\r\n });\r\n },\r\n\r\n toggleMenuMobile(context: StoreContext, payload: boolean | undefined): void {\r\n commitSetAsideMobileStateToggle(payload);\r\n },\r\n\r\n isLoading(context: StoreContext, payload: { isLoading: boolean }): void {\r\n commitSetIsLoading(payload);\r\n },\r\n },\r\n\r\n mutations: {\r\n setApplicationConfiguration(state: AppState, payload: ApplicationConfiguration) {\r\n state.applicationConfiguration = payload;\r\n Object.freeze(state.applicationConfiguration.systemStatus);\r\n },\r\n\r\n setAsideMobileStateToggle(state: AppState, payload: boolean | undefined) {\r\n const hasAsideMobileExpanded = 'has-aside-mobile-expanded';\r\n // const hasAsideExpanded = 'has-aside-expanded';\r\n\r\n let isShow = false;\r\n\r\n if (payload !== undefined) {\r\n isShow = payload;\r\n } else {\r\n isShow = !state.isAsideMobileExpanded;\r\n }\r\n\r\n const element = document.documentElement.classList;\r\n\r\n if (isShow) {\r\n element.add(hasAsideMobileExpanded);\r\n // element.add(hasAsideExpanded);\r\n } else {\r\n element.remove(hasAsideMobileExpanded);\r\n // element.remove(hasAsideExpanded);\r\n }\r\n\r\n state.isAsideMobileExpanded = isShow;\r\n },\r\n\r\n setIsLoading(state: AppState, payload: { isLoading: boolean }) {\r\n state.isLoading = payload.isLoading;\r\n },\r\n\r\n setActiveMenu(state: AppState, currentMenu: Menu) {\r\n if (state.activeMenu) {\r\n state.activeMenu.isActive = false;\r\n }\r\n currentMenu.isActive = true;\r\n state.activeMenu = currentMenu;\r\n },\r\n\r\n setDarkMode(state: AppState) {\r\n\r\n const htmlClassName = 'is-dark-mode-active';\r\n\r\n state.isDarkMode = !state.isDarkMode;\r\n\r\n if (state.isDarkMode) {\r\n document.documentElement.classList.add(htmlClassName);\r\n } else {\r\n document.documentElement.classList.remove(htmlClassName);\r\n }\r\n },\r\n\r\n setSystemStatus(state: AppState, status: SystemStatus) {\r\n if (!state.systemStatus) {\r\n state.systemStatus = {} as SystemStatus;\r\n }\r\n state.systemStatus.status = status.status;\r\n state.systemStatus.statusDescription = status.statusDescription;\r\n state.systemStatus.message = status.message;\r\n\r\n state.systemStatusLastCheck = new Date();\r\n },\r\n\r\n setSystemTimetable(state: AppState, status: SystemStatus) {\r\n state.systemStatus = status;\r\n state.systemStatusLastCheck = new Date();\r\n },\r\n\r\n },\r\n};\r\n\r\n// private getters\r\nconst getApplicationConfiguration = moduleBuilder.read(thisModule.getters.applicationConfiguration, 'applicationConfiguration');\r\nconst getIsNavBarVisible = moduleBuilder.read(thisModule.getters.isNavBarVisible, 'isNavBarVisible');\r\nconst getIsDarkMode = moduleBuilder.read(thisModule.getters.isDarkMode, 'isDarkMode');\r\nconst getIsFooterBarVisible = moduleBuilder.read(thisModule.getters.isFooterBarVisible, 'isFooterBarVisible');\r\nconst getIsAsideVisible = moduleBuilder.read(thisModule.getters.isAsideVisible, 'isAsideVisible');\r\nconst getIsAsideMobileExpanded = moduleBuilder.read(thisModule.getters.isAsideMobileExpanded, 'isAsideMobileExpanded');\r\nconst getIsLoading = moduleBuilder.read(thisModule.getters.isLoading, 'isLoading');\r\nconst getRoles = moduleBuilder.read(thisModule.getters.roles, 'getRoles');\r\nconst getMenu = moduleBuilder.read(thisModule.getters.menu, 'getMenu');\r\nconst getPageSize = moduleBuilder.read(thisModule.getters.pageSize, 'getPageSize');\r\nconst getMaxPageSize = moduleBuilder.read(thisModule.getters.maxPageSize, 'getMaxPageSize');\r\nconst getSystemStatus = moduleBuilder.read(thisModule.getters.systemStatus, 'systemStatus');\r\n\r\n// private mutations\r\nconst commitApplicationConfiguration = moduleBuilder.commit(thisModule.mutations.setApplicationConfiguration, 'setApplicationConfiguration');\r\nconst commitSetAsideMobileStateToggle = moduleBuilder.commit(thisModule.mutations.setAsideMobileStateToggle, 'setAsideMobileStateToggle');\r\nconst commitSetIsLoading = moduleBuilder.commit(thisModule.mutations.setIsLoading, 'setIsLoading');\r\nconst commitSetActiveMenu = moduleBuilder.commit(thisModule.mutations.setActiveMenu, 'setActiveMenu');\r\nconst commitSetDarkMode = moduleBuilder.commit(thisModule.mutations.setDarkMode, 'setIsDarkMsetDarkModeodeActive');\r\nconst commitSetSystemStatus = moduleBuilder.commit(thisModule.mutations.setSystemStatus, 'setSystemStatus');\r\nconst commitSetSystemTimetable = moduleBuilder.commit(thisModule.mutations.setSystemTimetable, 'setSystemTimetable');\r\n\r\nconst app = {\r\n\r\n // getters (wrapped as real getters)\r\n get applicationConfiguration() { return getApplicationConfiguration(); },\r\n\r\n get isNavBarVisible() { return getIsNavBarVisible(); },\r\n get isFooterBarVisible() { return getIsFooterBarVisible(); },\r\n get isAsideVisible() { return getIsAsideVisible(); },\r\n get isAsideMobileExpanded() { return getIsAsideMobileExpanded(); },\r\n get isLoading() { return getIsLoading(); },\r\n get roles() { return getRoles(); },\r\n get menu() { return getMenu(); },\r\n get pageSize() { return getPageSize(); },\r\n get maxPageSize() { return getMaxPageSize(); },\r\n get isDarkMode() { return getIsDarkMode(); },\r\n get systemStatus() { return getSystemStatus(); },\r\n\r\n success: moduleBuilder.dispatch(thisModule.actions.success, 'success'),\r\n info: moduleBuilder.dispatch(thisModule.actions.info, 'info'),\r\n error: moduleBuilder.dispatch(thisModule.actions.error, 'error'),\r\n errors: moduleBuilder.dispatch(thisModule.actions.errors, 'errors'),\r\n warning: moduleBuilder.dispatch(thisModule.actions.warning, 'warning'),\r\n warnings: moduleBuilder.dispatch(thisModule.actions.warnings, 'warnings'),\r\n toggleMenuMobile: moduleBuilder.dispatch(thisModule.actions.toggleMenuMobile, 'toggleMenuMobile'),\r\n\r\n loading: moduleBuilder.dispatch(thisModule.actions.isLoading, 'isLoading'),\r\n getConfigurationAsync: moduleBuilder.dispatch(thisModule.actions.getConfigurationAsync, 'getConfigurationAsync'),\r\n activateMenu: moduleBuilder.dispatch(thisModule.actions.activateMenu, 'activateMenu'),\r\n activateMenuById: moduleBuilder.dispatch(thisModule.actions.activateMenuById, 'activateMenuById'),\r\n setDarkMode: moduleBuilder.dispatch(thisModule.actions.setDarkMode, 'setDarkMode'),\r\n checkSystemStatusAsync: moduleBuilder.dispatch(thisModule.actions.checkSystemStatusAsync, 'checkSystemStatusAsync'),\r\n fetchSystemTimetableAsync: moduleBuilder.dispatch(thisModule.actions.fetchSystemTimetableAsync, 'fetchSystemTimetableAsync'),\r\n\r\n documentStatus: moduleBuilder.read(thisModule.getters.documentStatus, 'documentStatus'),\r\n};\r\n\r\nexport default app;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('nav',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isNavBarVisible),expression:\"isNavBarVisible\"}],staticClass:\"navbar is-fixed-top\",attrs:{\"id\":\"navbar-main\"}},[_c('div',{staticClass:\"navbar-brand\"},[_c('a',{staticClass:\"navbar-item is-hidden-desktop\",on:{\"click\":function($event){$event.preventDefault();return _vm.menuToggleMobile($event)}}},[_c('b-icon',{attrs:{\"icon\":_vm.menuToggleMobileIcon}})],1)]),_c('div',{staticClass:\"navbar-brand is-right\"},[_c('a',{staticClass:\"navbar-item navbar-item-menu-toggle is-hidden-desktop\",on:{\"click\":function($event){$event.preventDefault();return _vm.menuNavBarToggle($event)}}},[_c('b-icon',{attrs:{\"icon\":_vm.menuNavBarToggleIcon}})],1)]),_c('div',{staticClass:\"navbar-menu fadeIn animated faster\",class:{'is-active':_vm.isMenuNavBarActive}},[_c('div',{staticClass:\"navbar-end\"},[_c('nav-bar-menu',{staticClass:\"has-divider has-user-avatar\"},[_c('user-avatar'),_c('div',{staticClass:\"is-user-name\"},[_c('span',[_vm._v(_vm._s(_vm.user.given_name)+\" \"+_vm._s(_vm.user.family_name))])]),_c('div',{staticClass:\"navbar-dropdown\",attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(_vm.isUserLoggedIn)?_c('router-link',{staticClass:\"navbar-item\",attrs:{\"to\":{ name: 'profile' },\"replace\":\"\"}},[_c('b-icon',{attrs:{\"icon\":\"user-circle\"}}),_c('span',[_vm._v(\"Profilo\")])],1):_vm._e(),(_vm.isUserLoggedIn)?_c('div',[_c('hr',{staticClass:\"navbar-divider\"}),_c('a',{staticClass:\"navbar-item\",on:{\"click\":_vm.changePassword}},[_c('b-icon',{attrs:{\"icon\":\"key\"}}),_c('span',[_vm._v(\"Cambia Password\")])],1)]):_vm._e(),(!_vm.isUserLoggedIn)?_c('div',[_c('a',{staticClass:\"navbar-item\",on:{\"click\":_vm.login}},[_c('b-icon',{attrs:{\"icon\":\"key\"}}),_c('span',[_vm._v(\"Login\")])],1)]):_vm._e(),_c('div',[_c('hr',{staticClass:\"navbar-divider\"}),_c('a',{staticClass:\"navbar-item\",on:{\"click\":_vm.ResetPassword}},[_c('b-icon',{attrs:{\"icon\":\"key\"}}),_c('span',[_vm._v(\"Reset Password\")])],1)])],1)],1),(_vm.isUserLoggedIn)?_c('div',{staticClass:\"navbar-item has-divider\"},[_c('router-link',{staticClass:\"navbar-item\",attrs:{\"to\":{ name: 'cart' },\"active-class\":\"\",\"exact-active-class\":\"\"}},[_c('b-icon',{class:{ 'has-update-mark' : _vm.cartIsUpdated },attrs:{\"icon\":\"shopping-cart\"}}),_c('span',[_vm._v(\"Carrello (\"+_vm._s(_vm.cartCount)+\")\")])],1)],1):_vm._e(),_c('nav-bar-menu',{attrs:{\"is-hoverable\":true,\"has-drop-down-icon\":false}},[_c('b-icon',{staticClass:\"is-marginless\",attrs:{\"icon\":\"server\",\"type\":_vm.systemAvailabilityIcon,\"title\":_vm.configuration.systemStatus.statusDescription}}),_c('div',{staticClass:\"navbar-dropdown is-right\",attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('router-link',{staticClass:\"navbar-item\",attrs:{\"to\":{ name: 'systemavailability' },\"replace\":\"\"}},[_c('span',[_vm._v(\"Sistema: \"+_vm._s(_vm.configuration.systemStatus.statusDescription))])])],1)],1),(_vm.isUserLoggedIn)?_c('a',{staticClass:\"navbar-item is-desktop-icon-only\",attrs:{\"title\":\"Log out\"},on:{\"click\":_vm.logout}},[_c('b-icon',{attrs:{\"icon\":\"sign-out-alt\"}}),_c('span',[_vm._v(\"Log out\")])],1):_vm._e()],1)])]),_c('banners-bar')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Exception } from '@/types';\r\n\r\nexport class Result {\r\n\r\n public success: boolean;\r\n public error?: string;\r\n public message?: string;\r\n\r\n constructor(success: boolean, exception?: Exception) {\r\n this.success = success;\r\n if (exception) {\r\n this.error = exception.error;\r\n this.message = exception.message;\r\n } else if (!success) {\r\n this.error = '';\r\n this.message = '';\r\n }\r\n }\r\n}","import { Role } from './Role';\r\nimport { Partner } from './Partner';\r\nimport { Roles } from '@/types';\r\n\r\nexport class User {\r\n public id!: string;\r\n // public username!: string;\r\n public email!: string;\r\n public firstName!: string;\r\n public lastName!: string;\r\n public partner?: Partner;\r\n public emailConfirmed: boolean;\r\n public accessFailedCount: number;\r\n public lockoutEnd?: Date;\r\n public locked: boolean;\r\n public roles!: Role[];\r\n\r\n constructor() {\r\n this.emailConfirmed = false;\r\n this.accessFailedCount = 0;\r\n this.roles = [];\r\n this.locked = false;\r\n }\r\n\r\n public isAdministrator(): boolean {\r\n return this.roles && this.roles.some((role) => role.name === Roles.Administrators);\r\n }\r\n}\r\n","import { Address } from './Address';\r\n\r\nexport class Partner {\r\n public id!: string;\r\n public code!: string;\r\n public name!: string;\r\n public description?: string;\r\n public company?: string;\r\n public ean?: string;\r\n public reference?: string;\r\n public address?: Address;\r\n public email?: string;\r\n public telephone?: string;\r\n}","import { OrderLine, OrderInvoice } from '.';\r\nimport { DocumentStatus, Guid } from '@/types';\r\n\r\nexport class Order {\r\n public id!: string;\r\n public year!: number;\r\n public documentNumber!: number;\r\n public documentDate!: Date;\r\n public status!: DocumentStatus;\r\n public statusDescription!: string;\r\n public transmissionDate?: Date;\r\n public documentReference?: string;\r\n public lines?: OrderLine[];\r\n public invoices?: OrderInvoice[];\r\n\r\n constructor() {\r\n this.id = Guid.Empty;\r\n this.documentNumber = 0;\r\n this.documentDate = new Date();\r\n this.status = DocumentStatus.Open;\r\n this.statusDescription = '';\r\n this.lines = [];\r\n this.year = new Date().getFullYear();\r\n }\r\n}\r\n","import { TypeOfSearch } from '@/types';\r\n\r\nexport class ProductsSearch {\r\n public keyword!: string;\r\n public searchType!: TypeOfSearch;\r\n public searchInHistorical!: boolean;\r\n public pageNumber!: number;\r\n public pageSize!: number;\r\n public sortField!: string;\r\n public sortDirection!: string;\r\n\r\n constructor() {\r\n this.keyword = '';\r\n this.pageNumber = 1;\r\n this.pageSize = 20;\r\n this.sortField = 'name',\r\n this.sortDirection = 'asc';\r\n this.searchInHistorical = false;\r\n this.searchType = TypeOfSearch.StartsWith;\r\n }\r\n}\r\n","import { getDay, getMonth, getYear, setMonth, format, getDate, addDays as fnsAddDays } from 'date-fns';\r\nimport it from 'date-fns/locale/it';\r\nimport { UserProfile } from '@/types';\r\nimport { Menu } from '@/models';\r\n\r\n// Months in javascript dates start from ZERO\r\nexport const getMonthName = (month: number): string => {\r\n const date = setMonth(new Date(), month - 1);\r\n return format(date, 'MMMM', { locale: it });\r\n};\r\n\r\nexport const addDays = (date: Date, days: number): Date => {\r\n if (!date) { return new Date(); }\r\n return fnsAddDays(date, days);\r\n};\r\n\r\nexport const getCurrentDay = (): number => {\r\n return getDate(new Date());\r\n};\r\n\r\nexport const getCurrentYear = (): number => {\r\n return getYear(new Date());\r\n};\r\n\r\n// Months in javascript dates start from ZERO\r\nexport const getCurrentMonth = (): number => {\r\n return getMonth(new Date()) + 1;\r\n};\r\n\r\nexport const formatDate = (date: Date, dateFormat?: string): string => {\r\n\r\n if (!date) { return ''; }\r\n\r\n if (!dateFormat) { dateFormat = 'dd.MM.yyyy'; }\r\n\r\n if (!(date instanceof Date)) {\r\n date = new Date(date);\r\n }\r\n\r\n return format(date, dateFormat, { locale: it });\r\n};\r\n\r\nexport const formatTime = (date: Date, timeFormat?: string): string => {\r\n\r\n if (!date) { return ''; }\r\n\r\n if (!timeFormat) { timeFormat = 'HH:mm'; }\r\n\r\n if (!(date instanceof Date)) {\r\n date = new Date(date);\r\n }\r\n\r\n return format(date, timeFormat, { locale: it });\r\n};\r\n\r\nexport const formatDateTime = (date: Date, dateFormat?: string): string => {\r\n\r\n if (!date) { return ''; }\r\n\r\n if (!dateFormat) { dateFormat = 'dd.MM.yyyy HH:mm'; }\r\n\r\n if (!(date instanceof Date)) {\r\n date = new Date(date);\r\n }\r\n\r\n return format(date, dateFormat, { locale: it });\r\n};\r\n\r\nexport const formatNumber = (value: number, decimals: number): string => {\r\n const formatter = new Intl.NumberFormat('it-CH', {\r\n style: 'decimal',\r\n minimumFractionDigits: decimals || 2,\r\n });\r\n return formatter.format(value || 0);\r\n};\r\n\r\nexport const formatCurrency = (value: number, decimals: number): string => {\r\n\r\n const formatter = new Intl.NumberFormat('it-CH', {\r\n style: 'decimal',\r\n // currency: 'USD',\r\n minimumFractionDigits: decimals || 2,\r\n });\r\n return formatter.format(value || 0);\r\n};\r\n\r\nexport const formatPercentage = (value: number, decimals: number): string => {\r\n return formatNumber(value, decimals) + '%';\r\n};\r\n\r\nexport const formatBooleanShort = (value: boolean): string => {\r\n return value === true ? 'S' : 'N';\r\n};\r\n\r\nexport const formatBooleanLong = (value: boolean): string => {\r\n return value === true ? 'Sì' : 'No';\r\n};\r\n\r\nexport const authorizedMenus = (profile: UserProfile, menu: Menu[]): Menu[] => {\r\n if (profile && profile.sub) {\r\n const roles = profile.role;\r\n return menu.filter((m) => {\r\n return !m.autorizations || m.autorizations.some((role) => roles.includes(role));\r\n });\r\n } else {\r\n return menu.filter((m) => {\r\n return !m.autorizations;\r\n });\r\n }\r\n};\r\n\r\nexport const jsonPretty = (value: any): string => {\r\n if (!value) return '';\r\n return JSON.stringify(JSON.parse(value), undefined, 3);\r\n};\r\n","import { getCurrentDay, getCurrentMonth, getCurrentYear } from '@/filters';\r\n\r\nexport class ErpOrdersSearch {\r\n public onlyForToday: boolean;\r\n public day: number;\r\n public month: number;\r\n public year: number;\r\n public pageNumber!: number;\r\n public pageSize!: number;\r\n\r\n constructor() {\r\n this.onlyForToday = true;\r\n this.day = getCurrentDay();\r\n this.year = getCurrentYear();\r\n this.month = getCurrentMonth();\r\n this.pageNumber = 1;\r\n this.pageSize = 20;\r\n }\r\n}\r\n","import { MarketAdType } from '@/types';\r\n\r\nexport class MarketAdsSearch {\r\n public adType: MarketAdType;\r\n public keyword!: string;\r\n public pageNumber!: number;\r\n public pageSize!: number;\r\n\r\n constructor() {\r\n this.keyword = '';\r\n this.pageNumber = 1;\r\n this.pageSize = 20;\r\n this.adType = MarketAdType.ALL;\r\n }\r\n}\r\n","import { BareActionContext, getStoreBuilder } from 'vuex-typex';\r\nimport axios from 'axios';\r\nimport { RootState } from '@/store/state';\r\nimport { OrdersState } from './state';\r\nimport { Order, Result } from '@/models';\r\nimport appStore from '@/store/app';\r\nimport { SingleResultOf, Api, ApiResult, Guid, BaseProduct, TypeOfOperation, ResultOf } from '@/types';\r\n\r\ntype StoreContext = BareActionContext;\r\n\r\nconst thisState: OrdersState = {\r\n ordersYear: undefined,\r\n orders: [],\r\n order: undefined,\r\n totalOrders: 0,\r\n cart: new Order(),\r\n cartLoaded: false,\r\n cartUpdate: false,\r\n};\r\n\r\nconst moduleBuilder = getStoreBuilder().module('orders', thisState);\r\n\r\nconst thisModule = {\r\n getters: {\r\n ordersYear(state: OrdersState): number | undefined {\r\n return state.ordersYear;\r\n },\r\n\r\n orders(state: OrdersState): Order[] {\r\n return state.orders;\r\n },\r\n\r\n order(state: OrdersState): Order | undefined {\r\n return state.order;\r\n },\r\n\r\n totalProducts(state: OrdersState): number {\r\n return state.totalOrders;\r\n },\r\n\r\n cart(state: OrdersState): Order {\r\n return state.cart;\r\n },\r\n\r\n isCartLoaded(state: OrdersState): boolean {\r\n return state.cartLoaded;\r\n },\r\n\r\n isCartUpdated(state: OrdersState): boolean {\r\n return state.cartUpdate;\r\n },\r\n\r\n cartCount(state: OrdersState): number {\r\n // return state.cart?.lines?.length ?? 0;\r\n return state.cart && state.cart.lines ? state.cart.lines.length : 0;\r\n },\r\n },\r\n\r\n actions: {\r\n async getCartAsync(context: StoreContext, payload: {}): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `orders/cart`)\r\n .then((response) => {\r\n commitPopulateCart(response.data.payload || new Order());\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n if (reason.response.status === 404) {\r\n commitSetCartAsLoaded();\r\n }\r\n }\r\n commitPopulateCart(new Order());\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async addProductToCartAsync(context: StoreContext, payload: {\r\n product: BaseProduct,\r\n quantity: number,\r\n operation: TypeOfOperation,\r\n addToHistorical?: boolean\r\n }): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.post>(Api.BaseUrl + `orders`,\r\n {\r\n type: payload.product.type,\r\n pharmacode: payload.product.pharmacode,\r\n quantity: payload.quantity,\r\n Operation: payload.operation,\r\n addToHistorical: payload.addToHistorical,\r\n })\r\n .then((response) => {\r\n if (response.data.payload) {\r\n commitAddProductToCart(response.data.payload);\r\n }\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n if (reason.response.status === 404) {\r\n commitSetCartAsLoaded();\r\n }\r\n }\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async sendCartAsync(context: StoreContext, payload: { id: string }): Promise {\r\n\r\n if (!payload) { return false; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.post(Api.BaseUrl + `orders/send/${payload.id}`,\r\n {\r\n id: payload.id,\r\n })\r\n .then((response) => {\r\n if (response.data) {\r\n appStore.success({ message: 'Ordine inviato con successo.' });\r\n commitCartSubmitted();\r\n }\r\n return true;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false });\r\n }\r\n return false;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async syncOrderAsync(context: StoreContext, payload: { id: string }): Promise {\r\n\r\n if (!payload) { return false; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.post(Api.BaseUrl + `orders/sync/${payload.id}`,\r\n {\r\n id: payload.id,\r\n })\r\n .then((response) => {\r\n if (response.data) {\r\n appStore.success({ message: 'Ordine sincronizzato con successo.' });\r\n }\r\n return true;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false });\r\n }\r\n return false;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async printOrderAsync(context: StoreContext, payload: { id: string }): Promise {\r\n\r\n if (!payload || payload.id === Guid.Empty) {\r\n appStore.error({ message: 'Impossibile stampare. La richiesta ha un identificativo nullo.'});\r\n return;\r\n }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get(Api.BaseUrl + `orders/print/${payload.id}`, {\r\n responseType: 'blob',\r\n })\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n return undefined;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async deleteProductInCartAsync(context: StoreContext, payload: { product: BaseProduct }): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.delete(Api.BaseUrl + `orders/${payload.product.type}/${payload.product.pharmacode}`)\r\n .then((result) => {\r\n appStore.success({ message: 'Il prodotto è stato eliminato con successo.' });\r\n return commitDeleteProductInCart(payload.product);\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false });\r\n }\r\n return;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async getOrdersAsync(context: StoreContext, payload: { year: number, pageNumber: number, pageSize: number }): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `orders/${payload.year}`, {\r\n params: {\r\n page: payload.pageNumber,\r\n size: payload.pageSize,\r\n },\r\n })\r\n .then((response) => {\r\n commitPopulateOrders({ orders: response.data.payload, total: response.data.total });\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n commitPopulateOrders({ orders: [], total: 0 });\r\n })\r\n .finally(() => {\r\n commitPopulateOrdersYear({ year: payload.year });\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async getOrderAsync(context: StoreContext, payload: { id: string }): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `orders/${payload.id}`)\r\n .then((response) => {\r\n commitPopulateOrder(response.data.payload);\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false });\r\n if (reason.response.status === 404) {\r\n commitPopulateOrder(undefined);\r\n }\r\n }\r\n commitPopulateCart(new Order());\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n },\r\n\r\n mutations: {\r\n\r\n populateOrdersYear(state: OrdersState, payload: { year: number | undefined }) {\r\n state.ordersYear = payload.year;\r\n },\r\n\r\n populateOrders(state: OrdersState, payload: { orders: Order[], total: number }) {\r\n state.orders = payload.orders;\r\n state.totalOrders = payload.total;\r\n },\r\n\r\n populateCart(state: OrdersState, payload: Order) {\r\n state.cart = payload;\r\n if (payload.id !== Guid.Empty) {\r\n state.cartLoaded = true;\r\n state.cartUpdate = false;\r\n }\r\n },\r\n\r\n\r\n populateOrder(state: OrdersState, payload: Order | undefined) {\r\n state.order = payload;\r\n },\r\n\r\n setCartAsLoaded(state: OrdersState) {\r\n state.cartLoaded = true;\r\n state.cartUpdate = false;\r\n },\r\n\r\n setCartAsSubmitted(state: OrdersState) {\r\n state.cartLoaded = false;\r\n state.cart = new Order();\r\n },\r\n\r\n addProductToCart(state: OrdersState, payload: Order) {\r\n\r\n if (!state.cart) {\r\n state.cart = new Order();\r\n }\r\n\r\n state.cart.id = payload.id;\r\n state.cart.documentDate = payload.documentDate;\r\n state.cart.documentNumber = payload.documentNumber;\r\n state.cart.documentReference = payload.documentReference;\r\n state.cart.status = payload.status;\r\n state.cart.statusDescription = payload.statusDescription;\r\n state.cart.transmissionDate = payload.transmissionDate;\r\n\r\n if (!state.cart.lines) {\r\n state.cart.lines = [];\r\n }\r\n\r\n // There's always just one line updated.\r\n if (payload.lines) {\r\n const lineUpdated = payload.lines[0];\r\n const index = state.cart.lines.findIndex((x) => x.productType === lineUpdated.productType && x.pharmacode === lineUpdated.pharmacode);\r\n if (index === -1) {\r\n state.cart.lines.push(lineUpdated);\r\n } else {\r\n state.cart.lines.splice(index, 1, lineUpdated);\r\n }\r\n }\r\n\r\n state.cartUpdate = true;\r\n },\r\n\r\n removeProductInCart(state: OrdersState, payload: BaseProduct) {\r\n\r\n if (!state.cart || !state.cart.lines) return;\r\n\r\n const index = state.cart.lines.findIndex((line) => line.productType === payload.type && line.pharmacode === payload.pharmacode);\r\n if (index > -1) {\r\n state.cart.lines.splice(index, 1);\r\n }\r\n\r\n state.cartUpdate = true;\r\n },\r\n },\r\n\r\n};\r\n\r\n// private getters\r\nconst getOrdersYear = moduleBuilder.read(thisModule.getters.ordersYear, 'getOrdersYear');\r\nconst getOrders = moduleBuilder.read(thisModule.getters.orders, 'getOrders');\r\nconst getOrder = moduleBuilder.read(thisModule.getters.order, 'getOrder');\r\nconst getTotalOrders = moduleBuilder.read(thisModule.getters.totalProducts, 'getTotalOrders');\r\nconst getCart = moduleBuilder.read(thisModule.getters.cart, 'getCart');\r\nconst getIsCartLoaded = moduleBuilder.read(thisModule.getters.isCartLoaded, 'getIsCartLoaded');\r\nconst getCartCount = moduleBuilder.read(thisModule.getters.cartCount, 'getCartCount');\r\nconst getCartIsUpdate = moduleBuilder.read(thisModule.getters.isCartUpdated, 'getCartIsUpdate');\r\n\r\n// mutations\r\nconst commitPopulateOrdersYear = moduleBuilder.commit(thisModule.mutations.populateOrdersYear, 'commitPopulateOrdersYear');\r\nconst commitPopulateOrders = moduleBuilder.commit(thisModule.mutations.populateOrders, 'commitPopulateOrders');\r\nconst commitPopulateCart = moduleBuilder.commit(thisModule.mutations.populateCart, 'commitPopulateCart');\r\nconst commitAddProductToCart = moduleBuilder.commit(thisModule.mutations.addProductToCart, 'commitAddProductToCart');\r\nconst commitDeleteProductInCart = moduleBuilder.commit(thisModule.mutations.removeProductInCart, 'commitDeleteProductInCart');\r\nconst commitSetCartAsLoaded = moduleBuilder.commit(thisModule.mutations.setCartAsLoaded, 'commitSetCartAsLoaded');\r\nconst commitCartSubmitted = moduleBuilder.commit(thisModule.mutations.setCartAsSubmitted, 'commitCartSubmitted');\r\nconst commitPopulateOrder = moduleBuilder.commit(thisModule.mutations.populateOrder, 'commitPopulateOrder');\r\n\r\nconst orders = {\r\n\r\n // getters (wrapped as real getters)\r\n get ordersYear() { return getOrdersYear(); },\r\n get orders() { return getOrders(); },\r\n get order() { return getOrder(); },\r\n get totalOrders() { return getTotalOrders(); },\r\n get cart() { return getCart(); },\r\n get isCartLoaded() { return getIsCartLoaded(); },\r\n get cartCount() { return getCartCount(); },\r\n get isCartUpdate() { return getCartIsUpdate(); },\r\n\r\n // actions\r\n fetchCartAsync: moduleBuilder.dispatch(thisModule.actions.getCartAsync, 'getCartAsync'),\r\n addProductToCartAsync: moduleBuilder.dispatch(thisModule.actions.addProductToCartAsync, 'addProductToCartAsync'),\r\n deleteProductInCartAsync: moduleBuilder.dispatch(thisModule.actions.deleteProductInCartAsync, 'deleteProductInCartAsync'),\r\n sendCartAsync: moduleBuilder.dispatch(thisModule.actions.sendCartAsync, 'sendCartAsync'),\r\n fetchOrdersAsync: moduleBuilder.dispatch(thisModule.actions.getOrdersAsync, 'getOrdersAsync'),\r\n fetchOrderAsync: moduleBuilder.dispatch(thisModule.actions.getOrderAsync, 'getOrderAsync'),\r\n syncOrderAsync: moduleBuilder.dispatch(thisModule.actions.syncOrderAsync, 'syncOrderAsync'),\r\n printOrderAsync: moduleBuilder.dispatch(thisModule.actions.printOrderAsync, 'printOrderAsync'),\r\n};\r\n\r\nexport default orders;\r\n","import { BareActionContext, getStoreBuilder } from 'vuex-typex';\r\nimport { RootState } from '@/store/state';\r\nimport { AuthenticationState } from './state';\r\nimport Oidc, { UserManager, User, WebStorageStateStore } from 'oidc-client';\r\nimport appStore from '@/store/app';\r\nimport { Environment, UserProfile } from '@/types';\r\nimport { Result } from '@/models';\r\n\r\ntype StoreContext = BareActionContext;\r\n\r\nconst thisState: AuthenticationState = {\r\n contextUser: undefined,\r\n};\r\n\r\nconst userManager = new UserManager({\r\n authority: process.env.VUE_APP_IDENTITY_AUTHORITY,\r\n client_id: process.env.VUE_APP_IDENTITY_CLIENTID,\r\n redirect_uri: `${process.env.VUE_APP_URL}/auth-callback`,\r\n post_logout_redirect_uri: process.env.VUE_APP_URL,\r\n response_type: process.env.VUE_APP_IDENTITY_RESPONSETYPE,\r\n scope: process.env.VUE_APP_IDENTITY_SCOPE,\r\n silent_redirect_uri: `${process.env.VUE_APP_URL}/silent-refresh`,\r\n accessTokenExpiringNotificationTime: parseInt(process.env.VUE_APP_IDENTITY_ACCESSTOKENEXPIRINGNOTIFICATIONTIME, 0),\r\n automaticSilentRenew: false,\r\n filterProtocolClaims: true,\r\n loadUserInfo: true,\r\n userStore: new WebStorageStateStore({ prefix: process.env.VUE_APP_IDENTITY_CLIENTID, store: window.localStorage }),\r\n});\r\n\r\nif (process.env.NODE_ENV === Environment.Development) {\r\n Oidc.Log.logger = console;\r\n Oidc.Log.level = Oidc.Log.WARN;\r\n}\r\n\r\nconst moduleBuilder = getStoreBuilder().module('authentication', thisState);\r\n\r\nconst thisModule = {\r\n getters: {\r\n contextUser(state: AuthenticationState): User | undefined {\r\n return state.contextUser || undefined;\r\n },\r\n\r\n userProfile(state: AuthenticationState): UserProfile {\r\n if (state.contextUser && state.contextUser.profile) {\r\n const userProfile = {...state.contextUser.profile, ...{} as UserProfile } as UserProfile;\r\n // const userProfile = state.contextUser.profile as UserProfile;\r\n if (userProfile.role && !Array.isArray(userProfile.role)) {\r\n userProfile.role = [ userProfile.role ];\r\n }\r\n return userProfile;\r\n } else {\r\n return {} as UserProfile;\r\n }\r\n },\r\n\r\n accessToken(state: AuthenticationState): string | undefined {\r\n return state.contextUser ? state.contextUser.access_token : undefined;\r\n },\r\n\r\n isLoggedIn(state: AuthenticationState): boolean {\r\n return !!state.contextUser && !state.contextUser.expired && !!state.contextUser.access_token;\r\n },\r\n },\r\n\r\n actions: {\r\n\r\n async checkSignInAsync(context: StoreContext): Promise {\r\n const user = await authentication.getUserAsync();\r\n if (!user || user.expired) {\r\n return authentication.startSignInAsync();\r\n }\r\n return;\r\n },\r\n\r\n async startSignInAsync(context: StoreContext): Promise {\r\n\r\n appStore.loading({ isLoading: true });\r\n commitSignOutUser();\r\n\r\n return await userManager.signinRedirect()\r\n .catch((reason) => {\r\n if (reason) {\r\n appStore.error({ message: reason.message || 'Errors' });\r\n }\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async completeSignInAsync(context: StoreContext): Promise {\r\n\r\n appStore.loading({ isLoading: false });\r\n\r\n return await userManager.signinRedirectCallback()\r\n .then((user) => {\r\n commitAddAuthenticatedUser(user);\r\n return new Result(true);\r\n })\r\n .catch((reason) => {\r\n commitSignOutUser();\r\n appStore.error({ message: reason.message });\r\n return new Result(false, { error: reason.error, message: reason.message });\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async signOutAsync(context: StoreContext): Promise {\r\n return await userManager.signoutRedirect()\r\n .catch((reason) => {\r\n appStore.error({ message: reason.message });\r\n })\r\n .finally(() => {\r\n commitSignOutUser();\r\n });\r\n },\r\n\r\n async signinSilentAsync(context: StoreContext): Promise {\r\n return await userManager.signinSilent()\r\n .then((user) => {\r\n commitAddAuthenticatedUser(user);\r\n })\r\n .catch((reason) => {\r\n appStore.error({ message: reason.message, timeout: 3000 });\r\n });\r\n },\r\n\r\n async signinSilentCallbackAsync(context: StoreContext): Promise {\r\n return await userManager.signinSilentCallback()\r\n // .then((result) => { })\r\n .catch((reason) => {\r\n appStore.error({ message: reason.message });\r\n });\r\n },\r\n\r\n async getUserAsync(context: StoreContext): Promise {\r\n const user = await userManager.getUser();\r\n if (user && !user.expired) {\r\n commitAddAuthenticatedUser(user);\r\n return user;\r\n } else {\r\n commitSignOutUser();\r\n return undefined;\r\n }\r\n },\r\n },\r\n\r\n mutations: {\r\n addAuthenticatedUser(state: AuthenticationState, payload: User) {\r\n state.contextUser = payload;\r\n },\r\n\r\n signOut(state: AuthenticationState) {\r\n state.contextUser = undefined;\r\n },\r\n },\r\n};\r\n\r\n// private getters\r\nconst getLoggedInUser = moduleBuilder.read(thisModule.getters.contextUser, 'contextUser');\r\nconst getUserProfile = moduleBuilder.read(thisModule.getters.userProfile, 'userProfile');\r\nconst getIsLoggedIn = moduleBuilder.read(thisModule.getters.isLoggedIn, 'isLoggedIn');\r\nconst getAccessToken = moduleBuilder.read(thisModule.getters.accessToken, 'accessToken');\r\n\r\n// private mutations\r\nconst commitAddAuthenticatedUser = moduleBuilder.commit(thisModule.mutations.addAuthenticatedUser, 'addAuthenticatedUser');\r\nconst commitSignOutUser = moduleBuilder.commit(thisModule.mutations.signOut, 'signOut');\r\n\r\nconst authentication = {\r\n\r\n // getters (wrapped as real getters)\r\n get contextUser() { return getLoggedInUser(); },\r\n get userProfile() { return getUserProfile(); },\r\n get accessToken() { return getAccessToken(); },\r\n get isLoggedIn() { return getIsLoggedIn(); },\r\n\r\n // actions\r\n checkSignInAsync: moduleBuilder.dispatch(thisModule.actions.checkSignInAsync, 'checkSignInAsync'),\r\n startSignInAsync: moduleBuilder.dispatch(thisModule.actions.startSignInAsync, 'startSignInAsync'),\r\n completeSignInAsync: moduleBuilder.dispatch(thisModule.actions.completeSignInAsync, 'completeSignInAsync'),\r\n signOutAsync: moduleBuilder.dispatch(thisModule.actions.signOutAsync, 'signOutAsync'),\r\n getUserAsync: moduleBuilder.dispatch(thisModule.actions.getUserAsync, 'getUserAsync'),\r\n signinSilentAsync: moduleBuilder.dispatch(thisModule.actions.signinSilentAsync, 'signinSilentAsync'),\r\n signinSilentCallbackAsync: moduleBuilder.dispatch(thisModule.actions.signinSilentCallbackAsync, 'signinSilentCallbackAsync'),\r\n};\r\n\r\nuserManager.events.addUserLoaded((user) => {\r\n if (user) {\r\n appStore.info({ message: `Utente ${user.profile.given_name} ${user.profile.family_name} autenticato.`, timeout: 1000 });\r\n }\r\n});\r\n\r\nuserManager.events.addAccessTokenExpiring(async () => {\r\n appStore.info({ message: 'Token di accesso in scadenza.', timeout: 2000 });\r\n await authentication.signinSilentAsync();\r\n});\r\n\r\nuserManager.events.addAccessTokenExpired(() => {\r\n appStore.info({ message: 'Token di accesso scaduto.', timeout: 2000 });\r\n commitSignOutUser();\r\n});\r\n\r\nuserManager.events.addSilentRenewError((reason) => {\r\n appStore.error({ message: reason.message, timeout: 6000 });\r\n});\r\n\r\nexport default authentication;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"navbar-item has-dropdown has-dropdown-with-icons\",class:{ 'is-hoverable':_vm.isHoverable, 'is-active':_vm.isDropdownActive },on:{\"click\":_vm.toggle}},[_c('a',{staticClass:\"navbar-link is-arrowless\"},[_vm._t(\"default\"),(_vm.hasDropDownIcon)?_c('b-icon',{attrs:{\"icon\":_vm.toggleDropdownIcon}}):_vm._e()],2),_vm._t(\"dropdown\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Prop, Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class NavBarMenu extends Vue {\r\n\r\n @Prop({ default: false, required: false }) private readonly isHoverable!: boolean;\r\n @Prop({ default: true, required: false }) private readonly hasDropDownIcon!: boolean;\r\n\r\n private isDropdownActive = false;\r\n\r\n get toggleDropdownIcon(): string {\r\n return this.isDropdownActive ? 'chevron-up' : 'chevron-down';\r\n }\r\n\r\n private created(): void {\r\n window.addEventListener('click', this.forceClose);\r\n }\r\n\r\n private beforeDestroy(): void {\r\n window.removeEventListener('click', this.forceClose);\r\n }\r\n\r\n private forceClose(e: any): void {\r\n if (!this.$el.contains(e.target)) {\r\n this.isDropdownActive = false;\r\n }\r\n }\r\n\r\n private toggle(): void {\r\n if (!this.isHoverable) {\r\n this.isDropdownActive = !this.isDropdownActive;\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/ts-loader/index.js??ref--13-3!./NavBarMenu.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./NavBarMenu.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NavBarMenu.vue?vue&type=template&id=01ca335d&\"\nimport script from \"./NavBarMenu.ts?vue&type=script&lang=ts&\"\nexport * from \"./NavBarMenu.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"is-user-avatar\"},[_c('img',{attrs:{\"src\":_vm.avatarUrl,\"alt\":_vm.user.given_name + ' ' + _vm.user.family_name}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Prop, Component, Vue } from 'vue-property-decorator';\r\nimport authenticator from '@/store/authentication';\r\nimport { UserProfile } from '@/types';\r\n\r\n@Component\r\nexport default class UserAvatar extends Vue {\r\n\r\n @Prop({ default: '' }) private readonly avatar!: string;\r\n\r\n private get user(): UserProfile {\r\n if (authenticator.isLoggedIn) {\r\n return authenticator.userProfile;\r\n } else {\r\n return {\r\n name: 'Utente',\r\n given_name : 'Utente',\r\n family_name: '',\r\n } as UserProfile;\r\n }\r\n }\r\n\r\n private get avatarUrl(): string {\r\n if (authenticator.isLoggedIn) {\r\n const initials = `${this.user.given_name.charAt(0)}${this.user.family_name.charAt(0)}`;\r\n return `https://avatars.dicebear.com/v2/initials/${initials}.svg`;\r\n } else {\r\n return 'https://avatars.dicebear.com/v2/bottts/5.svg';\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/ts-loader/index.js??ref--13-3!./UserAvatar.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./UserAvatar.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserAvatar.vue?vue&type=template&id=8bb3ab24&\"\nimport script from \"./UserAvatar.ts?vue&type=script&lang=ts&\"\nexport * from \"./UserAvatar.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-banners-bar is-fixed-top\"},[_c('nav',{staticClass:\"level\"},[_c('div',{staticClass:\"level-item has-text-centered\"},[_c('div',{staticClass:\"ufd-banner\"},[(_vm.bannerLeft.hyperLink)?_c('a',{attrs:{\"href\":_vm.bannerLeft.hyperLink,\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":_vm.getImageUrl(_vm.bannerLeft)}})]):_c('img',{attrs:{\"src\":_vm.getImageUrl(_vm.bannerLeft)}})])]),_c('div',{staticClass:\"level-item has-text-centered\"},[_c('div',{staticClass:\"ufd-banner\"},[(_vm.bannerCenter.hyperLink)?_c('a',{attrs:{\"href\":_vm.bannerCenter.hyperLink,\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":_vm.getImageUrl(_vm.bannerCenter)}})]):_c('img',{attrs:{\"src\":_vm.getImageUrl(_vm.bannerCenter)}})])]),_c('div',{staticClass:\"level-item has-text-centered\"},[_c('div',{staticClass:\"ufd-banner\"},[(_vm.bannerRight.hyperLink)?_c('a',{attrs:{\"href\":_vm.bannerRight.hyperLink,\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":_vm.getImageUrl(_vm.bannerRight)}})]):_c('img',{attrs:{\"src\":_vm.getImageUrl(_vm.bannerRight)}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BareActionContext, getStoreBuilder } from 'vuex-typex';\r\nimport axios from 'axios';\r\nimport { RootState } from '@/store/state';\r\nimport { BannersState } from './state';\r\nimport appStore from '@/store/app';\r\nimport { Api, ApiResult, BannerPosition, BannerImage, SingleResultOf, ResultOf, Guid, SelectItem } from '@/types';\r\nimport { Banner } from '@/models';\r\nimport { formatDate } from '@/filters/index';\r\nimport { addDays } from '@/filters';\r\n\r\ntype StoreContext = BareActionContext;\r\n\r\nconst createEmptyBanner: () => Banner = () => {\r\n return {\r\n id: Guid.Empty,\r\n name: '',\r\n publishingDate: new Date(),\r\n expiryDate: addDays(new Date(), 30),\r\n fileName: '',\r\n originalFileName: '',\r\n position: BannerPosition.Left,\r\n hyperLink: '',\r\n } as Banner;\r\n};\r\n\r\nconst thisState: BannersState = {\r\n total: 0,\r\n banners: [],\r\n banner: undefined,\r\n currentBanners: [],\r\n currentBannersLoaded: false,\r\n positions: [\r\n { value: BannerPosition.Left.toString(), description: 'Sinistra' } as SelectItem,\r\n { value: BannerPosition.Center.toString(), description: 'Centro' } as SelectItem,\r\n { value: BannerPosition.Right.toString(), description: 'Destra' } as SelectItem,\r\n ],\r\n};\r\n\r\nconst moduleBuilder = getStoreBuilder().module('banners', thisState);\r\n\r\nconst thisModule = {\r\n getters: {\r\n banners(state: BannersState): Banner[] {\r\n return state.banners;\r\n },\r\n\r\n total(state: BannersState): number {\r\n return state.total;\r\n },\r\n\r\n banner(state: BannersState): Banner {\r\n return state.banner || createEmptyBanner();\r\n },\r\n\r\n positions(state: BannersState): SelectItem[] {\r\n return state.positions;\r\n },\r\n\r\n currentBannersLoaded(state: BannersState): boolean {\r\n return state.currentBannersLoaded;\r\n },\r\n\r\n emptyBanner(state: BannersState): Banner {\r\n return createEmptyBanner();\r\n },\r\n\r\n bannerLeft(state: BannersState): Banner | undefined {\r\n if (!state.currentBanners) return undefined;\r\n const displayBanner = state.currentBanners.filter((banner) => banner.position === BannerPosition.Left);\r\n if (!displayBanner || displayBanner.length === 0) {\r\n return undefined;\r\n }\r\n return displayBanner[0];\r\n },\r\n\r\n bannerCenter(state: BannersState): Banner | undefined {\r\n if (!state.currentBanners) return undefined;\r\n const displayBanner = state.currentBanners.filter((banner) => banner.position === BannerPosition.Center);\r\n if (!displayBanner || displayBanner.length === 0) {\r\n return undefined;\r\n }\r\n return displayBanner[0];\r\n },\r\n\r\n bannerRight(state: BannersState): Banner | undefined {\r\n if (!state.currentBanners) return undefined;\r\n const displayBanner = state.currentBanners.filter((banner) => banner.position === BannerPosition.Right);\r\n if (!displayBanner || displayBanner.length === 0) {\r\n return undefined;\r\n }\r\n return displayBanner[0];\r\n },\r\n },\r\n\r\n actions: {\r\n\r\n async fetchBannersAsync(context: StoreContext, payload: { fromDate: Date, toDate: Date, pageNumber: number, pageSize: number }): Promise {\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n const fromDate = formatDate(payload.fromDate, 'yyyy-MM-dd');\r\n const toDate = formatDate(payload.toDate, 'yyyy-MM-dd');\r\n\r\n return await axios.get>(Api.BaseUrl + `banners/search/${fromDate}/${toDate}`, {\r\n params: {\r\n page: payload.pageNumber,\r\n size: payload.pageSize,\r\n },\r\n })\r\n .then((result) => {\r\n commitPopulateBanners({ total: result.data.total, banners: result.data.payload });\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n commitPopulateBanners({ total: 0, banners: [] });\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async fetchCurrentBannersAsync(context: StoreContext): Promise {\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `banners/current`)\r\n .then((result) => {\r\n commitPopulateCurrentBanners({ banners: result.data.payload });\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n commitPopulateCurrentBanners({ banners: [] });\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async fetchBannerAsync(context: StoreContext, payload: { id: string }): Promise {\r\n\r\n if (!payload || payload.id === Guid.Empty) {\r\n commitPopulateBanner(createEmptyBanner());\r\n return;\r\n }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `banners/${payload.id}`)\r\n .then((result) => {\r\n commitPopulateBanner(result.data.payload || createEmptyBanner());\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false });\r\n }\r\n commitPopulateBanner(createEmptyBanner());\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async upsertBannerAsync(context: StoreContext, payload: {\r\n id: string, name: string, publishingDate: Date, expiryDate: Date, position: BannerPosition,\r\n fileName: string, originalFileName: string, hyperLink?: string\r\n }): Promise {\r\n\r\n if (!payload) { return false; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n const isNew = payload.id === Guid.Empty;\r\n\r\n return await axios.post>(Api.BaseUrl + `banners`, payload)\r\n .then((response) => {\r\n if (isNew) {\r\n payload.id = response.data.payload || Guid.Empty;\r\n commitInsertBanner(payload);\r\n } else {\r\n commitUpdateBanner(payload);\r\n }\r\n return true;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false });\r\n }\r\n return false;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async deleteBannerAsync(context: StoreContext, payload: { id: string }): Promise {\r\n\r\n if (!payload) { return false; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.delete(Api.BaseUrl + `banners/${payload.id}`)\r\n .then((result) => {\r\n commitDeleteBanner(payload);\r\n appStore.success({ message: 'Il banner è stato eliminato con successo.' });\r\n return true;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false });\r\n }\r\n return false;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async uploadBannerAsync(context: StoreContext, payload: { file: File }): Promise {\r\n\r\n if (!payload) { return undefined; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n const formData = new FormData();\r\n\r\n formData.append('request', payload.file);\r\n\r\n return await axios.post>(Api.BaseUrl + `resources`, formData, {\r\n // headers: {\r\n // 'Content-Type': 'multipart/form-data',\r\n // },\r\n })\r\n .then((response) => {\r\n return response.data.payload;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false });\r\n }\r\n return undefined;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n },\r\n\r\n mutations: {\r\n\r\n populateBanners(state: BannersState, payload: { banners: Banner[], total: number }) {\r\n state.banners = payload.banners;\r\n state.total = payload.total;\r\n },\r\n\r\n populateCurrentBanners(state: BannersState, payload: { banners: Banner[] }) {\r\n state.currentBannersLoaded = true;\r\n state.currentBanners = payload.banners;\r\n },\r\n\r\n populateBanner(state: BannersState, payload: Banner) {\r\n state.banner = payload;\r\n },\r\n\r\n deleteBanner(state: BannersState, payload: { id: string }) {\r\n if (state.banners) {\r\n const index = state.banners.findIndex((banner) => banner.id === payload.id);\r\n if (index > -1) {\r\n state.banners.splice(index, 1);\r\n }\r\n }\r\n if (state.total > 0) {\r\n state.total--;\r\n }\r\n },\r\n\r\n insertBanner(state: BannersState, payload: {\r\n id: string, name: string, publishingDate: Date, expiryDate: Date,\r\n position: BannerPosition, fileName: string, originalFileName: string, hyperLink?: string\r\n }) {\r\n\r\n const positionDescription = state.positions.filter((p) => p.value === payload.position.toString())[0].description;\r\n\r\n const banner: Banner = {\r\n id: payload.id,\r\n name: payload.name,\r\n publishingDate: payload.publishingDate,\r\n expiryDate: payload.expiryDate,\r\n position: payload.position,\r\n positionDescription,\r\n fileName: payload.fileName,\r\n originalFileName: payload.originalFileName,\r\n hyperLink: payload.hyperLink,\r\n };\r\n state.banners.unshift(banner);\r\n state.total++;\r\n\r\n state.currentBannersLoaded = false;\r\n },\r\n\r\n updateBanner(state: BannersState, payload: {\r\n id: string, name: string, publishingDate: Date, expiryDate: Date,\r\n position: BannerPosition, fileName: string, originalFileName: string, hyperLink?: string\r\n }) {\r\n\r\n const index = state.banners.findIndex((x) => x.id === payload.id);\r\n\r\n if (index > -1) {\r\n\r\n const positionDescription = state.positions.filter((p) => p.value === payload.position.toString())[0].description;\r\n\r\n const updated = state.banners[index];\r\n updated.name = payload.name;\r\n updated.publishingDate = payload.publishingDate;\r\n updated.expiryDate = payload.expiryDate;\r\n updated.position = payload.position;\r\n updated.positionDescription = positionDescription;\r\n updated.fileName = payload.fileName;\r\n updated.originalFileName = payload.originalFileName;\r\n updated.hyperLink = payload.hyperLink;\r\n state.banners.splice(index, 1, updated);\r\n }\r\n\r\n if (state.currentBanners && state.currentBanners.length > 0) {\r\n const indexFound = state.currentBanners.findIndex((x) => x.id === payload.id);\r\n if (indexFound > -1) {\r\n const currentUpdated = state.currentBanners[indexFound];\r\n currentUpdated.fileName = payload.fileName;\r\n currentUpdated.originalFileName = payload.originalFileName;\r\n currentUpdated.hyperLink = payload.hyperLink;\r\n currentUpdated.url = `/content/banners/${payload.fileName}`;\r\n state.currentBanners.splice(indexFound, 1, currentUpdated);\r\n }\r\n }\r\n state.currentBannersLoaded = false;\r\n },\r\n },\r\n};\r\n\r\n// private getters\r\nconst getBanners = moduleBuilder.read(thisModule.getters.banners, 'getBanners');\r\nconst getTotalBanners = moduleBuilder.read(thisModule.getters.total, 'getTotalBanners');\r\nconst getBanner = moduleBuilder.read(thisModule.getters.banner, 'getBanner');\r\nconst getPositions = moduleBuilder.read(thisModule.getters.positions, 'getPositions');\r\nconst getBannerLeft = moduleBuilder.read(thisModule.getters.bannerLeft, 'getBannerLeft');\r\nconst getBannerCenter = moduleBuilder.read(thisModule.getters.bannerCenter, 'getBannerCenter');\r\nconst getBannerRight = moduleBuilder.read(thisModule.getters.bannerRight, 'getBannerRight');\r\nconst getCurrentBannersLoaded = moduleBuilder.read(thisModule.getters.currentBannersLoaded, 'getCurrentBannersLoaded');\r\nconst getEmptyBanner = moduleBuilder.read(thisModule.getters.emptyBanner, 'getEmptyBanner');\r\n\r\n// mutations\r\nconst commitPopulateBanners = moduleBuilder.commit(thisModule.mutations.populateBanners, 'commitPopulateBanners');\r\nconst commitPopulateCurrentBanners = moduleBuilder.commit(thisModule.mutations.populateCurrentBanners, 'commitPopulateCurrentBanners');\r\nconst commitPopulateBanner = moduleBuilder.commit(thisModule.mutations.populateBanner, 'commitPopulateBanner');\r\nconst commitDeleteBanner = moduleBuilder.commit(thisModule.mutations.deleteBanner, 'commitDeleteBanner');\r\nconst commitUpdateBanner = moduleBuilder.commit(thisModule.mutations.updateBanner, 'commitUpdateBanner');\r\nconst commitInsertBanner = moduleBuilder.commit(thisModule.mutations.insertBanner, 'commitInsertBanner');\r\n\r\nconst banners = {\r\n\r\n // getters (wrapped as real getters)\r\n get banners() { return getBanners(); },\r\n get total() { return getTotalBanners(); },\r\n get banner() { return getBanner(); },\r\n get positions() { return getPositions(); },\r\n get bannerLeft() { return getBannerLeft(); },\r\n get bannerCenter() { return getBannerCenter(); },\r\n get bannerRight() { return getBannerRight(); },\r\n get currentBannersLoaded() { return getCurrentBannersLoaded(); },\r\n get emptyBanner() { return getEmptyBanner(); },\r\n\r\n // actions\r\n fetchBannersAsync: moduleBuilder.dispatch(thisModule.actions.fetchBannersAsync, 'fetchBannersAsync'),\r\n fetchCurrentBannersAsync: moduleBuilder.dispatch(thisModule.actions.fetchCurrentBannersAsync, 'fetchCurrentBannersAsync'),\r\n fetchBannerAsync: moduleBuilder.dispatch(thisModule.actions.fetchBannerAsync, 'fetchBannerAsync'),\r\n upsertBannerAsync: moduleBuilder.dispatch(thisModule.actions.upsertBannerAsync, 'upsertBannerAsync'),\r\n deleteBannerAsync: moduleBuilder.dispatch(thisModule.actions.deleteBannerAsync, 'deleteBannerAsync'),\r\n uploadBannerAsync: moduleBuilder.dispatch(thisModule.actions.uploadBannerAsync, 'uploadBannerAsync'),\r\n};\r\n\r\nexport default banners;\r\n","import { Component, Vue } from 'vue-property-decorator';\r\nimport bannersStore from '@/store/banners';\r\nimport { Banner } from '@/models';\r\n\r\n@Component\r\nexport default class BannersBar extends Vue {\r\n\r\n private async created() {\r\n if (!bannersStore.currentBannersLoaded) {\r\n await this.fetchBannersAsync();\r\n }\r\n }\r\n\r\n private get bannerLeft(): Banner {\r\n return bannersStore.bannerLeft || bannersStore.emptyBanner;\r\n }\r\n\r\n private get bannerCenter(): Banner {\r\n return bannersStore.bannerCenter || bannersStore.emptyBanner;\r\n }\r\n\r\n private get bannerRight(): Banner {\r\n return bannersStore.bannerRight || bannersStore.emptyBanner;\r\n }\r\n\r\n private async fetchBannersAsync() {\r\n await bannersStore.fetchCurrentBannersAsync();\r\n }\r\n\r\n private getImageUrl(banner: Banner) {\r\n if (banner.url) {\r\n return `${banner.url}?height=100&mode=crop`;\r\n }\r\n return '/content/banners/empty-banner.jpg';\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/ts-loader/index.js??ref--13-3!./BannersBar.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./BannersBar.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BannersBar.vue?vue&type=template&id=614bb8f1&\"\nimport script from \"./BannersBar.ts?vue&type=script&lang=ts&\"\nexport * from \"./BannersBar.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.change($event)}}},[_c('div',{staticClass:\"modal-card\",staticStyle:{\"width\":\"400px\"}},[_vm._m(0),_c('section',{staticClass:\"modal-card-body\"},[_c('b-field',{attrs:{\"label\":\"Password Corrente\"}},[_c('b-input',{attrs:{\"type\":\"password\",\"password-reveal\":\"\",\"placeholder\":\"Password Corrente\",\"required\":\"\",\"maxlength\":\"20\"},model:{value:(_vm.currentPassword),callback:function ($$v) {_vm.currentPassword=$$v},expression:\"currentPassword\"}})],1),_c('b-field',{attrs:{\"label\":\"Nuova Password\"}},[_c('b-input',{attrs:{\"type\":\"password\",\"password-reveal\":\"\",\"placeholder\":\"Nuova Password\",\"required\":\"\",\"maxlength\":\"20\"},model:{value:(_vm.newPassword),callback:function ($$v) {_vm.newPassword=$$v},expression:\"newPassword\"}})],1)],1),_c('footer',{staticClass:\"modal-card-foot\"},[_c('b-button',{class:{'is-loading':_vm.loading},attrs:{\"native-type\":\"submit\",\"type\":\"is-primary\"}},[_vm._v(\"Salva\")]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.$parent.close()}}},[_vm._v(\"Chiudi\")])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\"Cambia Password\")])])}]\n\nexport { render, staticRenderFns }","import { BareActionContext, getStoreBuilder } from 'vuex-typex';\r\nimport axios from 'axios';\r\nimport { RootState } from '@/store/state';\r\nimport { UsersState } from './state';\r\nimport appStore from '@/store/app';\r\nimport { Api, ApiResult, ResultOf, SingleResultOf } from '@/types';\r\nimport { User as ApplicationUser } from '@/models';\r\nimport { Guid } from '@/types';\r\n\r\ntype StoreContext = BareActionContext;\r\n\r\nconst thisState: UsersState = {\r\n total: 0,\r\n users: undefined,\r\n user: undefined,\r\n};\r\n\r\n\r\nconst moduleBuilder = getStoreBuilder().module('users', thisState);\r\n\r\nconst thisModule = {\r\n getters: {\r\n users(state: UsersState): ApplicationUser[] | undefined {\r\n return state.users;\r\n },\r\n\r\n user(state: UsersState): ApplicationUser | undefined {\r\n return state.user;\r\n },\r\n\r\n total(state: UsersState): number {\r\n return state.total;\r\n },\r\n },\r\n\r\n actions: {\r\n async fetchUsersAsync(context: StoreContext, payload: { pageNumber: number, pageSize: number }): Promise {\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `users`, {\r\n params: {\r\n page: payload.pageNumber,\r\n size: payload.pageSize,\r\n },\r\n })\r\n .then((result) => {\r\n commitSetUsers({total: result.data.total, users: result.data.payload});\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false});\r\n }\r\n commitSetUsers({total: 0, users: []});\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async fetchUserAsync(context: StoreContext, payload: {id: string, asNewIfNotExists: boolean }): Promise {\r\n\r\n if (!payload || payload.id === Guid.Empty) {\r\n if (payload.asNewIfNotExists) {\r\n commitSetUser(new ApplicationUser());\r\n } else {\r\n commitSetUser(undefined);\r\n }\r\n return;\r\n }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `users/${payload.id}`)\r\n .then((result) => {\r\n commitSetUser(result.data.payload);\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false});\r\n }\r\n commitSetUser(undefined);\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async createUserAsync(context: StoreContext, payload: {username: string, email: string, firstName: string, lastName: string,\r\n password: string, roles: string[], partnerId: string}): Promise {\r\n\r\n if (!payload) { return false; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.post>(Api.BaseUrl + `users`, payload)\r\n .then((response) => {\r\n appStore.success({message: 'Dato aggiornato'});\r\n return true;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false});\r\n }\r\n return false;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async updateUserAsync(context: StoreContext, payload: {id: string, username: string, email: string, firstName: string, lastName: string,\r\n roles: string[], partnerId: string}): Promise {\r\n\r\n if (!payload) { return false; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.put(Api.BaseUrl + `users/${payload.id}`, payload)\r\n .then((response) => {\r\n appStore.success({message: 'Dato aggiornato'});\r\n return true;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false});\r\n }\r\n return false;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async deleteUserAsync(context: StoreContext, payload: { id: string }): Promise {\r\n\r\n if (!payload) { return false; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.delete(Api.BaseUrl + `users/${payload.id}`)\r\n .then((result) => {\r\n commitDeleteUser(payload);\r\n appStore.success({message: 'L\\'utente è stato eliminato con successo.'});\r\n return true;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false});\r\n }\r\n return false;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async changePasswordAsync(context: StoreContext, payload: {id: string, currentPassword: string, newPassword: string}): Promise {\r\n\r\n if (!payload) { return false; }\r\n\r\n if (payload.currentPassword === payload.newPassword) {\r\n return false;\r\n }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.post(Api.BaseUrl + `identity/${payload.id}/changePassword`, payload)\r\n .then((result) => {\r\n appStore.success({message: 'Password cambiata con successo.'});\r\n return true;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false});\r\n }\r\n return Promise.reject(false);\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async requestResetPasswordAsync(context: StoreContext, payload: { username: string }): Promise {\r\n\r\n if (!payload) { return false; }\r\n\r\n if (!payload.username) {\r\n return false;\r\n }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.post(Api.BaseUrl + `identity/requestResetPassword`, payload)\r\n .then((result) => {\r\n appStore.success({message: 'Richiesta di reset della password inviata. Controlla casella di posta.'});\r\n return true;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true});\r\n }\r\n return Promise.reject(false);\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async resetPasswordAsync(context: StoreContext, payload: { id: string, token: string, password: string, confirmPassword: string }): Promise {\r\n\r\n if (!payload) { return false; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.post(Api.BaseUrl + `identity/resetPassword`, payload)\r\n .then((result) => {\r\n appStore.success({message: 'La password è stata resettata con successo.'});\r\n return true;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false});\r\n }\r\n return Promise.reject(false);\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n },\r\n\r\n mutations: {\r\n setUsers(state: UsersState, payload: { total: number, users: ApplicationUser[] }) {\r\n state.total = payload.total;\r\n state.users = payload.users;\r\n },\r\n\r\n setUser(state: UsersState, payload: ApplicationUser | undefined) {\r\n state.user = payload;\r\n },\r\n\r\n deleteUser(state: UsersState, payload: { id: string }) {\r\n if (state.users) {\r\n const index = state.users.findIndex((user) => user.id === payload.id);\r\n if (index > -1) {\r\n state.users.splice(index, 1);\r\n }\r\n }\r\n if (state.total > 0) {\r\n state.total--;\r\n }\r\n },\r\n },\r\n};\r\n\r\n// private getters\r\nconst getUsers = moduleBuilder.read(thisModule.getters.users, 'users');\r\nconst getUser = moduleBuilder.read(thisModule.getters.user, 'user');\r\nconst getUsersTotal = moduleBuilder.read(thisModule.getters.total, 'getUsersTotal');\r\n\r\n// private mutations\r\nconst commitSetUsers = moduleBuilder.commit(thisModule.mutations.setUsers, 'setUsers');\r\nconst commitSetUser = moduleBuilder.commit(thisModule.mutations.setUser, 'setUser');\r\nconst commitDeleteUser = moduleBuilder.commit(thisModule.mutations.deleteUser, 'deleteUser');\r\n\r\nconst users = {\r\n\r\n // getters (wrapped as real getters)\r\n get users() { return getUsers(); },\r\n get user() { return getUser(); },\r\n get total() { return getUsersTotal(); },\r\n\r\n // actions\r\n fetchUsersAsync: moduleBuilder.dispatch(thisModule.actions.fetchUsersAsync, 'fetchUsersAsync'),\r\n fetchUserAsync: moduleBuilder.dispatch(thisModule.actions.fetchUserAsync, 'fetchUserAsync'),\r\n createUserAsync: moduleBuilder.dispatch(thisModule.actions.createUserAsync, 'createUserAsync'),\r\n updateUserAsync: moduleBuilder.dispatch(thisModule.actions.updateUserAsync, 'updateUserAsync'),\r\n deleteUserAsync: moduleBuilder.dispatch(thisModule.actions.deleteUserAsync, 'deleteUserAsync'),\r\n changePasswordAsync: moduleBuilder.dispatch(thisModule.actions.changePasswordAsync, 'changePasswordAsync'),\r\n requestResetPasswordAsync: moduleBuilder.dispatch(thisModule.actions.requestResetPasswordAsync, 'requestResetPasswordAsync'),\r\n resetPasswordAsync: moduleBuilder.dispatch(thisModule.actions.resetPasswordAsync, 'resetPasswordAsync'),\r\n};\r\n\r\nexport default users;\r\n","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport usersStore from '@/store/users';\r\nimport authenticator from '@/store/authentication';\r\n\r\n@Component\r\nexport default class ChangePassword extends Vue {\r\n\r\n // User Id\r\n @Prop({ default: '' }) private readonly id?: string;\r\n\r\n private currentPassword = '';\r\n private newPassword = '';\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n private async change() {\r\n\r\n if (!authenticator.isLoggedIn) {\r\n appStore.error({ message: 'L\\'utente non è autenticato. Impossibile cambiare la password.'});\r\n return;\r\n }\r\n\r\n if (this.currentPassword === this.newPassword) {\r\n appStore.error({ message: 'Non è possibile utilizzare la stessa password.'});\r\n return;\r\n }\r\n\r\n const userId = this.id ? this.id : authenticator.userProfile.sub;\r\n\r\n await this.changePasswordAsync(userId);\r\n }\r\n\r\n private async changePasswordAsync(userId: string) {\r\n\r\n await usersStore.changePasswordAsync(\r\n {\r\n id: userId,\r\n currentPassword: this.currentPassword,\r\n newPassword: this.newPassword,\r\n })\r\n .then(() => { this.$emit('close'); })\r\n .catch((reason) => {\r\n appStore.error({ message: 'Spiacenti. Password non modificata.' });\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/ts-loader/index.js??ref--13-3!./ChangePassword.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ChangePassword.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChangePassword.vue?vue&type=template&id=ed3c2a94&\"\nimport script from \"./ChangePassword.ts?vue&type=script&lang=ts&\"\nexport * from \"./ChangePassword.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.reset($event)}}},[_c('div',{staticClass:\"modal-card\",staticStyle:{\"width\":\"400px\"}},[_vm._m(0),_c('section',{staticClass:\"modal-card-body\"},[_c('b-field',{attrs:{\"label\":\"Email/Username\"}},[_c('b-input',{attrs:{\"placeholder\":\"Email/Username\",\"required\":\"\",\"maxlength\":\"150\"},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}})],1)],1),_c('footer',{staticClass:\"modal-card-foot\"},[_c('b-button',{class:{'is-loading':_vm.loading},attrs:{\"native-type\":\"submit\",\"type\":\"is-primary\"}},[_vm._v(\"Resetta\")]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.$parent.close()}}},[_vm._v(\"Chiudi\")])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\"Resetta Password\")])])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport usersStore from '@/store/users';\r\n\r\n@Component\r\nexport default class RequestResetPassword extends Vue {\r\n\r\n // User Id\r\n @Prop({ default: '' }) private readonly id?: string;\r\n\r\n private username = '';\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n private async reset() {\r\n\r\n this.$buefy.dialog.confirm({\r\n title: 'Reset di Password',\r\n message: 'Sei sicuro/a di voler chiedere reset della password ?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-warning',\r\n hasIcon: true,\r\n onConfirm: async () => {\r\n await this.resetAsync();\r\n },\r\n });\r\n }\r\n\r\n private async resetAsync() {\r\n await usersStore.requestResetPasswordAsync(\r\n {\r\n username: this.username,\r\n })\r\n .then(() => { this.$emit('close'); })\r\n .catch((reason) => {\r\n appStore.error({ message: 'Si sono verificati errori nella richiesta di reset della password.' });\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/ts-loader/index.js??ref--13-3!./RequestResetPassword.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./RequestResetPassword.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RequestResetPassword.vue?vue&type=template&id=af080d86&\"\nimport script from \"./RequestResetPassword.ts?vue&type=script&lang=ts&\"\nexport * from \"./RequestResetPassword.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator';\r\nimport { UserProfile, SystemStatusType } from '@/types';\r\nimport appStore from '@/store/app';\r\nimport ordersStore from '@/store/orders';\r\nimport authenticator from '@/store/authentication';\r\nimport NavBarMenu from '@/components/NavBarMenu';\r\nimport UserAvatar from '@/components/UserAvatar';\r\nimport BannersBar from '@/components/BannersBar';\r\nimport { ApplicationConfiguration } from '@/types';\r\nimport ChangePassword from '@/components/ChangePassword';\r\nimport RequestResetPassword from '@/components/RequestResetPassword';\r\n\r\n@Component({\r\n components: { NavBarMenu, UserAvatar, BannersBar },\r\n})\r\nexport default class NavBar extends Vue {\r\n\r\n private isMenuNavBarActive = false;\r\n\r\n private get menuNavBarToggleIcon(): string {\r\n return this.isMenuNavBarActive ? 'times' : 'ellipsis-v';\r\n }\r\n\r\n private get menuToggleMobileIcon(): string {\r\n return this.isAsideMobileExpanded ? 'chevron-left' : 'bars';\r\n }\r\n\r\n private get darkModeToggleIcon(): string {\r\n return this.isDarkMode ? 'sun' : 'moon';\r\n }\r\n\r\n private get isNavBarVisible(): boolean {\r\n return appStore.isNavBarVisible;\r\n }\r\n\r\n private get isAsideMobileExpanded(): boolean {\r\n return appStore.isAsideMobileExpanded;\r\n }\r\n\r\n private get isDarkMode(): boolean {\r\n return appStore.isDarkMode;\r\n }\r\n\r\n private get user(): UserProfile {\r\n if (authenticator.isLoggedIn) {\r\n return authenticator.userProfile;\r\n } else {\r\n return { name: 'Utente', given_name : 'Utente', family_name: '' } as UserProfile;\r\n }\r\n }\r\n\r\n private get isUserLoggedIn(): boolean {\r\n return authenticator.isLoggedIn;\r\n }\r\n\r\n private get configuration(): ApplicationConfiguration {\r\n return appStore.applicationConfiguration;\r\n }\r\n\r\n private get systemAvailabilityIcon(): string {\r\n return appStore.systemStatus.status === SystemStatusType.Available ? 'is-success' : 'is-danger';\r\n }\r\n\r\n private get cartCount(): number {\r\n return ordersStore.cartCount;\r\n }\r\n\r\n private get cartIsUpdated(): boolean {\r\n return ordersStore.isCartUpdate;\r\n }\r\n\r\n private menuToggleMobile(): void {\r\n appStore.toggleMenuMobile(undefined);\r\n }\r\n\r\n private menuNavBarToggle(): void {\r\n this.isMenuNavBarActive = (!this.isMenuNavBarActive);\r\n }\r\n\r\n private darkModeToggle(): void {\r\n appStore.setDarkMode();\r\n }\r\n\r\n private async login() {\r\n await authenticator.startSignInAsync();\r\n }\r\n\r\n private async logout() {\r\n\r\n this.$buefy.dialog.confirm({\r\n title: 'Termina sessione',\r\n message: 'Sei sicuro/a di voler chiudere la sessione corrente ?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-info',\r\n hasIcon: true,\r\n onConfirm: async () => {\r\n await this.logoutAsync();\r\n },\r\n });\r\n }\r\n\r\n private async logoutAsync() {\r\n authenticator.signOutAsync()\r\n .then((result) => {\r\n this.$buefy.snackbar.open({\r\n message: 'Sessione terminata.',\r\n queue: false,\r\n });\r\n });\r\n }\r\n\r\n private async changePassword() {\r\n\r\n if (!this.isUserLoggedIn) { return; }\r\n\r\n this.$buefy.modal.open({\r\n parent: this,\r\n component: ChangePassword,\r\n hasModalCard: true,\r\n });\r\n }\r\n\r\n private async ResetPassword() {\r\n this.$buefy.modal.open({\r\n parent: this,\r\n component: RequestResetPassword,\r\n hasModalCard: true,\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/ts-loader/index.js??ref--13-3!./NavBar.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./NavBar.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=3de07bbc&scoped=true&\"\nimport script from \"./NavBar.ts?vue&type=script&lang=ts&\"\nexport * from \"./NavBar.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&id=3de07bbc&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3de07bbc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('aside',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isAsideVisible),expression:\"isAsideVisible\"}],staticClass:\"aside is-placed-left is-expanded\"},[_c('aside-logo',[_c('router-link',{attrs:{\"slot\":\"image\",\"to\":{ name: 'home' },\"active-class\":\"\",\"exact-active-class\":\"\"},slot:\"image\"},[_c('img',{staticClass:\"image\",attrs:{\"alt\":\"Unione\",\"src\":\"https://static.e-galexis.com/img/public/ufd/logo-inverse.svg\",\"role\":\"presentation\"}})])],1),_c('div',{staticClass:\"menu is-menu-main\"},[_vm._l((_vm.authorizedMenu),function(menu){return [_c('div',{key:menu.id},[_c('p',{staticClass:\"menu-label\"},[_vm._v(_vm._s(menu.label))]),_c('aside-menu-list',{key:menu.id,attrs:{\"menu\":menu.menu},on:{\"onSelectMenu\":_vm.onSelectMenu}})],1)]}),_c('div',{staticClass:\"menu-footer\"},[_vm._v(\" \")])],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"aside-logo\"},[_vm._t(\"image\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Prop, Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class AsideLogo extends Vue {\r\n // @Prop({ default: undefined }) private readonly icon: string | undefined;\r\n // @Prop({ default: undefined }) private readonly label: string | undefined;\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/ts-loader/index.js??ref--13-3!./AsideLogo.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./AsideLogo.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AsideLogo.vue?vue&type=template&id=25601bde&\"\nimport script from \"./AsideLogo.ts?vue&type=script&lang=ts&\"\nexport * from \"./AsideLogo.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{class:{'menu-list':!_vm.isSubmenuList}},_vm._l((_vm.authorizedMenu),function(menu){return _c('aside-menu-item',{key:menu.id,attrs:{\"item\":menu},on:{\"onSelectMenu\":_vm.onSelectMenu}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{class:{'is-active':_vm.isDropdownActive}},[_c(_vm.componentAs,{tag:\"component\",class:{'has-icon':!!_vm.item.icon, 'has-dropdown-icon':_vm.hasDropdown, 'is-active': _vm.isActive},attrs:{\"to\":_vm.itemTo,\"href\":_vm.itemHref}},[(_vm.item.icon)?_c('b-icon',{class:{ 'has-update-mark' : _vm.item.updateMark },attrs:{\"icon\":_vm.item.icon}}):_vm._e(),(_vm.item.label)?_c('span',{class:{'menu-item-label':!!_vm.item.icon},on:{\"click\":_vm.onSelectMenu}},[_vm._v(_vm._s(_vm.item.label))]):_vm._e(),(_vm.hasDropdown)?_c('div',{staticClass:\"dropdown-icon\"},[_c('b-icon',{attrs:{\"icon\":_vm.dropdownIcon}})],1):_vm._e()],1),(_vm.hasDropdown)?_c('aside-menu-list',{attrs:{\"menu\":_vm.item.menu,\"isSubmenuList\":true}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport AsideMenuList from '@/components/AsideMenuList';\r\nimport { Menu } from '@/models';\r\n\r\n// https://vuejs.org/v2/guide/components-edge-cases.html#Recursive-Components\r\n@Component({\r\n components: { AsideMenuList },\r\n})\r\nexport default class AsideMenuItem extends Vue {\r\n\r\n private isDropdownActive = false;\r\n private updateMark = true;\r\n\r\n @Prop({ default: undefined }) private readonly item!: Menu;\r\n\r\n get componentAs(): string {\r\n return this.item.to !== undefined ? 'router-link' : 'a';\r\n }\r\n\r\n get hasDropdown(): boolean {\r\n return this.item.menu !== undefined;\r\n }\r\n\r\n get dropdownIcon(): string {\r\n return this.isDropdownActive ? 'minus' : 'plus';\r\n }\r\n\r\n get itemTo(): string | undefined {\r\n return this.item.to;\r\n }\r\n\r\n get itemHref(): string | undefined {\r\n return this.item.href;\r\n }\r\n\r\n get isActive(): boolean {\r\n return this.item.isActive || false;\r\n }\r\n\r\n private onSelectMenu(): void {\r\n this.$emit('onSelectMenu', this.item);\r\n if (this.hasDropdown) {\r\n this.isDropdownActive = !this.isDropdownActive;\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/ts-loader/index.js??ref--13-3!./AsideMenuItem.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./AsideMenuItem.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AsideMenuItem.vue?vue&type=template&id=173c3a8a&\"\nimport script from \"./AsideMenuItem.ts?vue&type=script&lang=ts&\"\nexport * from \"./AsideMenuItem.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport AsideMenuItem from '@/components/AsideMenuItem';\r\nimport { Menu } from '@/models';\r\nimport authenticator from '@/store/authentication';\r\nimport { authorizedMenus } from '@/filters';\r\n\r\n@Component({\r\n components: { AsideMenuItem },\r\n})\r\nexport default class AsideMenuList extends Vue {\r\n\r\n @Prop({ default: false }) private readonly isSubmenuList!: boolean;\r\n @Prop({ default: [] }) private readonly menu!: Menu[];\r\n\r\n private onSelectMenu(menu: Menu): void {\r\n this.$emit('onSelectMenu', menu);\r\n }\r\n\r\n get authorizedMenu(): Menu[] {\r\n return authorizedMenus(authenticator.userProfile, this.menu);\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/ts-loader/index.js??ref--13-3!./AsideMenuList.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./AsideMenuList.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AsideMenuList.vue?vue&type=template&id=c116db2a&\"\nimport script from \"./AsideMenuList.ts?vue&type=script&lang=ts&\"\nexport * from \"./AsideMenuList.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport AsideLogo from '@/components/AsideLogo';\r\nimport AsideMenuList from '@/components/AsideMenuList';\r\nimport { Menu } from '@/models';\r\nimport authenticator from '@/store/authentication';\r\nimport { authorizedMenus } from '@/filters';\r\n\r\n@Component({\r\n components: { AsideLogo, AsideMenuList },\r\n})\r\nexport default class AsideMenu extends Vue {\r\n\r\n @Prop({ default: [] }) private readonly menu!: Menu[];\r\n\r\n private isExpanded = false;\r\n\r\n get isAsideVisible(): boolean {\r\n return appStore.isAsideVisible;\r\n }\r\n\r\n get isAsideMobileExpanded(): boolean {\r\n return appStore.isAsideMobileExpanded;\r\n }\r\n\r\n get authorizedMenu(): Menu[] {\r\n return authorizedMenus(authenticator.userProfile, this.menu);\r\n }\r\n\r\n private async onSelectMenu(menu: Menu) {\r\n if (menu) {\r\n await appStore.activateMenu(menu);\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/ts-loader/index.js??ref--13-3!./AsideMenu.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./AsideMenu.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AsideMenu.vue?vue&type=template&id=02dd1eca&\"\nimport script from \"./AsideMenu.ts?vue&type=script&lang=ts&\"\nexport * from \"./AsideMenu.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AsideMenu.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isFooterBarVisible),expression:\"isFooterBarVisible\"}],staticClass:\"footer\"},[_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"level\"},[_c('div',{staticClass:\"level-left\"}),_c('div',{staticClass:\"level-right\"},[_c('div',{staticClass:\"level-item\"},[_c('div',{staticClass:\"logo\"},[_vm._v(\"\\n © \"+_vm._s(_vm.configuration.copyright)+\" |\\n \"),_c('a',{attrs:{\"href\":_vm.configuration.companyWebSite,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.configuration.company))]),_vm._v(\"\\n - Tutti i diritti riservati\\n \")])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\nimport { ApplicationConfiguration } from '@/types';\r\nimport appStore from '@/store/app';\r\n\r\n@Component\r\nexport default class FooterBar extends Vue {\r\n\r\n private get isFooterBarVisible(): boolean {\r\n return appStore.isFooterBarVisible;\r\n }\r\n\r\n private get configuration(): ApplicationConfiguration {\r\n return appStore.applicationConfiguration;\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/ts-loader/index.js??ref--13-3!./FooterBar.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./FooterBar.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FooterBar.vue?vue&type=template&id=2fb660d0&\"\nimport script from \"./FooterBar.ts?vue&type=script&lang=ts&\"\nexport * from \"./FooterBar.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator';\r\nimport { Menu } from '@/models';\r\nimport appStore from '@/store/app';\r\nimport NavBar from '@/components/NavBar';\r\nimport AsideMenu from '@/components/AsideMenu';\r\nimport FooterBar from '@/components/FooterBar';\r\n\r\n@Component({\r\n components: {\r\n FooterBar,\r\n AsideMenu,\r\n NavBar,\r\n },\r\n})\r\nexport default class App extends Vue {\r\n\r\n get menu(): Menu[] {\r\n return appStore.menu;\r\n }\r\n\r\n get isLoading(): boolean {\r\n return appStore.isLoading;\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/ts-loader/index.js??ref--13-3!./App.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./App.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=089ad728&\"\nimport script from \"./App.ts?vue&type=script&lang=ts&\"\nexport * from \"./App.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('div',[_c('p',[_vm._v(\"Autenticazione in corso...\")])])])}]\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\nimport authenticator from '@/store/authentication';\r\n\r\n@Component\r\nexport default class AuthorizationCallback extends Vue {\r\n\r\n private async created() {\r\n await authenticator.completeSignInAsync()\r\n .then((result) => {\r\n if (result.success) {\r\n this.$router.push({ name: 'home', params: {locale: 'en'} });\r\n } else {\r\n this.$router.push({ name: 'unauthorized' });\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/ts-loader/index.js??ref--13-3!./AuthorizationCallback.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./AuthorizationCallback.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AuthorizationCallback.vue?vue&type=template&id=0195ce41&\"\nimport script from \"./AuthorizationCallback.ts?vue&type=script&lang=ts&\"\nexport * from \"./AuthorizationCallback.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator';\r\nimport authenticator from '@/store/authentication';\r\n\r\n@Component\r\nexport default class SilentRefreshTokenCallback extends Vue {\r\n\r\n private async created() {\r\n // This page is called by userManager.signinSilent in addAccessTokenExpiring event.\r\n await authenticator.signinSilentCallbackAsync();\r\n // .catch((reason) => {\r\n // console.log('SilentRefreshTokenCallback', reason);\r\n // });\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isLoggedIn)?_c('section',{staticClass:\"hero is-medium\"},[_c('div',{staticClass:\"hero-body\"},[_c('div',{staticClass:\"container has-text-centered\"},[_vm._m(0),_c('div',{staticClass:\"column is-4 is-offset-4\"},[(!_vm.isLoggedIn)?_c('b-button',{attrs:{\"type\":\"is-link\",\"size\":\"is-medium\",\"icon-left\":\"key\"},on:{\"click\":_vm.login}},[_vm._v(\"Login\")]):_vm._e()],1)])])]):_c('section',{staticClass:\"hero is-large\"},[_vm._m(1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{staticClass:\"message\"},[_c('div',{staticClass:\"message-body\"},[_c('strong',[_vm._v(\"Nuova Iscrizione\")]),_c('br'),_c('br'),_vm._v(\"\\n Per poter comandare via Internet presso Unione Farmaceutica Distribuzione SA :\\n Stampare il formulario di richiesta e spedirlo firmato al responsabile delle vendite (indirizzo qui sotto)\\n \"),_c('br'),_c('br'),_c('a',{attrs:{\"href\":\"/documents/iscrizione.pdf\",\"target\":\"_blank\"}},[_vm._v(\"Formulario di richiesta (Clicca qui!!)\")]),_c('br'),_c('br'),_vm._v(\"\\n Unione Farmaceutica Distribuzione SA\"),_c('br'),_vm._v(\"\\n Via Figino, 6\"),_c('br'),_vm._v(\"\\n CH-6917 Barbengo-Lugano\"),_c('br'),_vm._v(\"\\n tel.: +41 091 985 61 11\"),_c('br'),_vm._v(\"\\n fax: +41 091 985 61 22\"),_c('br')])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"hero-body\"},[_c('div',{staticClass:\"container\"})])}]\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\nimport authenticator from '@/store/authentication';\r\nimport appStore from '@/store/app';\r\nimport ordersStore from '@/store/orders';\r\n\r\n@Component\r\nexport default class Home extends Vue {\r\n\r\n get isLoggedIn(): boolean {\r\n return authenticator.isLoggedIn;\r\n }\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n private async login() {\r\n await authenticator.startSignInAsync();\r\n }\r\n\r\n private async created() {\r\n if (this.isLoggedIn && !ordersStore.isCartLoaded) {\r\n await ordersStore.fetchCartAsync({});\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/ts-loader/index.js??ref--13-3!./Home.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./Home.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=68224d74&scoped=true&\"\nimport script from \"./Home.ts?vue&type=script&lang=ts&\"\nexport * from \"./Home.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=68224d74&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68224d74\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Utenti\",\"icon\":\"users\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('list-toolbar',{attrs:{\"can-add\":true,\"can-remove\":_vm.canRemove,\"can-edit\":_vm.canEdit},on:{\"add\":_vm.addUser,\"remove\":_vm.deleteUser,\"edit\":_vm.editUser,\"refresh\":_vm.refresh}})]},proxy:true}])},[_c('b-table',{attrs:{\"selected\":_vm.selected,\"paginated\":true,\"per-page\":_vm.pageSize,\"total\":_vm.total,\"backend-pagination\":\"\",\"pagination-position\":\"bottom\",\"pagination-size\":\"is-small\",\"sort-icon\":\"chevron-up\",\"sort-icon-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"data\":_vm.users},on:{\"update:selected\":function($event){_vm.selected=$event},\"select\":_vm.select,\"dblclick\":_vm.editUser,\"page-change\":_vm.onPageChange},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"Nome\",\"field\":\"firstName\"}},[_vm._v(_vm._s(props.row.firstName))]),_c('b-table-column',{attrs:{\"label\":\"Cognome\",\"field\":\"lastName\"}},[_vm._v(_vm._s(props.row.lastName))]),_c('b-table-column',{attrs:{\"label\":\"Email\",\"field\":\"email\"}},[_vm._v(_vm._s(props.row.email))]),_c('b-table-column',{attrs:{\"label\":\"Partner\",\"field\":\"partnerCode\"}},[_vm._v(_vm._s(props.row.partner.code)+\" - \"+_vm._s(props.row.partner.name))]),_c('b-table-column',{attrs:{\"label\":\"Email Confermata\",\"field\":\"emailConfirmed\"}},[(props.row.emailConfirmed)?_c('b-icon',{attrs:{\"icon\":\"check\",\"type\":\"is-success\"}}):_vm._e(),(!props.row.emailConfirmed)?_c('b-icon',{attrs:{\"icon\":\"exclamation-triangle\",\"type\":\"is-warning\"}}):_vm._e()],1),_c('b-table-column',{attrs:{\"label\":\"Accessi Falliti\",\"field\":\"accessFailedCount\",\"numeric\":\"\"}},[_vm._v(_vm._s(props.row.accessFailedCount))]),_c('b-table-column',{attrs:{\"label\":\"Data di Sblocco\",\"field\":\"lockoutEnd\",\"centered\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.row.lockoutEnd,'dd.MM.yyyy HH:mm:ss')))])]}}])},[_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card\"},[(_vm.title)?_c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"card-header-title\"},[(_vm.icon)?_c('b-icon',{attrs:{\"icon\":_vm.icon,\"custom-size\":\"lg\"}}):_vm._e(),_vm._v(\"  \"+_vm._s(_vm.title)+\"\\n \")],1),_vm._t(\"toolbar\")],2):_vm._e(),_c('div',{staticClass:\"card-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Prop, Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class CardComponent extends Vue {\r\n @Prop({ default: undefined }) private readonly title!: string;\r\n @Prop({ default: undefined }) private readonly icon!: string;\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/ts-loader/index.js??ref--13-3!./CardComponent.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./CardComponent.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CardComponent.vue?vue&type=template&id=2f8e0aeb&\"\nimport script from \"./CardComponent.ts?vue&type=script&lang=ts&\"\nexport * from \"./CardComponent.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card-header-icon toolbar\"},[(_vm.showAdd)?_c('b-tooltip',{attrs:{\"label\":\"Aggiungi\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":!_vm.canAdd},on:{\"click\":_vm.add}},[_c('b-icon',{attrs:{\"icon\":\"plus-circle\",\"type\":\"is-primary\"}})],1)],1):_vm._e(),(_vm.showEdit)?_c('b-tooltip',{attrs:{\"label\":\"Modifica\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":!_vm.canEdit},on:{\"click\":_vm.edit}},[_c('b-icon',{attrs:{\"icon\":\"edit\",\"type\":\"is-info\"}})],1)],1):_vm._e(),(_vm.showRemove)?_c('b-tooltip',{attrs:{\"label\":\"Rimuovi\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":!_vm.canRemove},on:{\"click\":_vm.remove}},[_c('b-icon',{attrs:{\"icon\":\"minus-circle\",\"type\":\"is-danger\"}})],1)],1):_vm._e(),_c('b-tooltip',{attrs:{\"label\":\"Refresh\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.refresh}},[_c('b-icon',{attrs:{\"icon\":\"sync\",\"type\":\"is-success\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Prop, Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class ListToolbar extends Vue {\r\n\r\n @Prop({ type: Boolean, required : false, default: true }) private readonly showAdd!: boolean;\r\n @Prop({ type: Boolean, required : false, default: true }) private readonly showEdit!: boolean;\r\n @Prop({ type: Boolean, required : false, default: true }) private readonly showRemove!: boolean;\r\n\r\n @Prop({ type: Boolean, required : false, default: false }) private readonly canAdd!: boolean;\r\n @Prop({ type: Boolean, required : false, default: false }) private readonly canEdit!: boolean;\r\n @Prop({ type: Boolean, required : false, default: false }) private readonly canRemove!: boolean;\r\n\r\n private add(): void {\r\n if (!this.showAdd || !this.canAdd) { return; }\r\n this.$emit('add');\r\n }\r\n\r\n private edit(): void {\r\n if (!this.showEdit || !this.canEdit) { return; }\r\n this.$emit('edit');\r\n }\r\n\r\n private remove(): void {\r\n if (!this.showRemove || !this.canRemove) { return; }\r\n this.$emit('remove');\r\n }\r\n\r\n private refresh(): void {\r\n this.$emit('refresh');\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/ts-loader/index.js??ref--13-3!./ListToolbar.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ListToolbar.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ListToolbar.vue?vue&type=template&id=21663e05&\"\nimport script from \"./ListToolbar.ts?vue&type=script&lang=ts&\"\nexport * from \"./ListToolbar.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport usersStore from '@/store/users';\r\nimport { User as ApplicationUser } from '@/models';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport ListToolbar from '@/components/ListToolbar';\r\nimport { Guid } from '@/types';\r\n\r\n@Component({\r\n components: { CardComponent, ListToolbar },\r\n})\r\nexport default class Users extends Vue {\r\n\r\n private pageNumber = 1;\r\n private selected: ApplicationUser | null = null;\r\n\r\n get pageSize(): number {\r\n return appStore.pageSize;\r\n }\r\n\r\n get total(): number {\r\n return usersStore.total;\r\n }\r\n\r\n get users(): ApplicationUser[] | undefined {\r\n return usersStore.users;\r\n }\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get canRemove(): boolean {\r\n return !!this.selected;\r\n }\r\n\r\n get canEdit(): boolean {\r\n return !!this.selected;\r\n }\r\n\r\n private async created() {\r\n await this.refresh();\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 400, subMenuId: 401 });\r\n }\r\n\r\n private async addUser() {\r\n await this.$router.push({ name: 'user', params: { id: Guid.Empty } });\r\n }\r\n\r\n private async deleteUser() {\r\n if (!this.selected) { return; }\r\n\r\n const selectedId: string = this.selected.id;\r\n\r\n this.$buefy.dialog.confirm({\r\n title: 'Eliminazione utente',\r\n message: 'Sei sicuro/a di voler rimuovere l\\'utente selezionato?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-warning',\r\n hasIcon: true,\r\n onConfirm: async () => {\r\n await usersStore.deleteUserAsync({ id: selectedId });\r\n },\r\n });\r\n }\r\n\r\n private select(row: ApplicationUser, oldRow: ApplicationUser | null): void {\r\n this.selected = row;\r\n }\r\n\r\n private async editUser(user: ApplicationUser) {\r\n\r\n const selectedId: string = user ? user.id : (this.selected as ApplicationUser).id;\r\n\r\n await this.$router.push({ name: 'user', params: { id: selectedId } });\r\n }\r\n\r\n private async refresh() {\r\n this.pageNumber = 1;\r\n await usersStore.fetchUsersAsync({ pageNumber: this.pageNumber, pageSize: this.pageSize });\r\n }\r\n\r\n private async onPageChange(page: number) {\r\n this.pageNumber = page;\r\n await usersStore.fetchUsersAsync({ pageNumber: this.pageNumber, pageSize: this.pageSize });\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/ts-loader/index.js??ref--13-3!./Users.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./Users.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=1b5550f0&\"\nimport script from \"./Users.ts?vue&type=script&lang=ts&\"\nexport * from \"./Users.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Utente\",\"icon\":\"user\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('edit-toolbar',{on:{\"cancel\":_vm.cancel,\"save\":function($event){return _vm.$refs.submitter.click()}},scopedSlots:_vm._u([{key:\"extended-toolbar\",fn:function(){return undefined},proxy:true}])})]},proxy:true}])},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.save($event)}}},[_c('b-field',{attrs:{\"label\":\"Nome\"}},[_c('b-input',{attrs:{\"placeholder\":\"Nome\",\"required\":\"\",\"maxlength\":\"150\",\"message\":['Password is too short', 'Password must have at least 8 characters']},model:{value:(_vm.user.firstName),callback:function ($$v) {_vm.$set(_vm.user, \"firstName\", $$v)},expression:\"user.firstName\"}})],1),_c('b-field',{attrs:{\"label\":\"Cognome\"}},[_c('b-input',{attrs:{\"placeholder\":\"Cognome\",\"required\":\"\",\"maxlength\":\"150\",\"validation-message\":\"campo obbligatorio\"},model:{value:(_vm.user.lastName),callback:function ($$v) {_vm.$set(_vm.user, \"lastName\", $$v)},expression:\"user.lastName\"}})],1),_c('b-field',{attrs:{\"label\":\"Email\"}},[_c('b-input',{attrs:{\"placeholder\":\"Email\",\"icon\":\"envelope\",\"type\":\"email\",\"required\":\"\",\"maxlength\":\"150\",\"validation-message\":\"campo obbligatorio\"},model:{value:(_vm.user.email),callback:function ($$v) {_vm.$set(_vm.user, \"email\", $$v)},expression:\"user.email\"}})],1),_c('b-field',{attrs:{\"label\":\"Ruoli\"}},[_c('b-taginput',{attrs:{\"data\":_vm.roles,\"field\":\"name\",\"open-on-focus\":true,\"icon\":\"user-tag\",\"placeholder\":\"Ruolo\",\"type\":\"is-info\",\"attached\":\"\",\"autocomplete\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(_vm._s(props.option.name))]}}]),model:{value:(_vm.user.roles),callback:function ($$v) {_vm.$set(_vm.user, \"roles\", $$v)},expression:\"user.roles\"}},[_c('template',{slot:\"empty\"},[_vm._v(\"Nessun dato\")])],2)],1),_c('hr'),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Partner\"}},[_c('b-autocomplete',{attrs:{\"data\":_vm.partners,\"placeholder\":\"Partner (min. 3 caratteri)\",\"field\":\"name\",\"loading\":_vm.loading,\"maxlength\":\"150\",\"required\":\"\"},on:{\"typing\":_vm.searchingPartnerAsync,\"select\":_vm.onPartnerSelected},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',{staticClass:\"media\"},[_c('div',{staticClass:\"media-content\"},[_c('b',[_vm._v(_vm._s(props.option.code))]),_vm._v(\" - \"+_vm._s(props.option.name)+\"\\n \"),(props.option.company)?_c('div',[_c('i',[_vm._v(_vm._s(props.option.company))])]):_vm._e(),(props.option.address)?_c('small',[_c('b',[_vm._v(\"Indirizzo: \")]),_vm._v(\" \\n \"+_vm._s(props.option.address.street)+\",\\n \"+_vm._s(props.option.address.city)+\"\\n \"+_vm._s(props.option.address.zipCode)+\" - \"+_vm._s(props.option.address.country)+\" \\n \")]):_vm._e()])])]}}]),model:{value:(_vm.selectedPartner.name),callback:function ($$v) {_vm.$set(_vm.selectedPartner, \"name\", $$v)},expression:\"selectedPartner.name\"}})],1)],1),_c('div',{staticClass:\"column is-half\"},[(_vm.showPartnerBox && _vm.selectedPartner.name)?_c('div',{staticClass:\"box\"},[_c('article',{staticClass:\"media\"},[_c('div',{staticClass:\"media-content\"},[_c('div',{staticClass:\"content\"},[_c('p',[_c('strong',[_vm._v(_vm._s(_vm.selectedPartner.code))]),_vm._v(\" - \"),_c('small',[_vm._v(\"@\"+_vm._s(_vm.selectedPartner.name))]),_c('br'),(_vm.selectedPartner.address)?_c('small',[_c('b',[_vm._v(\"Indirizzo: \")]),_vm._v(\" \\n \"+_vm._s(_vm.selectedPartner.address.street)+\",\\n \"+_vm._s(_vm.selectedPartner.address.city)+\"\\n \"+_vm._s(_vm.selectedPartner.address.zipCode)+\" - \"+_vm._s(_vm.selectedPartner.address.country)+\" \\n \")]):_vm._e()])])])])]):_vm._e()])]),_c('hr'),(_vm.isNewUser)?_c('div',[_c('b-field',{attrs:{\"label\":\"Password\"}},[_c('b-input',{attrs:{\"type\":\"password\",\"required\":\"\",\"maxlength\":\"20\",\"password-reveal\":\"\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}})],1)],1):_vm._e(),_c('hr'),_c('button',{ref:\"submitter\",staticClass:\"is-hidden\",attrs:{\"type\":\"submit\"}})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card-header-icon toolbar\"},[_c('b-tooltip',{attrs:{\"label\":\"Annulla\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.cancel}},[_c('b-icon',{attrs:{\"icon\":\"undo\",\"type\":\"is-info\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Salva\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.save}},[_c('b-icon',{attrs:{\"icon\":\"save\",\"type\":\"is-success\"}})],1)],1),_vm._t(\"extended-toolbar\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Prop, Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class EditToolbar extends Vue {\r\n\r\n @Prop({ default: false }) private readonly canCancel!: boolean;\r\n @Prop({ default: false }) private readonly canSave!: boolean;\r\n\r\n private cancel(): void {\r\n this.$emit('cancel');\r\n }\r\n\r\n private save(): void {\r\n this.$emit('save');\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/ts-loader/index.js??ref--13-3!./EditToolbar.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./EditToolbar.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditToolbar.vue?vue&type=template&id=bc22e2ee&\"\nimport script from \"./EditToolbar.ts?vue&type=script&lang=ts&\"\nexport * from \"./EditToolbar.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from 'axios';\r\nimport appStore from '@/store/app';\r\nimport { Partner, Result } from '@/models';\r\nimport { Api, ApiResult, ResultOf } from '@/types';\r\n\r\nconst fetchPartnersAsync: (keyword: string) => Promise> = async (keyword) => {\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `partners/search/${keyword}`)\r\n .then((response) => {\r\n return response.data || { total: 0, payload: [], succeeded: false } as ResultOf;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n return { total: 0, payload: [], succeeded: false } as ResultOf;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n};\r\n\r\nconst syncProductsHistoryAsync: (partnerCode: number) => Promise = async (partnerCode) => {\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.post(Api.BaseUrl + `partners/syncProductsHistory/${partnerCode}`)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n appStore.success({ message: 'Storico Prodotti sincronizzato con successo.' });\r\n }\r\n return response.data;\r\n })\r\n .catch((reason) => {\r\n if (reason) {\r\n if (reason.code === 'ECONNABORTED') {\r\n appStore.errors({ status: 9999, result: { status: 9999, detail: 'La richiesta è andata in timeout. Rieseguire l\\'operazione.' } as ApiResult\r\n , ignoreNotFound: true });\r\n }\r\n else if (reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n }\r\n return { success: false } as Result;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n};\r\n\r\nconst syncOrdersHistoryAsync: (partnerCode: number) => Promise = async (partnerCode) => {\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.post(Api.BaseUrl + `partners/syncOrdersHistory/${partnerCode}`)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n appStore.success({ message: 'Storico Ordini sincronizzato con successo.' });\r\n }\r\n return response.data;\r\n })\r\n .catch((reason) => {\r\n if (reason) {\r\n if (reason.code === 'ECONNABORTED') {\r\n appStore.errors({ status: 9999, result: { status: 9999, detail: 'La richiesta è andata in timeout. Rieseguire l\\'operazione.' } as ApiResult\r\n , ignoreNotFound: true });\r\n }\r\n else if (reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n }\r\n return { success: false } as Result;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n};\r\n\r\nconst partnersService = {\r\n fetchPartnersAsync,\r\n syncProductsHistoryAsync,\r\n syncOrdersHistoryAsync,\r\n};\r\n\r\nexport default partnersService;\r\n","/**\r\n * A function that emits a side effect and does not return anything.\r\n * https://github.com/chodorowicz/ts-debounce\r\n */\r\nexport type Procedure = (...args: any[]) => void;\r\n\r\nexport interface Options {\r\n isImmediate: boolean;\r\n}\r\n\r\nexport function debounce(\r\n func: F,\r\n waitMilliseconds = 50,\r\n options: Options = { isImmediate: false, }\r\n): F {\r\n\r\n let timeoutId: ReturnType | undefined;\r\n\r\n return function(this: any, ...args: any[]) {\r\n const context = this;\r\n\r\n const runLater = () => {\r\n timeoutId = undefined;\r\n if (!options.isImmediate) {\r\n func.apply(context, args);\r\n }\r\n };\r\n\r\n const shouldCallNow = options.isImmediate && timeoutId === undefined;\r\n\r\n if (timeoutId !== undefined) {\r\n clearTimeout(timeoutId);\r\n }\r\n\r\n timeoutId = window.setTimeout(runLater, waitMilliseconds);\r\n\r\n if (shouldCallNow) {\r\n func.apply(context, args);\r\n }\r\n } as any;\r\n}\r\n","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport usersStore from '@/store/users';\r\nimport authenticator from '@/store/authentication';\r\nimport { User as ApplicationUser, Role, Partner } from '@/models';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport EditToolbar from '@/components/EditToolbar';\r\nimport ChangePassword from '@/components/ChangePassword';\r\nimport partnersService from '@/services/PartnersService';\r\nimport { Guid } from '@/types';\r\nimport { debounce } from '@/core/debounce';\r\n\r\n@Component({\r\n components: { CardComponent, EditToolbar },\r\n})\r\nexport default class User extends Vue {\r\n\r\n // Injectectd from url\r\n @Prop({ default: '' }) private readonly id!: string;\r\n\r\n private selectedPartner: Partner = new Partner();\r\n private partners: Partner[] = [];\r\n private total = 0;\r\n private password = '';\r\n private showPartnerBox = true;\r\n\r\n private debouncedFetchPartnersAsync = async (search: string): Promise => undefined;\r\n\r\n get roles(): Role[] {\r\n if (!this.user.roles) return appStore.roles;\r\n const roleIds = this.user.roles.map((r) => r.id);\r\n return appStore.roles.filter((role) => roleIds.indexOf(role.id) < 0);\r\n }\r\n\r\n get user(): ApplicationUser {\r\n const user = usersStore.user || new ApplicationUser();\r\n this.selectedPartner = user.partner || new Partner();\r\n return user;\r\n }\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get isNewUser(): boolean {\r\n return this.id === Guid.Empty;\r\n }\r\n\r\n private async created() {\r\n this.debouncedFetchPartnersAsync = debounce(this.fetchPartnersAsync, 600);\r\n await usersStore.fetchUserAsync({ id: this.id, asNewIfNotExists: true });\r\n }\r\n\r\n private async save() {\r\n if (!this.user.roles || this.user.roles.length === 0) {\r\n appStore.error({message: 'Selezionare un ruolo dalla lista'});\r\n return;\r\n }\r\n\r\n this.$buefy.dialog.confirm({\r\n title: 'Aggiornamento utente',\r\n message: 'Sei sicuro/a di voler apportare le modifiche all\\'utente selezionato ?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-info',\r\n hasIcon: true,\r\n onConfirm: async () => {\r\n await this.saveUser();\r\n },\r\n });\r\n }\r\n\r\n private async saveUser() {\r\n\r\n if (this.isNewUser) {\r\n await usersStore.createUserAsync(\r\n {\r\n username: this.user.email,\r\n email: this.user.email,\r\n firstName: this.user.firstName,\r\n lastName: this.user.lastName,\r\n password: this.password,\r\n roles: this.user.roles.map((role) => role.name),\r\n partnerId: this.selectedPartner.id,\r\n })\r\n .then((result) => {\r\n if (result) {\r\n this.$router.go(-1);\r\n }\r\n });\r\n } else {\r\n await usersStore.updateUserAsync({\r\n id: this.user.id,\r\n username: this.user.email,\r\n email: this.user.email,\r\n firstName: this.user.firstName,\r\n lastName: this.user.lastName,\r\n roles: this.user.roles.map((role) => role.name),\r\n partnerId: this.selectedPartner.id,\r\n })\r\n .then((result) => {\r\n if (result) {\r\n this.$router.go(-1);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private async searchingPartnerAsync(value: string) {\r\n this.showPartnerBox = false;\r\n this.debouncedFetchPartnersAsync(value);\r\n }\r\n\r\n private async fetchPartnersAsync(search: string) {\r\n if (search.length <= 3) {\r\n this.partners = [];\r\n return;\r\n }\r\n await partnersService.fetchPartnersAsync(search)\r\n .then((result) => {\r\n this.total = result.total || 0;\r\n this.partners = [];\r\n result.payload.forEach((partner) => this.partners.push(partner));\r\n });\r\n }\r\n\r\n private async changePassword() {\r\n\r\n if (!authenticator.isLoggedIn) return;\r\n\r\n this.$buefy.modal.open({\r\n props: { id: this.id },\r\n parent: this,\r\n component: ChangePassword,\r\n hasModalCard: true,\r\n // customClass: 'custom-class custom-class-2',\r\n });\r\n }\r\n\r\n private onPartnerSelected(partner: Partner): void {\r\n this.selectedPartner = partner;\r\n this.showPartnerBox = true;\r\n }\r\n\r\n private cancel(): void {\r\n this.$router.go(-1);\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/ts-loader/index.js??ref--13-3!./User.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./User.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./User.vue?vue&type=template&id=fec1a65e&\"\nimport script from \"./User.ts?vue&type=script&lang=ts&\"\nexport * from \"./User.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Profilo\",\"icon\":\"user\"}},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"horizontal\":\"\",\"label\":\"Nome\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.user.given_name}})],1),_c('b-field',{attrs:{\"horizontal\":\"\",\"label\":\"Cognome\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.user.family_name}})],1),_c('b-field',{attrs:{\"horizontal\":\"\",\"label\":\"Email\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.user.email}})],1),_c('b-field',{attrs:{\"horizontal\":\"\",\"label\":\"Codice\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.user.aid}})],1),_c('b-field',{attrs:{\"horizontal\":\"\",\"label\":\"Società\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.user.company}})],1),_c('b-field',{attrs:{\"horizontal\":\"\",\"label\":\"Ruoli\"}},[_c('div',{staticClass:\"control is-clearfix\"},[_c('b-taglist',_vm._l((_vm.user.role),function(role,index){return _c('b-tag',{key:index,attrs:{\"type\":\"is-info\"}},[_vm._v(_vm._s(role))])}),1)],1)])],1)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\nimport authenticator from '@/store/authentication';\r\nimport { UserProfile as Profile } from '@/types';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport appStore from '@/store/app';\r\n\r\n@Component({\r\n components: { CardComponent },\r\n })\r\nexport default class UserProfile extends Vue {\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get user(): Profile {\r\n return authenticator.userProfile;\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({rootId: 400, subMenuId: 402 });\r\n }\r\n\r\n private cancel(): void {\r\n this.$router.go(-1);\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/ts-loader/index.js??ref--13-3!./UserProfile.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./UserProfile.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserProfile.vue?vue&type=template&id=72b49181&\"\nimport script from \"./UserProfile.ts?vue&type=script&lang=ts&\"\nexport * from \"./UserProfile.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('div',[_c('p',[_vm._v(\"Non esistono permessi di accesso o autenticazione fallita.\")])])])}]\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class Unauthorized extends Vue {\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/ts-loader/index.js??ref--13-3!./Unauthorized.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./Unauthorized.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Unauthorized.vue?vue&type=template&id=b78489c4&\"\nimport script from \"./Unauthorized.ts?vue&type=script&lang=ts&\"\nexport * from \"./Unauthorized.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.reset($event)}}},[_c('div',{staticClass:\"modal-card\",staticStyle:{\"width\":\"400px\"}},[_vm._m(0),_c('section',{staticClass:\"modal-card-body\"},[_c('b-field',{attrs:{\"label\":\"Password\"}},[_c('b-input',{attrs:{\"type\":\"password\",\"password-reveal\":\"\",\"placeholder\":\"Password\",\"required\":\"\",\"maxlength\":\"20\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}})],1),_c('b-field',{attrs:{\"label\":\"Conferma Password\"}},[_c('b-input',{attrs:{\"type\":\"password\",\"password-reveal\":\"\",\"placeholder\":\"Conferma Password\",\"required\":\"\",\"maxlength\":\"20\"},model:{value:(_vm.confirmPassword),callback:function ($$v) {_vm.confirmPassword=$$v},expression:\"confirmPassword\"}})],1)],1),_c('footer',{staticClass:\"modal-card-foot\"},[_c('b-button',{class:{'is-loading':_vm.loading},attrs:{\"native-type\":\"submit\",\"type\":\"is-primary\"}},[_vm._v(\"Salva\")]),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.$parent.close()}}},[_vm._v(\"Chiudi\")])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"modal-card-head\"},[_c('p',{staticClass:\"modal-card-title\"},[_vm._v(\"Reset Password\")])])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport usersStore from '@/store/users';\r\n\r\n@Component\r\nexport default class ResetPassword extends Vue {\r\n\r\n // Injectectd from url\r\n @Prop({ default: '' }) private readonly id!: string;\r\n @Prop({ default: '' }) private readonly token!: string;\r\n\r\n private password = '';\r\n private confirmPassword = '';\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n private async reset() {\r\n\r\n if (this.password !== this.confirmPassword) {\r\n appStore.error({ message: 'La password e la password di conferma non coincidono' });\r\n return;\r\n }\r\n\r\n await usersStore.resetPasswordAsync(\r\n {\r\n id: this.id,\r\n token: this.token,\r\n password: this.password,\r\n confirmPassword: this.confirmPassword,\r\n })\r\n .then(() => { this.$emit('close'); })\r\n .catch((reason) => {\r\n appStore.error({ message: 'Password non resettata.' });\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/ts-loader/index.js??ref--13-3!./ResetPassword.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ResetPassword.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResetPassword.vue?vue&type=template&id=4abb9913&\"\nimport script from \"./ResetPassword.ts?vue&type=script&lang=ts&\"\nexport * from \"./ResetPassword.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Articoli\",\"icon\":\"pills\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('list-toolbar',{attrs:{\"show-add\":false,\"show-remove\":false,\"show-edit\":false},on:{\"refresh\":_vm.reload}})]},proxy:true}])},[_c('div',{staticClass:\"columns is-multiline\"},[_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"expanded\":\"\"}},[_c('b-input',{attrs:{\"placeholder\":\"Cerca (min 3 char o vuoto per tutti)\",\"type\":\"search\",\"icon\":\"search\",\"maxlength\":\"50\"},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=$$v},expression:\"keyword\"}})],1)],1),_c('div',{staticClass:\"column is-offset-1\"},[_c('b-field',[_c('b-switch',{attrs:{\"true-value\":1,\"false-value\":0,\"type\":\"is-info\",\"outlined\":true},model:{value:(_vm.searchType),callback:function ($$v) {_vm.searchType=$$v},expression:\"searchType\"}},[_vm._v(\"tutta descrizione\")])],1)],1),_c('div',{staticClass:\"column\"},[_c('b-field',[_c('b-switch',{attrs:{\"type\":\"is-warning\",\"outlined\":true},model:{value:(_vm.searchInHistorical),callback:function ($$v) {_vm.searchInHistorical=$$v},expression:\"searchInHistorical\"}},[_vm._v(\"Storico\")])],1)],1)]),_c('b-table',{attrs:{\"selected\":_vm.selected,\"current-page\":_vm.currentPage,\"paginated\":true,\"per-page\":_vm.search.pageSize,\"total\":_vm.total,\"backend-pagination\":\"\",\"backend-sorting\":\"\",\"pagination-position\":\"bottom\",\"pagination-size\":\"is-small\",\"sort-icon\":\"chevron-up\",\"sort-icon-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"default-sort\":_vm.search.sortField,\"default-sort-direction\":_vm.search.sortDirection,\"data\":_vm.products},on:{\"update:selected\":function($event){_vm.selected=$event},\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"select\":_vm.select,\"sort\":_vm.onSort,\"page-change\":_vm.onPageChange,\"dblclick\":_vm.goToProduct},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"Nome\",\"field\":\"name\",\"sortable\":\"\"}},[_vm._v(_vm._s(props.row.name))]),_c('b-table-column',{attrs:{\"label\":\"PhCode\",\"field\":\"pharmacode\",\"sortable\":\"\"}},[_vm._v(_vm._s(props.row.pharmacode))]),_c('b-table-column',{attrs:{\"label\":\"Disp.\",\"width\":\"80\",\"field\":\"status\"}},[_c('column-status',{attrs:{\"status\":props.row.status,\"description\":props.row.statusDescription,\"position\":\"is-bottom\"}})],1),_c('b-table-column',{attrs:{\"label\":\"Iks\",\"field\":\"iksCategory\",\"sortable\":\"\"}},[_vm._v(_vm._s(props.row.iksCategory))]),_c('b-table-column',{attrs:{\"label\":\"Frigo\",\"field\":\"isStockFridge\",\"width\":\"80\",\"centered\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatBooleanShort\")(props.row.isStockFridge)))]),_c('b-table-column',{attrs:{\"label\":\"Prz. Pub.\",\"field\":\"price\",\"numeric\":\"\",\"width\":\"140\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.price)))]),_c('b-table-column',{staticClass:\"is-actions-cell\",attrs:{\"custom-key\":\"actions\"}},[_c('div',{staticClass:\"buttons is-right\"},[_c('b-tooltip',{attrs:{\"label\":\"Aggiungi N.1 Quantità (con inserimento a storico)\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":props.row.status === _vm.ProductStatus.Discontinued},on:{\"click\":function($event){$event.preventDefault();return _vm.addToCart(props.row, true)}}},[_c('b-icon',{attrs:{\"icon\":\"cart-plus\",\"type\":\"is-success\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Aggiungi N.1 Quantità (senza inserimento a storico)\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":props.row.status === _vm.ProductStatus.Discontinued},on:{\"click\":function($event){$event.preventDefault();return _vm.addToCart(props.row, false)}}},[_c('b-icon',{attrs:{\"icon\":\"shopping-cart\",\"type\":\"is-success\"}})],1)],1),_c('b-dropdown',{attrs:{\"aria-role\":\"list\",\"position\":\"is-bottom-left\",\"disabled\":props.row.status === _vm.ProductStatus.Discontinued}},[_c('b-icon',{attrs:{\"slot\":\"trigger\",\"icon\":\"shopping-cart\",\"type\":\"is-info\",\"role\":\"button\"},slot:\"trigger\"}),_c('b-dropdown-item',{attrs:{\"aria-role\":\"listitem\"},on:{\"click\":function($event){return _vm.addToCartWithQuantity(props.row, true)}}},[_vm._v(\"Qta (Storico)\")]),_c('b-dropdown-item',{attrs:{\"aria-role\":\"listitem\"},on:{\"click\":function($event){return _vm.addToCartWithQuantity(props.row, false)}}},[_vm._v(\"Qta (no Storico)\")])],1),_c('b-tooltip',{attrs:{\"label\":\"Visualizza Prodotto\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('router-link',{staticClass:\"button is-text\",attrs:{\"to\":{ name: 'product', params: { type: props.row.type, pharmacode: props.row.pharmacode }},\"active-class\":\"\",\"exact-active-class\":\"\"}},[_c('b-icon',{attrs:{\"icon\":\"eye\",\"type\":\"is-info\"}})],1)],1)],1)])]}}])},[_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BareActionContext, getStoreBuilder } from 'vuex-typex';\r\nimport axios from 'axios';\r\nimport { RootState } from '@/store/state';\r\nimport { ProductsState } from './state';\r\nimport appStore from '@/store/app';\r\nimport { Api, ApiResult, ProductDetail, LogisticCost, WholesalerInfo, ProductAvailability, SingleResultOf, TypeOfSearch, ResultOf, Product } from '@/types';\r\nimport { ProductsSearch } from '@/models';\r\n\r\ntype StoreContext = BareActionContext;\r\n\r\nconst thisState: ProductsState = {\r\n products: [],\r\n totalProducts: 0,\r\n search: new ProductsSearch(),\r\n product: undefined,\r\n availability: undefined,\r\n};\r\n\r\nconst createEmptyProduct: () => ProductDetail = () => {\r\n return {\r\n id: 0,\r\n logisticCosts: {\r\n margin: 0,\r\n markUp: 0,\r\n supplierPrice: 0,\r\n lineTotal: 0,\r\n amount: 0,\r\n } as LogisticCost,\r\n wholesalerInfo: {\r\n fan: '',\r\n weight: 0,\r\n volume: 0,\r\n isStock: false,\r\n } as WholesalerInfo,\r\n } as ProductDetail;\r\n};\r\n\r\nconst createEmptyAvailability: () => ProductAvailability = () => {\r\n return { specialOfferCode: '', quantityAvailable: '', notes: '...' } as ProductAvailability;\r\n};\r\n\r\nconst moduleBuilder = getStoreBuilder().module('products', thisState);\r\n\r\nconst thisModule = {\r\n getters: {\r\n products(state: ProductsState): Product[] {\r\n return state.products;\r\n },\r\n\r\n totalProducts(state: ProductsState): number {\r\n return state.totalProducts;\r\n },\r\n\r\n product(state: ProductsState): ProductDetail {\r\n return state.product || createEmptyProduct();\r\n },\r\n\r\n availability(state: ProductsState): ProductAvailability {\r\n return state.availability || createEmptyAvailability();\r\n },\r\n\r\n search(state: ProductsState): ProductsSearch {\r\n return state.search;\r\n },\r\n },\r\n\r\n actions: {\r\n\r\n async fetchProductsAsync(context: StoreContext, payload: ProductsSearch): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n const keywordSearch = payload.keyword === '' ? '*' : payload.keyword;\r\n\r\n return await axios.get>(Api.BaseUrl + `products/search/${keywordSearch}/${payload.searchType}/${payload.searchInHistorical}`, {\r\n params: {\r\n page: payload.pageNumber,\r\n size: payload.pageSize,\r\n sortField: payload.sortField,\r\n sortDirection: payload.sortDirection,\r\n },\r\n })\r\n .then((response) => {\r\n commitPopulateProducts({ products: response.data.payload, total: response.data.total, search: payload });\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n commitPopulateProducts({ products: [], total: 0, search: payload });\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async fetchProductAsync(context: StoreContext, payload: { type: string, pharmacode: string, quantity: number }): Promise {\r\n\r\n if (!payload.type || !payload.pharmacode) {\r\n commitPopulateProduct(createEmptyProduct());\r\n return;\r\n }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `products/${payload.type}/${payload.pharmacode}`, {\r\n params: {\r\n quantity: payload.quantity,\r\n },\r\n })\r\n .then((response) => {\r\n const product = response.data.payload || createEmptyProduct();\r\n commitPopulateProduct(product);\r\n if (product.warnings) {\r\n appStore.warnings({ messages: product.warnings, timeout: 9000 });\r\n }\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n commitPopulateProduct(createEmptyProduct());\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async fetchProductAvailabilityAsync(context: StoreContext, payload: { type: string, pharmacode: string }): Promise {\r\n\r\n if (!payload.type || !payload.pharmacode) {\r\n return;\r\n }\r\n\r\n return await axios.get>(Api.BaseUrl + `products/availability/${payload.type}/${payload.pharmacode}`)\r\n .then((response) => {\r\n commitPopulateAvailability(response.data.payload || createEmptyAvailability());\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n if (reason.response.status === 404) {\r\n appStore.warning({ message: 'Impossibile reperire informazioni sulla disponibilità dell\\'articolo.' });\r\n } else {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n }\r\n });\r\n },\r\n },\r\n\r\n mutations: {\r\n\r\n populateProducts(state: ProductsState, payload: { products: Product[], total: number, search: ProductsSearch }) {\r\n state.products = payload.products;\r\n state.totalProducts = payload.total;\r\n state.search = payload.search;\r\n },\r\n\r\n populateProduct(state: ProductsState, payload: ProductDetail) {\r\n state.product = payload;\r\n },\r\n\r\n populateAvailability(state: ProductsState, payload: ProductAvailability) {\r\n state.availability = payload;\r\n },\r\n },\r\n};\r\n\r\n// private getters\r\nconst getProducts = moduleBuilder.read(thisModule.getters.products, 'getProducts');\r\nconst getTotalProducts = moduleBuilder.read(thisModule.getters.totalProducts, 'getTotalProducts');\r\nconst getProduct = moduleBuilder.read(thisModule.getters.product, 'getProduct');\r\nconst getAvailability = moduleBuilder.read(thisModule.getters.availability, 'getAvailability');\r\nconst getSearch = moduleBuilder.read(thisModule.getters.search, 'getSearch');\r\n\r\n// mutations\r\nconst commitPopulateProducts = moduleBuilder.commit(thisModule.mutations.populateProducts, 'commitPopulateProducts');\r\nconst commitPopulateProduct = moduleBuilder.commit(thisModule.mutations.populateProduct, 'commitPopulateProduct');\r\nconst commitPopulateAvailability = moduleBuilder.commit(thisModule.mutations.populateAvailability, 'commitPopulateAvailability');\r\n\r\nconst products = {\r\n\r\n // getters (wrapped as real getters)\r\n get products() { return getProducts(); },\r\n get totalProducts() { return getTotalProducts(); },\r\n get product() { return getProduct(); },\r\n get availability() { return getAvailability(); },\r\n get search() { return getSearch(); },\r\n\r\n // actions\r\n fetchProductsAsync: moduleBuilder.dispatch(thisModule.actions.fetchProductsAsync, 'fetchProductsAsync'),\r\n fetchProductAsync: moduleBuilder.dispatch(thisModule.actions.fetchProductAsync, 'fetchProductAsync'),\r\n fetchProductAvailabilityAsync: moduleBuilder.dispatch(thisModule.actions.fetchProductAvailabilityAsync, 'fetchProductAvailabilityAsync'),\r\n};\r\n\r\nexport default products;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-tooltip',{attrs:{\"label\":_vm.description,\"delay\":300,\"type\":\"is-dark\",\"position\":_vm.position}},[_c('b-icon',{attrs:{\"icon\":_vm.icon,\"type\":_vm.type}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Prop, Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class ColumnStatus extends Vue {\r\n\r\n @Prop({ type: Number, default: 0, required: true }) private readonly status!: number;\r\n @Prop({ type: String, default: '', required: false }) private readonly description!: string;\r\n @Prop({ type: String, default: 'is-bottom', required: true }) private readonly position!: string;\r\n\r\n private types = ['is-info', 'is-success', 'is-danger'];\r\n private icons = ['hourglass', 'check', 'exclamation-triangle'];\r\n\r\n get type(): string {\r\n return this.status ? this.types[this.status] : this.types[0];\r\n }\r\n\r\n get icon(): string {\r\n return this.status ? this.icons[this.status] : this.icons[0];\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/ts-loader/index.js??ref--13-3!./ColumnStatus.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ColumnStatus.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ColumnStatus.vue?vue&type=template&id=1689d2a5&\"\nimport script from \"./ColumnStatus.ts?vue&type=script&lang=ts&\"\nexport * from \"./ColumnStatus.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport ordersStore from '@/store/orders';\r\nimport productsStore from '@/store/products';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport ListToolbar from '@/components/ListToolbar';\r\nimport ColumnStatus from '@/components/ColumnStatus';\r\nimport { Product, ProductStatus, TypeOfSearch, BaseProduct, TypeOfOperation } from '@/types';\r\nimport { debounce } from '@/core/debounce';\r\nimport { ProductsSearch } from '@/models';\r\n// import tracer from '@/core/tracer';\r\n\r\n@Component({\r\n components: { CardComponent, ListToolbar, ColumnStatus },\r\n})\r\nexport default class Products extends Vue {\r\n\r\n private ProductStatus: typeof ProductStatus = ProductStatus;\r\n\r\n @Prop({ default: true }) private readonly checkable!: boolean;\r\n\r\n private selected: Product | null = null;\r\n\r\n private keyword = this.search.keyword;\r\n private searchType = this.search.searchType;\r\n private searchInHistorical = this.search.searchInHistorical;\r\n private currentPage = this.search.pageNumber;\r\n private pageSize = this.search.pageSize;\r\n private searching = false;\r\n\r\n private readonly minLength = 3;\r\n\r\n private debouncedFetchProductsAsync = async (): Promise => undefined;\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get products(): Product[] {\r\n return productsStore.products;\r\n }\r\n\r\n get total(): number {\r\n return productsStore.totalProducts;\r\n }\r\n\r\n get search(): ProductsSearch {\r\n return productsStore.search;\r\n }\r\n\r\n private async created() {\r\n this.debouncedFetchProductsAsync = debounce(this.fetchProductsAsync, 680);\r\n if (!this.products || this.total === 0) {\r\n await this.fetchProductsAsync();\r\n }\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 100, subMenuId: 101 });\r\n }\r\n\r\n @Watch('keyword', { immediate: false, deep: false })\r\n private async onKeywordChanged(value: string, previousValue?: string) {\r\n\r\n // tracer('onKeywordChanged', [value, previousValue]);\r\n\r\n if (previousValue === undefined) return;\r\n\r\n if (value.trim() === '' || value.trim().length >= this.minLength) {\r\n this.search.keyword = value;\r\n this.search.pageNumber = 1;\r\n await this.debouncedFetchProductsAsync();\r\n }\r\n }\r\n\r\n @Watch('searchInHistorical', { immediate: false, deep: false })\r\n private async onHistoricalChanged(value: boolean, previousValue?: boolean) {\r\n // tracer('onHistoricalChanged', [value, previousValue]);\r\n if (previousValue === undefined) return;\r\n this.search.pageNumber = 1;\r\n this.search.searchInHistorical = value;\r\n await this.debouncedFetchProductsAsync();\r\n }\r\n\r\n @Watch('searchType', { immediate: false, deep: false })\r\n private async onSearchTypeChanged(value: TypeOfSearch, previousValue?: TypeOfSearch) {\r\n // tracer('onSearchTypeChanged', [value, previousValue]);\r\n if (previousValue === undefined) return;\r\n this.search.searchType = value;\r\n this.search.pageNumber = 1;\r\n await this.debouncedFetchProductsAsync();\r\n }\r\n\r\n private async onSort(field: string, direction: string) {\r\n this.search.sortField = field;\r\n this.search.sortDirection = direction;\r\n await this.fetchProductsAsync();\r\n }\r\n\r\n private async onPageChange(page: number) {\r\n this.search.pageNumber = page;\r\n await this.fetchProductsAsync();\r\n }\r\n\r\n private select(row: Product, oldRow: Product | null): void {\r\n this.selected = row;\r\n }\r\n\r\n private async goToProduct(product: Product) {\r\n if (product) {\r\n await this.$router.push({ name: 'product', params: { type: product.type, pharmacode: product.pharmacode } });\r\n }\r\n }\r\n\r\n private async addToCartWithQuantity(product: Product, addToHistorical: boolean) {\r\n if (product && product.type && product.pharmacode) {\r\n\r\n this.$buefy.dialog.prompt({\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-info',\r\n title: `${product.pharmacode} ${product.name || ''}`,\r\n message: `Quantità ?`,\r\n inputAttrs: {\r\n type: 'number',\r\n placeholder: 'Inserisci Quantità',\r\n value: '1',\r\n maxlength: 3,\r\n min: 1,\r\n max: 999,\r\n },\r\n trapFocus: true,\r\n onConfirm: async (value: string) => await this.addToCartQuantity(product, addToHistorical, parseInt(value, 0)),\r\n });\r\n }\r\n }\r\n\r\n private async addToCart(product: Product, addToHistorical: boolean) {\r\n if (product && product.type && product.pharmacode) {\r\n await ordersStore.addProductToCartAsync({ product: product as BaseProduct, quantity: 1, operation: TypeOfOperation.AddQuantity, addToHistorical })\r\n .then(() => {\r\n appStore.info({ message: `Prodotto ${product.pharmacode} - ${product.name} aggiunto al carrello.`, timeout: 1000 });\r\n });\r\n }\r\n }\r\n\r\n private async addToCartQuantity(product: Product, addToHistorical: boolean, quantity: number) {\r\n if (product && product.type && product.pharmacode) {\r\n await ordersStore.addProductToCartAsync({ product: product as BaseProduct, quantity, operation: TypeOfOperation.AddQuantity, addToHistorical })\r\n .then(() => {\r\n appStore.info({ message: `Prodotto ${product.pharmacode} - ${product.name} aggiunto al carrello.`, timeout: 1000 });\r\n });\r\n }\r\n }\r\n\r\n private async reload() {\r\n this.search.pageNumber = 1;\r\n await this.fetchProductsAsync();\r\n }\r\n\r\n private async fetchProductsAsync() {\r\n // tracer('fetchProductsAsync', this.search);\r\n let counter = 0;\r\n while (this.searching) {\r\n counter++;\r\n await this.delay(200);\r\n if (counter > 5) {\r\n this.searching = false;\r\n }\r\n }\r\n this.searching = true;\r\n await productsStore.fetchProductsAsync(this.search)\r\n .finally(() => {\r\n this.searching = false;\r\n });\r\n }\r\n\r\n private delay(ms: number) {\r\n return new Promise((resolve) => window.setTimeout(resolve, ms));\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/ts-loader/index.js??ref--13-3!./Products.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./Products.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Products.vue?vue&type=template&id=16fe9887&\"\nimport script from \"./Products.ts?vue&type=script&lang=ts&\"\nexport * from \"./Products.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Products.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Articolo\",\"icon\":\"pills\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('custom-toolbar',{attrs:{\"can-back\":true},on:{\"back\":_vm.back},scopedSlots:_vm._u([{key:\"extended-toolbar-before\",fn:function(){return [_c('b-field',{staticClass:\"no-margin\",attrs:{\"label\":\"Quantità\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"type\":\"number\",\"min\":\"1\",\"max\":\"9999\"},model:{value:(_vm.quantityToUse),callback:function ($$v) {_vm.quantityToUse=$$v},expression:\"quantityToUse\"}})],1),_vm._v(\" \\n  \\n \"),_c('b-tooltip',{attrs:{\"label\":\"Aggiungi\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.addToCart}},[_c('b-icon',{attrs:{\"icon\":\"save\",\"size\":\"is-medium\",\"type\":{'is-success':_vm.quantityChanged}}})],1)],1)]},proxy:true}])})]},proxy:true}])},[_c('b-tabs',{attrs:{\"type\":\"is-boxed\",\"expanded\":\"\",\"animated\":false},on:{\"change\":_vm.onTabChange}},[_c('b-tab-item',{attrs:{\"label\":\"Articolo\"}},[_c('div',{staticClass:\"product-detail\"},[_c('div',{staticClass:\"columns is-multiline\"},[_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Pharmacode\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.product.pharmacode}})],1)],1),_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Nr Fan\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.product.wholesalerInfo.fan}})],1)],1),_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Descrizione\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.product.name}})],1)],1),_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Nr EAN\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.product.barcode}})],1)],1)]),_c('div',{staticClass:\"columns is-multiline\"},[_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Prezzo Farmacia\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatCurrency\")(_vm.product.pharmacyPrice)}})],1)],1),_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"I.V.A.\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatPercentage\")(_vm.product.vatRate)}})],1)],1),_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Costi Logistici\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatCurrency\")(_vm.product.logisticCosts.amount)}})],1)],1),_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Margine\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatPercentage\")(_vm.product.logisticCosts.margin)}})],1)],1),_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Totale\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatCurrency\")(_vm.product.logisticCosts.lineTotal)}})],1)],1),_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Prezzo Unitario\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatCurrency\")(_vm.product.logisticCosts.supplierPrice)}})],1)],1),_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Prezzo Pubblico\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatCurrency\")(_vm.product.price)}})],1)],1)]),_c('div',{staticClass:\"columns is-multiline\"},[(_vm.product.groupCode)?_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Gruppo Articolo\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.product.groupCode + ' - ' + _vm.product.groupDescription}})],1)],1):_vm._e(),(_vm.product.iksCategory)?_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"IKS\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.product.iksCategory + ' - ' + _vm.product.iksDescription}})],1)],1):_vm._e(),(_vm.product.replacementProduct)?_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Articolo Sostitutivo\",\"custom-class\":\"has-text-success\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.product.replacementProduct.pharmacode + ' - ' + _vm.product.replacementProduct.name}}),_c('b-button',{attrs:{\"rounded\":\"\",\"outlined\":\"\"},on:{\"click\":_vm.showReplacementProduct}},[_c('b-icon',{attrs:{\"icon\":\"pills\",\"type\":\"is-success\"}})],1)],1)],1):_vm._e()]),_c('div',{staticClass:\"columns is-multiline\"},[_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Quantità disponibile\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.availability.quantityAvailable}})],1)],1),_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Conservazione in frigo\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.stockInFridgeWithTemperature}})],1)],1)]),_c('div',{staticClass:\"columns is-multiline\"},[_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Quantità già in ordine\",\"custom-class\":\"has-text-success\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.quantityAlreadyInOrder}})],1)],1),_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Scadenza\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatDate\")(_vm.availability.expiryDate)}})],1)],1)]),_c('div',{staticClass:\"columns is-multiline\"},[_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"label\":\"Note\",\"horizontal\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.availability.notes}})],1)],1),_c('div',{staticClass:\"column is-half\"},[_c('div',{staticClass:\"field is-pulled-right\"},[_c('b-checkbox',{attrs:{\"size\":\"is-medium\",\"type\":\"is-info\"},model:{value:(_vm.addToHistorical),callback:function ($$v) {_vm.addToHistorical=$$v},expression:\"addToHistorical\"}},[_vm._v(\"Inserisci a storico\")])],1)])])])]),_c('b-tab-item',{attrs:{\"label\":\"Statistiche\",\"disabled\":!_vm.fanCode}},[_c('b-table',{attrs:{\"selected\":_vm.selectedStatistic,\"current-page\":_vm.pageNumber,\"paginated\":true,\"per-page\":_vm.pageSize,\"total\":_vm.totalStatistics,\"backend-pagination\":\"\",\"backend-sorting\":\"\",\"pagination-position\":\"bottom\",\"pagination-size\":\"is-small\",\"sort-icon\":\"chevron-up\",\"sort-icon-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"default-sort\":_vm.sortField,\"default-sort-direction\":_vm.sortDirection,\"data\":_vm.statistics},on:{\"update:selected\":function($event){_vm.selectedStatistic=$event},\"update:currentPage\":function($event){_vm.pageNumber=$event},\"update:current-page\":function($event){_vm.pageNumber=$event},\"select\":_vm.selectStatistic,\"sort\":_vm.onSort,\"page-change\":_vm.onPageChange},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"Data\",\"field\":\"date\",\"centered\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.row.date)))]),_c('b-table-column',{attrs:{\"label\":\"Doc\",\"field\":\"documentType\",\"centered\":\"\",\"sortable\":\"\"}},[_vm._v(_vm._s(props.row.documentType))]),_c('b-table-column',{attrs:{\"label\":\"Fattura\",\"field\":\"invoiceNumber\",\"numeric\":\"\",\"sortable\":\"\"}},[_vm._v(_vm._s(props.row.invoiceNumber))]),_c('b-table-column',{attrs:{\"label\":\"Qta\",\"field\":\"deliveredQuantity\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.deliveredQuantity)))]),_c('b-table-column',{attrs:{\"label\":\"T\",\"field\":\"type\",\"centered\":\"\"}},[_vm._v(_vm._s(props.row.type))]),_c('b-table-column',{attrs:{\"label\":\"Azione\",\"field\":\"offerPrice\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.offerPrice)))]),_c('b-table-column',{attrs:{\"label\":\"Q\",\"field\":\"typeManual\",\"centered\":\"\"}},[_vm._v(_vm._s(props.row.p3QtypeManualtp1))]),_c('b-table-column',{attrs:{\"label\":\"Manuale\",\"field\":\"purchasePrice\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.purchasePrice)))]),_c('b-table-column',{attrs:{\"label\":\"%Riga\",\"field\":\"lineDiscount\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.lineDiscount)))]),_c('b-table-column',{attrs:{\"label\":\"Farm.\",\"field\":\"pharmacyPrice\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.pharmacyPrice)))]),_c('b-table-column',{attrs:{\"label\":\"Pub.\",\"field\":\"publicPrice\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.publicPrice)))]),_c('b-table-column',{attrs:{\"label\":\"Prest.\",\"field\":\"servicesPrice\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.servicesPrice)))]),_c('b-table-column',{attrs:{\"label\":\"Unit.\",\"field\":\"unitPrice\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.unitPrice)))]),_c('b-table-column',{attrs:{\"label\":\"Scad.\",\"field\":\"expiryDate\",\"centered\":\"\",\"sortable\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.row.expiryDate)))])]}}])},[_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])])],1)],1),(_vm.availabilityLoading)?_c('b-progress',{attrs:{\"value\":_vm.availabilityLoadingValue,\"size\":\"is-medium\",\"type\":\"is-success\",\"show-value\":\"\"}},[_vm._v(\"\\n Caricamento Disponibilità ...\\n \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { BareActionContext, getStoreBuilder } from 'vuex-typex';\r\nimport axios from 'axios';\r\nimport { RootState } from '@/store/state';\r\nimport { ErpState } from './state';\r\nimport appStore from '@/store/app';\r\nimport authenticator from '@/store/authentication';\r\nimport { Api, ApiResult, ResultOf, Statement, Amount, ErpOrder, ErpOrderLine, MarketAd, MarketAdType, Statistic, SelectItem, ProductInOrder, TypeOfSearch, SingleResultOf } from '@/types';\r\nimport { ErpOrdersSearch, MarketAdsSearch } from '@/models';\r\n\r\ntype StoreContext = BareActionContext;\r\n\r\nconst thisState: ErpState = {\r\n statements: [],\r\n totalStatement: 0,\r\n amounts: [],\r\n totalAmounts: 0,\r\n ordersSearch: new ErpOrdersSearch(),\r\n orders: [],\r\n totalOrders: 0,\r\n orderLines: [],\r\n totalOrderLines: 0,\r\n marketAds: [],\r\n totalMarketAds: 0,\r\n marketAdsSearch: new MarketAdsSearch(),\r\n productInOrders: [],\r\n totalProductInOrders: 0,\r\n statistics: [],\r\n totalStatistics: 0,\r\n marketTypes: [\r\n { value: MarketAdType[MarketAdType.RC], description: 'Ricerche' } as SelectItem,\r\n { value: MarketAdType[MarketAdType.OF], description: 'Offerte' } as SelectItem,\r\n { value: MarketAdType[MarketAdType.PR], description: 'Lavoro' } as SelectItem,\r\n { value: MarketAdType[MarketAdType.VA], description: 'Varie' } as SelectItem,\r\n { value: MarketAdType[MarketAdType.AL], description: 'Allarmi' } as SelectItem,\r\n ],\r\n};\r\n\r\nconst moduleBuilder = getStoreBuilder().module('accounts', thisState);\r\n\r\nconst thisModule = {\r\n getters: {\r\n statements(state: ErpState): Statement[] {\r\n return state.statements;\r\n },\r\n\r\n totalStatement(state: ErpState): number {\r\n return state.totalStatement;\r\n },\r\n\r\n amounts(state: ErpState): Amount[] {\r\n return state.amounts;\r\n },\r\n\r\n totalAmounts(state: ErpState): number {\r\n return state.totalAmounts;\r\n },\r\n\r\n orders(state: ErpState): ErpOrder[] {\r\n return state.orders;\r\n },\r\n\r\n totalOrders(state: ErpState): number {\r\n return state.totalOrders;\r\n },\r\n\r\n orderLines(state: ErpState): ErpOrderLine[] {\r\n return state.orderLines;\r\n },\r\n\r\n totalOrderLines(state: ErpState): number {\r\n return state.totalOrderLines;\r\n },\r\n\r\n ordersSearch(state: ErpState): ErpOrdersSearch {\r\n return state.ordersSearch;\r\n },\r\n\r\n marketAds(state: ErpState): MarketAd[] {\r\n return state.marketAds;\r\n },\r\n\r\n totalMarketAds(state: ErpState): number {\r\n return state.totalMarketAds;\r\n },\r\n\r\n marketAdsSearch(state: ErpState): MarketAdsSearch {\r\n return state.marketAdsSearch;\r\n },\r\n\r\n marketTypes(state: ErpState): SelectItem[] {\r\n return state.marketTypes;\r\n },\r\n\r\n productInOrders(state: ErpState): ProductInOrder[] {\r\n return state.productInOrders;\r\n },\r\n\r\n totalProductInOrders(state: ErpState): number {\r\n return state.totalProductInOrders;\r\n },\r\n\r\n statistics(state: ErpState): Statistic[] {\r\n return state.statistics;\r\n },\r\n\r\n totalStatistics(state: ErpState): number {\r\n return state.totalStatistics;\r\n },\r\n },\r\n\r\n actions: {\r\n async getStatementsAsync(context: StoreContext, payload: { year: number, page: number, size: number }): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `erp/statements/${payload.year}`, {\r\n params: {\r\n page: payload.page,\r\n size: payload.size,\r\n },\r\n })\r\n .then((response) => {\r\n commitPopulateStatements({ statements: response.data.payload, total: response.data.total });\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n commitPopulateStatements({ statements: [], total: 0 });\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async printStatementsAsync(context: StoreContext, payload: { year: number }): Promise {\r\n\r\n if (!payload || payload.year === 0) {\r\n appStore.error({ message: 'Impossibile stampare. Il filtro per anno di stampa non è stato specificato.'});\r\n return;\r\n }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get(Api.BaseUrl + `erp/statements/print/${payload.year}`, {\r\n responseType: 'blob',\r\n })\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n return undefined;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async getAmountsAsync(context: StoreContext, payload: { month: number, year: number, page: number, size: number }): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `erp/amounts/${payload.month}/${payload.year}`, {\r\n params: {\r\n page: payload.page,\r\n size: payload.size,\r\n },\r\n })\r\n .then((response) => {\r\n commitPopulateAmounts({ amounts: response.data.payload, total: response.data.total });\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n commitPopulateAmounts({ amounts: [], total: 0 });\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async printAmountsAsync(context: StoreContext, payload: { month: number, year: number }): Promise {\r\n\r\n if (!payload || payload.month === 0 || payload.year === 0) {\r\n appStore.error({ message: 'Impossibile stampare. Il filtro per mese / anno di stampa non è stato specificato.'});\r\n return;\r\n }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get(Api.BaseUrl + `erp/amounts/print/${payload.month}/${payload.year}`, {\r\n responseType: 'blob',\r\n })\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n return undefined;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async exportAmountsAsync(context: StoreContext, payload: { month: number, year: number, page: number, size: number }): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get(Api.BaseUrl + `erp/amounts/export/${payload.month}/${payload.year}`, {\r\n responseType: 'blob',\r\n params: {\r\n page: payload.page,\r\n size: payload.size,\r\n },\r\n })\r\n .then((response) => {\r\n return response.data;\r\n // commitPopulateAmounts({ amounts: response.data.payload, total: response.data.total });\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n return undefined;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async getOrdersAsync(context: StoreContext, payload: ErpOrdersSearch): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `erp/orders/${payload.day}/${payload.month}/${payload.year}`, {\r\n params: {\r\n page: payload.pageNumber,\r\n size: payload.pageSize,\r\n },\r\n })\r\n .then((response) => {\r\n commitPopulateOrders({ orders: response.data.payload, total: response.data.total, search: payload });\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n commitPopulateOrders({ orders: [], total: 0, search: payload });\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async getOrderLinesAsync(context: StoreContext, payload: { day: number, month: number, year: number, documentNumber: number, orderBy: string }): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `erp/orders/${payload.documentNumber}/lines/${payload.day}/${payload.month}/${payload.year}`, {\r\n params: {\r\n sort: payload.orderBy,\r\n },\r\n })\r\n .then((response) => {\r\n commitPopulateOrderLines({ orderLines: response.data.payload, total: response.data.total });\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n commitPopulateOrderLines({ orderLines: [], total: 0 });\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async getMarketAdsAsync(context: StoreContext, payload: MarketAdsSearch): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n const keywordSearch = payload.keyword === '' ? '*' : payload.keyword;\r\n\r\n return await axios.get>(Api.BaseUrl + `erp/marketAds/search/${keywordSearch}/${payload.adType}`, {\r\n params: {\r\n page: payload.pageNumber,\r\n size: payload.pageSize,\r\n },\r\n })\r\n .then((response) => {\r\n commitPopulateMarketAds({ marketAds: response.data.payload, total: response.data.total, search: payload });\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n commitPopulateMarketAds({ marketAds: [], total: 0, search: payload });\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async upsertMarketAdAsync(context: StoreContext, payload: {\r\n id: number, title: string, message?: string,\r\n partnerName: string, type: string, createdAt: Date, expiryDate: Date\r\n }): Promise {\r\n\r\n if (!payload) { return false; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n const isNew = payload.id === 0;\r\n\r\n return await axios.post>(Api.BaseUrl + `erp/marketAds`, payload)\r\n .then((response) => {\r\n if (isNew) {\r\n payload.id = response.data.payload || 0;\r\n commitInsertMarketAd(payload);\r\n } else {\r\n commitUpdateMarketAd(payload);\r\n }\r\n return true;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false });\r\n }\r\n return false;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async deleteMarketAdAsync(context: StoreContext, payload: { id: number }): Promise {\r\n\r\n if (!payload) { return false; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.delete(Api.BaseUrl + `erp/marketAds/${payload.id}`)\r\n .then((result) => {\r\n commitDeleteMarketAd(payload);\r\n appStore.success({ message: 'L\\'annuncio è stato eliminato con successo.' });\r\n return true;\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: false });\r\n }\r\n return false;\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async getProductsInOrdersAsync(context: StoreContext, payload: { keyword: string, searchType: TypeOfSearch, searchAll: boolean, page: number, size: number }): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n const keywordSearch = payload.keyword === '' ? '*' : payload.keyword;\r\n\r\n return await axios.get>(Api.BaseUrl + `erp/orders/products/${keywordSearch}/${payload.searchType}/${payload.searchAll}`, {\r\n params: {\r\n page: payload.page,\r\n size: payload.size,\r\n },\r\n })\r\n .then((response) => {\r\n commitPopulateProductsInOrders({ products: response.data.payload, total: response.data.total });\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n commitPopulateProductsInOrders({ products: [], total: 0 });\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n\r\n async getStatisticsAsync(context: StoreContext, payload: { fan: string, page: number, size: number, sortField: string, sortDirection: string }): Promise {\r\n\r\n if (!payload) { return; }\r\n\r\n appStore.loading({ isLoading: true });\r\n\r\n return await axios.get>(Api.BaseUrl + `erp/statistics/${payload.fan}`, {\r\n params: {\r\n page: payload.page,\r\n size: payload.size,\r\n sortField: payload.sortField,\r\n sortDirection: payload.sortDirection,\r\n },\r\n })\r\n .then((response) => {\r\n commitPopulateStatistics({ statistics: response.data.payload, total: response.data.total });\r\n })\r\n .catch((reason) => {\r\n if (reason && reason.response) {\r\n appStore.errors({ status: reason.response.status, result: reason.response.data as ApiResult, ignoreNotFound: true });\r\n }\r\n commitPopulateStatistics({ statistics: [], total: 0 });\r\n })\r\n .finally(() => {\r\n appStore.loading({ isLoading: false });\r\n });\r\n },\r\n },\r\n\r\n mutations: {\r\n\r\n populateStatements(state: ErpState, payload: { statements: Statement[], total: number }) {\r\n state.statements = payload.statements;\r\n state.totalStatement = payload.total;\r\n },\r\n\r\n populateAmounts(state: ErpState, payload: { amounts: Amount[], total: number }) {\r\n state.amounts = payload.amounts;\r\n state.totalAmounts = payload.total;\r\n },\r\n\r\n populateOrders(state: ErpState, payload: { orders: ErpOrder[], total: number, search: ErpOrdersSearch }) {\r\n state.orders = payload.orders;\r\n state.totalOrders = payload.total;\r\n state.ordersSearch = payload.search;\r\n },\r\n\r\n populateOrderLines(state: ErpState, payload: { orderLines: ErpOrderLine[], total: number }) {\r\n state.orderLines = payload.orderLines;\r\n state.totalOrderLines = payload.total;\r\n },\r\n\r\n populateMarketAds(state: ErpState, payload: { marketAds: MarketAd[], total: number, search: MarketAdsSearch }) {\r\n state.marketAds = payload.marketAds;\r\n state.totalMarketAds = payload.total;\r\n state.marketAdsSearch = payload.search;\r\n },\r\n\r\n insertMarketAd(state: ErpState, payload: {\r\n id: number, title: string, message?: string,\r\n partnerName: string, type: string, createdAt: Date, expiryDate: Date\r\n }) {\r\n\r\n const typeDescription = state.marketTypes.filter((mk) => mk.value === payload.type)[0].description;\r\n\r\n const partnerCode = authenticator.userProfile.aid;\r\n\r\n const marketAdd: MarketAd = {\r\n id: payload.id,\r\n title: payload.title,\r\n message: payload.message || '',\r\n createdAt: payload.createdAt,\r\n expiryDate: payload.expiryDate,\r\n partnerCode,\r\n partnerName: payload.partnerName,\r\n type: payload.type,\r\n typeDescription,\r\n };\r\n state.marketAds.unshift(marketAdd);\r\n state.totalMarketAds++;\r\n },\r\n\r\n updateMarketAd(state: ErpState, payload: {\r\n id: number, title: string, message?: string,\r\n partnerName: string, type: string, createdAt: Date, expiryDate: Date\r\n }) {\r\n const index = state.marketAds.findIndex((x) => x.id === payload.id);\r\n if (index > -1) {\r\n const typeDescription = state.marketTypes.filter((mk) => mk.value === payload.type)[0].description;\r\n\r\n const updated = state.marketAds[index];\r\n updated.type = payload.type;\r\n updated.typeDescription = typeDescription;\r\n updated.title = payload.title;\r\n updated.message = payload.message || '';\r\n state.marketAds.splice(index, 1, updated);\r\n }\r\n },\r\n\r\n deleteMarketAd(state: ErpState, payload: { id: number }) {\r\n if (state.marketAds) {\r\n const index = state.marketAds.findIndex((marketAd) => marketAd.id === payload.id);\r\n if (index > -1) {\r\n state.marketAds.splice(index, 1);\r\n }\r\n }\r\n if (state.totalMarketAds > 0) {\r\n state.totalMarketAds--;\r\n }\r\n },\r\n\r\n populateProductsInOrders(state: ErpState, payload: { products: ProductInOrder[], total: number }) {\r\n state.productInOrders = payload.products;\r\n state.totalProductInOrders = payload.total;\r\n },\r\n\r\n populateStatistics(state: ErpState, payload: { statistics: Statistic[], total: number }) {\r\n state.statistics = payload.statistics;\r\n state.totalStatistics = payload.total;\r\n },\r\n },\r\n\r\n};\r\n\r\n// private getters\r\nconst getStatements = moduleBuilder.read(thisModule.getters.statements, 'getStatements');\r\nconst getTotalStatements = moduleBuilder.read(thisModule.getters.totalStatement, 'getTotalStatement');\r\nconst getAmounts = moduleBuilder.read(thisModule.getters.amounts, 'getAmounts');\r\nconst getTotalAmounts = moduleBuilder.read(thisModule.getters.totalAmounts, 'getTotalAmounts');\r\nconst getOrders = moduleBuilder.read(thisModule.getters.orders, 'getOrders');\r\nconst getTotalOrders = moduleBuilder.read(thisModule.getters.totalOrders, 'getTotalOrders');\r\nconst getOrdersSearch = moduleBuilder.read(thisModule.getters.ordersSearch, 'getOrdersSearch');\r\nconst getOrderLines = moduleBuilder.read(thisModule.getters.orderLines, 'getOrderLines');\r\nconst getTotalOrderLines = moduleBuilder.read(thisModule.getters.totalOrderLines, 'getTotalOrderLines');\r\nconst getMarketAds = moduleBuilder.read(thisModule.getters.marketAds, 'getMarketAds');\r\nconst getTotalMarketAds = moduleBuilder.read(thisModule.getters.totalMarketAds, 'getTotalMarketAds');\r\nconst getMarketAdsSearch = moduleBuilder.read(thisModule.getters.marketAdsSearch, 'getMarketAdsSearch');\r\nconst getMarketTypes = moduleBuilder.read(thisModule.getters.marketTypes, 'getMarketTypes');\r\nconst getProductInOrders = moduleBuilder.read(thisModule.getters.productInOrders, 'getProductInOrders');\r\nconst getTotalProductInOrders = moduleBuilder.read(thisModule.getters.totalProductInOrders, 'getTotalProductInOrders');\r\nconst getStatistics = moduleBuilder.read(thisModule.getters.statistics, 'getStatistics');\r\nconst getTotalStatistics = moduleBuilder.read(thisModule.getters.totalStatistics, 'getTotalStatistics');\r\n\r\n// mutations\r\nconst commitPopulateStatements = moduleBuilder.commit(thisModule.mutations.populateStatements, 'populateStatements');\r\nconst commitPopulateAmounts = moduleBuilder.commit(thisModule.mutations.populateAmounts, 'populateAmounts');\r\nconst commitPopulateOrders = moduleBuilder.commit(thisModule.mutations.populateOrders, 'populateOrders');\r\nconst commitPopulateOrderLines = moduleBuilder.commit(thisModule.mutations.populateOrderLines, 'populateOrderLines');\r\nconst commitPopulateMarketAds = moduleBuilder.commit(thisModule.mutations.populateMarketAds, 'populateMarketAds');\r\nconst commitDeleteMarketAd = moduleBuilder.commit(thisModule.mutations.deleteMarketAd, 'deleteMarketAd');\r\nconst commitUpdateMarketAd = moduleBuilder.commit(thisModule.mutations.updateMarketAd, 'updateMarketAd');\r\nconst commitInsertMarketAd = moduleBuilder.commit(thisModule.mutations.insertMarketAd, 'insertMarketAd');\r\nconst commitPopulateProductsInOrders = moduleBuilder.commit(thisModule.mutations.populateProductsInOrders, 'populateProductsInOrders');\r\nconst commitPopulateStatistics = moduleBuilder.commit(thisModule.mutations.populateStatistics, 'populateStatistics');\r\n\r\nconst erp = {\r\n\r\n // getters (wrapped as real getters)\r\n get statements() { return getStatements(); },\r\n get totalStatement() { return getTotalStatements(); },\r\n get amounts() { return getAmounts(); },\r\n get totalAmounts() { return getTotalAmounts(); },\r\n get orders() { return getOrders(); },\r\n get totalOrders() { return getTotalOrders(); },\r\n get ordersSearch() { return getOrdersSearch(); },\r\n get orderLines() { return getOrderLines(); },\r\n get totalOrderLines() { return getTotalOrderLines(); },\r\n get marketAds() { return getMarketAds(); },\r\n get totalMarketAds() { return getTotalMarketAds(); },\r\n get marketAdsSearch() { return getMarketAdsSearch(); },\r\n get marketTypes() { return getMarketTypes(); },\r\n get productInOrders() { return getProductInOrders(); },\r\n get totalProductInOrders() { return getTotalProductInOrders(); },\r\n get statistics() { return getStatistics(); },\r\n get totalStatistics() { return getTotalStatistics(); },\r\n\r\n // actions\r\n fetchStatementsAsync: moduleBuilder.dispatch(thisModule.actions.getStatementsAsync, 'getStatementsAsync'),\r\n printStatementsAsync: moduleBuilder.dispatch(thisModule.actions.printStatementsAsync, 'printStatementsAsync'),\r\n fetchAmountsAsync: moduleBuilder.dispatch(thisModule.actions.getAmountsAsync, 'getAmountsAsync'),\r\n printAmountsAsync: moduleBuilder.dispatch(thisModule.actions.printAmountsAsync, 'printAmountsAsync'),\r\n exportAmountsAsync: moduleBuilder.dispatch(thisModule.actions.exportAmountsAsync, 'exportAmountsAsync'),\r\n fetchOrdersAsync: moduleBuilder.dispatch(thisModule.actions.getOrdersAsync, 'getOrdersAsync'),\r\n fetchOrderLinesAsync: moduleBuilder.dispatch(thisModule.actions.getOrderLinesAsync, 'getOrderLinesAsync'),\r\n fetchMarketAdsAsync: moduleBuilder.dispatch(thisModule.actions.getMarketAdsAsync, 'getMarketAdsAsync'),\r\n upsertMarketAdAsync: moduleBuilder.dispatch(thisModule.actions.upsertMarketAdAsync, 'upsertMarketAdAsync'),\r\n deleteMarketAdAsync: moduleBuilder.dispatch(thisModule.actions.deleteMarketAdAsync, 'deleteMarketAdAsync'),\r\n fetchProductsInOrdersAsync: moduleBuilder.dispatch(thisModule.actions.getProductsInOrdersAsync, 'getProductsInOrdersAsync'),\r\n fetchStatisticsAsync: moduleBuilder.dispatch(thisModule.actions.getStatisticsAsync, 'getStatisticsAsync'),\r\n};\r\n\r\nexport default erp;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card-header-icon toolbar\"},[_vm._t(\"extended-toolbar-before\",[_vm._v(\" \")]),(_vm.canBack)?_c('b-tooltip',{attrs:{\"label\":\"Torna\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.back}},[_c('b-icon',{attrs:{\"icon\":\"arrow-alt-circle-left\"}})],1)],1):_vm._e(),_vm._t(\"extended-toolbar-after\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Prop, Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class CustomToolbar extends Vue {\r\n\r\n @Prop({ default: false }) private readonly canBack!: boolean;\r\n\r\n private back(): void {\r\n if (this.canBack) {\r\n this.$emit('back');\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/ts-loader/index.js??ref--13-3!./CustomToolbar.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./CustomToolbar.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CustomToolbar.vue?vue&type=template&id=b2803d8a&\"\nimport script from \"./CustomToolbar.ts?vue&type=script&lang=ts&\"\nexport * from \"./CustomToolbar.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport ordersStore from '@/store/orders';\r\nimport productsStore from '@/store/products';\r\nimport erpStore from '@/store/erp';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport CustomToolbar from '@/components/CustomToolbar';\r\nimport { ProductDetail, BaseProduct, TypeOfOperation, ProductAvailability, Statistic, ProductStatus } from '@/types';\r\nimport { debounce } from '@/core/debounce';\r\n// import { faGrinTongueSquint } from '@fortawesome/free-solid-svg-icons';\r\n// import tracer from '@/core/tracer';\r\n\r\n@Component({\r\n components: { CardComponent, CustomToolbar },\r\n})\r\nexport default class ProductDetails extends Vue {\r\n\r\n // Injectectd from url\r\n @Prop({ type: String, required: true, default: '' }) private readonly type!: string;\r\n @Prop({ type: String, required: true, default: '' }) private readonly pharmacode!: string;\r\n @Prop({ type: Number, required: false, default: 1 }) private readonly quantity!: number;\r\n\r\n private activeTab = 0;\r\n private quantityToUse = this.quantity || 0;\r\n private availabilityLoaded = false;\r\n private availabilityLoading = false;\r\n private availabilityLoadingValue = 0;\r\n private quantityChanged = false;\r\n private addToHistorical = true;\r\n\r\n private selectedStatistic: Statistic | null = null;\r\n private pageSize = appStore.pageSize;\r\n private pageNumber = 1;\r\n private sortField = 'date';\r\n private sortDirection = 'asc';\r\n private statisticsLoaded = false;\r\n private ignoreQuantityChanged = false;\r\n\r\n private debouncedFetchProductAsync = async (): Promise => undefined;\r\n private debouncedFetchProductAvailabilityAsync = async (): Promise => undefined;\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get product(): ProductDetail {\r\n return productsStore.product;\r\n }\r\n\r\n get availability(): ProductAvailability {\r\n return productsStore.availability;\r\n }\r\n\r\n get statistics(): Statistic[] {\r\n return erpStore.statistics;\r\n }\r\n\r\n get totalStatistics(): number {\r\n return erpStore.totalStatistics;\r\n }\r\n\r\n get fanCode(): string | undefined {\r\n if (this.product.wholesalerInfo && this.product.wholesalerInfo.fan) {\r\n return this.product.wholesalerInfo.fan;\r\n }\r\n return undefined;\r\n }\r\n\r\n get stockInFridgeWithTemperature(): string | undefined {\r\n if (!this.product) return '';\r\n\r\n if (this.product.isStockFridge) {\r\n return 'Sì' + (this.product.stockTemperature ? ' - (' + this.product.stockTemperature + '°)' : '');\r\n } else {\r\n return 'No';\r\n }\r\n }\r\n\r\n get quantityAlreadyInOrder(): number {\r\n\r\n if (!ordersStore.cart || !ordersStore.cart.lines || ordersStore.cart.lines.length === 0) {\r\n return 0;\r\n }\r\n const orderLine = ordersStore.cart.lines.filter((line) =>\r\n line.productType === this.product.type && line.pharmacode === this.product.pharmacode);\r\n\r\n if (orderLine && orderLine.length > 0) {\r\n const quantityInOrder = orderLine[0].quantity;\r\n if (quantityInOrder && quantityInOrder > 0) {\r\n this.ignoreQuantityChanged = true;\r\n if (!this.quantityChanged) {\r\n this.quantityToUse = orderLine[0].quantity;\r\n }\r\n }\r\n\r\n return quantityInOrder || 0;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n private async created() {\r\n\r\n this.debouncedFetchProductAsync = debounce(this.fetchProductAsync, 800);\r\n this.debouncedFetchProductAvailabilityAsync = debounce(this.fetchProductAvailabilityAsync, 1200);\r\n\r\n await this.fetchProductAsync();\r\n\r\n if (!ordersStore.isCartLoaded) {\r\n await ordersStore.fetchCartAsync({});\r\n }\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 100, subMenuId: 101 });\r\n }\r\n\r\n // We are watching pharmacode changes cause routing inside the same view\r\n // does not reload so we need to reload everything.\r\n @Watch('pharmacode', { immediate: true, deep: false })\r\n private async onProductReplaced(value: string, previousValue?: string) {\r\n if (previousValue === undefined || value === previousValue) return;\r\n this.pageNumber = 1;\r\n this.availabilityLoaded = false;\r\n this.statisticsLoaded = false;\r\n await this.fetchProductAsync();\r\n }\r\n\r\n @Watch('quantityToUse', { immediate: true, deep: false })\r\n private async onQuantityChanged(value: number, previousValue?: number) {\r\n if (this.ignoreQuantityChanged) {\r\n this.ignoreQuantityChanged = false;\r\n return;\r\n }\r\n if (previousValue === undefined) return;\r\n if (!value || value <= 0 || value === previousValue) {\r\n return;\r\n }\r\n\r\n this.quantityChanged = true;\r\n\r\n await this.debouncedFetchProductAsync();\r\n }\r\n\r\n private async onTabChange(tab: number) {\r\n this.activeTab = tab;\r\n if (tab === 1 && !this.statisticsLoaded) {\r\n this.fetchStatisticsAsync();\r\n }\r\n }\r\n\r\n private back() {\r\n this.$router.go(-1);\r\n }\r\n\r\n private async fetchProductAsync() {\r\n this.availabilityLoadingValue = 10;\r\n await productsStore.fetchProductAsync({ type: this.type, pharmacode: this.pharmacode, quantity: this.quantityToUse })\r\n .then(async () => {\r\n if (!this.availabilityLoaded) {\r\n this.availabilityLoadingValue = 30;\r\n await this.debouncedFetchProductAvailabilityAsync();\r\n }\r\n });\r\n }\r\n\r\n private async fetchProductAvailabilityAsync() {\r\n this.availabilityLoading = true;\r\n this.availabilityLoadingValue = 50;\r\n await productsStore.fetchProductAvailabilityAsync({ type: this.type, pharmacode: this.pharmacode })\r\n .then(() => {\r\n this.availabilityLoaded = true;\r\n this.availabilityLoadingValue = 100;\r\n this.availabilityLoading = false;\r\n });\r\n }\r\n\r\n private async addToCart() {\r\n\r\n if (this.product) {\r\n\r\n if (this.product.status === ProductStatus.Discontinued) {\r\n if (this.product.replacementProduct) {\r\n appStore.warning({\r\n message: `ATTENZIONE: il prodotto è stato sostituito con ${this.product.replacementProduct.name} | ${this.product.replacementProduct.pharmacode}`, timeout: 7000,\r\n });\r\n } else {\r\n appStore.warning({ message: 'ATTENZIONE: il prodotto è stato sostituito.', timeout: 7000 });\r\n }\r\n return;\r\n }\r\n\r\n if (this.product.type && this.product.pharmacode) {\r\n await ordersStore.addProductToCartAsync(\r\n {\r\n product: this.product as BaseProduct,\r\n quantity: this.quantityToUse,\r\n operation: TypeOfOperation.ReplaceQuantity,\r\n addToHistorical: this.addToHistorical,\r\n })\r\n .then(() => {\r\n this.quantityChanged = false;\r\n });\r\n }\r\n }\r\n }\r\n\r\n private async showReplacementProduct() {\r\n if (this.product.replacementProduct) {\r\n await this.$router.replace({ name: 'product', params: { type: this.product.replacementProduct.type, pharmacode: this.product.replacementProduct.pharmacode } });\r\n }\r\n }\r\n\r\n private async onSort(field: string, direction: string) {\r\n this.sortField = field;\r\n this.sortDirection = direction;\r\n await this.fetchStatisticsAsync();\r\n }\r\n\r\n private async onPageChange(page: number) {\r\n this.pageNumber = page;\r\n await this.fetchStatisticsAsync();\r\n }\r\n\r\n private selectStatistic(row: Statistic, oldRow: Statistic | null): void {\r\n this.selectedStatistic = row;\r\n }\r\n\r\n private async fetchStatisticsAsync() {\r\n if (this.fanCode) {\r\n await erpStore.fetchStatisticsAsync({ fan: this.fanCode, page: this.pageNumber, size: this.pageSize, sortField: this.sortField, sortDirection: this.sortDirection })\r\n .then(() => this.statisticsLoaded = true);\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/ts-loader/index.js??ref--13-3!./ProductDetails.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ProductDetails.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductDetails.vue?vue&type=template&id=2f69bd32&scoped=true&\"\nimport script from \"./ProductDetails.ts?vue&type=script&lang=ts&\"\nexport * from \"./ProductDetails.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ProductDetails.vue?vue&type=style&index=0&id=2f69bd32&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2f69bd32\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Ordini Aperti\",\"icon\":\"shopping-cart\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('custom-toolbar',{attrs:{\"can-back\":true},on:{\"back\":_vm.goBack},scopedSlots:_vm._u([{key:\"extended-toolbar-before\",fn:function(){return [_c('b-tooltip',{attrs:{\"label\":\"Trasmetti Ordine\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":!_vm.isTransmittable},on:{\"click\":_vm.send}},[_c('b-icon',{attrs:{\"icon\":\"paper-plane\",\"type\":\"is-info\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Stampa\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":!_vm.canPrint},on:{\"click\":_vm.print}},[_c('b-icon',{attrs:{\"icon\":\"print\",\"type\":\"is-info\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Refresh\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.refresh}},[_c('b-icon',{attrs:{\"icon\":\"sync\",\"type\":\"is-success\"}})],1)],1)]},proxy:true}])})]},proxy:true}])},[_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-field',{attrs:{\"label\":\"Num. Documento\",\"expanded\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.orderNumberYear(_vm.cart)}})],1),_c('b-field',{attrs:{\"label\":\"Stato\",\"expanded\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.cartStatusDescription}})],1)],1),_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-field',{attrs:{\"label\":\"Data Apertura\",\"expanded\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatDate\")(_vm.cart.documentDate)}})],1),_c('b-field',{attrs:{\"label\":\"Data Elaborazione\",\"expanded\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatDate\")(_vm.cart.transmissionDate)}})],1)],1),_c('b-table',{attrs:{\"selected\":_vm.selected,\"paginated\":false,\"sort-icon\":\"chevron-up\",\"sort-icon-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"default-sort\":_vm.sortField,\"default-sort-direction\":_vm.sortDirection,\"data\":_vm.lines},on:{\"update:selected\":function($event){_vm.selected=$event}},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"Disp.\",\"field\":\"status\"}},[_c('column-status',{attrs:{\"status\":props.row.productStatus,\"description\":props.row.productStatusDescription,\"position\":\"is-right\"}})],1),_c('b-table-column',{attrs:{\"label\":\"PhCode\",\"field\":\"pharmacode\",\"sortable\":\"\"}},[_vm._v(_vm._s(props.row.pharmacode))]),_c('b-table-column',{attrs:{\"label\":\"Nome\",\"field\":\"name\",\"sortable\":\"\"}},[_vm._v(_vm._s(props.row.name))]),_c('b-table-column',{attrs:{\"label\":\"Prz. Pub.\",\"field\":\"price\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.price)))]),_c('b-table-column',{attrs:{\"label\":\"Prz. Far.\",\"field\":\"purchasePrice\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.purchasePrice)))]),_c('b-table-column',{attrs:{\"label\":\"Prz. Acq.\",\"field\":\"total\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.total)))]),_c('b-table-column',{attrs:{\"label\":\"Log.\",\"field\":\"logisticCost\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.logisticCost)))]),_c('b-table-column',{attrs:{\"label\":\"Qta.\",\"field\":\"quantity\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(props.row.quantity)))]),_c('b-table-column',{staticClass:\"is-actions-cell\",attrs:{\"custom-key\":\"actions\"}},[_c('div',{staticClass:\"buttons is-right\"},[_c('b-tooltip',{attrs:{\"label\":\"Aggiungi la tua Quantità\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":props.row.productStatus === _vm.ProductStatus.Discontinued},on:{\"click\":function($event){$event.preventDefault();return _vm.addQuantityToCartModal(props.row)}}},[_c('b-icon',{attrs:{\"icon\":\"edit\",\"type\":\"is-success\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Aggiungi 1 Quantità\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":props.row.productStatus === _vm.ProductStatus.Discontinued},on:{\"click\":function($event){$event.preventDefault();return _vm.addQuantityToCart(props.row)}}},[_c('b-icon',{attrs:{\"icon\":\"plus\",\"type\":\"is-success\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Rimuovi 1 Quantità\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":props.row.productStatus === _vm.ProductStatus.Discontinued},on:{\"click\":function($event){$event.preventDefault();return _vm.removeQuantityFromCart(props.row)}}},[_c('b-icon',{attrs:{\"icon\":\"minus\",\"type\":\"is-warning\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Visualizza Prodotto\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('router-link',{staticClass:\"button is-text\",attrs:{\"to\":{ name: 'product', params: { type: props.row.productType, pharmacode: props.row.pharmacode, quantity: props.row.quantity }},\"active-class\":\"\",\"exact-active-class\":\"\"}},[_c('b-icon',{attrs:{\"icon\":\"eye\",\"type\":\"is-info\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Rimuovi Prodotto\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeProduct(props.row)}}},[_c('b-icon',{attrs:{\"icon\":\"minus-circle\",\"type\":\"is-danger\"}})],1)],1)],1)])]}}])},[(_vm.lines && _vm.lines.length>0)?_c('template',{slot:\"footer\"},[_c('div',{staticClass:\"has-text-right\"},[_vm._v(\"\\n TOTALE RIGHE: \"+_vm._s(_vm.totalNumberOfRows)+\"\\n \")])]):_vm._e(),_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport ordersStore from '@/store/orders';\r\nimport { Order, OrderLine } from '@/models';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport CustomToolbar from '@/components/CustomToolbar';\r\nimport ColumnStatus from '@/components/ColumnStatus';\r\nimport { TypeOfOperation, BaseProduct, ProductStatus, DocumentStatus, Guid } from '@/types';\r\n\r\n@Component({\r\n components: { CardComponent, CustomToolbar, ColumnStatus },\r\n})\r\nexport default class Cart extends Vue {\r\n\r\n private ProductStatus: typeof ProductStatus = ProductStatus;\r\n\r\n private sortField = 'createdAt';\r\n private sortDirection = 'asc';\r\n private selected: OrderLine | null = null;\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get cart(): Order {\r\n return ordersStore.cart;\r\n }\r\n\r\n get canPrint(): boolean {\r\n return ordersStore.cart !== null && ordersStore.cart.id !== Guid.Empty;\r\n }\r\n\r\n get lines(): OrderLine[] {\r\n return this.cart.lines || [];\r\n }\r\n\r\n get totalNumberOfRows(): number {\r\n if (this.cart && this.cart.lines) {\r\n return this.cart.lines.length;\r\n }\r\n return 0;\r\n }\r\n\r\n get isTransmittable(): boolean {\r\n return this.cart.status === DocumentStatus.Open && this.lines.length > 0;\r\n }\r\n\r\n get cartStatusDescription(): string {\r\n const currentCart = this.cart;\r\n return currentCart.statusDescription || appStore.documentStatus()(currentCart.status).shortDescription;\r\n }\r\n\r\n private async created() {\r\n if (!ordersStore.isCartLoaded) {\r\n await ordersStore.fetchCartAsync({});\r\n }\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 100, subMenuId: 102 });\r\n }\r\n\r\n private goBack() {\r\n this.$router.go(-1);\r\n }\r\n\r\n private async send() {\r\n this.$buefy.dialog.confirm({\r\n title: 'Trasmissione Ordine',\r\n message: 'Sei sicuro/a di voler trasmettere l\\'ordine ?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-info',\r\n hasIcon: true,\r\n onConfirm: async () => {\r\n await this.transmittOrderAsync();\r\n },\r\n });\r\n }\r\n\r\n private async print() {\r\n if (this.cart) {\r\n await ordersStore.printOrderAsync({ id: this.cart.id })\r\n .then((blob) => {\r\n if (!blob) {\r\n return;\r\n }\r\n const url = URL.createObjectURL(new Blob([blob], {\r\n type: 'application/pdf',\r\n }));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', `Ordine-${this.cart.documentNumber}.pdf`);\r\n link.style.display = 'none';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n });\r\n }\r\n }\r\n\r\n private async transmittOrderAsync() {\r\n await ordersStore.sendCartAsync({ id: this.cart.id })\r\n .then((result) => {\r\n if (result) {\r\n this.$router.push({ name: 'ordersTransmitted' });\r\n }\r\n });\r\n }\r\n\r\n private async addQuantityToCartModal(line: OrderLine) {\r\n if (line && line.productType && line.pharmacode) {\r\n\r\n this.$buefy.dialog.prompt({\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-info',\r\n title: `${line.pharmacode} ${line.name || ''}`,\r\n message: `Quantità ?`,\r\n inputAttrs: {\r\n type: 'number',\r\n placeholder: 'Inserisci Quantità',\r\n value: line.quantity,\r\n maxlength: 3,\r\n min: 1,\r\n max: 999,\r\n },\r\n trapFocus: true,\r\n onConfirm: async (value: string) => await this.addQuantityToCartYourQuantity(line, parseInt(value, 0)),\r\n });\r\n }\r\n }\r\n\r\n private async addQuantityToCartYourQuantity(line: OrderLine, quantity: number) {\r\n if (line && line.productType && line.pharmacode) {\r\n const product: BaseProduct = { type: line.productType, pharmacode: line.pharmacode, name: '' };\r\n await ordersStore.addProductToCartAsync({ product, quantity, operation: TypeOfOperation.ReplaceQuantity });\r\n }\r\n }\r\n\r\n private async addQuantityToCart(line: OrderLine) {\r\n if (line && line.productType && line.pharmacode) {\r\n const product: BaseProduct = { type: line.productType, pharmacode: line.pharmacode, name: '' };\r\n await ordersStore.addProductToCartAsync({ product, quantity: line.quantity + 1, operation: TypeOfOperation.ReplaceQuantity });\r\n }\r\n }\r\n\r\n private async removeQuantityFromCart(line: OrderLine) {\r\n if (line && line.productType && line.pharmacode) {\r\n const product: BaseProduct = { type: line.productType, pharmacode: line.pharmacode, name: '' };\r\n await ordersStore.addProductToCartAsync({ product, quantity: line.quantity - 1, operation: TypeOfOperation.ReplaceQuantity });\r\n }\r\n }\r\n\r\n private async removeProduct(line: OrderLine) {\r\n if (line && line.productType && line.pharmacode) {\r\n\r\n const product: BaseProduct = { type: line.productType, pharmacode: line.pharmacode, name: '' };\r\n\r\n this.$buefy.dialog.confirm({\r\n title: 'Eliminazione Articolo',\r\n message: 'Sei sicuro/a di voler rimuovere l\\'articolo selezionato ?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-warning',\r\n hasIcon: true,\r\n onConfirm: async () => await ordersStore.deleteProductInCartAsync({ product }),\r\n });\r\n }\r\n }\r\n\r\n private async refresh() {\r\n await ordersStore.fetchCartAsync({});\r\n }\r\n\r\n private orderNumberYear(order: Order) {\r\n if (!order) { return ''; }\r\n return order.documentNumber + '/' + order.year;\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/ts-loader/index.js??ref--13-3!./Cart.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./Cart.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Cart.vue?vue&type=template&id=37293dfa&\"\nimport script from \"./Cart.ts?vue&type=script&lang=ts&\"\nexport * from \"./Cart.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[(_vm.systemStatus)?_c('notification',{class:{'is-success': _vm.systemStatus.status === _vm.SystemStatus.Available, 'is-warning': _vm.systemStatus.status === _vm.SystemStatus.Busy }},[_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.systemStatus.message)+\"\\n \")])]):_vm._e(),_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Orari Sistema UFD\",\"icon\":\"server\"}},[_c('b-table',{attrs:{\"paginated\":false,\"striped\":true,\"hoverable\":true,\"data\":_vm.timetable},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"Descrizione\",\"field\":\"timetableDescription\"}},[_vm._v(\"\\n \"+_vm._s(props.row.timetableDescription)+\"\\n \")]),_c('b-table-column',{attrs:{\"label\":\"Orari\",\"field\":\"timetable\"}},[_vm._v(\"\\n \"+_vm._s(props.row.timetable)+\"\\n \")])]}}])},[_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isDismissed)?_c('div',{staticClass:\"notification\"},[_c('div',{staticClass:\"level\"},[_c('div',{staticClass:\"level-left\"},[_c('div',{staticClass:\"level-item\"},[_vm._t(\"default\")],2)]),_c('div',{staticClass:\"level-right\"},[_c('button',{staticClass:\"button is-small is-white\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.dismiss}},[_vm._v(\"Chiudi\")])])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class Notification extends Vue {\r\n\r\n private isDismissed = false;\r\n\r\n private dismiss(): void {\r\n this.isDismissed = true;\r\n // this.$buefy.snackbar.open({\r\n // message: 'Dismissed',\r\n // queue: false,\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/ts-loader/index.js??ref--13-3!./Notification.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./Notification.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Notification.vue?vue&type=template&id=cd6fad4e&\"\nimport script from \"./Notification.ts?vue&type=script&lang=ts&\"\nexport * from \"./Notification.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport { SystemStatus, SystemStatusTimetable, SystemStatusType } from '@/types';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport Notification from '@/components/Notification';\r\n\r\n@Component({\r\n components: { CardComponent, Notification },\r\n })\r\nexport default class SystemAvailability extends Vue {\r\n\r\n private SystemStatus: typeof SystemStatusType = SystemStatusType;\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get systemStatus(): SystemStatus {\r\n return appStore.systemStatus;\r\n }\r\n\r\n get timetable(): SystemStatusTimetable[] {\r\n return appStore.systemStatus.timetable || [];\r\n }\r\n\r\n private async created() {\r\n await appStore.fetchSystemTimetableAsync();\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/ts-loader/index.js??ref--13-3!./SystemAvailability.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./SystemAvailability.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SystemAvailability.vue?vue&type=template&id=eda75b44&\"\nimport script from \"./SystemAvailability.ts?vue&type=script&lang=ts&\"\nexport * from \"./SystemAvailability.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Ordini Trasmessi\",\"icon\":\"paper-plane\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('custom-toolbar',{attrs:{\"can-back\":false},scopedSlots:_vm._u([{key:\"extended-toolbar-before\",fn:function(){return [_c('b-field',{attrs:{\"label\":\"Anno\",\"horizontal\":\"\"}},[_c('b-select',{attrs:{\"placeholder\":\"Anno\"},model:{value:(_vm.year),callback:function ($$v) {_vm.year=$$v},expression:\"year\"}},_vm._l((_vm.years),function(year){return _c('option',{key:year,domProps:{\"value\":year}},[_vm._v(_vm._s(year))])}),0)],1),_vm._v(\"\\n  \\n \"),_c('b-tooltip',{attrs:{\"label\":\"Refresh\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.refresh}},[_c('b-icon',{attrs:{\"icon\":\"sync\",\"type\":\"is-success\"}})],1)],1)]},proxy:true}])})]},proxy:true}])},[_c('b-table',{attrs:{\"selected\":_vm.selected,\"current-page\":_vm.pageNumber,\"paginated\":true,\"per-page\":_vm.pageSize,\"total\":_vm.total,\"backend-pagination\":\"\",\"pagination-position\":\"bottom\",\"pagination-size\":\"is-small\",\"sort-icon\":\"chevron-up\",\"sort-icon-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"data\":_vm.orders,\"opened-detailed\":_vm.detailsToShow,\"detailed\":\"\",\"detail-key\":\"id\"},on:{\"update:selected\":function($event){_vm.selected=$event},\"update:currentPage\":function($event){_vm.pageNumber=$event},\"update:current-page\":function($event){_vm.pageNumber=$event},\"select\":_vm.select,\"page-change\":_vm.onPageChange},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"width\":\"100\",\"label\":\"Num\",\"field\":\"documentNumber\",\"numeric\":\"\"}},[_vm._v(_vm._s(props.row.documentNumber)+\"/\"+_vm._s(props.row.year))]),_c('b-table-column',{attrs:{\"label\":\"Stato\",\"field\":\"statusDescription\"}},[_vm._v(_vm._s(props.row.statusDescription))]),_c('b-table-column',{attrs:{\"label\":\"Data Apertura\",\"field\":\"documentDate\"}},[_vm._v(_vm._s(_vm._f(\"formatDateTime\")(props.row.documentDate)))]),_c('b-table-column',{attrs:{\"label\":\"Data Elaboraz.\",\"field\":\"transmissionDate\"}},[_vm._v(_vm._s(_vm._f(\"formatDateTime\")(props.row.transmissionDate)))]),_c('b-table-column',{attrs:{\"label\":\"Rif.\",\"field\":\"documentReference\"}},[_vm._v(_vm._s(props.row.documentReference))]),_c('b-table-column',{staticClass:\"is-actions-cell\",attrs:{\"custom-key\":\"actions\"}},[_c('div',{staticClass:\"buttons is-right\"},[_c('b-tooltip',{attrs:{\"label\":\"Visualizza Ordine\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('router-link',{staticClass:\"button is-text\",attrs:{\"to\":{ name: 'orderTransmitted', params: { id: props.row.id }},\"active-class\":\"\",\"exact-active-class\":\"\"}},[_c('b-icon',{attrs:{\"icon\":\"eye\",\"type\":\"is-info\"}})],1)],1)],1)])]}},{key:\"detail\",fn:function(props){return [_c('b-table',{staticClass:\"nested\",attrs:{\"data\":_vm.getOrderLines(props.row)},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"PhCode\",\"field\":\"pharmacode\"}},[_vm._v(_vm._s(props.row.pharmacode))]),_c('b-table-column',{attrs:{\"label\":\"Nome\",\"field\":\"name\"}},[_vm._v(_vm._s(props.row.name))]),_c('b-table-column',{attrs:{\"label\":\"Prz. Pub.\",\"field\":\"price\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.price)))]),_c('b-table-column',{attrs:{\"label\":\"Prz. Far.\",\"field\":\"purchasePrice\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.purchasePrice)))]),_c('b-table-column',{attrs:{\"label\":\"Prz. Acq.\",\"field\":\"total\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.total)))]),_c('b-table-column',{attrs:{\"label\":\"Qta.\",\"field\":\"quantity\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(props.row.quantity)))]),_c('b-table-column',{attrs:{\"label\":\"Qta. Conf.\",\"field\":\"quantityDelivered\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(props.row.quantityDelivered)))]),_c('b-table-column',{attrs:{\"label\":\"Stato\",\"field\":\"statusDescription\"}},[_vm._v(_vm._s(props.row.statusDescription))]),_c('b-table-column',{attrs:{\"label\":\"Note\",\"field\":\"notes\"}},[_vm._v(_vm._s(props.row.notes))]),_c('b-table-column',{attrs:{\"label\":\" \",\"field\":\"cancelled\",\"centered\":\"\"}},[(props.row.cancelled)?_c('b-tooltip',{attrs:{\"label\":\"Prodotto Eliminato\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('b-icon',{attrs:{\"icon\":\"ban\",\"type\":\"is-danger\"}})],1):_vm._e()],1)]}}],null,true)})]}}])},[_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport ordersStore from '@/store/orders';\r\nimport { Order, OrderLine } from '@/models';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport CustomToolbar from '@/components/CustomToolbar';\r\nimport { getYear } from 'date-fns';\r\n\r\n@Component({\r\n components: { CardComponent, CustomToolbar },\r\n})\r\nexport default class OrdersTransmitted extends Vue {\r\n\r\n private selected: Order | null = null;\r\n private pageNumber = 1;\r\n private pageSize = appStore.pageSize;\r\n private year = ordersStore.ordersYear || getYear(new Date());\r\n private detailsToShow: string[] = [];\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get years(): number[] {\r\n const firstYear = getYear(new Date());\r\n return Array.from({ length: 16 }, (x, i) => firstYear - i);\r\n }\r\n\r\n get orders(): Order[] {\r\n return ordersStore.orders;\r\n }\r\n\r\n get total(): number {\r\n return ordersStore.totalOrders;\r\n }\r\n\r\n private async created() {\r\n await this.fetchOrdersAsync();\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 100, subMenuId: 103 });\r\n }\r\n\r\n @Watch('year', { immediate: false, deep: false })\r\n private async onSearchTypeChanged(value: number, previousValue?: number) {\r\n\r\n if (!previousValue) return;\r\n this.year = value;\r\n this.pageNumber = 1;\r\n await this.fetchOrdersAsync();\r\n }\r\n\r\n private select(row: Order, oldRow: Order | null): void {\r\n this.selected = row;\r\n }\r\n\r\n private async onPageChange(page: number) {\r\n this.pageNumber = page;\r\n await this.fetchOrdersAsync();\r\n }\r\n\r\n private getOrderLines(order: Order): OrderLine[] {\r\n return order ? order.lines || [] : [];\r\n }\r\n\r\n private async refresh() {\r\n await this.onPageChange(1);\r\n }\r\n\r\n private async fetchOrdersAsync() {\r\n await ordersStore.fetchOrdersAsync({ year: this.year, pageSize: this.pageSize, pageNumber: this.pageNumber });\r\n }\r\n\r\n // private print() {\r\n // if (this.order) {\r\n // this.detailsToShow = [];\r\n // this.orders.forEach((order) => {\r\n // this.detailsToShow.push(order.id);\r\n // });\r\n // }\r\n // this.$nextTick(() => {\r\n // window.print();\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/ts-loader/index.js??ref--13-3!./OrdersTransmitted.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./OrdersTransmitted.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrdersTransmitted.vue?vue&type=template&id=72f55c62&\"\nimport script from \"./OrdersTransmitted.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrdersTransmitted.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Ordine Trasmesso\",\"icon\":\"paper-plane\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('custom-toolbar',{attrs:{\"can-back\":true},on:{\"back\":_vm.goBack},scopedSlots:_vm._u([{key:\"extended-toolbar-before\",fn:function(){return [(_vm.canRetransmit)?_c('b-tooltip',{attrs:{\"label\":\"Ri-Trasmetti Ordine\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.retransmit}},[_c('b-icon',{attrs:{\"icon\":\"paper-plane\",\"type\":\"is-info\"}})],1)],1):_vm._e(),_c('b-tooltip',{attrs:{\"label\":\"Sincronizza Stato Ordini\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":!_vm.canSync},on:{\"click\":_vm.sync}},[_c('b-icon',{attrs:{\"icon\":\"check-double\",\"type\":\"is-info\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Stampa\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.print}},[_c('b-icon',{attrs:{\"icon\":\"print\",\"type\":\"is-info\"}})],1)],1)]},proxy:true}])})]},proxy:true}])},[_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-field',{attrs:{\"label\":\"Num. Documento\",\"expanded\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.orderNumberYear(_vm.order)}})],1),_c('b-field',{attrs:{\"label\":\"Rif.\",\"expanded\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.order.documentReference}})],1),_c('b-field',{attrs:{\"label\":\"Stato\",\"expanded\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.orderStatusDescription}})],1)],1),_c('b-field',{attrs:{\"grouped\":\"\"}},[_c('b-field',{attrs:{\"label\":\"Data Apertura\",\"expanded\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatDateTime\")(_vm.order.documentDate)}})],1),_c('b-field',{attrs:{\"label\":\"Data Elaborazione\",\"expanded\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatDateTime\")(_vm.order.transmissionDate)}})],1),_c('b-field',{attrs:{\"expanded\":\"\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"value\":\"\"}})],1)],1),_c('b-table',{attrs:{\"selected\":_vm.selected,\"paginated\":false,\"striped\":true,\"hoverable\":true,\"data\":_vm.lines},on:{\"update:selected\":function($event){_vm.selected=$event}},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"PhCode\",\"field\":\"pharmacode\"}},[_vm._v(_vm._s(props.row.pharmacode))]),_c('b-table-column',{attrs:{\"label\":\"Nome\",\"field\":\"name\"}},[_vm._v(_vm._s(props.row.name))]),_c('b-table-column',{attrs:{\"label\":\"Prz. Pub.\",\"field\":\"price\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.price)))]),_c('b-table-column',{attrs:{\"label\":\"Prz. Far.\",\"field\":\"purchasePrice\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.purchasePrice)))]),_c('b-table-column',{attrs:{\"label\":\"Prz. Acq.\",\"field\":\"total\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.total)))]),_c('b-table-column',{attrs:{\"label\":\"Qta.\",\"field\":\"quantity\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(props.row.quantity)))]),_c('b-table-column',{attrs:{\"label\":\"Qta. Conf.\",\"field\":\"quantityDelivered\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(props.row.quantityDelivered)))]),_c('b-table-column',{attrs:{\"label\":\"Stato\",\"field\":\"statusDescription\"}},[_vm._v(_vm._s(props.row.statusDescription))]),_c('b-table-column',{attrs:{\"label\":\"Note\",\"field\":\"notes\"}},[_vm._v(_vm._s(props.row.notes))]),_c('b-table-column',{attrs:{\"label\":\" \",\"field\":\"cancelled\",\"centered\":\"\"}},[(props.row.cancelled)?_c('b-tooltip',{attrs:{\"label\":\"Prodotto Eliminato\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('b-icon',{attrs:{\"icon\":\"ban\",\"type\":\"is-danger\"}})],1):_vm._e()],1)]}}])},[_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport ordersStore from '@/store/orders';\r\nimport { Order, OrderLine } from '@/models';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport CustomToolbar from '@/components/CustomToolbar';\r\nimport { DocumentStatus } from '@/types';\r\n\r\n@Component({\r\n components: { CardComponent, CustomToolbar },\r\n})\r\nexport default class OrderTransmitted extends Vue {\r\n\r\n // Injectectd from url\r\n @Prop({ default: '' }) private readonly id!: string;\r\n\r\n private selected: OrderLine | null = null;\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get order(): Order {\r\n return ordersStore.order || new Order();\r\n }\r\n\r\n get lines(): OrderLine[] {\r\n if (!this.order) return [];\r\n return this.order.lines || [];\r\n }\r\n\r\n get orderStatusDescription(): string {\r\n if (!this.order) return '';\r\n return this.order.statusDescription || appStore.documentStatus()(this.order.status).shortDescription;\r\n }\r\n\r\n get canRetransmit(): boolean {\r\n if (!this.order) return false;\r\n return this.order.status === DocumentStatus.Transmitting;\r\n }\r\n\r\n get canSync(): boolean {\r\n if (!this.order) return false;\r\n return (this.order.year === new Date().getFullYear() || this.order.year === (new Date().getFullYear() - 1)) &&\r\n (this.order.transmissionDate !== undefined && this.order.transmissionDate !== null);\r\n }\r\n\r\n private async created() {\r\n await ordersStore.fetchOrderAsync({ id: this.id });\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 100, subMenuId: 103 });\r\n }\r\n\r\n private async sync() {\r\n\r\n this.$buefy.dialog.confirm({\r\n title: 'Sincronizzazione',\r\n message: 'Sei sicuro/a di voler sincronizzare l\\'ordine corrente ?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-warning',\r\n hasIcon: true,\r\n onConfirm: async () => await this.synchronizeOrderAsync(),\r\n });\r\n }\r\n\r\n private async print() {\r\n if (this.order) {\r\n await ordersStore.printOrderAsync({ id: this.id })\r\n .then((blob) => {\r\n if (!blob) {\r\n return;\r\n }\r\n const url = URL.createObjectURL(new Blob([blob], {\r\n type: 'application/pdf',\r\n }));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', `Ordine-${this.order.documentNumber}.pdf`);\r\n link.style.display = 'none';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n });\r\n\r\n // this.$nextTick(() => {\r\n // window.print();\r\n // });\r\n }\r\n }\r\n\r\n private async synchronizeOrderAsync() {\r\n await ordersStore.syncOrderAsync({ id: this.id })\r\n .then(async () => {\r\n await ordersStore.fetchOrderAsync({ id: this.id });\r\n });\r\n }\r\n\r\n private async retransmit() {\r\n this.$buefy.dialog.confirm({\r\n title: 'Ri-Trasmissione',\r\n message: 'Sei sicuro/a di voler ri-trasmettere l\\'ordine corrente ?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-warning',\r\n hasIcon: true,\r\n onConfirm: async () => await this.retransmitOrderAsync(),\r\n });\r\n }\r\n\r\n private async retransmitOrderAsync() {\r\n await ordersStore.sendCartAsync({ id: this.id })\r\n .then(async () => {\r\n await ordersStore.fetchOrderAsync({ id: this.id });\r\n });\r\n }\r\n\r\n private goBack() {\r\n this.$router.go(-1);\r\n }\r\n\r\n private orderNumberYear(order: Order) {\r\n if (!order) { return ''; }\r\n return order.documentNumber + '/' + order.year;\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/ts-loader/index.js??ref--13-3!./OrderTransmitted.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./OrderTransmitted.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OrderTransmitted.vue?vue&type=template&id=d6e3c2d4&\"\nimport script from \"./OrderTransmitted.ts?vue&type=script&lang=ts&\"\nexport * from \"./OrderTransmitted.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./OrderTransmitted.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Cifra\",\"icon\":\"money-bill-alt\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('custom-toolbar',{attrs:{\"can-back\":false},scopedSlots:_vm._u([{key:\"extended-toolbar-before\",fn:function(){return [_c('b-tooltip',{attrs:{\"label\":\"Refresh\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.refresh}},[_c('b-icon',{attrs:{\"icon\":\"sync\",\"type\":\"is-success\"}})],1)],1),_vm._v(\" \\n \"),_c('b-tooltip',{attrs:{\"label\":\"Stampa\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":!_vm.amounts || _vm.amounts.length <= 0},on:{\"click\":_vm.print}},[_c('b-icon',{attrs:{\"icon\":\"print\",\"type\":\"is-info\"}})],1)],1)]},proxy:true}])})]},proxy:true}])},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-one-third-desktop is-offset-two-thirds-desktop is-full-mobile\"},[_c('div',{staticClass:\"is-pulled-right filters-range\"},[_c('b-field',{attrs:{\"label\":\"Mese/Anno\",\"horizontal\":\"\"}},[_c('b-select',{attrs:{\"placeholder\":\"Mese\"},model:{value:(_vm.month),callback:function ($$v) {_vm.month=$$v},expression:\"month\"}},_vm._l((_vm.months),function(month){return _c('option',{key:month.value,domProps:{\"value\":month.value}},[_vm._v(_vm._s(month.description))])}),0),_c('b-select',{attrs:{\"placeholder\":\"Anno\"},model:{value:(_vm.year),callback:function ($$v) {_vm.year=$$v},expression:\"year\"}},_vm._l((_vm.years),function(year){return _c('option',{key:year.value,domProps:{\"value\":year.value}},[_vm._v(_vm._s(year.description))])}),0)],1)],1)])]),_c('b-table',{attrs:{\"selected\":_vm.selected,\"current-page\":_vm.pageNumber,\"paginated\":true,\"per-page\":_vm.pageSize,\"total\":_vm.total,\"backend-pagination\":\"\",\"pagination-position\":\"bottom\",\"pagination-size\":\"is-small\",\"sort-icon\":\"chevron-up\",\"sort-icon-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"data\":_vm.amounts},on:{\"update:selected\":function($event){_vm.selected=$event},\"update:currentPage\":function($event){_vm.pageNumber=$event},\"update:current-page\":function($event){_vm.pageNumber=$event},\"select\":_vm.select,\"page-change\":_vm.onPageChange},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"Causale\",\"field\":\"reasonForHandlingDescription\"}},[_vm._v(_vm._s(props.row.reasonForHandlingDescription))]),_c('b-table-column',{attrs:{\"label\":\"Data\",\"field\":\"date\",\"centered\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.row.date)))]),_c('b-table-column',{attrs:{\"label\":\"Lordo\",\"field\":\"grossAmount\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.grossAmount)))]),_c('b-table-column',{attrs:{\"label\":\"Tasse\",\"field\":\"taxes\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.taxes)))]),_c('b-table-column',{attrs:{\"label\":\"Prest.\",\"field\":\"totalAmountCharges\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.totalAmountCharges)))]),_c('b-table-column',{attrs:{\"label\":\"% Prest.\",\"field\":\"chargesPercentage\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatPercentage\")(props.row.chargesPercentage)))]),_c('b-table-column',{attrs:{\"label\":\"Netto\",\"field\":\"netAmount\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.netAmount)))]),_c('b-table-column',{attrs:{\"label\":\"Segno\",\"field\":\"signDescription\",\"centered\":\"\"}},[_vm._v(_vm._s(props.row.signDescription))])]}}])},[(_vm.amounts && _vm.amounts.length>0)?_c('template',{slot:\"footer\"},[_c('th',[_c('span',[_vm._v(\"TOTALE\")])]),_c('th',{staticClass:\"has-text-right\"},[_c('span',[_vm._v(\" \")])]),_c('th',{staticClass:\"has-text-right\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.summary.grossAmountTotal)))])]),_c('th',{staticClass:\"has-text-right\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.summary.taxesTotal)))])]),_c('th',{staticClass:\"has-text-right\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.summary.totalAmountChargesTotal)))])]),_c('th',{staticClass:\"has-text-right\"},[_c('span',[_vm._v(\" \")])]),_c('th',{staticClass:\"has-text-right\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.summary.netAmountTotal)))])]),_c('th',{staticClass:\"has-text-right\"},[_c('span',[_vm._v(\" \")])])]):_vm._e(),_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport erpStore from '@/store/erp';\r\nimport { Amount, DoubleEntryType, SelectItem } from '@/types';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport CustomToolbar from '@/components/CustomToolbar';\r\nimport { getMonthName, getCurrentMonth, getCurrentYear } from '@/filters';\r\n\r\n@Component({\r\n components: { CardComponent, CustomToolbar },\r\n})\r\nexport default class ErpAmounts extends Vue {\r\n\r\n @Prop({ default: true }) private readonly checkable!: boolean;\r\n\r\n private selected: Amount | null = null;\r\n private pageSize = appStore.maxPageSize;\r\n private pageNumber = 1;\r\n private year = getCurrentYear();\r\n private month = getCurrentMonth();\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get years(): SelectItem[] {\r\n const firstYear = getCurrentYear();\r\n return Array.from>({ length: 16 }, (x, i) => new SelectItem(firstYear - i, (firstYear - i).toString()));\r\n }\r\n\r\n get months(): SelectItem[] {\r\n return Array.from>({ length: 12 }, (x, i) => new SelectItem(1 + i, getMonthName(1 + i)));\r\n }\r\n\r\n get amounts(): Amount[] {\r\n return erpStore.amounts;\r\n }\r\n\r\n get summary(): any {\r\n const grandTotals: any = {\r\n grossAmountTotal: this.amounts.reduce((sum, amount) => this.grandTotalBySign(sum, amount.grossAmount, amount.sign), 0),\r\n taxesTotal: this.amounts.reduce((sum, amount) => this.grandTotalBySign(sum, amount.taxes, amount.sign), 0),\r\n totalAmountChargesTotal: this.amounts.reduce((sum, amount) => this.grandTotalBySign(sum, amount.totalAmountCharges, amount.sign), 0),\r\n netAmountTotal: this.amounts.reduce((sum, amount) => this.grandTotalBySign(sum, amount.netAmount, amount.sign), 0),\r\n };\r\n return grandTotals;\r\n }\r\n\r\n get total(): number {\r\n return erpStore.totalAmounts;\r\n }\r\n\r\n private async created() {\r\n await this.fetchAmountsAsync();\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 300, subMenuId: 303 });\r\n }\r\n\r\n private grandTotalBySign(sum: number, value: number, sign: DoubleEntryType): number {\r\n return sum + (sign === DoubleEntryType.Debit ? value : value * -1);\r\n }\r\n\r\n @Watch('year', { immediate: false, deep: false })\r\n private async onYearChanged(value: number, previousValue?: number) {\r\n if (!previousValue) return;\r\n this.year = value;\r\n this.pageNumber = 1;\r\n await this.fetchAmountsAsync();\r\n }\r\n\r\n @Watch('month', { immediate: false, deep: false })\r\n private async onMonthChanged(value: number, previousValue?: number) {\r\n if (!previousValue) return;\r\n this.month = value;\r\n this.pageNumber = 1;\r\n await this.fetchAmountsAsync();\r\n }\r\n\r\n private async onPageChange(page: number) {\r\n this.pageNumber = page;\r\n await this.fetchAmountsAsync();\r\n }\r\n\r\n private async refresh() {\r\n await this.onPageChange(1);\r\n }\r\n\r\n // private print() {\r\n // window.print();\r\n // }\r\n\r\n private async print() {\r\n if (this.amounts) {\r\n await erpStore.printAmountsAsync({ month: this.month, year: this.year })\r\n .then((blob) => {\r\n if (!blob) {\r\n return;\r\n }\r\n const url = URL.createObjectURL(new Blob([blob], {\r\n type: 'application/pdf',\r\n }));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', `Cifra-${this.month}-${this.year}.pdf`);\r\n link.style.display = 'none';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n });\r\n }\r\n }\r\n\r\n private select(row: Amount, oldRow: Amount | null): void {\r\n this.selected = row;\r\n }\r\n\r\n private async fetchAmountsAsync() {\r\n await erpStore.fetchAmountsAsync({ month: this.month, year: this.year, page: this.pageNumber, size: this.pageSize });\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/ts-loader/index.js??ref--13-3!./ErpAmounts.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ErpAmounts.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErpAmounts.vue?vue&type=template&id=6a043b7e&\"\nimport script from \"./ErpAmounts.ts?vue&type=script&lang=ts&\"\nexport * from \"./ErpAmounts.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ErpAmounts.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Estratto Conto\",\"icon\":\"file-invoice\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('custom-toolbar',{attrs:{\"can-back\":false},scopedSlots:_vm._u([{key:\"extended-toolbar-before\",fn:function(){return [_c('b-tooltip',{attrs:{\"label\":\"Refresh\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.refresh}},[_c('b-icon',{attrs:{\"icon\":\"sync\",\"type\":\"is-success\"}})],1)],1),_vm._v(\" \\n \"),_c('b-tooltip',{attrs:{\"label\":\"Stampa\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":!_vm.statements || _vm.statements.length <= 0},on:{\"click\":_vm.print}},[_c('b-icon',{attrs:{\"icon\":\"print\",\"type\":\"is-info\"}})],1)],1)]},proxy:true}])})]},proxy:true}])},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-one-third-desktop is-offset-two-thirds-desktop is-full-mobile\"},[_c('div',{staticClass:\"is-pulled-right filters-range\"},[_c('b-field',{attrs:{\"label\":\"Anno\",\"horizontal\":\"\"}},[_c('b-select',{attrs:{\"placeholder\":\"Anno\"},model:{value:(_vm.year),callback:function ($$v) {_vm.year=$$v},expression:\"year\"}},_vm._l((_vm.years),function(year){return _c('option',{key:year.value,domProps:{\"value\":year.value}},[_vm._v(_vm._s(year.description))])}),0)],1)],1)])]),_c('b-table',{attrs:{\"selected\":_vm.selected,\"current-page\":_vm.pageNumber,\"paginated\":true,\"per-page\":_vm.pageSize,\"total\":_vm.total,\"backend-pagination\":\"\",\"pagination-position\":\"bottom\",\"pagination-size\":\"is-small\",\"sort-icon\":\"chevron-up\",\"sort-icon-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"data\":_vm.statements},on:{\"update:selected\":function($event){_vm.selected=$event},\"update:currentPage\":function($event){_vm.pageNumber=$event},\"update:current-page\":function($event){_vm.pageNumber=$event},\"select\":_vm.select,\"page-change\":_vm.onPageChange},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"Data\",\"field\":\"monthDescription\"}},[_vm._v(_vm._s(props.row.monthDescription))]),_c('b-table-column',{attrs:{\"label\":\"Lordo\",\"field\":\"grossAmount\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.grossAmount)))]),_c('b-table-column',{attrs:{\"label\":\"Tasse\",\"field\":\"taxes\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.taxes)))]),_c('b-table-column',{attrs:{\"label\":\"Prest.\",\"field\":\"totalAmountCharges\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.totalAmountCharges)))]),_c('b-table-column',{attrs:{\"label\":\"% Prest.\",\"field\":\"chargesPercentage\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatPercentage\")(props.row.chargesPercentage)))]),_c('b-table-column',{attrs:{\"label\":\"Netto\",\"field\":\"netAmount\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.netAmount)))])]}}])},[(_vm.statements && _vm.statements.length>0)?_c('template',{slot:\"footer\"},[_c('th',[_c('span',[_vm._v(\"TOTALE\")])]),_c('th',{staticClass:\"has-text-right\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.summary.grossAmountTotal)))])]),_c('th',{staticClass:\"has-text-right\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.summary.taxesTotal)))])]),_c('th',{staticClass:\"has-text-right\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.summary.totalAmountChargesTotal)))])]),_c('th',{staticClass:\"has-text-right\"},[_c('span',[_vm._v(\" \")])]),_c('th',{staticClass:\"has-text-right\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(_vm.summary.netAmountTotal)))])])]):_vm._e(),_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport erpStore from '@/store/erp';\r\nimport { Statement, SelectItem } from '@/types';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport CustomToolbar from '@/components/CustomToolbar';\r\nimport { getCurrentYear } from '@/filters';\r\n\r\n@Component({\r\n components: { CardComponent, CustomToolbar },\r\n})\r\nexport default class ErpStatements extends Vue {\r\n\r\n @Prop({ default: true }) private readonly checkable!: boolean;\r\n\r\n private selected: Statement | null = null;\r\n private pageSize = appStore.pageSize;\r\n private pageNumber = 1;\r\n private year = getCurrentYear();\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get years(): SelectItem[] {\r\n const firstYear = getCurrentYear();\r\n return Array.from>({ length: 16 }, (x, i) => new SelectItem(firstYear - i, (firstYear - i).toString()));\r\n }\r\n\r\n get statements(): Statement[] {\r\n return erpStore.statements;\r\n }\r\n\r\n get summary(): any {\r\n const grandTotals: any = {\r\n grossAmountTotal: this.statements.reduce((sum, statement) => sum + statement.grossAmount, 0),\r\n taxesTotal: this.statements.reduce((sum, statement) => sum + statement.taxes, 0),\r\n totalAmountChargesTotal: this.statements.reduce((sum, statement) => sum + statement.totalAmountCharges, 0),\r\n netAmountTotal: this.statements.reduce((sum, statement) => sum + statement.netAmount, 0),\r\n };\r\n return grandTotals;\r\n }\r\n\r\n get total(): number {\r\n return erpStore.totalStatement;\r\n }\r\n\r\n private async created() {\r\n await this.fetchStatementsAsync();\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 300, subMenuId: 304 });\r\n }\r\n\r\n @Watch('year', { immediate: false, deep: false })\r\n private async onYearChanged(value: number, previousValue?: number) {\r\n if (!previousValue) return;\r\n this.year = value;\r\n this.pageNumber = 1;\r\n await this.fetchStatementsAsync();\r\n }\r\n\r\n private async onPageChange(page: number) {\r\n this.pageNumber = page;\r\n await this.fetchStatementsAsync();\r\n }\r\n\r\n private async refresh() {\r\n await this.onPageChange(1);\r\n }\r\n\r\n // private print() {\r\n // window.print();\r\n // }\r\n\r\n private async print() {\r\n if (this.statements) {\r\n await erpStore.printStatementsAsync({ year: this.year })\r\n .then((blob) => {\r\n if (!blob) {\r\n return;\r\n }\r\n const url = URL.createObjectURL(new Blob([blob], {\r\n type: 'application/pdf',\r\n }));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', `EstrattoConto-${this.year}.pdf`);\r\n link.style.display = 'none';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n });\r\n }\r\n }\r\n\r\n private select(row: Statement, oldRow: Statement | null): void {\r\n this.selected = row;\r\n }\r\n\r\n private async fetchStatementsAsync() {\r\n await erpStore.fetchStatementsAsync({ year: this.year, page: this.pageNumber, size: this.pageSize });\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/ts-loader/index.js??ref--13-3!./ErpStatements.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ErpStatements.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErpStatements.vue?vue&type=template&id=11271a89&\"\nimport script from \"./ErpStatements.ts?vue&type=script&lang=ts&\"\nexport * from \"./ErpStatements.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ErpStatements.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Ordini\",\"icon\":\"boxes\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('custom-toolbar',{attrs:{\"can-back\":false},scopedSlots:_vm._u([{key:\"extended-toolbar-before\",fn:function(){return [_c('b-tooltip',{attrs:{\"label\":\"Refresh\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.refresh}},[_c('b-icon',{attrs:{\"icon\":\"sync\",\"type\":\"is-success\"}})],1)],1)]},proxy:true}])})]},proxy:true}])},[_c('div',{staticClass:\"columns is-multiline\"},[_c('div',{staticClass:\"column is-one-third is-full-mobile\"},[_c('b-switch',{attrs:{\"type\":\"is-info\",\"outlined\":true},model:{value:(_vm.onlyForToday),callback:function ($$v) {_vm.onlyForToday=$$v},expression:\"onlyForToday\"}},[_vm._v(\"\\n Solo di Oggi\\n \")])],1),_c('div',{staticClass:\"column is-two-thirds is-full-mobile\"},[_c('div',{staticClass:\"is-pulled-right filters-range\"},[_c('b-field',{attrs:{\"label\":\"Dal\",\"horizontal\":\"\"}},[_c('b-select',{attrs:{\"placeholder\":\"Giorno\",\"disabled\":_vm.onlyForToday},model:{value:(_vm.day),callback:function ($$v) {_vm.day=$$v},expression:\"day\"}},_vm._l((_vm.days),function(day){return _c('option',{key:day.value,domProps:{\"value\":day.value}},[_vm._v(_vm._s(day.description))])}),0),_c('b-select',{attrs:{\"placeholder\":\"Mese\",\"disabled\":_vm.onlyForToday},model:{value:(_vm.month),callback:function ($$v) {_vm.month=$$v},expression:\"month\"}},_vm._l((_vm.months),function(month){return _c('option',{key:month.value,domProps:{\"value\":month.value}},[_vm._v(_vm._s(month.description))])}),0),_c('b-select',{attrs:{\"placeholder\":\"Anno\",\"disabled\":_vm.onlyForToday},model:{value:(_vm.year),callback:function ($$v) {_vm.year=$$v},expression:\"year\"}},_vm._l((_vm.years),function(year){return _c('option',{key:year.value,domProps:{\"value\":year.value}},[_vm._v(_vm._s(year.description))])}),0),_c('b-tooltip',{attrs:{\"label\":\"Cerca dal giorno selezionato alla fine del mese\",\"delay\":300,\"position\":\"is-left\",\"type\":\"is-dark\",\"disabled\":_vm.onlyForToday,\"size\":\"is-small\",\"multilined\":\"\"}},[_c('b-button',{attrs:{\"type\":\"is-text\",\"disabled\":_vm.onlyForToday},on:{\"click\":_vm.find}},[_c('b-icon',{attrs:{\"icon\":\"search\",\"type\":\"is-info\"}})],1)],1)],1)],1)])]),_c('b-table',{attrs:{\"selected\":_vm.selected,\"current-page\":_vm.pageNumber,\"paginated\":true,\"per-page\":_vm.pageSize,\"total\":_vm.total,\"backend-pagination\":\"\",\"pagination-position\":\"bottom\",\"pagination-size\":\"is-small\",\"sort-icon\":\"chevron-up\",\"sort-icon-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"data\":_vm.orders},on:{\"update:selected\":function($event){_vm.selected=$event},\"update:currentPage\":function($event){_vm.pageNumber=$event},\"update:current-page\":function($event){_vm.pageNumber=$event},\"select\":_vm.select,\"page-change\":_vm.onPageChange},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"A\",\"field\":\"annu\",\"width\":\"20\"}},[_vm._v(_vm._s(props.row.annu))]),_c('b-table-column',{attrs:{\"label\":\"Num.\",\"field\":\"documentNumber\",\"width\":\"200\",\"numeric\":\"\"}},[_vm._v(_vm._s(props.row.documentNumber))]),_c('b-table-column',{attrs:{\"label\":\"Data\",\"field\":\"date\",\"centered\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.row.date)))]),_c('b-table-column',{attrs:{\"label\":\"Doc.\",\"field\":\"documentTypeDescription\"}},[_vm._v(_vm._s(props.row.documentTypeDescription))]),_c('b-table-column',{attrs:{\"label\":\"Importo\",\"field\":\"amount\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.amount)))]),_c('b-table-column',{attrs:{\"label\":\"Giro\",\"field\":\"deliveryNumber\"}},[_vm._v(_vm._s(props.row.deliveryNumber))]),_c('b-table-column',{attrs:{\"label\":\"Ora\",\"field\":\"date\",\"numeric\":\"\",\"centered\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatTime\")(props.row.date)))]),_c('b-table-column',{attrs:{\"label\":\"Utente\",\"field\":\"user\"}},[_vm._v(_vm._s(props.row.user))]),_c('b-table-column',{attrs:{\"label\":\"Av\",\"field\":\"documentStatus\",\"centered\":\"\"}},[_vm._v(_vm._s(props.row.documentStatus))]),_c('b-table-column',{staticClass:\"is-actions-cell\",attrs:{\"custom-key\":\"actions\"}},[_c('div',{staticClass:\"buttons is-right\"},[_c('b-tooltip',{attrs:{\"label\":\"Visualizza Dettaglio\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('router-link',{staticClass:\"button is-text\",attrs:{\"to\":{ name: 'ordersLines', params: { day: _vm.day, month: _vm.month, year: _vm.year, id: props.row.documentNumber }},\"active-class\":\"\",\"exact-active-class\":\"\"}},[_c('b-icon',{attrs:{\"icon\":\"eye\",\"type\":\"is-info\"}})],1)],1)],1)])]}}])},[_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport erpStore from '@/store/erp';\r\nimport { ErpOrder, SelectItem } from '@/types';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport CustomToolbar from '@/components/CustomToolbar';\r\nimport { getMonthName, getCurrentDay, getCurrentMonth, getCurrentYear } from '@/filters';\r\nimport { ErpOrdersSearch } from '@/models';\r\n\r\n@Component({\r\n components: { CardComponent, CustomToolbar },\r\n})\r\nexport default class ErpOrders extends Vue {\r\n\r\n @Prop({ default: true }) private readonly checkable!: boolean;\r\n\r\n private selected: ErpOrder | null = null;\r\n private pageSize = this.search.pageSize;\r\n private pageNumber = this.search.pageNumber;\r\n private day = this.search.day;\r\n private month = this.search.month;\r\n private year = this.search.year;\r\n private onlyForToday = this.search.onlyForToday;\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get days(): SelectItem[] {\r\n return Array.from>({ length: 31 }, (x, i) => new SelectItem(1 + i, (1 + i).toString()));\r\n }\r\n\r\n get months(): SelectItem[] {\r\n return Array.from>({ length: 12 }, (x, i) => new SelectItem(1 + i, getMonthName(1 + i)));\r\n }\r\n\r\n get years(): SelectItem[] {\r\n const firstYear = getCurrentYear();\r\n return Array.from>({ length: 16 }, (x, i) => new SelectItem(firstYear - i, (firstYear - i).toString()));\r\n }\r\n\r\n get orders(): ErpOrder[] {\r\n return erpStore.orders;\r\n }\r\n\r\n get total(): number {\r\n return erpStore.totalOrders;\r\n }\r\n\r\n get search(): ErpOrdersSearch {\r\n return erpStore.ordersSearch;\r\n }\r\n\r\n private async created() {\r\n if (!this.orders || this.total === 0) {\r\n await this.fetchOrdersAsync();\r\n }\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 300, subMenuId: 301 });\r\n }\r\n\r\n @Watch('onlyForToday', { immediate: false, deep: false })\r\n private async onOnlyForTodayChanged(value: boolean, previousValue?: boolean) {\r\n\r\n if (previousValue === undefined) return;\r\n\r\n if (this.onlyForToday) {\r\n this.search.day = getCurrentDay();\r\n this.search.month = getCurrentMonth();\r\n this.search.year = getCurrentYear();\r\n } else {\r\n this.search.day = 1;\r\n }\r\n this.search.onlyForToday = value;\r\n this.search.pageNumber = 1;\r\n await this.fetchOrdersAsync();\r\n }\r\n\r\n private async onPageChange(page: number) {\r\n this.search.pageNumber = page;\r\n await this.fetchOrdersAsync();\r\n }\r\n\r\n private async refresh() {\r\n await this.onPageChange(1);\r\n }\r\n\r\n private async find() {\r\n this.search.day = this.day;\r\n this.search.month = this.month;\r\n this.search.year = this.year;\r\n await this.onPageChange(1);\r\n }\r\n\r\n private select(row: ErpOrder, oldRow: ErpOrder | null): void {\r\n this.selected = row;\r\n }\r\n\r\n private async fetchOrdersAsync() {\r\n await erpStore.fetchOrdersAsync(this.search);\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/ts-loader/index.js??ref--13-3!./ErpOrders.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ErpOrders.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErpOrders.vue?vue&type=template&id=0fb67b18&\"\nimport script from \"./ErpOrders.ts?vue&type=script&lang=ts&\"\nexport * from \"./ErpOrders.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ErpOrders.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Ordini\",\"icon\":\"boxes\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('custom-toolbar',{attrs:{\"can-back\":true},on:{\"back\":_vm.back},scopedSlots:_vm._u([{key:\"extended-toolbar-before\",fn:function(){return [_c('b-tooltip',{attrs:{\"label\":\"Refresh\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":_vm.refresh}},[_c('b-icon',{attrs:{\"icon\":\"sync\",\"type\":\"is-success\"}})],1)],1)]},proxy:true}])})]},proxy:true}])},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-two-thirds\"},[_c('b-field',{attrs:{\"horizontal\":\"\",\"label\":\"Rif. Documento\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.order.documentNumber}}),_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.order.documentTypeDescription}})],1),_c('b-field',{attrs:{\"horizontal\":\"\",\"label\":\"Data\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatDate\")(_vm.order.date)}})],1)],1),_c('div',{staticClass:\"column is-one-third-desktop is-full-mobile\"},[_c('div',{staticClass:\"is-pulled-right\"},[_c('b-field',{attrs:{\"label\":\"Vista\",\"horizontal\":\"\"}},[_c('b-select',{attrs:{\"placeholder\":\"Vista\"},model:{value:(_vm.viewType),callback:function ($$v) {_vm.viewType=$$v},expression:\"viewType\"}},_vm._l((_vm.filters),function(filter){return _c('option',{key:filter.value,domProps:{\"value\":filter.value}},[_vm._v(_vm._s(filter.description))])}),0)],1)],1)])]),_c('b-table',{attrs:{\"selected\":_vm.selected,\"current-page\":_vm.pageNumber,\"paginated\":true,\"per-page\":_vm.pageSize,\"total\":_vm.total,\"pagination-position\":\"bottom\",\"pagination-size\":\"is-small\",\"sort-icon\":\"chevron-up\",\"sort-icon-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"data\":_vm.orderLines,\"row-class\":_vm.rowStyle},on:{\"update:selected\":function($event){_vm.selected=$event},\"update:currentPage\":function($event){_vm.pageNumber=$event},\"update:current-page\":function($event){_vm.pageNumber=$event},\"select\":_vm.select},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"A\",\"field\":\"annu\",\"width\":\"20\"}},[_vm._v(_vm._s(props.row.annu))]),_c('b-table-column',{attrs:{\"label\":\"Bol.\",\"field\":\"progressive\",\"width\":\"200\",\"numeric\":\"\"}},[_vm._v(_vm._s(props.row.progressive))]),_c('b-table-column',{attrs:{\"label\":\"Com.\",\"field\":\"lineType\",\"centered\":\"\"}},[_vm._v(_vm._s(props.row.lineType))]),_c('b-table-column',{attrs:{\"label\":\"Riga\",\"field\":\"lineNumber\",\"width\":\"200\",\"numeric\":\"\"}},[_vm._v(_vm._s(props.row.lineNumber))]),_c('b-table-column',{attrs:{\"label\":\"Articolo\",\"field\":\"name\"}},[_vm._v(_vm._s(props.row.name))]),_c('b-table-column',{attrs:{\"label\":\"Ord\",\"field\":\"orderedQuantity\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.orderedQuantity)))]),_c('b-table-column',{attrs:{\"label\":\"Mov\",\"field\":\"deliveredQuantity\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.deliveredQuantity)))]),_c('b-table-column',{attrs:{\"label\":\"Fat\",\"field\":\"invoicedQuantity\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatCurrency\")(props.row.invoicedQuantity)))]),_c('b-table-column',{attrs:{\"label\":\"Nota\",\"field\":\"notes\",\"centered\":\"\"}},[_vm._v(_vm._s(props.row.notes))])]}}])},[_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport erpStore from '@/store/erp';\r\nimport { ErpOrder, ErpOrderLine, SelectItem } from '@/types';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport CustomToolbar from '@/components/CustomToolbar';\r\n\r\n@Component({\r\n components: { CardComponent, CustomToolbar },\r\n})\r\nexport default class ErpOrderLines extends Vue {\r\n\r\n // Injectectd from url\r\n @Prop({ default: 0 }) private readonly day!: number;\r\n @Prop({ default: 0 }) private readonly month!: number;\r\n @Prop({ default: 0 }) private readonly year!: number;\r\n @Prop({ default: 0 }) private readonly id!: number;\r\n\r\n private selected: ErpOrder | null = null;\r\n private pageSize = appStore.pageSize;\r\n private pageNumber = 1;\r\n private viewType = 'B';\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get order(): ErpOrder {\r\n const orders = erpStore.orders.filter((o) => o.documentNumber === this.id);\r\n if (orders && orders.length > 0) {\r\n return orders[0];\r\n }\r\n return {} as ErpOrder;\r\n }\r\n\r\n get orderLines(): ErpOrderLine[] {\r\n return erpStore.orderLines;\r\n }\r\n\r\n get total(): number {\r\n return erpStore.totalOrderLines;\r\n }\r\n\r\n private async created() {\r\n await this.fetchOrderLinesAsync();\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 300, subMenuId: 301 });\r\n }\r\n\r\n get filters(): SelectItem[] {\r\n const result: SelectItem[] = [];\r\n result.push({ value: 'B', description: 'Bollettino'} as SelectItem);\r\n result.push({ value: 'F', description: 'Fattura'} as SelectItem);\r\n result.push({ value: 'R', description: 'Ripresa'} as SelectItem);\r\n return result;\r\n }\r\n\r\n @Watch('viewType', { immediate: false, deep: false })\r\n private async onViewFilterChanged(value: string, previousValue?: string) {\r\n if (previousValue === undefined) return;\r\n await this.fetchOrderLinesAsync();\r\n }\r\n\r\n private async refresh() {\r\n await this.fetchOrderLinesAsync();\r\n }\r\n\r\n private back() {\r\n this.$router.go(-1);\r\n }\r\n\r\n private select(row: ErpOrder, oldRow: ErpOrder | null): void {\r\n this.selected = row;\r\n }\r\n\r\n private async fetchOrderLinesAsync() {\r\n await erpStore.fetchOrderLinesAsync({ day: this.day, month: this.month, year: this.year, documentNumber: this.id, orderBy: this.viewType });\r\n }\r\n\r\n private rowStyle(orderLine: ErpOrderLine, index: number) {\r\n if (orderLine && orderLine.lineType === 'N') {\r\n return 'is-warning';\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/ts-loader/index.js??ref--13-3!./ErpOrderLines.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ErpOrderLines.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErpOrderLines.vue?vue&type=template&id=6465e500&\"\nimport script from \"./ErpOrderLines.ts?vue&type=script&lang=ts&\"\nexport * from \"./ErpOrderLines.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Mercatino\",\"icon\":\"store\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('list-toolbar',{attrs:{\"can-add\":true,\"can-remove\":_vm.canRemove,\"can-edit\":_vm.canEdit},on:{\"add\":_vm.addAd,\"remove\":_vm.deleteAd,\"edit\":_vm.editAd,\"refresh\":_vm.reload}})]},proxy:true}])},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-three-quarters is-full-mobile\"},[_c('b-field',{attrs:{\"expanded\":\"\"}},[_c('b-input',{attrs:{\"placeholder\":\"Cerca (min 3 char o vuoto per tutti)\",\"type\":\"search\",\"icon\":\"search\",\"maxlength\":\"500\"},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=$$v},expression:\"keyword\"}})],1)],1),_c('div',{staticClass:\"column is-one-third-desktop is-full-mobile\"},[_c('b-field',{attrs:{\"label\":\"Tipo\",\"horizontal\":\"\"}},[_c('b-select',{attrs:{\"placeholder\":\"Tipo\"},model:{value:(_vm.adType),callback:function ($$v) {_vm.adType=$$v},expression:\"adType\"}},_vm._l((_vm.filters),function(filter){return _c('option',{key:filter.value,domProps:{\"value\":filter.value}},[_vm._v(_vm._s(filter.description))])}),0)],1)],1)]),_c('b-table',{attrs:{\"selected\":_vm.selected,\"current-page\":_vm.currentPage,\"paginated\":true,\"per-page\":_vm.search.pageSize,\"total\":_vm.total,\"backend-pagination\":\"\",\"pagination-position\":\"bottom\",\"pagination-size\":\"is-small\",\"sort-icon\":\"chevron-up\",\"sort-icon-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"data\":_vm.ads,\"detailed\":\"\",\"custom-detail-row\":\"\"},on:{\"update:selected\":function($event){_vm.selected=$event},\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"select\":_vm.select,\"page-change\":_vm.onPageChange},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"Tipo\",\"field\":\"typeDescription\"}},[_vm._v(_vm._s(props.row.typeDescription))]),_c('b-table-column',{attrs:{\"label\":\"Data\",\"field\":\"createdAt\",\"centered\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.row.createdAt)))]),_c('b-table-column',{attrs:{\"label\":\"Farmacia\",\"field\":\"partnerName\"}},[_vm._v(_vm._s(props.row.partnerName))]),_c('b-table-column',{attrs:{\"label\":\"Messaggio\",\"field\":\"title\"}},[_vm._v(_vm._s(props.row.title))]),_c('b-table-column',{staticClass:\"is-actions-cell\",attrs:{\"custom-key\":\"actions\"}},[_c('div',{staticClass:\"buttons is-right\"},[_c('b-tooltip',{attrs:{\"label\":\"Visualizza Dettaglio\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('router-link',{staticClass:\"button is-text\",attrs:{\"to\":{ name: 'market', params: { id: props.row.id }},\"active-class\":\"\",\"exact-active-class\":\"\"}},[_c('b-icon',{attrs:{\"icon\":\"eye\",\"type\":\"is-info\"}})],1)],1)],1)])]}},{key:\"detail\",fn:function(props){return [_c('tr',{attrs:{\"draggable\":\"false\"}},[_c('td',{attrs:{\"colspan\":\"6\"}},[_c('section',{staticClass:\"hero is-light\"},[_c('div',{staticClass:\"hero-body\"},[_c('div',{staticClass:\"container\"},[_c('p',[_vm._v(_vm._s(props.row.message))])])])])])])]}}])},[_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport erpStore from '@/store/erp';\r\nimport authenticator from '@/store/authentication';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport ListToolbar from '@/components/ListToolbar';\r\nimport { MarketAd, MarketAdType, SelectItem } from '@/types';\r\nimport { debounce } from '@/core/debounce';\r\nimport { MarketAdsSearch } from '@/models';\r\n// import tracer from '@/core/tracer';\r\n\r\n@Component({\r\n components: { CardComponent, ListToolbar },\r\n})\r\nexport default class ErpMarket extends Vue {\r\n\r\n @Prop({ default: true }) private readonly checkable!: boolean;\r\n\r\n private selected: MarketAd | null = null;\r\n\r\n private keyword = this.search.keyword;\r\n private adType = this.search.adType;\r\n private currentPage = this.search.pageNumber;\r\n private pageSize = this.search.pageSize;\r\n\r\n private readonly minLength = 3;\r\n\r\n private debouncedFetchMarketAdsAsync = async (): Promise => undefined;\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get ads(): MarketAd[] {\r\n return erpStore.marketAds;\r\n }\r\n\r\n get total(): number {\r\n return erpStore.totalMarketAds;\r\n }\r\n\r\n get search(): MarketAdsSearch {\r\n return erpStore.marketAdsSearch;\r\n }\r\n\r\n get filters(): SelectItem[] {\r\n const result: SelectItem[] = [];\r\n result.push({ value: MarketAdType.ALL, description: 'Tutti'} as SelectItem);\r\n result.push({ value: MarketAdType.RC, description: 'Ricerche'} as SelectItem);\r\n result.push({ value: MarketAdType.OF, description: 'Offerte'} as SelectItem);\r\n result.push({ value: MarketAdType.PR, description: 'Lavoro'} as SelectItem);\r\n result.push({ value: MarketAdType.VA, description: 'Varie'} as SelectItem);\r\n result.push({ value: MarketAdType.AL, description: 'Allarmi'} as SelectItem);\r\n return result;\r\n }\r\n\r\n get canRemove(): boolean {\r\n if (!this.selected) return false;\r\n if (this.selected.partnerCode === authenticator.userProfile.aid) return true;\r\n return false;\r\n }\r\n\r\n get canEdit(): boolean {\r\n if (!this.selected) return false;\r\n if (this.selected.partnerCode === authenticator.userProfile.aid) return true;\r\n return false;\r\n }\r\n\r\n private async created() {\r\n this.debouncedFetchMarketAdsAsync = debounce(this.fetchMarketAdsAsync, 600);\r\n if (!this.ads || this.total === 0) {\r\n await this.fetchMarketAdsAsync();\r\n }\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({rootId: 200, subMenuId: 201 });\r\n }\r\n\r\n @Watch('keyword', { immediate: false, deep: false })\r\n private async onKeywordChanged(value: string, previousValue?: string) {\r\n\r\n // tracer('onKeywordChanged', [value, previousValue]);\r\n\r\n if (previousValue === undefined) return;\r\n if (value.trim() === '' || value.trim().length >= this.minLength) {\r\n this.search.keyword = value;\r\n this.search.pageNumber = 1;\r\n await this.debouncedFetchMarketAdsAsync();\r\n }\r\n }\r\n\r\n @Watch('adType', { immediate: false, deep: false })\r\n private async onAdTypeChanged(value: number, previousValue?: number) {\r\n if (previousValue === undefined) return;\r\n\r\n // tracer('onAdTypeChanged', [value, previousValue]);\r\n\r\n this.search.adType = value;\r\n this.search.pageNumber = 1;\r\n\r\n await this.fetchMarketAdsAsync();\r\n }\r\n\r\n private async addAd() {\r\n await this.$router.push({ name: 'market', params: { id: '0' } });\r\n }\r\n\r\n private async editAd(marketAd: MarketAd) {\r\n\r\n if (!this.canEdit) return;\r\n\r\n const selectedId: number = marketAd ? marketAd.id : (this.selected as MarketAd).id;\r\n\r\n await this.$router.push({ name: 'market', params: { id: selectedId.toString() } });\r\n }\r\n\r\n private async deleteAd() {\r\n if (!this.canRemove) { return; }\r\n\r\n const selectedId: number = this.selected!.id;\r\n\r\n this.$buefy.dialog.confirm({\r\n title: 'Eliminazione Annuncio',\r\n message: 'Sei sicuro/a di voler rimuovere l\\'annuncio selezionato ?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-warning',\r\n hasIcon: true,\r\n onConfirm: async () => {\r\n await erpStore.deleteMarketAdAsync({ id: selectedId });\r\n },\r\n });\r\n }\r\n\r\n private async onPageChange(page: number) {\r\n this.search.pageNumber = page;\r\n await this.fetchMarketAdsAsync();\r\n }\r\n\r\n private select(row: MarketAd, oldRow: MarketAd | null): void {\r\n this.selected = row;\r\n }\r\n\r\n private async reload() {\r\n this.search.pageNumber = 1;\r\n await this.fetchMarketAdsAsync();\r\n }\r\n\r\n private async fetchMarketAdsAsync() {\r\n await erpStore.fetchMarketAdsAsync(this.search);\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/ts-loader/index.js??ref--13-3!./ErpMarket.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ErpMarket.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErpMarket.vue?vue&type=template&id=3d7c710a&\"\nimport script from \"./ErpMarket.ts?vue&type=script&lang=ts&\"\nexport * from \"./ErpMarket.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ErpMarket.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Mercatino\",\"icon\":\"store\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('edit-toolbar',{on:{\"cancel\":_vm.cancel,\"save\":function($event){return _vm.$refs.submitter.click()}}})]},proxy:true}])},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.save($event)}}},[_c('b-field',{attrs:{\"horizontal\":\"\",\"label\":\"Data\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatDate\")(_vm.marketAd.createdAt)}})],1),_c('b-field',{attrs:{\"horizontal\":\"\",\"label\":\"Data Scad.\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm._f(\"formatDate\")(_vm.marketAd.expiryDate)}})],1),_c('b-field',{attrs:{\"horizontal\":\"\",\"label\":\"Farmacia\"}},[_c('b-input',{attrs:{\"custom-class\":\"is-static\",\"readonly\":\"\",\"value\":_vm.marketAd.partnerName}})],1),_c('b-field',{attrs:{\"label\":\"Tipo\"}},[_c('b-select',{attrs:{\"placeholder\":\"Tipo\",\"required\":\"\"},model:{value:(_vm.marketAd.type),callback:function ($$v) {_vm.$set(_vm.marketAd, \"type\", $$v)},expression:\"marketAd.type\"}},_vm._l((_vm.types),function(type){return _c('option',{key:type.value,domProps:{\"value\":type.value}},[_vm._v(_vm._s(type.description))])}),0)],1),_c('b-field',{attrs:{\"label\":\"Messaggio\"}},[_c('b-input',{attrs:{\"placeholder\":\"Messaggio\",\"required\":\"\",\"maxlength\":\"60\",\"validation-message\":\"campo obbligatorio\"},model:{value:(_vm.marketAd.title),callback:function ($$v) {_vm.$set(_vm.marketAd, \"title\", $$v)},expression:\"marketAd.title\"}})],1),_c('b-field',{attrs:{\"label\":\"Testo\"}},[_c('b-input',{attrs:{\"type\":\"textarea\",\"placeholder\":\"Testo\",\"maxlength\":\"1024\",\"validation-message\":\"campo obbligatorio\"},model:{value:(_vm.marketAd.message),callback:function ($$v) {_vm.$set(_vm.marketAd, \"message\", $$v)},expression:\"marketAd.message\"}})],1),_c('hr'),_c('button',{ref:\"submitter\",staticClass:\"is-hidden\",attrs:{\"type\":\"submit\"}})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport erpStore from '@/store/erp';\r\nimport authenticator from '@/store/authentication';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport EditToolbar from '@/components/EditToolbar';\r\nimport { MarketAd, MarketAdType, SelectItem, UserProfile } from '@/types';\r\nimport { addDays } from '@/filters';\r\n\r\n@Component({\r\n components: { CardComponent, EditToolbar },\r\n })\r\nexport default class ErpMarketDetail extends Vue {\r\n\r\n // Injectectd from url\r\n @Prop({ default: 0 }) private readonly id!: number;\r\n\r\n get marketAd(): MarketAd {\r\n\r\n if (this.id > 0) {\r\n const marketAds = erpStore.marketAds.filter((m) => m.id === this.id);\r\n if (marketAds && marketAds.length > 0) {\r\n return marketAds[0];\r\n }\r\n }\r\n\r\n const currentUser = authenticator.userProfile || { company: '', address: '', phone_number: '' } as UserProfile;\r\n\r\n return {\r\n id: 0,\r\n createdAt: new Date(),\r\n title: '',\r\n message: '',\r\n partnerName: currentUser.company + ' - ' + (currentUser.address || '') + ' Tel: ' + (currentUser.phone_number || ''),\r\n type: MarketAdType[MarketAdType.RC],\r\n expiryDate: addDays(new Date(), 10),\r\n } as MarketAd;\r\n }\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get types(): SelectItem[] {\r\n return erpStore.marketTypes;\r\n }\r\n\r\n get isNewMarketAd(): boolean {\r\n return this.id === 0;\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({rootId: 200, subMenuId: 201 });\r\n }\r\n\r\n private async save() {\r\n this.$buefy.dialog.confirm({\r\n title: 'Termina sessione',\r\n message: 'Sei sicuro/a di voler salvare l\\'annuncio ?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-info',\r\n hasIcon: true,\r\n onConfirm: async () => {\r\n await this.saveAsync();\r\n },\r\n });\r\n }\r\n\r\n private async saveAsync() {\r\n await erpStore.upsertMarketAdAsync(\r\n {\r\n id: this.marketAd.id,\r\n title: this.marketAd.title,\r\n message: this.marketAd.message,\r\n partnerName: this.marketAd.partnerName,\r\n type: this.marketAd.type,\r\n createdAt: this.marketAd.createdAt,\r\n expiryDate: this.marketAd.expiryDate!,\r\n })\r\n .then((result) => {\r\n if (result) {\r\n this.$router.go(-1);\r\n }\r\n });\r\n }\r\n\r\n private cancel(): void {\r\n this.$router.go(-1);\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/ts-loader/index.js??ref--13-3!./ErpMarketDetail.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ErpMarketDetail.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErpMarketDetail.vue?vue&type=template&id=2f2162af&\"\nimport script from \"./ErpMarketDetail.ts?vue&type=script&lang=ts&\"\nexport * from \"./ErpMarketDetail.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Articoli in Nota\",\"icon\":\"truck-loading\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('list-toolbar',{attrs:{\"show-add\":false,\"show-remove\":false,\"show-edit\":false},on:{\"refresh\":_vm.reload}})]},proxy:true}])},[_c('div',{staticClass:\"columns is-multiline\"},[_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"expanded\":\"\"}},[_c('b-input',{attrs:{\"placeholder\":\"Cerca (min 3 char o vuoto per tutti)\",\"type\":\"search\",\"icon\":\"search\",\"maxlength\":\"50\"},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=$$v},expression:\"keyword\"}})],1)],1),_c('div',{staticClass:\"column is-offset-1\"},[_c('b-field',[_c('b-switch',{attrs:{\"type\":\"is-warning\",\"outlined\":true},model:{value:(_vm.searchAll),callback:function ($$v) {_vm.searchAll=$$v},expression:\"searchAll\"}},[_vm._v(\"Solo Aperte/Tutte\")])],1)],1),_c('div',{staticClass:\"column\"},[_c('b-field',[_c('b-switch',{attrs:{\"true-value\":1,\"false-value\":0,\"type\":\"is-info\",\"outlined\":true},model:{value:(_vm.searchType),callback:function ($$v) {_vm.searchType=$$v},expression:\"searchType\"}},[_vm._v(\"In tutta descrizione\")])],1)],1)]),_c('b-table',{attrs:{\"selected\":_vm.selected,\"current-page\":_vm.pageNumber,\"paginated\":true,\"per-page\":_vm.pageSize,\"total\":_vm.total,\"backend-pagination\":\"\",\"pagination-position\":\"bottom\",\"pagination-size\":\"is-small\",\"sort-icon\":\"chevron-up\",\"sort-icon-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"data\":_vm.products,\"row-class\":_vm.rowStyle},on:{\"update:selected\":function($event){_vm.selected=$event},\"update:currentPage\":function($event){_vm.pageNumber=$event},\"update:current-page\":function($event){_vm.pageNumber=$event},\"select\":_vm.select,\"page-change\":_vm.onPageChange},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"I\",\"field\":\"status\",\"width\":\"80\",\"centered\":\"\"}},[_c('column-status-product-orders',{attrs:{\"product\":props.row}})],1),_c('b-table-column',{attrs:{\"label\":\"Data\",\"field\":\"date\",\"centered\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.row.date)))]),_c('b-table-column',{attrs:{\"label\":\"N\",\"field\":\"line\",\"width\":\"80\",\"centered\":\"\"}},[_vm._v(_vm._s(props.row.line))]),_c('b-table-column',{attrs:{\"label\":\"Ord\",\"field\":\"documentNumber\",\"numeric\":\"\"}},[_vm._v(_vm._s(props.row.documentNumber))]),_c('b-table-column',{attrs:{\"label\":\"Q.ta\",\"field\":\"orderedQuantity\",\"numeric\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatNumber\")(props.row.orderedQuantity)))]),_c('b-table-column',{attrs:{\"label\":\"Articolo\",\"field\":\"name\"}},[_vm._v(_vm._s(props.row.name))]),_c('b-table-column',{attrs:{\"label\":\"Stato\",\"field\":\"statusDescription\",\"centered\":\"\"}},[_vm._v(_vm._s(props.row.statusDescription))])]}}])},[_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.product.annu)?_c('div',[_c('b-icon',{attrs:{\"icon\":\"exclamation-triangle\",\"type\":\"is-danger\"}})],1):_c('div',[(_vm.product.communicationCode && _vm.product.communicationCode === 'K')?_c('b-tooltip',{attrs:{\"label\":_vm.product.notes || '',\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('b-icon',{attrs:{\"icon\":\"info-circle\",\"type\":\"is-info\"}})],1):_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.product.communicationCode || '')+\"\\n \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Prop, Component, Vue } from 'vue-property-decorator';\r\nimport { ProductInOrder } from '@/types';\r\n\r\n@Component\r\nexport default class ColumnStatusProductOrders extends Vue {\r\n\r\n @Prop({ default: undefined, required: true }) private readonly product!: ProductInOrder;\r\n\r\n // private types = ['is-info', 'is-success', 'is-danger'];\r\n // private icons = ['hourglass', 'check', 'exclamation-triangle'];\r\n\r\n // get type(): string {\r\n // return this.status ? this.types[this.status] : this.types[0];\r\n // }\r\n\r\n // get icon(): string {\r\n // return this.status ? this.icons[this.status] : this.icons[0];\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/ts-loader/index.js??ref--13-3!./ColumnStatusProductOrders.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ColumnStatusProductOrders.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ColumnStatusProductOrders.vue?vue&type=template&id=1726174d&\"\nimport script from \"./ColumnStatusProductOrders.ts?vue&type=script&lang=ts&\"\nexport * from \"./ColumnStatusProductOrders.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport erpStore from '@/store/erp';\r\nimport { ProductInOrder, TypeOfSearch } from '@/types';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport ListToolbar from '@/components/ListToolbar';\r\nimport ColumnStatusProductOrders from '@/components/ColumnStatusProductOrders';\r\nimport { debounce } from '@/core/debounce';\r\n\r\n@Component({\r\n components: { CardComponent, ListToolbar, ColumnStatusProductOrders },\r\n})\r\nexport default class ErpProductsInOrders extends Vue {\r\n\r\n @Prop({ default: true }) private readonly checkable!: boolean;\r\n\r\n private selected: ProductInOrder | null = null;\r\n private keyword = '';\r\n private searchType: TypeOfSearch = TypeOfSearch.StartsWith;\r\n private searchAll = false;\r\n private pageSize = appStore.pageSize;\r\n private pageNumber = 1;\r\n\r\n private readonly minLength = 3;\r\n\r\n private debouncedFetchProductsInOrdersAsync = async (): Promise => undefined;\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get products(): ProductInOrder[] {\r\n return erpStore.productInOrders;\r\n }\r\n\r\n get total(): number {\r\n const xxx = erpStore.totalProductInOrders;\r\n return erpStore.totalProductInOrders;\r\n }\r\n\r\n private async created() {\r\n this.debouncedFetchProductsInOrdersAsync = debounce(this.fetchProductsInOrdersAsync, 600);\r\n await this.fetchProductsInOrdersAsync();\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 300, subMenuId: 302 });\r\n }\r\n\r\n @Watch('keyword', { immediate: false, deep: false })\r\n private async onKeywordChanged(value: string, previousValue?: string) {\r\n\r\n if (previousValue === undefined) return;\r\n if (value.trim() === '' || value.trim().length >= this.minLength) {\r\n this.pageNumber = 1;\r\n await this.debouncedFetchProductsInOrdersAsync();\r\n }\r\n }\r\n\r\n @Watch('searchAll', { immediate: false, deep: false })\r\n private async onHistoricalChanged(value: boolean, previousValue?: boolean) {\r\n\r\n if (previousValue === undefined) return;\r\n\r\n this.pageNumber = 1;\r\n this.searchAll = value;\r\n await this.debouncedFetchProductsInOrdersAsync();\r\n }\r\n\r\n @Watch('searchType', { immediate: false, deep: false })\r\n private async onSearchTypeChanged(value: TypeOfSearch, previousValue?: TypeOfSearch) {\r\n\r\n if (previousValue === undefined) return;\r\n\r\n this.pageNumber = 1;\r\n this.searchType = value;\r\n await this.debouncedFetchProductsInOrdersAsync();\r\n }\r\n\r\n private async onPageChange(page: number) {\r\n this.pageNumber = page;\r\n await this.fetchProductsInOrdersAsync();\r\n }\r\n\r\n private async reload() {\r\n await this.onPageChange(1);\r\n }\r\n\r\n private print() {\r\n if (!this.select) { return; }\r\n return;\r\n }\r\n\r\n private select(row: ProductInOrder, oldRow: ProductInOrder | null): void {\r\n this.selected = row;\r\n }\r\n\r\n private async fetchProductsInOrdersAsync() {\r\n await erpStore.fetchProductsInOrdersAsync({ keyword: this.keyword, searchType: this.searchType, searchAll: this.searchAll, page: this.pageNumber, size: this.pageSize });\r\n }\r\n\r\n private rowStyle(product: ProductInOrder, index: number): string {\r\n\r\n if (!product) { return ''; }\r\n\r\n if (product.annu) {\r\n if (product.annu === 'A' || product.annu === 'X') {\r\n return 'is-warning';\r\n }\r\n }\r\n\r\n\r\n if (product.status && product.status > 70) {\r\n return 'is-information';\r\n }\r\n\r\n return '';\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/ts-loader/index.js??ref--13-3!./ErpProductsInOrders.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./ErpProductsInOrders.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErpProductsInOrders.vue?vue&type=template&id=2feafb1e&\"\nimport script from \"./ErpProductsInOrders.ts?vue&type=script&lang=ts&\"\nexport * from \"./ErpProductsInOrders.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Banners\",\"icon\":\"ad\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('list-toolbar',{attrs:{\"can-add\":true,\"can-remove\":_vm.canRemove,\"can-edit\":_vm.canEdit},on:{\"add\":_vm.addBanner,\"remove\":_vm.deleteBanner,\"edit\":_vm.editBanner,\"refresh\":_vm.refresh}})]},proxy:true}])},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-one-quarter is-full-mobile\"},[_c('b-field',{attrs:{\"label\":\"Valido Dal\",\"horizontal\":\"\"}},[_c('b-datepicker',{attrs:{\"show-week-number\":true,\"placeholder\":\"Seleziona...\",\"icon\":\"calendar-alt\",\"expanded\":\"\"},model:{value:(_vm.fromDate),callback:function ($$v) {_vm.fromDate=$$v},expression:\"fromDate\"}})],1)],1),_c('div',{staticClass:\"column is-one-quarter is-full-mobile\"},[_c('b-field',{attrs:{\"label\":\"Al\",\"horizontal\":\"\"}},[_c('b-datepicker',{attrs:{\"show-week-number\":true,\"placeholder\":\"Seleziona...\",\"icon\":\"calendar-alt\",\"expanded\":\"\"},model:{value:(_vm.toDate),callback:function ($$v) {_vm.toDate=$$v},expression:\"toDate\"}})],1)],1),_c('div',{staticClass:\"column\"})]),_c('b-table',{attrs:{\"selected\":_vm.selected,\"paginated\":true,\"per-page\":_vm.pageSize,\"total\":_vm.total,\"backend-pagination\":\"\",\"pagination-position\":\"bottom\",\"pagination-size\":\"is-small\",\"sort-icon\":\"chevron-up\",\"sort-icon-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"data\":_vm.banners},on:{\"update:selected\":function($event){_vm.selected=$event},\"select\":_vm.select,\"dblclick\":_vm.editBanner,\"page-change\":_vm.onPageChange},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"Nome\",\"field\":\"name\"}},[_vm._v(_vm._s(props.row.name))]),_c('b-table-column',{attrs:{\"label\":\"Data Inizio\",\"field\":\"publishingDate\",\"centered\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.row.publishingDate)))]),_c('b-table-column',{attrs:{\"label\":\"Data Scadenza\",\"field\":\"expiryDate\",\"centered\":\"\"}},[_vm._v(_vm._s(_vm._f(\"formatDate\")(props.row.expiryDate)))]),_c('b-table-column',{attrs:{\"label\":\"Posizione\",\"field\":\"position\",\"centered\":\"\"}},[_vm._v(_vm._s(props.row.positionDescription))]),_c('b-table-column',{attrs:{\"label\":\"HyperLink\",\"field\":\"hyperLink\"}},[_vm._v(_vm._s(props.row.hyperLink))])]}}])},[_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Watch, Vue } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport bannersStore from '@/store/banners';\r\nimport { Banner } from '@/models';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport ListToolbar from '@/components/ListToolbar';\r\nimport { Guid } from '@/types';\r\nimport { debounce } from '@/core/debounce';\r\nimport { addDays } from '@/filters';\r\n// import tracer from '@/core/tracer';\r\n\r\n@Component({\r\n components: { CardComponent, ListToolbar },\r\n})\r\nexport default class Banners extends Vue {\r\n\r\n private pageNumber = 1;\r\n private selected: Banner | null = null;\r\n private fromDate: Date = addDays(new Date(), -30);\r\n private toDate: Date = addDays(new Date(), 30);\r\n\r\n private debouncedSearchBannersAsync = async (): Promise => undefined;\r\n\r\n get pageSize(): number {\r\n return appStore.pageSize;\r\n }\r\n\r\n get total(): number {\r\n return bannersStore.total;\r\n }\r\n\r\n get banners(): Banner[] | undefined {\r\n return bannersStore.banners;\r\n }\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get canRemove(): boolean {\r\n return !!this.selected;\r\n }\r\n\r\n get canEdit(): boolean {\r\n return !!this.selected;\r\n }\r\n\r\n private async created() {\r\n this.debouncedSearchBannersAsync = debounce(this.searchBannersAsync, 600);\r\n if (!this.banners || this.total === 0) {\r\n await this.searchBannersAsync();\r\n }\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 500, subMenuId: 501 });\r\n }\r\n\r\n @Watch('fromDate', { immediate: false, deep: false })\r\n private async onFromDateChanged(value: Date, previousValue?: Date) {\r\n // tracer('onKeywordChanged', [value, previousValue]);\r\n if (previousValue === undefined) return;\r\n\r\n this.pageNumber = 1;\r\n await this.debouncedSearchBannersAsync();\r\n }\r\n\r\n @Watch('toDate', { immediate: false, deep: false })\r\n private async onToDateChanged(value: Date, previousValue?: Date) {\r\n // tracer('onKeywordChanged', [value, previousValue]);\r\n if (previousValue === undefined) return;\r\n\r\n this.pageNumber = 1;\r\n await this.debouncedSearchBannersAsync();\r\n }\r\n\r\n private async addBanner() {\r\n await this.$router.push({ name: 'banner', params: { id: Guid.Empty } });\r\n }\r\n\r\n private async deleteBanner() {\r\n if (!this.selected) { return; }\r\n\r\n const selectedId: string = this.selected.id;\r\n\r\n this.$buefy.dialog.confirm({\r\n title: 'Eliminazione utente',\r\n message: 'Sei sicuro/a di voler rimuovere il banner selezionato?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-warning',\r\n hasIcon: true,\r\n onConfirm: async () => {\r\n await bannersStore.deleteBannerAsync({ id: selectedId });\r\n },\r\n });\r\n }\r\n\r\n private select(row: Banner, oldRow: Banner | null): void {\r\n this.selected = row;\r\n }\r\n\r\n private async editBanner(banner: Banner) {\r\n const selectedId: string = banner ? banner.id : (this.selected as Banner).id;\r\n await this.$router.push({ name: 'banner', params: { id: selectedId } });\r\n }\r\n\r\n private async refresh() {\r\n this.pageNumber = 1;\r\n await this.searchBannersAsync();\r\n }\r\n\r\n private async onPageChange(page: number) {\r\n this.pageNumber = page;\r\n await this.searchBannersAsync();\r\n }\r\n\r\n private async searchBannersAsync() {\r\n await bannersStore.fetchBannersAsync({ fromDate: this.fromDate, toDate: this.toDate, pageNumber: this.pageNumber, pageSize: this.pageSize });\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/ts-loader/index.js??ref--13-3!./Banners.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./Banners.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Banners.vue?vue&type=template&id=5fe5d68a&\"\nimport script from \"./Banners.ts?vue&type=script&lang=ts&\"\nexport * from \"./Banners.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Banner\",\"icon\":\"ad\"},scopedSlots:_vm._u([{key:\"toolbar\",fn:function(){return [_c('edit-toolbar',{on:{\"cancel\":_vm.cancel,\"save\":function($event){return _vm.$refs.submitter.click()}},scopedSlots:_vm._u([{key:\"extended-toolbar\",fn:function(){return undefined},proxy:true}])})]},proxy:true}])},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.save($event)}}},[_c('b-field',{attrs:{\"label\":\"Nome\"}},[_c('b-input',{attrs:{\"placeholder\":\"Nome\",\"required\":\"\",\"maxlength\":\"200\"},model:{value:(_vm.banner.name),callback:function ($$v) {_vm.$set(_vm.banner, \"name\", $$v)},expression:\"banner.name\"}})],1),_c('b-field',{attrs:{\"label\":\"Data Inizio\"}},[_c('b-datepicker',{attrs:{\"show-week-number\":true,\"placeholder\":\"Seleziona...\",\"icon\":\"calendar-alt\",\"expanded\":\"\"},model:{value:(_vm.banner.publishingDate),callback:function ($$v) {_vm.$set(_vm.banner, \"publishingDate\", $$v)},expression:\"banner.publishingDate\"}})],1),_c('b-field',{attrs:{\"label\":\"Data Scadenza\"}},[_c('b-datepicker',{attrs:{\"show-week-number\":true,\"placeholder\":\"Seleziona...\",\"icon\":\"calendar-alt\",\"expanded\":\"\"},model:{value:(_vm.banner.expiryDate),callback:function ($$v) {_vm.$set(_vm.banner, \"expiryDate\", $$v)},expression:\"banner.expiryDate\"}})],1),_c('b-field',{attrs:{\"label\":\"Posizione\"}},[_c('b-select',{attrs:{\"placeholder\":\"Posizione\",\"required\":\"\"},model:{value:(_vm.banner.position),callback:function ($$v) {_vm.$set(_vm.banner, \"position\", $$v)},expression:\"banner.position\"}},_vm._l((_vm.positions),function(position){return _c('option',{key:position.value,domProps:{\"value\":position.value}},[_vm._v(_vm._s(position.description))])}),0)],1),_c('b-field',{attrs:{\"label\":\"HyperLink\"}},[_c('b-input',{attrs:{\"placeholder\":\"HyperLink\",\"maxlength\":\"250\"},model:{value:(_vm.banner.hyperLink),callback:function ($$v) {_vm.$set(_vm.banner, \"hyperLink\", $$v)},expression:\"banner.hyperLink\"}})],1),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-half\"},[_c('b-field',[_c('b-upload',{attrs:{\"drag-drop\":\"\"},model:{value:(_vm.selectedBannerFile),callback:function ($$v) {_vm.selectedBannerFile=$$v},expression:\"selectedBannerFile\"}},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-centered\"},[_c('p',[_c('b-icon',{attrs:{\"icon\":\"upload\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Drop il tuo banner qui o clicca per upload\")])])])])],1),(_vm.selectedBannerFile || _vm.banner.originalFileName)?_c('b-tag',{attrs:{\"type\":\"is-danger\",\"attached\":\"\",\"closable\":\"\",\"aria-close-label\":\"Rimuovi Banner\"},on:{\"close\":_vm.removeBanner}},[_vm._v(\"Rimuovi \"+_vm._s(_vm.banner.originalFileName))]):_vm._e()],1),_c('div',{staticClass:\"column is-half\"},[(_vm.banner.url)?_c('div',{staticClass:\"banner-image\"},[_c('img',{attrs:{\"src\":_vm.getImageUrl(_vm.banner)}})]):_vm._e()])]),_c('button',{ref:\"submitter\",staticClass:\"is-hidden\",attrs:{\"type\":\"submit\"}})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Watch, Vue } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport bannersStore from '@/store/banners';\r\nimport { Banner as Model } from '@/models';\r\nimport CardComponent from '@/components/CardComponent';\r\nimport EditToolbar from '@/components/EditToolbar';\r\nimport { Guid, BannerPosition, SelectItem } from '@/types';\r\n\r\n@Component({\r\n components: { CardComponent, EditToolbar },\r\n})\r\nexport default class Banner extends Vue {\r\n\r\n // Injectectd from url\r\n @Prop({ default: '' }) private readonly id!: string;\r\n\r\n private total = 0;\r\n private selectedBannerFile: File | null = null;\r\n\r\n get banner(): Model {\r\n const result = bannersStore.banner;\r\n result.publishingDate = new Date(result.publishingDate);\r\n result.expiryDate = new Date(result.expiryDate);\r\n return result;\r\n }\r\n\r\n get positions(): SelectItem[] {\r\n return bannersStore.positions;\r\n }\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n get isNewBanner(): boolean {\r\n return this.id === Guid.Empty;\r\n }\r\n\r\n private async created() {\r\n await bannersStore.fetchBannerAsync({id: this.id});\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 500, subMenuId: 501 });\r\n }\r\n\r\n @Watch('selectedBannerFile', { immediate: false, deep: false })\r\n private async onDocumentUploaded(image: File, previousValue?: File) {\r\n if (image) {\r\n await this.uploadFileAsync(image);\r\n }\r\n }\r\n\r\n private async save() {\r\n\r\n if (!this.banner.fileName) {\r\n appStore.error({ message: 'Pubblicare un\\'immagine per il banner.'});\r\n return;\r\n }\r\n\r\n this.$buefy.dialog.confirm({\r\n title: 'Aggiornamento banner',\r\n message: 'Sei sicuro/a di voler apportare le modifiche al banner selezionato ?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-info',\r\n hasIcon: true,\r\n onConfirm: async () => {\r\n await this.saveAsync();\r\n },\r\n });\r\n }\r\n\r\n private async saveAsync() {\r\n\r\n const bannerToSave = this.banner;\r\n\r\n if (!bannerToSave) return;\r\n\r\n await bannersStore.upsertBannerAsync(\r\n {\r\n id: bannerToSave.id || Guid.Empty,\r\n name: bannerToSave.name,\r\n position: bannerToSave.position,\r\n publishingDate: bannerToSave.publishingDate,\r\n expiryDate: bannerToSave.expiryDate,\r\n fileName: bannerToSave.fileName,\r\n originalFileName: bannerToSave.originalFileName,\r\n hyperLink: bannerToSave.hyperLink,\r\n })\r\n .then((result) => {\r\n if (result) {\r\n this.$router.go(-1);\r\n }\r\n });\r\n }\r\n\r\n private cancel(): void {\r\n this.$router.go(-1);\r\n }\r\n\r\n private removeBanner() {\r\n this.banner.url = '';\r\n this.banner.fileName = '';\r\n this.banner.originalFileName = '';\r\n this.selectedBannerFile = null;\r\n }\r\n\r\n private async uploadFileAsync(image: File) {\r\n await bannersStore.uploadBannerAsync({ file: image })\r\n .then((result) => {\r\n if (result) {\r\n this.banner.fileName = result.fileName;\r\n this.banner.originalFileName = result.originalFileName;\r\n this.banner.url = `${result.url}`;\r\n }\r\n });\r\n }\r\n\r\n private getImageUrl(banner: Model) {\r\n if (banner.url) {\r\n return `${banner.url}?height=100&mode=crop`;\r\n }\r\n return '';\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/ts-loader/index.js??ref--13-3!./Banner.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./Banner.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Banner.vue?vue&type=template&id=1380fec4&\"\nimport script from \"./Banner.ts?vue&type=script&lang=ts&\"\nexport * from \"./Banner.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./Banner.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"section is-main-section\"},[_c('card-component',{staticClass:\"has-table has-mobile-sort-spaced\",attrs:{\"title\":\"Partners\",\"icon\":\"user-md\"}},[_c('div',{staticClass:\"columns is-multiline\"},[_c('div',{staticClass:\"column is-half\"},[_c('b-field',{attrs:{\"expanded\":\"\"}},[_c('b-input',{attrs:{\"placeholder\":\"Cerca (min 3 char)\",\"type\":\"search\",\"icon\":\"search\",\"maxlength\":\"50\"},model:{value:(_vm.keyword),callback:function ($$v) {_vm.keyword=$$v},expression:\"keyword\"}})],1)],1)]),_c('b-table',{attrs:{\"selected\":_vm.selected,\"paginated\":false,\"total\":_vm.total,\"pagination-position\":\"bottom\",\"pagination-size\":\"is-small\",\"striped\":true,\"hoverable\":true,\"data\":_vm.partners},on:{\"update:selected\":function($event){_vm.selected=$event},\"select\":_vm.select},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{attrs:{\"label\":\"Cod\",\"field\":\"code\"}},[_vm._v(_vm._s(props.row.code))]),_c('b-table-column',{attrs:{\"label\":\"Nome\",\"field\":\"name\"}},[_vm._v(_vm._s(props.row.name))]),_c('b-table-column',{attrs:{\"label\":\"Società\",\"field\":\"company\"}},[_vm._v(_vm._s(props.row.company))]),_c('b-table-column',{attrs:{\"label\":\"Indirizzo\",\"field\":\"address\"}},[_vm._v(_vm._s(props.row.address.street)+\", \"+_vm._s(props.row.address.city)+\" (\"+_vm._s(props.row.address.state)+\") - \"+_vm._s(props.row.address.zipCode)+\" / \"+_vm._s(props.row.address.country))]),_c('b-table-column',{attrs:{\"label\":\"Ref\",\"field\":\"reference\"}},[_vm._v(_vm._s(props.row.reference))]),_c('b-table-column',{attrs:{\"label\":\"Email\",\"field\":\"email\"}},[_vm._v(_vm._s(props.row.email))]),_c('b-table-column',{attrs:{\"label\":\"Tel\",\"field\":\"telephone\"}},[_vm._v(_vm._s(props.row.telephone))]),_c('b-table-column',{staticClass:\"is-actions-cell\",attrs:{\"custom-key\":\"actions\"}},[_c('div',{staticClass:\"buttons is-right\"},[_c('b-tooltip',{attrs:{\"label\":\"Sincronizza Ordini\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":function($event){$event.preventDefault();return _vm.syncOrdersHistory(props.row)}}},[_c('b-icon',{attrs:{\"icon\":\"sync\",\"type\":\"is-success\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Sincronizza Storico Prodotti\",\"delay\":300,\"type\":\"is-dark\",\"position\":\"is-left\"}},[_c('b-button',{attrs:{\"type\":\"is-text\"},on:{\"click\":function($event){$event.preventDefault();return _vm.syncProductsHistory(props.row)}}},[_c('b-icon',{attrs:{\"icon\":\"sync\",\"type\":\"is-success\"}})],1)],1)],1)])]}}])},[_c('section',{staticClass:\"section\",attrs:{\"slot\":\"empty\"},slot:\"empty\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[[(!_vm.loading)?_c('div',[_c('p',[_c('b-icon',{attrs:{\"icon\":\"frown\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"Nessun dato esistente\")])]):_vm._e()]],2)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport appStore from '@/store/app';\r\nimport partnersService from '@/services/PartnersService';\r\nimport { Partner } from '@/models';\r\nimport { debounce } from '@/core/debounce';\r\nimport CardComponent from '@/components/CardComponent';\r\n\r\n@Component({\r\n components: { CardComponent },\r\n})\r\nexport default class Partners extends Vue {\r\n\r\n private keyword = '';\r\n private selected: Partner | null = null;\r\n private partners: Partner[] = [];\r\n private total = 0;\r\n private readonly minLength = 3;\r\n\r\n private debouncedFetchPartnersAsync = async (): Promise => undefined;\r\n\r\n get loading(): boolean {\r\n return appStore.isLoading;\r\n }\r\n\r\n private async created() {\r\n this.debouncedFetchPartnersAsync = debounce(this.fetchPartnersAsync, 600);\r\n }\r\n\r\n private async mounted() {\r\n await appStore.activateMenuById({ rootId: 400, subMenuId: 403 });\r\n }\r\n\r\n @Watch('keyword', { immediate: false, deep: false })\r\n private async onKeywordChanged(value: string, previousValue?: string) {\r\n\r\n if (previousValue === undefined) return;\r\n\r\n if (value.trim() === '' || value.trim().length >= this.minLength) {\r\n await this.debouncedFetchPartnersAsync();\r\n }\r\n }\r\n\r\n private async fetchPartnersAsync() {\r\n if (this.keyword.length < this.minLength) {\r\n this.partners = [];\r\n return;\r\n }\r\n await partnersService.fetchPartnersAsync(this.keyword)\r\n .then((result) => {\r\n this.total = result.total || 0;\r\n this.partners = [];\r\n result.payload.forEach((partner) => this.partners.push(partner));\r\n });\r\n }\r\n\r\n private select(row: Partner, oldRow: Partner | null): void {\r\n this.selected = row;\r\n }\r\n\r\n\r\n private async syncProductsHistory(partner: Partner) {\r\n this.$buefy.dialog.confirm({\r\n title: 'Sincronizzazione Storico Prodotti',\r\n message: 'Sei sicuro/a di voler sincronizzare lo storico prodotti ?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-warning',\r\n hasIcon: true,\r\n onConfirm: async () => await this.syncProductsHistoryAsync(partner),\r\n });\r\n }\r\n\r\n private async syncOrdersHistory(partner: Partner) {\r\n this.$buefy.dialog.confirm({\r\n title: 'Sincronizzazione Storico Ordini',\r\n message: 'Sei sicuro/a di voler sincronizzare lo storico degli ordini ?',\r\n confirmText: 'Conferma',\r\n cancelText: 'Annulla',\r\n type: 'is-warning',\r\n hasIcon: true,\r\n onConfirm: async () => await this.syncOrdersHistoryAsync(partner),\r\n });\r\n }\r\n\r\n private async syncProductsHistoryAsync(partner: Partner) {\r\n await partnersService.syncProductsHistoryAsync(parseInt(partner.code, 0));\r\n }\r\n\r\n private async syncOrdersHistoryAsync(partner: Partner) {\r\n await partnersService.syncOrdersHistoryAsync(parseInt(partner.code, 0));\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/ts-loader/index.js??ref--13-3!./Partners.ts?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!./Partners.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Partners.vue?vue&type=template&id=40c667a8&\"\nimport script from \"./Partners.ts?vue&type=script&lang=ts&\"\nexport * from \"./Partners.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\r\nimport Router, { Route } from 'vue-router';\r\nimport AuthorizationCallback from '@/views/AuthorizationCallback';\r\nimport SilentRefreshTokenCallback from '@/views/SilentRefreshTokenCallback';\r\nimport appStore from '@/store/app';\r\nimport authenticator from '@/store/authentication';\r\n\r\nimport Home from '@/views/Home';\r\nimport Users from '@/views/Users';\r\nimport User from '@/views/User';\r\nimport UserProfile from '@/views/UserProfile';\r\nimport Unauthorized from '@/views/Unauthorized';\r\nimport ResetPassword from '@/views/ResetPassword';\r\nimport Products from '@/views/Products';\r\nimport ProductDetails from '@/views/ProductDetails';\r\nimport Cart from '@/views/Cart';\r\nimport SystemAvailability from '@/views/SystemAvailability';\r\nimport OrdersTransmitted from '@/views/OrdersTransmitted';\r\nimport OrderTransmitted from '@/views/OrderTransmitted';\r\nimport ErpAmounts from '@/views/ErpAmounts';\r\nimport ErpStatements from '@/views/ErpStatements';\r\nimport ErpOrders from '@/views/ErpOrders';\r\nimport ErpOrderLines from '@/views/ErpOrderLines';\r\nimport ErpMarket from '@/views/ErpMarket';\r\nimport ErpMarketDetail from '@/views/ErpMarketDetail';\r\nimport ErpProductsInOrders from '@/views/ErpProductsInOrders';\r\nimport Banners from '@/views/Banners';\r\nimport Banner from '@/views/Banner';\r\nimport Partners from '@/views/Partners';\r\n\r\nVue.use(Router);\r\n\r\nfunction transformIdInProps(route: Route): object {\r\n if (route.params) {\r\n return {\r\n id: route.params.id,\r\n };\r\n } else {\r\n return {\r\n id: '',\r\n };\r\n }\r\n}\r\n\r\nfunction transformIdInNumericProps(route: Route): object {\r\n if (route.params) {\r\n return {\r\n id: route.params.id ? parseInt(route.params.id, 0) : 0,\r\n };\r\n } else {\r\n return {\r\n id: 0,\r\n };\r\n }\r\n}\r\n\r\nfunction transformResetProps(route: Route): object {\r\n if (route.params) {\r\n return {\r\n id: route.params.id,\r\n token: route.params.token,\r\n };\r\n } else {\r\n return {\r\n id: '',\r\n token: '',\r\n };\r\n }\r\n}\r\n\r\nfunction transformProductProps(route: Route): object {\r\n if (route.params) {\r\n return {\r\n type: route.params.type,\r\n pharmacode: route.params.pharmacode,\r\n quantity: route.params.quantity ? parseInt(route.params.quantity, 0) : 1,\r\n };\r\n } else {\r\n return {\r\n type: '',\r\n pharmacode: '',\r\n quantity: 1,\r\n };\r\n }\r\n}\r\n\r\nfunction transformOrderLinesProps(route: Route): object {\r\n if (route.params) {\r\n return {\r\n day: route.params.day ? parseInt(route.params.day, 0) : 0,\r\n month: route.params.month ? parseInt(route.params.month, 0) : 0,\r\n year: route.params.year ? parseInt(route.params.year, 0) : 0,\r\n id: route.params.id ? parseInt(route.params.id, 0) : 1,\r\n };\r\n } else {\r\n return {\r\n day: 0,\r\n month: 0,\r\n year: 0,\r\n id: 0,\r\n };\r\n }\r\n}\r\n\r\nconst router = new Router({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes: [\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: Home,\r\n },\r\n {\r\n path: '/statements',\r\n name: 'statements',\r\n component: ErpStatements,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n },\r\n {\r\n path: '/amounts',\r\n name: 'amounts',\r\n component: ErpAmounts,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n },\r\n {\r\n path: '/orders',\r\n name: 'orders',\r\n component: ErpOrders,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n },\r\n {\r\n path: '/productsInOrders',\r\n name: 'productsInOrders',\r\n component: ErpProductsInOrders,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n },\r\n {\r\n path: '/markets',\r\n name: 'markets',\r\n component: ErpMarket,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n },\r\n {\r\n path: '/market/:id',\r\n name: 'market',\r\n component: ErpMarketDetail,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n props: transformIdInNumericProps,\r\n },\r\n {\r\n path: '/ordersLines/:day/:month/:year/:id',\r\n name: 'ordersLines',\r\n component: ErpOrderLines,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n props: transformOrderLinesProps,\r\n },\r\n {\r\n path: '/users',\r\n name: 'users',\r\n component: Users,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n },\r\n {\r\n path: '/user/:id',\r\n name: 'user',\r\n component: User,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n props: transformIdInProps,\r\n },\r\n {\r\n path: '/banners',\r\n name: 'banners',\r\n component: Banners,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n },\r\n {\r\n path: '/banner/:id',\r\n name: 'banner',\r\n component: Banner,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n props: transformIdInProps,\r\n },\r\n {\r\n path: '/profile',\r\n name: 'profile',\r\n component: UserProfile,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n },\r\n {\r\n path: '/partners',\r\n name: 'partners',\r\n component: Partners,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n },\r\n {\r\n path: '/products',\r\n name: 'products',\r\n component: Products,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n },\r\n {\r\n path: '/cart',\r\n name: 'cart',\r\n component: Cart,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n },\r\n {\r\n path: '/transmitted',\r\n name: 'ordersTransmitted',\r\n component: OrdersTransmitted,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n },\r\n {\r\n path: '/order/:id',\r\n name: 'orderTransmitted',\r\n component: OrderTransmitted,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n props: transformIdInProps,\r\n },\r\n {\r\n path: '/product/:type/:pharmacode/:quantity?',\r\n name: 'product',\r\n component: ProductDetails,\r\n meta: {\r\n requiresAuthentication: true,\r\n },\r\n props: transformProductProps,\r\n },\r\n {\r\n path: '/auth-callback',\r\n name: 'authorizationCallback',\r\n component: AuthorizationCallback,\r\n },\r\n {\r\n path: '/silent-refresh',\r\n name: 'silentRefreshCallback',\r\n component: SilentRefreshTokenCallback,\r\n },\r\n {\r\n path: '/unauthorized',\r\n name: 'unauthorized',\r\n component: Unauthorized,\r\n },\r\n {\r\n path: '/resetPassword/:id/:token',\r\n name: 'resetPassword',\r\n component: ResetPassword,\r\n props: transformResetProps,\r\n },\r\n {\r\n path: '/systemavailability',\r\n name: 'systemavailability',\r\n component: SystemAvailability,\r\n },\r\n ],\r\n});\r\n\r\nrouter.beforeEach(async (to: Route, from: Route, next) => {\r\n\r\n if (authenticator.isLoggedIn) {\r\n next();\r\n } else if (to.matched.some((record) => record.meta.requiresAuthentication)) {\r\n await authenticator.checkSignInAsync()\r\n .then(() => { next(); });\r\n } else {\r\n // Not authenticated. Try to fetch the user to see if it is logged-in.\r\n await authenticator.getUserAsync();\r\n next();\r\n }\r\n});\r\n\r\nrouter.afterEach(async (to, from) => {\r\n await appStore.checkSystemStatusAsync();\r\n});\r\n\r\n/* Collapse mobile aside menu on route change */\r\nrouter.afterEach(() => {\r\n appStore.toggleMenuMobile(false);\r\n});\r\n\r\nexport default router;\r\n","import Vue from 'vue';\r\nimport Vuex, { Store } from 'vuex';\r\nimport { getStoreBuilder } from 'vuex-typex';\r\nimport { RootState } from './state';\r\nimport { Environment } from '@/types';\r\n\r\nVue.use(Vuex);\r\n\r\nconst store: Store = getStoreBuilder().vuexStore({ strict: process.env.NODE_ENV === Environment.Production });\r\n\r\nexport default store;","import Vue from 'vue';\r\nimport VueI18n from 'vue-i18n';\r\nimport en from '../../public/locales/en.json';\r\nimport it from '../../public/locales/it.json';\r\n\r\nconst messages = {\r\n en,\r\n it,\r\n};\r\n\r\nVue.use(VueI18n);\r\n\r\nconst i18n = new VueI18n({\r\n locale: 'it',\r\n fallbackLocale: 'en',\r\n messages,\r\n});\r\n\r\nexport { i18n };","// import axios, { AxiosRequestConfig } from 'axios';\r\nimport axios from 'axios';\r\nimport appStore from '@/store/app';\r\n\r\nimport authenticator from '@/store/authentication';\r\n\r\nconst useHttpRequestInterceptor: (apiVersion: string, requestTimeout: number) => void = (apiVersion, requestTimeout) => {\r\n\r\n axios.defaults.headers.common = { 'X-Version': apiVersion };\r\n axios.defaults.timeout = requestTimeout;\r\n\r\n const instance = axios.interceptors;\r\n\r\n instance.request.use((config) => {\r\n if (authenticator.isLoggedIn) {\r\n config.headers.Authorization = `Bearer ${authenticator.accessToken}`;\r\n }\r\n return config;\r\n }, (reason) => {\r\n return Promise.reject(reason);\r\n });\r\n\r\n instance.response.use((response) => {\r\n return response;\r\n }, (reason) => {\r\n if (reason.response && reason.response.data && reason.response.data.error) {\r\n if (reason.response.data.error.code === 'UnsupportedApiVersion') {\r\n appStore.error({ message: 'Version di API non supportata' });\r\n }\r\n }\r\n return Promise.reject(reason);\r\n });\r\n\r\n};\r\n\r\nexport default useHttpRequestInterceptor;\r\n\r\n","import Vue from 'vue';\r\nimport Buefy from 'buefy';\r\nimport App from './App';\r\nimport router from '@/router';\r\nimport store from '@/store';\r\nimport { i18n } from '@/plugins/i18n-setup';\r\nimport * as filters from '@/filters';\r\nimport useHttpRequestInterceptor from '@/core/httpRequestInterceptor';\r\nimport appStore from '@/store/app';\r\nimport { Environment, Api } from '@/types';\r\nimport { ValidationProvider, configure, extend } from 'vee-validate';\r\nimport { required } from 'vee-validate/dist/rules';\r\n\r\n/* Styles */\r\nimport '@/scss/main.scss';\r\n\r\n/*Font Awesome ICONS */\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';\r\nimport {\r\n faCheck, faCheckCircle, faInfoCircle, faExclamationTriangle, faExclamationCircle,\r\n faArrowUp, faAngleRight, faAngleLeft, faAngleDown,\r\n faEye, faEyeSlash, faCaretDown, faCaretUp, faUpload,\r\n faUser, faUsers, faBars, faChevronUp, faChevronDown, faChevronLeft, faWallet, faEllipsisV, faEllipsisH,\r\n faSignOutAlt, faCogs, faUserCircle, faTimes, faBook, faCreditCard,\r\n faStore, faPlus, faPlusCircle, faMinusCircle, faMinus, faEnvelope, faUserTag, faSync, faKey, faEdit, faUndo, faSave, faFrown, faSearch,\r\n faShoppingCart, faHourglass, faFileImport, faMoon, faSun, faArrowAltCircleLeft, faPaperPlane, faCartPlus, faCartArrowDown, faServer,\r\n faPrint, faMoneyBillAlt, faFileInvoice, faBoxes, faTruckLoading, faAd, faCalendarAlt, faCheckDouble, faBan, faUserMd, faPills\r\n} from '@fortawesome/free-solid-svg-icons';\r\n\r\nVue.config.productionTip = false;\r\n\r\nif (process.env.NODE_ENV === Environment.Development) {\r\n Vue.config.performance = true;\r\n // Vue.config.errorHandler = (error) => {\r\n // console.log('Exception', error);\r\n // };\r\n}\r\n\r\nlibrary.add(faCheck, faCheckCircle, faInfoCircle, faExclamationTriangle, faExclamationCircle,\r\n faArrowUp, faAngleRight, faAngleLeft, faAngleDown,\r\n faEye, faEyeSlash, faCaretDown, faCaretUp, faUpload,\r\n faUser, faUsers, faBars, faChevronUp, faChevronDown, faChevronLeft, faWallet, faEllipsisV, faEllipsisH,\r\n faSignOutAlt, faCogs, faUserCircle, faTimes, faBook, faCreditCard,\r\n faStore, faPlus, faPlusCircle, faMinusCircle, faMinus, faEnvelope, faUserTag, faSync, faKey, faEdit, faUndo, faSave, faFrown, faSearch,\r\n faShoppingCart, faHourglass, faFileImport, faMoon, faSun, faArrowAltCircleLeft, faPaperPlane, faCartPlus, faCartArrowDown, faServer,\r\n faPrint, faMoneyBillAlt, faFileInvoice, faBoxes, faTruckLoading, faAd, faCalendarAlt, faCheckDouble, faBan, faUserMd,\r\n faPills);\r\n\r\nVue.component('font-awesome-icon', FontAwesomeIcon);\r\n\r\nVue.filter('formatDate', filters.formatDate);\r\nVue.filter('formatTime', filters.formatTime);\r\nVue.filter('formatDateTime', filters.formatDateTime);\r\nVue.filter('formatCurrency', filters.formatCurrency);\r\nVue.filter('formatNumber', filters.formatNumber);\r\nVue.filter('formatPercentage', filters.formatPercentage);\r\nVue.filter('addDays', filters.addDays);\r\nVue.filter('formatBooleanShort', filters.formatBooleanShort);\r\nVue.filter('formatBooleanLong', filters.formatBooleanLong);\r\n\r\nif (process.env.NODE_ENV === Environment.Development) {\r\n Vue.filter('jsonPretty', filters.jsonPretty);\r\n}\r\n\r\n/* Vue. Component in recursion */\r\nimport AsideMenuList from '@/components/AsideMenuList';\r\n\r\n/* These components are used in recursion algorithm. they must be registered here */\r\nVue.component('AsideMenuList', AsideMenuList);\r\n\r\nVue.use(Buefy, {\r\n // defaultFieldLabelPosition: 'on-border',\r\n defaultIconComponent: 'font-awesome-icon',\r\n defaultIconPack: 'fas',\r\n defaultUseHtml5Validation: true,\r\n customIconPacks: {\r\n fas: {\r\n sizes: {\r\n 'default': '1x',\r\n 'is-small': 'xs',\r\n 'is-medium': '2x',\r\n 'is-large': '3x',\r\n },\r\n iconPrefix: '',\r\n },\r\n },\r\n});\r\n\r\nVue.component('ValidationProvider', ValidationProvider);\r\n\r\nconfigure({\r\n classes: {\r\n valid: 'is-valid',\r\n invalid: ['is-danger'],\r\n },\r\n});\r\n\r\nextend('required', required);\r\nextend('required', (value) => {\r\n if (!!value) {\r\n return true;\r\n }\r\n\r\n return 'Campo obbligatorio';\r\n});\r\n\r\n// Axios interceptor configuration\r\nconst apiConfiguration = new Api(process.env.VUE_APP_API_VERSION as string);\r\nconst requestTimeout: number = process.env.VUE_APP_AXIOS_TIMEOUT as number;\r\nuseHttpRequestInterceptor(apiConfiguration.version, requestTimeout);\r\n\r\nconst mountApplication = (): void => {\r\n new Vue({\r\n i18n,\r\n router,\r\n store,\r\n render: (h) => h(App),\r\n })\r\n .$mount('#app');\r\n};\r\n\r\nappStore.getConfigurationAsync()\r\n .then(() => {\r\n mountApplication();\r\n });\r\n\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Banner.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Banner.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=3de07bbc&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=3de07bbc&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErpStatements.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErpStatements.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}