{"version":3,"sources":["hooks/useApi/useApiSettings.ts","components/addressDetails/addressDetails.tsx","components/shop/dashboard/widgets/styling/widgetStyling.module.scss","components/shop/quickSearch/quickSearchMenu/quickSearchMenu.module.scss","components/shop/dashboard/userInformation/userInformation.tsx","components/shop/dashboard/contactCard/contacts.ts","components/shop/dashboard/contactCard/contactCard.tsx","api/dashboardApi.ts","components/shop/dashboard/newsCard/newsCard.tsx","components/shop/dashboard/invoicesCard/invoicesCard.tsx","api/widgets/customers/customerWidgetsApi.ts","api/widgets/customers/customerProductStatisticsReportWidgetApi.ts","api/categoryCodesApi.ts","components/shop/dashboard/widgets/categories/createCustomerCategoryModal.tsx","components/shop/dashboard/widgets/categories/customerWidgetCategorySelect.tsx","components/shop/dashboard/widgets/productStatisticsReport/createCustomerProductStatisticsReportWidgetModal.tsx","api/widgets/customers/customerAwaitingDeliveriesWidgetApi.ts","api/customerBranchesApi.ts","components/pickers/customerBranchPicker.tsx","components/shop/dashboard/widgets/awaitingDeliveries/createCustomerAwaitingDeliveriesModal.tsx","api/widgets/customers/customerCustomerOrdersReportWidgetApi.ts","components/shop/dashboard/widgets/customerOrdersReport/createCustomerOrdersReportWidgetModal.tsx","components/shop/dashboard/widgets/selectWidgetToCreateModal.tsx","components/shop/dashboard/widgets/productStatisticsReport/updateCustomerProductStatisticsReportWidgetModal.tsx","components/shop/dashboard/widgets/productStatisticsReport/customerProductStatisticsReportWidget.tsx","components/shop/dashboard/widgets/categories/removeCustomerCategoryModal.tsx","components/shop/dashboard/widgets/categories/updateCustomerCategoryModal.tsx","components/shop/dashboard/widgets/removeCustomerWidgetModal.tsx","components/shop/dashboard/widgets/awaitingDeliveries/updateCustomerAwaitingDeliveriesModal.tsx","components/shop/dashboard/widgets/awaitingDeliveries/customerAwaitingDeliveriesWidget.tsx","components/shop/dashboard/widgets/customerOrdersReport/updateCustomerOrdersReportWidgetModal.tsx","components/shop/dashboard/widgets/customerOrdersReport/customerOrdersReportWidget.tsx","components/shop/dashboard/widgets/customerWidgetCategoryCard.tsx","components/shop/dashboard/widgets/widgetDashboard.tsx","components/shop/dashboard/dashboard.tsx","api/documentsApi.ts","components/shop/documents/documents.tsx","components/shop/articles/cartQuantity/cartQuantity.tsx","components/shop/articles/listCardItem/listCardItem.tsx","components/shop/articles/types.ts","components/shop/articles/articlesList/articlesList.tsx","api/assortmentsApi.ts","components/shop/articles/articleFilters/articleFilters.tsx","components/shop/articles/excelExport.ts","components/shop/articles/articles.tsx","components/shop/quickSearch/quickSearchState.ts","components/shop/quickSearch/quickSearchMenu/quickSearchMenu.tsx","components/shop/quickSearch/quickSearch.tsx","components/shop/articleCartModal/articleCartModal.tsx","components/shop/orders/customerFilter/customerFilter.tsx","components/shop/orders/draftOrders/draftOrders.tsx","components/shop/orders/orderFilter/orderProgressPicker.tsx","components/shop/orders/orderFilter/orderFilters.tsx","components/shop/orders/placedOrders/placedOrders.tsx","components/shop/orders/orders.tsx","components/shop/order/orderRows/orderRows.tsx","components/shop/order/deliveryNoteRows/deliveryNoteRows.tsx","components/shop/order/order.tsx","components/shop/cartDrawer/cartDrawer.tsx","api/invoicesApi.ts","components/shop/invoices/invoices.tsx","components/shop/invoices/csvExport.ts","api/draftOrderApi.ts","components/shop/draftOrder/draftOrder.tsx","components/shop/reports/productStatistics.tsx","components/shop/reports/customerOrders.tsx","components/shop/reports/reports.tsx","components/shop/shop.tsx","hooks/useThrottleCallback.ts","components/app/userCustomerPicker/userCustomerPicker.tsx","translations/en.ts","translations/zh-cn.ts","hooks/useI18n/createTranslations.ts","components/app/app.tsx","components/outdatedBrowser/OutdatedBrowser.tsx","index.tsx","checkoutAdapters/3M/components/checkout.module.scss","components/table/table.module.scss","components/shop/articleModal/matrixOrder/matrixOrderSummary/matrixOrderSummary.module.scss","components/internal/widgets/widgetColors.ts","components/pickers/articleCategoryPicker.tsx","hooks/useDebounceValueCallback.ts","components/pickers/timePeriodPicker.tsx","hooks/useApi/types.ts","hooks/useApi/useApiRequests.ts","hooks/useApi/useApiResource.ts","components/emptyIndicator/emptyIndicator.tsx","components/shop/checkout/deliveryDatePicker/deliveryDatePicker.tsx","components/shop/checkout/checkout.module.scss","components/shop/order/orderRows/orderRows.module.scss","components/form/formItem.tsx","components/app/userCustomerPicker/userCustomerPicker.module.scss","components/searchInput/searchInput.tsx","hooks/shop/useArticleCartModalStore/articleCartModalStore.ts","api/articlesApi.ts","components/shop/reports/reports.module.scss","components/shop/articleModal/updateArticleLineItem/updateArticleLineItem.module.scss","api/internalCustomerApi.ts","checkoutAdapters/3M/components/articleModal.module.scss","messages.ts","components/pickers/orderTypePicker.tsx","components/shop/dashboard/dashboard.module.scss","components/shop/articleModal/details/details.module.scss","checkoutAdapters/3M/components/lineItems.module.scss","components/listLayout/listLayout.module.scss","components/shop/order/deliveryNoteRows/deliveryNoteRows.module.scss","components/apiErrorDetails/apiErrorDetails.tsx","hooks/useHttpClient/httpClient.ts","hooks/useHttpClient/httpClientContext.ts","hooks/useHttpClient/useHttpClient.ts","components/internal/dashboard/widgets/awaitingDeliveriesWidget/awaitingDeliveriesWidget.module.scss","components/matrixTable/matrixTable.module.scss","components/shop/articles/listCardItem/listCardItem.module.scss","components/pickers/deliveryStatusPicker.tsx","api/sessionApi.ts","helpers/orderTypeTranslator.ts","components/addressSelect/addressSelect.tsx","components/addressForm/addressForm.tsx","components/shop/cartLineItems/cartLineItems.tsx","components/shop/lineItems/lineItems.module.scss","components/descriptionList/descriptionList.module.scss","components/matrixTable/overflowOverlay/overflowOverlay.module.scss","components/shop/quickSearch/quickSearch.module.scss","components/shop/orders/placedOrders/placedOrders.module.scss","components/descriptionList/descriptionList.tsx","hooks/useI18n/helpers.ts","components/matrixTable/xHeaders/xHeaders.module.scss","components/matrixTable/yHeaders/yHeaders.module.scss","components/shop/dashboard/widgets/widgetDashboard.module.scss","components/shop/dashboard/widgets/customerWidgetCategoryCard.module.scss","components/shop/articles/articlesList/articlesList.module.scss","components/customIcons/fileDownloadIcon.tsx","api/widgets/internalProductStatisticsReportWidgetApi.ts","hooks/useInterval/useInterval.ts","components/loadingIndicator/loadingIndicator.tsx","hooks/useI18n/dateFormatter.ts","components/shop/articleModal/stock/stock.module.scss","components/orderProgressBadge/orderProgressBadge.tsx","hooks/useI18n/messageTranslator.ts","hooks/useI18n/types.ts","components/pickers/picker.module.scss","components/shop/articleModal/details/details.tsx","helpers/articleStockTransformer.ts","components/shop/articleModal/stock/stock.tsx","checkoutAdapters/3M/components/updateArticleLineItem.tsx","checkoutAdapters/3M/components/articleModal.tsx","checkoutAdapters/3M/components/lineItems.tsx","components/form/textAreaField.tsx","checkoutAdapters/3M/types.ts","helpers/scrollToTop.tsx","checkoutAdapters/3M/components/checkout.tsx","checkoutAdapters/3M/components/draftOrderFields.tsx","helpers/priceCalculator.ts","components/shop/articleModal/helpers.ts","components/shop/articleModal/updateArticleLineItem/updateArticleLineItem.tsx","components/shop/articleModal/matrixOrder/matrixOrderReducer.ts","components/shop/articleModal/matrixOrder/matrixOrderSummary/matrixOrderSummary.tsx","components/matrixTable/helpers.ts","components/matrixTable/overflowOverlay/overflowOverlay.tsx","components/matrixTable/xHeaders/xHeaders.tsx","components/matrixTable/yHeaders/yHeaders.tsx","components/matrixTable/cell/cell.tsx","components/matrixTable/cells/cells.tsx","components/matrixTable/overflowState.ts","components/matrixTable/matrixTable.tsx","components/customIcons/boxIcon.tsx","components/customIcons/coinsIcon.tsx","components/shop/articleModal/matrixOrder/matrixOrderTable/matrixOrderTable.tsx","components/shop/articleModal/matrixOrder/matrixOrder.tsx","components/shop/articleModal/articleModal.tsx","components/form/orderMetaField.tsx","helpers/general.ts","components/shop/checkout/checkout.tsx","components/shop/draftOrder/draftOrderFields.tsx","hooks/shop/useShopSessionStore/shopSessionStore.ts","checkoutAdapters/3M/useCheckoutAdapter3M.ts","checkoutAdapters/useCheckoutAdapterDefault.ts","components/contentLayout/contentLayout.tsx","helpers/orderProgressTranslator.ts","hooks/useApi/apiSettingsContext.ts","hooks/useQueryParams/serializers.ts","hooks/useQueryParams/useQueryParams.ts","components/shop/lineItems/emptyBoxIcon.svg","components/form/formLayout.tsx","components/shop/articles/currencyPicker/currencyPicker.tsx","components/shop/routes.ts","api/apiConfigs.ts","api/apiSettings.ts","components/form/textField.tsx","components/addressSelect/addressSelect.module.scss","components/matrixTable/cells/cells.module.scss","components/shop/articleModal/matrixOrder/matrixOrder.module.scss","components/shop/dashboard/newsCard/newsCard.module.scss","components/filters/filters.module.scss","components/shop/cartDrawer/cartDrawer.module.scss","components/localePicker/localePicker.module.scss","components/app/app.module.scss","helpers/formatNumber/formatNumber.ts","components/shop/shop.module.scss","components/listLayout/listLayout.tsx","components/shop/dashboard/widgets/styling/widgetRowStyling.module.scss","types.ts","hooks/useNotificationStore/notificationStore.ts","components/emptyIndicator/emptyIndicator.module.scss","components/loadingIndicator/loadingIndicator.module.scss","components/matrixTable/cell/cell.module.scss","components/shop/orders/orders.module.scss","components/shop/invoices/invoices.module.scss","components/logo/logo.module.scss","hooks/useI18n/i18nStore.ts","components/internal/routes.ts","hooks/useI18n/createMessages.ts","components/imageZoom/imageZoom.tsx","components/form/form.tsx","hooks/useFileUrls/useFileUrls.ts","helpers/orderProgressConverter.ts","components/table/table.tsx","components/shop/lineItems/lineItems.tsx","helpers/swap.ts","hooks/useYup/yupStore.ts","hooks/useYup/locale.ts","helpers/move.ts","components/logo/logo.tsx","helpers/localeTranslator.ts","components/localePicker/localePicker.tsx","components/deliveryStatusBadge/deliveryStatusBadge.tsx","helpers/deliveryStatusTranslator.ts","images/placeholder.jpg","components/emptyIndicator/empty.svg","checkoutAdapters/3M/logo.png","checkoutAdapters/3M/Scotchlite_ProductBrandUsageGuide.pdf","components/shop/dashboard/contactCard/contactCard.module.scss","components/shop/dashboard/invoicesCard/invoicesCard.module.scss","images/logo-dev.png","images/logo-staging.png","images/logo-production.png","components/shop/articleModal/matrixOrder/matrixOrderTable/matrixOrderTable.module.scss","components/form/selectField.tsx","components/filters/filters.tsx","hooks/shop/usePlaceOrderForm/usePlaceOrderForm.ts","api/checkoutApi.ts","components/table/index.ts","components/shop/order/order.module.scss","components/shop/draftOrder/draftOrder.module.scss","api/ordersApi.ts","api/cartApi.ts","hooks/shop/useCartStore/cartStore.ts","components/shop/dashboard/userInformation/userInformation.module.scss","components/shop/articleModal/article.module.scss"],"names":["useApiSettings","useContext","ApiSettingsContext","AddressDetails","address","company","address1","address2","cityAndPostalCode","countryName","module","exports","UserInformation","t","useI18n","session","useShopSessionStore","type","align","span","className","styles","welcomeContent","welcomeLabel","messages","dashboard","welcome","nameLabel","userName","userContent","infoBlock","infoLabel","shared","country","infoContent","branchName","customer","customerName","project","projectName","assortment","assortmentName","contacts","id","name","telephone","email","ContactCard","useState","contact","setContact","title","contactRH","contactSelect","dropdownMatchSelectWidth","labelInValue","value","key","toString","label","onChange","find","c","map","Option","Item","fax","dashboardApi","a","httpClient","apiSettings","get","dashboardInvoicesUri","response","hasError","error","result","data","dashboardNewsUri","NewsCard","formatDate","dashboardData","useApiResource","useEffect","refresh","news","paragraph","rows","active","item","i","newsItem","href","link","target","rel","newsItemTitle","newsItemDate","posted","InvoicesCard","goToInvoices","invoices","extra","size","onClick","viewAll","isLoading","InvoicesTable","invoicesOverview","onViewAll","paid","tableColumns","header","invoice","invoiceNumber","accessor","dueDate","cell","remaining","row","formatNumber","currencyCode","width","pdfGenerated","invoicePdfUri","top","length","items","columns","additionalDueInvoicesAvailable","block","viewAllButton","viewAllUnpaid","description","noneDue","customerWidgetsApi","customerWidgetsUri","customerUserWidgetsUri","delete","removeCustomerUserWidgetUri","request","post","customerWidgetCategoriesUri","customerWidgetCategoryUri","put","customerProductStatisticsReportWidgetApi","customerProductStatisticsReportWidgetsUri","customerProductStatisticsReportWidgetUri","widgetId","triggerNewCustomerProductStatisticsExportUri","categoryCodesApi","categoryCodesUri","CreateCustomerCategoryModal","onCancel","onSuccess","notify","useNotificationStore","createWidgetCategory","useApiRequests","setName","setError","formik","useFormik","initialValues","onSubmit","createCategoryRequest","create","widgets","categories","categoryCreated","onError","send","createCategory","visible","closable","onOk","submitForm","okText","save","form","e","Select","CustomerWidgetCategorySelect","showCreateCategoryModal","setShowCreateCategoryModal","widgetCategories","emptyValue","clearDataOnLoad","showSearch","allowClear","style","marginTop","marginRight","placeholder","selectCategory","hasResponse","category","placement","shape","icon","CreateCustomerProductStatisticsReportWidgetModal","onClose","undefined","widgetCategoryId","setWidgetCategoryId","color","setColor","categoryIds","setCategoryIds","TimePeriodType","Yearly","periods","timePeriods","setTimePeriods","createWidget","createWidgetData","timePeriodType","widgetCreated","productStatistics","inputRow","widgetNamePlaceholder","parseInt","triangle","colors","defaultWidgetColors","hex","reports","articleCategory","categoryRequestFactory","_","timePeriod","customerAwaitingDeliveriesWidgetApi","customerAwaitingDeliveriesWidgetsUri","customerAwaitingDeliveriesWidgetUri","customerBranchesApi","customerBranchesUri","CustomerBranchPicker","branchIds","branches","mode","showArrow","b","ReportStatus","CreateCustomerAwaitingDeliveriesModal","setBranchIds","awaitingDeliveriesWidget","awaitingDeliveries","branch","selectedBranchIds","customerCustomerOrdersReportWidgetApi","customerCustomerOrdersReportWidgetsUri","customerCustomerOrdersReportWidgetUri","triggerNewCustomerCustomerOrdersReportWidgetUri","CreateCustomerOrdersReportWidgetModal","OrderType","Standard","orderType","setOrderType","deliveryStatus","setDeliveryStatus","selectableOrderTypes","Sample","Forecast","customerOrdersReport","selectedCategoryIds","slice","order","progress","SelectWidgetToCreateModal","createWidgetModal","setCreateWidgetModal","okButtonProps","hidden","Content","widgetType","sortable","translateWidgetType","onSelectItem","CustomerWidgetType","ProductStatisticsReport","AwaitingDeliveries","CustomerOrdersReport","renderCreateWidgetModal","UpdateCustomerProductStatisticsReportWidgetModal","userWidgetId","updateWidget","widget","updateWidgetData","update","selectedTimePeriods","selectedTimePeriodsType","CustomerProductStatisticsReportWidget","onWidgetDelete","downloadCustomerProductStatisticsExportUri","useFileUris","isPolling","setIsPolling","widgetPoll","triggerReport","showUpdateWidgetModal","setShowUpdateWidgetModal","existsPendingReport","useInterval","headStyle","backgroundColor","getHeadStyle","triggerExport","refreshButton","loading","newReportTriggered","editButton","lastGeneratedReportFailed","display","pendingReport","mostRecentSuccessfullyGeneratedReport","noReportsGeneratedYet","status","Finished","exportDate","generated","Moment","createdDate","DateFormat","DATETIME","format","exportButton","FileSaver","saveAs","downloadExport","divider","errorRetrievedWidget","insufficientCompetence","RemoveCustomerCategoryModal","categoryId","categoryName","removeCategory","deleteConfirmation","okType","categoryRemoved","customerRemovalWarning","UpdateCustomerCategoryModal","updateWidgetCategory","categoryUpdated","updateCategory","RemoveCustomerWidgetModal","userWidgetName","removeWidgetRequest","widgetRemoved","widgetRemovalWarning","UpdateCustomerAwaitingDeliveriesWidgetModal","updateAwaitingDeliveriesWidget","w","widgetUpdated","Title","Typography","CustomerAwaitingDeliveriesWidget","customerAwaitingDeliveriesExportUri","awaitingDeliveriesCount","level","numberOfOrders","awaitingDeliveriesCountText","widgetText","UpdateCustomerOrdersReportWidgetModal","CustomerOrdersReportWidget","downloadCustomerCustomerOrdersReportExportUri","CustomerWidgetCategoryCard","onWidgetDeleted","onCategoryDeleted","onCategoryUpdated","deleteWidgetModal","setDeleteWidgetModal","showDeleteCategoryModal","setShowDeleteCategoryModal","showUpdateCategoryModal","setShowUpdateCategoryModal","moreMenu","deleteCategory","categoryCard","overlay","trigger","moreIcon","ignoreContainerClipping","droppableId","direction","provided","ref","innerRef","droppableProps","divProvided","userWidget","index","draggableId","draggableProps","dragHandleProps","widgetCard","renderWidgetByType","WidgetDashboard","userWidgetsSortOrder","Map","categoriesMap","setCategoriesMap","shouldUpdateSortOrder","setShouldUpdateSortOrder","refreshCategories","reduce","obj","cur","set","userWidgetIds","updateUserWidgetsSortOrder","createNewWidget","apiError","onDragEnd","source","destination","sourceId","destinationId","sourceCategory","destinationCategory","swap","newSourceCategory","move","newDestinationCategory","newMap","Array","from","values","widgetIndex","findIndex","splice","removeWidgetFromCategory","noCategories","bottomBox","Dashboard","checkoutAdapter","headerContent","pageContent","notifications","notification","extraMargin","gutter","message","showIcon","locked","lockedTitle","lockedDescription","widgetContainer","showNewsFeed","invoicesEnabled","showOverdueInvoices","customerType","CustomerType","Brand","documentsApi","documentsUri","Documents","documents","generalDocuments","filter","branchId","projectId","branchDocuments","yourDocuments","DocumentsList","noItems","documentFileUri","marginBottom","dataSource","renderItem","Meta","CartQuantity","articleId","cartItem","useCartStore","showQuantityInCart","cart","quantityInCart","quantity","ArticleListType","ListCardItem","displayCurrency","showPrice","placeholderImageFileUri","articleImageFileUri","card","cover","imageWrapper","src","hasImage","alt","currentTarget","onerror","articleNumber","ArticleType","Matrix","stock","available","toFixed","quantityDecimalPlaces","article","unit","price","displayPrice","priceDecimalPlaces","code","cartQuantityWrapper","actions","ghost","ArticlesList","React","memo","totalArticles","page","pageSize","sortingKey","sortingDesc","listType","articles","exportArticlesCurrentBranchUrl","exportArticlesAllBranchesUrl","exportArticleVariantsCurrentBranchUrl","exportArticleVariantsAllBranchesUrl","onChangeDisplayCurrency","onPageChange","onSortedChange","onChangeListType","listColumns","currency","extraDescription","inStock","inOrder","actionsCell","getListColumns","ContentHeader","listingItemsCount","count","exportArticles","useLocalBranchStock","currentLocation","allLocations","exportArticleVariants","component","fileDownloadIcon","sortBy","Group","compact","desc","sortBySelect","buttonStyle","Button","Rows","Cards","grid","xs","sm","md","xl","listItem","sorted","paginationWrapper","current","total","assortmentsApi","assortmentsUri","ArticleFilters","assortments","selectedAssortmentKeys","useMemo","assortmentId","useDebounceValueCallback","searchQuery","setSearchQuery","Filter","search","searchPlaceholder","selectedKeys","onSelect","assortmentKey","newAssortmentId","setAssortmentValue","TreeNode","all","renderTreeNodes","children","getExportArticlesUrl","options","queryString","querystringify","stringify","filterValues","sortDesc","displayCurrencyId","includeVariants","includeAllBranches","articlesExportUri","Articles","articleCartModalStore","useArticleCartModalStore","setDisplayCurrency","useQueryParams","serializers","number","defaultValue","string","boolean","custom","serialize","v","deserialize","queryParams","setQueryParams","articlesApi","getArticles","totalItems","setPage","useCallback","handleChangeArticleFilters","handleSelectItem","showArticle","handleChangeListType","handleSortingChange","Sider","ContentSection","initialState","isFocused","isOpen","isLastPage","currentPage","list","reducer","state","action","payload","Math","max","ceil","SearchMenu","highlightedIndex","getMenuProps","getItemProps","menu","errorLabel","menuItems","cc","entry","entryActive","entryImage","entryDetails","entryLabel","loadMoreEntry","loadMore","noMenuItemsLabel","QuickSearch","inputRef","useRef","useReducer","dispatch","searchRequest","newSearchQuery","debouncedSearchQuery","setDebouncedSearchQuery","handleMenuMouseUp","focus","handleInputChange","selectedItem","inputValue","itemToString","onOuterClick","controller","blur","setHighlightedIndex","getInputProps","wrapper","searchInputWrapper","searchInputWrapperActive","searchIcon","searchInput","onMouseUp","ArticleCartModal","cartStore","ArticleModal","unsubscribeFn","articleUpdateEvent","subscribe","updatedArticleId","hideArticle","lineItem","lineItemMessage","updateCart","draftOrder","isUpdatingLineItem","onUpdateLineItem","updatedLineItem","updateLineItem","FilterState","CustomerFilter","customerId","shopSessionStore","vendors","ordersApi","getVendors","All","emptyFilterState","setEmptyFilterState","activeFilterState","CurrentCustomer","Vendor","selectedVendor","d","checked","optionFilterProp","val","DraftOrders","onSelectOrderId","customerIsBrand","orderNumber","show","referenceOrderNumber","orderDate","getColumns","some","partialupdateFilterQueryParams","newQueryParams","setArticleNumberSearchQuery","orders","getOrders","orderProgresses","placed","searchArticleNumber","searchArticleNoPlaceholder","paged","sorting","OrderProgressPicker","orderProgressIds","getOrderProgresses","progresses","op","orderProgressTranslator","OrderFilters","onChangeQueryParams","toOrderProgresses","scope","setScope","partialUpdateQueryParams","selectedOrderProgresses","OrderTabs","PlacedOrders","totalPrice","orderSum","DeliveryDateHeader","deliveryDateCell","deliveryDate","deliveryDateNote","latestDeliveryDate","orderStatus","numberArray","fromOrderProgresses","deliveryDateGroupHeader","deliveryDates","confirmedDate","latestDate","Orders","activeTab","draftOrdersCount","onChangeActiveTab","onRefreshDraftOrdersCount","container","animated","activeKey","tabBarStyle","margin","TabPane","tab","Placed","tabBadge","dot","unplaced","Draft","OrderRows","currencyPriceDecimalPlaces","cellClassName","articleDescription","articleColor","articleSize","quantityOrdered","batchNumber","batchNo","delivered","quantityDelivered","DeliveryStatus","Delivered","Undelivered","PartiallyDelivered","showText","unitPrice","DeliveryNoteRows","Order","onGoBack","getOrder","orderConfirmationUri","deliveryNoteUri","deliveryNoteId","isNew","navigation","messageAlert","orderPlacedTitle","orderPlacedDescription","headerTitle","contentBlock","details","Variable","externalOrderNumber","confirmedDeliveryDate","orderTypeTranslator","metaFields","sort","field1","field2","sortOrder","field","season","Divider","billedTo","invoiceCustomerName","reference","externalReference","paymentTerms","paymentTermName","deliveryMethod","deliveryMethodName","deliveryTerms","deliveryTermName","careLabelPos","careLabelPoList","careLabelPo","po","uri","orderMessage","noMessage","addresses","shipping","shippingAddress","billing","invoiceCustomerAddress","offset","summary","totalPriceLabel","deliveryNotes","deliveryNote","erpId","trackingNumber","branchDeliveryNotePdfDisabled","CartDrawer","onCheckout","bodyStyle","height","position","content","quantityIsAdjusted","quantityAdjustedInfo","footer","disabled","checkout","invoicesApi","invoicesUri","params","limit","Invoices","overdue","smallButtonText","smallDropdownIcon","invoiceDate","exportCsvUrl","invoiceCsvUri","getExportCsvUrl","unpaid","export","draftOrderApi","draftOrdersCountUri","draftOrderUri","orderId","draftOrderLineItemsUri","quantityError","headers","quantityvalidationerror","formLayout","labelCol","wrapperCol","MemoizedLineItems","onEdit","LineItems","includeAdminCostCalculations","MemoizedDetailsList","DraftOrder","onPlaceOrder","DraftOrderView","onPlacedOrder","onRefreshOrder","DraftOrderFields","isSubmitting","placeOrderError","setPlaceOrderError","updateLineItemError","setUpdateLineItemError","lineItemQuantityError","setLineItemQuantityError","selectedArticleId","setSelectedArticleId","disableDatePicker","setDisableDatePicker","placeDraftOrderRequest","updateLineItemRequest","closeArticleModal","placeOrderForm","usePlaceOrderForm","standardShippingAddress","standardInvoiceAddress","cartStoreItems","draftOrderId","requestedDeliveryDate","orderData","contactName","contactPhone","courierAccount","customOrderAddress","customAddress","postalCode","city","countryId","metaFieldValues","existingCustomAddressId","onResponse","selectedLineItem","r","itemsAreInStock","every","variants","stockBalance","anyItemHasMultistock","hasMultiStock","allowAutomaticOrderOnIncomingStock","deliveryDatesOptions","deliveryDateAvailable","Internal","allowAutomaticOrder","isInitializing","DeliveryDatePickerContainer","updateOrder","placeOrder","placeVariableOrderTitle","placeVariableOrderDescription","layout","addressTitleContainer","addressTitle","customAddresses","addressesError","customAddressesError","loadingAddresses","loadingCustomAddresses","loadAddresses","loadCustomAddresses","onChangeAddressType","changeShippingAddressType","shippingAddressType","ShippingAddressType","NewCustom","formPath","invoiceAddress","float","nonWorkingDates","earliestDate","earliestDeliveryDate","upcomingDeliveries","showToday","disabledTooltip","deliveryPickerDisabledTooltipMultiStock","deliveryPickerDisabledTooltipOutOfStock","orderTypeOptions","articleStatisticsReportUri","downloadBtnDisabled","setdownloadBtnDisabled","searchParams","URLSearchParams","join","downloadLink","validInputs","disableDownloadBtn","Promise","setTimeout","downloadReport","articleStatistics","validationMessageBrand","width100","customerOrderReportUri","customerOrders","Reports","activeReportTab","setActiveReportTab","report","Shop","applicationEnvironment","onEndSession","onLogout","ShopContent","path","routes","exact","development","withRouter","location","history","lastLocation","useLastLocation","Checkout","locale","changeLocale","push","pathname","goToOrder","generatePath","goToDraftOrder","orderDraft","refreshOrdersCountThrottled","setCallback","waitTimeMs","callback","throttle","trailing","useThrottleCallback","selectedMenuPath","menuItem","matchPath","getSelectedMenuItem","baseLayout","Header","topMenuWrapper","navMenuWrapper","theme","topMenu","navMenu","topMenuItem","to","notificationBadge","quickSearchMenuItem","selectable","topRightMenuItem","userMenu","userDetails","users","endShopSessionButton","endSession","isImpersonating","endImpersonation","switchLogin","localeMenuItem","language","settings","logout","userMenuItem","userMenuItemSection","userMenuItemValue","userMenuItemCaret","showCart","menuItemIcon","contentWrapper","branchUnderMaintenance","warningBox","maintenanceTitle","maintenanceDescription","render","match","pathIsOrderList","goBack","draftOrders","ordersPlaced","isVisible","hideCart","UserCustomerPicker","onSelectUserCustomerId","userCustomers","sessionApi","getUserCustomers","toLowerCase","login","noAvailableLogins","selectLogin","sortUserCustomers","userCustomer","cardContent","cardTitles","cardTitle","cardSubTitle","customerErpId","iconContainer","enTranslations","defaultTranslations","zhCnTranslations","defaultFlattenedTranslations","translations","flattenedTranslations","getFlattenedTranslations","createTranslations","expandTable","searchName","searchErpIdNamePlaceholder","searchEmailNamePlaceholder","excludeCustomerTypePlaceholder","excludeCustomerTypeTitle","shrinkTable","widgetsAccess","otherInformation","noDataAvailable","showDetails","hideDetails","stockType","hide","standard","unknown","generalCustomerSettings","brand","totalQuantity","assortmentAdminCostDescription","quantityAdjusted","default","references","showAll","orderCurrency","projects","internalServerError","file","optional","download","chooseFile","createNew","created","done","add","remove","copy","clearSelection","removeConfirmation","selectionCount","confirmation","deleteSelected","selectAll","unselectAll","orderTypes","deliveryStatuses","syncSchedule","subAssortment","displayFrozenArticles","copyAssortment","copyAssortmentResult","createAssortment","createSubAssortment","addArticles","clearArticles","deleteAssortments","deleteArticleFromSelected","useStockLocations","useStockBatch","useAutomaticQuantityAdjustment","activateAdminPriceThreshold","assortmentCurrency","adminPrice","currencyDepends","adminPriceTriggerThreshold","adminPriceCurrency","draftQuantityAdjustmentPercent","assortmentCopied","assortmentCopiedSuccess","assortmentCreated","assortmentUpdated","assortmentRemoved","assortmentsRemoved","assortmentArticlesAdded","assortmentArticlesCleared","assortmentArticleRemoved","createChildAssortmentTitle","assortmentRemovalWarning","assortmentsRemovalWarning","assortmentsRemoveConfirmation","assortmentsArticleRemoveWarning","assortmentsArticleRemoveConfirmation","assortmentArticlesMissing","assortmentArticlesMissingWarning","assortmentArticlesMissingExport","vendor","agent","internal","invoiceCustomer","adminCostThresholdLabel","saveGeneralCustomerSettings","customerGeneralSettingsSaved","newDocument","confirmRemoveDocument","removeDocument","documentRemoved","newNotification","updateNotification","confirmRemoveNotification","removeNotification","notificationRemoved","branchPlaceholder","clear","filterPlaceholder","noMatchingCategories","selectABranch","noCategoriesSelected","customerTypePlaceholder","includeFrozenArticles","includeImages","includeShortageList","itemType","itemTypeFilter","itemTypePlaceholder","timePeriodPlaceholder","articleNumberOrDescription","kit","matrix","frozen","frozenAlert","showSummary","showTopContent","hideSummary","hideTopContent","articleInformationTitle","PO","balance","unavailableArticle","removeUnavailableArticles","internalReference","unconfirmed","confirmed","undelivered","partiallyDelivered","awaitingDelivery","placeAsVendor","orderTypeForecast","orderTypeStandard","orderTypeSample","orderTypeVariable","selectAddress","origin","additionalFields","brandName","garmentType","garmentQty","segment","shippingTypeStandard","shippingTypeNewCustom","shippingTypeExistingCustom","user","customerLogins","customerLoginRemoveConfirmation","customerLoginRemoved","customerLoginUpdated","customerLoginsRemoved","userUpdated","editUser","customerLoginsRemovalWarning","customerLoginsRemoveConfirmation","copyToBranches","validation","mixed","required","oneOf","notOneOf","notType","min","matches","url","trim","lowercase","uppercase","invalidChars","lessThan","moreThan","notEqual","positive","negative","integer","date","object","noUnknown","array","maxSizeExceeded","unsupportedFileType","multipleNotAllowed","multipleMaxSizeExceeded","multipleMaxCountExceeded","checkoutAdapters","_3M","addToCart","confirmRead","confirmReadLink","removeFromCart","cartIsFull","clearCart","poNumber","factory","reflectiveProduct","producedGarment","garmentQuantity","unavailableProduct","orderMetaFields","confirmRemoveMetaFieldOption","createOrderMetaFieldOption","editOrderMetaFields","isAlreadyParentOption","isSubOption","orderMetaField","orderMetaFieldOptionCreated","orderMetaFieldOptionRemoved","orderMetaFieldOptionUpdated","parentMetaField","parentOption","removeMetaFieldOption","updateOrderMetaFieldOption","customers","customerMustBeBrand","exportShortageList","articlesInShortage","removalWarning","shortage","delayedDeliveries","slowStock","alarms","addAlarm","lazy","createApiSettings","Locale","En","ZhCn","App","createHttpClient","createBrowserHistory","setIsLoading","currentSession","setCurrentSession","isAuthorizing","setIsAuthorizing","redirectToExternalLogout","currentOrigin","window","protocol","host","redirectLogoutUri","getSession","redirectPath","sessionUri","sessionResult","currentSessionResult","setUserCustomerId","userCustomerId","sessionShopUri","shopRoutes","handleEndShopSession","isInternal","internalRoutes","onUnauthorized","currentUrl","redirectLoginUri","redirectToExternalLogin","AppLoader","loadingMessage","fallback","Provider","defaultLocale","shopSession","onSetUserCustomerId","messageIcon","OutdatedBrowser","textAlign","fontSize","Bowser","getParser","navigator","userAgent","satisfies","ie","ReactDOM","document","getElementById","rg4js","ignoreAjaxError","ignoreAjaxAbort","process","ArticleCategoryPicker","setFilter","availableCategories","reset","selectableCategories","includes","selected","handleSelectCategory","catId","justifyContent","headerHeight","rowHeight","rowCount","rowGetter","rowStyle","headerStyle","noRowsRenderer","alignItems","rowRenderer","rowData","whiteSpace","textOverflow","overflow","paddingRight","dataKey","originalValue","debounceTimeout","setValue","isRunning","debounceSet","debounce","newValue","debouncedSetValue","TimePeriodPicker","currentYear","yearOptions","keys","k","Date","getFullYear","months","monthOptions","flatMap","y","m","quarters","quarterOptions","q","selectablePeriodsForType","Quarterly","Monthly","periodType","selectablePeriods","selectedPeriods","setState","minWidth","autoClearSearchValue","p","HttpStatusCode","apiRequestFactory","useHttpClient","isMounted","latestRequestIdentifier","setLoading","sendRequest","args","requestId","Symbol","apiRequest","setData","setHasResponse","currentRequestId","EmptyIndicator","emptySvg","DeliveryDateOptionType","DeliveryDatePicker","nonWorkingDays","useField","helpers","RadioGroupTooltip","SetDate","disabledDate","isBefore","nwd","isSame","d1","Upcoming","d2","FormItem","help","validateStatus","SearchInput","autoFocus","prefix","autoCorrect","autoCapitalize","spellCheck","constate","setArticleId","ArticleCartModalStoreProvider","getArticle","includeFrozen","articleUri","syncError","syncerror","articlesUri","getArticlePrices","articlePricesUri","internalCustomersApi","getCustomer","internalCustomerUri","getCustomerDetails","internalCustomerDetailsUri","getCustomersById","customerIds","internalCustomersUri","getCustomers","query","internalCustomersSearchUri","getAllCustomers","internalSimpleCustomersUri","sortKey","disableWidget","disableCustomerWidget","enableWidget","enableCustomerWidget","saveGeneralSettings","updateCustomerGeneralSettings","createMessages","validationMessage","OrderTypePicker","notFoundContent","o","ApiErrorDetails","InternalServerError","errors","onUnauthorizedEvent","SimpleEventDispatcher","axiosClient","axios","timeout","method","interceptors","use","reject","fn","unsubscribe","mockHttpClientRequest","resolve","HttpClientContext","createContext","DeliveryStatusPicker","deliveryStatusOptions","getCountries","sessionShopCountriesUri","sessionShopUserCustomersUri","getCurrencies","sessionShopCurrenciesUri","AddressSelect","adressModalIsVisible","setAdressModalIsVisible","flexGrow","ExistingCustom","AddressModal","selectedAddressId","setSelectedAddressId","maxHeight","overflowY","centered","addressRadioGroup","addressRadio","addressRadioValue","AddressForm","countries","CartLineItems","props","unavailableArticleIds","onRemove","DescriptionList","descriptionList","itemTitle","itemValue","colSpan","composePath","parentPath","getNestedPaths","parentNamespace","currentValues","Object","currentPath","currentTranslations","viewBox","version","focusable","stroke","strokeWidth","fill","fillRule","internalProductStatisticsReportWidgetApi","internalProductStatisticsReportWidgetsUri","internalProductStatisticsReportWidgetUri","getWidget","triggerNewReport","triggerNewInternalProductStatisticsExportUri","delay","savedCallback","setInterval","clearInterval","LoadingIndicator","overlayClass","spinnerClass","createDateFormatter","dateString","dateFormat","DATE","dayjs","utc","extend","orderProgressColor","OrderProgress","Unconfirmed","AwaitingDelivery","OrderProgressBadge","orderProgress","toOrderProgress","Error","text","createMessageTranslator","messageFormatters","MessageFormat","compile","translate","messageKey","translationArguments","messageFormatter","Details","articlePrices","articlePrice","image","imageUrl","zoomIcon","colorName","sizeName","getAvailable","orderOut","getBalance","orderIn","getTotalOrderOut","stocks","getTotalQuantity","getTotalAvailable","getTotalBalance","Stock","articleBranchStocks","showStockLocations","stockRows","currentBranchStock","articleStockLocations","locationName","articleStocks","s","articleStock","locationNumber","displayName","getArticleStocksForStockRowsDisplayName","articleStocksToStockRows","branchNumber","articleBranchStocksToStockRows","StockTable","acc","totalStockBalance","totalAvailable","stockContainer","headerCell","titleCell","numericCell","stockRow","rowCell","empty","footerCell","UpdateArticleLineItem","isConfirmed","setIsConfirmed","hasItems","isAdded","l","CheckboxTooltip","hasReadConfirmDocument","confirmDocument","setHasReadConfirmDocument","clearLineItems","activeArticle","modal","topContent","bottomContent","Kit","bottomStockWrapper","blockDivider","orientation","articleOrderWrapper","emptyBoxIcon","rowContainer","articleImage","articleDetails","articleDetail","TextAreaField","rest","inputProps","metaProps","showError","touched","OrderMetaFieldName","ScrollToTop","useLocation","shopContentElement","querySelector","scrollIntoView","placeOrderRequest","handlePlaceOrderSuccess","placedOrder","refreshItems","customerAddress","vendorCustomerId","vendorCustomer","curr","GarmentQuantity","Quantity","setFieldValue","filterReflectiveProducts","option","parentOptionId","Segment","sortOptions","ReflectiveProduct","reflectiveProducts","Factory","vendorOptionContainer","vendorOptionIsVisible","toggleVendorOption","vendorOptionPickerWrapper","VendorOptionPicker","vendorsError","placeOrderContainer","GarmentType","floatRight","formInputElement","garmId","mf","qtyId","orderTypeOption","getTotalPrice","pricePerUnit","Decimal","times","toNumber","getMaxQuantity","originalQuantity","round","getMinQuantity","getquantityTooltip","quantityIsValid","clampQuantity","quantityPerUnit","setQuantityAdjusted","setQuantity","updateWithEnter","setUpdateWithEnter","quantityTooltip","saveLineItem","currentInputRef","handleQuantityBlur","parsedValue","parsedQuantity","Number","isInteger","adjustedQuantity","adjustQuantityPerUnit","setQuantityError","inputQuantity","data-testid","handleQuantityChange","onBlur","onKeyDown","adjusted","qtyPerUnit","totalSummary","totalEntry","totalEntryLabel","totalEntryValue","matrixOrderReducer","variantId","variantData","variant","totalPriceByVariantId","onRemoveItem","stopPropagation","MatrixOrderSummary","onUpdateCart","prices","forEach","orderedCellValue","updateCartContainer","updateCartButton","ieUserAgentRegex","customIEScroll","scrollBar","event","exec","preventDefault","currentScrollTop","scrollTop","currentScrollLeft","scrollLeft","scrollTo","deltaY","deltaX","OverflowOverlay","overflowRight","overflowLeft","overflowTop","overflowBottom","XHeaders","xKeys","cellSize","selectedXKey","renderHeaderCellContent","innerScrollRef","overflowingLeft","overflowingRight","onScroll","onScrollStart","onScrollStop","scrollRef","marginLeft","wrapperProps","xHeadersWrapper","wrapperRenderer","elementRef","restProps","trackXProps","noScrollY","contentProps","onWheel","xHeadersRow","xKey","xHeadersCell","xHeadersCellSelected","YHeaders","yKeys","selectedYKey","overflowingTop","overflowingBottom","flexShrink","yHeadersWrapper","trackYProps","noScrollX","yHeadersColumn","yKey","yHeadersCell","yHeadersCellSelected","Cell","isSelected","renderCellContent","cellValue","tabIndex","cellSelected","onFocus","Cells","selectedCell","cellValues","onCellSelect","cellValuesMap","xKeymap","getCellValue","zIndex","cells","cellsRowWrapper","cellsRow","overflowStateReducer","scrollWidth","clientWidth","scrollHeight","clientHeight","newState","left","right","bottom","MatrixTable","xAxisLabel","yAxisLabel","renderXHeaderCellContent","renderYHeaderCellContent","currentScrollTarget","xHeadersScrollRef","yHeadersScrollRef","cellsScrollRef","overflowState","dispatchOverflowAction","checkOverflow","scrollValues","getScrollValues","maxWait","handleHeadersScrollStart","handleCellsScrollStart","handleHeadersScroll","handleCellsScroll","handleHeadersScrollStop","handleCellsScrollStop","setXHeadersScrollRef","setYHeadersScrollRef","setCellsScrollRef","baseWrapper","axisLabels","svgLine","x1","y1","x2","y2","rowsContainer","boxIcon","coinsIcon","MatrixOrderTable","selectedVariant","onUpdateItem","autoSelectFirstItem","sizeCode","colorCode","sortVariantBySizeCode","sizeCodeA","replace","sizeCodeB","localeCompare","sizeCodes","Set","has","sortVariantByColorCode","colorCodeA","colorCodeB","colorCodes","xLabels","yLabels","handleCellSelect","EmptyCell","MatrixArticleCell","onChangeQuantity","disabledCell","cellInput","cellItem","cellItemIcon","cellItemLabel","stockLocations","quantityDecimals","MatrixOrder","onVariantSelect","lineItemVariants","lineItemVariant","getVariantOrderItems","variantOrderItems","variantOrderItemsDispatch","variantOrderItemsWithQty","handleRemoveItem","handleUpdateQuantity","handleUpdateCart","matrixTableWrapper","matrixOrderSummary","articleVariant","setExpandTable","setShowSummary","setShowTopContent","setSelectedVariant","handleVariantSelect","TopContent","topStockWrapper","MinimizeMatrixOrderSummaryButton","minimizeOrderSummaryButton","MinimizeTopContentButton","minimizeTopContentButton","ExpandMatrixButton","pageMatrixArticle","variantOrderWrapper","minimizeFieldsWrapper","OrderMetaField","useOptions","disableShippingAddress","setDisableShippingAddress","seasonId","seasons","fontWeight","currencies","checkoutAdapter3M","yup","useYup","useHistory","logo","maxCartSize","onUpdateCartUpdateSuccess","orderRefLimit","orderRefRequired","schemaForMetaField","fields","test","containsCjkChars","garmentQuantityId","when","qty","useCheckoutAdapter3M","defaultCheckoutAdapter","notificationStore","_item","cartIsVisible","useCheckoutAdapterDefault","CheckoutAdapterType","Default","isLoadingCurrencies","ShopSessionStoreProvider","ContentLayout","Layout","background","minHeight","padding","opt","stringArray","split","serializationMap","deserializeFromQueryString","setValues","updateQueryString","newValues","serializeToQueryString","queryStringMap","parse","queryStringValue","defaultLayout","FormLayout","formLayoutValue","vertical","CurrencyPicker","optionLabelProp","ApiConfigs","collection","collectionName","g","baseApiUri","checkoutVendorsUri","checkoutSeasonsUri","ordersUri","placeOrderUri","orderUri","ordersVendorsUri","ordersMetaFieldsUri","deliveryDateOptionsUri","articleImageUri","cartUri","documentsDownloadUri","notificationsUri","customerOrdersReportUri","internalArticleStatisticsReportUri","internalCustomerOrdersReportUri","sessionCustomAddressesUri","internalArticlesUri","internalArticlesSearchUri","internalMissingArticlesExportUri","internalArticleUri","internalArticleSearchUri","internalArticleImageUri","internalAssortmentsUri","internalAssortmentsArticleUri","internalAssortmentSummaryUri","internalAssortmentUri","internalAssortmentArticlesUri","internalAssortmentArticleUri","internalAssortmentsExportUri","internalDocumentsUri","internalDocumentUri","internalDocumentDownloadUri","internalNotificationsUri","internalNotificationUri","internalCategoryCodesUri","append","internalBranchesUri","internalBranchUri","internalOrderUri","internalOrdersUri","internalOrdersExportUri","internalReferencesUri","internalReferencesSearchUri","internalReferencesByBranchesUri","searchTerm","internalReferenceUri","internalProjectsUri","internalProjectsSearchUri","internalProjectUri","internalUserByEmailUri","internalUsersUri","internalUserUri","internalUserCustomersUri","internalUserCustomerUri","internalUserCustomerExportUri","internalSyncErrorsUri","internalSyncErrorsExportUri","internalSyncErrorUri","internalCheckoutAdaptersUri","internalOrderMetaFieldsUri","internalOrderMetaFieldUri","internalOrderMetaFieldOptionsUri","internalOrderMetaFieldOptionUri","internalOrderMetaFieldsExportUri","internalWidgetsUri","internalUserWidgetsUri","removeInternalUserWidgetsUri","internalShortageWidgetsUri","internalShortageWidgetUri","exportInternalShortage","itemTypes","internalWidgetCategoriesUri","internalWidgetCategoryUri","exportInternalDelayedDeliveries","referenceIds","projectIds","internalDelayedDeliveryWidgetUri","internalDelayedDeliveryWidgetsUri","downloadInternalProductStatisticsExportUri","internalCustomerOrdersReportsWidgetUri","internalCustomerOrdersReportWidgetUri","triggerNewInternalCustomerOrdersExportUri","downloadCustomerOrdersStatisticsExportUri","internalAwaitingDeliveriesWidgetsUri","internalAwaitingDeliveriesWidgetUri","exportInternalAwaitingDeliveries","internalSlowStockWidgetsUri","internalSlowStockWidgetUri","triggerNewSlowStockExportUri","downloadSlowStockExportUri","internalSimpleCategoryCodesUri","exportCustomerAwaitingDeliveries","internalGetUpcomingSyncs","TextField","formItemClassName","DecimalWithFormat","toFormatDecorator","groupSeparator","groupSize","decimalPlaces","toFormat","ListLayout","sider","contentHeader","contentHeaderTitle","contentHeaderExtra","contentSection","UserRole","OrderStatus","ApplicationEnvironment","config","duration","antdNotifictionConfig","info","success","NotificationStoreProvider","storedLocale","localStorage","getItem","setLocale","messageTranslator","setItem","I18nProvider","assortmentsBranch","userCustomersBranch","branchesBranch","ordersBranch","uploadDocument","createNotification","sync","checkoutAdaptersAdapter","customersBranch","defaultNestedTranslations","ImageZoom","zoomMargin","defaultStyles","zoomContainer","cursor","Form","internalArticleImageFileUri","internalDocumentFileUri","internalCustomerOrderReportUri","internalShortageExportUri","internalDelayedDeliveriesExportUri","internalAwaitingDeliveriesExportUri","downloadCustomerOrdersExportUri","Confirmed","Table","memoizeRows","reactTableColumns","column","maxWidth","headerClassName","textAlignRight","original","getHeaderProps","showPagination","manual","resizable","multiSort","minRows","ThComponent","TableHeader","TbodyComponent","TableBody","getTrProps","_state","rowInfo","rowSelectable","_e","handleOriginal","getTbodyProps","noDataText","toggleSort","role","headerSorter","headerSorterIconUp","headerSorterIconActive","headerSorterIconDown","memoChildren","skeleton","addAdminPrice","setAddAdminPrice","assortmentAdminCost","isActive","adminThresholdNotReached","priceTriggerThreshold","articleDetailsCell","numberCell","actionCell","LineItemRow","adminCostDescription","reached","isAvailable","handleRowClick","rowContent","rowCellContent","rowTitleCellContent","nestedRow","nestedRowContent","nestedHeaderCell","variantNameCell","variantNumberCell","nestedRowCell","moveIndex","toIndex","diff","targetIndex","RegExp","regex","less","more","getLocale","YupProvider","droppableSource","droppableDestination","sourceClone","destClone","removed","Logo","GetLogoSrc","Production","productionLogo","Staging","stagingLogo","Development","devLogo","localeTranslator","LocalePicker","radioGroup","radioOption","deliveryStatusColor","DeliveryStatusBadge","delivery","deliveryStatusTranslator","SelectField","setTouched","Filters","filterHeader","checkoutApi","emptyCustomAddress","setShippingAddressType","getOrderMetaFields","deliveryDateOptions","getDeliveryOptions","setVendorOptionIsVisible","validateForm","schema","is","then","metaFieldSchema","adapterSchema","defaultSchema","validate","strict","abortEarly","context","yupToFormErrors","customerTelephone","toISOString","ca","initalMetaFieldValues","moment","enableCustomAddress","disableCustomAddress","shippingAddressOptions","isLeaf","customAddressId","cartApi","setIsVisible","clearLineItemsRequest","handleCartUpdateError","currentCartItems","maxSize","asEvent","CartStoreProvider"],"mappings":"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","file":"static/js/main.4d77d580.chunk.js","sourcesContent":["import { useContext } from 'react';\nimport { ApiSettingsContext } from './apiSettingsContext';\n\nexport function useApiSettings() {\n return useContext(ApiSettingsContext);\n}\n","import React from 'react';\nimport { Address } from '../../types';\n\nexport function AddressDetails({ address }: { address: Address }) {\n return (\n <>\n
{address.company}
\n
{address.address1}
\n
{address.address2}
\n
{address.cityAndPostalCode}
\n
{address.countryName}
\n \n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"exportButton\":\"widgetStyling_exportButton__2opys\",\"exportDate\":\"widgetStyling_exportDate__3jPaK\",\"editButton\":\"widgetStyling_editButton__j4K1H\",\"refreshButton\":\"widgetStyling_refreshButton__3a6b-\",\"branches\":\"widgetStyling_branches__3HNIn\",\"divider\":\"widgetStyling_divider__1149E\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menu\":\"quickSearchMenu_menu__1aduN\",\"menuItems\":\"quickSearchMenu_menuItems__13DqR\",\"noMenuItemsLabel\":\"quickSearchMenu_noMenuItemsLabel__3n9d1\",\"errorLabel\":\"quickSearchMenu_errorLabel__2OOJs\",\"entry\":\"quickSearchMenu_entry__sIB6v\",\"entryActive\":\"quickSearchMenu_entryActive__37vIY\",\"entryDetails\":\"quickSearchMenu_entryDetails__2ERdF\",\"entryImage\":\"quickSearchMenu_entryImage__1niJw\",\"entryLabel\":\"quickSearchMenu_entryLabel__2XsDV\",\"loadMoreEntry\":\"quickSearchMenu_loadMoreEntry__176n-\"};","import React from 'react';\nimport styles from './userInformation.module.scss';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { useShopSessionStore } from '../../../../hooks/shop/useShopSessionStore';\nimport { Row, Col } from 'antd';\nimport { messages } from '../../../../messages';\n\nexport const UserInformation = () => {\n const { t } = useI18n();\n const { session } = useShopSessionStore();\n\n return (\n \n \n
\n {t(messages.dashboard.welcome)}\n
\n
{session.userName}
\n \n \n
\n
\n
{t(messages.shared.country)}
\n
RH {session.branchName}
\n
\n
\n
\n {t(messages.shared.customer)}\n
\n
{session.customerName}
\n
\n
\n
{t(messages.shared.project)}
\n
{session.projectName}
\n
\n
\n
{t(messages.shared.assortment)}
\n
{session.assortmentName}
\n
\n
\n \n
\n );\n};\n","export type Contact = {\n id: number;\n name: string;\n telephone: string;\n fax?: string;\n email: string;\n};\n\nexport const contacts: Contact[] = [\n {\n id: 1,\n name: 'Rudholm & Haak AB',\n telephone: '+46 33 1801100',\n email: 'order.se@rudholmgroup.com',\n },\n {\n id: 2,\n name: 'Rudholm & Haak (HK) Ltd',\n telephone: '(852) 2426 1782',\n email: 'order.hk@rudholmgroup.com',\n },\n {\n id: 3,\n name: 'Rudholm Bangladesh Ltd',\n telephone: '+880 (0)2 988 0070',\n email: 'order.bd@rudholmgroup.com',\n },\n {\n id: 4,\n name: 'Rudholm & Haak (PVT) LTD',\n telephone: '+91 080 4090 1154',\n email: 'order.in@rudholmgroup.com',\n },\n {\n id: 5,\n name: 'Rudholm Tekstil Aksesuarlari Sanayi Ve Tic. Ltd',\n telephone: '00 90 212 603 1357',\n email: 'order.tr@rudholmgroup.com',\n },\n {\n id: 6,\n name: 'Rudholm UK Ltd',\n telephone: '+44 (0)121 459 5800',\n email: 'order.uk@rudholmgroup.com',\n },\n {\n id: 7,\n name: 'Rudholm & Haak Vietnam',\n telephone: '84-8-3816 4271',\n email: 'order.vn@rudholmgroup.com',\n },\n {\n id: 8,\n name: 'RHG USA LLC',\n telephone: '+1 212-933-9588',\n email: 'order.usa@rudholmgroup.com',\n },\n {\n id: 9,\n name: 'Rudholm Portugal LDA',\n telephone: '+351 256 031 809',\n email: 'order.pt@rudholmgroup.com',\n },\n {\n id: 10,\n name: 'Rudholm Poland SP Z.O.O.',\n telephone: '+48 601 282 814',\n email: 'order.pl@rudholmgroup.com',\n },\n {\n id: 11,\n name: 'RH Germany',\n telephone: '+49 89 52031800',\n email: 'order.de@rudholmgroup.com',\n },\n];\n","import React, { useState } from 'react';\nimport { Card, Select } from 'antd';\nimport { messages } from '../../../../messages';\nimport { DescriptionList } from '../../../descriptionList/descriptionList';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { Contact, contacts } from './contacts';\nimport { LabeledValue } from 'antd/lib/select';\nimport styles from './contactCard.module.scss';\n\nexport function ContactCard() {\n const { t } = useI18n();\n const [contact, setContact] = useState(contacts[0]);\n\n return (\n \n \n className={styles.contactSelect}\n dropdownMatchSelectWidth={false}\n labelInValue={true}\n value={{ key: contact.id.toString(), label: contact.name }}\n onChange={({ key }) => {\n const contact = contacts.find((c) => c.id.toString() === key);\n if (contact) {\n setContact(contact);\n }\n }}\n >\n {contacts.map((c) => (\n {c.name}\n ))}\n \n \n {contact.email && (\n \n {contact.email}\n \n )}\n \n {contact.telephone}\n \n {contact.fax && (\n \n {contact.fax}\n \n )}\n \n \n );\n}\n","import { ApiRequest } from '../hooks/useApi';\n\nexport const dashboardApi = {\n getOverdueInvoices: (): ApiRequest => async ({\n httpClient,\n apiSettings,\n }) => {\n const response = await httpClient.get(apiSettings.dashboardInvoicesUri);\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: response.data,\n };\n }\n },\n getNews: (): ApiRequest => async ({\n httpClient,\n apiSettings,\n }) => {\n const response = await httpClient.get(apiSettings.dashboardNewsUri);\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: response.data,\n };\n }\n },\n};\n\nexport interface NewsItem {\n title: string;\n link: string;\n posted: string;\n}\n\nexport interface DueInvoicesOverview {\n additionalDueInvoicesAvailable: boolean;\n top: DueInvoice[];\n}\n\nexport interface DueInvoice {\n id: number;\n invoiceNumber: string;\n dueDate: string;\n pdfGenerated: boolean;\n remaining: number;\n currencyCode: string;\n}\n","import React, { useEffect } from 'react';\nimport { Card, Skeleton } from 'antd';\nimport { messages } from '../../../../messages';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { useApiResource } from '../../../../hooks/useApi';\nimport { ApiErrorDetails } from '../../../apiErrorDetails/apiErrorDetails';\nimport styles from './newsCard.module.scss';\nimport { dashboardApi } from '../../../../api/dashboardApi';\n\nexport function NewsCard() {\n const { t, formatDate } = useI18n();\n\n const dashboardData = useApiResource(dashboardApi.getNews);\n\n useEffect(() => {\n dashboardData.refresh();\n }, []);\n\n return (\n \n {!dashboardData.data && !dashboardData.error && (\n \n )}\n\n {dashboardData.error && }\n\n {!!dashboardData.data &&\n dashboardData.data.map((item, i) => (\n \n ))}\n \n );\n}\n","import React, { useEffect } from 'react';\nimport { Card, Skeleton, Icon, Button } from 'antd';\nimport { Columns, Table } from '../../../table';\nimport { messages } from '../../../../messages';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { useApiResource } from '../../../../hooks/useApi';\nimport { ApiErrorDetails } from '../../../apiErrorDetails/apiErrorDetails';\nimport { DueInvoice, DueInvoicesOverview } from '../types';\nimport { formatNumber } from '../../../../helpers/formatNumber/formatNumber';\nimport { EmptyIndicator } from '../../../emptyIndicator/emptyIndicator';\nimport styles from './invoicesCard.module.scss';\nimport { dashboardApi } from '../../../../api/dashboardApi';\nimport { useApiSettings } from '../../../../hooks/useApi/useApiSettings';\n\nexport function InvoicesCard({\n goToInvoices,\n}: {\n goToInvoices: (options?: { paid?: boolean }) => void;\n}) {\n const { t } = useI18n();\n const invoices = useApiResource(dashboardApi.getOverdueInvoices);\n\n useEffect(() => {\n invoices.refresh();\n }, []);\n\n return (\n goToInvoices()}>\n {t(messages.dashboard.invoices.viewAll)}\n \n }\n >\n {invoices.error && }\n {invoices.isLoading && (\n \n )}\n {invoices.data && (\n goToInvoices({ paid: false })}\n />\n )}\n \n );\n}\n\nfunction InvoicesTable({\n invoicesOverview,\n onViewAll,\n}: {\n invoicesOverview: DueInvoicesOverview;\n onViewAll: () => void;\n}) {\n const { t, formatDate } = useI18n();\n const apiSettings = useApiSettings();\n\n const tableColumns: Columns = [\n {\n header: t(messages.invoice.invoiceNumber),\n accessor: 'invoiceNumber',\n },\n {\n header: t(messages.invoice.dueDate),\n accessor: 'dueDate',\n cell: ({ value }) => formatDate(value),\n },\n {\n header: t(messages.shared.remaining),\n cell: ({ row }) =>\n `${formatNumber(row.remaining, 2)} ${row.currencyCode}`,\n },\n {\n header: '',\n width: 40,\n cell: ({ row }) => {\n if (!row.pdfGenerated) return null;\n return (\n \n \n \n );\n },\n },\n ];\n\n if (!invoicesOverview.top.length) {\n return (\n \n );\n }\n\n return (\n <>\n items={invoicesOverview.top} columns={tableColumns} />\n {invoicesOverview.additionalDueInvoicesAvailable && (\n \n {t(messages.dashboard.invoices.viewAllUnpaid)}\n \n )}\n \n );\n}\n","import { ApiRequest } from '../../../hooks/useApi';\nimport { CustomerWidgetType } from '../../internalCustomerApi';\n\nexport const customerWidgetsApi = {\n getAllWidgets:\n (): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(apiSettings.customerWidgetsUri);\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n\n getUserWidgets:\n (): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(apiSettings.customerUserWidgetsUri);\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n removeCustomerUserWidget:\n (id: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.delete(\n apiSettings.removeCustomerUserWidgetUri(id),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n updateCustomerWidgetsSortOrder:\n (request: UpdateCustomerWidgetsSortOrderRequest): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.post(\n apiSettings.customerUserWidgetsUri,\n {\n data: request,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n getCategories:\n (): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(\n apiSettings.customerWidgetCategoriesUri,\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n getCategory:\n (id: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(\n apiSettings.customerWidgetCategoryUri(id),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n createCategory:\n (request: CreateCategoryRequest): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.post(\n apiSettings.customerWidgetCategoriesUri,\n {\n data: request,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n updateCategory:\n (id: number, request: UpdateCategoryRequest): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.put(\n apiSettings.customerWidgetCategoryUri(id),\n {\n data: request,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n removeWidgetCategory:\n (id: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.delete(\n apiSettings.customerWidgetCategoryUri(id),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n};\n\nexport interface CustomerWidget {\n type: CustomerWidgetType;\n}\n\nexport interface CustomerWidgetCategory {\n id: number;\n name: string;\n widgets: CustomerUserWidget[];\n}\n\nexport interface CustomerUserWidget {\n id: number;\n name: string;\n widgetType: CustomerWidgetType;\n}\n\nexport interface WidgetCategory {\n id: number;\n name: string;\n}\n\nexport interface CreateCategoryRequest {\n name: string;\n}\n\nexport interface UpdateCategoryRequest {\n name: string;\n}\n\nexport interface UpdateCustomerWidgetsSortOrderRequest {\n categoryId: number;\n userWidgetIds: number[];\n}\n","import { ApiRequest } from '../../../hooks/useApi';\nimport { TimePeriodType } from '../../../types';\nimport {\n Branch,\n Category,\n ProductStatisticsReport,\n Project,\n} from '../internalProductStatisticsReportWidgetApi';\n\nexport const customerProductStatisticsReportWidgetApi = {\n createWidget:\n (\n request: CreateUpdateCustomerProductStatisticsReportWidgetRequest,\n ): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.post(\n apiSettings.customerProductStatisticsReportWidgetsUri,\n {\n data: request,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n updateWidget:\n (\n id: number,\n request: CreateUpdateCustomerProductStatisticsReportWidgetRequest,\n ): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.put(\n apiSettings.customerProductStatisticsReportWidgetUri(id),\n {\n data: request,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n getWidget:\n (id: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(\n apiSettings.customerProductStatisticsReportWidgetUri(id),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n triggerNewReport:\n (widgetId: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.post(\n apiSettings.triggerNewCustomerProductStatisticsExportUri(widgetId),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n};\n\nexport interface CustomerProductStatisticsReportWidget {\n name: string;\n widgetCategoryId: number;\n color: string | undefined;\n branches: Branch[];\n categories: Category[];\n projects: Project[];\n itemTypes: string[];\n timePeriods: string[];\n timePeriodType: TimePeriodType;\n includeFrozenArticles: boolean;\n includeImages: boolean;\n mostRecentSuccessfullyGeneratedReport: ProductStatisticsReport | undefined;\n existsPendingReport: boolean;\n lastGeneratedReportFailed: boolean;\n}\n\nexport interface CreateUpdateCustomerProductStatisticsReportWidgetRequest {\n name: string;\n widgetCategoryId: number | undefined;\n color: string | undefined;\n categoryIds: number[];\n timePeriods: string[];\n timePeriodType: TimePeriodType;\n}\n","import { ApiRequest } from '../hooks/useApi';\n\nexport const categoryCodesApi = {\n getCategories: (): ApiRequest => async ({\n httpClient,\n apiSettings,\n }) => {\n const response = await httpClient.get(apiSettings.categoryCodesUri);\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: response.data,\n };\n }\n },\n};\n\nexport interface ArticleCategory {\n id: number;\n erpId: string;\n name: string;\n branchName: string;\n}\n","import { useI18n } from '../../../../../hooks/useI18n';\nimport { useNotificationStore } from '../../../../../hooks/useNotificationStore/notificationStore';\nimport React, { useState } from 'react';\nimport { ApiError, useApiRequests } from '../../../../../hooks/useApi';\nimport { CreateCategoryRequest } from '../../../../../api/internalWidgetsApi';\nimport { messages } from '../../../../../messages';\nimport { useFormik } from 'formik';\nimport { Input, Modal } from 'antd';\nimport { ApiErrorDetails } from '../../../../apiErrorDetails/apiErrorDetails';\nimport { Form } from '../../../../form/form';\nimport { customerWidgetsApi } from '../../../../../api/widgets/customers/customerWidgetsApi';\n\nexport function CreateCustomerCategoryModal(\n {\n onCancel,\n onSuccess,\n }: {\n onCancel: () => void;\n onSuccess: () => void;\n }) {\n const { t } = useI18n();\n const { notify } = useNotificationStore();\n\n const createWidgetCategory = useApiRequests(customerWidgetsApi.createCategory);\n\n const [name, setName] = useState('');\n const [error, setError] = useState();\n\n const handleFormSubmit = () => {\n const createCategoryRequest: CreateCategoryRequest = {\n name: name,\n };\n\n createWidgetCategory\n .create({\n onSuccess: () => {\n notify({\n title: t(messages.widgets.categories.categoryCreated),\n type: 'success',\n });\n onSuccess();\n },\n onError: setError,\n })\n .send(createCategoryRequest);\n };\n\n const formik = useFormik({\n initialValues: {\n name: '',\n },\n onSubmit: handleFormSubmit,\n });\n\n return (\n \n {error && }\n
\n

{t(messages.shared.name)}

\n setName(e.target.value)} />\n
\n \n );\n}\n\ninterface FormData {\n name: string;\n}\n","import { Button, Select, Tooltip } from 'antd';\nimport React, { useEffect, useState } from 'react';\nimport { useApiResource } from '../../../../../hooks/useApi';\nimport {\n customerWidgetsApi,\n WidgetCategory,\n} from '../../../../../api/widgets/customers/customerWidgetsApi';\nimport { CreateCustomerCategoryModal } from './createCustomerCategoryModal';\nimport { useI18n } from '../../../../../hooks/useI18n';\nimport { messages } from '../../../../../messages';\n\nconst { Option } = Select;\n\nexport function CustomerWidgetCategorySelect(\n {\n value,\n onChange,\n }: {\n value: string | undefined;\n onChange: (name: string) => void;\n }) {\n const { t } = useI18n();\n const [showCreateCategoryModal, setShowCreateCategoryModal] = useState(false);\n\n const widgetCategories = useApiResource(customerWidgetsApi.getCategories, {\n emptyValue: [] as WidgetCategory[],\n clearDataOnLoad: true,\n });\n\n useEffect(() => {\n widgetCategories.refresh();\n }, []);\n\n function onCategoryCreated() {\n setShowCreateCategoryModal(false);\n widgetCategories.refresh();\n }\n\n return (\n <>\n \n \n \n \n {showCreateCategoryModal &&\n setShowCreateCategoryModal(false)}\n onSuccess={onCategoryCreated} />}\n \n );\n}\n","import React, { useState } from 'react';\nimport { messages } from '../../../../../messages';\nimport { Input, Modal } from 'antd';\nimport { useI18n } from '../../../../../hooks/useI18n';\nimport { useFormik } from 'formik';\nimport { TimePeriodType } from '../../../../../types';\nimport { ApiError, useApiRequests } from '../../../../../hooks/useApi';\nimport { Form } from '../../../../form/form';\nimport {\n CreateUpdateCustomerProductStatisticsReportWidgetRequest,\n customerProductStatisticsReportWidgetApi,\n} from '../../../../../api/widgets/customers/customerProductStatisticsReportWidgetApi';\nimport { useNotificationStore } from '../../../../../hooks/useNotificationStore/notificationStore';\nimport { ApiErrorDetails } from '../../../../apiErrorDetails/apiErrorDetails';\nimport style from '../styling/widgetRowStyling.module.scss';\nimport { TimePeriodPicker } from '../../../../pickers/timePeriodPicker';\nimport { ArticleCategoryPicker } from '../../../../pickers/articleCategoryPicker';\nimport { categoryCodesApi } from '../../../../../api/categoryCodesApi';\nimport { TwitterPicker } from 'react-color';\nimport { defaultWidgetColors } from '../../../../internal/widgets/widgetColors';\nimport { CustomerWidgetCategorySelect } from '../categories/customerWidgetCategorySelect';\n\nexport const CreateCustomerProductStatisticsReportWidgetModal = ({\n onClose,\n}: {\n onClose: () => void;\n}) => {\n const { t } = useI18n();\n const { notify } = useNotificationStore();\n\n const [name, setName] = useState('');\n const [widgetCategoryId, setWidgetCategoryId] = useState(\n undefined,\n );\n const [color, setColor] = useState(undefined);\n const [categoryIds, setCategoryIds] = useState([]);\n const [timePeriods, setTimePeriods] = useState<{\n type: TimePeriodType;\n periods: string[];\n }>({\n type: TimePeriodType.Yearly,\n periods: [],\n });\n\n const [error, setError] = useState();\n\n const createWidget = useApiRequests(\n customerProductStatisticsReportWidgetApi.createWidget,\n );\n\n const handleFormSubmit = () => {\n const createWidgetData: CreateUpdateCustomerProductStatisticsReportWidgetRequest =\n {\n name: name,\n widgetCategoryId: widgetCategoryId,\n color: color,\n categoryIds: categoryIds,\n timePeriods: timePeriods.periods,\n timePeriodType: timePeriods.type,\n };\n\n createWidget\n .create({\n onSuccess: () => {\n notify({\n title: t(messages.widgets.widgetCreated),\n type: 'success',\n });\n onClose();\n },\n onError: setError,\n })\n .send(createWidgetData);\n };\n\n const formik = useFormik({\n initialValues: {\n name: '',\n categoryIds: [],\n },\n onSubmit: handleFormSubmit,\n });\n\n function handleWidgetCategoryOnChange(widgetCategoryId: string | undefined) {\n const id =\n widgetCategoryId === undefined\n ? widgetCategoryId\n : parseInt(widgetCategoryId);\n setWidgetCategoryId(id);\n }\n\n return (\n \n {error && }\n
\n
\n

{t(messages.shared.name)}

\n setName(e.target.value)}\n placeholder={t(messages.widgets.widgetNamePlaceholder)}\n />\n \n
\n
\n

{t(messages.shared.color)}

\n setColor(color.hex)}\n />\n
\n
\n

{t(messages.reports.articleCategory)}

\n categoryCodesApi.getCategories}\n />\n
\n
\n

{t(messages.reports.timePeriod)}

\n \n
\n
\n \n );\n};\n\ninterface FormData {\n name: string;\n categoryIds: number[];\n}\n","import { ApiRequest } from '../../../hooks/useApi';\n\nexport const customerAwaitingDeliveriesWidgetApi = {\n createWidget:\n (request: CreateUpdateAwaitingDeliveriesWidgetRequest): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.post(\n apiSettings.customerAwaitingDeliveriesWidgetsUri,\n {\n data: request,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n\n updateWidget:\n (\n id: number,\n request: CreateUpdateAwaitingDeliveriesWidgetRequest,\n ): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.put(\n apiSettings.customerAwaitingDeliveriesWidgetUri(id),\n {\n data: request,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n\n getWidget:\n (id: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(\n apiSettings.customerAwaitingDeliveriesWidgetUri(id),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n};\n\nexport interface Branch {\n id: number;\n name: string;\n}\n\nexport interface AwaitingDeliveriesWidget {\n name: string;\n widgetCategoryId: number | undefined;\n color: string | undefined;\n branch: Branch;\n numberOfOrders: number;\n branches: Branch[];\n}\n\nexport interface CreateUpdateAwaitingDeliveriesWidgetRequest {\n name: string;\n widgetCategoryId: number | undefined;\n color: string | undefined;\n branchIds: number[];\n}\n","import { ApiRequest } from '../hooks/useApi';\n\nexport interface StrippedBranch {\n id: number;\n name: string;\n}\n\nexport const customerBranchesApi = {\n getBranches:\n (): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(apiSettings.customerBranchesUri);\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: response.data,\n };\n }\n },\n};\n","import React, { useEffect } from 'react';\nimport { Select } from 'antd';\nimport { customerBranchesApi } from '../../api/customerBranchesApi';\nimport { useApiResource } from '../../hooks/useApi';\n\nexport function CustomerBranchPicker({\n onChange,\n branchIds,\n}: {\n onChange: (selectedBranchIds: number[]) => void;\n branchIds: number[];\n}) {\n const { Option } = Select;\n\n const branches = useApiResource(customerBranchesApi.getBranches);\n\n useEffect(() => {\n branches.refresh();\n }, []);\n\n return (\n \n {branches.data &&\n branches.data.map((b) => (\n \n ))}\n \n );\n}\n","import { useI18n } from '../../../../../hooks/useI18n';\nimport { useNotificationStore } from '../../../../../hooks/useNotificationStore/notificationStore';\nimport React, { useState } from 'react';\nimport { ApiError, useApiRequests } from '../../../../../hooks/useApi';\nimport { messages } from '../../../../../messages';\nimport { useFormik } from 'formik';\nimport { ColorResult, TwitterPicker } from 'react-color';\nimport { Input, Modal } from 'antd';\nimport { LoadingIndicator } from '../../../../loadingIndicator/loadingIndicator';\nimport { ApiErrorDetails } from '../../../../apiErrorDetails/apiErrorDetails';\nimport { Form } from '../../../../form/form';\nimport style from '../styling/widgetRowStyling.module.scss';\nimport { defaultWidgetColors } from '../../../../internal/widgets/widgetColors';\nimport {\n CreateUpdateAwaitingDeliveriesWidgetRequest,\n customerAwaitingDeliveriesWidgetApi,\n} from '../../../../../api/widgets/customers/customerAwaitingDeliveriesWidgetApi';\nimport { CustomerWidgetCategorySelect } from '../categories/customerWidgetCategorySelect';\nimport { CustomerBranchPicker } from '../../../../pickers/customerBranchPicker';\n\nexport const CreateCustomerAwaitingDeliveriesModal = ({\n onClose,\n}: {\n onClose: () => void;\n}) => {\n const { t } = useI18n();\n const { notify } = useNotificationStore();\n\n const [error, setError] = useState();\n\n const [name, setName] = useState('');\n const [widgetCategoryId, setWidgetCategoryId] = useState(\n undefined,\n );\n const [color, setColor] = useState(undefined);\n const [branchIds, setBranchIds] = useState([]);\n\n const awaitingDeliveriesWidget = useApiRequests(\n customerAwaitingDeliveriesWidgetApi.createWidget,\n );\n\n const handleFormSubmit = () => {\n const createWidgetData: CreateUpdateAwaitingDeliveriesWidgetRequest = {\n name: name,\n widgetCategoryId: widgetCategoryId,\n color: color,\n branchIds: branchIds,\n };\n\n awaitingDeliveriesWidget\n .create({\n onSuccess: () => {\n notify({\n title: t(messages.widgets.widgetCreated),\n type: 'success',\n });\n onClose();\n },\n onError: setError,\n })\n .send(createWidgetData);\n };\n\n const formik = useFormik({\n initialValues: {\n name: '',\n widgetCategoryId: undefined,\n color: undefined,\n branchIds: [],\n },\n onSubmit: handleFormSubmit,\n });\n\n function handleWidgetCategoryOnChange(widgetCategoryId: string | undefined) {\n const id =\n widgetCategoryId === undefined\n ? widgetCategoryId\n : parseInt(widgetCategoryId);\n setWidgetCategoryId(id);\n }\n\n function handleSelectedBranches(selectedBranchIds: number[]) {\n setBranchIds(selectedBranchIds);\n }\n\n function handleChangeColor(color: ColorResult) {\n setColor(color.hex);\n }\n\n return (\n \n {awaitingDeliveriesWidget.isLoading && }\n {error && }\n
\n
\n

{t(messages.shared.name)}

\n setName(e.target.value)}\n placeholder={t(messages.widgets.widgetNamePlaceholder)}\n />\n \n
\n
\n

{t(messages.shared.color)}

\n \n
\n
\n

{t(messages.shared.branch)}

\n \n
\n
\n \n );\n};\n\ninterface FormData {\n name: string;\n widgetCategoryId: number | undefined;\n color: string | undefined;\n branchIds: number[];\n}\n","import { ApiRequest } from '../../../hooks/useApi';\nimport { OrderType, TimePeriodType } from '../../../types';\n\nexport const customerCustomerOrdersReportWidgetApi = {\n createWidget:\n (request: CreateUpdateCustomerOrdersReportWidgetRequest): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.post(\n apiSettings.customerCustomerOrdersReportWidgetsUri,\n {\n data: request,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n updateWidget:\n (\n id: number,\n request: CreateUpdateCustomerOrdersReportWidgetRequest,\n ): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.put(\n apiSettings.customerCustomerOrdersReportWidgetUri(id),\n {\n data: request,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n getWidget:\n (id: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(\n apiSettings.customerCustomerOrdersReportWidgetUri(id),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n triggerNewReport:\n (widgetId: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.post(\n apiSettings.triggerNewCustomerCustomerOrdersReportWidgetUri(widgetId),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n};\n\nexport interface CustomerOrdersReportWidget {\n name: string;\n widgetCategoryId: number;\n color: string | undefined;\n branches: Branch[];\n categoryIds: number[];\n orderType: OrderType;\n deliveryStatus: number;\n timePeriods: string[];\n timePeriodType: TimePeriodType;\n mostRecentSuccessfullyGeneratedReport: CustomerOrdersReport | undefined;\n existsPendingReport: boolean;\n lastGeneratedReportFailed: boolean;\n}\n\nexport interface CreateUpdateCustomerOrdersReportWidgetRequest {\n name: string;\n widgetCategoryId: number | undefined;\n color: string | undefined;\n categoryIds: number[];\n orderType: OrderType;\n deliveryStatus: number;\n timePeriods: string[];\n timePeriodType: TimePeriodType;\n}\n\nexport interface Branch {\n id: number;\n name: string;\n}\n\nexport interface CustomerOrdersReport {\n id: string;\n createdDate: string;\n status: ReportStatus;\n}\n\nexport enum ReportStatus {\n Pending,\n Finished,\n Failed,\n}\n","import { Input, Modal } from 'antd';\nimport { messages } from '../../../../../messages';\nimport { ApiErrorDetails } from '../../../../apiErrorDetails/apiErrorDetails';\nimport { Form } from '../../../../form/form';\nimport style from '../styling/widgetRowStyling.module.scss';\nimport { CustomerWidgetCategorySelect } from '../categories/customerWidgetCategorySelect';\nimport React, { useState } from 'react';\nimport { useI18n } from '../../../../../hooks/useI18n';\nimport { useNotificationStore } from '../../../../../hooks/useNotificationStore/notificationStore';\nimport { useFormik } from 'formik';\nimport { OrderType, TimePeriodType } from '../../../../../types';\nimport { ApiError, useApiRequests } from '../../../../../hooks/useApi';\nimport { ArticleCategoryPicker } from '../../../../pickers/articleCategoryPicker';\nimport { categoryCodesApi } from '../../../../../api/categoryCodesApi';\nimport { OrderTypePicker } from '../../../../pickers/orderTypePicker';\nimport { DeliveryStatusPicker } from '../../../../pickers/deliveryStatusPicker';\nimport { TimePeriodPicker } from '../../../../pickers/timePeriodPicker';\nimport { TwitterPicker } from 'react-color';\nimport { defaultWidgetColors } from '../../../../internal/widgets/widgetColors';\nimport {\n CreateUpdateCustomerOrdersReportWidgetRequest,\n customerCustomerOrdersReportWidgetApi,\n} from '../../../../../api/widgets/customers/customerCustomerOrdersReportWidgetApi';\n\nexport const CreateCustomerOrdersReportWidgetModal = ({\n onClose,\n}: {\n onClose: () => void;\n}) => {\n const { t } = useI18n();\n const { notify } = useNotificationStore();\n\n const [name, setName] = useState('');\n const [widgetCategoryId, setWidgetCategoryId] = useState(\n undefined,\n );\n const [color, setColor] = useState(undefined);\n const [categoryIds, setCategoryIds] = useState([]);\n const [orderType, setOrderType] = useState(OrderType.Standard);\n const [deliveryStatus, setDeliveryStatus] = useState(0);\n const [timePeriods, setTimePeriods] = useState<{\n type: TimePeriodType;\n periods: string[];\n }>({\n type: TimePeriodType.Yearly,\n periods: [],\n });\n\n const [error, setError] = useState();\n\n const createWidget = useApiRequests(\n customerCustomerOrdersReportWidgetApi.createWidget,\n );\n\n const handleFormSubmit = () => {\n const createWidgetData: CreateUpdateCustomerOrdersReportWidgetRequest = {\n name: name,\n widgetCategoryId: widgetCategoryId,\n color: color,\n categoryIds: categoryIds,\n orderType: orderType,\n deliveryStatus: deliveryStatus,\n timePeriods: timePeriods.periods,\n timePeriodType: timePeriods.type,\n };\n\n createWidget\n .create({\n onSuccess: () => {\n notify({\n title: t(messages.widgets.widgetCreated),\n type: 'success',\n });\n onClose();\n },\n onError: setError,\n })\n .send(createWidgetData);\n };\n\n const formik = useFormik({\n initialValues: {\n name: '',\n categoryIds: [],\n },\n onSubmit: handleFormSubmit,\n });\n\n function handleWidgetCategoryOnChange(widgetCategoryId: string | undefined) {\n const id =\n widgetCategoryId === undefined\n ? widgetCategoryId\n : parseInt(widgetCategoryId);\n setWidgetCategoryId(id);\n }\n\n function handleSelectedCategoryIds(selectedCategoryIds: number[]) {\n setCategoryIds(selectedCategoryIds.slice(0, 300));\n }\n\n const selectableOrderTypes: OrderType[] = [\n OrderType.Standard,\n OrderType.Sample,\n OrderType.Forecast,\n ];\n\n return (\n \n {error && }\n
\n
\n

{t(messages.shared.name)}

\n setName(e.target.value)}\n placeholder={t(messages.widgets.widgetNamePlaceholder)}\n />\n \n
\n
\n

{t(messages.shared.color)}

\n setColor(color.hex)}\n />\n
\n
\n

{t(messages.reports.articleCategory)}

\n categoryCodesApi.getCategories}\n />\n
\n
\n

{t(messages.order.orderType)}

\n \n
\n {orderType !== OrderType.Forecast && (\n
\n

{t(messages.order.progress)}

\n \n
\n )}\n
\n

{t(messages.reports.timePeriod)}

\n \n
\n
\n \n );\n};\n\ninterface FormData {\n name: string;\n categoryIds: number[];\n}\n","import React, { useEffect, useState } from 'react';\nimport { messages } from '../../../../messages';\nimport { Modal } from 'antd';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { ListLayout } from '../../../listLayout/listLayout';\nimport { Columns, Table } from '../../../table';\nimport {\n CustomerWidget,\n customerWidgetsApi,\n} from '../../../../api/widgets/customers/customerWidgetsApi';\nimport { useApiResource } from '../../../../hooks/useApi';\nimport { CreateCustomerProductStatisticsReportWidgetModal } from './productStatisticsReport/createCustomerProductStatisticsReportWidgetModal';\nimport { LoadingIndicator } from '../../../loadingIndicator/loadingIndicator';\nimport {\n CustomerWidgetType,\n translateWidgetType,\n} from '../../../../api/internalCustomerApi';\nimport { CreateCustomerAwaitingDeliveriesModal } from './awaitingDeliveries/createCustomerAwaitingDeliveriesModal';\nimport { CreateCustomerOrdersReportWidgetModal } from './customerOrdersReport/createCustomerOrdersReportWidgetModal';\n\nexport const SelectWidgetToCreateModal = (\n {\n onClose,\n }: {\n onClose: () => void;\n }) => {\n const { t } = useI18n();\n\n const [createWidgetModal, setCreateWidgetModal] = useState();\n\n const widgets = useApiResource(customerWidgetsApi.getAllWidgets, {\n emptyValue: [] as CustomerWidget[],\n clearDataOnLoad: false,\n });\n\n useEffect(() => {\n widgets.refresh();\n }, []);\n\n const getColumns = (): Columns => [\n {\n header: t(messages.widgets.widgetType),\n accessor: 'type',\n sortable: true,\n cell: ({ row }) => <>{translateWidgetType(row.type)},\n },\n ];\n\n const renderCreateWidgetModal = (type: CustomerWidgetType) => {\n switch (type) {\n case CustomerWidgetType.ProductStatisticsReport:\n return {\n setCreateWidgetModal(undefined);\n onClose();\n }} />;\n case CustomerWidgetType.AwaitingDeliveries:\n return {\n setCreateWidgetModal(undefined);\n onClose();\n }} />;\n case CustomerWidgetType.CustomerOrdersReport:\n return {\n setCreateWidgetModal(undefined);\n onClose();\n }} />;\n }\n };\n\n return (\n \n {widgets.isLoading && }\n {!widgets.isLoading &&\n \n \n \n columns={getColumns()}\n onSelectItem={(item) => setCreateWidgetModal(item.type)}\n items={widgets.data}\n />\n \n \n }\n {createWidgetModal !== undefined && renderCreateWidgetModal(createWidgetModal)}\n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useI18n } from '../../../../../hooks/useI18n';\nimport { useNotificationStore } from '../../../../../hooks/useNotificationStore/notificationStore';\nimport { TimePeriodType } from '../../../../../types';\nimport { ApiError, useApiRequests } from '../../../../../hooks/useApi';\nimport {\n customerProductStatisticsReportWidgetApi,\n CreateUpdateCustomerProductStatisticsReportWidgetRequest,\n} from '../../../../../api/widgets/customers/customerProductStatisticsReportWidgetApi';\nimport { messages } from '../../../../../messages';\nimport { useFormik } from 'formik';\nimport { Input, Modal } from 'antd';\nimport { ApiErrorDetails } from '../../../../apiErrorDetails/apiErrorDetails';\nimport { Form } from '../../../../form/form';\nimport style from '../styling/widgetRowStyling.module.scss';\nimport { ArticleCategoryPicker } from '../../../../pickers/articleCategoryPicker';\nimport { categoryCodesApi } from '../../../../../api/categoryCodesApi';\nimport { TimePeriodPicker } from '../../../../pickers/timePeriodPicker';\nimport { TwitterPicker } from 'react-color';\nimport { defaultWidgetColors } from '../../../../internal/widgets/widgetColors';\nimport { CustomerWidgetCategorySelect } from '../categories/customerWidgetCategorySelect';\n\nexport const UpdateCustomerProductStatisticsReportWidgetModal = ({\n userWidgetId,\n onCancel,\n onSubmit,\n}: {\n userWidgetId: number;\n onCancel: () => void;\n onSubmit: () => void;\n}) => {\n const { t } = useI18n();\n const { notify } = useNotificationStore();\n\n const updateWidget = useApiRequests(\n customerProductStatisticsReportWidgetApi.updateWidget,\n );\n\n const widget = useApiRequests(\n customerProductStatisticsReportWidgetApi.getWidget,\n );\n\n const [name, setName] = useState('');\n const [widgetCategoryId, setWidgetCategoryId] = useState(\n undefined,\n );\n const [color, setColor] = useState(undefined);\n const [categoryIds, setCategoryIds] = useState([]);\n const [timePeriods, setTimePeriods] = useState<{\n type: TimePeriodType;\n periods: string[];\n }>({\n type: TimePeriodType.Yearly,\n periods: [],\n });\n\n const [error, setError] = useState();\n\n useEffect(() => {\n widget\n .create({\n onSuccess: (response) => {\n setName(response.name);\n setWidgetCategoryId(response.widgetCategoryId);\n setColor(response.color);\n setCategoryIds(response.categories.map((category) => category.id));\n setTimePeriods({\n type: response.timePeriodType,\n periods: response.timePeriods,\n });\n },\n onError: setError,\n })\n .send(userWidgetId);\n }, []);\n\n const handleFormSubmit = () => {\n const updateWidgetData: CreateUpdateCustomerProductStatisticsReportWidgetRequest =\n {\n name: name,\n widgetCategoryId: widgetCategoryId,\n color: color,\n categoryIds: categoryIds,\n timePeriods: timePeriods.periods,\n timePeriodType: timePeriods.type,\n };\n\n updateWidget\n .create({\n onSuccess: () => {\n notify({\n title: t(messages.widgets.widgetCreated),\n type: 'success',\n });\n onSubmit();\n },\n onError: setError,\n })\n .send(userWidgetId, updateWidgetData);\n };\n\n const formik = useFormik({\n initialValues: {\n name: '',\n categoryIds: [],\n },\n onSubmit: handleFormSubmit,\n });\n\n function handleWidgetCategoryOnChange(widgetCategoryId: string | undefined) {\n const id =\n widgetCategoryId === undefined\n ? widgetCategoryId\n : parseInt(widgetCategoryId);\n setWidgetCategoryId(id);\n }\n\n return (\n \n {error && }\n
\n
\n

{t(messages.shared.name)}

\n setName(e.target.value)}\n placeholder={t(messages.widgets.widgetNamePlaceholder)}\n />\n \n
\n
\n

{t(messages.shared.color)}

\n setColor(color.hex)}\n />\n
\n
\n

{t(messages.reports.articleCategory)}

\n categoryCodesApi.getCategories}\n />\n
\n
\n

{t(messages.reports.timePeriod)}

\n \n
\n
\n \n );\n};\n\ninterface FormData {\n name: string;\n categoryIds: number[];\n}\n","import React, { ReactElement, useEffect, useState } from 'react';\nimport { Button, Card, Divider, Icon, Skeleton, Tag, Tooltip } from 'antd';\nimport {\n ApiError,\n useApiRequests,\n useApiResource,\n} from '../../../../../hooks/useApi';\nimport { customerProductStatisticsReportWidgetApi } from '../../../../../api/widgets/customers/customerProductStatisticsReportWidgetApi';\nimport { messages } from '../../../../../messages';\nimport { DateFormat, useI18n } from '../../../../../hooks/useI18n';\nimport { useNotificationStore } from '../../../../../hooks/useNotificationStore/notificationStore';\nimport {\n Branch,\n ReportStatus,\n} from '../../../../../api/widgets/internalProductStatisticsReportWidgetApi';\nimport Moment from 'moment';\nimport { ApiErrorDetails } from '../../../../apiErrorDetails/apiErrorDetails';\nimport FileSaver from 'file-saver';\nimport { useFileUris } from '../../../../../hooks/useFileUrls/useFileUrls';\nimport styles from '../styling/widgetStyling.module.scss';\nimport { useInterval } from '../../../../../hooks/useInterval/useInterval';\nimport { UpdateCustomerProductStatisticsReportWidgetModal } from './updateCustomerProductStatisticsReportWidgetModal';\n\nexport const CustomerProductStatisticsReportWidget = ({\n userWidgetId,\n onWidgetDelete,\n}: {\n userWidgetId: number;\n onWidgetDelete: () => void;\n}) => {\n const pollingFrequency = 10000;\n const { t } = useI18n();\n const { notify } = useNotificationStore();\n const { downloadCustomerProductStatisticsExportUri } = useFileUris();\n\n const widget = useApiResource(\n customerProductStatisticsReportWidgetApi.getWidget,\n );\n const [isPolling, setIsPolling] = useState(false);\n const widgetPoll = useApiResource(\n customerProductStatisticsReportWidgetApi.getWidget,\n );\n const triggerReport = useApiRequests(\n customerProductStatisticsReportWidgetApi.triggerNewReport,\n );\n const [error, setError] = useState();\n const [showUpdateWidgetModal, setShowUpdateWidgetModal] =\n useState(false);\n\n useEffect(() => {\n widget.refresh(userWidgetId);\n }, []);\n\n useEffect(() => {\n if (widget.data?.existsPendingReport) {\n widgetPoll.refresh(userWidgetId);\n }\n }, [widget.data?.existsPendingReport]);\n\n useEffect(() => {\n if (widget.data?.existsPendingReport) {\n setIsPolling(true);\n } else {\n setIsPolling(false);\n }\n }, [widgetPoll.data?.existsPendingReport]);\n\n useInterval(\n () => {\n widgetPoll.refresh(userWidgetId);\n if (!widgetPoll.data?.existsPendingReport) {\n widget.refresh(userWidgetId);\n }\n },\n isPolling ? pollingFrequency : null,\n );\n\n function onExcelExportClick(): void {\n triggerReport\n .create({\n onSuccess: () => {\n notify({\n title: t(messages.widgets.productStatistics.newReportTriggered),\n type: 'success',\n });\n widget.refresh(userWidgetId);\n },\n onError: setError,\n })\n .send(userWidgetId);\n }\n\n const branchesAsTags = (branches: Branch[]): ReactElement[] =>\n branches.map((b) => {b.name});\n\n function onDownloadProductStatisticsClick(id: string | undefined): void {\n if (id === undefined) return;\n FileSaver.saveAs(downloadCustomerProductStatisticsExportUri(id));\n }\n\n function getHeadStyle(color: string | undefined) {\n const style = {\n backgroundColor: '#ffffff',\n color: '#000000',\n };\n if (color) {\n style['backgroundColor'] = color;\n style['color'] = '#ffffff';\n }\n return style;\n }\n\n return (\n <>\n {widget.isLoading && (\n \n \n \n )}\n {widget.hasResponse && widget.data !== undefined && (\n \n \n \n \n setShowUpdateWidgetModal(true)}\n >\n \n \n }\n >\n <>\n {widget.data.lastGeneratedReportFailed && (\n <>\n \n {t(messages.widgets.lastGeneratedReportFailed)}\n \n )}\n {widget.data.existsPendingReport && (\n <>\n \n {t(messages.widgets.pendingReport)}\n \n )}\n {widget.data.mostRecentSuccessfullyGeneratedReport === undefined &&\n !widget.data.existsPendingReport && (\n <>{t(messages.widgets.noReportsGeneratedYet)}\n )}\n {widget.data.mostRecentSuccessfullyGeneratedReport !== undefined &&\n widget.data.mostRecentSuccessfullyGeneratedReport.status ===\n ReportStatus.Finished && (\n <>\n

\n {t(messages.widgets.generated)}{' '}\n {Moment(\n widget.data.mostRecentSuccessfullyGeneratedReport\n .createdDate,\n DateFormat.DATETIME,\n ).format('MMMM Do YYYY, h:mm:ss a')}\n

\n \n onDownloadProductStatisticsClick(\n widget.data?.mostRecentSuccessfullyGeneratedReport?.id,\n )\n }\n >\n {t(messages.widgets.downloadExport)}\n \n \n )}\n \n {error && }\n \n
\n {branchesAsTags(widget.data.branches)}\n
\n \n )}\n {widget.hasResponse && widget.data === undefined && (\n \n \n \n }\n >\n

{messages.widgets.insufficientCompetence}

\n \n )}\n {showUpdateWidgetModal && (\n setShowUpdateWidgetModal(false)}\n onSubmit={() => {\n setShowUpdateWidgetModal(false);\n widget.refresh(userWidgetId);\n }}\n />\n )}\n \n );\n};\n","import { useI18n } from '../../../../../hooks/useI18n';\nimport { useNotificationStore } from '../../../../../hooks/useNotificationStore/notificationStore';\nimport React, { useState } from 'react';\nimport { ApiError, useApiRequests } from '../../../../../hooks/useApi';\nimport { messages } from '../../../../../messages';\nimport { Modal } from 'antd';\nimport { LoadingIndicator } from '../../../../loadingIndicator/loadingIndicator';\nimport { ApiErrorDetails } from '../../../../apiErrorDetails/apiErrorDetails';\nimport { customerWidgetsApi } from '../../../../../api/widgets/customers/customerWidgetsApi';\n\nexport function RemoveCustomerCategoryModal(\n {\n categoryId,\n categoryName,\n onCancel,\n onSuccess,\n }: {\n categoryId: number;\n categoryName: string;\n onCancel: () => void;\n onSuccess: () => void;\n }) {\n const { t } = useI18n();\n const { notify } = useNotificationStore();\n\n const [error, setError] = useState();\n\n const removeCategory = useApiRequests(\n customerWidgetsApi.removeWidgetCategory,\n );\n\n const handleRemove = () => {\n removeCategory\n .create({\n onSuccess: () => {\n onSuccess();\n notify({\n title: t(messages.widgets.categories.categoryRemoved),\n type: 'success',\n });\n },\n onError: setError,\n })\n .send(categoryId);\n };\n\n return (\n \n {removeCategory.isLoading && }\n

{t(messages.widgets.categories.customerRemovalWarning)}

\n {error && }\n \n );\n}\n","import { useI18n } from '../../../../../hooks/useI18n';\nimport { useNotificationStore } from '../../../../../hooks/useNotificationStore/notificationStore';\nimport React, { useEffect, useState } from 'react';\nimport { ApiError, useApiRequests } from '../../../../../hooks/useApi';\nimport { messages } from '../../../../../messages';\nimport { useFormik } from 'formik';\nimport { Input, Modal } from 'antd';\nimport { LoadingIndicator } from '../../../../loadingIndicator/loadingIndicator';\nimport { ApiErrorDetails } from '../../../../apiErrorDetails/apiErrorDetails';\nimport { Form } from '../../../../form/form';\nimport {\n customerWidgetsApi,\n UpdateCategoryRequest,\n} from '../../../../../api/widgets/customers/customerWidgetsApi';\n\nexport function UpdateCustomerCategoryModal(\n {\n categoryId,\n onCancel,\n onSuccess,\n }: {\n categoryId: number;\n onCancel: () => void;\n onSuccess: () => void;\n }) {\n const { t } = useI18n();\n const { notify } = useNotificationStore();\n\n const [error, setError] = useState();\n\n const [name, setName] = useState('');\n\n const updateWidgetCategory = useApiRequests(\n customerWidgetsApi.updateCategory,\n );\n\n const category = useApiRequests(customerWidgetsApi.getCategory);\n\n useEffect(() => {\n category.create({\n onSuccess: (response) => {\n setName(response.name);\n },\n onError: setError,\n })\n .send(categoryId);\n }, []);\n\n const handleFormSubmit = () => {\n const request: UpdateCategoryRequest = {\n name: name,\n };\n\n updateWidgetCategory\n .create({\n onSuccess: () => {\n notify({\n title: t(messages.widgets.categories.categoryUpdated),\n type: 'success',\n });\n onSuccess();\n },\n onError: setError,\n })\n .send(categoryId, request);\n };\n\n const formik = useFormik({\n initialValues: {\n name: '',\n },\n onSubmit: handleFormSubmit,\n });\n\n return (\n \n {updateWidgetCategory.isLoading && }\n {error && }\n
\n

{t(messages.shared.name)}

\n setName(e.target.value)} />\n
\n \n );\n}\n\ninterface FormData {\n name: string;\n}\n","import { useI18n } from '../../../../hooks/useI18n';\nimport { useNotificationStore } from '../../../../hooks/useNotificationStore/notificationStore';\nimport React, { useState } from 'react';\nimport { ApiError, useApiRequests } from '../../../../hooks/useApi';\nimport { messages } from '../../../../messages';\nimport { Modal } from 'antd';\nimport { LoadingIndicator } from '../../../loadingIndicator/loadingIndicator';\nimport { ApiErrorDetails } from '../../../apiErrorDetails/apiErrorDetails';\nimport { customerWidgetsApi } from '../../../../api/widgets/customers/customerWidgetsApi';\n\nexport function RemoveCustomerWidgetModal(\n {\n userWidgetId,\n userWidgetName,\n onCancel,\n onSuccess,\n }: {\n userWidgetId: number;\n userWidgetName: string;\n onCancel: () => void;\n onSuccess: () => void;\n }) {\n const { t } = useI18n();\n const { notify } = useNotificationStore();\n\n const [error, setError] = useState();\n\n const removeWidgetRequest = useApiRequests(\n customerWidgetsApi.removeCustomerUserWidget,\n );\n\n const onRemove = () => {\n removeWidgetRequest\n .create({\n onSuccess: () => {\n onSuccess();\n notify({\n title: t(messages.widgets.widgetRemoved),\n type: 'success',\n });\n },\n onError: setError,\n })\n .send(userWidgetId);\n };\n\n return (\n \n {removeWidgetRequest.isLoading && }\n

{t(messages.widgets.widgetRemovalWarning)}

\n {error && }\n \n );\n}\n","import { useI18n } from '../../../../../hooks/useI18n';\nimport { useNotificationStore } from '../../../../../hooks/useNotificationStore/notificationStore';\nimport React, { useEffect, useState } from 'react';\nimport { ApiError, useApiRequests } from '../../../../../hooks/useApi';\nimport { messages } from '../../../../../messages';\nimport { useFormik } from 'formik';\nimport { ColorResult, TwitterPicker } from 'react-color';\nimport { Input, Modal } from 'antd';\nimport { LoadingIndicator } from '../../../../loadingIndicator/loadingIndicator';\nimport { ApiErrorDetails } from '../../../../apiErrorDetails/apiErrorDetails';\nimport { Form } from '../../../../form/form';\nimport style from '../styling/widgetRowStyling.module.scss';\nimport { defaultWidgetColors } from '../../../../internal/widgets/widgetColors';\nimport {\n customerAwaitingDeliveriesWidgetApi,\n CreateUpdateAwaitingDeliveriesWidgetRequest,\n} from '../../../../../api/widgets/customers/customerAwaitingDeliveriesWidgetApi';\nimport { CustomerWidgetCategorySelect } from '../categories/customerWidgetCategorySelect';\nimport { CustomerBranchPicker } from '../../../../pickers/customerBranchPicker';\n\nexport function UpdateCustomerAwaitingDeliveriesWidgetModal({\n userWidgetId,\n onCancel,\n onSubmit,\n}: {\n userWidgetId: number;\n onCancel: () => void;\n onSubmit: () => void;\n}) {\n const { t } = useI18n();\n const { notify } = useNotificationStore();\n\n const [error, setError] = useState();\n\n const [name, setName] = useState('');\n const [widgetCategoryId, setWidgetCategoryId] = useState(\n undefined,\n );\n const [color, setColor] = useState(undefined);\n const [branchIds, setBranchIds] = useState([]);\n\n const updateAwaitingDeliveriesWidget = useApiRequests(\n customerAwaitingDeliveriesWidgetApi.updateWidget,\n );\n\n const widget = useApiRequests(customerAwaitingDeliveriesWidgetApi.getWidget);\n\n const handleFormSubmit = () => {\n const updateWidgetData: CreateUpdateAwaitingDeliveriesWidgetRequest = {\n name: name,\n widgetCategoryId: widgetCategoryId,\n color: color,\n branchIds: branchIds,\n };\n\n updateAwaitingDeliveriesWidget\n .create({\n onSuccess: () => {\n notify({\n title: t(messages.widgets.widgetUpdated),\n type: 'success',\n });\n onSubmit();\n },\n onError: setError,\n })\n .send(userWidgetId, updateWidgetData);\n };\n\n useEffect(() => {\n widget\n .create({\n onSuccess: (response) => {\n setName(response.name);\n setWidgetCategoryId(response.widgetCategoryId);\n setColor(response.color);\n setBranchIds(response.branches.map((w) => w.id));\n },\n onError: setError,\n })\n .send(userWidgetId);\n }, []);\n\n const formik = useFormik({\n initialValues: {\n name: '',\n widgetCategoryId: undefined,\n color: undefined,\n branchIds: [],\n },\n onSubmit: handleFormSubmit,\n });\n\n function handleWidgetCategoryOnChange(widgetCategoryId: string | undefined) {\n const id =\n widgetCategoryId === undefined\n ? widgetCategoryId\n : parseInt(widgetCategoryId);\n setWidgetCategoryId(id);\n }\n\n function handleSelectedBranches(selectedBranchIds: number[]) {\n setBranchIds(selectedBranchIds);\n }\n\n function handleChangeColor(color: ColorResult) {\n setColor(color.hex);\n }\n\n return (\n \n {updateAwaitingDeliveriesWidget.isLoading && }\n {error && }\n
\n
\n

{t(messages.shared.name)}

\n setName(e.target.value)}\n placeholder={t(messages.widgets.widgetNamePlaceholder)}\n />\n \n
\n
\n

{t(messages.shared.color)}

\n \n
\n
\n

{t(messages.shared.branch)}

\n \n
\n
\n \n );\n}\n\ninterface FormData {\n name: string;\n widgetCategoryId: number | undefined;\n color: string | undefined;\n branchIds: number[];\n}\n","import { Button, Card, Divider, Skeleton, Tag, Typography } from 'antd';\nimport { useI18n } from '../../../../../hooks/useI18n';\nimport { useFileUris } from '../../../../../hooks/useFileUrls/useFileUrls';\nimport { useApiResource } from '../../../../../hooks/useApi';\nimport React, { ReactElement, useEffect, useState } from 'react';\nimport FileSaver from 'file-saver';\nimport styles from '../../../../internal/dashboard/widgets/awaitingDeliveriesWidget/awaitingDeliveriesWidget.module.scss';\nimport { messages } from '../../../../../messages';\nimport {\n Branch,\n customerAwaitingDeliveriesWidgetApi,\n} from '../../../../../api/widgets/customers/customerAwaitingDeliveriesWidgetApi';\nimport { UpdateCustomerAwaitingDeliveriesWidgetModal } from './updateCustomerAwaitingDeliveriesModal';\n\nconst { Title } = Typography;\n\nexport function CustomerAwaitingDeliveriesWidget({\n userWidgetId,\n onWidgetDelete,\n}: {\n userWidgetId: number;\n onWidgetDelete: () => void;\n}) {\n const { t } = useI18n();\n const { customerAwaitingDeliveriesExportUri } = useFileUris();\n\n const widget = useApiResource(customerAwaitingDeliveriesWidgetApi.getWidget);\n const [showUpdateWidgetModal, setShowUpdateWidgetModal] = useState();\n\n const branchesAsTags = (branches: Branch[]): ReactElement[] =>\n branches.map((b) => {b.name});\n\n useEffect(() => {\n widget.refresh(userWidgetId);\n }, []);\n\n function onExcelExportClick(): void {\n if (widget.data === undefined) return;\n\n const branchIds = widget.data.branches.map((b) => b.id);\n FileSaver.saveAs(customerAwaitingDeliveriesExportUri(branchIds));\n }\n\n function getHeadStyle(color: string | undefined) {\n const style = {\n backgroundColor: '#ffffff',\n color: '#000000',\n };\n if (color) {\n style['backgroundColor'] = color;\n style['color'] = '#ffffff';\n }\n return style;\n }\n\n return (\n <>\n {widget.isLoading && (\n \n \n \n )}\n {widget.hasResponse && widget.data !== undefined && (\n \n setShowUpdateWidgetModal(true)}\n >\n onWidgetDelete()}\n >\n \n }\n >\n \n {widget.data.numberOfOrders}\n \n

\n {t(messages.widgets.awaitingDeliveries.widgetText)}\n

\n \n {t(messages.widgets.awaitingDeliveries.triggerExport)}\n \n \n
\n {branchesAsTags(widget.data.branches)}\n
\n \n )}\n {showUpdateWidgetModal && (\n {\n setShowUpdateWidgetModal(false);\n widget.refresh(userWidgetId);\n }}\n onCancel={() => setShowUpdateWidgetModal(false)}\n />\n )}\n \n );\n}\n","import { Input, Modal } from 'antd';\nimport { messages } from '../../../../../messages';\nimport { ApiErrorDetails } from '../../../../apiErrorDetails/apiErrorDetails';\nimport { Form } from '../../../../form/form';\nimport style from '../styling/widgetRowStyling.module.scss';\nimport { CustomerWidgetCategorySelect } from '../categories/customerWidgetCategorySelect';\nimport React, { useEffect, useState } from 'react';\nimport { useI18n } from '../../../../../hooks/useI18n';\nimport { useNotificationStore } from '../../../../../hooks/useNotificationStore/notificationStore';\nimport { useFormik } from 'formik';\nimport { OrderType, TimePeriodType } from '../../../../../types';\nimport { ApiError, useApiRequests } from '../../../../../hooks/useApi';\nimport { ArticleCategoryPicker } from '../../../../pickers/articleCategoryPicker';\nimport { categoryCodesApi } from '../../../../../api/categoryCodesApi';\nimport { OrderTypePicker } from '../../../../pickers/orderTypePicker';\nimport { DeliveryStatusPicker } from '../../../../pickers/deliveryStatusPicker';\nimport { TimePeriodPicker } from '../../../../pickers/timePeriodPicker';\nimport { TwitterPicker } from 'react-color';\nimport { defaultWidgetColors } from '../../../../internal/widgets/widgetColors';\nimport {\n customerCustomerOrdersReportWidgetApi,\n CreateUpdateCustomerOrdersReportWidgetRequest,\n} from '../../../../../api/widgets/customers/customerCustomerOrdersReportWidgetApi';\n\nexport const UpdateCustomerOrdersReportWidgetModal = ({\n userWidgetId,\n onCancel,\n onSubmit,\n}: {\n userWidgetId: number;\n onCancel: () => void;\n onSubmit: () => void;\n}) => {\n const { t } = useI18n();\n const { notify } = useNotificationStore();\n\n const [name, setName] = useState('');\n const [widgetCategoryId, setWidgetCategoryId] = useState(\n undefined,\n );\n const [color, setColor] = useState(undefined);\n const [categoryIds, setCategoryIds] = useState([]);\n const [orderType, setOrderType] = useState(OrderType.Standard);\n const [deliveryStatus, setDeliveryStatus] = useState(0);\n const [timePeriods, setTimePeriods] = useState<{\n type: TimePeriodType;\n periods: string[];\n }>({\n type: TimePeriodType.Yearly,\n periods: [],\n });\n\n const [error, setError] = useState();\n\n const updateWidget = useApiRequests(\n customerCustomerOrdersReportWidgetApi.updateWidget,\n );\n\n const widget = useApiRequests(\n customerCustomerOrdersReportWidgetApi.getWidget,\n );\n\n useEffect(() => {\n widget\n .create({\n onSuccess: (response) => {\n setName(response.name);\n setWidgetCategoryId(response.widgetCategoryId);\n setColor(response.color);\n setCategoryIds(response.categoryIds);\n setDeliveryStatus(response.deliveryStatus);\n setOrderType(response.orderType);\n setTimePeriods({\n type: response.timePeriodType,\n periods: response.timePeriods,\n });\n },\n onError: setError,\n })\n .send(userWidgetId);\n }, []);\n\n const handleFormSubmit = () => {\n const updateWidgetData: CreateUpdateCustomerOrdersReportWidgetRequest = {\n name: name,\n widgetCategoryId: widgetCategoryId,\n color: color,\n categoryIds: categoryIds,\n orderType: orderType,\n deliveryStatus: deliveryStatus,\n timePeriods: timePeriods.periods,\n timePeriodType: timePeriods.type,\n };\n\n updateWidget\n .create({\n onSuccess: () => {\n notify({\n title: t(messages.widgets.widgetUpdated),\n type: 'success',\n });\n onSubmit();\n },\n onError: setError,\n })\n .send(userWidgetId, updateWidgetData);\n };\n\n const formik = useFormik({\n initialValues: {\n name: '',\n categoryIds: [],\n },\n onSubmit: handleFormSubmit,\n });\n\n function handleWidgetCategoryOnChange(widgetCategoryId: string | undefined) {\n const id =\n widgetCategoryId === undefined\n ? widgetCategoryId\n : parseInt(widgetCategoryId);\n setWidgetCategoryId(id);\n }\n\n function handleSelectedCategoryIds(selectedCategoryIds: number[]) {\n setCategoryIds(selectedCategoryIds.slice(0, 300));\n }\n\n const selectableOrderTypes: OrderType[] = [\n OrderType.Standard,\n OrderType.Sample,\n OrderType.Forecast,\n ];\n\n return (\n \n {error && }\n
\n
\n

{t(messages.shared.name)}

\n setName(e.target.value)}\n placeholder={t(messages.widgets.widgetNamePlaceholder)}\n />\n \n
\n
\n

{t(messages.shared.color)}

\n setColor(color.hex)}\n />\n
\n
\n

{t(messages.reports.articleCategory)}

\n categoryCodesApi.getCategories}\n />\n
\n
\n

{t(messages.order.orderType)}

\n \n
\n {orderType !== OrderType.Forecast && (\n
\n

{t(messages.order.progress)}

\n \n
\n )}\n
\n

{t(messages.reports.timePeriod)}

\n \n
\n
\n \n );\n};\n\ninterface FormData {\n name: string;\n categoryIds: number[];\n}\n","import { DateFormat, useI18n } from '../../../../../hooks/useI18n';\nimport { useNotificationStore } from '../../../../../hooks/useNotificationStore/notificationStore';\nimport { useFileUris } from '../../../../../hooks/useFileUrls/useFileUrls';\nimport {\n ApiError,\n useApiRequests,\n useApiResource,\n} from '../../../../../hooks/useApi';\nimport React, { ReactElement, useEffect, useState } from 'react';\nimport { useInterval } from '../../../../../hooks/useInterval/useInterval';\nimport { messages } from '../../../../../messages';\nimport {\n Branch,\n ReportStatus,\n} from '../../../../../api/widgets/internalProductStatisticsReportWidgetApi';\nimport { Button, Card, Divider, Icon, Skeleton, Tag, Tooltip } from 'antd';\nimport FileSaver from 'file-saver';\nimport styles from '../styling/widgetStyling.module.scss';\nimport Moment from 'moment';\nimport { ApiErrorDetails } from '../../../../apiErrorDetails/apiErrorDetails';\nimport { customerCustomerOrdersReportWidgetApi } from '../../../../../api/widgets/customers/customerCustomerOrdersReportWidgetApi';\nimport { UpdateCustomerOrdersReportWidgetModal } from './updateCustomerOrdersReportWidgetModal';\n\nexport const CustomerOrdersReportWidget = ({\n userWidgetId,\n onWidgetDelete,\n}: {\n userWidgetId: number;\n onWidgetDelete: () => void;\n}) => {\n const pollingFrequency = 10000;\n const { t } = useI18n();\n const { notify } = useNotificationStore();\n const { downloadCustomerCustomerOrdersReportExportUri } = useFileUris();\n\n const widget = useApiResource(\n customerCustomerOrdersReportWidgetApi.getWidget,\n );\n const [isPolling, setIsPolling] = useState(false);\n const widgetPoll = useApiResource(\n customerCustomerOrdersReportWidgetApi.getWidget,\n );\n const triggerReport = useApiRequests(\n customerCustomerOrdersReportWidgetApi.triggerNewReport,\n );\n const [error, setError] = useState();\n const [showUpdateWidgetModal, setShowUpdateWidgetModal] =\n useState(false);\n\n useEffect(() => {\n widget.refresh(userWidgetId);\n }, []);\n\n useEffect(() => {\n if (widget.data?.existsPendingReport) {\n widgetPoll.refresh(userWidgetId);\n }\n }, [widget.data?.existsPendingReport]);\n\n useEffect(() => {\n if (widget.data?.existsPendingReport) {\n setIsPolling(true);\n } else {\n setIsPolling(false);\n }\n }, [widgetPoll.data?.existsPendingReport]);\n\n useInterval(\n () => {\n widgetPoll.refresh(userWidgetId);\n if (!widgetPoll.data?.existsPendingReport) {\n widget.refresh(userWidgetId);\n }\n },\n isPolling ? pollingFrequency : null,\n );\n\n function onExcelExportClick(): void {\n triggerReport\n .create({\n onSuccess: () => {\n notify({\n title: t(messages.widgets.customerOrdersReport.newReportTriggered),\n type: 'success',\n });\n widget.refresh(userWidgetId);\n },\n onError: setError,\n })\n .send(userWidgetId);\n }\n\n const branchesAsTags = (branches: Branch[]): ReactElement[] =>\n branches.map((b) => {b.name});\n\n function onDownloadCustomerOrdersClick(id: string | undefined): void {\n if (id === undefined) return;\n FileSaver.saveAs(downloadCustomerCustomerOrdersReportExportUri(id));\n }\n\n function getHeadStyle(color: string | undefined) {\n const style = {\n backgroundColor: '#ffffff',\n color: '#000000',\n };\n if (color) {\n style['backgroundColor'] = color;\n style['color'] = '#ffffff';\n }\n return style;\n }\n\n return (\n <>\n {widget.isLoading && (\n \n \n \n )}\n {widget.hasResponse && widget.data !== undefined && (\n \n \n \n \n setShowUpdateWidgetModal(true)}\n >\n \n \n }\n >\n <>\n {widget.data.lastGeneratedReportFailed && (\n <>\n \n {t(messages.widgets.lastGeneratedReportFailed)}\n \n )}\n {widget.data.existsPendingReport && (\n <>\n \n {t(messages.widgets.pendingReport)}\n \n )}\n {widget.data.mostRecentSuccessfullyGeneratedReport === undefined &&\n !widget.data.existsPendingReport && (\n <>{t(messages.widgets.noReportsGeneratedYet)}\n )}\n {widget.data.mostRecentSuccessfullyGeneratedReport !== undefined &&\n widget.data.mostRecentSuccessfullyGeneratedReport.status ===\n ReportStatus.Finished && (\n <>\n

\n {t(messages.widgets.generated)}{' '}\n {Moment(\n widget.data.mostRecentSuccessfullyGeneratedReport\n .createdDate,\n DateFormat.DATETIME,\n ).format('MMMM Do YYYY, h:mm:ss a')}\n

\n \n onDownloadCustomerOrdersClick(\n widget.data?.mostRecentSuccessfullyGeneratedReport?.id,\n )\n }\n >\n {t(messages.widgets.downloadExport)}\n \n \n )}\n \n {error && }\n \n
\n {branchesAsTags(widget.data.branches)}\n
\n \n )}\n {showUpdateWidgetModal && (\n setShowUpdateWidgetModal(false)}\n onSubmit={() => {\n setShowUpdateWidgetModal(false);\n widget.refresh(userWidgetId);\n }}\n />\n )}\n \n );\n};\n","import React, { useState } from 'react';\nimport { Card, Dropdown, Icon, Menu } from 'antd';\nimport styles from './customerWidgetCategoryCard.module.scss';\nimport {\n CustomerUserWidget,\n CustomerWidgetCategory,\n} from '../../../../api/widgets/customers/customerWidgetsApi';\nimport { messages } from '../../../../messages';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { Draggable, Droppable } from 'react-beautiful-dnd';\nimport { CustomerProductStatisticsReportWidget } from './productStatisticsReport/customerProductStatisticsReportWidget';\nimport { RemoveCustomerCategoryModal } from './categories/removeCustomerCategoryModal';\nimport { UpdateCustomerCategoryModal } from './categories/updateCustomerCategoryModal';\nimport { RemoveCustomerWidgetModal } from './removeCustomerWidgetModal';\nimport { CustomerWidgetType } from '../../../../api/internalCustomerApi';\nimport { CustomerAwaitingDeliveriesWidget } from './awaitingDeliveries/customerAwaitingDeliveriesWidget';\nimport { CustomerOrdersReportWidget } from './customerOrdersReport/customerOrdersReportWidget';\n\nexport const CustomerWidgetCategoryCard = (\n {\n category,\n onWidgetDeleted,\n onCategoryDeleted,\n onCategoryUpdated,\n }: {\n category: CustomerWidgetCategory;\n onWidgetDeleted: (widgetId: number) => void;\n onCategoryDeleted: () => void;\n onCategoryUpdated: () => void;\n },\n) => {\n const { t } = useI18n();\n const [deleteWidgetModal, setDeleteWidgetModal] = useState();\n const [showDeleteCategoryModal, setShowDeleteCategoryModal] = useState();\n const [showUpdateCategoryModal, setShowUpdateCategoryModal] = useState();\n\n const moreMenu = (\n \n setShowUpdateCategoryModal(true)}>\n \n {t(messages.widgets.categories.updateCategory)}\n \n setShowDeleteCategoryModal(true)}>\n \n {t(messages.widgets.categories.deleteCategory)}\n \n \n );\n\n const renderWidgetByType = (widget: CustomerUserWidget) => {\n switch (widget.widgetType) {\n case CustomerWidgetType.ProductStatisticsReport:\n return setDeleteWidgetModal(widget)}\n />;\n case CustomerWidgetType.AwaitingDeliveries:\n return setDeleteWidgetModal(widget)}\n />;\n case CustomerWidgetType.CustomerOrdersReport:\n return setDeleteWidgetModal(widget)}\n />;\n }\n };\n\n return (\n <>\n \n \n }>\n \n {provided => (\n \n {category.widgets.map((userWidget: CustomerUserWidget, index: number) => (\n \n {provided => (\n \n {renderWidgetByType(userWidget)}\n \n )}\n \n ))}\n {provided.placeholder}\n \n )}\n \n \n {deleteWidgetModal &&\n {\n onWidgetDeleted(deleteWidgetModal.id);\n setDeleteWidgetModal(undefined);\n }}\n onCancel={() => setDeleteWidgetModal(undefined)} />}\n {showDeleteCategoryModal &&\n setShowDeleteCategoryModal(false)}\n onSuccess={onCategoryDeleted} />}\n {showUpdateCategoryModal &&\n setShowUpdateCategoryModal(false)}\n onSuccess={onCategoryUpdated} />}\n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { ApiError, useApiRequests } from '../../../../hooks/useApi';\nimport {\n CustomerWidgetCategory,\n customerWidgetsApi,\n} from '../../../../api/widgets/customers/customerWidgetsApi';\nimport { Button } from 'antd';\nimport { SelectWidgetToCreateModal } from './selectWidgetToCreateModal';\nimport { DragDropContext, DropResult } from 'react-beautiful-dnd';\nimport { swap } from '../../../../helpers/swap';\nimport { move } from '../../../../helpers/move';\nimport { LoadingIndicator } from '../../../loadingIndicator/loadingIndicator';\nimport styles from './widgetDashboard.module.scss';\nimport { ApiErrorDetails } from '../../../apiErrorDetails/apiErrorDetails';\nimport { CustomerWidgetCategoryCard } from './customerWidgetCategoryCard';\nimport { CreateCustomerCategoryModal } from './categories/createCustomerCategoryModal';\nimport { UpdateUserWidgetsSortOrderRequest } from '../../../../api/internalWidgetsApi';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { messages } from '../../../../messages';\n\nexport const WidgetDashboard = () => {\n const { t } = useI18n();\n const categories = useApiRequests(customerWidgetsApi.getUserWidgets);\n\n const [createWidgetModal, setCreateWidgetModal] = useState();\n const [showCreateCategoryModal, setShowCreateCategoryModal] = useState(false);\n const userWidgetsSortOrder = useApiRequests(customerWidgetsApi.updateCustomerWidgetsSortOrder);\n\n const [categoriesMap, setCategoriesMap] = useState>(new Map());\n const [shouldUpdateSortOrder, setShouldUpdateSortOrder] = useState();\n\n const [error, setError] = useState();\n\n const refreshCategories = () => {\n categories.create({\n onSuccess: (response) => {\n const result: Map = response.reduce((obj, cur) => obj.set(cur.id, cur), new Map());\n setCategoriesMap(result);\n },\n onError: setError,\n })\n .send();\n };\n\n useEffect(() => {\n refreshCategories();\n }, []);\n\n const updateUserWidgetsSortOrder = (categoryId: number) => {\n const category = categoriesMap.get(categoryId);\n if (!category)\n return;\n\n const userWidgetIds: UpdateUserWidgetsSortOrderRequest = {\n categoryId: category.id,\n userWidgetIds: category.widgets.map(widget => widget.id),\n };\n\n userWidgetsSortOrder.create({\n onError: setError,\n },\n ).send(userWidgetIds);\n };\n\n const removeWidgetFromCategory = (widgetId: number, categoryId: number) => {\n const category = categoriesMap.get(categoryId);\n if (!category) {\n return;\n }\n const widgetIndex = category.widgets.findIndex(w => w.id === widgetId);\n if (widgetIndex === -1) {\n return;\n }\n category.widgets.splice(widgetIndex, 1);\n const newMap = new Map(categoriesMap);\n newMap.set(categoryId, category);\n setCategoriesMap(newMap);\n };\n\n function MoveWidget(result: DropResult) {\n const { source, destination } = result;\n if (!destination) {\n return;\n }\n const sourceId = +source.droppableId;\n const destinationId = +destination.droppableId;\n const sourceCategory = categoriesMap.get(sourceId);\n const destinationCategory = categoriesMap.get(destinationId);\n\n if (!sourceCategory) {\n return;\n }\n\n if (sourceId === destinationId) {\n const result = swap(sourceCategory.widgets, source.index, destination.index);\n const newSourceCategory: CustomerWidgetCategory = {\n id: sourceCategory.id,\n name: sourceCategory.name,\n widgets: result,\n };\n\n setCategoriesMap(new Map(categoriesMap.set(sourceId, newSourceCategory)));\n setShouldUpdateSortOrder(sourceId);\n } else if (destinationCategory) {\n const result = move(\n sourceCategory.widgets,\n destinationCategory.widgets,\n source.index,\n destination.index,\n );\n\n const newSourceCategory: CustomerWidgetCategory = {\n id: sourceCategory.id,\n name: sourceCategory.name,\n widgets: result[0],\n };\n\n const newDestinationCategory: CustomerWidgetCategory = {\n id: destinationCategory.id,\n name: destinationCategory.name,\n widgets: result[1],\n };\n\n const newMap = new Map(categoriesMap);\n newMap.set(sourceId, newSourceCategory);\n newMap.set(destinationId, newDestinationCategory);\n setCategoriesMap(newMap);\n setShouldUpdateSortOrder(destinationId);\n }\n }\n\n useEffect(() => {\n if (shouldUpdateSortOrder !== undefined) {\n updateUserWidgetsSortOrder(shouldUpdateSortOrder);\n setShouldUpdateSortOrder(undefined);\n }\n }, [categoriesMap]);\n\n return (\n <>\n \n \n
\n {error && }\n
\n {categories.isLoading && }\n {!categories.isLoading && (\n \n {Array.from(categoriesMap.values()).map(category =>\n refreshCategories()}\n onCategoryUpdated={() => refreshCategories()}\n onWidgetDeleted={(widgetId) => removeWidgetFromCategory(widgetId, category.id)}\n />,\n )}\n )}\n {!categories.isLoading && categoriesMap.size === 0 &&\n
\n {t(messages.widgets.categories.noCategories)}\n
}\n {createWidgetModal &&\n {\n setCreateWidgetModal(false);\n refreshCategories();\n }} />}\n {showCreateCategoryModal &&\n setShowCreateCategoryModal(false)}\n onSuccess={() => {\n setShowCreateCategoryModal(false);\n refreshCategories();\n }} />}\n
\n \n );\n};\n","import React from 'react';\nimport styles from './dashboard.module.scss';\nimport { UserInformation } from './userInformation/userInformation';\nimport { Row, Col, Alert } from 'antd';\nimport { ContactCard } from './contactCard/contactCard';\nimport { NewsCard } from './newsCard/newsCard';\nimport { InvoicesCard } from './invoicesCard/invoicesCard';\nimport { useShopSessionStore } from '../../../hooks/shop/useShopSessionStore';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\nimport { WidgetDashboard } from './widgets/widgetDashboard';\nimport { CustomerType } from '../../../types';\n\nexport const Dashboard = ({\n goToInvoices,\n}: {\n goToInvoices: (options?: { paid?: boolean }) => void;\n}) => {\n const { t } = useI18n();\n const { session, checkoutAdapter } = useShopSessionStore();\n\n return (\n
\n
\n
\n \n
\n
\n
\n {session.notifications !== undefined &&\n session.notifications.length > 0 &&\n session.notifications.map((notification) => (\n
\n \n \n \n \n \n
\n ))}\n {session.locked && (\n
\n \n \n \n \n \n
\n )}\n
\n \n \n {checkoutAdapter.showNewsFeed && }\n \n \n {session.invoicesEnabled &&\n checkoutAdapter.showOverdueInvoices && (\n \n )}\n \n \n \n
\n
\n {session.customerType === CustomerType.Brand && }\n
\n );\n};\n","import { ApiRequest } from '../hooks/useApi';\nimport { CustomerType } from '../types';\n\nexport const documentsApi = {\n getDocuments: (): ApiRequest => async ({\n httpClient,\n apiSettings,\n }) => {\n const response = await httpClient.get(apiSettings.documentsUri);\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: response.data,\n };\n }\n },\n};\n\nexport interface DocumentListItem {\n id: string;\n name: string;\n description: string;\n branchId?: number;\n projectId?: number;\n customerType?: CustomerType;\n}\n","import React, { useEffect } from 'react';\nimport { ApiErrorDetails } from '../../apiErrorDetails/apiErrorDetails';\nimport { useApiResource } from '../../../hooks/useApi';\nimport { List, Icon, Skeleton } from 'antd';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { useShopSessionStore } from '../../../hooks/shop/useShopSessionStore';\nimport { messages } from '../../../messages';\nimport { EmptyIndicator } from '../../emptyIndicator/emptyIndicator';\nimport { documentsApi, DocumentListItem } from '../../../api/documentsApi';\nimport { useFileUris } from '../../../hooks/useFileUrls/useFileUrls';\nimport { ContentLayout } from '../../contentLayout/contentLayout';\n\nexport const Documents = () => {\n const documents = useApiResource(documentsApi.getDocuments);\n const { t } = useI18n();\n const { session } = useShopSessionStore();\n\n useEffect(() => {\n documents.refresh();\n }, []);\n\n if (documents.error) {\n return ;\n }\n\n if (!documents.data) {\n return ;\n }\n\n const generalDocuments = documents.data.filter(\n (item) => !item.branchId && !item.projectId,\n );\n\n const branchDocuments = documents.data.filter(\n (item) => !!item.branchId && !item.projectId,\n );\n\n const yourDocuments = documents.data.filter((item) => !!item.projectId);\n\n return (\n \n {!!generalDocuments.length && (\n <>\n

{t(messages.documents.generalDocuments)}

\n \n \n )}\n {!!branchDocuments.length && (\n <>\n

\n {t(messages.documents.branchDocuments, {\n branch: `RH - ${session.branchName}`,\n })}\n

\n \n \n )}\n {!!yourDocuments.length && (\n <>\n

{t(messages.documents.yourDocuments)}

\n \n \n )}\n {!documents.data.length && (\n \n )}\n
\n );\n};\n\nfunction DocumentsList({ items }: { items: DocumentListItem[] }) {\n const { documentFileUri } = useFileUris();\n\n return (\n (\n \n \n {item.name}\n \n }\n description={item.description}\n />\n \n )}\n />\n );\n}\n","import React from 'react';\nimport { Tag, Icon, Tooltip } from 'antd';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { messages } from '../../../../messages';\nimport { useCartStore } from '../../../../hooks/shop/useCartStore';\nimport { useShopSessionStore } from '../../../../hooks/shop/useShopSessionStore';\n\nexport function CartQuantity({ articleId }: { articleId: number }) {\n const { t } = useI18n();\n const cartStore = useCartStore();\n const cartItem = cartStore.items.find((i) => i.articleId === articleId);\n const {\n checkoutAdapter: { showQuantityInCart },\n } = useShopSessionStore();\n\n if (!cartItem) {\n return null;\n }\n\n return (\n \n \n \n {showQuantityInCart && cartItem.quantity}\n \n \n );\n}\n","import React from 'react';\nimport { Card, Button, Icon } from 'antd';\nimport styles from './listCardItem.module.scss';\nimport { CartQuantity } from '../cartQuantity/cartQuantity';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { messages } from '../../../../messages';\nimport { Currency, ArticleType } from '../../../../types';\nimport { formatNumber } from '../../../../helpers/formatNumber/formatNumber';\nimport { ArticleListItem } from '../../../../api/articlesApi';\nimport { useFileUris } from '../../../../hooks/useFileUrls/useFileUrls';\n\ninterface Props {\n item: ArticleListItem;\n displayCurrency: Currency;\n onSelectItem: (item: ArticleListItem) => void;\n showPrice?: boolean;\n}\n\nexport const ListCardItem = ({\n item,\n displayCurrency,\n onSelectItem,\n showPrice = true,\n}: Props) => {\n const { t } = useI18n();\n const { placeholderImageFileUri, articleImageFileUri } = useFileUris();\n\n return (\n onSelectItem(item)}\n className={styles.card}\n cover={\n
\n {\n currentTarget.onerror = null;\n currentTarget.src = placeholderImageFileUri;\n }}\n />\n
\n }\n >\n \n
{item.description}
\n {showPrice && item.type !== ArticleType.Matrix && (\n <>\n
\n {`${t(messages.stock.stock)}: ${item.available.toFixed(\n item.quantityDecimalPlaces,\n )}`}\n
\n
\n {`${t(messages.article.unit)}: `}\n {`${item.unit}`}\n
\n
\n {`${t(messages.shared.price)}: `}\n {`${formatNumber(\n item.displayPrice,\n displayCurrency.priceDecimalPlaces,\n )} ${displayCurrency.code}`}\n
\n \n )}\n
\n \n
\n
\n \n
\n \n }\n />\n \n );\n};\n","export enum ArticleListType {\n Rows = 0,\n Cards = 1,\n}\n","import React from 'react';\nimport styles from './articlesList.module.scss';\nimport {\n List,\n Row,\n Col,\n Input,\n Select,\n Button,\n Icon,\n Radio,\n Pagination,\n Divider,\n Menu,\n Dropdown,\n Tooltip,\n} from 'antd';\nimport { ListCardItem } from '../listCardItem/listCardItem';\nimport { ArticleListType } from '../types';\nimport { ArticleType, CustomerType, Currency } from '../../../../types';\nimport { CartQuantity } from '../cartQuantity/cartQuantity';\nimport { useI18n, TranslateFunction } from '../../../../hooks/useI18n';\nimport { messages } from '../../../../messages';\nimport { Table, Columns } from '../../../table';\nimport { ListLayout } from '../../../listLayout/listLayout';\nimport { useShopSessionStore } from '../../../../hooks/shop/useShopSessionStore';\nimport { CurrencyPicker } from '../currencyPicker/currencyPicker';\nimport { formatNumber } from '../../../../helpers/formatNumber/formatNumber';\nimport { fileDownloadIcon } from '../../../customIcons/fileDownloadIcon';\nimport { ArticleListItem } from '../../../../api/articlesApi';\n\nexport const getListColumns = (\n t: TranslateFunction,\n currency: Currency,\n showPrice = true,\n): Columns => [\n {\n header: t(messages.article.articleNumber),\n accessor: 'articleNumber',\n sortable: true,\n width: 150,\n },\n {\n header: t(messages.article.description),\n accessor: 'description',\n sortable: true,\n width: 220,\n },\n {\n header: t(messages.article.extraDescription),\n accessor: 'erpText1',\n sortable: true,\n width: 220,\n },\n {\n header: t(messages.article.unit),\n sortable: false,\n width: 50,\n cell: ({ row }) => {\n return row.unit;\n },\n },\n {\n header: showPrice ? (\n \n {t(messages.shared.price)} ({currency.code})\n \n ) : (\n <>\n ),\n accessor: 'displayPrice',\n sortable: false,\n align: 'right',\n cell: ({ row }) => {\n return showPrice && row.type !== ArticleType.Matrix\n ? formatNumber(row.displayPrice, currency.priceDecimalPlaces)\n : '';\n },\n },\n {\n header: t(messages.stock.inStock),\n sortable: false,\n align: 'right',\n width: 100,\n cell: ({ row }) => {\n return row.type !== ArticleType.Matrix\n ? row.inStock.toFixed(row.quantityDecimalPlaces)\n : '';\n },\n },\n {\n header: t(messages.stock.inOrder),\n sortable: false,\n align: 'right',\n width: 100,\n cell: ({ row }) => {\n return row.type !== ArticleType.Matrix\n ? row.inOrder.toFixed(row.quantityDecimalPlaces)\n : '';\n },\n },\n {\n header: t(messages.stock.available),\n sortable: false,\n align: 'right',\n width: 100,\n cell: ({ row }) => {\n return row.type !== ArticleType.Matrix\n ? row.available.toFixed(row.quantityDecimalPlaces)\n : '';\n },\n },\n {\n header: '',\n sortable: false,\n width: 130,\n cell: ({ row }) => {\n return (\n
\n \n \n
\n );\n },\n },\n];\n\ninterface Props {\n isLoading: boolean;\n displayCurrency: Currency;\n totalArticles?: number;\n page: number;\n pageSize: number;\n sortingKey: keyof ArticleListItem;\n sortingDesc: boolean;\n articles: ArticleListItem[];\n listType: ArticleListType;\n exportArticlesCurrentBranchUrl: string;\n exportArticlesAllBranchesUrl: string;\n exportArticleVariantsCurrentBranchUrl: string;\n exportArticleVariantsAllBranchesUrl: string;\n onChangeDisplayCurrency: (currency: Currency) => void;\n onPageChange: (page: number) => void;\n onChangeListType: (listType: ArticleListType) => void;\n onSelectItem: (item: ArticleListItem) => void;\n onSortedChange: (sorting: {\n key: keyof ArticleListItem;\n desc: boolean;\n }) => void;\n}\n\nconst ArticlesListComponent = ({\n isLoading,\n displayCurrency,\n totalArticles,\n page,\n pageSize,\n sortingKey,\n sortingDesc,\n listType,\n articles,\n exportArticlesCurrentBranchUrl,\n exportArticlesAllBranchesUrl,\n exportArticleVariantsCurrentBranchUrl,\n exportArticleVariantsAllBranchesUrl,\n onChangeDisplayCurrency,\n onPageChange,\n onSortedChange,\n onChangeListType,\n onSelectItem,\n}: Props) => {\n const { t } = useI18n();\n const { session, checkoutAdapter } = useShopSessionStore();\n\n const listColumns = getListColumns(\n t,\n displayCurrency,\n checkoutAdapter.showPrice,\n );\n\n return (\n <>\n \n {t(messages.shared.listingItemsCount, {\n count: totalArticles ?? 0,\n })}\n \n \n \n \n \n \n {t(messages.reports.exportArticles)}{' '}\n {!session.useLocalBranchStock &&\n t(messages.reports.currentLocation)}\n \n \n \n {!session.useLocalBranchStock && (\n \n \n \n {t(messages.reports.exportArticles)}{' '}\n {t(messages.reports.allLocations)}\n \n \n \n )}\n \n \n \n {t(messages.reports.exportArticleVariants)}{' '}\n {!session.useLocalBranchStock &&\n t(messages.reports.currentLocation)}\n \n \n \n {!session.useLocalBranchStock && (\n \n \n \n {t(messages.reports.exportArticleVariants)}{' '}\n {t(messages.reports.allLocations)}\n \n \n \n )}\n \n }\n trigger={['click']}\n placement=\"bottomLeft\"\n >\n \n \n \n \n }\n extra={\n \n {session.customerType === CustomerType.Brand && (\n \n \n {t(messages.shared.currency)}:\n \n \n \n \n \n )}\n \n \n {t(messages.shared.sortBy)}:\n \n \n {\n onSortedChange({ key, desc: false });\n }}\n className={styles.sortBySelect}\n >\n {listColumns\n .filter((c) => c.sortable)\n .map((c) => (\n \n {c.header}\n \n ))}\n \n \n onSortedChange({ key: sortingKey, desc: !sortingDesc })\n }\n >\n \n \n \n \n \n \n \n onChangeListType(e.target.value)}\n buttonStyle=\"solid\"\n size=\"large\"\n >\n \n \n \n \n \n \n \n \n \n }\n />\n
\n {listType === ArticleListType.Cards ? (\n (\n \n \n \n )}\n />\n ) : (\n \n isLoading={isLoading}\n columns={listColumns}\n sorted={{ key: sortingKey, desc: sortingDesc, onSortedChange }}\n items={articles}\n onSelectItem={onSelectItem}\n />\n )}\n {articles.length > 0 && (\n
\n \n
\n )}\n
\n \n );\n};\n\nexport const ArticlesList = React.memo(ArticlesListComponent);\n","import { ApiRequest } from '../hooks/useApi';\n\nexport const assortmentsApi = {\n getAssortments: (): ApiRequest => async ({\n httpClient,\n apiSettings,\n }) => {\n const response = await httpClient.get(apiSettings.assortmentsUri);\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: response.data,\n };\n }\n },\n};\n\nexport interface Assortment {\n id: number;\n name: string;\n checkoutAdapterId?: number;\n children?: Assortment[];\n}\n","import React, { useMemo, useEffect } from 'react';\nimport { Tree, Skeleton } from 'antd';\nimport { messages } from '../../../../messages';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { Filters } from '../../../filters/filters';\nimport { useDebounceValueCallback } from '../../../../hooks/useDebounceValueCallback';\nimport { SearchInput } from '../../../searchInput/searchInput';\nimport { ApiErrorDetails } from '../../../apiErrorDetails/apiErrorDetails';\nimport { useApiResource } from '../../../../hooks/useApi';\nimport { assortmentsApi, Assortment } from '../../../../api/assortmentsApi';\nimport { ArticleFilterValues } from '../../../../api/articlesApi';\n\ninterface Props {\n readonly values: ArticleFilterValues;\n readonly onChange: (values: ArticleFilterValues) => void;\n}\n\nconst emptyAssortmentKey = 'all';\n\nconst renderTreeNodes = (assortments: Assortment[]) =>\n assortments.map((assortment) => (\n \n {assortment.children && renderTreeNodes(assortment.children)}\n \n ));\n\nconst ArticleFiltersComponent = ({ values, onChange }: Props) => {\n const { t } = useI18n();\n const assortments = useApiResource(assortmentsApi.getAssortments);\n\n const selectedAssortmentKeys = useMemo(\n () =>\n values.assortmentId !== undefined\n ? [`${values.assortmentId}`]\n : [emptyAssortmentKey],\n [values.assortmentId],\n );\n\n const setAssortmentValue = (assortmentKey?: string) => {\n if (!assortmentKey) {\n return;\n }\n\n const newAssortmentId =\n assortmentKey === emptyAssortmentKey\n ? undefined\n : parseInt(assortmentKey, 10);\n onChange({ ...values, assortmentId: newAssortmentId });\n };\n\n const [\n searchQuery,\n setSearchQuery,\n ] = useDebounceValueCallback(values.searchQuery, (value) =>\n onChange({ ...values, searchQuery: value }),\n );\n\n useEffect(() => {\n assortments.refresh();\n }, []);\n\n return (\n \n \n \n \n \n {assortments.error && }\n {!assortments.data && !assortments.error && (\n \n )}\n {assortments.data && (\n setAssortmentValue(e[0])}\n >\n \n {renderTreeNodes(assortments.data)}\n \n )}\n \n \n );\n};\n\nexport const ArticleFilters = React.memo(ArticleFiltersComponent);\n","import querystringify from 'querystringify';\nimport { ArticleListItem, ArticleFilterValues } from '../../../api/articlesApi';\nimport { ApiSettings } from '../../../api/apiSettings';\n\nexport interface ExportOptions {\n sortDesc: boolean;\n sortBy: keyof ArticleListItem;\n filterValues: ArticleFilterValues;\n displayCurrencyId: number;\n includeVariants: boolean;\n includeAllBranches: boolean;\n}\n\nexport function getExportArticlesUrl(\n apiSettings: ApiSettings,\n options: ExportOptions,\n) {\n const queryString = querystringify.stringify({\n searchQuery: options.filterValues.searchQuery,\n assortmentId: options.filterValues.assortmentId,\n sortBy: options.sortBy,\n sortDesc: options.sortDesc,\n displayCurrencyId: options.displayCurrencyId,\n includeVariants: options.includeVariants,\n includeAllBranches: options.includeAllBranches,\n });\n\n return `${apiSettings.articlesExportUri}?${queryString}`;\n}\n","import React, { useEffect, useCallback, useMemo, useState } from 'react';\nimport { ArticlesList } from './articlesList/articlesList';\nimport { ArticleFilters } from './articleFilters/articleFilters';\nimport { ApiErrorDetails } from '../../apiErrorDetails/apiErrorDetails';\nimport { useApiResource } from '../../../hooks/useApi';\nimport { ListLayout } from '../../listLayout/listLayout';\nimport { useQueryParams, serializers } from '../../../hooks/useQueryParams';\nimport { useArticleCartModalStore } from '../../../hooks/shop/useArticleCartModalStore';\nimport { useShopSessionStore } from '../../../hooks/shop/useShopSessionStore';\nimport { Currency } from '../../../types';\nimport { getExportArticlesUrl } from './excelExport';\nimport {\n articlesApi,\n ArticleListItem,\n ArticleFilterValues,\n} from '../../../api/articlesApi';\nimport { ArticleListType } from './types';\nimport { useApiSettings } from '../../../hooks/useApi/useApiSettings';\n\nconst pageSize = 28;\n\nexport const Articles = () => {\n const articleCartModalStore = useArticleCartModalStore();\n const apiSettings = useApiSettings();\n const { session } = useShopSessionStore();\n const [displayCurrency, setDisplayCurrency] = useState(\n session.currency,\n );\n\n const [queryParams, setQueryParams] = useQueryParams({\n page: serializers.number({ defaultValue: 1 }),\n searchQuery: serializers.string({ defaultValue: '' }),\n assortmentId: serializers.number(),\n sortingDesc: serializers.boolean({ defaultValue: false }),\n sortingKey: serializers.custom({\n defaultValue: 'articleNumber',\n serialize: (v) => v,\n deserialize: (v) => {\n switch (v as keyof ArticleListItem) {\n case 'articleNumber':\n return 'articleNumber';\n case 'description':\n return 'description';\n }\n },\n }),\n listType: serializers.custom({\n defaultValue: ArticleListType.Cards,\n serialize: (v) => v.toString(),\n deserialize: (v) => {\n switch (v) {\n case ArticleListType.Rows.toString():\n return ArticleListType.Rows;\n case ArticleListType.Cards.toString():\n return ArticleListType.Cards;\n default:\n return ArticleListType.Cards;\n }\n },\n }),\n });\n\n const articles = useApiResource(articlesApi.getArticles, {\n emptyValue: {\n totalItems: 0,\n items: [],\n },\n clearDataOnLoad: false,\n });\n\n const setPage = useCallback(\n (page: number) => {\n setQueryParams({ ...queryParams, page });\n },\n [queryParams],\n );\n\n const handleChangeArticleFilters = useCallback(\n (filterValues: ArticleFilterValues) => {\n setQueryParams({\n ...queryParams,\n ...filterValues,\n page: 1,\n });\n },\n [queryParams],\n );\n\n const handleSelectItem = useCallback(\n (item: ArticleListItem) => {\n articleCartModalStore.showArticle(item.id, displayCurrency);\n },\n [displayCurrency],\n );\n\n const handleChangeListType = useCallback(\n (listType: ArticleListType) => {\n setQueryParams({\n ...queryParams,\n listType,\n });\n },\n [queryParams],\n );\n\n const handleSortingChange = useCallback(\n ({ key, desc }: { key: keyof ArticleListItem; desc: boolean }) => {\n setQueryParams({\n ...queryParams,\n sortingKey: key,\n sortingDesc: desc,\n page: 1,\n });\n },\n [queryParams],\n );\n\n const filterValues = useMemo(\n () => ({\n searchQuery: queryParams.searchQuery,\n assortmentId: queryParams.assortmentId,\n }),\n [queryParams.searchQuery, queryParams.assortmentId],\n );\n\n const exportArticlesCurrentBranchUrl = useMemo(\n () =>\n getExportArticlesUrl(apiSettings, {\n sortBy: queryParams.sortingKey,\n sortDesc: queryParams.sortingDesc,\n filterValues,\n displayCurrencyId: displayCurrency.id,\n includeVariants: false,\n includeAllBranches: false,\n }),\n [\n apiSettings,\n queryParams.sortingKey,\n queryParams.sortingDesc,\n filterValues,\n displayCurrency,\n ],\n );\n const exportArticlesAllBranchesUrl = useMemo(\n () =>\n getExportArticlesUrl(apiSettings, {\n sortBy: queryParams.sortingKey,\n sortDesc: queryParams.sortingDesc,\n filterValues,\n displayCurrencyId: displayCurrency.id,\n includeVariants: false,\n includeAllBranches: true,\n }),\n [\n apiSettings,\n queryParams.sortingKey,\n queryParams.sortingDesc,\n filterValues,\n displayCurrency,\n ],\n );\n const exportArticleVariantsCurrentBranchUrl = useMemo(\n () =>\n getExportArticlesUrl(apiSettings, {\n sortBy: queryParams.sortingKey,\n sortDesc: queryParams.sortingDesc,\n filterValues,\n displayCurrencyId: displayCurrency.id,\n includeVariants: true,\n includeAllBranches: false,\n }),\n [\n apiSettings,\n queryParams.sortingKey,\n queryParams.sortingDesc,\n filterValues,\n displayCurrency,\n ],\n );\n const exportArticleVariantsAllBranchesUrl = useMemo(\n () =>\n getExportArticlesUrl(apiSettings, {\n sortBy: queryParams.sortingKey,\n sortDesc: queryParams.sortingDesc,\n filterValues,\n displayCurrencyId: displayCurrency.id,\n includeVariants: true,\n includeAllBranches: true,\n }),\n [\n apiSettings,\n queryParams.sortingKey,\n queryParams.sortingDesc,\n filterValues,\n displayCurrency,\n ],\n );\n\n useEffect(() => {\n articles.refresh({\n page: queryParams.page,\n pageSize,\n sortBy: queryParams.sortingKey,\n sortDesc: queryParams.sortingDesc,\n filterValues,\n displayCurrencyId: displayCurrency.id,\n });\n }, [\n queryParams.page,\n queryParams.sortingKey,\n queryParams.sortingDesc,\n filterValues,\n displayCurrency,\n ]);\n\n return (\n \n \n \n \n \n {articles.error && (\n \n \n \n )}\n \n \n \n );\n};\n","import { QuickSearchResult } from './types';\n\nexport type Actions =\n | {\n type: 'reset';\n }\n | {\n type: 'focused';\n }\n | {\n type: 'updatedSearchQuery';\n payload: string;\n }\n | {\n type: 'loadingMore';\n }\n | {\n type: 'searchSuccess';\n payload: { result: QuickSearchResult; page: number };\n }\n | {\n type: 'searchFailure';\n payload: string;\n };\n\ninterface State {\n isFocused: boolean;\n isOpen: boolean;\n loading: boolean;\n searchQuery: string;\n isLastPage: boolean;\n currentPage: number;\n error?: string;\n list?: QuickSearchResult;\n}\n\nexport const initialState: State = {\n isFocused: false,\n isOpen: false,\n loading: false,\n searchQuery: '',\n isLastPage: false,\n currentPage: 1,\n error: undefined,\n list: undefined,\n};\n\nexport function reducer(state: State, action: Actions): State {\n switch (action.type) {\n case 'reset': {\n return initialState;\n }\n\n case 'focused': {\n return {\n ...state,\n isFocused: true,\n };\n }\n\n case 'updatedSearchQuery': {\n return {\n ...state,\n searchQuery: action.payload,\n loading: true,\n list: undefined,\n error: undefined,\n isOpen: !!action.payload.length,\n };\n }\n\n case 'loadingMore': {\n return {\n ...state,\n error: undefined,\n loading: true,\n };\n }\n\n case 'searchSuccess': {\n if (state.loading === false) {\n return state;\n }\n\n return {\n ...state,\n loading: false,\n list: state.list\n ? {\n ...state.list,\n items: [...state.list.items, ...action.payload.result.items],\n }\n : action.payload.result,\n error: undefined,\n currentPage: action.payload.page,\n isLastPage: isLastPage(\n action.payload.page,\n action.payload.result.totalItems,\n 15,\n ),\n };\n }\n\n case 'searchFailure': {\n if (state.loading === false) {\n return state;\n }\n\n return {\n ...state,\n loading: false,\n list: state.list,\n error: action.payload,\n };\n }\n }\n}\n\nfunction isLastPage(currentPage: number, totalItems: number, pageSize: number) {\n const lastPage = Math.max(Math.ceil((totalItems || 0) / pageSize), 1);\n return currentPage >= lastPage;\n}\n","import React from 'react';\nimport { PropGetters } from 'downshift';\nimport { Avatar } from 'antd';\nimport cc from 'classcat';\nimport { QuickSearchArticle, MenuItem } from '../types';\nimport { LoadingIndicator } from '../../../loadingIndicator/loadingIndicator';\nimport { EmptyIndicator } from '../../../emptyIndicator/emptyIndicator';\nimport styles from './quickSearchMenu.module.scss';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { messages } from '../../../../messages';\nimport { useFileUris } from '../../../../hooks/useFileUrls/useFileUrls';\n\nexport function SearchMenu({\n highlightedIndex,\n loading,\n items,\n isLastPage,\n error,\n getMenuProps,\n getItemProps,\n}: {\n highlightedIndex?: number;\n loading: boolean;\n items?: QuickSearchArticle[];\n isLastPage: boolean;\n error?: string;\n getMenuProps: PropGetters['getMenuProps'];\n getItemProps: PropGetters['getItemProps'];\n}) {\n const { t } = useI18n();\n const { placeholderImageFileUri, articleImageFileUri } = useFileUris();\n\n return (\n
\n {error &&
{error}
}\n {loading && }\n
\n {!!items?.length && (\n <>\n {items.map((item, index) => (\n \n \n
\n
{item.articleNumber}
\n
{item.description}
\n
\n
\n ))}\n {!isLastPage && (\n \n {t(messages.shared.loadMore)}\n
\n )}\n \n )}\n {items?.length === 0 && (\n
\n \n
\n )}\n \n \n );\n}\n","import React, { useReducer, useRef } from 'react';\nimport { Icon } from 'antd';\nimport styles from './quickSearch.module.scss';\nimport Downshift from 'downshift';\nimport cc from 'classcat';\nimport { reducer, initialState } from './quickSearchState';\nimport { MenuItem } from './types';\nimport { SearchMenu } from './quickSearchMenu/quickSearchMenu';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\nimport { useDebounceValueCallback } from '../../../hooks/useDebounceValueCallback';\nimport { useApiRequests } from '../../../hooks/useApi';\nimport { useArticleCartModalStore } from '../../../hooks/shop/useArticleCartModalStore';\nimport { articlesApi } from '../../../api/articlesApi';\n\nexport function QuickSearch() {\n const { t } = useI18n();\n const inputRef = useRef(null);\n const [state, dispatch] = useReducer(reducer, initialState);\n const searchRequest = useApiRequests(articlesApi.getArticles);\n const articleCartModalStore = useArticleCartModalStore();\n\n const [\n debouncedSearchQuery,\n setDebouncedSearchQuery,\n ] = useDebounceValueCallback(state.searchQuery, (value) =>\n handleSearchQueryChange(value),\n );\n\n function search(searchQuery: string, page: number) {\n searchRequest\n .create({\n onSuccess: (result) => {\n dispatch({\n type: 'searchSuccess',\n payload: { result, page },\n });\n },\n onError: (error) => {\n dispatch({ type: 'searchFailure', payload: error.message });\n },\n })\n .send({\n filterValues: {\n searchQuery,\n },\n page,\n pageSize: 10,\n sortDesc: false,\n sortBy: 'articleNumber',\n });\n }\n\n function handleSearchQueryChange(newSearchQuery: string) {\n dispatch({ type: 'updatedSearchQuery', payload: newSearchQuery });\n search(newSearchQuery, 1);\n }\n\n function handleLoadMore() {\n dispatch({ type: 'loadingMore' });\n search(state.searchQuery, state.currentPage + 1);\n }\n\n function handleMenuMouseUp() {\n // Catch end of menu interactions like scrolling, and focus\n // the input, so that we capture keyboard inputs (up/down arrows)\n if (inputRef.current) {\n inputRef.current.focus();\n }\n }\n\n function handleOuterClick() {\n dispatch({ type: 'reset' });\n }\n\n function handleSelectItem(item: MenuItem | null, controller: any) {\n if (!item) {\n dispatch({ type: 'reset' });\n return;\n }\n\n if (item.type === 'article') {\n if (inputRef.current) {\n inputRef.current.blur();\n }\n dispatch({ type: 'reset' });\n articleCartModalStore.showArticle(item.id);\n }\n\n if (item.type === 'loadMore') {\n if (state.list) {\n controller.setHighlightedIndex(state.list.items.length - 1);\n }\n handleLoadMore();\n }\n }\n\n function handleInputChange(e: React.ChangeEvent) {\n setDebouncedSearchQuery(e.target.value);\n }\n\n return (\n ''}\n isOpen={state.isOpen}\n onOuterClick={handleOuterClick}\n onSelect={handleSelectItem}\n >\n {({ getInputProps, getMenuProps, getItemProps, highlightedIndex }) => (\n
\n \n \n \n
\n {state.isOpen && (\n
\n \n
\n )}\n \n )}\n \n );\n}\n","import React, { useEffect } from 'react';\nimport { useArticleCartModalStore } from '../../../hooks/shop/useArticleCartModalStore';\nimport { useCartStore } from '../../../hooks/shop/useCartStore';\nimport { messages } from '../../../messages';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { useShopSessionStore } from '../../../hooks/shop/useShopSessionStore';\n\nexport function ArticleCartModal() {\n const articleCartModalStore = useArticleCartModalStore();\n const cartStore = useCartStore();\n const { t } = useI18n();\n const {\n checkoutAdapter: { ArticleModal },\n } = useShopSessionStore();\n\n useEffect(() => {\n const { articleId } = articleCartModalStore;\n if (!articleId) {\n return;\n }\n\n const unsubscribeFn = cartStore.articleUpdateEvent.subscribe(\n (updatedArticleId) => {\n if (articleId === updatedArticleId) {\n articleCartModalStore.hideArticle();\n }\n },\n );\n\n return () => {\n unsubscribeFn();\n };\n }, [articleCartModalStore.articleId]);\n\n if (!articleCartModalStore.articleId) return null;\n\n const lineItem = cartStore.items.find(\n (i) => i.articleId === articleCartModalStore.articleId,\n );\n\n return (\n \n cartStore.updateLineItem(updatedLineItem)\n }\n onChangeDisplayCurrency={articleCartModalStore.setDisplayCurrency}\n />\n );\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { Filters } from '../../../filters/filters';\nimport { Radio, Select, Skeleton } from 'antd';\nimport { messages } from '../../../../messages';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { useShopSessionStore } from '../../../../hooks/shop/useShopSessionStore';\nimport { LabeledValue } from 'antd/lib/select';\nimport { useApiResource } from '../../../../hooks/useApi';\nimport { ApiErrorDetails } from '../../../apiErrorDetails/apiErrorDetails';\nimport { ordersApi } from '../../../../api/ordersApi';\n\nenum FilterState {\n All,\n CurrentCustomer,\n Vendor,\n}\n\nexport function CustomerFilter({\n customerId,\n onChange,\n}: {\n customerId?: number;\n onChange: (customerId?: number) => void;\n}) {\n const { t } = useI18n();\n const shopSessionStore = useShopSessionStore();\n const vendors = useApiResource(ordersApi.getVendors);\n\n // Filter state that will be used if customerId prop is undefined\n const [emptyFilterState, setEmptyFilterState] = useState<\n FilterState.All | FilterState.Vendor\n >(FilterState.All);\n\n // We derive the active filter state based on the customerId prop\n const activeFilterState = useMemo(() => {\n if (customerId === shopSessionStore.session.customerId) {\n return FilterState.CurrentCustomer;\n }\n\n if (customerId !== undefined) {\n return FilterState.Vendor;\n }\n\n return emptyFilterState;\n }, [customerId, emptyFilterState]);\n\n useEffect(() => {\n if (activeFilterState === FilterState.Vendor) {\n vendors.refresh();\n }\n }, [activeFilterState]);\n\n const selectedVendor = vendors.data\n ? vendors.data.find((d) => d.id === customerId)\n : undefined;\n\n return (\n \n {\n onChange(undefined);\n setEmptyFilterState(FilterState.All);\n }}\n style={{ display: 'block' }}\n >\n {t(messages.shared.all)}\n \n onChange(shopSessionStore.session.customerId)}\n >\n {shopSessionStore.session.customerName}\n \n {\n onChange(undefined);\n setEmptyFilterState(FilterState.Vendor);\n }}\n >\n Vendor\n \n {activeFilterState === FilterState.Vendor && (\n <>\n {vendors.error && }\n {vendors.isLoading && (\n \n )}\n {!vendors.error && !vendors.isLoading && (\n \n value={\n selectedVendor\n ? {\n key: selectedVendor.id.toString(),\n label: selectedVendor.name,\n }\n : undefined\n }\n labelInValue={true}\n dropdownMatchSelectWidth={false}\n showSearch={true}\n allowClear={true}\n optionFilterProp=\"children\"\n placeholder=\"Select vendor\"\n style={{ width: '100%', marginTop: '10px' }}\n onChange={(val) => {\n if (!vendors.data) {\n return;\n }\n\n if (!val) {\n onChange(undefined);\n return;\n }\n\n onChange(parseInt(val.key, 10));\n }}\n >\n {vendors.data &&\n vendors.data.map((v) => (\n {v.name}\n ))}\n \n )}\n \n )}\n \n );\n}\n","import React, { useEffect } from 'react';\nimport {\n TranslateFunction,\n useI18n,\n FormatDateFunction,\n} from '../../../../hooks/useI18n';\nimport { Columns, Table } from '../../../table';\nimport { CustomerType } from '../../../../types';\nimport { Filters } from '../../../filters/filters';\nimport { SearchInput } from '../../../searchInput/searchInput';\nimport { useDebounceValueCallback } from '../../../../hooks/useDebounceValueCallback';\nimport { messages } from '../../../../messages';\nimport { ApiErrorDetails } from '../../../apiErrorDetails/apiErrorDetails';\nimport { useApiResource } from '../../../../hooks/useApi';\nimport { ListLayout } from '../../../listLayout/listLayout';\nimport { useQueryParams, serializers } from '../../../../hooks/useQueryParams';\nimport { useShopSessionStore } from '../../../../hooks/shop/useShopSessionStore';\nimport { CustomerFilter } from '../customerFilter/customerFilter';\nimport { OrderListItem, ordersApi } from '../../../../api/ordersApi';\n\nconst getColumns = (\n t: TranslateFunction,\n formatDate: FormatDateFunction,\n customerIsBrand: boolean,\n): Columns => [\n {\n header: t(messages.order.orderNumber),\n accessor: 'orderNumber',\n sortable: true,\n width: 130,\n },\n {\n header: t(messages.shared.customer),\n accessor: 'customerName',\n sortable: true,\n show: customerIsBrand,\n },\n {\n header: t(messages.order.referenceOrderNumber),\n accessor: 'externalOrderNumber',\n sortable: true,\n },\n {\n header: t(messages.order.orderDate),\n accessor: 'orderDate',\n sortable: true,\n cell: ({ row }) => formatDate(row.orderDate),\n },\n];\n\nconst pageSize = 30;\n\nexport function DraftOrders({\n onSelectOrderId,\n}: {\n onSelectOrderId: (id: number) => void;\n}) {\n const { t, formatDate } = useI18n();\n const shopSessionStore = useShopSessionStore();\n const customerIsBrand =\n shopSessionStore.session.customerType === CustomerType.Brand;\n const columns = getColumns(t, formatDate, customerIsBrand);\n\n const [queryParams, setQueryParams] = useQueryParams({\n page: serializers.number({ defaultValue: 1 }),\n searchQuery: serializers.string({ defaultValue: '' }),\n articleNumber: serializers.string({ defaultValue: '' }),\n sortingDesc: serializers.boolean({ defaultValue: true }),\n sortingKey: serializers.custom({\n defaultValue: 'orderDate',\n serialize: (v) => v,\n deserialize: (v) => {\n if (v && columns.some((c) => c.accessor === v)) {\n return v as keyof OrderListItem;\n }\n },\n }),\n customerId: serializers.number(),\n });\n\n const partialupdateFilterQueryParams = (\n newQueryParams: Partial,\n ) => {\n setQueryParams({ ...queryParams, ...newQueryParams, page: 1 });\n };\n\n const [\n searchQuery,\n setSearchQuery,\n ] = useDebounceValueCallback(queryParams.searchQuery, (value) =>\n partialupdateFilterQueryParams({ searchQuery: value }),\n );\n\n const [\n articleNumber,\n setArticleNumberSearchQuery,\n ] = useDebounceValueCallback(queryParams.articleNumber, (value) =>\n partialupdateFilterQueryParams({ articleNumber: value }),\n );\n\n const orders = useApiResource(ordersApi.getOrders, {\n emptyValue: {\n totalItems: 0,\n items: [],\n },\n clearDataOnLoad: false,\n });\n\n useEffect(() => {\n orders.refresh({\n articleNumber: queryParams.articleNumber,\n customerId: customerIsBrand ? queryParams.customerId : undefined,\n orderProgresses: [],\n page: queryParams.page,\n pageSize,\n placed: false,\n searchQuery: queryParams.searchQuery,\n sortingKey: queryParams.sortingKey,\n sortingDesc: queryParams.sortingDesc,\n });\n }, [\n queryParams.articleNumber,\n queryParams.customerId,\n queryParams.page,\n queryParams.searchQuery,\n queryParams.sortingDesc,\n queryParams.sortingKey,\n ]);\n\n return (\n \n \n \n \n \n \n {customerIsBrand && (\n \n partialupdateFilterQueryParams({\n customerId,\n })\n }\n />\n )}\n \n \n \n \n \n \n \n {orders.error && (\n \n \n \n )}\n \n columns={columns}\n items={orders.data.items}\n isLoading={orders.isLoading}\n onSelectItem={(order) => onSelectOrderId(order.id)}\n paged={{\n page: queryParams.page,\n pageSize,\n onPageChange: (page) => {\n setQueryParams({ ...queryParams, page });\n },\n totalItems: orders.data.totalItems || 0,\n }}\n sorted={{\n desc: queryParams.sortingDesc,\n key: queryParams.sortingKey,\n onSortedChange: (sorting) =>\n setQueryParams({\n ...queryParams,\n sortingDesc: sorting.desc,\n sortingKey: sorting.key,\n }),\n }}\n />\n \n \n );\n}\n","import React from 'react';\nimport { Select } from 'antd';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { messages } from '../../../../messages';\nimport { orderProgressTranslator } from '../../../../helpers/orderProgressTranslator';\nimport { ordersApi } from '../../../../api/ordersApi';\n\nexport function OrderProgressPicker({\n onChange,\n orderProgressIds,\n}: {\n onChange: (selectedOrderProgresses: number[]) => void;\n orderProgressIds: number[];\n}) {\n const { t } = useI18n();\n const { Option } = Select;\n\n const orderProgresses = ordersApi.getOrderProgresses();\n\n return (\n \n {orderProgresses.map((op) => (\n \n ))}\n \n );\n}\n","import React, { useState } from 'react';\nimport { Filters } from '../../../filters/filters';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { messages } from '../../../../messages';\nimport { SearchInput } from '../../../searchInput/searchInput';\nimport { useDebounceValueCallback } from '../../../../hooks/useDebounceValueCallback';\nimport { OrderProgressPicker } from './orderProgressPicker';\nimport { toOrderProgresses } from '../../../../helpers/orderProgressConverter';\nimport { OrderListItem } from '../../../../api/ordersApi';\nimport { OrderTypePicker } from '../../../pickers/orderTypePicker';\nimport { OrderType } from '../../../../types';\n\nexport interface OrderQueryParams {\n articleNumber: string;\n customerId?: number;\n orderProgresses: number[];\n orderType?: number;\n page: number;\n pageSize: number;\n placed: boolean;\n searchQuery: string;\n sortingKey: keyof OrderListItem;\n sortingDesc: boolean;\n}\n\nexport function OrderFilters({\n queryParams,\n onChangeQueryParams,\n}: {\n queryParams: OrderQueryParams;\n onChangeQueryParams: (params: OrderQueryParams) => void;\n}) {\n const { t } = useI18n();\n const [scope, setScope] = useState<{\n orderProgressIds: number[];\n }>({ orderProgressIds: toOrderProgresses(queryParams.orderProgresses) });\n const { orderProgressIds } = scope;\n\n const partialUpdateQueryParams = (\n newQueryParams: Partial,\n ) => {\n onChangeQueryParams({ ...queryParams, ...newQueryParams, page: 1 });\n };\n\n const [\n searchQuery,\n setSearchQuery,\n ] = useDebounceValueCallback(queryParams.searchQuery, (value) =>\n partialUpdateQueryParams({ searchQuery: value }),\n );\n\n const [\n articleNumber,\n setArticleNumberSearchQuery,\n ] = useDebounceValueCallback(queryParams.articleNumber, (value) =>\n partialUpdateQueryParams({ articleNumber: value }),\n );\n\n const selectableOrderTypes: OrderType[] = [\n OrderType.Standard,\n OrderType.Sample,\n OrderType.Forecast,\n ];\n\n function handleOrderProgressChanges(selectedOrderProgresses: number[]) {\n setScope({ orderProgressIds: selectedOrderProgresses });\n partialUpdateQueryParams({ orderProgresses: selectedOrderProgresses });\n }\n\n return (\n \n \n \n \n \n \n \n \n partialUpdateQueryParams({ orderType: value })}\n allowClear={true}\n />\n \n \n \n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport {\n TranslateFunction,\n useI18n,\n FormatDateFunction,\n} from '../../../../hooks/useI18n';\nimport { Columns, Table } from '../../../table';\nimport { CustomerType } from '../../../../types';\nimport { messages } from '../../../../messages';\nimport { ApiErrorDetails } from '../../../apiErrorDetails/apiErrorDetails';\nimport { useApiResource } from '../../../../hooks/useApi';\nimport { ListLayout } from '../../../listLayout/listLayout';\nimport { useQueryParams, serializers } from '../../../../hooks/useQueryParams';\nimport { useShopSessionStore } from '../../../../hooks/shop/useShopSessionStore';\nimport styles from './placedOrders.module.scss';\nimport { formatNumber } from '../../../../helpers/formatNumber/formatNumber';\nimport { OrderProgressBadge } from '../../../orderProgressBadge/orderProgressBadge';\nimport { OrderListItem, ordersApi } from '../../../../api/ordersApi';\nimport { OrderFilters, OrderQueryParams } from '../orderFilter/orderFilters';\nimport { fromOrderProgresses } from '../../../../helpers/orderProgressConverter';\n\nconst getColumns = (\n t: TranslateFunction,\n formatDate: FormatDateFunction,\n customerIsBrand: boolean,\n): Columns => [\n {\n header: t(messages.order.order),\n accessor: 'orderNumber',\n sortable: true,\n width: 100,\n },\n {\n header: t(messages.shared.customer),\n accessor: 'customerName',\n sortable: true,\n show: customerIsBrand,\n },\n {\n header: t(messages.order.referenceOrderNumber),\n accessor: 'externalOrderNumber',\n sortable: true,\n },\n {\n header: t(messages.shared.totalPrice),\n accessor: 'orderSum',\n align: 'right',\n cell: ({ row }) => `${formatNumber(row.orderSum, 2)} ${row.currencyCode}`,\n sortable: true,\n },\n {\n header: t(messages.order.orderDate),\n accessor: 'orderDate',\n sortable: true,\n cell: ({ row }) => formatDate(row.orderDate),\n },\n {\n header: DeliveryDateHeader,\n accessor: 'deliveryDate',\n sortable: true,\n width: 230,\n cell: ({ row }) => (\n
\n
\n {row.deliveryDate\n ? formatDate(row.deliveryDate)\n : row.deliveryDateNote}\n
\n
\n {row.latestDeliveryDate ? formatDate(row.latestDeliveryDate) : '-'}\n
\n
\n ),\n },\n {\n header: t(messages.order.progress),\n accessor: 'orderProgress',\n sortable: true,\n width: 150,\n cell: ({ row }) => (\n \n ),\n },\n];\n\nconst pageSize = 30;\n\nexport function PlacedOrders({\n onSelectOrderId,\n}: {\n onSelectOrderId: (id: number) => void;\n}) {\n const { t, formatDate } = useI18n();\n const shopSessionStore = useShopSessionStore();\n const customerIsBrand =\n shopSessionStore.session.customerType === CustomerType.Brand;\n const columns = getColumns(t, formatDate, customerIsBrand);\n\n const orders = useApiResource(ordersApi.getOrders, {\n emptyValue: {\n totalItems: 0,\n items: [],\n },\n clearDataOnLoad: false,\n });\n\n const [queryParams, setQueryParams] = useQueryParams({\n articleNumber: serializers.string({ defaultValue: '' }),\n customerId: serializers.number(),\n orderProgresses: serializers.numberArray({\n defaultValue: [],\n }),\n orderType: serializers.number(),\n page: serializers.number({ defaultValue: 1 }),\n pageSize: serializers.number({ defaultValue: 20 }),\n placed: serializers.boolean({ defaultValue: true }),\n searchQuery: serializers.string({ defaultValue: '' }),\n sortingDesc: serializers.boolean({ defaultValue: true }),\n sortingKey: serializers.custom({\n defaultValue: 'orderDate',\n serialize: (v) => v,\n deserialize: (v) => {\n if (v && columns.some((c) => c.accessor === v)) {\n return v as keyof OrderListItem;\n }\n },\n }),\n });\n\n useEffect(() => {\n orders.refresh({\n articleNumber: queryParams.articleNumber,\n customerId: customerIsBrand ? queryParams.customerId : undefined,\n orderProgresses: fromOrderProgresses(queryParams.orderProgresses),\n orderType: queryParams.orderType,\n page: queryParams.page,\n pageSize,\n placed: queryParams.placed,\n searchQuery: queryParams.searchQuery,\n sortingDesc: queryParams.sortingDesc,\n sortingKey: queryParams.sortingKey,\n });\n }, [\n queryParams.articleNumber,\n queryParams.customerId,\n queryParams.orderProgresses,\n queryParams.orderType,\n queryParams.page,\n queryParams.pageSize,\n queryParams.placed,\n queryParams.searchQuery,\n queryParams.sortingDesc,\n queryParams.sortingKey,\n ]);\n\n return (\n \n \n \n \n \n \n {orders.error && (\n \n \n \n )}\n \n columns={columns}\n items={orders.data.items}\n isLoading={orders.isLoading}\n onSelectItem={(order) => onSelectOrderId(order.id)}\n paged={{\n page: queryParams.page,\n pageSize,\n onPageChange: (page) => {\n setQueryParams({ ...queryParams, page });\n },\n totalItems: orders.data.totalItems || 0,\n }}\n sorted={{\n key: queryParams.sortingKey,\n desc: queryParams.sortingDesc,\n onSortedChange: (sorting) =>\n setQueryParams({\n ...queryParams,\n sortingDesc: sorting.desc,\n sortingKey: sorting.key,\n }),\n }}\n />\n \n \n );\n}\n\nfunction DeliveryDateHeader() {\n const { t } = useI18n();\n\n return (\n
\n
\n {t(messages.order.deliveryDates)}\n
\n
\n
\n {t(messages.order.confirmedDate)}\n
\n
\n {t(messages.order.latestDate)}\n
\n
\n
\n );\n}\n","import React, { useEffect } from 'react';\nimport { Tabs, Badge } from 'antd';\nimport styles from './orders.module.scss';\nimport { DraftOrders } from './draftOrders/draftOrders';\nimport { PlacedOrders } from './placedOrders/placedOrders';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\n\nexport enum OrderTabs {\n Placed = 'placed',\n Draft = 'draft',\n}\n\nexport const Orders = ({\n activeTab,\n draftOrdersCount,\n onChangeActiveTab,\n onSelectOrderId,\n onRefreshDraftOrdersCount,\n}: {\n activeTab: OrderTabs;\n draftOrdersCount?: number;\n onChangeActiveTab: (activeTab: OrderTabs) => void;\n onSelectOrderId: (id: number) => void;\n onRefreshDraftOrdersCount: () => void;\n}) => {\n const { t } = useI18n();\n\n useEffect(() => {\n onRefreshDraftOrdersCount();\n }, []);\n\n return (\n
\n onChangeActiveTab(e as OrderTabs)}\n tabBarStyle={{ margin: 0 }}\n >\n \n 0}\n >\n {t(messages.order.unplaced)}\n \n }\n key={OrderTabs.Draft}\n />\n \n {activeTab === OrderTabs.Placed && (\n \n )}\n {activeTab === OrderTabs.Draft && (\n \n )}\n
\n );\n};\n","import React from 'react';\nimport {\n useI18n,\n TranslateFunction,\n FormatDateFunction,\n} from '../../../../hooks/useI18n';\nimport { Table, Columns } from '../../../table';\nimport { messages } from '../../../../messages';\nimport { formatNumber } from '../../../../helpers/formatNumber/formatNumber';\nimport { DeliveryStatusBadge } from '../../../deliveryStatusBadge/deliveryStatusBadge';\nimport { DeliveryStatus, OrderRow } from '../../../../types';\nimport styles from './orderRows.module.scss';\n\nexport const getListColumns = (\n t: TranslateFunction,\n formatDate: FormatDateFunction,\n currencyCode: string,\n currencyPriceDecimalPlaces: number,\n): Columns => [\n {\n header: t(messages.article.article),\n width: 240,\n sortable: false,\n cellClassName: styles.cell,\n cell: ({ row }) => (\n <>\n
{row.articleNumber}
\n
\n {row.articleDescription}\n
\n
{row.articleColor}
\n
{row.articleSize}
\n \n ),\n },\n {\n header: t(messages.shared.quantity),\n accessor: 'quantityOrdered',\n sortable: false,\n align: 'right',\n width: 80,\n cellClassName: styles.cell,\n cell: ({ row }) => row.quantityOrdered,\n },\n {\n header: t(messages.shared.batchNumber),\n accessor: 'batchNo',\n sortable: false,\n align: 'right',\n width: 110,\n cellClassName: styles.cell,\n cell: ({ row }) => row.batchNo,\n },\n {\n header: t(messages.order.delivered),\n sortable: false,\n align: 'right',\n width: 110,\n cellClassName: styles.cell,\n cell: ({ row }) => {\n let deliveryStatus: DeliveryStatus;\n\n if (row.quantityDelivered >= row.quantityOrdered) {\n deliveryStatus = DeliveryStatus.Delivered;\n } else if (row.quantityDelivered <= 0) {\n deliveryStatus = DeliveryStatus.Undelivered;\n } else {\n deliveryStatus = DeliveryStatus.PartiallyDelivered;\n }\n\n return (\n
\n {row.quantityDelivered}\n \n
\n );\n },\n },\n {\n header: t(messages.order.deliveryDates),\n width: 110,\n sortable: false,\n cellClassName: styles.cell,\n cell: ({ row }) => {\n if (row.deliveryDates.length) {\n return row.deliveryDates.map((deliveryDate, i) => (\n
{formatDate(deliveryDate)}
\n ));\n }\n\n return '-';\n },\n },\n {\n header: {`${t(messages.shared.price)} (${currencyCode})`},\n accessor: 'unitPrice',\n align: 'right',\n cellClassName: styles.cell,\n cell: ({ row }) => formatNumber(row.unitPrice, currencyPriceDecimalPlaces),\n sortable: false,\n },\n {\n header: t(messages.shared.totalPrice),\n accessor: 'totalPrice',\n align: 'right',\n cellClassName: styles.cell,\n cell: ({ row }) => formatNumber(row.totalPrice, 2),\n sortable: false,\n },\n];\n\ninterface Props {\n rows: OrderRow[];\n currencyCode: string;\n currencyPriceDecimalPlaces: number;\n}\n\nconst OrderRowsComponent = ({\n rows,\n currencyCode,\n currencyPriceDecimalPlaces,\n}: Props) => {\n const { t, formatDate } = useI18n();\n const listColumns = getListColumns(\n t,\n formatDate,\n currencyCode,\n currencyPriceDecimalPlaces,\n );\n\n return columns={listColumns} items={rows} />;\n};\n\nexport const OrderRows = React.memo(OrderRowsComponent);\n","import React from 'react';\nimport { useI18n, TranslateFunction } from '../../../../hooks/useI18n';\nimport { Table, Columns } from '../../../table';\nimport { messages } from '../../../../messages';\nimport styles from './deliveryNoteRows.module.scss';\nimport { DeliveryNoteRow } from '../../../../types';\n\nexport const getListColumns = (\n t: TranslateFunction,\n): Columns => [\n {\n header: t(messages.order.row),\n accessor: 'rowNumber',\n sortable: false,\n width: 50,\n cellClassName: styles.cell,\n },\n {\n header: t(messages.article.articleNumber),\n sortable: false,\n cellClassName: styles.cell,\n cell: ({ row }) => (\n <>\n
{row.articleNumber}
\n
\n {row.articleDescription}\n
\n
{row.articleColor}
\n
{row.articleSize}
\n \n ),\n },\n {\n header: t(messages.order.delivered),\n accessor: 'quantityDelivered',\n align: 'right',\n cellClassName: styles.cell,\n width: 150,\n cell: ({ row }) => row.quantityDelivered,\n sortable: false,\n },\n];\n\ninterface Props {\n rows: DeliveryNoteRow[];\n}\n\nconst DeliveryNoteRowComponent = ({ rows }: Props) => {\n const { t } = useI18n();\n const listColumns = getListColumns(t);\n\n return columns={listColumns} items={rows} />;\n};\n\nexport const DeliveryNoteRows = React.memo(DeliveryNoteRowComponent);\n","import React, { useEffect } from 'react';\nimport { Skeleton, Icon, Alert, Row, Col, Card } from 'antd';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\nimport { ApiErrorDetails } from '../../apiErrorDetails/apiErrorDetails';\nimport { useApiResource } from '../../../hooks/useApi';\nimport { OrderType } from '../../../types';\nimport { useQueryParams, serializers } from '../../../hooks/useQueryParams';\nimport { OrderProgressBadge } from '../../orderProgressBadge/orderProgressBadge';\nimport { DescriptionList } from '../../descriptionList/descriptionList';\nimport { orderTypeTranslator } from '../../../helpers/orderTypeTranslator';\nimport { AddressDetails } from '../../addressDetails/addressDetails';\nimport { OrderRows } from './orderRows/orderRows';\nimport { formatNumber } from '../../../helpers/formatNumber/formatNumber';\nimport { DeliveryNoteRows } from './deliveryNoteRows/deliveryNoteRows';\nimport styles from './order.module.scss';\nimport { ordersApi } from '../../../api/ordersApi';\nimport { useApiSettings } from '../../../hooks/useApi/useApiSettings';\nimport { useShopSessionStore } from '../../../hooks/shop/useShopSessionStore';\n\nexport function Order({ id, onGoBack }: { id: number; onGoBack: () => void }) {\n const { t, formatDate } = useI18n();\n\n const order = useApiResource(ordersApi.getOrder);\n\n const { orderConfirmationUri, deliveryNoteUri } = useApiSettings();\n\n const { session } = useShopSessionStore();\n\n const [queryParams] = useQueryParams({\n deliveryNoteId: serializers.number(),\n isNew: serializers.boolean({ defaultValue: false }),\n });\n\n useEffect(() => {\n order.refresh(id);\n }, [id]);\n\n return (\n
\n
\n {t(messages.order.orders)}\n
\n {!order.data && !order.error && (\n \n )}\n\n {order.error && }\n\n {!!order.data && (\n <>\n {queryParams.isNew && (\n \n )}\n
\n
\n {order.data.orderNumber}\n \n
\n
\n \n \n \n \n \n {order.data.orderNumber}\n \n {order.data.type !== OrderType.Variable && (\n \n {order.data.externalOrderNumber}\n \n )}\n \n {formatDate(order.data.orderDate)}\n \n \n {order.data.deliveryDate\n ? formatDate(order.data.deliveryDate)\n : order.data.deliveryDateNote}\n \n \n {orderTypeTranslator(t, order.data.type)}\n \n {order.data.metaFields\n .sort(\n (field1, field2) => field1.sortOrder - field2.sortOrder,\n )\n .map((field) => (\n \n {field.value}\n \n ))}\n {order.data.season && (\n \n {order.data.season}\n \n )}\n \n \n {order.data.customerName}\n \n \n {order.data.invoiceCustomerName}\n \n \n {order.data.projectName}\n \n \n {order.data.externalReference}\n \n \n {order.data.paymentTermName}\n \n \n {order.data.deliveryMethodName}\n \n \n {order.data.deliveryTermName}\n \n \n Download\n \n \n \n {order.data.careLabelPos.length > 0 && (\n \n
    \n {order.data.careLabelPos.map((careLabelPo) => (\n
  • \n \n {careLabelPo.po}\n \n
  • \n ))}\n
\n \n )}\n \n
\n {order.data.orderMessage?.length\n ? order.data.orderMessage\n : t(messages.order.noMessage)}\n
\n \n \n {order.data.type !== OrderType.Forecast && (\n
\n

{t(messages.address.shipping)}

\n \n
\n )}\n
\n

{t(messages.address.billing)}

\n \n
\n \n \n \n \n \n \n \n
\n
\n {t(messages.shared.totalPrice)}\n
\n
\n {`${formatNumber(order.data.orderSum, 2)}${\n order.data.currencyCode\n ? ` (${order.data.currencyCode})`\n : ''\n }`}\n
\n
\n \n
\n \n {order.data.deliveryNotes.map((deliveryNote) => (\n
\n \n \n \n \n \n {deliveryNote.deliveryDate\n ? formatDate(deliveryNote.deliveryDate)\n : deliveryNote.deliveryDateNote}\n \n {deliveryNote.trackingNumber && (\n \n {deliveryNote.trackingNumber}\n \n )}\n {deliveryNote.invoiceNumber && (\n \n {deliveryNote.invoiceNumber}\n \n )}\n {!session.branchDeliveryNotePdfDisabled ? (\n \n \n Download\n \n \n ) : undefined}\n \n \n \n \n \n \n
\n ))}\n \n
\n \n )}\n
\n );\n}\n","import React from 'react';\nimport { Alert, Button, Drawer, Icon } from 'antd';\nimport styles from './cartDrawer.module.scss';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\nimport { useCartStore } from '../../../hooks/shop/useCartStore';\nimport { CartLineItems } from '../cartLineItems/cartLineItems';\n\ninterface Props {\n visible: boolean;\n onCheckout: () => void;\n onClose: () => void;\n}\n\nexport const CartDrawer = ({ visible, onClose, onCheckout }: Props) => {\n const { t } = useI18n();\n const cartStore = useCartStore();\n\n return (\n \n
\n {cartStore.items.some(v => v.quantityIsAdjusted) && (\n }\n message={t(messages.shared.quantityAdjustedInfo)}\n showIcon={true}\n type=\"info\"\n />\n )}\n
\n \n
\n
\n \n {t(messages.cart.checkout)}\n \n
\n
\n \n );\n};\n","import { PagedResult } from '../types';\nimport { ApiRequest } from '../hooks/useApi';\n\nexport const invoicesApi = {\n getInvoices: (\n options: GetInvoicesOptions,\n ): ApiRequest> => async ({\n httpClient,\n apiSettings,\n }) => {\n const response = await httpClient.get(apiSettings.invoicesUri, {\n params: {\n searchQuery: options.searchQuery,\n paid: options.paid,\n sortBy: options.sortBy,\n sortDesc: options.sortDesc,\n limit: options.pageSize,\n offset: (options.page - 1) * options.pageSize,\n },\n });\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: {\n items: response.data.result,\n totalItems: response.data.total,\n },\n };\n }\n },\n};\n\ninterface GetInvoicesOptions {\n page: number;\n pageSize: number;\n sortDesc: boolean;\n sortBy: keyof InvoiceListItem;\n searchQuery: string;\n paid?: boolean;\n}\n\nexport interface InvoiceListItem {\n id: number;\n invoiceNumber: string;\n invoiceDate: string;\n dueDate: string;\n total: number;\n remaining: number;\n pdfGenerated: boolean;\n currencyCode: string;\n paid: boolean;\n overdue: boolean;\n orders: { id: number; orderNumber: string }[];\n}\n","import React, { useEffect, useMemo } from 'react';\nimport { TranslateFunction, FormatDateFunction } from '../../../hooks/useI18n';\nimport { Columns, Table } from '../../table';\nimport { messages } from '../../../messages';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { useQueryParams, serializers } from '../../../hooks/useQueryParams';\nimport { useDebounceValueCallback } from '../../../hooks/useDebounceValueCallback';\nimport { useApiResource } from '../../../hooks/useApi';\nimport { ListLayout } from '../../listLayout/listLayout';\nimport { Filters } from '../../filters/filters';\nimport { SearchInput } from '../../searchInput/searchInput';\nimport { ApiErrorDetails } from '../../apiErrorDetails/apiErrorDetails';\nimport { InvoiceListItem } from './types';\nimport {\n Button,\n Menu,\n Dropdown,\n Icon,\n Tag,\n Radio,\n Divider,\n Tooltip,\n} from 'antd';\nimport styles from './invoices.module.scss';\nimport { formatNumber } from '../../../helpers/formatNumber/formatNumber';\nimport { invoicesApi } from '../../../api/invoicesApi';\nimport { ApiSettings } from '../../../api/apiSettings';\nimport { useApiSettings } from '../../../hooks/useApi/useApiSettings';\nimport { getExportCsvUrl } from './csvExport';\nimport { fileDownloadIcon } from '../../customIcons/fileDownloadIcon';\n\nconst getColumns = (\n t: TranslateFunction,\n formatDate: FormatDateFunction,\n onSelectOrderId: (id: number) => void,\n apiSettings: ApiSettings,\n): Columns => [\n {\n header: t(messages.invoice.invoiceNumber),\n accessor: 'invoiceNumber',\n sortable: true,\n cell: ({ row }) => {\n return (\n <>\n {row.invoiceNumber}{' '}\n {row.paid && {t(messages.invoice.paid)}}\n {!row.paid && row.overdue && (\n {t(messages.invoice.overdue)}\n )}\n \n );\n },\n },\n {\n header: t(messages.order.orderNumber),\n sortable: false,\n cell: ({ row }) => {\n if (row.orders.length === 1) {\n return (\n onSelectOrderId(row.orders[0].id)}\n >\n {row.orders[0].orderNumber}\n \n );\n } else if (row.orders.length > 1) {\n return (\n
\n \n {row.orders.map(({ id, orderNumber }) => (\n \n onSelectOrderId(id)}\n >\n {orderNumber}\n \n \n ))}\n \n }\n >\n \n \n
\n );\n } else {\n return null;\n }\n },\n },\n {\n header: t(messages.invoice.invoiceDate),\n accessor: 'invoiceDate',\n sortable: true,\n cell: ({ row }) => formatDate(row.invoiceDate),\n },\n {\n header: t(messages.invoice.dueDate),\n accessor: 'dueDate',\n sortable: true,\n cell: ({ row }) => formatDate(row.dueDate),\n },\n {\n header: t(messages.shared.total),\n accessor: 'total',\n align: 'right',\n cell: ({ row }) => `${formatNumber(row.total, 2)} ${row.currencyCode}`,\n sortable: true,\n },\n {\n header: t(messages.shared.remaining),\n accessor: 'remaining',\n align: 'right',\n cell: ({ row }) => `${formatNumber(row.remaining, 2)} ${row.currencyCode}`,\n sortable: false,\n },\n {\n header: '',\n width: 32,\n cell: ({ row }) => {\n if (!row.pdfGenerated) return null;\n return (\n \n \n \n );\n },\n },\n];\n\nconst pageSize = 30;\n\nexport function Invoices({\n onSelectOrderId,\n}: {\n onSelectOrderId: (id: number) => void;\n}) {\n const { t, formatDate } = useI18n();\n const apiSettings = useApiSettings();\n const columns = getColumns(t, formatDate, onSelectOrderId, apiSettings);\n\n const [queryParams, setQueryParams] = useQueryParams({\n page: serializers.number({ defaultValue: 1 }),\n searchQuery: serializers.string({ defaultValue: '' }),\n sortingDesc: serializers.boolean({ defaultValue: true }),\n sortingKey: serializers.custom({\n defaultValue: 'invoiceDate',\n serialize: (v) => v,\n deserialize: (v) => {\n if (v && columns.some((c) => c.accessor === v)) {\n return v as keyof InvoiceListItem;\n }\n },\n }),\n paid: serializers.boolean(),\n });\n\n const partialupdateFilterQueryParams = (\n newQueryParams: Partial,\n ) => {\n setQueryParams({ ...queryParams, ...newQueryParams, page: 1 });\n };\n\n const [\n searchQuery,\n setSearchQuery,\n ] = useDebounceValueCallback(queryParams.searchQuery, (value) =>\n partialupdateFilterQueryParams({ searchQuery: value }),\n );\n\n const invoices = useApiResource(invoicesApi.getInvoices, {\n emptyValue: {\n totalItems: 0,\n items: [],\n },\n clearDataOnLoad: false,\n });\n\n const exportCsvUrl = useMemo(\n () =>\n getExportCsvUrl(apiSettings, {\n searchQuery: queryParams.searchQuery,\n sortBy: queryParams.sortingKey,\n sortDesc: queryParams.sortingDesc,\n paid: queryParams.paid,\n }),\n [\n apiSettings,\n queryParams.searchQuery,\n queryParams.sortingKey,\n queryParams.sortingDesc,\n queryParams.paid,\n ],\n );\n\n useEffect(() => {\n invoices.refresh({\n searchQuery: queryParams.searchQuery,\n page: queryParams.page,\n pageSize,\n sortBy: queryParams.sortingKey,\n sortDesc: queryParams.sortingDesc,\n paid: queryParams.paid,\n });\n }, [\n queryParams.searchQuery,\n queryParams.page,\n queryParams.sortingKey,\n queryParams.sortingDesc,\n queryParams.paid,\n ]);\n\n return (\n \n \n \n \n \n \n \n \n partialupdateFilterQueryParams({\n paid: e.target.value,\n })\n }\n >\n \n {t(messages.shared.all)}\n \n \n {t(messages.invoice.unpaid)}\n \n \n {t(messages.invoice.paid)}\n \n \n \n \n \n \n \n {t(messages.shared.listingItemsCount, {\n count: invoices.data.totalItems || 0,\n })}\n \n \n \n \n \n \n \n }\n />\n {invoices.error && (\n \n \n \n )}\n \n columns={columns}\n items={invoices.data.items}\n isLoading={invoices.isLoading}\n paged={{\n page: queryParams.page,\n pageSize,\n onPageChange: (page) => {\n setQueryParams({ ...queryParams, page });\n },\n totalItems: invoices.data.totalItems || 0,\n }}\n sorted={{\n desc: queryParams.sortingDesc,\n key: queryParams.sortingKey,\n onSortedChange: (sorting) =>\n setQueryParams({\n ...queryParams,\n sortingDesc: sorting.desc,\n sortingKey: sorting.key,\n }),\n }}\n />\n \n \n );\n}\n","import querystringify from 'querystringify';\nimport { ApiSettings } from '../../../api/apiSettings';\nimport { InvoiceListItem } from './types';\n\nexport interface ExportOptions {\n searchQuery: string;\n sortDesc: boolean;\n sortBy: keyof InvoiceListItem;\n displayCurrencyId?: number;\n paid: boolean | undefined;\n}\n\nexport function getExportCsvUrl(\n apiSettings: ApiSettings,\n options: ExportOptions,\n) {\n const queryString = querystringify.stringify({\n searchQuery: options.searchQuery,\n sortBy: options.sortBy,\n sortDesc: options.sortDesc,\n displayCurrencyId: options.displayCurrencyId,\n paid: options.paid\n });\n\n return `${apiSettings.invoiceCsvUri}?${queryString}`;\n}\n","import {\n Address,\n UpdateLineItem,\n OrderType,\n LineItem,\n OrderCareLabelPo,\n} from '../types';\nimport { ApiRequest } from '../hooks/useApi';\n\nexport const draftOrderApi = {\n getDraftOrdersCount: (): ApiRequest => async ({\n httpClient,\n apiSettings,\n }) => {\n const response = await httpClient.get(apiSettings.draftOrdersCountUri);\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return { result: response.data };\n }\n },\n\n getDraftOrder: (id: number): ApiRequest => async ({\n httpClient,\n apiSettings,\n }) => {\n const response = await httpClient.get(apiSettings.draftOrderUri(id));\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return { result: response.data };\n }\n },\n\n placeDraftOrder: (\n id: number,\n data: PlaceDraftOrderData,\n ): ApiRequest => async ({ httpClient, apiSettings }) => {\n const response = await httpClient.put(apiSettings.draftOrderUri(id), {\n data,\n });\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: undefined,\n };\n }\n },\n\n updateLineItem: (\n orderId: number,\n lineItem: UpdateLineItem,\n ): ApiRequest => async ({\n httpClient,\n apiSettings,\n }) => {\n const response = await httpClient.post(\n apiSettings.draftOrderLineItemsUri(orderId),\n {\n data: lineItem,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: {\n ...response.data,\n quantityError: response.headers.quantityvalidationerror,\n },\n };\n }\n },\n};\n\nexport interface PlaceDraftOrderData {\n externalOrderNumber?: string;\n contactName?: string;\n contactPhone?: string;\n courierAccount?: string;\n orderMessage?: string;\n orderType: OrderType;\n customOrderAddress?: PlaceDraftOrderCustomAddress;\n existingCustomAddressId?: number;\n metaFieldValues?: { [key: number]: string };\n requestedDeliveryDate?: string;\n}\n\nexport interface PlaceDraftOrderCustomAddress {\n company: string;\n address1: string;\n address2: string;\n postalCode: string;\n city: string;\n countryId: number;\n}\n\nexport interface DraftOrderDetails {\n id: number;\n orderNumber: string;\n orderDate: string;\n type: OrderType;\n externalOrderNumber: string;\n externalReference: string;\n reference: string;\n shippingAddress: Address;\n paymentTermName: string;\n deliveryTermName: string;\n deliveryMethodName: string;\n customerId: number;\n customerErpId: string;\n customerName: string;\n projectName: string;\n invoiceCustomerId: number;\n invoiceCustomerErpId: string;\n invoiceCustomerName: string;\n invoiceCustomerAddress: Address;\n currencyCode: string;\n orderMessage: string;\n careLabelPos: OrderCareLabelPo[];\n rows: LineItem[];\n}\n\nexport interface UpdateDraftLineItemResponse {\n quantityError: string;\n}\n","import React, { useState, useMemo, useEffect, useRef } from 'react';\nimport { Row, Col, Card, Divider, Button, Skeleton, Icon, Alert } from 'antd';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\nimport { DescriptionList } from '../../descriptionList/descriptionList';\nimport { OrderType, UpdateLineItem, CustomerType } from '../../../types';\nimport { Form } from '../../form/form';\n\nimport {\n useApiRequests,\n ApiError,\n useApiResource,\n} from '../../../hooks/useApi';\nimport { AddressDetails } from '../../addressDetails/addressDetails';\nimport { LoadingIndicator } from '../../loadingIndicator/loadingIndicator';\nimport { AddressForm } from '../../addressForm/addressForm';\nimport { ApiErrorDetails } from '../../apiErrorDetails/apiErrorDetails';\nimport styles from './draftOrder.module.scss';\nimport {\n usePlaceOrderForm,\n PlaceOrderForm,\n ShippingAddressType,\n} from '../../../hooks/shop/usePlaceOrderForm/usePlaceOrderForm';\nimport {\n draftOrderApi,\n DraftOrderDetails,\n PlaceDraftOrderData,\n} from '../../../api/draftOrderApi';\nimport { AddressSelect } from '../../addressSelect/addressSelect';\nimport { useShopSessionStore } from '../../../hooks/shop/useShopSessionStore';\nimport { DeliveryDatePicker } from '../checkout/deliveryDatePicker/deliveryDatePicker';\nimport FormItem from 'antd/lib/form/FormItem';\n\nconst formLayout = {\n labelCol: { span: 7 },\n wrapperCol: { span: 17 },\n};\n\nexport const MemoizedLineItems = React.memo(DraftOrderLineItems);\nexport const MemoizedDetailsList = React.memo(DraftOrderDetailsList);\n\nexport function DraftOrder({\n id,\n onGoBack,\n onPlaceOrder,\n}: {\n id: number;\n onGoBack: () => void;\n onPlaceOrder: () => void;\n}) {\n const { t } = useI18n();\n const order = useApiResource(draftOrderApi.getDraftOrder, {\n clearDataOnLoad: false,\n });\n\n useEffect(() => {\n order.refresh(id);\n }, [id]);\n\n return (\n
\n
\n {t(messages.order.orders)}\n
\n {!order.data && !order.error && (\n \n )}\n\n {order.error && }\n\n {!!order.data && order.isLoading && }\n\n {!!order.data && (\n order.refresh(id)}\n />\n )}\n
\n );\n}\n\nfunction DraftOrderView({\n order,\n onRefreshOrder,\n onPlacedOrder,\n}: {\n order: DraftOrderDetails;\n onRefreshOrder: () => void;\n onPlacedOrder: () => void;\n}) {\n const { t } = useI18n();\n const {\n checkoutAdapter: { ArticleModal, DraftOrderFields },\n } = useShopSessionStore();\n\n const isSubmitting = useRef(false);\n const { session } = useShopSessionStore();\n const [placeOrderError, setPlaceOrderError] = useState();\n const [updateLineItemError, setUpdateLineItemError] = useState();\n const [lineItemQuantityError, setLineItemQuantityError] = useState();\n const [selectedArticleId, setSelectedArticleId] = useState();\n const [disableDatePicker, setDisableDatePicker] = useState(false);\n\n const placeDraftOrderRequest = useApiRequests(draftOrderApi.placeDraftOrder);\n const updateLineItemRequest = useApiRequests(draftOrderApi.updateLineItem);\n\n const closeArticleModal = () => {\n setSelectedArticleId(undefined);\n setUpdateLineItemError(undefined);\n setLineItemQuantityError(undefined);\n };\n\n const updateLineItem = (lineItem: UpdateLineItem) => {\n updateLineItemRequest\n .create({\n onSuccess: (response) => {\n if (response.quantityError !== undefined) {\n setLineItemQuantityError(response.quantityError);\n return;\n }\n\n closeArticleModal();\n onRefreshOrder();\n },\n onError: (response) => {\n setUpdateLineItemError(response);\n },\n })\n .send(order.id, lineItem);\n };\n\n const handleFormSubmit = (\n values: PlaceOrderForm,\n requestedDeliveryDate?: string,\n ) => {\n if (isSubmitting.current) {\n return;\n }\n isSubmitting.current = true;\n\n setPlaceOrderError(undefined);\n const orderData: PlaceDraftOrderData = {\n externalOrderNumber: values.externalOrderNumber,\n orderMessage: values.orderMessage,\n orderType: values.orderType.key,\n contactName: values.contactName,\n contactPhone: values.contactPhone,\n courierAccount: values.courierAccount,\n customOrderAddress: values.customAddress\n ? {\n company: values.customAddress.company,\n address1: values.customAddress.address1,\n address2: values.customAddress.address2,\n postalCode: values.customAddress.postalCode,\n city: values.customAddress.city,\n countryId: values.customAddress.country!.key,\n }\n : undefined,\n metaFieldValues: values.metaFields,\n existingCustomAddressId: values.existingCustomAddressId,\n requestedDeliveryDate: disableDatePicker ? '' : requestedDeliveryDate,\n };\n\n placeDraftOrderRequest\n .create({\n onSuccess: onPlacedOrder,\n onError: setPlaceOrderError,\n onResponse: () => {\n isSubmitting.current = false;\n },\n })\n .send(order.id, orderData);\n };\n\n const placeOrderForm = usePlaceOrderForm({\n standardShippingAddress: order.shippingAddress,\n standardInvoiceAddress: order.invoiceCustomerAddress,\n cartStoreItems: order.rows,\n draftOrderId: order.id,\n onSubmit: handleFormSubmit,\n });\n\n const selectedLineItem = useMemo(\n () => order.rows.find((r) => r.articleId === selectedArticleId),\n [order.rows, selectedArticleId],\n );\n\n const itemsAreInStock = useMemo(() => {\n return order.rows.every((i) => {\n return i.variants && i.variants.length > 0\n ? i.variants.every((v) => v.stockBalance >= v.quantity)\n : i.stockBalance >= i.quantity;\n });\n }, [order.rows]);\n\n const anyItemHasMultistock = useMemo(() => {\n return order.rows.some((r) => r.hasMultiStock);\n }, [order.rows]);\n\n useEffect(() => {\n setDisableDatePicker(\n (!itemsAreInStock && !session.allowAutomaticOrderOnIncomingStock) ||\n !placeOrderForm.deliveryDatesOptions?.deliveryDateAvailable ||\n anyItemHasMultistock ||\n session.customerType === CustomerType.Internal ||\n !session.allowAutomaticOrder ||\n OrderType[placeOrderForm.formik.values.orderType.key] !==\n OrderType[OrderType.Standard],\n );\n }, [\n itemsAreInStock,\n anyItemHasMultistock,\n placeOrderForm.formik.values.orderType,\n placeOrderForm.deliveryDatesOptions?.deliveryDateAvailable,\n ]);\n\n if (placeOrderForm.error) {\n return ;\n }\n\n if (placeOrderForm.isInitializing) {\n return ;\n }\n\n const DeliveryDatePickerContainer = ({\n children,\n }: {\n children: React.ReactNode;\n }) =>\n session.customerType === CustomerType.Internal ||\n !session.allowAutomaticOrder ? (\n <>\n ) : (\n <>{children}\n );\n\n return (\n <>\n {placeDraftOrderRequest.isLoading && }\n {selectedArticleId && (\n \n )}\n
\n
\n {order.orderNumber}\n
\n
\n \n
\n
\n {order.type === OrderType.Variable && (\n \n )}\n
\n \n \n \n \n \n \n
\n
\n \n {t(messages.address.shipping)}\n \n \n \n
\n {placeOrderForm.shippingAddressType ===\n ShippingAddressType.NewCustom && (\n \n )}\n\n {!!placeOrderForm.shippingAddress && (\n \n )}\n
\n
\n
\n \n {t(messages.address.billing)}\n \n
\n \n
\n \n \n \n {placeOrderError && }\n \n \n \n \n \n \n \n \n \n \n \n \n {order.careLabelPos.length > 0 && (\n \n
    \n {order.careLabelPos.map((careLabelPo) => (\n
  • \n \n {careLabelPo.po}\n \n
  • \n ))}\n
\n \n )}\n \n \n \n \n
\n
\n \n );\n}\n\nfunction DraftOrderDetailsList({ order }: { order: DraftOrderDetails }) {\n const { t, formatDate } = useI18n();\n\n return (\n \n \n {order.orderNumber}\n \n \n {formatDate(order.orderDate)}\n \n \n \n {order.customerName}\n \n \n {order.invoiceCustomerName}\n \n \n {order.projectName}\n \n \n {order.externalReference}\n \n \n {order.paymentTermName}\n \n \n {order.deliveryMethodName}\n \n \n {order.deliveryTermName}\n \n \n );\n}\n\nfunction DraftOrderLineItems({\n order,\n onEdit,\n}: {\n order: DraftOrderDetails;\n onEdit: (articleId: number) => void;\n}) {\n const {\n checkoutAdapter: { LineItems },\n } = useShopSessionStore();\n\n return (\n \n );\n}\n","import React, { useState } from 'react';\nimport { TimePeriodPicker } from '../../pickers/timePeriodPicker';\nimport { ArticleCategoryPicker } from '../../pickers/articleCategoryPicker';\nimport { useFileUris } from '../../../hooks/useFileUrls/useFileUrls';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\nimport { categoryCodesApi } from '../../../api/categoryCodesApi';\nimport { Button, Tooltip } from 'antd';\nimport style from './reports.module.scss';\nimport { ListLayout } from '../../listLayout/listLayout';\nimport { TimePeriodType } from '../../../types';\n\nexport function ProductStatisticsReport() {\n const { t } = useI18n();\n const { articleStatisticsReportUri } = useFileUris();\n\n const [downloadBtnDisabled, setdownloadBtnDisabled] = useState(false);\n const [categoryIds, setCategoryIds] = useState([]);\n const [timePeriods, setTimePeriods] = useState<{\n type: TimePeriodType;\n periods: string[];\n }>({\n type: TimePeriodType.Yearly,\n periods: [],\n });\n\n const searchParams = new URLSearchParams({\n categoryIds: categoryIds.join(','),\n timePeriodType: timePeriods.type.toString(),\n timePeriods: timePeriods.periods.join(','),\n });\n\n const downloadLink = `${articleStatisticsReportUri}?${searchParams.toString()}`;\n\n const validInputs = timePeriods.periods.length && categoryIds.length;\n\n const disableDownloadBtn = async () => {\n setdownloadBtnDisabled(true);\n await new Promise((r) => setTimeout(r, 5000));\n setdownloadBtnDisabled(false);\n };\n\n return (\n \n
\n

{t(messages.reports.articleCategory)}

\n categoryCodesApi.getCategories}\n />\n
\n
\n

{t(messages.reports.timePeriod)}

\n \n
\n \n disableDownloadBtn()}\n href={downloadLink}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n disabled={!validInputs || downloadBtnDisabled}\n >\n {t(messages.reports.downloadReport)}\n \n \n
\n );\n}\n","import React, { useState } from 'react';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\nimport { ArticleCategoryPicker } from '../../pickers/articleCategoryPicker';\nimport { OrderType, TimePeriodType } from '../../../types';\nimport { ListLayout } from '../../listLayout/listLayout';\nimport { Button, Tooltip } from 'antd';\nimport { useFileUris } from '../../../hooks/useFileUrls/useFileUrls';\nimport { categoryCodesApi } from '../../../api/categoryCodesApi';\nimport { TimePeriodPicker } from '../../pickers/timePeriodPicker';\nimport { OrderTypePicker } from '../../pickers/orderTypePicker';\nimport { DeliveryStatusPicker } from '../../pickers/deliveryStatusPicker';\nimport style from './reports.module.scss';\n\nexport function CustomerOrdersReport() {\n const { t } = useI18n();\n const { customerOrderReportUri } = useFileUris();\n\n const [downloadBtnDisabled, setdownloadBtnDisabled] = useState(false);\n const [categoryIds, setCategoryIds] = useState([]);\n const [deliveryStatus, setDeliveryStatus] = useState(0);\n const [orderType, setOrderType] = useState(OrderType.Standard);\n const [timePeriods, setTimePeriods] = useState<{\n type: TimePeriodType;\n periods: string[];\n }>({\n type: TimePeriodType.Yearly,\n periods: [],\n });\n\n function handleSelectedCategoryIds(selectedCategoryIds: number[]) {\n setCategoryIds(selectedCategoryIds.slice(0, 300));\n }\n\n const selectableOrderTypes: OrderType[] = [\n OrderType.Standard,\n OrderType.Sample,\n OrderType.Forecast,\n ];\n\n const searchParams = new URLSearchParams({\n categoryIds: categoryIds.join(','),\n deliveryStatus: deliveryStatus.toString(),\n orderType: orderType.toString(),\n timePeriodType: timePeriods.type.toString(),\n timePeriods: timePeriods.periods.join(','),\n });\n\n const downloadLink = `${customerOrderReportUri}?${searchParams.toString()}`;\n\n const validInputs = timePeriods.periods.length && categoryIds.length;\n\n const disableDownloadBtn = async () => {\n setdownloadBtnDisabled(true);\n await new Promise((r) => setTimeout(r, 5000));\n setdownloadBtnDisabled(false);\n };\n\n return (\n \n
\n

{t(messages.reports.articleCategory)}

\n categoryCodesApi.getCategories}\n />\n
\n
\n

{t(messages.order.orderType)}

\n \n
\n {orderType !== OrderType.Forecast && (\n
\n

{t(messages.order.progress)}

\n \n
\n )}\n
\n

{t(messages.reports.timePeriod)}

\n \n
\n \n disableDownloadBtn()}\n href={downloadLink}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n disabled={!validInputs || downloadBtnDisabled}\n >\n {t(messages.reports.downloadReport)}\n \n \n
\n );\n}\n","import React, { useState } from 'react';\nimport { ContentLayout } from '../../contentLayout/contentLayout';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\nimport { Tabs } from 'antd';\nimport { ProductStatisticsReport } from './productStatistics';\nimport { CustomerOrdersReport } from './customerOrders';\n\nexport function Reports() {\n const { t } = useI18n();\n const [activeReportTab, setActiveReportTab] = useState(1);\n\n return (\n \n setActiveReportTab(parseInt(id, 10))}\n >\n \n \n \n \n \n \n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport { Route, Link, withRouter, RouteComponentProps } from 'react-router-dom';\nimport { matchPath, Switch, Redirect, generatePath } from 'react-router';\nimport {\n Alert,\n Layout,\n Menu,\n Icon,\n Dropdown,\n Button,\n Badge,\n Tooltip,\n} from 'antd';\nimport styles from './shop.module.scss';\nimport { Dashboard } from './dashboard/dashboard';\nimport { Documents } from './documents/documents';\nimport { Articles } from './articles/articles';\nimport { QuickSearch } from './quickSearch/quickSearch';\nimport { ArticleCartModal } from './articleCartModal/articleCartModal';\nimport { ShopSession, ApplicationEnvironment, CustomerType } from '../../types';\nimport { useI18n } from '../../hooks/useI18n';\nimport { messages } from '../../messages';\nimport { Orders, OrderTabs } from './orders/orders';\nimport { Order } from './order/order';\nimport { DescriptionList } from '../descriptionList/descriptionList';\nimport { ApiErrorDetails } from '../apiErrorDetails/apiErrorDetails';\nimport { useLastLocation } from 'react-router-last-location';\nimport { routes } from './routes';\nimport { CartStoreProvider, useCartStore } from '../../hooks/shop/useCartStore';\nimport {\n ShopSessionStoreProvider,\n useShopSessionStore,\n} from '../../hooks/shop/useShopSessionStore';\nimport { CartDrawer } from './cartDrawer/cartDrawer';\nimport { ArticleCartModalStoreProvider } from '../../hooks/shop/useArticleCartModalStore';\nimport { Invoices } from './invoices/invoices';\nimport querystringify from 'querystringify';\nimport { DraftOrder } from './draftOrder/draftOrder';\nimport { Logo } from '../logo/logo';\nimport cc from 'classcat';\nimport { draftOrderApi } from '../../api/draftOrderApi';\nimport { useApiResource } from '../../hooks/useApi';\nimport { useThrottleCallback } from '../../hooks/useThrottleCallback';\nimport { LocalePicker } from '../localePicker/localePicker';\nimport { Reports } from './reports/reports';\n\nexport const Shop = ({\n session,\n applicationEnvironment,\n onEndSession,\n onLogout,\n}: {\n applicationEnvironment: ApplicationEnvironment;\n session: ShopSession;\n onEndSession: () => void;\n onLogout: () => void;\n}) => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nconst menuItems = {\n dashboard: { path: routes.dashboard, exact: true },\n articles: { path: routes.articles, exact: false },\n orders: { path: routes.orders, exact: false },\n invoices: { path: routes.invoices, exact: false },\n reports: { path: routes.reports, exact: false },\n development: { path: routes.development, exact: false },\n documents: { path: routes.documents, exact: false },\n};\n\nconst getSelectedMenuItem = (path: string) => {\n for (const key in menuItems) {\n const menuItem = menuItems[key as keyof typeof menuItems];\n\n if (matchPath(path, menuItem)) {\n return menuItem.path;\n }\n }\n return '';\n};\n\nconst ShopContent = withRouter(\n ({\n location,\n history,\n applicationEnvironment,\n }: {\n applicationEnvironment: ApplicationEnvironment;\n } & RouteComponentProps) => {\n const lastLocation = useLastLocation();\n const cartStore = useCartStore();\n const shopSessionStore = useShopSessionStore();\n const Checkout = shopSessionStore.checkoutAdapter.Checkout;\n const draftOrdersCount = useApiResource(draftOrderApi.getDraftOrdersCount, {\n clearDataOnLoad: false,\n });\n const { t, locale, changeLocale } = useI18n();\n\n const handleCheckout = () => {\n cartStore.hideCart();\n history.push(routes.checkout);\n };\n\n const goToInvoices = (options?: { paid?: boolean }) => {\n history.push({\n pathname: routes.invoices,\n search: options ? querystringify.stringify(options) : undefined,\n });\n };\n\n const goToOrder = (orderId: number, options?: { isNew?: boolean }) => {\n history.push({\n pathname: generatePath(routes.order, { id: orderId }),\n search: options ? querystringify.stringify(options) : undefined,\n });\n };\n\n const goToDraftOrder = (orderId: number) => {\n history.push({\n pathname: generatePath(routes.orderDraft, { id: orderId }),\n });\n };\n\n const refreshOrdersCountThrottled = useThrottleCallback(\n draftOrdersCount.refresh,\n 5000,\n );\n\n useEffect(() => {\n refreshOrdersCountThrottled();\n }, []);\n\n const selectedMenuPath = getSelectedMenuItem(location.pathname);\n\n return (\n \n \n
\n
\n \n \n \n \n {t(messages.dashboard.dashboard)}\n \n \n \n \n {t(messages.article.articles)}\n \n \n \n \n 0}\n className={styles.notificationBadge}\n >\n {t(messages.order.orders)}\n \n \n \n {shopSessionStore.session.invoicesEnabled && (\n \n \n {t(messages.invoice.invoices)}\n \n \n )}\n \n
\n
\n \n
\n
\n \n \n \n
\n \n \n {shopSessionStore.session.customerName}\n \n \n {shopSessionStore.session.userName}\n \n \n {shopSessionStore.session.email}\n \n \n shopSessionStore.endSession()}\n >\n {shopSessionStore.session.isImpersonating\n ? t(messages.shared.endImpersonation)\n : t(messages.shared.switchLogin)}\n \n
\n \n
\n \n \n \n \n \n
\n \n \n \n {t(messages.documents.documents)}\n \n \n \n {shopSessionStore.session.customerType ===\n CustomerType.Brand ? (\n \n {t(messages.reports.reports)}\n \n ) : (\n \n
{t(messages.reports.reports)}
\n
\n )}\n
\n \n \n {t(messages.shared.settings)}\n \n \n shopSessionStore.logout()}\n >\n {t(messages.shared.logout)}\n \n \n }\n trigger={['click']}\n placement=\"bottomRight\"\n >\n
\n
\n {t(messages.shared.country)}:\n \n RH {shopSessionStore.session.branchName}\n \n
\n
\n {t(messages.shared.project)}:\n \n {shopSessionStore.session.projectName}\n \n
\n \n
\n \n \n cartStore.showCart()}\n >\n
\n \n \n \n {t(messages.cart.cart)}\n
\n \n \n
\n
\n
\n \n
\n {shopSessionStore.session.branchUnderMaintenance && (\n \n )}\n {shopSessionStore.session.locked &&\n menuItems.dashboard.path !== selectedMenuPath && (\n \n )}\n {shopSessionStore.apiError && (\n \n )}\n \n }\n />\n }\n />\n }\n />\n \n (\n \n goToOrder(orderId, { isNew: true })\n }\n />\n )}\n />\n (\n {\n draftOrdersCount.refresh();\n goToOrder(match.params.id);\n }}\n onGoBack={() => {\n if (\n lastLocation &&\n pathIsOrderList(lastLocation.pathname)\n ) {\n history.goBack();\n } else {\n history.push(routes.draftOrders);\n }\n }}\n />\n )}\n />\n (\n {\n history.push(\n tab === OrderTabs.Draft\n ? routes.draftOrders\n : routes.ordersPlaced,\n );\n }}\n />\n )}\n />\n (\n {\n history.push(\n tab === OrderTabs.Draft\n ? routes.draftOrders\n : routes.ordersPlaced,\n );\n }}\n />\n )}\n />\n (\n {\n if (\n lastLocation &&\n pathIsOrderList(lastLocation.pathname)\n ) {\n history.goBack();\n } else {\n history.push(routes.ordersPlaced);\n }\n }}\n />\n )}\n />\n }\n />\n }\n />\n } />\n \n
\n
\n cartStore.hideCart()}\n />\n \n
\n );\n },\n);\n\nfunction pathIsOrderList(path: string) {\n return (\n !!matchPath(path, {\n path: routes.draftOrders,\n exact: true,\n }) ||\n !!matchPath(path, {\n path: routes.ordersPlaced,\n exact: true,\n })\n );\n}\n","import { useRef, useEffect, useCallback } from 'react';\nimport throttle from 'lodash.throttle';\n\nexport function useThrottleCallback any>(\n setCallback: T,\n waitTimeMs: number,\n) {\n const callback = useRef(setCallback);\n\n useEffect(() => {\n callback.current = setCallback;\n }, [setCallback]);\n\n useEffect(() => {\n return () => {\n callback.current = undefined;\n };\n }, []);\n\n return useCallback(\n throttle(callback.current!, waitTimeMs, { trailing: false }),\n [],\n ) as T;\n}\n","import React, { useEffect } from 'react';\nimport styles from './userCustomerPicker.module.scss';\nimport { Layout, Card, Icon, Alert, Button, Divider } from 'antd';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\nimport { ApiErrorDetails } from '../../apiErrorDetails/apiErrorDetails';\nimport { LoadingIndicator } from '../../loadingIndicator/loadingIndicator';\nimport { useApiResource } from '../../../hooks/useApi';\nimport { sessionApi } from '../../../api/sessionApi';\nimport { UserCustomer } from '../../../types';\n\nexport function UserCustomerPicker({\n onSelectUserCustomerId,\n onLogout,\n}: {\n onSelectUserCustomerId: (id: number) => void;\n onLogout: () => void;\n}) {\n const { t } = useI18n();\n\n const userCustomers = useApiResource(sessionApi.getUserCustomers);\n\n useEffect(() => {\n userCustomers.refresh();\n }, []);\n\n function sortUserCustomers(a: UserCustomer, b: UserCustomer): number {\n const result = sort(a.projectName, b.projectName);\n if (result !== 0) {\n return result;\n }\n return sort(a.branchName, b.branchName);\n }\n\n function sort(a: string, b: string): number {\n a = a.toLowerCase();\n b = b.toLowerCase();\n\n return a === b ? 0 : a > b ? 1 : -1;\n }\n\n const getContent = () => {\n if (userCustomers.error) {\n return ;\n }\n\n if (!userCustomers.data) {\n return ;\n }\n\n return (\n <>\n {!userCustomers.data.length && (\n \n )}\n {!!userCustomers.data.length && (\n <>\n

{t(messages.shared.selectLogin)}

\n {userCustomers.data\n .sort((a, b) => sortUserCustomers(a, b))\n .map((userCustomer) => (\n onSelectUserCustomerId(userCustomer.id)}\n key={userCustomer.id}\n className={styles.card}\n >\n
\n
\n
\n {t(messages.shared.country)}: {userCustomer.branchName}\n
\n
\n {t(messages.shared.project)}: {userCustomer.projectName}\n
\n
\n {t(messages.shared.assortment)}: {userCustomer.assortmentName}\n
\n
\n {userCustomer.customerErpId} -{' '}\n {userCustomer.customerName}\n
\n
\n
\n \n
\n
\n \n ))}\n \n )}\n \n \n \n );\n };\n\n return (\n \n \n
{getContent()}
\n
\n
\n );\n}\n","import { defaultTranslations } from '../messages';\n\nexport const enTranslations = defaultTranslations;\n","import { createTranslations } from '../hooks/useI18n/createTranslations';\nimport { messages, defaultTranslations } from '../messages';\n\nexport const zhCnTranslations = createTranslations(\n defaultTranslations,\n {\n shared: {\n expandTable: '展開表格',\n quantity: '數量',\n batchNumber: null,\n price: '價格',\n update: '更新',\n search: '搜索',\n searchName: null,\n searchArticleNumber: '物料編號',\n searchPlaceholder: '搜索 ...',\n searchArticleNoPlaceholder: '物料編號 ...',\n searchErpIdNamePlaceholder: null,\n searchEmailNamePlaceholder: null,\n excludeCustomerTypePlaceholder: null,\n excludeCustomerTypeTitle: null,\n shrinkTable: '收縮表',\n login: '登入',\n logout: '登出',\n development: '開發',\n settings: '設置',\n widgetsAccess: null,\n otherInformation: '其他資訊',\n noDataAvailable: '無可用資料',\n details: '詳細資訊',\n showDetails: '顯示詳細資訊',\n hideDetails: '隱藏詳細資訊',\n stockType: null,\n hide: '隱藏',\n loadMore: '顯示更多',\n noItems: '無此項目',\n listingItemsCount: null,\n all: '所有',\n standard: '標準',\n sortBy: '排序',\n unknown: '未知',\n customer: '客戶',\n generalCustomerSettings: null,\n switchLogin: '切換登錄',\n selectLogin: '選擇登錄',\n endImpersonation: '結束瀏覽',\n country: '國家',\n brand: '品牌',\n total: '總計',\n remaining: '剩餘',\n totalPrice: '總價格',\n totalQuantity: '總數量',\n assortmentAdminCostDescription: null,\n quantityAdjusted: null,\n quantityAdjustedInfo: null,\n default: '預設',\n branch: '分行',\n email: '電子郵件',\n telephone: '電話',\n fax: '傳真',\n reference: '參考',\n references: null,\n showAll: '顯示所有',\n currency: '貨幣',\n orderCurrency: '訂單貨幣',\n status: '狀態',\n type: '類型',\n export: '輸出',\n project: '品牌',\n projects: null,\n assortment: null,\n error: '錯誤',\n internalServerError: null,\n file: '檔案',\n optional: '可選',\n download: '下載',\n save: '保存',\n show: '顯示',\n chooseFile: '選擇檔案',\n createNew: 'Create new',\n created: '已創建',\n language: '语',\n name: null,\n done: null,\n add: null,\n remove: null,\n delete: null,\n copy: null,\n clearSelection: null,\n removeConfirmation: null,\n deleteConfirmation: null,\n selectionCount: null,\n confirmation: null,\n deleteSelected: null,\n selectAll: null,\n unselectAll: null,\n categories: null,\n orderTypes: null,\n deliveryStatuses: null,\n color: null,\n syncSchedule: null,\n },\n\n assortment: {\n assortment: '分類',\n assortments: '分類',\n subAssortment: null,\n displayFrozenArticles: null,\n copyAssortment: null,\n copyAssortmentResult: null,\n createAssortment: null,\n createSubAssortment: null,\n addArticles: null,\n clearArticles: null,\n deleteAssortments: null,\n deleteArticleFromSelected: null,\n useStockLocations: null,\n useLocalBranchStock: null,\n useStockBatch: null,\n allowAutomaticOrder: null,\n allowAutomaticOrderOnIncomingStock: null,\n useAutomaticQuantityAdjustment: null,\n activateAdminPriceThreshold: null,\n assortmentCurrency: null,\n adminPrice: null,\n currencyDepends: null,\n adminPriceTriggerThreshold: null,\n adminPriceCurrency: null,\n draftQuantityAdjustmentPercent: null,\n assortmentCopied: null,\n assortmentCopiedSuccess: null,\n assortmentCreated: null,\n assortmentUpdated: null,\n assortmentRemoved: null,\n assortmentsRemoved: null,\n assortmentArticlesAdded: null,\n assortmentArticlesCleared: null,\n assortmentArticleRemoved: null,\n createChildAssortmentTitle: null,\n assortmentRemovalWarning: null,\n assortmentsRemovalWarning: null,\n assortmentsRemoveConfirmation: null,\n assortmentsArticleRemoveWarning: null,\n assortmentsArticleRemoveConfirmation: null,\n assortmentArticlesMissing: null,\n assortmentArticlesMissingWarning: null,\n assortmentArticlesMissingExport: null,\n },\n\n customer: {\n unknown: null,\n brand: '品牌',\n vendor: '供應商',\n agent: '代理商',\n internal: null,\n customerType: '客戶類型',\n invoiceCustomer: null,\n adminCostThresholdLabel: null,\n saveGeneralCustomerSettings: null,\n customerGeneralSettingsSaved: null,\n },\n\n documents: {\n documents: '文件檔案',\n name: '名稱',\n description: '描述',\n generalDocuments: '一般檔案',\n branchDocuments: null,\n yourDocuments: '您的文件檔案',\n newDocument: '新文件檔案',\n confirmRemoveDocument: '您確定要刪除此文件檔案嗎?',\n removeDocument: '刪除文件檔案',\n documentRemoved: '文件檔案已刪除',\n },\n\n notifications: {\n notifications: null,\n name: null,\n message: null,\n newNotification: null,\n updateNotification: null,\n confirmRemoveNotification: null,\n removeNotification: null,\n notificationRemoved: null,\n },\n\n reports: {\n reports: '報告',\n articleStatistics: null,\n articleCategory: null,\n branchPlaceholder: null,\n categories: {\n clear: null,\n selectAll: null,\n filterPlaceholder: null,\n noMatchingCategories: null,\n selectABranch: null,\n noCategoriesSelected: null,\n },\n customerOrders: null,\n customerTypePlaceholder: null,\n downloadReport: null,\n exportArticles: null,\n exportArticleVariants: null,\n currentLocation: null,\n allLocations: null,\n includeFrozenArticles: null,\n includeImages: null,\n includeShortageList: null,\n itemType: null,\n itemTypeFilter: null,\n itemTypePlaceholder: null,\n timePeriod: null,\n timePeriodPlaceholder: null,\n },\n\n article: {\n article: '物料編號',\n articles: '物料編號',\n articleNumber: '物料編號',\n articleNumberOrDescription: null,\n description: '描述',\n extraDescription: null,\n kit: '套件',\n matrix: '矩陣',\n frozen: '凍結',\n frozenAlert: null,\n size: '大小',\n unit: null,\n color: '顏色',\n showSummary: '顯示摘要',\n showTopContent: '顯示熱門內容',\n hideSummary: '隱藏摘要',\n hideTopContent: '隱藏熱門內容',\n articleInformationTitle: null,\n articleCategory: null,\n },\n\n stock: {\n stock: '存貨',\n location: '位置',\n inStock: '有存貨',\n inOrder: '可供落單',\n PO: '採購單',\n balance: '結餘',\n available: '可用',\n },\n\n cart: {\n cart: '購物車',\n quantityInCart: '購物車內數量',\n checkout: '結帳',\n updateCart: '更新購物車',\n unavailableArticle: null,\n removeUnavailableArticles: null,\n },\n\n order: {\n order: '訂單',\n orders: '訂單',\n placeOrder: '下訂單',\n referenceOrderNumber: '參考訂單號',\n message: '訊息',\n careLabelPos: '洗水嘜採購單',\n orderNumber: '訂單號',\n reference: '參考',\n externalReference: null,\n internalReference: '內部參考',\n orderDate: '訂購日期',\n confirmedDeliveryDate: '確認交貨日期',\n confirmedDate: '確認日期',\n latestDate: '最新的日期',\n deliveryDate: '交貨日期',\n deliveryDates: '交貨日期',\n deliveryStatus: '交貨狀態',\n progress: '狀態',\n progresses: '狀態',\n unconfirmed: '未確認',\n confirmed: '已確認',\n undelivered: '未送達',\n partiallyDelivered: '有部分已送達',\n delivered: '已送達',\n unplaced: '未落單',\n placed: '已落單',\n awaitingDelivery: '正在等待交貨',\n billedTo: '開票給',\n paymentTerms: '付款條件',\n deliveryTerms: '送貨條件',\n deliveryMethod: '送貨方式',\n noMessage: '沒有消息',\n row: '行',\n deliveryNote: '送貨單',\n invoiceNumber: '發票編號',\n placeAsVendor: '供應商下的訂單',\n orderPlacedTitle: '已下訂單',\n orderTypeForecast: null,\n orderTypeStandard: '標準',\n orderTypeSample: '取消通話/短信',\n orderTypeVariable: '洗水嘜',\n orderPlacedDescription:\n '你的訂單現已提交,將很快處理。 您可以查看訂單記錄來跟踪訂單的進度。',\n trackingNumber: '運單號',\n updateOrder: '更新訂單',\n orderType: '訂單類型',\n placeVariableOrderTitle: '洗水嘜訂單',\n placeVariableOrderDescription: '要檢查當前狀態,請遵循採購單鏈接',\n contactName: '聯繫人姓名',\n contactPhone: '聯繫電話',\n courierAccount: '快遞帳戶',\n selectAddress: null,\n origin: '起源',\n deliveryPickerDisabledTooltipOutOfStock: null,\n deliveryPickerDisabledTooltipMultiStock: null,\n\n additionalFields: {\n title: '其他附加',\n brandName: '品牌名稱',\n garmentType: '服裝類型',\n garmentQty: '服裝數量',\n segment: '細分',\n },\n season: null,\n },\n\n address: {\n address: '地址',\n addresses: '地址',\n customAddress: '自定義地址',\n shipping: '運輸',\n billing: '帳單',\n company: '公司',\n address1: '地址1',\n address2: '地址2',\n city: '城市',\n postalCode: '郵政編碼',\n country: '國家',\n shippingTypeStandard: '标准',\n shippingTypeNewCustom: '新',\n shippingTypeExistingCustom: '已保存',\n },\n\n invoice: {\n invoices: '發票',\n invoiceNumber: '發票編號',\n invoiceDate: '發票日期',\n dueDate: '到期日',\n paid: '已付款',\n unpaid: '未付款',\n overdue: '逾期',\n },\n\n login: {\n logout: '登出',\n noAvailableLogins: '沒有可用的客戶登錄名',\n },\n\n session: {\n lockedTitle: '您的帳戶已被鎖定',\n lockedDescription: '您可以瀏覽網頁,但不能下任何訂單',\n maintenanceTitle: null,\n maintenanceDescription: null,\n },\n\n users: {\n user: null,\n users: '用戶名稱',\n name: '姓名',\n email: '電子郵件',\n customerLogins: '客戶登錄',\n customerLoginRemoveConfirmation: null,\n customerLoginRemoved: null,\n customerLoginUpdated: null,\n customerLoginsRemoved: null,\n userUpdated: null,\n editUser: null,\n customerLoginsRemovalWarning: null,\n customerLoginsRemoveConfirmation: null,\n },\n\n branches: {\n branches: null,\n copyToBranches: null,\n },\n\n dashboard: {\n dashboard: '快速存取',\n welcome: '歡迎',\n contactRH: '聯絡我們',\n news: '最新資訊',\n invoices: {\n title: '逾期發票',\n noneDue: '沒有任何逾期發票',\n viewAll: '查看所有發票',\n viewAllUnpaid: '查看所有未付發票',\n },\n },\n\n validation: {\n mixed: {\n default: '無效 ',\n required: '必要欄位',\n oneOf: '必須為以下值之一: {values}',\n notOneOf: '不能是以下值之一: {values}',\n notType: '必須為 {type} 類型',\n },\n string: {\n length: '必須完全 {length} 字元',\n min: '必須至少為 {min} 個字元',\n max: '必須最多為 {max} 字元',\n matches: '必須匹配以下內容: \"{regex}\"',\n email: '必須是有效的電子郵件',\n url: '必須是有效的 URL(統一資源定位器)',\n trim: null,\n lowercase: null,\n uppercase: null,\n invalidChars: null,\n },\n number: {\n min: '必須大於或等於 {min}',\n max: '必須小於或等於 {max}',\n lessThan: '必須小於 {less}',\n moreThan: '必須大於 {more}',\n notEqual: '必須不得等於 {notEqual}',\n positive: '必須為正數',\n negative: '必須為負數',\n integer: null,\n },\n date: {\n min: '必須晚於 {min}',\n max: '必須早於 {max}',\n },\n object: {\n noUnknown: null,\n },\n array: {\n min: '必須至少具有{min} 項',\n max: '必須具有小於或等於 {max} 項',\n },\n file: {\n maxSizeExceeded: '檔案超過最大大小 {maxSize}',\n unsupportedFileType: '不支援檔案類型',\n multipleNotAllowed: '不允許使用多個檔案',\n multipleMaxSizeExceeded: '超過檔案的總最大大小',\n multipleMaxCountExceeded: '選擇的檔太多',\n },\n },\n checkoutAdapter: {\n checkoutAdapters: null,\n _3M: {\n addToCart: null,\n confirmRead: null,\n confirmReadLink: null,\n removeFromCart: null,\n cartIsFull: null,\n clearCart: null,\n lineItemMessage: null,\n order: {\n poNumber: null,\n brand: null,\n factory: null,\n reflectiveProduct: null,\n segment: null,\n contactName: null,\n contactPhone: null,\n courierAccount: null,\n message: null,\n producedGarment: null,\n garmentType: null,\n garmentQuantity: null,\n quantity: null,\n },\n unavailableProduct: null,\n },\n },\n orderMetaFields: {\n confirmRemoveMetaFieldOption: null,\n createOrderMetaFieldOption: null,\n editOrderMetaFields: null,\n isAlreadyParentOption: null,\n isSubOption: null,\n orderMetaField: null,\n orderMetaFieldOptionCreated: null,\n orderMetaFieldOptionRemoved: null,\n orderMetaFieldOptionUpdated: null,\n parentMetaField: null,\n parentOption: null,\n removeMetaFieldOption: null,\n updateOrderMetaFieldOption: null,\n value: null,\n },\n customers: {\n customers: null,\n },\n widgets: {\n widgets: null,\n widgetType: null,\n widgetCreated: null,\n widgetUpdated: null,\n widgetRemoved: null,\n widgetNamePlaceholder: null,\n customerMustBeBrand: null,\n widgetRemovalWarning: null,\n exportShortageList: null,\n articlesInShortage: null,\n create: null,\n insufficientCompetence: null,\n errorRetrievedWidget: null,\n categories: {\n selectCategory: null,\n createCategory: null,\n updateCategory: null,\n deleteCategory: null,\n categoryCreated: null,\n categoryUpdated: null,\n categoryRemoved: null,\n removalWarning: null,\n customerRemovalWarning: null,\n noCategories: null,\n },\n lastGeneratedReportFailed: null,\n pendingReport: null,\n noReportsGeneratedYet: null,\n downloadExport: null,\n generated: null,\n awaitingDeliveries: {\n create: null,\n update: null,\n widgetText: null,\n triggerExport: null,\n },\n shortage: {\n create: null,\n update: null,\n triggerExport: null,\n articlesInShortage: null,\n },\n delayedDeliveries: {\n create: null,\n update: null,\n widgetText: null,\n triggerExport: null,\n },\n productStatistics: {\n create: null,\n update: null,\n triggerExport: null,\n newReportTriggered: null,\n },\n customerOrdersReport: {\n triggerExport: null,\n create: null,\n update: null,\n newReportTriggered: null,\n },\n slowStock: {\n triggerExport: null,\n create: null,\n update: null,\n newReportTriggered: null,\n },\n },\n alarms: {\n addAlarm: null,\n },\n },\n);\n","import {\n OptionalNestedTranslations,\n FlattenedTranslations,\n NestedPaths,\n} from './types';\nimport { getFlattenedTranslations } from './helpers';\n\n// Overrides translations, a null value will use the default value\nexport function createTranslations(\n defaultFlattenedTranslations: FlattenedTranslations,\n translations: OptionalNestedTranslations,\n) {\n const flattenedTranslations = getFlattenedTranslations(translations);\n\n return { ...defaultFlattenedTranslations, ...flattenedTranslations };\n}\n","import React, { useState, useRef, useEffect, lazy, Suspense } from 'react';\nimport { Router, Route, Redirect, Switch } from 'react-router-dom';\nimport { Shop } from '../shop/shop';\nimport { ShopSession, ApplicationEnvironment } from '../../types';\nimport { LoadingIndicator } from '../loadingIndicator/loadingIndicator';\nimport { Layout, Icon, Alert } from 'antd';\nimport styles from './app.module.scss';\nimport { UserCustomerPicker } from './userCustomerPicker/userCustomerPicker';\nimport { createBrowserHistory, History } from 'history';\nimport { LastLocationProvider } from 'react-router-last-location';\nimport {\n createHttpClient,\n HttpClient,\n HttpClientContext,\n} from '../../hooks/useHttpClient';\nimport { I18nProvider, Locale } from '../../hooks/useI18n';\nimport { NotificationStoreProvider } from '../../hooks/useNotificationStore/notificationStore';\nimport { routes as shopRoutes } from '../shop/routes';\nimport { routes as internalRoutes } from '../internal/routes';\nimport { YupProvider } from '../../hooks/useYup';\nimport { createApiSettings } from '../../api/apiSettings';\nimport { ApiSettingsContext } from '../../hooks/useApi/apiSettingsContext';\nimport { enTranslations } from '../../translations/en';\nimport { zhCnTranslations } from '../../translations/zh-cn';\n\ninterface CurrentSession {\n userName: string;\n shopSession?: ShopSession;\n isInternal: boolean;\n applicationEnvironment: ApplicationEnvironment;\n}\n\nconst shopLoginUrl = '/login';\nconst Internal = lazy(() => import('../internal/internal'));\nconst apiSettings = createApiSettings('/api');\nconst translations = {\n [Locale.En]: enTranslations,\n [Locale.ZhCn]: zhCnTranslations,\n};\n\nexport function App() {\n const httpClient = useRef(createHttpClient());\n const history = useRef>(createBrowserHistory());\n const [isLoading, setIsLoading] = useState(true);\n const [currentSession, setCurrentSession] = useState();\n const [error, setError] = useState();\n const [isAuthorizing, setIsAuthorizing] = useState(false);\n\n const redirectToExternalLogin = () => {\n setIsAuthorizing(true);\n const currentUrl = window.location.href;\n window.location.href = `${apiSettings.redirectLoginUri}?returnUrl=${currentUrl}`;\n };\n\n const redirectToExternalLogout = () => {\n setIsAuthorizing(true);\n setCurrentSession(undefined);\n const currentOrigin = `${window.location.protocol}//${window.location.host}`;\n window.location.href = `${apiSettings.redirectLogoutUri}?returnUrl=${currentOrigin}`;\n };\n\n const getSession = async (redirectPath?: string) => {\n setIsLoading(true);\n const sessionResult = await httpClient.current.get(apiSettings.sessionUri);\n\n if (sessionResult.hasError) {\n if (sessionResult.status !== 401) {\n setError(sessionResult.error.message);\n }\n } else {\n const currentSessionResult = sessionResult.data as CurrentSession;\n setCurrentSession(currentSessionResult);\n\n if (redirectPath) {\n history.current.push(redirectPath);\n }\n }\n setIsLoading(false);\n };\n\n const setUserCustomerId = async (userCustomerId: number) => {\n setIsLoading(true);\n const sessionResult = await httpClient.current.put(\n apiSettings.sessionShopUri,\n { data: { userCustomerId } },\n );\n\n if (sessionResult.hasError) {\n setError(sessionResult.error.message);\n setIsLoading(false);\n } else {\n getSession(shopRoutes.dashboard);\n }\n };\n\n const handleEndShopSession = async () => {\n setIsLoading(true);\n const sessionResult = await httpClient.current.delete(\n apiSettings.sessionShopUri,\n );\n\n if (sessionResult.hasError) {\n setError(sessionResult.error.message);\n setIsLoading(false);\n } else {\n if (currentSession?.isInternal) {\n getSession(internalRoutes.userCustomers);\n } else {\n getSession(shopLoginUrl);\n }\n }\n };\n\n useEffect(() => {\n getSession();\n }, []);\n\n useEffect(() => {\n return httpClient.current.onUnauthorized.subscribe(() =>\n redirectToExternalLogin(),\n );\n }, []);\n\n if (error || !currentSession) {\n return (\n \n );\n }\n\n return (\n }>\n \n \n \n \n \n {isLoading && }\n \n \n \n {!currentSession.isInternal && (\n (\n \n )}\n />\n )}\n {\n if (currentSession.shopSession) {\n return (\n \n );\n } else if (!currentSession.isInternal) {\n return ;\n } else {\n return (\n \n );\n }\n }}\n />\n \n \n \n \n \n \n \n \n \n );\n}\n\nfunction AppLoader({\n error,\n loadingMessage,\n}: {\n error?: string;\n loadingMessage?: string;\n}) {\n return (\n \n \n
\n {!error && }\n {error && (\n <>\n \n \n \n )}\n
\n
\n
\n );\n}\n","import React from 'react';\nimport { Icon } from 'antd';\n\nexport const OutdatedBrowser = () => (\n
\n \n

Your browser is out-of-date

\n

You need to update your browser to use the site.

\n
\n);\n","// These are polyfills and must be imported first\nimport 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport './styles/base.scss';\nimport './styles/antDesign.less';\nimport { App } from './components/app/app';\nimport { OutdatedBrowser } from './components/outdatedBrowser/OutdatedBrowser';\nimport rg4js from 'raygun4js';\nimport Bowser from 'bowser';\n\nconst browser = Bowser.getParser(window.navigator.userAgent);\nconst isValidBrowser = browser.satisfies({\n ie: '>=11',\n});\n\n// isValidBrowser will be false for outdated browsers, otherwise undefined or true\nif (isValidBrowser === false) {\n ReactDOM.render(, document.getElementById('root'));\n} else {\n ReactDOM.render(, document.getElementById('root'));\n}\n\nif (process.env.NODE_ENV === 'production') {\n rg4js('enableCrashReporting', true);\n rg4js('apiKey', 'mKUWotb5c5ssLVISUUvBQ');\n rg4js('options', { ignoreAjaxError: true, ignoreAjaxAbort: true });\n rg4js('setVersion', process.env.REACT_APP_VERSION!);\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"checkout_content__10i-V\",\"placeOrderContainer\":\"checkout_placeOrderContainer__29VS9\",\"formInputElement\":\"checkout_formInputElement__3Jja8\",\"vendorOptionContainer\":\"checkout_vendorOptionContainer__3Fa7y\",\"vendorOptionPickerWrapper\":\"checkout_vendorOptionPickerWrapper__2fNr-\",\"addressTitleContainer\":\"checkout_addressTitleContainer__2528b\",\"addressTitle\":\"checkout_addressTitle__146ta\",\"floatRight\":\"checkout_floatRight__2GAm-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"headerSorter\":\"table_headerSorter__sI0DO\",\"headerSorterIconUp\":\"table_headerSorterIconUp__2CLtr\",\"headerSorterIconDown\":\"table_headerSorterIconDown__JXnak\",\"headerSorterIconActive\":\"table_headerSorterIconActive__1MLLP\",\"headerContent\":\"table_headerContent__3Awy2\",\"rowSelectable\":\"table_rowSelectable__2oR0g\",\"skeleton\":\"table_skeleton__c5pJX\",\"empty\":\"table_empty__1d5a0\",\"paginationWrapper\":\"table_paginationWrapper__3sVqg\",\"textAlignRight\":\"table_textAlignRight__kere6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"matrixOrderSummary_container__1xl3u\",\"rows\":\"matrixOrderSummary_rows__1i08Q\",\"actionsCell\":\"matrixOrderSummary_actionsCell__3L-oZ\",\"updateCartContainer\":\"matrixOrderSummary_updateCartContainer__QafWR\",\"totalSummary\":\"matrixOrderSummary_totalSummary__1Gj-u\",\"totalEntry\":\"matrixOrderSummary_totalEntry__2kfN5\",\"totalEntryLabel\":\"matrixOrderSummary_totalEntryLabel__3FXZv\",\"totalEntryValue\":\"matrixOrderSummary_totalEntryValue__tTfmv\",\"updateCartButton\":\"matrixOrderSummary_updateCartButton__TqFgb\"};","export const defaultWidgetColors = [\n '#8ED1FC',\n '#0693E3',\n '#FF6900',\n '#FCB900',\n '#7BDCB5',\n '#00D084',\n '#ABB8C3',\n '#EB144C',\n '#F78DA7',\n '#9900EF',\n];\n","import React, { useState } from 'react';\nimport { Checkbox, Button, Input } from 'antd';\nimport { Table, Column } from 'react-virtualized';\nimport { useEffect } from 'react';\nimport { useApiResource, ApiRequest } from '../../hooks/useApi';\nimport { LoadingIndicator } from '../loadingIndicator/loadingIndicator';\nimport { ApiErrorDetails } from '../apiErrorDetails/apiErrorDetails';\nimport { useI18n } from '../../hooks/useI18n';\nimport { messages } from '../../messages';\n\ntype CategoryOption = {\n id: number;\n erpId: string;\n name: string;\n branchName: string;\n};\n\nexport function ArticleCategoryPicker({\n categoryIds,\n branchIds,\n onChange,\n categoryRequestFactory,\n}: {\n categoryIds: number[];\n branchIds?: number[];\n onChange: (selectedCategoryIds: number[]) => void;\n categoryRequestFactory: (\n branchIds: number[],\n ) => () => ApiRequest;\n}) {\n const { t } = useI18n();\n const [filter, setFilter] = useState('');\n const availableCategories = useApiResource(\n categoryRequestFactory(branchIds ?? []),\n );\n\n useEffect(() => {\n if (branchIds !== undefined && !branchIds.length) {\n availableCategories.reset();\n } else {\n availableCategories.refresh();\n }\n }, [branchIds]);\n const selectableCategories =\n availableCategories.data === undefined\n ? []\n : availableCategories.data\n .filter(\n (c) =>\n c.name.toLowerCase().includes(filter.toLowerCase()) ||\n c.erpId.toLowerCase().includes(filter.toLowerCase()),\n )\n .map((c) => {\n return {\n id: c.id,\n name: c.name,\n erpId: c.erpId,\n branch: c.branchName,\n selected: categoryIds.includes(c.id),\n };\n });\n\n const selectedCategoryIds =\n availableCategories.data === undefined\n ? []\n : availableCategories.data\n .filter((c) => categoryIds.includes(c.id))\n .map((c) => {\n return {\n id: c.id,\n name: c.name,\n erpId: c.erpId,\n branch: c.branchName,\n selected: categoryIds.includes(c.id),\n };\n });\n\n function handleSelectCategory(catId: number) {\n if (categoryIds.includes(catId)) {\n onChange(categoryIds.filter((c) => c !== catId));\n } else {\n onChange([...categoryIds, catId]);\n }\n }\n\n return (\n <>\n setFilter(e.target.value)}\n style={{ width: '275px', marginBottom: '10px' }}\n allowClear={true}\n />\n
\n
\n Available\n selectableCategories[index]}\n rowStyle={{ display: 'flex' }}\n headerStyle={{ display: 'flex' }}\n noRowsRenderer={() => (\n \n {availableCategories.error && (\n \n )}\n {!availableCategories.error &&\n availableCategories.isLoading && }\n {!availableCategories.error && availableCategories.hasResponse\n ? t(messages.reports.categories.noMatchingCategories)\n : t(messages.reports.categories.selectABranch)}\n
\n )}\n rowRenderer={({ style, rowData }) => {\n return (\n
\n \n handleSelectCategory(rowData.id)}\n checked={rowData.selected}\n >\n \n {rowData.erpId}\n \n {rowData.name}\n \n {rowData.branch}\n
\n );\n }}\n >\n \n \n \n \n \n onChange(selectableCategories.map((c) => c.id))}\n >\n {t(messages.reports.categories.selectAll)}\n \n
\n
\n Selected\n selectedCategoryIds[index]}\n rowStyle={{ display: 'flex' }}\n headerStyle={{ display: 'flex' }}\n noRowsRenderer={() => (\n \n {t(messages.reports.categories.noCategoriesSelected)}\n
\n )}\n rowRenderer={({ style, rowData }) => {\n return (\n
\n \n handleSelectCategory(rowData.id)}\n checked={rowData.selected}\n >\n \n {rowData.erpId}\n \n {rowData.name}\n \n {rowData.branch}\n
\n );\n }}\n >\n \n \n \n \n \n {\n onChange([]);\n }}\n >\n {t(messages.reports.categories.clear)}\n \n \n \n \n );\n}\n","import { useRef, useEffect, useCallback, useState } from 'react';\nimport debounce from 'lodash.debounce';\n\ntype SetCallback = (newValue: T) => void;\n\nexport function useDebounceValueCallback(\n originalValue: T,\n setCallback: SetCallback,\n debounceTimeout = 350,\n) {\n const [value, setValue] = useState(originalValue);\n const callback = useRef | undefined>(setCallback);\n const isRunning = useRef(false);\n\n useEffect(() => {\n callback.current = setCallback;\n }, [setCallback]);\n\n useEffect(() => {\n setValue(originalValue);\n }, [originalValue]);\n\n useEffect(() => {\n return () => {\n isRunning.current = false;\n callback.current = undefined;\n };\n }, []);\n\n const debounceSet = useCallback(\n debounce((newValue: T) => {\n if (!isRunning.current || !callback.current) {\n return;\n }\n callback.current(newValue);\n }, debounceTimeout),\n [],\n );\n\n const debouncedSetValue = useCallback((newValue: T) => {\n isRunning.current = true;\n setValue(newValue);\n debounceSet(newValue);\n }, []);\n\n return [value, debouncedSetValue] as [T, SetCallback];\n}\n","import React, { useState, useEffect } from 'react';\nimport { Radio, Select } from 'antd';\nimport { useI18n } from '../../hooks/useI18n';\nimport { messages } from '../../messages';\nimport { TimePeriodType } from '../../types';\n\ntype State = {\n periodType: TimePeriodType;\n selectablePeriods: string[];\n selectedPeriods: string[];\n};\n\nexport function TimePeriodPicker({\n currentYear,\n selectedTimePeriods,\n selectedTimePeriodsType,\n onChange,\n}: {\n currentYear?: number;\n selectedTimePeriods?: string[];\n selectedTimePeriodsType?: TimePeriodType;\n onChange: (timePeriods: { type: TimePeriodType; periods: string[] }) => void;\n}) {\n const { t } = useI18n();\n const yearOptions = Array.from(Array(5).keys()).map((k) =>\n (currentYear ?? new Date().getFullYear() - k).toString(),\n );\n\n const months = Array.from(Array(12).keys()).map((k) =>\n k < 9 ? `0${k + 1}` : (k + 1).toString(),\n );\n const monthOptions = yearOptions.flatMap((y) =>\n months.map((m) => `${y}-${m}`),\n );\n\n const quarters = Array.from(Array(4).keys()).map((k) => (k + 1).toString());\n const quarterOptions = yearOptions.flatMap((y) =>\n quarters.map((q) => `${y}-${q}`),\n );\n\n const selectablePeriodsForType: Record = {\n [TimePeriodType.Yearly]: yearOptions,\n [TimePeriodType.Quarterly]: quarterOptions,\n [TimePeriodType.Monthly]: monthOptions,\n };\n\n const initialState: State = {\n periodType: TimePeriodType.Yearly,\n selectablePeriods: selectablePeriodsForType[TimePeriodType.Yearly],\n selectedPeriods: selectedTimePeriods ?? [],\n };\n\n const [state, setState] = useState(initialState);\n\n useEffect(() => {\n setState({\n ...state,\n selectedPeriods: selectedTimePeriods ?? [],\n periodType: selectedTimePeriodsType ?? TimePeriodType.Yearly, // SelectedTimePeriodsType is a string from the server, convert to type\n });\n }, [selectedTimePeriods]);\n\n useEffect(() => {\n onChange({ type: state.periodType, periods: state.selectedPeriods });\n }, [state]);\n\n return (\n <>\n {\n setState({\n periodType: e.target.value as TimePeriodType,\n selectedPeriods: [],\n selectablePeriods:\n selectablePeriodsForType[e.target.value as TimePeriodType],\n });\n }}\n value={state.periodType}\n >\n Year\n Quarter\n Month\n \n {\n setState({ ...state, selectedPeriods: e });\n }}\n showArrow={true}\n allowClear={true}\n >\n {state.selectablePeriods.map((p) => (\n \n {p}\n \n ))}\n \n \n );\n}\n","import { HttpClient } from '../useHttpClient';\nimport { ApiSettings } from '../../api/apiSettings';\n\nexport interface Dependencies {\n apiSettings: ApiSettings;\n httpClient: HttpClient;\n}\n\nexport interface ApiError {\n readonly message: string;\n readonly errors: string[];\n readonly status: number;\n}\n\nexport enum HttpStatusCode {\n InternalServerError = 500,\n}\n\nexport type ApiResponse =\n | {\n readonly error: ApiError;\n readonly result?: never;\n }\n | {\n readonly error?: never;\n readonly result: T;\n };\n\nexport type ApiRequest = (\n dependencies: Dependencies,\n) => Promise>;\n","import { useState, useRef, useEffect } from 'react';\nimport { ApiRequest, ApiError, ApiResponse } from './types';\nimport { useHttpClient } from '../useHttpClient';\nimport { useApiSettings } from './useApiSettings';\n\nexport const useApiRequests = (\n apiRequestFactory: (...args: A) => ApiRequest,\n) => {\n const httpClient = useHttpClient();\n const apiSettings = useApiSettings();\n const isMounted = useRef(true);\n const latestRequestIdentifier = useRef();\n const [isLoading, setLoading] = useState(false);\n\n const sendRequest = async (\n args: any,\n onSuccess?: (result: R) => void,\n onError?: (error: ApiError) => void,\n onResponse?: (response: ApiResponse) => void,\n ) => {\n const requestId = Symbol();\n latestRequestIdentifier.current = requestId;\n\n setLoading(true);\n\n const apiRequest = apiRequestFactory(...args);\n const response = await apiRequest({\n httpClient,\n apiSettings,\n });\n\n if (!isMounted.current) {\n return;\n }\n\n if (onResponse) {\n onResponse(response);\n }\n\n if (response.error !== undefined) {\n if (onError) {\n onError(response.error);\n }\n } else if (onSuccess) {\n onSuccess(response.result);\n }\n\n if (requestId === latestRequestIdentifier.current && isMounted.current) {\n setLoading(false);\n }\n };\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n const create = ({\n onSuccess,\n onError,\n onResponse,\n }: {\n onSuccess?: (result: R) => void;\n onError?: (error: ApiError) => void;\n onResponse?: (response: ApiResponse) => void;\n }) => ({\n send: (...args: A) => {\n sendRequest(args, onSuccess, onError, onResponse);\n },\n });\n\n const update = ({\n onSuccess,\n onError,\n onResponse,\n }: {\n onSuccess?: (result: R) => void;\n onError?: (error: ApiError) => void;\n onResponse?: (response: ApiResponse) => void;\n }) => ({\n send: (...args: A) => {\n sendRequest(args, onSuccess, onError, onResponse);\n },\n });\n\n return { isLoading, create, update };\n};\n","import { useState, useRef, useEffect } from 'react';\nimport { ApiRequest, ApiError } from './types';\nimport { useHttpClient } from '../useHttpClient';\nimport { useApiSettings } from './useApiSettings';\n\nexport const useApiResource = (\n apiRequestFactory: (...args: A) => ApiRequest,\n options?: { emptyValue?: E; clearDataOnLoad?: boolean },\n) => {\n const clearDataOnLoad = options?.clearDataOnLoad ?? true;\n const httpClient = useHttpClient();\n const apiSettings = useApiSettings();\n const isMounted = useRef(true);\n const latestRequestIdentifier = useRef();\n const [isLoading, setLoading] = useState(false);\n const [data, setData] = useState(options?.emptyValue);\n const [error, setError] = useState();\n const [hasResponse, setHasResponse] = useState();\n const emptyValue = options?.emptyValue;\n\n const reset = (value?: E) => {\n setData(value ?? emptyValue);\n setError(undefined);\n setLoading(false);\n setHasResponse(false);\n latestRequestIdentifier.current = undefined;\n };\n\n const refresh = async (...args: A) => {\n setLoading(true);\n\n if (clearDataOnLoad) {\n setData(emptyValue);\n }\n\n const currentRequestId = Symbol();\n latestRequestIdentifier.current = currentRequestId;\n\n const apiRequest = apiRequestFactory(...args);\n const { result, error } = await apiRequest({\n httpClient,\n apiSettings,\n });\n\n if (\n currentRequestId !== latestRequestIdentifier.current ||\n !isMounted.current\n ) {\n return;\n }\n\n setHasResponse(true);\n\n if (error !== undefined) {\n setError(error);\n setData(emptyValue);\n } else {\n setError(undefined);\n setData(result as any);\n }\n\n setLoading(false);\n };\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return { isLoading, data, error, hasResponse, refresh, reset } as {\n isLoading: boolean;\n data: E;\n error: ApiError | undefined;\n hasResponse: boolean;\n refresh: (...args: A) => void;\n reset: (val?: E) => void;\n };\n};\n","import React from 'react';\nimport emptySvg from './empty.svg';\nimport styles from './emptyIndicator.module.scss';\n\ninterface EmptyIndicatorProps {\n description: string;\n}\n\nexport const EmptyIndicator = ({ description }: EmptyIndicatorProps) => (\n
\n \n
{description}
\n
\n);\n","import moment from 'moment';\nimport React from 'react';\nimport { OrderDelivery } from '../../../../api/ordersApi';\nimport { Radio, DatePicker, Select, Tooltip } from 'antd';\nimport { useField } from 'formik';\nimport { useI18n } from '../../../../hooks/useI18n';\n\nexport enum DeliveryDateOptionType {\n SetDate = 0,\n Upcoming = 1,\n}\n\nexport const DeliveryDatePicker = ({\n name,\n upcomingDeliveries,\n earliestDate,\n nonWorkingDates: nonWorkingDays,\n showToday,\n disabled,\n disabledTooltip,\n}: {\n name: string;\n upcomingDeliveries?: OrderDelivery[];\n earliestDate?: Date;\n nonWorkingDates: Date[];\n showToday?: boolean;\n disabled: boolean;\n disabledTooltip: string;\n}) => {\n const [field, , helpers] = useField<{\n type: number;\n d1?: moment.Moment;\n d2?: number;\n }>(name);\n const { formatDate, t } = useI18n();\n\n const RadioGroupTooltip = ({ children }: { children: React.ReactNode }) =>\n disabled ? (\n \n {children}\n \n ) : (\n <>{children}\n );\n\n return (\n \n {\n helpers.setValue({ ...field.value, type: e.target.value });\n }}\n value={field.value.type}\n disabled={disabled}\n >\n \n Pick a date \n {\n if (d?.isBefore(earliestDate, 'day')) return true;\n\n return nonWorkingDays.some((nwd) => d?.isSame(nwd, 'day'));\n }}\n value={field.value.d1}\n onChange={(v) => {\n helpers.setValue({\n ...field.value,\n type: DeliveryDateOptionType.SetDate,\n d1: v ?? undefined,\n });\n }}\n allowClear={false}\n disabled={disabled || earliestDate === undefined}\n showToday={showToday !== undefined ? showToday : true}\n />\n \n {!!upcomingDeliveries?.length && (\n \n Deliver together with \n \n onChange={(v) => {\n helpers.setValue({\n ...field.value,\n type: DeliveryDateOptionType.Upcoming,\n d2: v,\n });\n }}\n value={field.value.d2}\n disabled={disabled}\n >\n {upcomingDeliveries.map((d) => (\n \n {formatDate(d.deliveryDate)} ({d.orderNumber})\n \n ))}\n \n \n )}\n \n \n );\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"checkout_content__18p7T\",\"placeOrderContainer\":\"checkout_placeOrderContainer__3OQHJ\",\"formInputElement\":\"checkout_formInputElement__584LO\",\"vendorOptionContainer\":\"checkout_vendorOptionContainer__2aOP6\",\"vendorOptionPickerWrapper\":\"checkout_vendorOptionPickerWrapper__2XhSf\",\"addressTitleContainer\":\"checkout_addressTitleContainer__3Zhf4\",\"addressTitle\":\"checkout_addressTitle__342v-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"articleNumber\":\"orderRows_articleNumber__1WCPx\",\"articleDescription\":\"orderRows_articleDescription__2nBbR\",\"cell\":\"orderRows_cell__iop3v\"};","import React from 'react';\nimport { Form } from 'antd';\n\nexport function FormItem({\n label,\n help,\n className,\n validateStatus,\n children,\n}: {\n label?: React.ReactNode;\n help?: React.ReactNode;\n className?: string;\n validateStatus?: 'error' | 'success' | 'warning' | 'validating';\n children: React.ReactNode;\n}) {\n return (\n \n {children}\n \n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"baseLayout\":\"userCustomerPicker_baseLayout__1004n\",\"card\":\"userCustomerPicker_card__3fq31\",\"content\":\"userCustomerPicker_content__2yiOa\",\"cardContent\":\"userCustomerPicker_cardContent__uIkNc\",\"cardTitles\":\"userCustomerPicker_cardTitles__zNvrD\",\"cardTitle\":\"userCustomerPicker_cardTitle__ju671\",\"cardSubTitle\":\"userCustomerPicker_cardSubTitle__3Lgvd\",\"iconContainer\":\"userCustomerPicker_iconContainer__3Zano\"};","import { Input, Icon } from 'antd';\nimport React from 'react';\n\nexport function SearchInput({\n value,\n placeholder,\n autoFocus,\n onChange,\n}: {\n autoFocus?: boolean;\n value: string;\n placeholder: string;\n onChange: (value: string) => void;\n}) {\n return (\n }\n placeholder={placeholder}\n allowClear={true}\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck={false}\n value={value}\n autoFocus={autoFocus}\n onChange={(e) => {\n onChange(e.target.value);\n }}\n />\n );\n}\n","/* eslint-disable react-hooks/rules-of-hooks */\nimport { useState, useMemo } from 'react';\nimport constate from 'constate';\nimport { Currency } from '../../../types';\n\nfunction articleCartModalStore() {\n const [articleId, setArticleId] = useState();\n const [displayCurrency, setDisplayCurrency] = useState();\n\n function showArticle(id: number, currency?: Currency) {\n setArticleId(id);\n setDisplayCurrency(currency);\n }\n\n function hideArticle() {\n setArticleId(undefined);\n }\n\n // Memoize to only update consumers when specified deps changes\n return useMemo(\n () => ({\n articleId,\n displayCurrency,\n showArticle,\n hideArticle,\n setDisplayCurrency,\n }),\n [articleId, displayCurrency],\n );\n}\n\nconst [ArticleCartModalStoreProvider, useArticleCartModalStore] = constate(\n articleCartModalStore,\n);\nexport { ArticleCartModalStoreProvider, useArticleCartModalStore };\n","import { ApiRequest } from '../hooks/useApi';\nimport { ArticleType, PagedResult } from '../types';\n\nexport const articlesApi = {\n getArticle:\n (id: number, includeFrozen?: boolean): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(apiSettings.articleUri(id), {\n params: { includeFrozen },\n });\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: {\n ...response.data,\n syncError: response.headers.syncerror,\n },\n };\n }\n },\n\n getArticles:\n (options: GetArticlesOptions): ApiRequest> =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(apiSettings.articlesUri, {\n params: {\n searchQuery: options.filterValues.searchQuery,\n assortmentId: options.filterValues.assortmentId,\n sortBy: options.sortBy,\n sortDesc: options.sortDesc,\n limit: options.pageSize,\n offset: (options.page - 1) * options.pageSize,\n displayCurrencyId: options.displayCurrencyId,\n },\n });\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: {\n items: response.data.result,\n totalItems: response.data.total,\n },\n };\n }\n },\n\n getArticlePrices:\n (id: number, displayCurrency: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(apiSettings.articlePricesUri(id), {\n params: { displayCurrency },\n });\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: response.data,\n };\n }\n },\n};\n\nexport interface ArticleDetails {\n id: number;\n articleNumber: string;\n articleStocks: ArticleBranchStock[];\n colorName?: string;\n currencyCode: string;\n currencyPriceDecimalPlaces: number;\n description: string;\n extraDescription: string;\n frozen: boolean;\n hasImage: boolean;\n displayPrice: number;\n quantityDecimalPlaces: number;\n quantityPerUnit: string;\n sizeName?: string;\n unit: string;\n syncError: string;\n type: ArticleType;\n useStockLocations: boolean;\n variants?: MatrixVariantSummary[];\n}\n\nexport interface ArticleBranchStock {\n articleStockLocations: ArticleStock[];\n branchId: number;\n branchName: string;\n branchNumber: string;\n}\n\nexport interface ArticleStock {\n locationName: string;\n locationNumber: string;\n orderIn: number;\n orderOut: number;\n quantity: number;\n stockType: string | null;\n}\n\nexport interface MatrixVariantSummary {\n id: number;\n articleNumber: string;\n colorName: string;\n colorCode: string;\n frozen: boolean;\n hasMultipleLocationStock: boolean;\n sizeName: string;\n sizeCode: string;\n stockLocations: ArticleStock[];\n displayPrice: number;\n priceDecimals: number;\n quantityDecimals: number;\n}\n\nexport interface ArticleListItem {\n id: number;\n articleNumber: string;\n description: string;\n erpText1: string;\n type: ArticleType;\n displayPrice: number;\n unit: string;\n inStock: number;\n inOrder: number;\n available: number;\n quantityDecimalPlaces: number;\n hasImage: boolean;\n}\n\ninterface GetArticlesOptions {\n page: number;\n pageSize: number;\n sortDesc: boolean;\n sortBy: keyof ArticleListItem;\n filterValues: ArticleFilterValues;\n displayCurrencyId?: number;\n}\n\nexport interface ArticleFilterValues {\n searchQuery: string;\n assortmentId?: number;\n}\n\nexport interface ArticlePrice {\n articleId: number;\n price: number;\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inputRow\":\"reports_inputRow__T5V5a\",\"width100\":\"reports_width100___zwi-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"updateArticleLineItem_container__2kHBG\",\"totalSummary\":\"updateArticleLineItem_totalSummary__16dUJ\",\"totalEntry\":\"updateArticleLineItem_totalEntry__381Al\",\"totalEntryLabel\":\"updateArticleLineItem_totalEntryLabel__ywWXj\",\"totalEntryValue\":\"updateArticleLineItem_totalEntryValue__37Kv_\",\"quantityError\":\"updateArticleLineItem_quantityError__2zgwj\"};","import { ApiRequest } from '../hooks/useApi';\nimport { Address, PagedResult } from '../types';\n\nexport interface Customer {\n id: number;\n branchErpId: string;\n erpId: string;\n name: string;\n}\n\nexport interface CustomerDetails {\n id: number;\n branchErpId: string;\n erpId: string;\n name: string;\n telephone: string;\n fax: string;\n address: Address;\n reference: string;\n customerType: string;\n currencyCode: string;\n invoiceCustomerId?: number;\n invoiceCustomerErpId: string;\n invoiceCustomerName: string;\n deliveryTermName: string;\n deliveryMethodName: string;\n widgetConfigurations: WidgetConfiguration[];\n customerGeneralSettings: CustomerGeneralSettings;\n}\n\nexport interface WidgetConfiguration {\n widgetType: CustomerWidgetType;\n disabled: boolean;\n}\n\nexport enum CustomerWidgetType {\n ProductStatisticsReport,\n AwaitingDeliveries,\n CustomerOrdersReport,\n}\n\nexport const translateWidgetType = (type: CustomerWidgetType): string => {\n switch (type) {\n case CustomerWidgetType.ProductStatisticsReport:\n return 'Product statistics report';\n case CustomerWidgetType.AwaitingDeliveries:\n return 'Awaiting deliveries';\n case CustomerWidgetType.CustomerOrdersReport:\n return 'Customer orders report';\n default:\n return 'Widget type missing name';\n }\n};\n\nexport const internalCustomersApi = {\n getCustomer:\n (id: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(\n apiSettings.internalCustomerUri(id),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n\n return {\n result: response.data,\n };\n },\n\n getCustomerDetails:\n (id: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(\n apiSettings.internalCustomerDetailsUri(id),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n\n return {\n result: response.data,\n };\n },\n\n getCustomersById:\n (customerIds?: number[]): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(apiSettings.internalCustomersUri, {\n params: { customerIds },\n });\n\n if (response.hasError) {\n return { error: response.error };\n }\n\n return {\n result: response.data,\n };\n },\n\n getCustomers:\n (\n branchId: number,\n includeAllBranches: boolean,\n query: string,\n ): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(\n apiSettings.internalCustomersSearchUri,\n {\n params: { query, branchId, includeAllBranches },\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n\n return {\n result: response.data,\n };\n },\n\n getAllCustomers:\n (\n options: GetAllCustomersOptions,\n ): ApiRequest> =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(\n apiSettings.internalSimpleCustomersUri,\n {\n params: {\n branchId: options.branchId,\n includeAllBranches: options.includeAllBranches,\n searchQuery: options.searchQuery,\n limit: options.pageSize,\n offset: (options.page - 1) * options.pageSize,\n pageSize: options.pageSize,\n sortDesc: options.sortDesc,\n sortKey: options.sortKey,\n },\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n\n return {\n result: {\n items: response.data.result,\n totalItems: response.data.total,\n },\n };\n },\n disableWidget:\n (customerId: number, widgetType: CustomerWidgetType): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.post(\n apiSettings.disableCustomerWidget(customerId, widgetType),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n enableWidget:\n (customerId: number, widgetType: CustomerWidgetType): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.post(\n apiSettings.enableCustomerWidget(customerId, widgetType),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n\n saveGeneralSettings:\n (customerId: number, settings: CustomerGeneralSettings): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.post(\n apiSettings.updateCustomerGeneralSettings(customerId),\n {\n data: settings,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n};\n\nexport interface CustomerGeneralSettings {\n adminCostOnCheckout: boolean;\n}\n\nexport interface CustomerListItem {\n id: number;\n name: string;\n erpId: string;\n}\n\ninterface GetAllCustomersOptions {\n searchQuery: string;\n branchId: number;\n includeAllBranches: boolean;\n page: number;\n pageSize: number;\n sortDesc: boolean;\n sortKey: keyof CustomerListItem;\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"articleModal_modal__2Aizc\",\"page\":\"articleModal_page__iHXK9\",\"topContent\":\"articleModal_topContent__3yYXK\",\"bottomContent\":\"articleModal_bottomContent__7s2F-\",\"bottomStockWrapper\":\"articleModal_bottomStockWrapper__2fFL3\",\"blockDivider\":\"articleModal_blockDivider__UI0Lp\",\"articleOrderWrapper\":\"articleModal_articleOrderWrapper__1npMy\"};","import { createMessages } from './hooks/useI18n';\n\nexport const { messages, defaultTranslations } = createMessages({\n shared: {\n expandTable: 'Expand table',\n quantity: 'Quantity',\n batchNumber: 'Batch no',\n price: 'Price',\n update: 'Update',\n search: 'Search',\n searchArticleNumber: 'Product',\n searchPlaceholder: 'Search ...',\n searchName: 'Name ...',\n searchArticleNoPlaceholder: 'Product number ...',\n searchErpIdNamePlaceholder: 'Erp id or name ...',\n searchEmailNamePlaceholder: 'Email or name ...',\n excludeCustomerTypePlaceholder: 'Customer type ...',\n excludeCustomerTypeTitle: 'Exclude customer type(s)',\n shrinkTable: 'Shrink table',\n login: 'Login',\n logout: 'Logout',\n development: 'Development',\n settings: 'Settings',\n widgetsAccess: 'Widget access',\n otherInformation: 'Other information',\n stockType: 'Stock type',\n noDataAvailable: 'No data available',\n details: 'Details',\n showDetails: 'Show details',\n hideDetails: 'Hide details',\n hide: 'Hide',\n loadMore: 'Load more',\n noItems: 'No items',\n listingItemsCount: 'Listing {count} items',\n all: 'All',\n standard: 'Standard',\n sortBy: 'Sort by',\n unknown: 'Unknown',\n customer: 'Customer',\n generalCustomerSettings: 'General customer settings',\n switchLogin: 'Switch login',\n selectLogin: 'Select login',\n endImpersonation: 'End impersonation',\n country: 'Country',\n brand: 'Brand',\n total: 'Total',\n remaining: 'Remaining',\n totalPrice: 'Total price',\n totalQuantity: 'Total quantity',\n assortmentAdminCostDescription: 'Administration handling fee below',\n quantityAdjusted:\n 'Quantity has been adjusted since the quantity per delivered unit is {qtyPerUnit}',\n quantityAdjustedInfo:\n 'The quantity of some articles have been adjusted to match the quantity per delivered unit',\n default: 'Default',\n branch: 'Branch',\n email: 'Email',\n telephone: 'Telephone',\n fax: 'Fax',\n reference: 'Reference',\n references: 'Reference(s)',\n showAll: 'Show all',\n currency: 'Currency',\n orderCurrency: 'Order currency',\n status: 'Status',\n type: 'Type',\n export: 'Export',\n project: 'Project',\n projects: 'Project(s)',\n assortment: 'Assortment',\n error: 'Error',\n internalServerError:\n 'The issue has been reported and we are working on a solution',\n file: 'File',\n optional: 'Optional',\n download: 'Download',\n save: 'Save',\n show: 'Show',\n chooseFile: 'Choose file',\n createNew: 'Create new',\n created: 'Created',\n language: 'Language',\n name: 'Name',\n done: 'Done',\n add: 'Add',\n remove: 'Remove',\n delete: 'Delete',\n copy: 'Copy',\n clearSelection: 'Clear selection',\n removeConfirmation: 'Remove {name}?',\n deleteConfirmation: 'Delete {name}?',\n selectionCount: '{count} selected',\n confirmation: 'Are you sure?',\n deleteSelected: 'Delete selected',\n selectAll: 'Select all',\n unselectAll: 'Unselect all',\n categories: 'Categories',\n orderTypes: 'Order type(s)',\n deliveryStatuses: 'Delivery status(es)',\n color: 'Color',\n syncSchedule: 'Sync schedule',\n },\n\n assortment: {\n assortment: 'Assortment',\n assortments: 'Assortments',\n subAssortment: 'Sub-assortment',\n displayFrozenArticles: 'Display frozen articles',\n copyAssortment: 'Copy assortment {assortmentName} from branch {branch}',\n copyAssortmentResult: 'Assortment copy result',\n createAssortment: 'Create assortment',\n createSubAssortment: 'Create sub-assortment',\n addArticles: 'Add products',\n clearArticles: 'Clear products',\n deleteAssortments: 'Delete assortments',\n deleteArticleFromSelected: 'Delete product from assortment',\n useStockLocations: 'Show local multistock only',\n useLocalBranchStock: 'Show local branch stock only',\n useStockBatch: 'Enable batching for supported articles',\n allowAutomaticOrder: 'Allow automatic order',\n allowAutomaticOrderOnIncomingStock:\n 'Allow incoming stock dates on automatic orders',\n useAutomaticQuantityAdjustment:\n 'Automatically adjust cart quantity to match quantity per unit',\n activateAdminPriceThreshold: 'Add administrator cost on checkout',\n assortmentCurrency: 'Currency',\n adminPrice: 'Price',\n currencyDepends: 'Depends on branch',\n adminPriceTriggerThreshold:\n 'Remove administrator cost if total order value is above',\n adminPriceCurrency:\n 'Price is calculated with the assortments branch currency and will be converted to the customers local currency on checkout',\n draftQuantityAdjustmentPercent:\n 'Draft order quantity adjustment allowed in percent',\n assortmentCopied: 'Assortment copied',\n assortmentCopiedSuccess: 'Assortment copied successfully',\n assortmentCreated: 'Assortment created',\n assortmentUpdated: 'Assortment updated',\n assortmentRemoved: 'Assortment deleted',\n assortmentsRemoved: 'Assortments deleted',\n assortmentArticlesAdded: 'Assortment products added',\n assortmentArticlesCleared: 'Assortment products cleared',\n assortmentArticleRemoved: 'Assortment product deleted',\n createChildAssortmentTitle:\n 'Create sub-assortment in {parentAssortmentName} ',\n assortmentRemovalWarning:\n 'Deleting an assortment will delete customer logins, sub-assortments and products',\n assortmentsRemovalWarning:\n 'Deleting assortments will delete its customer logins, sub-assortments and products. This action cannot be undone.',\n assortmentsRemoveConfirmation:\n 'You have selected {nrOfRows} row(s) for deletion',\n assortmentsArticleRemoveWarning:\n 'The selected product will be removed from the selected assortments. Are you sure?',\n assortmentsArticleRemoveConfirmation:\n 'You have selected {nrOfRows} assortment(s)',\n assortmentArticlesMissing: 'Articles missing',\n assortmentArticlesMissingWarning:\n 'Some articles could not be copied because they do not exist in the selected branches. Click the download button below to receive a full report.',\n assortmentArticlesMissingExport: 'Export list of missing articles',\n },\n\n customer: {\n unknown: 'Unknown',\n brand: 'Brand',\n vendor: 'Vendor',\n agent: 'Agent',\n internal: 'Internal',\n customerType: 'Customer type',\n invoiceCustomer: 'Invoice customer',\n adminCostThresholdLabel: 'Admin cost threshold',\n saveGeneralCustomerSettings: 'Save general customer settings',\n customerGeneralSettingsSaved: 'Customer settings saved!',\n },\n\n documents: {\n documents: 'Documents',\n name: 'Name',\n description: 'Description',\n generalDocuments: 'General documents',\n branchDocuments: 'Documents for {branch}',\n yourDocuments: 'Your documents',\n newDocument: 'New document',\n confirmRemoveDocument: 'Are you sure you want to remove this document?',\n removeDocument: 'Remove document',\n documentRemoved: 'Document removed',\n },\n\n notifications: {\n notifications: 'Notifications',\n name: 'Title',\n message: 'Message',\n newNotification: 'New notification',\n updateNotification: 'Update notification',\n confirmRemoveNotification:\n 'Are you sure you want to remove this notification?',\n removeNotification: 'Remove notification',\n notificationRemoved: 'Notification removed',\n },\n\n reports: {\n reports: 'Reports',\n articleStatistics: {\n report: 'Product statistics',\n validationMessage: 'Specify branch, category and time period',\n validationMessageBrand: 'Specify category and time period',\n },\n articleCategory: 'Product category',\n branchPlaceholder: 'Select branches',\n categories: {\n clear: 'Clear',\n selectAll: 'Select all',\n filterPlaceholder: 'Filter available categories',\n noMatchingCategories: 'No matching categories',\n selectABranch: 'Select a branch to show categories',\n noCategoriesSelected: 'No categories selected',\n },\n customerOrders: {\n report: 'Customer orders',\n validationMessage:\n 'Specify branch, category, customer type and time period',\n validationMessageBrand: 'Specify category and time period',\n },\n customerTypePlaceholder: 'Select customer types',\n downloadReport: 'Download report',\n exportArticles: 'Export articles',\n exportArticleVariants: 'Export articles with variants',\n currentLocation: '(Current location)',\n allLocations: '(All locations)',\n includeFrozenArticles: 'Include frozen products',\n includeImages: 'Include images',\n includeShortageList: 'Include shortage list',\n itemType: 'Item type',\n itemTypeFilter: 'Filter on item type',\n itemTypePlaceholder: 'Select item types',\n timePeriod: 'Time period',\n timePeriodPlaceholder: 'Select a time period',\n },\n\n article: {\n article: 'Product',\n articles: 'Products',\n articleNumber: 'Product no',\n articleNumberOrDescription: 'Product no or description',\n description: 'Description',\n extraDescription: 'Extra description',\n kit: 'Kit',\n matrix: 'Matrix',\n frozen: 'Frozen',\n frozenAlert: \"This article is frozen and can't be ordered\",\n size: 'Size',\n unit: 'Unit',\n color: 'Color',\n showSummary: 'Show summary',\n showTopContent: 'Show top content',\n hideSummary: 'Hide summary',\n hideTopContent: 'Hide top content',\n articleInformationTitle: 'Product information',\n articleCategory: 'Product category',\n },\n\n stock: {\n stock: 'Stock',\n location: 'Location',\n inStock: 'In stock',\n inOrder: 'In order',\n PO: 'PO',\n balance: 'Balance',\n available: 'Available',\n },\n\n cart: {\n cart: 'Cart',\n quantityInCart: 'Quantity in cart',\n checkout: 'Checkout',\n updateCart: 'Update cart',\n unavailableArticle: 'This product is no longer available',\n removeUnavailableArticles: 'Please remove unavailable products from cart',\n },\n\n order: {\n order: 'Order',\n orders: 'Orders',\n placeOrder: 'Place order',\n referenceOrderNumber: 'Reference order no',\n message: 'Message',\n careLabelPos: 'CareLabel PO´s',\n orderNumber: 'Order number',\n reference: 'Reference',\n externalReference: 'External reference',\n internalReference: 'Internal reference',\n orderDate: 'Order date',\n confirmedDeliveryDate: 'Confirmed delivery date',\n confirmedDate: 'Confirmed',\n latestDate: 'Latest',\n deliveryDate: 'Delivery date',\n deliveryDates: 'Delivery dates',\n deliveryStatus: 'Delivery status',\n progress: 'Progress',\n progresses: 'Progresses',\n unconfirmed: 'Unconfirmed',\n confirmed: 'Confirmed',\n undelivered: 'Undelivered',\n partiallyDelivered: 'Partially delivered',\n delivered: 'Delivered',\n unplaced: 'Unplaced',\n placed: 'Placed',\n awaitingDelivery: 'Awaiting delivery',\n billedTo: 'Billed to',\n paymentTerms: 'Payment terms',\n deliveryTerms: 'Delivery terms',\n deliveryMethod: 'Delivery method',\n noMessage: 'No message',\n row: 'Row',\n deliveryNote: 'Delivery note',\n invoiceNumber: 'Invoice number',\n placeAsVendor: 'Place order as vendor',\n orderPlacedTitle: 'Order was placed',\n orderTypeForecast: 'Forecast',\n orderTypeStandard: 'Standard',\n orderTypeSample: 'Call Off / SMS',\n orderTypeVariable: 'Carelabel',\n orderPlacedDescription:\n 'Your order has now been submitted and will be processed shortly. You can follow the progress of your order by checking your order history',\n trackingNumber: 'AWB number',\n updateOrder: 'Update order',\n orderType: 'Order type',\n placeVariableOrderTitle: 'Carelabel order',\n placeVariableOrderDescription:\n 'To check the current status, please follow the PO-links',\n contactName: 'Contact name',\n contactPhone: 'Contact phone',\n courierAccount: 'Courier account',\n selectAddress: 'Select address',\n origin: 'Origin',\n deliveryPickerDisabledTooltipOutOfStock:\n 'Only optional if articles are in stock',\n deliveryPickerDisabledTooltipMultiStock:\n 'Delivery date selection is not available for one or more products in cart',\n\n additionalFields: {\n title: 'Additional',\n brandName: 'Brand name',\n garmentType: 'Garment type',\n garmentQty: 'Garment quantity',\n segment: 'Segment',\n },\n season: 'Season',\n },\n\n address: {\n address: 'Address',\n addresses: 'Addresses',\n customAddress: 'New custom address',\n shipping: 'Shipping',\n billing: 'Billing',\n company: 'Company',\n address1: 'Address 1',\n address2: 'Address 2',\n city: 'City',\n postalCode: 'Postal code',\n country: 'Country',\n shippingTypeStandard: 'Standard',\n shippingTypeNewCustom: 'New',\n shippingTypeExistingCustom: 'Saved',\n },\n\n invoice: {\n invoices: 'Invoices',\n invoiceNumber: 'Invoice number',\n invoiceDate: 'Invoice date',\n dueDate: 'Due date',\n paid: 'Paid',\n unpaid: 'Unpaid',\n overdue: 'Overdue',\n },\n\n login: {\n logout: 'Logout',\n noAvailableLogins: 'No available customer logins',\n },\n\n session: {\n lockedTitle: 'Your customer account is locked due to overdue invoices',\n lockedDescription:\n 'See your statement in the webshop under Invoices. If you have any questions, please contact finance@rudholm-hk.se',\n maintenanceTitle: 'Country is undergoing planned maintenance',\n maintenanceDescription:\n 'We are currently undergoing a planned maintenance in this country, no orders can therefor be placed. Please try again later or contact customer service for more information.',\n },\n\n users: {\n user: 'User',\n users: 'Users',\n name: 'Name',\n email: 'Email',\n userUpdated: 'User updated',\n editUser: 'Edit user',\n customerLogins: 'Customer logins',\n customerLoginRemoveConfirmation: 'Delete this login?',\n customerLoginRemoved: 'Customer login deleted',\n customerLoginUpdated: 'Customer login updated',\n customerLoginsRemoved: 'Customer logins deleted',\n customerLoginsRemovalWarning:\n 'Are you sure you want to delete all selected customer logins? This action cannot be undone.',\n customerLoginsRemoveConfirmation:\n 'You have selected {nrOfRows} row(s) for deletion',\n },\n\n branches: {\n branches: 'Branches',\n copyToBranches: 'Copy to branches',\n },\n\n dashboard: {\n dashboard: 'Dashboard',\n welcome: 'Welcome',\n contactRH: 'Contact Rudholm',\n news: 'Latest news',\n invoices: {\n title: 'Overdue invoices',\n noneDue: 'No invoces are overdue',\n viewAll: 'View all invoices',\n viewAllUnpaid: 'View all unpaid invoices',\n },\n },\n\n validation: {\n mixed: {\n default: 'Invalid',\n required: 'Required field',\n oneOf: 'Must be one of the following values: {values}',\n notOneOf: 'Must not be one of the following values: {values}',\n notType: 'Must be a {type} type',\n },\n string: {\n length: 'Must be exactly {length} characters',\n min: 'Must be at least {min} characters',\n max: 'Must be at most {max} characters',\n matches: 'Must match the following: \"{regex}\"',\n email: 'Must be a valid email',\n url: 'Must be a valid URL',\n trim: 'Must be a trimmed string',\n lowercase: 'Must be a lowercase string',\n uppercase: 'Must be a upper case string',\n invalidChars: 'Contains invalid characters',\n },\n number: {\n min: 'Must be greater than or equal to {min}',\n max: 'Must be less than or equal to {max}',\n lessThan: 'Must be less than {less}',\n moreThan: 'Must be greater than {more}',\n notEqual: 'Must be not equal to {notEqual}',\n positive: 'Must be a positive number',\n negative: 'Must be a negative number',\n integer: 'Must be an integer',\n },\n date: {\n min: 'Must be later than {min}',\n max: 'Must be at earlier than {max}',\n },\n object: {\n noUnknown: 'Cannot have keys not specified in the object shape',\n },\n array: {\n min: 'Must have at least {min} items',\n max: 'Must have less than or equal to {max} items',\n },\n file: {\n maxSizeExceeded: 'File exceeds max size of {maxSize}',\n unsupportedFileType: 'File type is unsupported',\n multipleNotAllowed: 'Multiple files is not allowed',\n multipleMaxSizeExceeded: 'Total max size for files is exceeded',\n multipleMaxCountExceeded: 'Too many files selected',\n },\n },\n checkoutAdapter: {\n checkoutAdapters: 'Checkout Adapters',\n _3M: {\n addToCart: 'Add to cart',\n removeFromCart: 'Remove from cart',\n confirmRead: 'I have read, and agree to follow the ',\n confirmReadLink: '3M Scotchlite Product and Brand Usage Standards',\n cartIsFull: 'Your cart is currently full',\n clearCart: 'Clear cart',\n lineItemMessage: 'Cart',\n order: {\n poNumber: '3M PO-number or distributor name',\n brand: 'Brand',\n factory: 'Factory',\n reflectiveProduct: 'Reflective product',\n segment: 'Segment',\n contactName: 'Contact name',\n contactPhone: 'Contact phone',\n courierAccount: 'Courier account',\n message: 'Message',\n producedGarment: 'Produced garment',\n garmentType: 'Garment type',\n garmentQuantity: 'Garment quantity',\n quantity: 'Quantity',\n },\n unavailableProduct: 'Product is no longer available',\n },\n },\n orderMetaFields: {\n confirmRemoveMetaFieldOption:\n 'Are you sure you want to remove option {name}?',\n createOrderMetaFieldOption: 'Create option',\n editOrderMetaFields: 'Edit order meta fields',\n isAlreadyParentOption: 'Is already a parent option',\n isSubOption: 'Is suboption',\n orderMetaField: 'Order meta field',\n orderMetaFieldOptionCreated: 'Option {name} created',\n orderMetaFieldOptionRemoved: 'Option {name} removed',\n orderMetaFieldOptionUpdated: 'Option {name} updated',\n parentMetaField: 'Parent meta field',\n parentOption: 'Parent option',\n removeMetaFieldOption: 'Remove option',\n updateOrderMetaFieldOption: 'Update option',\n value: 'Value',\n },\n customers: {\n customers: 'Customers',\n },\n widgets: {\n widgets: 'Widgets',\n widgetType: 'Widget type',\n widgetCreated: 'Widget created',\n widgetUpdated: 'Widget updated',\n widgetRemoved: 'Widget removed',\n widgetNamePlaceholder: 'Name your widget',\n customerMustBeBrand: 'Widgets disabled, customer must be of type \"Brand\"',\n widgetRemovalWarning:\n 'Are you sure you want to remove this widget from your dashboard?',\n exportShortageList: 'Export shortage list',\n articlesInShortage: 'Articles in shortage',\n create: 'Create new widget',\n insufficientCompetence:\n 'Insufficient competence for this widget, please remove this widget and recreate a new one.',\n errorRetrievedWidget: 'Could not retrieve widget',\n categories: {\n selectCategory: 'Select a category',\n createCategory: 'Create new category',\n updateCategory: 'Update category',\n deleteCategory: 'Delete category',\n categoryCreated: 'Category created',\n categoryUpdated: 'Category updated',\n categoryRemoved: 'Category removed',\n removalWarning:\n 'Are you sure you want to remove this category? This will move all its widgets to uncategorized',\n customerRemovalWarning:\n 'Are you sure you want to remove this category? This will delete all the widgets within the category',\n noCategories: 'You have not created any categories',\n },\n lastGeneratedReportFailed:\n 'Last generated report failed, please try generating a new one. You can still download the last successfully generated report below.',\n pendingReport: 'There is currently one pending report',\n noReportsGeneratedYet: 'There are no generated reports yet for this widget',\n downloadExport: 'Download latest report',\n generated: 'Generated',\n awaitingDeliveries: {\n create: 'Create awaiting deliveries widget',\n update: 'Update awaiting deliveries widget',\n widgetText: 'Awaiting delivery orders',\n triggerExport: 'Export awaiting deliveries',\n },\n shortage: {\n create: 'Create shortage widget',\n update: 'Update shortage widget',\n triggerExport: 'Export shortage list',\n articlesInShortage: 'Articles in shortage',\n },\n delayedDeliveries: {\n create: 'Create delayed deliveries widget',\n update: 'Update delayed deliveries widget',\n widgetText: 'Delayed delivery orders',\n triggerExport: 'Export delayed deliveries',\n },\n productStatistics: {\n create: 'Create product statistics report widget',\n update: 'Update product statistics report widget',\n triggerExport: 'Trigger new product statistics report',\n newReportTriggered:\n 'A new product statistics report is now under construction',\n },\n customerOrdersReport: {\n triggerExport: 'Trigger new customer orders report',\n create: 'Create customer orders report widget',\n update: 'Update customer orders report widget',\n newReportTriggered:\n 'A new customer orders report is now under construction',\n },\n slowStock: {\n triggerExport: 'Trigger new slow stock report',\n create: 'Create slow stock widget',\n update: 'Update slow stock widget',\n newReportTriggered: 'A new slow stock report is now under construction',\n },\n },\n alarms: {\n addAlarm: 'Send email notifications',\n },\n});\n","import React, { useMemo } from 'react';\nimport { useI18n } from '../../hooks/useI18n';\nimport { messages } from '../../messages';\nimport { OrderType } from '../../types';\nimport { Select } from 'antd';\nimport style from './picker.module.scss';\n\nexport function OrderTypePicker({\n orderType,\n selectableOrderTypes,\n allowClear,\n onChange,\n}: {\n orderType?: number;\n selectableOrderTypes: OrderType[];\n allowClear: boolean;\n onChange: (selectedOrderType: number) => void;\n}) {\n const { t } = useI18n();\n\n const orderTypeOptions = useMemo(() => {\n const orderTypes = [];\n\n if (selectableOrderTypes.includes(OrderType.Standard)) {\n orderTypes.push({\n key: OrderType.Standard,\n label: t(messages.order.orderTypeStandard),\n });\n }\n\n if (selectableOrderTypes.includes(OrderType.Sample)) {\n orderTypes.push({\n key: OrderType.Sample,\n label: t(messages.order.orderTypeSample),\n });\n }\n\n if (selectableOrderTypes.includes(OrderType.Forecast)) {\n orderTypes.push({\n key: OrderType.Forecast,\n label: t(messages.order.orderTypeForecast),\n });\n }\n\n if (selectableOrderTypes.includes(OrderType.Variable)) {\n orderTypes.push({\n key: OrderType.Variable,\n label: t(messages.order.orderTypeVariable),\n });\n }\n\n return orderTypes;\n }, [t]);\n\n return (\n \n {orderTypeOptions.map((o) => (\n \n {o.label}\n \n ))}\n \n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"dashboard_header__l-HXp\",\"headerContent\":\"dashboard_headerContent__2wj8e\",\"pageContent\":\"dashboard_pageContent__2EkHh\",\"extraMargin\":\"dashboard_extraMargin__SbsaN\",\"widgetContainer\":\"dashboard_widgetContainer__2qhX5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"details_container__3S1PW\",\"imageWrapper\":\"details_imageWrapper__3tf3C\",\"image\":\"details_image__M7Lcr\",\"frozenAlert\":\"details_frozenAlert__1lgMq\",\"extraDescription\":\"details_extraDescription__2JBRf\",\"zoomIcon\":\"details_zoomIcon__2uqNV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rowContainer\":\"lineItems_rowContainer__15wca\",\"articleDetails\":\"lineItems_articleDetails__A_4Df\",\"articleImage\":\"lineItems_articleImage__2uq_2\",\"articleNumber\":\"lineItems_articleNumber__2a97B\",\"articleDescription\":\"lineItems_articleDescription__v1omB\",\"articleDetail\":\"lineItems_articleDetail__3PoCW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"page\":\"listLayout_page__1eRmP\",\"sider\":\"listLayout_sider__1rNQ8\",\"content\":\"listLayout_content__1Awmy\",\"contentHeader\":\"listLayout_contentHeader__1lDxK\",\"contentHeaderTitle\":\"listLayout_contentHeaderTitle__YUzbW\",\"contentHeaderExtra\":\"listLayout_contentHeaderExtra__1lB4m\",\"contentSection\":\"listLayout_contentSection__12m9n\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"articleNumber\":\"deliveryNoteRows_articleNumber__1jXPJ\",\"articleDescription\":\"deliveryNoteRows_articleDescription__3EgfT\",\"cell\":\"deliveryNoteRows_cell__1mQ_F\"};","import { Alert } from 'antd';\nimport React from 'react';\nimport { ApiError, HttpStatusCode } from '../../hooks/useApi';\nimport { useI18n } from '../../hooks/useI18n';\nimport { messages } from '../../messages';\n\nexport function ApiErrorDetails({\n error,\n hideDetails = false,\n}: {\n error: ApiError;\n hideDetails?: boolean;\n}) {\n const { t } = useI18n();\n\n return (\n \n {error.errors.map((e, i) => (\n
  • {e}
  • \n ))}\n \n ) : undefined\n }\n type=\"error\"\n />\n );\n}\n","import axios, { AxiosError } from 'axios';\nimport {\n OkResponse,\n Method,\n RequestOptions,\n RequestOptionsWithData,\n ErrorResponse,\n} from './types';\nimport { SimpleEventDispatcher } from 'ste-simple-events';\n\nexport function createHttpClient() {\n const onUnauthorizedEvent = new SimpleEventDispatcher();\n const axiosClient = axios.create({ timeout: 60000 });\n axiosClient.interceptors.response.use(\n (response) => response,\n errorResponseHandler,\n );\n\n function errorResponseHandler(error: AxiosError) {\n if (error.response && error.response.status === 401) {\n onUnauthorizedEvent.dispatch(undefined);\n }\n\n return Promise.reject(error);\n }\n\n async function request(\n method: Method,\n url: string,\n options?: RequestOptionsWithData,\n ): Promise {\n try {\n const response = await axiosClient.request({ url, method, ...options });\n return {\n hasError: false,\n status: response.status,\n data: response.data,\n headers: response.headers,\n };\n } catch (error) {\n const status = error.response ? error.response.status : 0;\n const message =\n error.response && error.response.data && error.response.data.message\n ? error.response.data.message\n : `Unexpected network error (Status ${status})`;\n const errors =\n error.response && error.response.data && error.response.data.errors\n ? error.response.data.errors\n : [];\n\n return {\n hasError: true,\n status,\n error: { message, errors, status },\n };\n }\n }\n\n return {\n get: (url: string, options?: RequestOptions) =>\n request('GET', url, options),\n put: (url: string, options?: RequestOptionsWithData) =>\n request('PUT', url, options),\n post: (url: string, options?: RequestOptionsWithData) =>\n request('POST', url, options),\n delete: (url: string, options?: RequestOptions) =>\n request('DELETE', url, options),\n onUnauthorized: {\n subscribe: (fn: () => void) => onUnauthorizedEvent.subscribe(fn),\n unsubscribe: (fn: () => void) => onUnauthorizedEvent.unsubscribe(fn),\n },\n };\n}\n\nexport type HttpClient = ReturnType;\n","import { createContext } from 'react';\nimport { HttpClient } from './httpClient';\n\nexport interface Props {\n httpClient: HttpClient;\n}\n\nconst mockHttpClientRequest = () => {\n return Promise.resolve({\n hasError: true as true,\n error: {\n message: 'Error: Using default mock api implementation',\n errors: [],\n status: 418,\n },\n status: 418,\n });\n};\n\nexport const HttpClientContext = createContext({\n get: mockHttpClientRequest,\n put: mockHttpClientRequest,\n post: mockHttpClientRequest,\n delete: mockHttpClientRequest,\n onUnauthorized: {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n subscribe: () => () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n unsubscribe: () => {},\n },\n});\n","import { useContext } from 'react';\nimport { HttpClientContext } from './httpClientContext';\n\nexport function useHttpClient() {\n return useContext(HttpClientContext);\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"awaitingDeliveriesCount\":\"awaitingDeliveriesWidget_awaitingDeliveriesCount__HHRvJ\",\"awaitingDeliveriesCountText\":\"awaitingDeliveriesWidget_awaitingDeliveriesCountText__2AZ8v\",\"exportButton\":\"awaitingDeliveriesWidget_exportButton__32uNE\",\"editButton\":\"awaitingDeliveriesWidget_editButton__2uXrO\",\"divider\":\"awaitingDeliveriesWidget_divider__yOnWM\",\"branches\":\"awaitingDeliveriesWidget_branches__EU3L1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"baseWrapper\":\"matrixTable_baseWrapper__3DMK8\",\"rowsContainer\":\"matrixTable_rowsContainer__YmuG5\",\"axisLabels\":\"matrixTable_axisLabels__2t2BX\",\"svgLine\":\"matrixTable_svgLine__Fu3Qg\",\"xAxisLabel\":\"matrixTable_xAxisLabel__267QH\",\"yAxisLabel\":\"matrixTable_yAxisLabel__zb8pD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"listCardItem_card__AK97I\",\"imageWrapper\":\"listCardItem_imageWrapper__3IcR7\",\"description\":\"listCardItem_description__2HwVg\",\"stock\":\"listCardItem_stock__1--Ck\",\"cartQuantityWrapper\":\"listCardItem_cartQuantityWrapper__1fjM1\",\"actions\":\"listCardItem_actions__1KmF8\"};","import React, { useMemo } from 'react';\nimport { useI18n } from '../../hooks/useI18n';\nimport { messages } from '../../messages';\nimport { DeliveryStatus } from '../../types';\nimport { Select } from 'antd';\nimport style from './picker.module.scss';\n\nexport function DeliveryStatusPicker({\n deliveryStatus,\n onChange,\n}: {\n deliveryStatus: number;\n onChange: (selectedDeliveryStatus: number) => void;\n}) {\n const { t } = useI18n();\n\n const deliveryStatusOptions = useMemo(\n () => [\n {\n key: DeliveryStatus.Undelivered,\n label: t(messages.order.awaitingDelivery),\n },\n {\n key: DeliveryStatus.PartiallyDelivered,\n label: t(messages.order.partiallyDelivered),\n },\n {\n key: DeliveryStatus.Delivered,\n label: t(messages.order.delivered),\n },\n ],\n [t],\n );\n\n return (\n \n {deliveryStatusOptions.map((o) => (\n \n {o.label}\n \n ))}\n \n );\n}\n","import { ApiRequest } from '../hooks/useApi';\nimport { Country, UserCustomer, Currency } from '../types';\n\nexport const sessionApi = {\n getCountries: (): ApiRequest => async ({\n httpClient,\n apiSettings,\n }) => {\n const response = await httpClient.get(apiSettings.sessionShopCountriesUri);\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: response.data,\n };\n }\n },\n\n getUserCustomers: (): ApiRequest => async ({\n httpClient,\n apiSettings,\n }) => {\n const response = await httpClient.get(\n apiSettings.sessionShopUserCustomersUri,\n );\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: response.data,\n };\n }\n },\n\n getCurrencies: (): ApiRequest => async ({\n httpClient,\n apiSettings,\n }) => {\n const response = await httpClient.get(apiSettings.sessionShopCurrenciesUri);\n\n if (response.hasError) {\n return { error: response.error };\n } else {\n return {\n result: response.data,\n };\n }\n },\n};\n","import { OrderType } from '../types';\nimport { TranslateFunction } from '../hooks/useI18n';\nimport { messages } from '../messages';\n\nexport function orderTypeTranslator(t: TranslateFunction, type: OrderType) {\n switch (type) {\n case OrderType.Forecast:\n return t(messages.order.orderTypeForecast);\n case OrderType.Standard:\n return t(messages.order.orderTypeStandard);\n case OrderType.Sample:\n return t(messages.order.orderTypeSample);\n case OrderType.Variable:\n return t(messages.order.orderTypeVariable);\n default:\n return t(messages.shared.unknown);\n }\n}\n","import React, { useState, useEffect } from 'react';\nimport { Address } from '../../types';\nimport {\n ShippingAddressType,\n ChangeShippingAddressOption,\n} from '../../hooks/shop/usePlaceOrderForm/usePlaceOrderForm';\nimport { Select, Modal, Radio } from 'antd';\nimport { LoadingIndicator } from '../loadingIndicator/loadingIndicator';\nimport styles from './addressSelect.module.scss';\nimport { AddressDetails } from '../addressDetails/addressDetails';\nimport { useI18n } from '../../hooks/useI18n';\nimport { messages } from '../../messages';\nimport { EmptyIndicator } from '../emptyIndicator/emptyIndicator';\nimport { ApiError } from '../../hooks/useApi';\nimport { ApiErrorDetails } from '../apiErrorDetails/apiErrorDetails';\n\nexport function AddressSelect({\n disabled,\n existingCustomAddressId,\n addressesError,\n addresses,\n loadingAddresses,\n loadAddresses,\n onChangeAddressType,\n shippingAddressType,\n}: {\n disabled?: boolean;\n existingCustomAddressId?: number;\n addresses: Address[] | undefined;\n addressesError?: ApiError;\n loadingAddresses: boolean;\n loadAddresses: () => void;\n onChangeAddressType: (option: ChangeShippingAddressOption) => void;\n shippingAddressType: ShippingAddressType;\n}) {\n const { t } = useI18n();\n const [adressModalIsVisible, setAdressModalIsVisible] = useState();\n\n const handleSelectChange = (type: ShippingAddressType) => {\n if (type === ShippingAddressType.Standard) {\n onChangeAddressType({ type: ShippingAddressType.Standard });\n }\n\n if (type === ShippingAddressType.NewCustom) {\n onChangeAddressType({ type: ShippingAddressType.NewCustom });\n }\n\n if (type === ShippingAddressType.ExistingCustom) {\n setAdressModalIsVisible(true);\n loadAddresses();\n }\n };\n\n return (\n <>\n \n disabled={disabled}\n style={{ flexGrow: 1 }}\n value={shippingAddressType}\n onSelect={handleSelectChange}\n allowClear={false}\n >\n \n {t(messages.address.shippingTypeStandard)}\n \n \n {t(messages.address.shippingTypeExistingCustom)}\n \n \n {t(messages.address.shippingTypeNewCustom)}\n \n \n {adressModalIsVisible && (\n {\n setAdressModalIsVisible(false);\n onChangeAddressType({\n type: ShippingAddressType.ExistingCustom,\n existingCustomAddressId: id,\n });\n }}\n onClose={() => setAdressModalIsVisible(false)}\n />\n )}\n \n );\n}\n\nfunction AddressModal({\n existingCustomAddressId,\n addressesError,\n addresses,\n loadingAddresses,\n onOk,\n onClose,\n}: {\n existingCustomAddressId?: number;\n addressesError?: ApiError;\n addresses: Address[] | undefined;\n loadingAddresses: boolean;\n onOk: (id: number) => void;\n onClose: () => void;\n}) {\n const { t } = useI18n();\n const [selectedAddressId, setSelectedAddressId] = useState(\n existingCustomAddressId,\n );\n\n useEffect(() => {\n if (addresses?.length && !selectedAddressId) {\n setSelectedAddressId(addresses[0].id);\n }\n }, [addresses, selectedAddressId]);\n\n return (\n {\n if (selectedAddressId) {\n onOk(selectedAddressId);\n }\n }}\n >\n {loadingAddresses && }\n {addressesError && }\n {addresses?.length === 0 && (\n \n )}\n {!!addresses?.length && (\n
    \n

    {t(messages.order.selectAddress)}

    \n {\n setSelectedAddressId(e.target.value);\n }}\n >\n {addresses.map((address) => (\n \n
    \n \n
    \n \n ))}\n \n
    \n )}\n \n );\n}\n","import React, { useEffect } from 'react';\nimport { Select, Skeleton } from 'antd';\nimport { useApiResource } from '../../hooks/useApi';\nimport { useI18n } from '../../hooks/useI18n';\nimport { ApiErrorDetails } from '../apiErrorDetails/apiErrorDetails';\nimport { FormLayout } from '../form/formLayout';\nimport { TextField } from '../form/textField';\nimport { messages } from '../../messages';\nimport { SelectField } from '../form/selectField';\nimport { sessionApi } from '../../api/sessionApi';\n\nexport interface CustomAddressForm {\n company: string;\n address1: string;\n address2: string;\n postalCode: string;\n city: string;\n country?: { key: number; label: string };\n}\n\nconst formLayout = {\n labelCol: { span: 9 },\n wrapperCol: { span: 15 },\n};\n\nexport const AddressForm = ({ formPath }: { formPath: string }) => {\n const { t } = useI18n();\n\n const countries = useApiResource(sessionApi.getCountries);\n\n useEffect(() => {\n countries.refresh();\n }, []);\n\n if (countries.error) {\n return ;\n }\n\n if (!countries.data) {\n return ;\n }\n\n return (\n \n \n \n \n \n \n \n {countries.data.map((c) => (\n {c.name}\n ))}\n \n \n );\n};\n","import React from 'react';\nimport { useCartStore } from '../../../hooks/shop/useCartStore';\nimport { useArticleCartModalStore } from '../../../hooks/shop/useArticleCartModalStore';\nimport { useShopSessionStore } from '../../../hooks/shop/useShopSessionStore';\nimport { LineItemsProps } from '../lineItems/lineItems';\n\nfunction CartLineItemsComponent() {\n const cartStore = useCartStore();\n const articleCartModalStore = useArticleCartModalStore();\n const {\n session,\n checkoutAdapter: { LineItems },\n } = useShopSessionStore();\n\n const props: LineItemsProps = {\n isLoading: cartStore.isLoading,\n items: cartStore.items,\n currencyCode: session.currency.code,\n includeAdminCostCalculations: true,\n unavailableArticleIds: cartStore.unavailableArticleIds,\n onEdit: (articleId) => articleCartModalStore.showArticle(articleId),\n onRemove: (articleId) =>\n cartStore.updateLineItem({\n articleId,\n quantity: 0,\n variants: [],\n }),\n };\n\n return ;\n}\n\nexport const CartLineItems = React.memo(CartLineItemsComponent);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"lineItems_header__EbmG_\",\"headerCell\":\"lineItems_headerCell__3TCFS\",\"nestedHeaderCell\":\"lineItems_nestedHeaderCell__1ZiHY\",\"rowCell\":\"lineItems_rowCell__1qGLp\",\"nestedRowCell\":\"lineItems_nestedRowCell__1Vrly\",\"rowCellContent\":\"lineItems_rowCellContent__7TXHQ\",\"rowTitleCellContent\":\"lineItems_rowTitleCellContent__2t5km\",\"actionCell\":\"lineItems_actionCell__1eUs6\",\"articleDetailsCell\":\"lineItems_articleDetailsCell__y4ckw\",\"numberCell\":\"lineItems_numberCell__1Ux0G\",\"row\":\"lineItems_row__1qs5n\",\"rowContent\":\"lineItems_rowContent__3Csk0\",\"nestedRow\":\"lineItems_nestedRow__2TrYf\",\"variantNameCell\":\"lineItems_variantNameCell__26j3x\",\"variantNumberCell\":\"lineItems_variantNumberCell__1n6TR\",\"nestedRowContent\":\"lineItems_nestedRowContent__3iKrq\",\"articleDetails\":\"lineItems_articleDetails__3KnSa\",\"articleImage\":\"lineItems_articleImage__1gLEO\",\"articleNumber\":\"lineItems_articleNumber__397O1\",\"articleDescription\":\"lineItems_articleDescription__2cP_U\",\"articleDetail\":\"lineItems_articleDetail__1LS0A\",\"summary\":\"lineItems_summary__RAQGn\",\"adminCostDescription\":\"lineItems_adminCostDescription__2ZaBX\",\"reached\":\"lineItems_reached__2LG9N\",\"totalPrice\":\"lineItems_totalPrice__2CcU8\",\"totalPriceLabel\":\"lineItems_totalPriceLabel__2losv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"descriptionList_container__12M6L\",\"descriptionList\":\"descriptionList_descriptionList__1JPL-\",\"itemTitle\":\"descriptionList_itemTitle__22jVM\",\"itemValue\":\"descriptionList_itemValue__8H97p\",\"divider\":\"descriptionList_divider__38r2_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay\":\"overflowOverlay_overlay__2EXPz\",\"overflowLeft\":\"overflowOverlay_overflowLeft__1phKj\",\"overflowRight\":\"overflowOverlay_overflowRight__2Rcpr\",\"overflowTop\":\"overflowOverlay_overflowTop__3jALs\",\"overflowBottom\":\"overflowOverlay_overflowBottom__1DlX-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"quickSearch_wrapper__1qcG7\",\"searchInputWrapper\":\"quickSearch_searchInputWrapper__3kR2R\",\"searchInputWrapperActive\":\"quickSearch_searchInputWrapperActive__2jLzi\",\"searchIcon\":\"quickSearch_searchIcon__wKV1P\",\"searchInput\":\"quickSearch_searchInput__qrrb6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"deliveryDateGroupHeader\":\"placedOrders_deliveryDateGroupHeader__1TgLd\",\"deliveryDateCell\":\"placedOrders_deliveryDateCell__SVWMg\"};","import React from 'react';\nimport styles from './descriptionList.module.scss';\nimport { Divider as AntDivider } from 'antd';\n\nexport function DescriptionList({ children }: { children: React.ReactNode }) {\n return (\n
    \n \n {children}\n
    \n
    \n );\n}\n\nDescriptionList.Item = Item;\nDescriptionList.Divider = Divider;\n\nfunction Item({\n title,\n children,\n}: {\n title: React.ReactNode;\n children: React.ReactNode;\n}) {\n return (\n \n {title}:\n {children}\n \n );\n}\n\nfunction Divider() {\n return (\n \n \n \n \n \n );\n}\n","import {\n NestedTranslations,\n NestedPaths,\n OptionalNestedTranslations,\n FlattenedTranslations,\n} from './types';\n\nconst composePath = (key: string, parentPath?: string) =>\n parentPath ? `${parentPath}.${key}` : key;\n\n// Returns an object referencing it self with nested path values\n// Example return value:\n// {\n// test1: {\n// test2: 'test1.test2',\n// },\n// test3: 'test3',\n// }\nexport function getNestedPaths(\n translations: NestedTranslations,\n parentNamespace?: string,\n) {\n const currentValues: NestedPaths = {};\n\n for (const key of Object.keys(translations)) {\n const value = translations[key];\n const currentPath = composePath(key, parentNamespace);\n if (typeof value === 'string') {\n currentValues[key] = currentPath;\n } else {\n currentValues[key] = getNestedPaths(value, currentPath);\n }\n }\n\n return currentValues;\n}\n\n// Flattens translations to a key/value object\n// Example return value:\n// {\n// \"test1.test2\": \"hello2\",\n// \"test3\": \"world\",\n// }\nexport function getFlattenedTranslations(\n translations: OptionalNestedTranslations,\n parentNamespace?: string,\n) {\n let currentTranslations: FlattenedTranslations = {};\n\n for (const key of Object.keys(translations)) {\n const value = translations[key];\n if (value === null) {\n continue;\n }\n\n const currentPath = composePath(key, parentNamespace);\n if (typeof value === 'string') {\n currentTranslations[currentPath] = value;\n } else {\n currentTranslations = {\n ...currentTranslations,\n ...getFlattenedTranslations(value, currentPath),\n };\n }\n }\n\n return currentTranslations;\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"xHeadersWrapper\":\"xHeaders_xHeadersWrapper__1ScX6\",\"xHeadersRow\":\"xHeaders_xHeadersRow__15kaW\",\"xHeadersCell\":\"xHeaders_xHeadersCell__3AcV_\",\"xHeadersCellSelected\":\"xHeaders_xHeadersCellSelected__3jef9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"yHeadersWrapper\":\"yHeaders_yHeadersWrapper__2V5ns\",\"yHeadersColumn\":\"yHeaders_yHeadersColumn__2klhx\",\"yHeadersCell\":\"yHeaders_yHeadersCell__1-1Nc\",\"yHeadersCellSelected\":\"yHeaders_yHeadersCellSelected__3djrt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"apiError\":\"widgetDashboard_apiError__LAvid\",\"createNewWidget\":\"widgetDashboard_createNewWidget__3BTsc\",\"bottomBox\":\"widgetDashboard_bottomBox__1PWV9\",\"noCategories\":\"widgetDashboard_noCategories__155TQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"widgetCard\":\"customerWidgetCategoryCard_widgetCard__3DCz_\",\"moreIcon\":\"customerWidgetCategoryCard_moreIcon__1UXIf\",\"categoryCard\":\"customerWidgetCategoryCard_categoryCard__S08Rv\",\"divProvided\":\"customerWidgetCategoryCard_divProvided__3YC6S\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"listItem\":\"articlesList_listItem__2klT-\",\"sortBySelect\":\"articlesList_sortBySelect__J1RU7\",\"actionsCell\":\"articlesList_actionsCell__mXB40\",\"paginationWrapper\":\"articlesList_paginationWrapper__3-NaG\"};","import React, { SVGProps } from 'react';\nimport { CustomIconComponentProps } from 'antd/lib/icon';\n\nexport const fileDownloadIcon = (\n props: CustomIconComponentProps | SVGProps,\n) => (\n \n \n \n \n \n);\n","import { ApiRequest } from '../../hooks/useApi';\nimport { TimePeriodType } from '../../types';\n\nexport const internalProductStatisticsReportWidgetApi = {\n createWidget:\n (request: CreateUpdateProductStatisticsReportWidgetRequest): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.post(\n apiSettings.internalProductStatisticsReportWidgetsUri,\n {\n data: request,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n\n updateWidget:\n (\n id: number,\n request: CreateUpdateProductStatisticsReportWidgetRequest,\n ): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.put(\n apiSettings.internalProductStatisticsReportWidgetUri(id),\n {\n data: request,\n },\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n\n getWidget:\n (id: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.get(\n apiSettings.internalProductStatisticsReportWidgetUri(id),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n triggerNewReport:\n (widgetId: number): ApiRequest =>\n async ({ httpClient, apiSettings }) => {\n const response = await httpClient.post(\n apiSettings.triggerNewInternalProductStatisticsExportUri(widgetId),\n );\n\n if (response.hasError) {\n return { error: response.error };\n }\n return {\n result: response.data,\n };\n },\n};\n\nexport interface ProductStatisticsReportWidget {\n name: string;\n widgetCategoryId: number | undefined;\n color: string | undefined;\n branches: Branch[];\n categories: Category[];\n projects: Project[];\n itemTypes: string[];\n timePeriods: string[];\n timePeriodType: TimePeriodType;\n includeFrozenArticles: boolean;\n includeImages: boolean;\n mostRecentSuccessfullyGeneratedReport: ProductStatisticsReport | undefined;\n existsPendingReport: boolean;\n lastGeneratedReportFailed: boolean;\n}\n\nexport interface Branch {\n id: number;\n name: string;\n}\n\nexport interface Category {\n id: number;\n name: string;\n}\n\nexport interface Project {\n id: number;\n name: string;\n erpId: string;\n branch: Branch;\n}\n\nexport interface CreateUpdateProductStatisticsReportWidgetRequest {\n name: string;\n widgetCategoryId: number | undefined;\n color: string | undefined;\n branchIds: number[];\n categoryIds: number[];\n projectIds: number[];\n itemTypes: string[];\n timePeriods: string[];\n timePeriodType: TimePeriodType;\n includeFrozenArticles: boolean;\n includeImages: boolean;\n}\n\nexport interface ProductStatisticsReport {\n id: string;\n createdDate: string;\n status: ReportStatus;\n}\n\nexport enum ReportStatus {\n Pending,\n Finished,\n Failed,\n}\n","import { useEffect, useRef } from 'react';\n\nexport function useInterval(callback: () => void, delay: number | null) {\n const savedCallback = useRef(callback);\n\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n if (delay === null) return;\n\n const id = setInterval(() => savedCallback.current(), delay);\n\n return () => clearInterval(id);\n }, [delay]);\n}\n","import { Spin } from 'antd';\nimport styles from './loadingIndicator.module.scss';\nimport React from 'react';\n\nexport const LoadingIndicator = ({ message }: { message?: string }) => (\n
    \n \n {message &&
    {message}
    }\n
    \n);\n","import { Locale } from './types';\nimport dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport 'dayjs/locale/en';\n\ndayjs.extend(utc);\n\nexport enum DateFormat {\n DATE = 'YYYY-MM-DD',\n DATETIME = 'YYYY-MM-DD HH:mm UTC',\n DATE_WEEKDAY = 'ddd DD',\n}\n\nexport function createDateFormatter(locale: Locale) {\n function formatDate(\n dateString: string,\n dateFormat: DateFormat = DateFormat.DATE,\n ): string {\n return dayjs(dateString).utc().locale(locale).format(dateFormat);\n }\n\n return { formatDate };\n}\n\nexport type DateFormatter = ReturnType;\nexport type FormatDateFunction = DateFormatter['formatDate'];\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stockContainer\":\"stock_stockContainer__3usS9\",\"header\":\"stock_header__3FFT0\",\"footer\":\"stock_footer__1FWjv\",\"headerCell\":\"stock_headerCell__185Ri\",\"footerCell\":\"stock_footerCell__OAVwK\",\"titleCell\":\"stock_titleCell__35eJ5\",\"row\":\"stock_row__38GQh\",\"rowCell\":\"stock_rowCell__1soSq\",\"numericCell\":\"stock_numericCell__jji9U\",\"empty\":\"stock_empty__2onwk\"};","import React from 'react';\nimport { OrderStatus, DeliveryStatus } from '../../types';\nimport { useI18n } from '../../hooks/useI18n';\nimport { Badge } from 'antd';\nimport {\n OrderProgress,\n toOrderProgress,\n} from '../../helpers/orderProgressConverter';\nimport { orderProgressTranslator } from '../../helpers/orderProgressTranslator';\n\nconst orderProgressColor = {\n [OrderProgress.Draft]: '#d9d9d9',\n [OrderProgress.Unconfirmed]: 'blue',\n [OrderProgress.AwaitingDelivery]: 'orange',\n [OrderProgress.PartiallyDelivered]: 'yellow',\n [OrderProgress.Delivered]: 'green',\n};\n\nexport function OrderProgressBadge({\n orderStatus,\n deliveryStatus,\n}: {\n orderStatus: OrderStatus;\n deliveryStatus: DeliveryStatus;\n}) {\n const { t } = useI18n();\n const orderProgress = toOrderProgress(orderStatus, deliveryStatus);\n if (orderProgress === undefined) {\n throw new Error('Unable to deterime order progress');\n }\n\n return (\n \n );\n}\n","import MessageFormat from 'messageformat';\nimport { Locale, FlattenedTranslations } from './types';\n\nexport function createMessageTranslator(\n locale: Locale,\n translations: FlattenedTranslations,\n) {\n const mf = new MessageFormat(locale);\n const messageFormatters: any = mf.compile({ translations });\n\n function translate(\n messageKey: string,\n translationArguments: { [key: string]: string | number } = {},\n ): string {\n const messageFormatter = messageFormatters.translations[messageKey];\n if (!messageFormatter) {\n throw Error(`No translation found for key ${messageKey}`);\n }\n\n return messageFormatter(translationArguments);\n }\n\n return { translate };\n}\n\nexport type MessageTranslator = ReturnType;\nexport type TranslateFunction = MessageTranslator['translate'];\n","export enum Locale {\n En = 'en',\n ZhCn = 'zh-cn',\n}\n\nexport interface NestedPaths {\n [key: string]: NestedPaths | string;\n}\n\nexport interface NestedTranslations {\n [key: string]: NestedTranslations | string;\n}\n\nexport type OptionalNestedTranslations = {\n [P in keyof T]: OptionalNestedTranslations | null | string;\n};\n\nexport interface FlattenedTranslations {\n [key: string]: string;\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"width100\":\"picker_width100__1rfaK\"};","import React from 'react';\nimport { Alert, Icon } from 'antd';\nimport styles from './details.module.scss';\nimport { messages } from '../../../../messages';\nimport { DescriptionList } from '../../../descriptionList/descriptionList';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { ImageZoom } from '../../../imageZoom/imageZoom';\nimport { formatNumber } from '../../../../helpers/formatNumber/formatNumber';\nimport { ArticleType, Currency } from '../../../../types';\nimport { ArticleDetails, ArticlePrice } from '../../../../api/articlesApi';\nimport { useFileUris } from '../../../../hooks/useFileUrls/useFileUrls';\n\nexport function Details({\n article,\n showPrice = true,\n displayCurrency,\n articlePrices,\n}: {\n article: ArticleDetails;\n showPrice?: boolean;\n displayCurrency?: Currency;\n articlePrices?: ArticlePrice[];\n}) {\n const { t } = useI18n();\n const { placeholderImageFileUri, articleImageFileUri } = useFileUris();\n const displayPrice = articlePrices?.find(\n (articlePrice) => articlePrice.articleId === article.id,\n )?.price;\n\n return (\n
    \n
    \n \n \n
    \n
    \n

    {article.articleNumber}

    \n {article.frozen && (\n
    \n }\n message={t(messages.article.frozenAlert)}\n showIcon={true}\n type=\"warning\"\n />\n
    \n )}\n {!!article.syncError && (\n
    \n }\n message={article.syncError}\n showIcon={true}\n type=\"error\"\n />\n
    \n )}\n\n \n \n {article.description}\n \n \n {article.articleNumber}\n \n {!!article.colorName && (\n \n {article.colorName}\n \n )}\n {!!article.sizeName && (\n \n {article.sizeName}\n \n )}\n {!!article.unit && (\n \n {article.unit}\n \n )}\n {showPrice &&\n article.type !== ArticleType.Matrix &&\n !article.frozen && (\n \n {formatNumber(\n article.displayPrice,\n article.currencyPriceDecimalPlaces,\n )}\n \n )}\n {showPrice &&\n article.type !== ArticleType.Matrix &&\n !article.frozen &&\n !!displayPrice &&\n !!displayCurrency &&\n displayCurrency.code !== article.currencyCode && (\n \n {formatNumber(displayPrice, displayCurrency.priceDecimalPlaces)}\n \n )}\n \n \n {article.extraDescription}\n \n \n \n
    \n
    \n );\n}\n","export interface Stock {\n orderIn: number;\n orderOut: number;\n quantity: number;\n}\n\nexport function getAvailable(stock: Stock) {\n return stock.quantity - stock.orderOut;\n}\n\nexport function getBalance(stock: Stock) {\n return getAvailable(stock) + stock.orderIn;\n}\n\nexport function getTotalOrderIn(stocks: Stock[]) {\n return stocks.reduce((total, { orderIn }) => total + orderIn, 0);\n}\n\nexport function getTotalOrderOut(stocks: Stock[]) {\n return stocks.reduce((total, { orderOut }) => total + orderOut, 0);\n}\n\nexport function getTotalQuantity(stocks: Stock[]) {\n return stocks.reduce((total, { quantity }) => total + quantity, 0);\n}\n\nexport function getTotalAvailable(stocks: Stock[]) {\n return stocks.reduce((total, stock) => total + getAvailable(stock), 0);\n}\n\nexport function getTotalBalance(stocks: Stock[]) {\n return stocks.reduce((total, stock) => total + getBalance(stock), 0);\n}\n","import React, { useMemo } from 'react';\nimport styles from './stock.module.scss';\nimport cc from 'classcat';\nimport { EmptyIndicator } from '../../../emptyIndicator/emptyIndicator';\nimport { useI18n } from '../../../../hooks/useI18n';\nimport { messages } from '../../../../messages';\nimport {\n getBalance,\n getAvailable,\n getTotalAvailable,\n getTotalBalance,\n getTotalQuantity,\n getTotalOrderOut,\n getTotalOrderIn,\n} from '../../../../helpers/articleStockTransformer';\nimport { useShopSessionStore } from '../../../../hooks/shop/useShopSessionStore';\nimport { ArticleBranchStock, ArticleStock } from '../../../../api/articlesApi';\n\nfunction articleBranchStocksToStockRows(\n articleBranchStocks: ArticleBranchStock[],\n) {\n return articleBranchStocks.map(\n ({ branchNumber, branchName, articleStockLocations }) => ({\n locationNumber: branchNumber,\n locationName: branchName,\n displayName: branchName,\n orderIn: getTotalOrderIn(articleStockLocations),\n orderOut: getTotalOrderOut(articleStockLocations),\n quantity: getTotalQuantity(articleStockLocations),\n available: getTotalAvailable(articleStockLocations),\n balance: getTotalBalance(articleStockLocations),\n }),\n );\n}\n\nfunction articleStocksToStockRows(articleStocks: ArticleStock[]) {\n return articleStocks\n .filter((s) => s.stockType !== '4' && s.stockType)\n .map((articleStock) => ({\n locationNumber: articleStock.locationNumber,\n locationName: articleStock.locationName,\n displayName: getArticleStocksForStockRowsDisplayName(\n articleStock.locationNumber,\n articleStock.locationName,\n ),\n orderIn: articleStock.orderIn,\n orderOut: articleStock.orderOut,\n quantity: articleStock.quantity,\n available: getAvailable(articleStock),\n balance: getBalance(articleStock),\n }));\n\n function getArticleStocksForStockRowsDisplayName(\n locationNumber: string,\n locationName: string,\n ): string {\n if (\n locationNumber.trim().toLowerCase() === locationName.trim().toLowerCase()\n ) {\n return locationName;\n } else {\n return locationNumber + ' ' + locationName;\n }\n }\n}\n\nexport function Stock({\n articleBranchStocks,\n showStockLocations,\n quantityDecimalPlaces,\n}: {\n articleBranchStocks: ArticleBranchStock[];\n showStockLocations: boolean;\n quantityDecimalPlaces: number;\n}) {\n const { session } = useShopSessionStore();\n\n const stockRows = useMemo(() => {\n if (showStockLocations) {\n const currentBranchStock = articleBranchStocks.find(\n (a) => a.branchId === session.branchId,\n )!;\n\n const hasMultiStockLocations =\n currentBranchStock.articleStockLocations.some(\n (stock) =>\n stock.locationName !== undefined &&\n stock.stockType !== '4' &&\n stock.stockType,\n );\n\n if (hasMultiStockLocations) {\n return articleStocksToStockRows(\n currentBranchStock.articleStockLocations,\n );\n }\n }\n\n return articleBranchStocksToStockRows(articleBranchStocks);\n }, articleBranchStocks);\n\n return (\n \n );\n}\n\ninterface StockRow {\n locationNumber: string;\n locationName: string;\n displayName: string;\n quantity: number;\n orderIn: number;\n orderOut: number;\n available: number;\n balance: number;\n}\n\nfunction StockTable({\n stockRows,\n quantityDecimalPlaces,\n}: {\n stockRows: StockRow[];\n quantityDecimalPlaces: number;\n}) {\n const { t } = useI18n();\n\n const totalQuantity = stockRows.reduce(\n (acc, stock) => acc + stock.quantity,\n 0,\n );\n\n const totalStockBalance = stockRows.reduce(\n (acc, stock) => acc + stock.balance,\n 0,\n );\n\n const totalAvailable = stockRows.reduce(\n (acc, stock) => acc + stock.available,\n 0,\n );\n\n return (\n
    \n
    \n
    \n {t(messages.stock.location)}\n
    \n
    \n {t(messages.stock.inStock)}\n
    \n
    \n {t(messages.stock.inOrder)}\n
    \n
    \n {t(messages.stock.available)}\n
    \n
    \n {t(messages.stock.PO)}\n
    \n
    \n {t(messages.stock.balance)}\n
    \n
    \n\n {!!stockRows.length && (\n
    \n {stockRows.map((stockRow) => (\n
    \n
    \n {stockRow.displayName}\n
    \n
    \n {stockRow.quantity.toFixed(quantityDecimalPlaces)}\n
    \n
    \n {stockRow.orderOut.toFixed(quantityDecimalPlaces)}\n
    \n
    \n {stockRow.available.toFixed(quantityDecimalPlaces)}\n
    \n
    \n {stockRow.orderIn.toFixed(quantityDecimalPlaces)}\n
    \n
    \n {stockRow.balance.toFixed(quantityDecimalPlaces)}\n
    \n
    \n ))}\n
    \n )}\n\n {!stockRows.length && (\n
    \n \n
    \n )}\n\n
    \n
    \n {t(messages.shared.total)}\n
    \n
    \n {totalQuantity.toFixed(quantityDecimalPlaces)}\n
    \n
    \n
    \n {totalAvailable.toFixed(quantityDecimalPlaces)}\n
    \n
    \n
    \n {totalStockBalance.toFixed(quantityDecimalPlaces)}\n
    \n
    \n
    \n );\n}\n","import React, { useState } from 'react';\nimport { LoadingIndicator } from '../../../components/loadingIndicator/loadingIndicator';\nimport { useCartStore } from '../../../hooks/shop/useCartStore';\nimport { Checkbox, Button, Alert, Tooltip } from 'antd';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\nimport { useShopSessionStore } from '../../../hooks/shop/useShopSessionStore';\n\nexport const UpdateArticleLineItem = ({\n articleId,\n onUpdateLineItem,\n isLoading,\n}: {\n articleId: number;\n onUpdateLineItem: ({\n articleId,\n quantity,\n }: {\n articleId: number;\n quantity: number;\n }) => void;\n isLoading: boolean;\n}) => {\n const cartStore = useCartStore();\n const { checkoutAdapter, session } = useShopSessionStore();\n const { t } = useI18n();\n\n const [isConfirmed, setIsConfirmed] = useState(false);\n const hasItems = cartStore.items.length > 0;\n const isAdded = cartStore.items.find((l) => l.articleId === articleId);\n\n const CheckboxTooltip = ({ children }: { children: React.ReactNode }) =>\n checkoutAdapter.hasReadConfirmDocument ? (\n <>{children}\n ) : (\n {children}\n );\n\n return (\n <>\n {isLoading && }\n {!hasItems && (\n <>\n \n setIsConfirmed(e.target.checked)}\n disabled={!checkoutAdapter.hasReadConfirmDocument}\n >\n {t(messages.checkoutAdapter._3M.confirmRead)}\n \n \n \n checkoutAdapter.setHasReadConfirmDocument &&\n checkoutAdapter.setHasReadConfirmDocument(true)\n }\n >\n {t(messages.checkoutAdapter._3M.confirmReadLink)}\n
    \n {\n onUpdateLineItem({ articleId, quantity: 1 });\n }}\n block={true}\n >\n {t(messages.checkoutAdapter._3M.addToCart)}\n \n \n )}\n {hasItems && (\n <>\n {isAdded && (\n <>\n \n {\n onUpdateLineItem({ articleId, quantity: 0 });\n }}\n block={true}\n >\n {t(messages.checkoutAdapter._3M.removeFromCart)}\n \n \n )}\n {!isAdded && (\n <>\n \n {t(messages.checkoutAdapter._3M.cartIsFull)}\n \n
    \n }\n type=\"warning\"\n showIcon={false}\n />\n \n )}\n \n )}\n \n );\n};\n","import React, { useEffect } from 'react';\nimport { Modal, Skeleton, Divider } from 'antd';\nimport styles from './articleModal.module.scss';\nimport { Details } from '../../../components/shop/articleModal/details/details';\nimport { Stock } from '../../../components/shop/articleModal/stock/stock';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\nimport { ApiErrorDetails } from '../../../components/apiErrorDetails/apiErrorDetails';\nimport { useApiResource } from '../../../hooks/useApi';\nimport { articlesApi } from '../../../api/articlesApi';\nimport { UpdateArticleLineItem } from './updateArticleLineItem';\nimport { LineItem, UpdateLineItem, ArticleType } from '../../../types';\n\nexport function ArticleModal({\n articleId,\n isUpdatingLineItem,\n onUpdateLineItem,\n onClose,\n}: {\n articleId: number;\n lineItemMessage: string;\n lineItem?: LineItem;\n isUpdatingLineItem: boolean;\n onUpdateLineItem: (lineItem: UpdateLineItem) => void;\n onClose: () => void;\n}) {\n const { t } = useI18n();\n const article = useApiResource(articlesApi.getArticle);\n\n useEffect(() => {\n article.refresh(articleId);\n }, [articleId]);\n\n const activeArticle = article.data;\n\n return (\n \n
    \n {article.error && }\n\n {!article.data && !article.error && (\n \n )}\n\n {!!article.data && (\n <>\n
    \n {activeArticle && (\n
    \n )}\n {!activeArticle && (\n \n )}\n
    \n
    \n {article.data.type !== ArticleType.Matrix &&\n article.data.type !== ArticleType.Kit &&\n !article.data.frozen && (\n
    \n \n {t(messages.stock.stock)}\n \n \n
    \n )}\n {article.data.type !== ArticleType.Matrix &&\n !article.data.frozen && (\n
    \n \n {t(messages.checkoutAdapter._3M.lineItemMessage)}\n \n \n
    \n )}\n
    \n \n )}\n
    \n \n );\n}\n","import React from 'react';\nimport { LineItemsProps } from '../../../components/shop/lineItems/lineItems';\nimport { Alert, Avatar, Button, Empty } from 'antd';\nimport { useI18n } from '../../../hooks/useI18n';\nimport { messages } from '../../../messages';\nimport { useFileUris } from '../../../hooks/useFileUrls/useFileUrls';\nimport styles from './lineItems.module.scss';\nimport cc from 'classcat';\nimport emptyBoxIcon from '../../../components/shop/lineItems/emptyBoxIcon.svg';\nimport { LoadingIndicator } from '../../../components/loadingIndicator/loadingIndicator';\n\nexport const LineItems = (props: LineItemsProps) => {\n const { t } = useI18n();\n const { placeholderImageFileUri, articleImageFileUri } = useFileUris();\n const { onRemove, unavailableArticleIds, isLoading, items } = props;\n\n return (\n
    \n {isLoading && }\n {!items.length && (\n }\n />\n )}\n {!!items.length && (\n
    \n \n
    \n
    \n {items[0].articleNumber}\n
    \n \n {items[0].description}\n
    \n
    \n {onRemove && (\n onRemove(items[0].articleId)}\n />\n )}\n
    \n )}\n {!!items.length &&\n unavailableArticleIds?.includes(items[0].articleId) && (\n \n )}\n
    \n );\n};\n","import React from 'react';\nimport { useField } from 'formik';\nimport TextArea, { TextAreaProps } from 'antd/lib/input/TextArea';\nimport { FormItem } from './formItem';\n\nexport function TextAreaField({\n name,\n label,\n ...rest\n}: { name: string; label?: string } & TextAreaProps) {\n const [inputProps, metaProps] = useField(name);\n const showError = metaProps.touched && metaProps.error;\n\n return (\n {metaProps.error} : undefined}\n >\n