{"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/form/formItem.tsx","components/shop/order/orderRows/orderRows.module.scss","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/listLayout/listLayout.tsx","components/shop/dashboard/widgets/styling/widgetRowStyling.module.scss","components/shop/shop.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","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","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","warningBox","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","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","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","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","s","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.e9701f8c.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.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 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.locked && 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 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 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 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 },\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-\"};","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 = {\"articleNumber\":\"orderRows_articleNumber__1WCPx\",\"articleDescription\":\"orderRows_articleDescription__2nBbR\",\"cell\":\"orderRows_cell__iop3v\"};","// 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}\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 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 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 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 },\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.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 = currentBranchStock.articleStockLocations.some(\n (stock) => stock.locationName !== undefined,\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