{"version":3,"sources":["utils/calc.js","utils/report_helpers.js","utils/index.js","utils/date_helpers.js","assets/img/logo_with_rugs.jpg","utils/helpers.js","assets/img/dc-logo.jpg","utils/api.js","pages/Squarespace.js","utils/filter_helpers.js","pages/ContactList.js","pages/AddCustomersAndContacts.js","pages/AgentAdmin.js","pages/AreaAdmin.js","pages/Claims.js","pages/Company.js","pages/ConfigurationSettingsAdmin.js","pages/ConstructionTypeAdmin.js","pages/CustomerAdmin.js","pages/CustomerMoreDetails.js","pages/CustomerOrderHistory.js","pages/CustomerAddress.js","pages/CustomerAdminContainer.js","pages/CustomerDetailsView.js","pages/Dashboard.js","pages/EditClaim.js","pages/MaintainProduct.js","pages/EditProductColorsWidths.js","pages/EditProductMemoInventory.js","pages/ErrorMessage.js","pages/Expense.js","pages/EditExpense.js","pages/ExpenseCategory.js","pages/ExpensePayToAdmin.js","pages/ForgotPassword.js","pages/FreightCarrierAdmin.js","pages/Header.js","pages/Home.js","pages/MaintainBooks.js","pages/MaintainSamples.js","pages/MemoOrderLines.js","pages/MemoOrders.js","pages/MemoSizes.js","pages/MemoStockOrders.js","pages/MillReserves.js","pages/NotFound.js","pages/OrderEntry.js","pages/Orders.js","pages/Pile.js","pages/ProductDetailsContainer.js","pages/Profile.js","pages/ResetPassword.js","pages/ShippingConsole.js","pages/SignIn.js","pages/Suppliers.js","pages/UpdatePassword.js","pages/UserAdmin.js","pages/ViewContacts.js","pages/ViewSupplier.js","pages/Width.js","pages/YarnSupplierBrand.js","pages/Reports.js","pages/EditSupplier.js","pages/MultiOrderPayable.js","pages/AgentSampleBookInventory.js","pages/AgentContact.js","pages/EditAgent.js","pages/AgentAdminContainer.js","pages/SqSignIn.js","pages/SqLogout.js","pages/SqForgotPassword.js","pages/SqResetPassword.js","pages/SqSalesRepScreen.js","pages/SalesTransfer.js","pages/FiberGroupAdmin.js","pages/SqOrders.js","pages/CustomerProductLookUp.js","pages/SqPriceList.js","pages/Impersonate.js","App.js","index.js","components/CustomerTypeahead.js","components/DropzoneUploader.js","components/FilterBoolean.js","components/FilterMultiSelect.js","components/FilterSelect.js","components/FilterSet.js","components/FilterText.js","components/FilterDate.js","components/InputDebounce.js","components/MobileFilterSet.js","components/Pager.js","components/SortHeader.js","components/Pagination.js","components/Upload.js","components/SupplierTypeahead.js","components/index.js","utils/constants.js"],"names":["priceDefaults","constants","CUSTOM_RUG_DEFAULT_PRICES","sergingList","SERGING_LIST","machineSergingList","MACHINE_SERGING_LIST","miteredList","MITERED_LIST","apiPost","api","post","RUG_BACKING_PRICE_PER","RUG_BACKING_COST_PER","MIN_REPEAT","getMinRepeat","selectedField","fieldRepeatLength","fieldRepeatWidth","defaultRepeatInches","Number","repeatLengthInches","repeatWidthInches","_","ceil","max","round","toFixed","payload","a","response","appliedFieldRepeat","data","defaultValues","fieldLengthFeet","lengthFeetFeetOnly","fieldLengthInches","lengthFeetInchesOnly","widthFeetName","console","error","log","calc","calculateSqFeetAndFinEdgeFt","rugLengthFeet","rugLengthInches","rugWidthFeet","rugWidthInches","widFt","parseFloat","toString","isNaN","sqFt","finishedEdgeFt","linFt","calculateRugExtraCosts","orderLine","showCosts","totalRugBackingPrice","totalRugBackingCost","rugBackingCmsn","totalSergingPrice","totalSergingCost","sergingCmsn","totalMSergingPrice","totalMSergingCost","mSergingCmsn","totalHSSergingPrice","totalHSSergingCost","hsSergingCmsn","rugBackingPricePer","rugBackingCostPer","rugBackingCmsnRate","sergingPricePer","sergingCostPer","sergingCmsnRate","mSergingPricePer","mSergingCostPer","mSergingCmsnRate","hsSergingPricePer","hsSergingCostPer","hsSergingCmsnRate","pricePer","costPer","calculateFieldUnits","widthNumericFeet","priceUnitTypeName","totalFieldUnits","lngth","sqYds","getDefaultFieldSize","getFieldDescription","fieldLabel","fieldColor","label","getRugPadDescription","paramArray","upperCaseString","x","toUpper","snakeCase","start","replace","startCase","startCaseVar","chain","map","value","YMD","MDY4","YMDHMS","momentFromString","date","fmt","moment","VALID_DATE_FORMAT_LIST","verifyDate","s","test","isValid","MDY","isDateValid","dateString","getSelectedDate","format","toShortDateString","d","toMDYDateString","toDateString","toTimeString","getStringFromMoment","m","formatDateToShortDate","isMoment","getTimeStringFromMoment","getMomentFromString","parseDatePickerDate","validated","getTimeRange","startOf","i","add","formatDateForServer","formatDateTimeForServer","dateTime","dateFormatForClient","datetime","toDate","dateTimeFormat","utc","local","monthDayAndYear","module","exports","upperCase","str","toUpperCase","changeDateFormat","changeDateFunction","fieldName","itemToEditId","formattedDate","date_helpers","onDatePickerKeyDown","event","which","eventAction","target","requiredStar","style","color","formatCurrency","toLocaleString","currency","minimumFractionDigits","formatAddressLabel","prefix","ln1","ln2","ln3","ln4","city","state","zip","booleanListEntry","b","resolveValue","obj","id","name","resolvePricingType","pricingTypeId","idx","findIndex","PRICING_TYPES","resolveValues","objs","length","formattedObjects","forEach","push","resolveColorValues","number","yesNoOptions","formatAddress","address","addressArray","compactList","compact","formatPhoneNumber","phoneNumberString","browserExportCSVFile","csv","fileTitle","fname","blob","Blob","type","navigator","msSaveBlob","link","document","createElement","undefined","download","url","URL","createObjectURL","setAttribute","visibility","body","appendChild","click","removeChild","downloadExport","fileName","mime","window","msSaveOrOpenBlob","file","anchor","href","webkitURL","dataset","downloadurl","join","catchHandler","e","parseRequestTypeName","request_type_name","toLowerCase","lowerCase","properCase","mustChangePassword","user","must_change_password","isFormInvalid","object","arrayOfKeysToCheck","warnings","key","addIsEditingField","list","propName","isEditingList","isEditing","nullableString","emailIsValid","email","convertToPennies","isMobile","defaultView","innerWidth","screen","width","filterProductAttachmentTypeList","productAttachmentTypeList","excludedFilters","filter","attachmentType","some","excludedType","API","getCookie","parseJSONvalue","k","Cookies","get","string","substring","slice","item","parsedItem","JSON","parse","camelCase","userToken","localStorage","getItem","commonHeaders","squarespace","includes","location","token","headers","Object","assign","multipart_headers","queryString","params","query","keys","encodeURIComponent","fetch_raw","axios","fetch","upload","verb","put","patch","responseType","postData","method","timeout","delete","post_form_data","formData","put_form_data","post_get_blob","Authorization","withCredentials","customerToken","getCookieTimeout","getJSON","clearCookies","set","expires","Date","remove","domain","redirectToSquarespacePage","pathname","activeFilter","filterName","filteredDisplay","publicFilter","initialFilters","pendingMemoOrderStatus","quoteOrderStatus","ORDER_STATUS","QUOTE","FINISHED_RUG_SIZES","MITERED_PRODUCT_NAME","rs","CUSTOM_RUG_SHAPES","ROUND","RECTANGULAR","SQUARE","configNames","CUSTOM_RUG_CONFIG_NAMES","fieldSelection","fieldSelectionColor","bindingSelection","bindingSelectionColor","shapeSelection","finishedSize","serging","customRug","sampleCartItems","orderCartItems","rugs","wood","carpet","squareFeet","linearFeet","seagrassAndSisal","bordersAndBindings","borderOrBinding","hardSurface","none","contractTileString","runners","customRugTitle","SQUARESPACE_URLS","squarespaceUrl","squarespacePath","iframeUrl","iframePath","findRedirectUrl","pathToRedirect","find","parseURL","props","split","page","productType","section","subFilters","shareLinkBase","title","filterType","subTypes","ft","toArray","search","sort_field","queryStringDCNumber","productId","queryStringProductColor","formatPrice","unitPrice","money","ATTACHMENT_TYPE","PRODUCT_IMAGE_D","PRODUCT_IMAGE_ROOM_SCENE","PRODUCT_IMAGE_CLOSE_UP","DETAILED_SPECS","PRODUCT_COLOR_IMAGE_D","findMainColorImage","colorImages","col","productAttachmentTypeName","getImageUrl","image","imageToUse","CUSTOM_STEPS","field","size_shape","binding","customer","review","orderLineTypes","ORDER_LINE_TYPE","resolveOrderLineType","product","productTypeName","foundType","INTL_COLL_RUG","HARD_SURFACE","RUG_MISCELLANEOUS","shapeCommonOrderPayload","orderLines","placedBy","requestedByFirstName","requestedByLastName","Id","CustomerId","AgentId","agentId","OrderStatusId","InvoiceTermsId","invoiceTermsId","PlacedBy","CreatedAt","CreatedByUserId","Mth","IsReplacementOrder","IsDistinctiveOrder","IsCreditOrder","ReferencesOrder","CustomerPONumber","customerPONumber","BTContactFirstName","BTContactLastName","BTContactEmail","BTAddressLine1","BTAddressLine2","BTAddressLine3","BTAddressLine4","BTCity","BTState","BTZip","BTPhone","STContactFirstName","STContactLastName","STContactEmail","webEmail","STAddressLine1","stAddressLine1","STAddressLine2","stAddressLine2","STAddressLine3","stAddressLine3","STAddressLine4","stAddressLine4","STCity","stCity","STState","stState","STZip","stZip","STPhone","stPhone","FreightSidemark","freightSidemark","OrderLines","AreaId","areaId","PagerLink","disabled","onClick","callBack","linkText","Pager","warn","showPager","totalPages","previous","pageNumber","next","firstText","icon","className","prevText","nextText","lastText","pageOptions","opt","pgOpt","smallScreen","size","refPage","emptyCustomRug","fieldSelectionColorList","sizeRadius","feet","inches","sizeWidth","sizeLength","bindingSelectionColorList","padSelection","bindingStitch","includeRugPad","productAttachments","productWidth","fieldPrice","padPrice","padCutFeeOver31SF","cutChargePrice","bindingPrice","appliedBindingPrice","sergingPrice","estimatedPrice","totalRugPrice","freightQuoteDesired","sendScrapsDesired","customRugComment","forOutdoorUse","getItemFromStorage","itemType","itemInStorage","defaultValue","setItemToStorage","itemValue","setItem","stringify","removeItemFromStorage","removeItem","shapeEachProduct","index","showPrices","showThisProduct","dcName","dcNumber","productColorId","productColors","rugIntlSizes","filteredProductColors","productColorImages","orderBy","seq","updatedAt","rugSizes","customRugSQPrice","availableAsCustomRug","showRugOptions","selectedRugSize","selectedRugPrice","sz","deactivatedAt","dsc","price","sortBy","colorOptions","carouselItems","cardDeckItems","pushItemToCarousel","photo","alt","mainColorImage","mainProductImage","bigImage","activeOption","imageShape","colorName","colorNumber","kebabCase","roomScenePhotos","closeUpPhoto","detailedSpecs","pc","optImage","pushItemToCardDeck","detailedSpecsPdf","cleanerName","imageId","productImages","unshift","detailedMainPhoto","this","preloadedComingSoonImage","activeColor","activePhoto","listRenderType","xs","top","src","shapeCustomer","shipToAddress","addressLine1","AddressLine1","addressLine2","AddressLine2","addressLine3","AddressLine3","addressLine4","AddressLine4","State","City","Zip","Squarespace","getPublicProductInfo","then","productShape","catch","helpers","getDetailedProductInfo","componentType","productWidths","patternMatch","repeat","repeatLength","repeatWidth","supplierId","supplierLabel","isRugQuotable","backingTypeId","backingTypeName","constructionTypeId","constructionTypeName","customRugSelectionWidth","option","results","repeatNumeric","selectedWidth","ColumnStep","colName","activeContent","stepNo","isActiveColumn","activeCustomRugStep","columnTitle","lg","setActiveCustomRugStep","CustomRugDisplay","fieldProductsList","bindingOptionsList","showCustomRugSteps","padOptionsList","shapesList","rugShapeList","cardImageShape","validateWidthSelection","resetCustomRug","borderTop","colSpan","fieldSelectionSupplierId","COMMON_SUPPLIER_IDS","NOURISON","bsSize","closeMenuOnSelect","options","onChange","onChangeCustomRugHandler","placeholder","fetchingFieldColors","widthName","fontFamily","md","debounceTimeout","onChangeCustomRugInput","min","CONSTRUCTION_TYPE_IDS","INDOOR_OUTDOOR","toggleCustomRugOption","checked","Fragment","CustomerDisplay","rugOverview","p","warningsSection","customRugWarnings","quoteOrderSubmitting","submitCustomRugQuote","tag","Link","to","successRedirect","sampleCart","orderCart","rugQuote","currentCustomer","useDefaultShipTo","showSteps","incomingProduct","useProductsDisplay","useCartDisplay","setLayoutReady","sampleCartMessage","sampleCartMessageFlavor","orderCartMessage","orderCartMessageFlavor","redirect","redirectTo","carpetProductTypeList","colorAndGrainTypeList","colorFamilyList","constructionTypeList","installGradeList","memoSizeList","pileTypeList","productStatusList","productTypeList","rugComplexityList","rugIntlCollectionList","suppliersList","tradeSizesList","widthsList","yarnBrandList","webCategoryList","freightTermsList","miscOptionsList","rugComponentsList","imageHeight","thinking","productLengthFeet","productQuantity","sidebarOpen","fieldProductColorsList","fieldWidthsList","filterFieldColorSelection","productsRowMaxHeight","sampleCartWarnings","orderCartWarnings","activeCart","orderCartSubmitting","orderComment","freightTerms","sampleComment","sampleCartSubmitting","pagedList","pageSize","initializeScreenType","bind","initializeFilters","refreshList","setPage","doSort","filterChange","clearFilters","onChangeHandler","onCustomerChangeHandler","onCustomerSwitch","onCancel","handleInputChange","customRugFormComplete","toggleSidebar","selectRugSize","selectProductWidth","customRugQuoteIsValid","calculateCustomRugEstimate","getColorSelectionsForCustomRugField","shapeOrderLine","shapeRugComponentOrderLine","downloadDetailedSpecs","calculateFigures","node","goBackToList","SidebarSection","CartDisplay","toggleActiveCart","addSampleToCart","removeSampleFromCart","deleteSampleFromCart","addToOrderCart","deleteFromOrderCart","purchaseOrderFormValid","submitPurchaseOrder","sampleOrderFormValid","submitSampleOrder","selectTerms","selectColorOption","selectColorOptionByPhoto","fetchProductData","saveCartData","GetCartData","clearCustomerEmailandRequestedBy","formatPhoneField","toggleMobileFilters","hideMobileFilters","v","match","setState","mobileFilterCollapse","uniqueCartData","CustomerID","String","CustomerCartObject","CustomRug","ExpiryMinutes","finally","result","success","parsedResult","ReactDOM","findDOMNode","comingSoonImage","Promise","all","imageData","Buffer","from","newState","prevProps","prevState","isEqual","newCustomerShape","tainted","parsedParams","getProductSelectData","fiberGroupList","getFreightTermsSelectList","customRugOptions","partition","bindingList","aggregateResults","newStatus","r","useCustomRugDisplay","singleProductDisplay","filters","filterList","typeFilter","productTypes","carpetTile","typeShape","subtypeFilters","sort_dir","sort_direction","Page","PageSize","SortField","SortDir","showPricesShape","each","setImageHeight","HTMLElement","parent","parentElement","childG","querySelector","gWidth","clientWidth","parentIFrameHeight","innerHeight","maxHeight","changedFilter","filter_helpers","get_filters","clearValue","filterElement","f","values","direction","newPagedList","productColorNumber","editItem","setTimeout","showProduct","selectedItem","selectedProductWidth","fetchingProduct","aggResults","productWidthOptions","w","widthId","ci","active","productCopy","activeColorOption","optionMatch","comment","selectedColor","lengthFeet","qty","useCarton","priceUnitTypeId","PRICE_UNIT_TYPE","CARTON","OrderId","ParentOrderLineId","LastStatusAt","ProductId","ProductColorId","LengthFeet","Qty","CartonCount","PriceUnitTypeId","OrderLineTypeId","Dsc","Price","UnitPrice","WidthId","SendScrapsDesired","RugIntlSizeId","OrderLine","FreightOrderLine","OrderLineComments","typeId","feetLength","inchesLength","feetWidth","inchesWidth","productName","unitType","t","repeatLengthValue","repeatWidthvalue","CUSTOM_RUG_SHAPE_LIST","RepeatWidth","RepeatLength","RugLengthFeet","RugLengthInches","RugWidthFeet","RugWidthInches","ForOutdoorUse","FreightQuoteDesired","isBoolean","RepeatNumeric","bool","calculations","shapeLabel","validity","warningsList","fieldPayload","padPayload","bindingPayload","appliedBindingPayload","sergingPayload","cutChargePayload","padCutFeeOver31SFPayload","inboundFreightPayload","armorPayload","backingPayload","seamPayload","laborRoundProductPayload","priceList","backingCharge","ch","configName","DefaultBackingProduct","cutCharge","DefaultCutChargeProduct","defaultPad","DefaultRugPadLuxFeltCustomSizeProduct","over31SFPadCharge","DefaultPadCutChargeProduct","under30SFPadCharge","Under30SFPadCutChargeProduct","hiddenStitchBindingCharge","DefaultMiteredProduct","defaultSergeCharge","DefaultWoolSergingChargeNProduct","DefaultUVSergingChargeProduct","DefaultWoolSergingChargeProduct","machineAppliedCharge","DefaultAppliedMachineBordersProduct","seamCharge","DefaultSevenSeamPadPerLFFeeProduct","unitCost","seamChargePricePer","seamChargeCostPer","getSizes","originalLengthFeet","originalLengthInches","fieldQty","widthFeetAndInches","lengthFeetAndInches","CustomWidth","CustomLength","defaultFieldCalc","RUG_FIELD","cutChargeItem","sergingCharge","BindingCottonSmallProduct","BindingSolidSmallProduct","bindingLengthWithAllowance","bindingCost","BINDING","bindingApplicationCharge","BACKING_TYPE","COTTON","backingCost","seamQty","seamCost","widths","defaultPaddingWidth","paddingSqFt","padCost","RUG_PAD","rugPadCutCost","inboundFreightCharge","DefaultInboundFreightProduct","armorCharge","DefaultRugEndArmorProduct","laborRoundProductCharge","DefaultLaborRoundProduct","total","sumBy","mainRug","componentLines","lengthInches","widthFeet","widthInches","rugOrderLine","CUSTOM_RUG","EACH","FinishedSize","RugShapeId","rugComponents","RugOrderLine","ComponentLines","PadOrderLine","BindingOrderLine","order","WebRugQuoteEstimatedPrice","toInteger","Order","RugComponents","scroll","Alert","warning","step","concat","readyToSubmit","validateCustomerInfo","pdf_url","selection","modifyingRug","newValue","message","cartType","newList","selectedMemoSize","productMemoSizes","sample","count","indexToEdit","newCount","splice","reject","samplesWithoutColor","requestedBy","trim","MemoOrder","Sidemark","ContactFirstName","ContactLastName","ContactEmail","Phone","Comment","MemoOrderLines","MemoOrderId","TypeOfMemoOrderLineStatus","MemoSizeId","MemoOrderLineComments","UseDefaultShipToAddress","foundIndex","forSmallScreen","cartHeight","gHeight","sidebar","open","styles","root","overflowY","overflowX","minHeight","background","zIndex","marginTop","flex","flexDirection","content","pullRight","onSetOpen","displayTitle","customRugPage","isSampleCart","isProductCart","readOnlyAddress","maxLength","onBlur","readOnly","element","height","sum","sampleCartRow","sampleColorId","rowKey","orderCartRow","sampleItems","purchaseOrderItems","parseInt","tabs","classnames","cursorPointer","activeTab","tabId","fade","freightTermsId","freightTermsName","components","makeAnimated","sortByList","findSortValue","sortingDropDown","imagesMap","cartButtonDisabled","showConstructionFilter","basicSpecs","pileTypeName","webProductDescription","squareFeetPerCarton","thickness","itemWidth","itemLength","perContainer","allowWebPurchasing","colorSelected","quantityProvided","rugSizeSelected","productLengthProvided","carpetPurchaseValid","rugPurchaseValid","atLeastOneMemoSize","shareLink","baseUrl","getDirectProductLink","crd","bordered","text","onCopy","alert","margin","offset","squarespaceContainer","currentFilterValue","onChangeCallback","displayName","showSortingDropDown","sm","Component","find_filter","state_filters","new_filter","filterIndex","startDate","endDate","transform_filters","reduce","acc","save_search","area","serialized_search","set_saved_filters","get_value","get_values","get_startDate","get_endDate","emptyContact","firstName","lastName","typeOfContact","isPrimary","phoneNumbers","addresses","emptyPhone","typeOfPhone","typeOfPhoneName","emptyAddress","typeOfAddress","typeOfAddressName","addId","nextNumber","getAddId","EditPhone","editPhone","contact","showPhoneEdit","errorMessage","phoneTypeList","handleFormInputChange","handleFormSelectionChange","onPhoneSave","onPhoneCancel","onIsPrimarySelection","elementName","isFormValid","Modal","isOpen","backdrop","ModalHeader","ModalBody","Row","Col","Input","isMulti","ButtonGroup","Button","EditAddress","editAddress","showAddressEdit","addressTypeList","onTypeOfAddressSelection","onAddressSave","onAddressCancel","propertyName","changeAddressProperty","EditContact","typeOfContactList","editing","onNameAdd","contactName","onAddressAdd","onPhoneDelete","onPhoneRevive","onAddressDelete","onAddressRevive","onPhoneAdd","onContactSave","onContactCancel","changeProperty","onTypeOfContactSelection","newContact","phoneId","editList","newPhone","pristine","newPhoneNumbers","phone","apiPath","messageFlavor","newAddress","newAddresses","addressId","updatePrimaryByType","preventDefault","lineHeight","textAlign","verticalAlign","Table","hover","c","onPhoneEdit","line","marginBottom","onAddressEdit","ContactList","contactList","editingContact","showModal","errorMessageFlavor","showAdd","newContactInfo","toggleContactEditing","existingIdx","onListChanged","contactId","removeContactOnDeactivate","show","Card","onEditContact","onContactRevive","onContactDelete","toggle","toggleModal","ModalFooter","newCustomer","agent","invoiceTerms","customerCreditType","accountType","customerStatus","contactPreferenceType","creditLine","taxNo","fedId","websiteUrl","isDCCustomer","autoSendSamples","primaryEmail","currentDate","AddCustomersAndContacts","agentList","areaList","invoiceTermsList","customerCreditTypeList","accountTypeList","customerStatusList","contactPreferenceTypeList","selectedDCC","selectedCustomerIds","customerName","contacts","isContactEditing","addingImage","showDeleteAttachmentConfirmationModal","onSubmitAdd","onSubmitAddNotSaved","onIsDCCustomerChange","onAutoSendSamplesChange","onContactListChanged","toggleImages","getAgents","getAreas","getInvoiceTermsList","getFreightTermsList","getAccountTypes","getCustomerStatus","getCustomerAttachmentTypes","customerAttachmentTypeList","customerId","getCustomer","getNextDCAccountNumber","areaName","agentName","invoiceTermsName","customerCreditTypeId","customerCreditTypeName","accountTypeId","accountTypeName","contactPreferenceTypeId","contactPreferenceTypeName","customerStatusId","customerStatusName","attachments","webFirstName","webLastName","createdAt","typeOfContactName","files","imageType","CUSTOMER_ATTACHMENT_TYPE","TAX_CERTIFICATE","MEMO_BILLED_SAMPLE_FORM","attachment","customerAttachmentTypeId","dateReceived","formatted","Base64EncodedPhoto","base64EncodedPhoto","CustomerAttachmentTypeId","MimeType","AssetName","DateReceived","exorcisedContacts","cloneDeep","customerDto","FreightTermsId","PricingTypeId","AccountTypeId","CustomerStatusId","Name","PrimaryEmail","CreditLine","TaxNo","FedId","WebsiteURL","websiteURL","IsDCCustomer","AutoSendSamples","WebEmail","WebFirstName","WebLastName","Ln1","Ln2","Ln3","Ln4","Attachments","formatCustomerAttachmentsPayload","Customer","Contacts","setActiveTab","setActiveCustomer","filtered","attachmentToDelete","borderStyle","CardBody","Form","Label","removeCustomerAttachment","createdByUserName","currentUser","CardHeader","fontWeight","agentMobileNumber","agentEmail","latestSampleShippedDate","accept","filesCallback","customerAttachmentTypeName","AgentAdmin","agents","sortField","sortDir","handleDelete","handleRevive","sortDirection","apiUrl","homeArea","homeAreaName","homeAreaId","hiredOn","Container","fluid","yesOnly","striped","responsive","sorted","idTag","mobileNumber","emptyArea","pricingDiscount","pricingDiscountActive","AreaAdmin","areas","onAdd","onTextChange","onSubmit","onIsActive","onEditIsActiveChange","filterHelpers","PricingDiscount","PricingDiscountActive","tempList","snapshotItem","Collapse","onEditTextChange","onUpdateSubmit","onCancelEdit","onEdit","Claims","lastClaimFilters","defaultFilters","claims","isMessageVisible","claimStatusList","confirm","messageColor","onDismiss","isClearable","claimDate","originalOrderId","mostRecentComment","emptyConfigurationSetting","ConfigurationSettingsAdmin","newItem","showAddNew","handleNewItemFormInput","handleFormInput","toggleAddNewCollapse","handleUnDelete","FieldName","emptyConstructionType","ConstructionTypeAdmin","Seq","addAnyOption","CustomerAdmin","lastAccountFilters","currentList","customerList","currentPageList","currentPage","editView","FamiliarName","Agent","Area","InvoiceTerms","FreightTerms","CustomerCreditType","AccountType","CustomerStatus","ContactPreferenceType","WebsiteUrl","customerIdCaptured","usedByCustomerSearchModal","onClose","onDelete","onViewCustomer","onCustomerSelected","primaryBillToAddressCityState","isWebRegistration","onRevive","CustomerMoreDetails","isBookOpen","isPricingOpen","isCreditOpen","isCreditEditing","pastCustomerSampleBooks","customerSpecialPricing","customerOutstandingCredits","creditPristine","creditCount","pricingCount","bookCount","addNewCredit","loadCreditLine","isCreditFormValid","amount","notes","initialAmount","newcredit","givenOn","applied","credit","creditId","l","Amount","csb","sampleBookName","customerSampleBookStatusName","statusDate","coc","onCreditSave","onCreditCancel","displayInitialAmount","displayAmount","onCreditRevive","onCreditEdit","onCreditDelete","React","MemoAndSamplesTable","isForMemoTable","pastOrders","cpmo","memoOrderId","memoSizeName","typeOfMemoOrderLineStatusName","supplierName","productColorName","CustomerOrderHistory","customerPastOrdersBySupplier","customerPastOrders","customerPastMemoOrders","customerPastOrderPayments","year1DateRange","year2DateRange","year3DateRange","cpobs","decimalYear1Total","decimalYear2Total","decimalYear3Total","o","activeOrderId","agentIdTag","orderStatusName","decimalOrderTotal","orderId","decimalAmountPaid","decimalAmountDue","invoicedOn","paymentTypeName","lastPaidOn","daysToPay","addressType","createSavePayload","addressToSave","IsPrimary","AddressTypeId","CustomerAddress","pagedAddressList","pristineAddress","addressesToSave","pendingDuplicate","loadAddresses","addNew","onInputChange","onSave","toggleMessageVisibility","addressTypeId","addressList","input","ADDRESS_TYPE","BILL_TO","SHIP_TO","isEditingAnything","CustomerAdminContainer","activeCustomerId","computedMatch","prevCustomerId","currentCustomerId","prevCustomerIdFromURL","currentCustomerIdFromURL","prevActiveTab","currentActiveTab","tab","Nav","NavItem","NavLink","primary","TabContent","TabPane","DataRow","header","CustomerDetailsView","contactInfo","customerInfo","showPhone","selectedContact","customerAddressList","customerContacts","expanded","customerAddresses","selectedContactId","crIndex","CardDeck","addressTypeName","togglePhoneInfo","emptyClaim","claimStatus","supplierOriginalInvoiceDate","supplierReplacementInvoiceDate","customerContact","replacementOrderId","creditOrderId","originalProduct","originalColor","originalSize","originalInvoiceAmount","replacementProduct","replacementColor","replacementSize","replacementInvoiceAmount","replacementFreightCarrier","replacementFreightInvoice","replacementFreightAmount","supplierCreditNumber","supplierCreditReceived","totalCreditDue","freightCreditNumber","freightCreditReceived","totalCreditReceived","supplierClaimNumber","supplierOriginalInvoice","supplierReplacementInvoice","complaintText","emptyComment","EditClaim","routeClaimId","claimId","claim","claimAttachments","showCustomerSearchModal","supplierList","comments","showConfirmModal","currentUserName","onSelectChange","updateCurrencyField","onSupplierChange","saveClaim","getClaimAttachments","onToggleCustomerSearchModal","onCustomerSelectedFromSearchModal","getClaimStatuses","getSuppliers","loadClaim","newClaimId","typeOfClaimStatus","typeOfClaimStatusName","supplier","claimComments","local_id","supplierClaimsContact","supplierContactName","supplierContactEmail","ClaimDate","CustomerContact","TypeOfClaimStatus","OriginalOrderId","ReplacementOrderId","CreditOrderId","OriginalProduct","OriginalColor","OriginalSize","OriginalInvoiceAmount","ReplacementColor","ReplacementProduct","ReplacementSize","ReplacementInvoiceAmount","ReplacementFreightCarrier","ReplacementFreightInvoice","ReplacementFreightAmount","SupplierCreditNumber","SupplierCreditReceived","TotalCreditDue","FreightCreditNumber","FreightCreditReceived","TotalCreditReceived","SupplierId","SupplierClaimNumber","SupplierOriginalInvoice","SupplierOriginalInvoiceDate","SupplierReplacementInvoice","SupplierReplacementInvoiceDate","ComplaintText","ClaimAttachmentTypeId","ClaimId","Claim","formatClaimPayload","ClaimComments","ClaimAttachments","formatClaimAttachmentsPayload","claimCopy","contactFirstName","contactLastName","customerShipToAddresses","ca","shippingAddresses","customerNumber","customerContactName","relatedReplacementOrderId","relatedCreditOrderId","originalProductSupplierId","originalProductSupplierName","newComment","localCommentId","commentToSave","previewStyle","display","SaveCancelButtons","onDateChange","selected","textDecoration","handleTypeaheadSelectionChange","fileUploadOnly","removeClaimAttachment","onAddNewComment","changeNewCommentField","onSaveNewComment","onCancelAddNewComment","changeCommentField","onSaveEditedComment","onCancelEditComment","onEditComment","onDeleteComment","fetchOriginalOrderInfo","MaintainProduct","lastProductFilters","mode","added_count","defaultFilter","product_name_list","DC_product_list","active_list","fullList","productIdsToCopyRugPricesTo","getProductSelectsData","onClone","onCancelDialog","onSelectProduct","pt","PRODUCT_TYPE","RUG","paged_list","is_selected","usedByCopyRugSizesModal","productIdToCopyFrom","contains","tempList2","xl","supplierNumber","supplierPhoneNo","onCopyRugPrices","fontStyle","WIDTH_PRODUCT_TYPES","emptyProductColor","colorFamily","emptyRugIntlSize","dscNumeric","cost","EditProductColorsWidths","showEdit","addingRugIntlSize","addingProductColor","newProductColor","selectedProductWidths","newRugIntlSize","showCopyRugPricesModal","productColorAttachmentTypes","getProductColors","getProductWidths","toggleAddRugIntlSize","toggleCopyRugPricesModal","toggleAddProductColor","updateProductColorState","addSelectedWidths","saveNewProductWidths","saveNewRugIntlSize","updateRugIntlSize","isProductColorFormValid","isRugIntlSizeFormValid","saveNewProductColor","updateProductColor","setFirst","PRODUCT_COLOR_EXCLUDED_FILTERS","selections","colorFamilyId","colorFamilyName","ProductAttachmentTypeId","ProductColorImages","formatProductColorImagesPayload","ProductColor","ColorFamilyId","WidthName","productWidthId","rugIntlSizeId","Cost","RugIntlSize","DscNumeric","getRugIntlSizes","TradeSizeId","tradeSizeId","pw","deleteProductWidth","updateRugIntlSizeState","editRugIntlSizeState","onCancelEditRugIntlSize","onEditRugIntlSize","handleDeleteRugIntlSize","handleColorSelects","defaultAttachmentType","editProductColorState","removeProductColorImage","editSelectedColorFamily","onCancelEditProductColor","onEditProductColor","handleDeleteProductColor","handleReviveProductColor","labels","emptyProductMemoSize","memoSize","productColor","shelfNumber","filterMemoSizes","showAll","defaultMemoSizeName","EditProductMemoInventory","addNewProductMemoSize","newProductMemoSize","memoShelfNumber","pristineProductMemoSize","downloadLabel","saveNewProductMemoSize","updateProductMemoSize","productMemoSizeId","getProductMemoSizes","refresh","productMemoSize","memoSizeId","status","Error","MIME_XLSX","onMessageDismiss","float","activeLabel","inactiveLabel","onToggle","setSelectedProductColor","setSelectedMemoSize","handleProductMemoSizeStateChange","updateProductMemoSizeState","ErrorMessage","errors","Expense","lastExpenseFilters","subtract","valueOf","payToList","expenseCategoryList","expenseTypeList","getExpenseTypes","getBooks","bookList","getExpenseCategoriesForClerk","getExpenseCategories","APIlist","isAdmin","descriptionPrefix","showMonthYearPicker","dateFormat","fromDateToExpense","checkNumber","invoiceNumber","payToName","monthName","expenseCategoryName","amountCurrency","expenseTypeName","emptyExpense","items","mth","invoiceDate","paidOn","emptyExpenseItem","expenseCategory","sampleBook","expenseType","formatTotal","EditExpense","expenseId","editExpense","redirectExpenseCategoryAdmin","loadExpense","onItemSelectChange","onItemTextChange","onEditItem","onDeleteItem","reloadExpenseCategory","expenseItem","head","expenses","expense","agentFirstName","agentLastName","expenseCategoryId","expenseTypeId","sampleBookId","Expenses","ExpenseCategoryId","SampleBookId","ExpenseTypeId","PayToName","CheckNumber","InvoiceNumber","InvoiceDate","PaidOn","IsParent","isItemValid","indx","deleteItem","itemId","GroupedButton","placeholderText","addNewExpenseItem","onCreateOption","isDisabled","onSaveItem","onCancelItem","emptyCategory","categoryType","ExpenseCategory","categoryTypes","addExpenseCategory","onSubmitNew","onCategoryTypeChange","getCategoryTypes","ExpenseCategoryTypeId","expenseCategoryTypeId","categoryId","category","expenseCategoryTypeName","cat","updateEditCategoryState","editSelectedCategoryType","onSubmitEdit","emptyExpensePayTo","ExpensePayToAdmin","ForgotPassword","handleEmail","handleSubmit","Redirect","DCLogo","emptyFC","FreightCarrierAdmin","Header","Logout","stopImpersonating","clearImpersonation","logout","Navbar","expand","collapseonselect","NavbarBrand","NavbarToggler","navbar","UncontrolledDropdown","nav","inNavbar","DropdownToggle","caret","DropdownMenu","right","DropdownItem","isDataEntry","isReportingUser","isFinanceClerk","impersonating","divider","children","emptySampleBook","bookType","bookStatus","sequence","reportGroupingOnly","MaintainBooks","sampleBooks","showAddBook","SAMPLE_BOOK_STATUS_TYPE","ACTIVE","newSampleBook","bookTypeList","bookStatusList","componentDidMount","saveNewSampleBook","updateSampleBook","getBookTypes","getBookStatus","sampleBookTypeId","sampleBookTypeName","sampleBookStatusId","sampleBookStatusName","changed_filter","bookTypeId","bookStatusId","SampleBookTypeId","SampleBookStatusId","Sequence","ReportGroupingOnly","sampleBookIndex","toggleAddSampleBookCollapse","getSelectedBookType","setSelectedBookType","handleSampleBookStateChange","getSelectedBookStatus","setSelectedBookStatus","updateSelectedBookType","updateSampleBookState","updateSelectedBookStatus","columnCountOptions","range","n","statusOptions","CUSTOMER_SAMPLE_BOOK_STATUSES","CUSTOMER_SAMPLE_BOOK_STATUS_IDS","colorClass","CUSTOMER_SAMPLE_BOOK_STATUS_COLORS","backorder","rejected","shipped","activeOnlyFilter","MaintainSamples","getElementById","classList","sampleList","columnCount","loading","currentStatusId","updatingIds","checkAllForCustomerId","checkAllForBookId","selectedSampleBooks","sampleBookList","selectedCustomers","selectedCustomerNumbers","resolveSampleGrid","onSelectSample","clearSpinnerTimeout","checkAllForCustomer","getSampleBookTypeAhead","handleBookFilterChange","getCustomerTypeAhead","handleCustomerFilterChange","getCustomerNumberTypeAhead","handleCustomerNumberFilterChange","getAgentList","getSampleBookOptions","checkingAllForCustomerId","sampleBookIds","customerSampleBookStatusId","backorderDate","isManagementShipment","activeOnly","ActiveOnly","StatusTypeList","BookName","inputValue","catchHanlder","bookPayload","customerPayload","SampleBookIdList","IdList","AccountNumberList","samplePayload","CustomerIdList","sampleResults","tempCustomerList","customerSampleList","book","determineSampleToPush","statusId","bookId","sampleToPush","isSelected","enteredAt","spinnerTimeout","clearTimeout","indexToEdit1","tempCustomerSampleList","indexToEdit2","sampleToEdit","isSame","borderRadius","padding","borderColor","borderWidth","for","position","left","loadOptions","debounce","maxWidth","Spinner","resolveTitle","resolveColor","emptyMemoOrderLine","typeOfMemoOrderLineStatus","lastStatusAt","commentCount","emptySampleOrderLine","emptyOrderLineComment","commentType","markedForDeletion","memoOrderLines","orderline","sampleOrderLines","memoOrderLineStatusList","memoOrderLineToAddEdit","sampleOrderLineToAddEdit","showMemoOrderLineForm","showSampleOrderLineForm","newMemoOrderLineComment","newSampleOrderLineComment","memoOrderLineCommentList","sampleOrderLineCommentList","commentTypeList","editingMemoOrderLineNotes","editingSampleOrderLineNotes","selectAllMemoOrderLinesCheckboxSelected","selectAllSampleOrderLinesCheckboxSelected","productList","loadingProductOptions","loadingSampleBookOptions","deletingMultipleOrderLines","setMemoOrderLineLastStatusAtDate","setSampleOrderLineLastStatusAtDate","onEditMemoOrderLine","onEditSampleOrderLine","setSelectedProduct","fetchProductMemoSizes","fetchProductSelectsForOrderLineToEdit","onSelectAllMemoOrderLinesCheckbox","onSelectAllSampleOrderLinesCheckbox","onSelectIndividualMemoOrderLineCheckbox","onSelectIndividualSampleOrderLineCheckbox","saveMemoOrderLine","updateSelectedMemoOrderLines","deleteSelectedMemoOrderLines","moveSelectedMemoOrderLinesToNewOrder","getProductOptions","refreshProductOptions","onSampleBookChange","onSaveMemoOrderLineNote","onSaveSampleOrderLineNote","showDeleteMemoOrderLineConfirmationModal","showMoveSelectedConfirmationModal","products","commentTypes","DCName","HasMemoSize","HasColors","ProductTypeList","CARPET","INTL_RUG","ROLL_RUNNER","BORDER_OR_BINDING","CARPET_TILE","SAMPLE","SQUARE_FOOT_RUG","callback","ol","productDCName","productDCNumber","sampleBookStock","productMemoShelfNumber","memoOrderLineStatus","productSupplierName","orderLineComments","memoOrderLineComments","indexOf","commentTypeId","commentTypeName","lastSampleReceivedAt","productColorsList","selectedProductColorId","ms","defaultMemoSizeId","orderLineToAddEdit","formatOrderLineCommentsForDto","saveNewMemoOrderWithOrderLine","orderLineToUpdate","updateToShipped","updateToBackOrdered","MEMO_ORDERLINE_STATUS","SHIPPED","BACKORDER","memoOrderLinesSelected","sampleOrderLinesSelected","linesSelected","linesToUpdate","linesToDelete","orderLineId","orderLineCommentList","OrderLineId","CommentTypeId","MarkedForDeletion","memoOrderLine","sampleOrderLine","memoOrderLineToDeleteId","isMemoOrderLineCommentValid","isSampleOrderLineCommentValid","commentId","setMemoOrderLineStatus","defaultOptions","handleMemoOrderLineQtyChange","Badge","onChangeMemoOrderLineComment","updateMemoOrderLineCommentDscField","onSaveMemoOrderLineEditedComment","onCancelMemoOrderLineEditComment","onEditMemoOrderLineComment","onDeleteMemoOrderLineComment","onToggleMemoOrderLineNotes","updateMemoOrderLine","saveNewMemoOrderLine","toggleAddMemoOrderLineCollapse","border","PENDING","setSampleOrderLineStatus","handleSampleOrderLineQtyChange","onChangeSampleOrderLineComment","updateSampleOrderLineCommentDscField","onSaveSampleOrderLineEditedComment","onCancelSampleOrderLineEditComment","onEditSampleOrderLineComment","onDeleteSampleOrderLineComment","onToggleSampleOrderLineNotes","toggleAddSampleOrderLineCollapse","currentUserId","getCurrentUser","username","emptyMemoOrder","sidemark","contactEmail","memoShipMethod","MEMO_SHIP_METHOD","FEDEX_GROUND","trackingNumber","createdByUser","MemoOrders","lastMemoOrderFilters","suppliers","contactTypeList","contactAddressTypeList","supplierIdCaptured","memoOrder","memoShipMethods","setSelectedShippingContact","setSelectedShippingAddress","handleCreatedAtInputChange","getMemoOrderLineStatues","getMemoShipMethods","memoShipMethodsList","memoShipMethodId","memoShipMethodName","creatdByUserName","createdByUserId","scrollTo","memoOrderCopy","phoneNumber","ad","savingNewMemoOrderWithOrderLine","MemoShipMethodId","TrackingNumber","onSubmitNewMemoOrderWithOrderLine","hasMemoBilledSampleForm","handleMemoOrderStateChange","setSelectedMemoShipMethod","emptyMemo","MemoSizes","emptyMemoStockOrder","MemoStockOrders","memoStockOrders","memoStockOrderToAddEdit","showMemoStockOrderForm","memoStockReceived","editingReceiving","editingMemoOrder","handleEdit","productsList","sto","productSupplierNumber","fiber","inventory","qtyReceived","selectedColorMemoSizeList","allProductMemoSizes","stockId","memoStock","scrollIntoView","memoStockOrderId","memoStockOrderQty","isReceiveFormValid","MemoStockReceived","MemoStockOrderId","toggleAddMemoStockOrderCollapse","handleMemoStockOrderStateChange","saveNewMemoStockOrder","saveAndReceiveNewMemoStockOrder","outline","receiveMemoStockOrder","cancelReceiveMemoStockOrder","markMemoStockLineAsReceiving","emptyMillReserve","reserveNumber","fob","MillReserves","millReserves","millReserveToAddEdit","showMillReserveForm","fetchProductWidths","fetchListsForMillReserveToEdit","getSupplier","mr","supplierAccountNumber","millAgentPhoneNumber","lastReservedAt","customerContactFirstName","customerContactLastName","customerPhone","millReserve","ReserveNumber","Width","WidthText","Feet","FOB","rereserving","toggleAddMillReserveCollapse","setSelectedSupplier","handleMillReserveStateChange","setSelectedWidth","updateMillReserve","saveNewMillReserve","NotFound","EDGE_TYPES","ORDER_LINE_TYPES_DONT_SHOW_FREIGHT","RUG_BORDER","COMPONENT_ORDER_LINE_TYPES","MODAL_DELETE_CONFIRMATION_TYPES","rugComponentTypeList","PAD_CUT_COST","PAD_CUT_PRICE","emptyOrder","orderNumber","orderStatus","OPEN","isDistinctiveOrder","isReplacementOrder","isCreditOrder","referencesOrder","btContactFirstName","btContactLastName","btContactEmail","btAddressLine1","btAddressLine2","btAddressLine3","btAddressLine4","btCity","btState","btZip","btPhone","btFax","relatedReplacementOrders","emptyOrderLine","parentOrderLineId","orderLineType","cmsn","isHidden","orderLineStatus","ORDER_LINE_STATUS","NA","priceUnitType","squareFeetRequired","creditCardSurchargeRate","taxRate","rugSize","rugType","rugIntlCollection","rugIntlSize","cartonCount","freightCarrier","freightInvoiceNumber","freightBolNumber","freightDsc","freightCost","freightPrice","stContactFirstName","stContactLastName","stContactEmail","isPrivate","emptyRugOrderLine","customRugComponentProducts","currentAgentCmsnRate","rugEditsValid","rugHasClippedCorners","rugClippedCornersCost","DefaultClippedCornersProduct","rugClippedCornersPrice","rugHasLaborCutout","rugLaborCutoutCost","DefaultLaborCutoutProduct","rugLaborCutoutPrice","rugHasLaborRound","rugLaborRoundCost","rugLaborRoundPrice","rugHasCutCharge","rugCutChargeCost","rugCutChargePrice","rugHasEndArmor","rugArmorCost","rugArmorPrice","rugHasInboundFreight","selectedInboundFreight","rugInboundFreightCost","rugInboundFreightPrice","rugHasBacking","rugHasPad","rugSerged","rugMachineSerged","rugHiddenStitch","rugDsc","searchingProduct","searchProductFailed","selectedFieldColor","selectedFieldWidth","fieldWidthList","selectedBinding","repeatDsc","fieldCostPer","totalFieldCost","fieldPricePer","totalFieldPrice","fieldCmsnRate","fieldCmsn","fieldPriceUnitType","totalRugBackingUnits","selectedPad","padList","hasPadCutCharge","padCutCost","padCutPrice","selectedPadWidth","padWidthList","totalPadUnits","padLengthFeet","padCostPer","totalPadCost","padPricePer","totalPadPrice","padCmsnRate","padCmsn","padPriceUnitType","selectedSerging","selectedMSerging","selectedHSSerging","selectedRugBindingStyle","rugBindingList","selectedRugBindingColor","rugBindingColorList","rugBindingCostPer","totalRugBindingCost","rugBindingPricePer","totalRugBindingPrice","rugBindingCmsnRate","rugBindingCmsn","emptyOrderPayment","paymentType","PAYMENT_TYPE","EXTENDED_CREDIT","customerPaymentStatus","referenceNumber","amountDue","amountPaid","billOn","dueOn","forWhat","expDate","cardNumber","billingName","billingZip","creditCardType","emptyOrderFulfillment","orderFulfillmentStatus","amountPosted","billDate","dueDate","payDate","isPayToSupplier","invoiceOptions","TYPE_OF_INVOICE","CUSTOM_DSC2","TABS","GENERAL_INFORMATION","LINE_ITEMS","PAYMENT","FULLFILLMENT","FINAL_REVIEW","PRINT","OrderEntry","showCancelOrderModal","generalOrderSaved","monthList","yearList","orderStatusList","userList","freightCarrierList","customerPaymentStatusList","credtiCardTypeList","orderFulfillmentStatusList","totalOrderCost","totalOrderPrice","orderFulfillments","orderPayments","verifications","orderFulfillment","addNewFulfillment","orderPayment","paymentTypeList","selectedCustomer","creditCardTypeList","sumOfPayments","balance","newOrderLineComment","showOrderLineForm","orderLineCount","editingFreight","editingNotes","notesList","orderLineTypeList","orderLineStatusList","addUpdatePayment","orderFulfillmentsTotalDue","orderFulfillmentsTotalPosted","orderFulfillmentsBalance","customRugToViewEdit","confirmationModalOrderLineId","confirmationModalType","confirmationModalComponentLines","colorOptOut","generatingReplacement","showOrderLineStatusModal","backOrderOrShippedDate","hasSalesTaxOrSurcharge","selectedRugEdge","mSergingList","hsSergingList","customDescription","customDescription2","invoiceType","onClickCancelButton","yesCancelOrder","noCancelOrder","handleOrderStatusSelectChange","handleTakenBySelectChange","handleOnPlacedByInputChange","handleCustomerSelectChange","handleOrderInputChange","handleAgentSelectChange","onReferencesOrderChange","isGeneralInfoFormValid","saveOrderEntryGeneralInfo","isOrderLineFormValid","setSelectedBillingContact","setSelectedBillingAddress","saveOrderLine","formatSavedOrder","formatSavedOrderLines","formatSavedOrderPayments","handleDateReceivedChange","createInitialOrderFulfillments","isOrderPaymentFormValid","isOrderFulfillmentFormValid","downloadReprint","transformItemToRugComponentOrderLine","toggleCutCharge","toggleArmor","toggleInboundFreight","toggleBacking","togglePad","toggleClippedCorners","toggleLaborCutout","toggleLaborRound","toggleEdgeOptions","initializeRugOrder","refreshRugDescription","rugSizeChange","fieldSizeChange","setRugEdge","onHasPadCutChargeChange","borderSizeChange","generateReplacementCredit","applyVolumePricingIfNecessary","loadInvoiceDynamicDsc","getOverallStatus","renderWorkorderForm","onChangeAdditionalRugField","getOrderSelectsData","CUSTOM_DSC","getExistingOrder","customRugProducts","orderStatusTypeList","formatOrderLineTypeList","formatSavedOrderFulfillments","invoiceState","invoice","io","typeOfInvoice","SALES_TAX","orderLineTypeId","CREDIT_CARD_SURCHARGE","getOrderTotals","customerCredits","getMilliseconds","updatedCustomRugToViewEdit","getCustomerCallback","tempOrderLines","orderLineTypeName","tempOrderPayments","paymentTypeId","tempOrderFulfillments","totalOrderCostDisplay","totalOrderPriceDisplay","estimatedGrossProfit","estimatedGrossProfitDisplay","estimatedNetProfit","estimatedNetProfitDisplay","sumOfPaymentsDisplay","balanceDisplay","totalWithoutCreditCardSurcharge","sumOfTaxableItems","orderFulfillmentsTotalDueDisplay","orderFulfillmentsTotalPostedDisplay","orderFulfillmentsBalanceDisplay","FREIGHT","orderStatusId","referencesOrderId","formattedOrderLines","newShape","rugShape","rugShapeId","rugShapeName","cmsnRate","orderLineStatusId","orderLineStatusName","productSquareFeetPerCarton","productPerContainer","freightCarrierId","freightCarrierName","run","borderLetter","rugTypeId","rugTypeName","rugIntlCollectionId","rugIntlCollectionName","rugIntlSizeDsc","rugStyle","finishedEdge","laborCost","totalAgreedCharges","rugOrderLines","parentOrderLine","fol","componentLine","customerPaymentStatusId","customerPaymentStatusName","creditCardTypeId","creditCardTypeName","deactivatedByUserId","orderFulfillmentOrderLines","orderLineCost","orderFulfillmentStatusId","orderFulfillmentStatusName","redirectToOrders","selectedBillingAddress","ReferencesOrderId","setGeneralOrderSavedFlag","MISCELLANEOUS","RUG_COMPONENT","getOrderLineCorrespondingProductType","borderCmsnRate","onAddNewOrderLine","padProductsList","inboundFreightProductList","DefaultFabricationChargeProduct","DefaultPremiumWoolSergingChargeProduct","emptyRugLine","rugIntlSizeList","volumeCost","volumePrice","rollSize","productAllowCommission","allowCommission","nonVolumeUnitCost","nonVolumeUnitPrice","newRugDsc","forOrderLineStatus","isOrderLineCommentValid","alreadyExists","selectedBorder","borderLengthFeet","borderLengthInches","borderCostPer","totalBorderCost","borderPricePer","totalBorderPrice","borderCmsn","formattedOrderLineForDto","UnitCost","CmsnRate","Cmsn","IsHidden","OrderLineStatusId","SquareFeetRequired","RugSize","RugTypeId","RugIntlCollectionId","CreditCardSurchargeRate","TaxRate","surchargePrice","taxRatePrice","freightOrderLineId","FreightCarrierId","FreightInvoiceNumber","FreightBolNumber","TypeOfComment","IsPrivate","parseFieldLine","parseBorderLine","parseMiscLine","freightOrderLine","formatFreightOrderLineForDto","childItem","componentOrderLine","ComponentOrderLine","getOrderLines","getOrderFulfillments","cancelAddOrUpdateOrderLine","formatOrderLineForDto","parentItem","updatedByUserId","fieldRun","mergedOrderLine","mergeOrderLine","fetchAppropiateDataForSelects","Math","floor","inchesDec","inchesDec2","selectedBorderColor","selectedBorderWidth","borderPriceUnitType","totalBorderUnits","volumePricingApplied","isSaving","updatedOrderLine","productDsc","productColorDsc","widthDsc","lengthDsc","qtyDsc","priceUnitDsc","cartonOrCartonsString","PHONE_TYPE","faxNumbers","FAX","faxNumber","billingAddresses","orderLineComponentLines","rugOrderLineId","componentLineIds","cl","linesToDeleteIds","payment","BTFax","isBillingInfoFormValid","BillingInfoDto","formatBillingInfoPayload","CASH","CHECK","CREDIT_CARD","REBATE","CustomerPaymentStatusId","CustomerPaymentStatusName","ReferenceNumber","AmountPaid","ForWhat","PaymentTypeId","ExpDate","CardNumber","BillingName","BillingZip","CreditCardTypeId","CreditCardTypeName","DeactivatedAt","DeactivatedByUserId","CustomerCreditId","customerOutstandingCredit","OrderPaymentDto","formatOrderPaymentPayload","getOrderPayments","orderPaymentId","orderFulfillmentId","fulfillment","OrderFulfillmentStatusId","AmountDue","AmountPosted","Notes","BillDate","DueDate","PayDate","formatOrderFulfillmentForPayload","setRugValidity","edgeOptionsOpen","rugEdgeName","edgeSuffix","rugDescription","setSelectedPad","sergingSelected","mSergingSelected","hsSergingSelected","updateSergingTotals","updateMSergingTotals","updateHSSergingTotals","sendScrap","newLines","ln","lineId","printing","pdfWindow","fileURL","close","setFieldDefaultSize","defaultPadRequired","resp","applyDefaultSizes","updateFieldTotals","calculateFieldDsc","dimA","dimB","shorter","longer","padSizeChange","updatePadTotals","SQ_FT","SQ_YARDS","updateRugBindingTotals","calculateBorderDsc","borderColorList","updateBorderTotals","customRugOrderLine","fieldInches","isCustomRugOrderLineFormValid","padOrderLine","bindingOrderLine","parseEdgeLine","parsePadLine","parseBindingLine","WidthFeet","RepeatDsc","Run","BorderLetter","BorderWidth","miscLine","Hidden","MAT_EMERY_PARK","LIN_FT","IN_STOCK","SupplierProductId","lineOrder","isSignOffForm","InvoiceTypeId","CustomDescription","CustomDescription2","IsSignOffForm","overallStatus","lBackorderDate","unShipCnt","shipCnt","MEMO_BLD","orderLinesToMapOver","onSaveNote","handleStatusOrderCancel","showOrderLineDeleteConfirmationModal","handleOrderLineDelete","handleCustomRugOrderLineDelete","handleDeleteConfirmationCancel","setMonth","minWidth","spin","hasTaxCertificate","handleOrderLineTypeChange","handleFormSelectChange","handleOrderLineStateChange","onNoColorSelected","handleWidthSelectChange","handleRugIntlSizeChange","setFinishedRugSize","InputGroupAddon","addonType","required","handleRugOrderLineStateChange","handleRugShapeSelectChange","setSelectedField","handleRugFormSelectChange","handleFieldWidthSelectChange","setSelectedBorder","handleBorderWidthSelectChange","updateOrderLineRateOrCurrencyField","InputGroup","InputGroupText","InputGroupButtonDropdown","setSelectedInboundFreight","updateRugBackingTotals","handlePadWidthSelectChange","setSelectedRugBindingStyle","customerShipppingContact","selectedShippingAddress","onChangeOrderLineComment","handleOrderLineCommentSelectionChange","updateCommentTypeField","updateCommentDscField","updateCommentIsPrivateField","onToggleFreight","onToggleNotes","saveCustomRugOrderLine","returnToMainOrderLineScreen","oc","updateCustomRug","updateOrderLine","handleOrderLineUndelete","saveBillingInfo","handlePaymentTypeChange","CREDIT","handleOrderPaymentStateUpdate","updateOrderPaymentRateOrCurrencyField","handleCreditCardTypeChange","handleOutstandingCreditChange","saveOrderPayment","cancelAddOrUpdatePayment","onAddNewPayment","updateOrderPayment","check","handleOrderFullfillmentSelectChange","handleFulfillmentStateUpdate","saveOrderFulfillment","paddingTop","updateOrderFulfillmentStatus","supplierPayToName","orderLineDsc","handleEditFulfillmentStateUpdate","editFulfillmentDateChange","onCancelEditOrderFulfillment","editOrderFulfillment","reviveOrderFulfillment","deleteOrderFulfillment","fontSize","backgroundColor","recalculateSalesTaxAndSurcharge","something","marginLeft","Orders","lastOrderFilters","sortColumn","SORT_DIRECTION","descending","ordersList","fetching","deletingRevivingId","totalPrice","totalPriceCurrency","ascending","orderItem","emptyPile","Pile","newPile","addNewPile","fiberGroup","fiberGroupId","pileId","piles","pile","FiberGroupId","handleNewPileStateChange","saveNewPile","updatePileState","updatePile","emptyProduct","webCategories","standardCustomRugDsc","yarnBrand","pileType","rawCost","netVolumeCost","useCost","specPrice","productStatus","constructionType","carpetProductType","colorAndGrainType","installGrade","installMethod","faceWeight","warranties","ply","edge","collectionSeq","pileHeight","orderByDC","showOnWeb","salableAsStandardCustomRug","showSampleInventory","isCustomRugProduct","hasRemoteInventory","cleaningComment","backingType","emptyMiscProduct","emptyIntlRugProduct","ProductDetailsContainer","routeProductId","unbrandedYarnBrand","priceUnitEach","priceUnitTypeList","backingTypeList","accountNumber","sampleBookProducts","selectedSampleBook","isClone","productDetailsAttachmentTypes","getProductToEdit","updateProductState","handleMultiFormSelectionChange","handleCheckboxChange","calcSpecialPriceMargin","onBookSelect","saveNewProduct","removeBook","getProductAttachments","yarnBrandId","yarnBrandName","productTypeId","pileTypeId","rugComplexity","rugComplexityId","rugComplexityName","productStatusId","productStatusName","carpetProductTypeId","carpetProductTypeName","installGradeId","installGradeName","colorAndGrainTypeId","colorAndGrainTypeName","ybList","yb","PRODUCT_DETAILS_EXCLUDED_FILTERS","installMethodId","installMethodList","specialPrice","selectedSampleBookProducts","books","DCNumber","SupplierName","SupplierNumber","WebProductDescription","StandardCustomRugDsc","YarnBrandId","ProductTypeId","PileTypeId","DefaultMemoSizeId","RugComplexityId","RawCost","NetVolumeCost","VolumeCost","VolumePrice","ProductStatusId","ConstructionTypeId","CarpetProductTypeId","ColorAndGrainTypeId","PatternMatch","FaceWeight","RollSize","Repeat","Warranties","Thickness","Ply","ItemWidth","ItemLength","Edge","PerContainer","SquareFeetPerCarton","MemoShelfNumber","InstallGradeId","CollectionSeq","BasicSpecs","CleaningComment","PileHeight","ShowOnWeb","ShowSampleInventory","IsCustomRugProduct","HasRemoteInventory","InstallMethod","AllowCommission","IsRugQuotable","BackingTypeId","sampleBookProduct","Product","formatProductPayload","WebCategories","SampleBookProducts","formatSampleBookProductsPayload","ProductAttachments","formatProductAttachmentsPayload","tempEmptyProduct","u","updateProduct","millAgentName","millAgentEmail","millAgentPhone","now","handleProductTypeChange","sb","pa","removeProductAttachment","Profile","setCurrentUser","ResetPassword","resetToken","password","password_again","handlePassword","handlePasswordAgain","oldPassword","newPassword","ShippingConsole","pendingMemoOrders","backorderedMemoOrders","pendingMemoOrderLines","toggleCollapse","getPendingMemoOrderLines","pmo","collapse","backorderedMemoOrderLines","pmol","bmo","SignIn","handlesBlur","touched","lastUsername","tmp","Username","Password","autoFocus","handleUsername","Suppliers","samplesEmail","UpdatePassword","change_password","change_password_again","onUpdatePassword","onUpdatePasswordAgain","OldPassword","NewPassword","emptyUser","roles","isOfficeStaff","RoleSelection","inputMaxLengths","EditUser","handleIsOfficeChange","checkboxHandler","userRoles","initialPassword","isChecked","USER_ROLES","UserAdmin","renderEditButtons","toggleActivation","isActive","roleIdList","role","rid","onSuccess","FirstName","LastName","Email","PhoneList","AddressList","TypeOfPhone","TypeOfAddress","onLn1Change","onLn2Change","onLn3Change","onLn4Change","onCityChange","onStateChange","onZipChange","onFirstNameChange","onLastNameChange","onEmailChange","newPhoneList","newAddressList","addresList","onSaveContact","onNumberChange","onTypeOfPhoneSelection","ViewSupplier","activeSupplierId","supplierInfo","supplierContactList","emptyWidth","numericFeet","newWidth","addNewWidth","NumericFeet","handleNewWidthStateChange","onBlurNewNumericFeetField","saveNewWidth","updateWidthState","onBlurUpdatedNumericFeetField","updateWidth","emptyYarnSupplier","includeInReport","YarnSupplierBrand","yarnSuppliers","editYarnBrandForSupplier","yarnSupplier","addNewYarnSupplier","onSupplierNameChange","onIncludeInReportChange","IncludeInReport","newInclude","yarnSupplierId","updateYarnSupplierState","editIncludeInReportChange","onAddOrEditBrands","relatedSupplier","AddOrEditBrands","newBrandName","editBrandName","refreshBrandList","onNewBrandNameChange","saveNewBrand","brandName","YarnSupplierId","oldBrandName","borderBottom","onEditBrandNameChange","saveTempBrandName","saveEditedBrand","cancel","Reports","renderParameters","paramList","segments","segmentKey","names","parameterType","REPORT_PARAMETER_TYPES","Boolean","prompts","setParameterValue","Integer","Text","DateRange","ApiList","typeahead","loadApiListOptions","apiRoute","apiKeyAttribute","apiValueAttribute","onDropdownSelection","multi","reportGroups","flatReports","parameters","displayTemplateModal","templateFile","selectedReport","saveReportTemplate","showTemplateModal","generateReport","onReportSelect","parseParameters","rg","reports","enabled","groupName","rpt","report","rp","hidden","isAfter","rawParameters","date_range","FormData","append","reportName","typeOfRender","RENDER_TYPES","Excel","ext","CSV","PDF","renderExtension","getTime","FileReader","onload","readAsDataURL","blobToDataURL","dataurl","defaultParameters","fetches","valueAttribute","labelAttribute","parameterName","parameterIndex","paramToChangeIndex","paramToChange","constructor","Array","description","emptySupplier","supplierGroupId","contactTypeId","EditSupplier","added_order_count","editSupplier","supplierGroupList","loadSupplier","onSupplierGroupSelected","getSupplierGroups","newSupplierId","supplierGroup","supplierGroupName","newSupplierGroup","supplierDto","AccountNumber","SupplierGroupId","g","SamplesEmail","ContactTypeId","contactType","MillAgentEmail","MillAgentName","MillagentPhone","SupplierPhoneNo","Supplier","GroupedButtons","MultiOrderPayable","selectedSupplier","selectAll","datePaid","onSelectionChange","getAccountOrders","onDatePaidChange","paymentAmount","OrderPayables","selectedTotalDue","selectedTotalAmount","onCheckNumberChange","onApplyCheckNumber","onSelectAll","emptyAgentSampleBook","quantity","shipDate","AgentSampleBookInventory","pristineItem","onBookSelection","onShipDateChange","onAddNew","sampleToSave","agentSampleBook","Quantity","ShipDate","AgentContact","phoneList","pristinePhone","editingAddress","editingPhone","loadContacts","addressValid","phoneValid","onDeleteAddress","onDeletePhone","onAddressTextChange","onPhoneTextChange","getPhoneType","getAddressType","phoneTypeId","agentHasExistingPrimaryAddress","Addresses","PhoneNumbers","agentHasExistingPrimaryPhone","phoneToSave","PhoneTypeId","onAddNewAddress","onSelectAddressTypeChange","onAddressPrimaryChange","onSaveAddress","onAddNewPhone","onSelectPhoneTypeChange","onPhonePrimaryChange","onSavePhone","emptyAgent","ssn","EditAgent","loadAgent","formatSSN","ein","replaceAll","departureDate","SaveButton","AgentAdminContainer","activeAgentId","login","register","SqSignIn","handleChange","accountNo","existingAccountNo","newPasswordAgain","accountVerified","accountAlreadyRegistered","registering","emailAlreadyRegistered","emailVerified","toggleTab","handleRegister","validateLoginForm","redirectToScreen","SquarespaceLogout","setCurrentCustomer","AccountNo","redirectUrl","cookieToken","cookieCustomer","autoComplete","SqLogout","SqForgotPassword","SqResetPassword","SqSalesRepScreen","salesRepList","fetchAgentList","redirectToContactScreen","FullName","agentsGroupedByState","groupBy","stateSections","STATES_LIST","stOption","stateRepsList","_repList","stateKey","stateName","repList","sections","columnGroupSize","chunk","colGroup","stateList","rep","SalesTransfer","selectedArea","selectedAgent","onExecute","aggResult","emptyFiberGroup","FiberGroupAdmin","SqOrders","productPatternMatch","SqPriceList","downloadType","typeOfPricing","Impersonate","redirectToHome","onChangeUsername","setImpersonation","component","LoginRoute","extraProps","render","authenticated","AuthRoute","rootComponent","app","SetImpersonation","SetCurrentUser","SQRoute","_props","nowTime","App","parsedCustomerCookie","loa","loggedOnAt","adminToken","authenticationToken","logoutMessage","loggingOut","ClearImpersonationMessage","ClearImpersonationMessageFlavor","StartTimer","SetLastActivity","Authenticated","onDismissSignInMessage","ClearImpersonation","ClearImpersonationPersistence","SetCurrentCustomer","addEventListener","removeEventListener","clearInterval","intervalId","setInterval","CompareSquarespaceLastActivity","VerifySquarespaceAuthentication","CompareTimerToLastActivity","VerifyAuthentication","adminUser","adminUserToken","reload","effect","stack","limit","html","z-index","preserveContext","path","exact","library","faEye","faAngleUp","faAngleDown","faFilter","faExclamationTriangle","faSearch","faClipboardCheck","faCheckCircle","faArrowCircleRight","faPlusCircle","faAngleDoubleDown","faFileCsv","faEdit","faTimesCircle","faTrash","faRecycle","faInfoCircle","faUser","faFileUpload","faPrint","faComments","faImages","faSave","faHome","faCheck","faPlus","faBackspace","faMinus","faGripLines","faTimes","faTrashAlt","faReply","faSyncAlt","faExchangeAlt","faSignInAlt","faRetweet","faShare","faClone","faFilePdf","faFacebookF","faPinterestP","faTwitter","faBars","faShoppingCart","faUserCircle","faCartPlus","faSpinner","faCut","faFileContract","faFileSignature","faCompress","faLongArrowAltLeft","faAngleRight","faAngleLeft","faAngleDoubleRight","faAngleDoubleLeft","getElementsByTagName","getAttribute","history","createBrowserHistory","basename","goBack","back","rootElement","FallbackComponent","componentStack","CustomerTypeahead","onSelect","clearSelection","expert","DropzoneUploader","file_to_upload","typeOptions","onDrop","removeFile","currentState","rejectedFiles","reader","imageTypeSelection","newFiles","CardTitle","preview","handleImageTypeSelect","FilterBoolean","selectedOption","selectedIndex","FilterMultiSelect","getValues","appliedValues","valuesDisplay","vals","selectedValues","classNamePrefix","FilterSelect","multiSelect","onBlurResetsInput","onSelectResetsInput","onCloseResetsInput","FilterSet","toggleFilter","getFilterDisplay","filterDisplay","filterDisplayText","FilterText","minLength","FilterDate","stringFormat","dateDisplay","customFilterClassName","InputDebounce","resolvedValue","forceInteger","MobileFilterSet","PaginationItem","PaginationLink","SortHeader","dir","callBackDir","paddingRight","initialState","ODD_SHAPES","NOT_APPLICABLE","lable","NONE_INTERNATIONAL_RUG_COLLECTION","yr","getYearList","RENDER_TYPE_LIST","CANCEL","CLOSED","PRODUCT_STATUS","CURRENT","KEY_PRODUCT","INACTIVE","DROPPED","HOME","CELL","OFFICE","TOLL_FREE","PO_BOX","SAMPLES_ONLY","PRODUCT_IMAGE_B","PRODUCT_IMAGE_C","PRODUCT_COLOR_IMAGE_B","PRODUCT_COLOR_IMAGE_C","CUSTOMER_TAX_CERTIFICATE","CLAIM_IMAGE","LATEX","OTHER","STK_DYLOT","IN_PROCESS","SHIP_TO_GA","RESERVE","DELIVERED","DELAY_SHIP","MILL_PICKUP","IN_STK_CA","MAT_STAR","MAT_MCC","MAT_DCR","MAT_DERNIER","MAT_GE","CARPET_PRODUCT_TYPE","UNKNOWN","INTERNATIONAL","DOMESTIC","faxed","FEDEX_EXPRESS","USPS_PRIORITY","INVOICE_TERMS","CBD","NET30","MIME_CSV","MIME_PDF","Acknowledgement","Invoice","Proforma","Quote","dcProductId","EMERY_PARK","DESIGN_MATERIAL"],"mappings":"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","file":"static/js/main.163d28ab.chunk.js","sourcesContent":["import _ from \"lodash\";\r\nimport * as constants from \"./constants\";\r\nimport * as api from \"./api\";\r\n\r\nconst priceDefaults = constants.default.CUSTOM_RUG_DEFAULT_PRICES;\r\nconst sergingList = constants.default.SERGING_LIST;\r\nconst machineSergingList = constants.default.MACHINE_SERGING_LIST;\r\nconst miteredList = constants.default.MITERED_LIST;\r\nconst apiPost = api.default.post;\r\n\r\nconst { RUG_BACKING_PRICE_PER, RUG_BACKING_COST_PER } = priceDefaults;\r\n\r\nconst MIN_REPEAT = constants.default.MIN_REPEAT;\r\n\r\nfunction getMinRepeat(selectedField, fieldRepeatLength, fieldRepeatWidth) {\r\n let defaultRepeatInches = Number(MIN_REPEAT);\r\n if (selectedField) {\r\n const repeatLengthInches = fieldRepeatLength ? Number(fieldRepeatLength) : 0.0;\r\n const repeatWidthInches = fieldRepeatWidth ? Number(fieldRepeatWidth) : 0.0;\r\n if (repeatLengthInches > defaultRepeatInches \r\n || repeatWidthInches > defaultRepeatInches) \r\n {\r\n defaultRepeatInches = _.ceil(_.max([repeatLengthInches, repeatWidthInches]));\r\n }\r\n }\r\n return _.round(defaultRepeatInches, 2).toFixed(2);\r\n}\r\n\r\nfunction calculateSqFeetAndFinEdgeFt(\r\n rugLengthFeet,\r\n rugLengthInches,\r\n rugWidthFeet,\r\n rugWidthInches\r\n) {\r\n if (!rugWidthInches) {\r\n rugWidthInches = 0;\r\n }\r\n let widFt = rugWidthInches / 12 + parseFloat(rugWidthFeet.toString());\r\n let sqFt;\r\n let finishedEdgeFt;\r\n if (isNaN(widFt)) {\r\n sqFt = 0;\r\n finishedEdgeFt = 0;\r\n return { sqFt: null, finishedEdgeFt: null };\r\n }\r\n let linFt = rugLengthInches / 12 + parseFloat(rugLengthFeet.toString());\r\n sqFt = _.round(linFt * widFt);\r\n finishedEdgeFt = _.round(2 * linFt + 2 * widFt);\r\n return {\r\n sqFt: sqFt,\r\n finishedEdgeFt: finishedEdgeFt,\r\n };\r\n}\r\n\r\nfunction calculateRugExtraCosts(orderLine, sqFt, finishedEdgeFt, showCosts) {\r\n let {\r\n rugBackingPricePer,\r\n rugBackingCostPer,\r\n rugBackingCmsnRate,\r\n sergingPricePer,\r\n sergingCostPer,\r\n sergingCmsnRate,\r\n mSergingPricePer,\r\n mSergingCostPer,\r\n mSergingCmsnRate,\r\n hsSergingPricePer,\r\n hsSergingCostPer,\r\n hsSergingCmsnRate,\r\n } = orderLine;\r\n if (!rugBackingPricePer) {\r\n rugBackingPricePer = RUG_BACKING_PRICE_PER;\r\n }\r\n if (!rugBackingCostPer) {\r\n rugBackingCostPer = RUG_BACKING_COST_PER;\r\n }\r\n // if (!showCosts) {\r\n if (!sergingPricePer) {\r\n sergingPricePer = sergingList[0].pricePer;\r\n }\r\n if (!sergingCostPer) {\r\n sergingCostPer = sergingList[0].costPer;\r\n }\r\n if (!mSergingPricePer) {\r\n mSergingPricePer = machineSergingList[0].pricePer;\r\n }\r\n if (!mSergingCostPer) {\r\n mSergingCostPer = machineSergingList[0].costPer;\r\n }\r\n if (!hsSergingPricePer) {\r\n hsSergingPricePer = miteredList[0].pricePer;\r\n }\r\n if (!hsSergingCostPer) {\r\n hsSergingCostPer = miteredList[0].costPer;\r\n }\r\n // }\r\n let totalRugBackingPrice = 0;\r\n let totalRugBackingCost = 0;\r\n let rugBackingCmsn = 0;\r\n let totalSergingPrice = 0;\r\n let totalSergingCost = 0;\r\n let sergingCmsn = 0;\r\n let totalMSergingPrice = 0;\r\n let totalMSergingCost = 0;\r\n let mSergingCmsn = 0;\r\n let totalHSSergingPrice = 0;\r\n let totalHSSergingCost = 0;\r\n let hsSergingCmsn = 0;\r\n\r\n // updateRugBackingTotals\r\n totalRugBackingPrice = rugBackingPricePer * sqFt;\r\n // updateSergingTotals\r\n\r\n totalSergingPrice = sergingPricePer * finishedEdgeFt;\r\n // updateMSergingTotals\r\n totalMSergingPrice = mSergingPricePer * finishedEdgeFt;\r\n // updateHSSergingTotals (missing from original app?)\r\n totalHSSergingPrice = hsSergingPricePer * finishedEdgeFt;\r\n\r\n // if (showCosts) {\r\n // updateRugBackingTotals\r\n totalRugBackingCost = rugBackingCostPer * sqFt;\r\n rugBackingCmsn = (rugBackingCmsnRate / 100.0) * totalRugBackingPrice;\r\n // updateSergingTotals\r\n totalSergingCost = sergingCostPer * finishedEdgeFt;\r\n sergingCmsn = (sergingCmsnRate / 100.0) * totalSergingPrice;\r\n // updateMSergingTotals\r\n totalMSergingCost = mSergingCostPer * finishedEdgeFt;\r\n mSergingCmsn = (mSergingCmsnRate / 100.0) * totalMSergingPrice;\r\n // updateHSSergingTotals (missing from original app?)\r\n totalHSSergingCost = hsSergingCostPer * finishedEdgeFt;\r\n hsSergingCmsn = (hsSergingCmsnRate / 100.0) * totalHSSergingPrice;\r\n // }\r\n return {\r\n totalRugBackingPrice: _.round(totalRugBackingPrice, 2).toFixed(2),\r\n totalRugBackingCost: _.round(totalRugBackingCost, 2).toFixed(2),\r\n rugBackingCmsn: _.round(rugBackingCmsn, 2).toFixed(2),\r\n totalSergingPrice: _.round(totalSergingPrice, 2).toFixed(2),\r\n totalSergingCost: _.round(totalSergingCost, 2).toFixed(2),\r\n sergingCmsn: _.round(sergingCmsn, 2).toFixed(2),\r\n totalMSergingPrice: _.round(totalMSergingPrice, 2).toFixed(2),\r\n totalMSergingCost: _.round(totalMSergingCost, 2).toFixed(2),\r\n mSergingCmsn: _.round(mSergingCmsn, 2).toFixed(2),\r\n totalHSSergingPrice: _.round(totalHSSergingPrice, 2).toFixed(2),\r\n totalHSSergingCost: _.round(totalHSSergingCost, 2).toFixed(2),\r\n hsSergingCmsn: _.round(hsSergingCmsn, 2).toFixed(2),\r\n };\r\n}\r\n\r\nfunction calculateFieldUnits(widthNumericFeet, fieldLengthFeet, fieldLengthInches, priceUnitTypeName) {\r\n let totalFieldUnits;\r\n if (widthNumericFeet) {\r\n let lngth = 0;\r\n if ((fieldLengthFeet !== '' || fieldLengthFeet !== null)\r\n && (fieldLengthInches !== \"\" || fieldLengthInches !== null)) {\r\n lngth = parseFloat(fieldLengthFeet.toString()) + (parseFloat(fieldLengthInches.toString()) / 12.0)\r\n }\r\n if (lngth === 0) return;\r\n if (priceUnitTypeName && priceUnitTypeName === \"Sq Yds\") {\r\n let sqYds = ((widthNumericFeet / 3.0) * lngth) / 3.0;\r\n if (isNaN(sqYds)) return;\r\n totalFieldUnits = sqYds;\r\n } else if (priceUnitTypeName && priceUnitTypeName === \"Sq Ft\") {\r\n totalFieldUnits = widthNumericFeet * lngth\r\n } else {\r\n totalFieldUnits = \"0.0\"\r\n }\r\n }\r\n return _.round(totalFieldUnits, 3).toFixed(3);\r\n}\r\n\r\nasync function getDefaultFieldSize(payload, selectedField, fieldRepeatLength, fieldRepeatWidth) {\r\n let fieldLengthFeet;\r\n let fieldLengthInches;\r\n let appliedFieldRepeat;\r\n let widthFeetName;\r\n\r\n let response = await apiPost(\"Order/GetDefaultFieldSize\", payload);\r\n appliedFieldRepeat = getMinRepeat(selectedField, fieldRepeatLength, fieldRepeatWidth);\r\n try {\r\n if (response && response.data) {\r\n let defaultValues = response.data;\r\n\r\n fieldLengthFeet = defaultValues.lengthFeetFeetOnly;\r\n fieldLengthInches = defaultValues.lengthFeetInchesOnly;\r\n widthFeetName = defaultValues.widthFeetName;\r\n } else {\r\n console.error('failed to retrieve order/getdefaultfieldsize');\r\n }\r\n } catch {\r\n console.log('error in getDefaultField Size calculations')\r\n }\r\n return {\r\n fieldLengthFeet: fieldLengthFeet,\r\n fieldLengthInches: fieldLengthInches,\r\n appliedFieldRepeat: appliedFieldRepeat,\r\n widthFeetName: widthFeetName\r\n };\r\n}\r\n\r\nfunction getFieldDescription(fieldLabel, fieldColor) {\r\n return `Field (A): ${fieldLabel} ${fieldColor ? \", \" + fieldColor.label : ''}`\r\n}\r\n\r\nfunction getRugPadDescription(fieldLabel, fieldColor) {\r\n return `${fieldLabel} ${fieldColor ? \", \" + fieldColor.label : ''}`\r\n}\r\n\r\nconst calc = {\r\n calculateSqFeetAndFinEdgeFt,\r\n calculateRugExtraCosts,\r\n calculateFieldUnits,\r\n getMinRepeat,\r\n getDefaultFieldSize,\r\n getFieldDescription,\r\n getRugPadDescription\r\n};\r\n\r\nexport default calc;\r\n","import React, { Fragment } from \"react\";\r\nimport _ from \"lodash\";\r\n\r\nconst paramArray = [\r\n `agentId`,\r\n `areaId`,\r\n \"agentName\",\r\n \"DCCustomerOnly\",\r\n \"excludeNewCustomerAccounts\",\r\n \"excludeOldCustomerAccounts\",\r\n \"onlyNewInLastYear\",\r\n \"twelveMonths\",\r\n \"twentyFourMonths\",\r\n \"accountTypeName\",\r\n \"accountTypeId\",\r\n \"filterByAccountTypeId\",\r\n \"filterByAgentId\",\r\n \"filterByAreaId\",\r\n \"onlyNewInThisCalendarYear\",\r\n \"newAcctMonth\",\r\n \"anyActiveOrdersThisYear\",\r\n \"lessThan2000ThisYear\",\r\n \"anyActiveOrdersLastYear\",\r\n \"lessThan2000LastYear\",\r\n \"noOrdersSinceLastYear\",\r\n \"lessThan2000SinceLastYear\",\r\n \"activeOrdersThisYear\",\r\n \"activeOrdersSinceLastYear\",\r\n \"positiveNetOrdersSinceLastYear\",\r\n \"sortByZip\",\r\n];\r\nconst upperCaseString = (x) => _.toUpper(_.snakeCase(x));\r\nconst start = (x) =>\r\n _.replace(\r\n _.replace(\r\n _.replace(\r\n _.replace(_.replace(_.startCase(x), \" \", \"\"), \" \", \"\"),\r\n \" \",\r\n \"\"\r\n ),\r\n \" \",\r\n \"\"\r\n ),\r\n \" \",\r\n \"\"\r\n );\r\nconst startCaseVar = _.chain(paramArray)\r\n .map((x) => _.startCase(x))\r\n .value();\r\nconst startCase = _.chain(startCaseVar)\r\n .map((x) => start(x))\r\n .value();\r\nconst startCaseWithAt = _.chain(startCase)\r\n .map((x) => `@${x}`)\r\n .value();\r\nconst titleBlock = _.chain(startCaseVar)\r\n .map((x) => upperCaseString(x))\r\n .value();\r\n// public const string DC_CUSTOMER_ONLY = \"DCCustomerOnly\";\r\nconst fullParams = _.chain(startCaseVar)\r\n .map((x) => `public const string ${upperCaseString(x)} = \"${start(x)}\";`)\r\n .value();\r\n// isDCCustomer = parseParameter(dto.Parameters, AppConstants.REPORT_PARAMETER_NAMES.DC_CUSTOMER_ONLY);\r\nconst reportParams = _.chain(paramArray)\r\n .map(\r\n (x) =>\r\n `${x} = parseParameter(dto.Parameters, AppConstants.REPORT_PARAMETER_NAMES.${upperCaseString(\r\n x\r\n )});`\r\n )\r\n .value();\r\n\r\n// public const string AGENT_ID_LIST = \"@AgentIdList\";\r\nconst sqlParams = _.chain(paramArray)\r\n .map((x) => `{public const string ${upperCaseString(x)} = \"@${start(x)}\";`)\r\n .value();\r\nconst sqlized = _.chain(paramArray)\r\n .map((x) => `{ Parameters.${upperCaseString(x)}, ${x} },`)\r\n .value();\r\nconst stringSet = _.chain(paramArray)\r\n .map((x) => `string ${x}`)\r\n .value();\r\n// { ParameterNames.AGENT_ID_LIST, agentId }\r\nconst passedSqlParams = _.chain(paramArray)\r\n .map((x) => `public const string ${upperCaseString(x)} = \"@${start(x)}\";`)\r\n .value();\r\nconst wholeShebang = [\r\n paramArray,\r\n startCaseVar,\r\n startCase,\r\n startCaseWithAt,\r\n titleBlock,\r\n fullParams,\r\n reportParams,\r\n stringSet,\r\n sqlParams,\r\n sqlized,\r\n];\r\nconst printParams = () => {\r\n return _.chain(wholeShebang)\r\n .map((section) => {\r\n return (\r\n
\r\n {section.map((param) => (\r\n \r\n
{param}
\r\n
\r\n ))}\r\n
\r\n );\r\n })\r\n .value();\r\n};\r\n\r\nconst report_helpers = {\r\n printParams,\r\n};\r\n\r\nexport default report_helpers;\r\n","import api from './api';\r\nimport calc from './calc';\r\nimport constants from './constants';\r\nimport date_helpers from './date_helpers';\r\nimport filter_helpers from './filter_helpers';\r\nimport helpers from './helpers';\r\nimport report_helpers from './report_helpers';\r\n\r\nexport {\r\n api,\r\n calc,\r\n constants,\r\n date_helpers,\r\n filter_helpers,\r\n helpers,\r\n report_helpers\r\n};","import moment from 'moment';\r\n\r\nconst YMD = \"YYYY-MM-DD\";\r\nconst MDY = \"MM/DD/YY\";\r\nconst MDY4 = \"MM/DD/YYYY\";\r\nconst YMDHMS = \"YYYY-MM-DD HH:mm:ss\";\r\nconst MDYHMS = \"MM/DD/YYYY hh:mm:ss\";\r\n\r\nconst momentFromString = function (date, fmt = null) {\r\n if (fmt) {\r\n return moment(date, fmt, true);\r\n }\r\n if (date) {\r\n return moment(date);\r\n }\r\n return null;\r\n};\r\n\r\nconst VALID_DATE_FORMAT_LIST = [\r\n MDY4,\r\n \"M/D/YY\",\r\n \"MM/D/YY\",\r\n MDY,\r\n \"MM/D/YYYY\",\r\n \"M/D/YYYY\",\r\n YMD\r\n ];\r\n\r\nconst verifyDate = (s) => {\r\n if (!s) return null;\r\n const test = moment(s, VALID_DATE_FORMAT_LIST);\r\n return test.isValid() ? test : null;\r\n};\r\n\r\nexport default {\r\n MDY: MDY,\r\n YMD: YMD,\r\n MDY4: MDY4,\r\n isDateValid(dateString) {\r\n if (!dateString) {\r\n return false;\r\n }\r\n if (!moment(dateString, 'MM/DD/YYYY', true).isValid()) {\r\n return false;\r\n }\r\n return true;\r\n },\r\n \r\n getSelectedDate(date, fmt = null) {\r\n if (date) {\r\n return (fmt)\r\n ? moment(date).format(fmt)\r\n : moment(date);\r\n }\r\n return null;\r\n },\r\n\r\n toShortDateString(d, fmt = null) {\r\n if (!d) return \"\";\r\n return momentFromString(d, fmt).format('DD-MMM-YY');\r\n },\r\n\r\n toMDYDateString(d, fmt = null) {\r\n if (!d) return '';\r\n return momentFromString(d, fmt).format('MM-DD-YY');\r\n },\r\n\r\n toDateString(d, fmt = null) {\r\n if (!d) return \"\";\r\n return momentFromString(d, fmt).format('ddd, MM/DD/YY');\r\n },\r\n\r\n toTimeString(d, fmt = null) {\r\n if (!d) return \"\";\r\n return momentFromString(d, fmt).format('h:mm a');\r\n },\r\n\r\n getStringFromMoment(m) {\r\n if (m) {\r\n return m.format(\"YYYY-MM-DD\");\r\n }\r\n return null;\r\n },\r\n\r\n formatDateToShortDate(date, fmt = null) {\r\n if (date) {\r\n if (moment.isMoment(date)) {\r\n return date.format(MDY4);\r\n } else if (fmt === null) {\r\n return moment(date).format(MDY4);\r\n } else {\r\n return moment(date, fmt, true).format(MDY4);\r\n }\r\n }\r\n return date;\r\n },\r\n\r\n getTimeStringFromMoment(m) {\r\n if (!m) return \"\";\r\n return m.format('hh:mm A');\r\n },\r\n\r\n getMomentFromString(date, fmt) {\r\n return momentFromString(date, fmt);\r\n },\r\n\r\n parseDatePickerDate(s, fmt = YMD) {\r\n const validated = verifyDate(s);\r\n if (validated) {\r\n return validated.format(fmt);\r\n } else {\r\n return s;\r\n }\r\n },\r\n\r\n getTimeRange() {\r\n const start = moment().startOf('06:00');\r\n const times = 14 * 2; // 14 hours * two 30 mins sessions/hour\r\n\r\n for (let i = 0; i < times; i++) {\r\n const toPrint = moment(start)\r\n .add(30 * i, 'minutes')\r\n .format('hh:mm A');\r\n return toPrint;\r\n }\r\n },\r\n\r\n formatDateForServer(date, fmt) {\r\n if (date) {\r\n if (moment.isMoment(date)) return date.format(YMD);\r\n return moment(date, fmt).format(YMD);\r\n }\r\n return date;\r\n },\r\n\r\n // formatDateForServer(dateString) {\r\n // var date = this.momentFromString(dateString);\r\n // return this.getStringFromMoment(date);\r\n // },\r\n\r\n formatDateTimeForServer(dateTime) {\r\n if (dateTime) {\r\n if (moment.isMoment(dateTime)) return dateTime.format(YMDHMS);\r\n return moment(dateTime).format(YMDHMS);\r\n }\r\n return dateTime;\r\n },\r\n\r\n dateFormatForClient(datetime) {\r\n if (datetime) {\r\n return moment(datetime).toDate();\r\n }\r\n },\r\n\r\n dateTimeFormat: (dateTime, fmt) => (\r\n dateTime \r\n ? moment.utc(dateTime).local().format(fmt ? fmt : MDYHMS) \r\n : dateTime),\r\n\r\n monthDayAndYear(dateTime) {\r\n if (dateTime) {\r\n return moment\r\n .utc(dateTime)\r\n .local()\r\n .format(MDY4);\r\n }\r\n return dateTime;\r\n },\r\n};","module.exports = __webpack_public_path__ + \"static/media/logo_with_rugs.d67873e8.jpg\";","import React from \"react\";\r\nimport { date_helpers } from \"./\";\r\nimport constants from \"./constants\";\r\nimport _ from \"lodash\";\r\n\r\nfunction lowerCase(str) {\r\n return str.toLowerCase();\r\n}\r\n\r\nfunction upperCase(str) {\r\n return str.toUpperCase();\r\n}\r\n\r\nconst changeDateFormat = (\r\n date,\r\n changeDateFunction,\r\n fieldName = null,\r\n itemToEditId = null\r\n) => {\r\n let formattedDate = null;\r\n if (date_helpers.isDateValid(date)) {\r\n const dateString = date_helpers.parseDatePickerDate(\r\n date,\r\n date_helpers.MDY4\r\n );\r\n formattedDate = date_helpers.getMomentFromString(dateString);\r\n }\r\n if (fieldName && itemToEditId) {\r\n changeDateFunction(formattedDate, fieldName, itemToEditId);\r\n } else if (fieldName) {\r\n changeDateFunction(formattedDate, fieldName);\r\n } else if (itemToEditId) {\r\n changeDateFunction(formattedDate, itemToEditId);\r\n } else {\r\n changeDateFunction(formattedDate);\r\n }\r\n};\r\n\r\nconst onDatePickerKeyDown = (\r\n event,\r\n changeDateFunction,\r\n fieldName = null,\r\n itemToEditId = null\r\n) => {\r\n if (event.which === 9 || event.which === 13) {\r\n // tab key or enter key\r\n const eventAction = event && event.target ? event.target.value : null;\r\n changeDateFormat(eventAction, changeDateFunction, fieldName, itemToEditId);\r\n }\r\n};\r\n\r\nconst catchHandler = (e) => console.error(e);\r\n\r\nexport default {\r\n onDatePickerKeyDown,\r\n requiredStar() {\r\n return *;\r\n },\r\n\r\n formatCurrency(x) {\r\n return Number(x).toLocaleString(\"en-US\", {\r\n style: \"currency\",\r\n currency: \"USD\",\r\n minimumFractionDigits: 2,\r\n });\r\n },\r\n\r\n formatAddressLabel(a, prefix = \"\") {\r\n return `${prefix}${a && a.ln1 !== \"\" ? a.ln1 + \",\" : \"\"} ${\r\n a && a.ln2 !== \"\" ? a.ln2 + \",\" : \"\"\r\n } ${a && a.ln3 !== \"\" ? a.ln3 + \",\" : \"\"} ${\r\n a && a.ln4 !== \"\" ? a.ln4 + \",\" : \"\"\r\n } ${a && a.city !== \"\" ? a.city + \",\" : \"\"} ${\r\n a && a.state !== \"\" ? a.state + \",\" : \"\"\r\n } ${a && a.zip !== \"\" ? a.zip : \"\"}`;\r\n },\r\n\r\n booleanListEntry: function (b) {\r\n return b === true\r\n ? { label: \"Yes\", value: true }\r\n : { label: \"No\", value: false };\r\n },\r\n\r\n resolveValue: function (obj, id, name) {\r\n if (obj) return obj;\r\n if (id === null) return null;\r\n return { value: id, label: name };\r\n },\r\n\r\n resolvePricingType: function (pricingTypeId) {\r\n if (!pricingTypeId) return null;\r\n console.log(typeof pricingTypeId);\r\n const idx = _.findIndex(\r\n constants.PRICING_TYPES,\r\n (x) => x.value === pricingTypeId\r\n );\r\n let obj = constants.PRICING_TYPES[idx];\r\n console.log(obj);\r\n return obj;\r\n },\r\n\r\n resolveValues: function (objs) {\r\n if (objs.length === 0) {\r\n return [];\r\n }\r\n const formattedObjects = [];\r\n _.forEach(objs, (obj) => {\r\n if (obj.id === null) return null;\r\n formattedObjects.push({ value: obj.id, label: obj.name });\r\n });\r\n return formattedObjects;\r\n },\r\n\r\n resolveColorValues: function (objs) {\r\n if (objs.length === 0) {\r\n return [];\r\n }\r\n const formattedObjects = [];\r\n _.forEach(objs, (obj) => {\r\n if (obj.id === null) return null;\r\n formattedObjects.push({\r\n value: obj.id,\r\n label: `${obj.name} ${obj.number}`,\r\n });\r\n });\r\n return formattedObjects;\r\n },\r\n\r\n yesNoOptions: function () {\r\n return [\r\n { label: \"Yes\", value: true },\r\n { label: \"No\", value: false },\r\n ];\r\n },\r\n\r\n formatAddress: function (address) {\r\n const addressArray = [address.ln1, address.ln2, address.ln3, address.ln4];\r\n const compactList = _.compact(addressArray, (x) => x);\r\n\r\n compactList.push(address.city + \", \" + address.state + \" \" + address.zip);\r\n return compactList;\r\n },\r\n\r\n formatPhoneNumber: function (phoneNumberString) {\r\n phoneNumberString = phoneNumberString.replace(/[^\\d]+/g, \"\");\r\n if (phoneNumberString.length === 7) {\r\n phoneNumberString = phoneNumberString.replace(/(\\d{3})(\\d{4})/, \"$1-$2\");\r\n } else if (phoneNumberString.length === 10) {\r\n phoneNumberString = phoneNumberString.replace(\r\n /(\\d{3})(\\d{3})(\\d{4})/,\r\n \"($1) $2-$3\"\r\n );\r\n } else if (phoneNumberString.length === 11) {\r\n phoneNumberString = phoneNumberString.replace(\r\n /^(1|)?(\\d{3})(\\d{3})(\\d{4})/,\r\n \"($2) $3-$4\"\r\n );\r\n }\r\n return phoneNumberString;\r\n },\r\n\r\n browserExportCSVFile: function (csv, fileTitle) {\r\n const fname = fileTitle || \"export.csv\";\r\n const blob = new Blob([csv], { type: \"text/csv;charset=utf-8;\" });\r\n if (navigator.msSaveBlob) {\r\n // IE 10+\r\n navigator.msSaveBlob(blob, fname);\r\n } else {\r\n const link = document.createElement(\"a\");\r\n if (link.download !== undefined) {\r\n // Browsers that support HTML5 download attribute\r\n const url = URL.createObjectURL(blob);\r\n link.setAttribute(\"href\", url);\r\n link.setAttribute(\"download\", fname);\r\n link.style.visibility = \"hidden\";\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n }\r\n },\r\n\r\n downloadExport: function (data, fileName, mime) {\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(data, fileName);\r\n } else {\r\n const file = new Blob([data], { type: mime });\r\n var anchor = window.document.createElement(\"a\");\r\n anchor.download = fileName;\r\n anchor.href = (window.webkitURL || window.URL).createObjectURL(file);\r\n anchor.dataset.downloadurl = [mime, anchor.download, anchor.href].join(\r\n \":\"\r\n );\r\n anchor.click();\r\n }\r\n },\r\n\r\n catchHandler: catchHandler,\r\n //use if statement to check against status code to redirect to sign-in screen if session token expires\r\n\r\n parseRequestTypeName: function (request_type_name) {\r\n const properCase = function (str) {\r\n return lowerCase(str).replace(/^\\w|\\s\\w/g, upperCase);\r\n };\r\n const removeUnderscore = function (str) {\r\n return str.replace(/_/g, \" \");\r\n };\r\n const request_type_label = properCase(removeUnderscore(request_type_name));\r\n return request_type_label;\r\n },\r\n\r\n mustChangePassword: function (user) {\r\n if (!user) return false;\r\n return user.must_change_password;\r\n },\r\n\r\n //expecting arrayofKeysToCheck to be array of objects with keys \"name\" (name of the key on the object) and \"label\" (what you tell the user is missing)\r\n //example: [{name: \"firstName\", label: \"first name\"}, {name: \"email\", label: \"e-mail address\"}]\r\n isFormInvalid(object, arrayOfKeysToCheck) {\r\n const warnings = [];\r\n _.map(arrayOfKeysToCheck, (key) => {\r\n if (!object[key.name]) {\r\n warnings.push(key.label);\r\n }\r\n });\r\n\r\n if (warnings.length) {\r\n return \"Please provide the following: \" + warnings.join(\", \");\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n addIsEditingField(list, propName = null) {\r\n if (!list || !list.length || list.length === 0) {\r\n return [];\r\n }\r\n const isEditingList = _.map(list, (x) => {\r\n return {\r\n ...x,\r\n isEditing: false,\r\n };\r\n });\r\n return propName ? { [propName]: isEditingList } : isEditingList;\r\n },\r\n\r\n nullableString(s) {\r\n return s ? s : \"\";\r\n },\r\n emailIsValid: function (email) {\r\n var emailRe =\r\n /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return emailRe.test(email);\r\n },\r\n convertToPennies: function (currency) {\r\n return currency * 100;\r\n },\r\n isMobile: function (window) {\r\n const smallerOption =\r\n window.document &&\r\n window.document.defaultView &&\r\n window.document.defaultView.innerWidth\r\n ? window.document.defaultView.innerWidth\r\n : window.screen.width;\r\n return smallerOption <= 680;\r\n },\r\n\r\n filterProductAttachmentTypeList: function (\r\n productAttachmentTypeList,\r\n excludedFilters\r\n ) {\r\n const filteredList = productAttachmentTypeList.filter(\r\n (attachmentType) =>\r\n !excludedFilters.some(\r\n (excludedType) => excludedType.value === attachmentType.value\r\n )\r\n );\r\n\r\n return filteredList;\r\n },\r\n};\r\n","module.exports = __webpack_public_path__ + \"static/media/dc-logo.53948364.jpg\";","import axios from 'axios';\r\nimport Cookies from 'js-cookie';\r\nimport _ from 'lodash';\r\n\r\nconst API = '/api';\r\n// const MAX_CACHE_SERVE_COUNT = 20;\r\n// let cache = {\r\n// locations: { list: null, serve_count: 0 }\r\n// };\r\n\r\nconst redirectToSquarespacePage = (pathname) => {\r\n let href;\r\n if (pathname) {\r\n href = `https://www.distinctivecarpets.com${pathname}`;\r\n } else {\r\n href = `https://www.distinctivecarpets.com`;\r\n }\r\n var anchor = window.document.createElement(\"a\");\r\n anchor.target = \"_parent\"\r\n anchor.href = href;\r\n anchor.click();\r\n}\r\n\r\nconst clearCookies = () => {\r\n return _.map([\"SQ_CUSTOMER\", \"SQ_TOKEN\"], key => {\r\n // setting to nothing first, which should update the Squarespace cookie as well\r\n // old date\r\n Cookies.set(key, \"\", { expires: new Date('1970-12-17T03:24:00') });\r\n Cookies.remove(key, { domain: '.distinctivecarpets.com' })\r\n Cookies.remove(key, { domain: 'qa.distinctivecarpets.com' })\r\n Cookies.remove(key, { domain: 'app.distinctivecarpets.com' })\r\n Cookies.remove(key, { domain: '*.distinctivecarpets.com' })\r\n})};\r\n\r\nconst getCookie = (key, parseJSONvalue) => {\r\n // TESTING ONLY\r\n // return \"32FLcpbQKQTw74RjlwxrrW5nQgbBbtQuKLMJSbNrB0wSkKmEAaWUoTG8HLpxalX6uAawJ4UFd67DOYCwQBFLj6ju+oGRZE9zkBCLqirHgt7UFw1OpStDighz0snXxrKuXb8EKDpxLaeJSfnzvKoc9IZIDSPvSut4cLAYR9UfjqpA5Yj06P0KVarQWeWlcCsVYoFPVLlAIIu1O4KEe+kkLjXPL4mhSohn7vMIwE2EO1ysUpJgCj1L9jC2u9FXgnBDiqQkjhAcswuV+0VSgkRmNrPOSl0FJD/xNjgzeptUl+5tpFFhWTnBElc3h8jc+4YQPGHyJpxDL+VcST0Fh+hFTWg8a/WOKBNFOijtDw20ZCHiFxN8SiwgnV87DXVeHjODk4kYdGNWm5MTPVpewhyMvSsX5grCaBLvZ2P0sw5aQe/7pxdhQX1cQzTztVQu7z4hnwKazx9fqXgK9TuSYa+aP29Zl+skfAuJCAfTHNwlU6wfuEI+cFBHRAgIiPGAHdjXGcmJiJ4ryg53bOGtatkKaia98ib9qQVlsAG7x0OpGzj0Ra9ulpY/v5HDRUvBrMqk1Kf9kGLO6m5uhxlGE2I/raBwkifF6CDgva0GLlIuqndPK3zqrm++NmnM0pjx8aTx/Bo+fHcBmFxDFvQp2/av5uAbWGUBIJ4IwvjK3LdQmAvCzxKXhbm3fokB5CUlieGaAFz91S0YbKZRSIQcj5yseqCgFG3LXOlSWRFReKDHMclQ6l5hzSlg6NTCz1CSZndc1TiE6L+pVvxUAogJv0VSjnAY16w3Vsif/sLj8JMeh493l5Brd+JskTaaQhpX+otdjJntc+S9Mp3kKT947TUp6wqvKpXnTQeOlvUycSD43dbOos+FKki/kngefq3qtsBa/7Y2aUfikEsfedFmMMWaTQM7nLvIWtmM1d5WgWZWIzKMLUwAqhmuQz9ykCFXRz6eNHixyuymWskOX3lm3MgFGYWCnib9n+D1fpvQhCSBOHQOALVY/MfQdN09w4rQxSg69KwkQJ/aiD4tuswevIx1BWyIKtSBCW2VMmvU4kL20kGxJ8NaRFiqb10Y7G2alye1xgzUDlHrneBNqoRvUbvj00IeI89lXvG3a8wWE1i42BHRNMJVmQnRMhjqZEscH+bSLNBSJPeiEjo+imKa2nR73s7KGITI35wU7l0g/nTrOEfhPXPENa37r9nyy3dGBYHnAoUJxcbTvzw/XqdVgkcDY98B7cxW0iyZ8L6S/ictxH4HlHcsseuyRmaDaQ3kezhOuD1x0XDSYUtNXKMAHGIG96VLmPWFFX3ksp9Iea+UAikoxCIXLIFG7G6cSKtk/rqLE6X9z1Nl6o6+Jd/rrpEZFiIaC/8Tt4IiHSiZ/7U3nBtElw9/3ZeshvjzAG7kSlctfYNxcd9MMSSwO5sukeQ5yIOyQLi7Fzp5NtUcNi1c1xIGLhW8jplx/FJUvjJfC/1E/App+c1uX48+EjCAAOTumG9TGVZ0CYfHGf3rK66DefXX87PXfiVvYktzpYLDYp6XydHibxkLlIBO+wWQpMgMzKO7vBEqTtNz3cBtfSvQwUY=\";\r\n const k = Cookies.get(key);\r\n if (k) {\r\n if (parseJSONvalue) {\r\n let string = k.replace(/\\\\/g, \"\");\r\n // removing double quotes at the beginning\r\n string = string.substring(1);\r\n // removing double quotes at the end\r\n string = string.slice(0, -1);\r\n const item = {};\r\n const parsedItem = JSON.parse(string);\r\n if (parsedItem) {\r\n _.map(parsedItem, (value, key) => {\r\n item[_.camelCase(key)] = value;\r\n })\r\n }\r\n if (key === 'SQ_CUSTOMER') {\r\n console.log('SQ_CUSTOMER parsed cookie', item)\r\n }\r\n return item;\r\n }\r\n return k\r\n };\r\n return \"\";\r\n};\r\n\r\nfunction customerToken() {\r\n let token;\r\n try {\r\n token = getCookie('SQ_TOKEN', false);\r\n if (token) {\r\n return token;\r\n } else {\r\n // for local development\r\n token = localStorage.getItem('customerToken')\r\n }\r\n } finally {\r\n return token;\r\n }\r\n};\r\n\r\nconst getCookieTimeout = (key) => {\r\n // TESTING ONLY\r\n // return \"32FLcpbQKQTw74RjlwxrrW5nQgbBbtQuKLMJSbNrB0wSkKmEAaWUoTG8HLpxalX6uAawJ4UFd67DOYCwQBFLj6ju+oGRZE9zkBCLqirHgt7UFw1OpStDighz0snXxrKuXb8EKDpxLaeJSfnzvKoc9IZIDSPvSut4cLAYR9UfjqpA5Yj06P0KVarQWeWlcCsVYoFPVLlAIIu1O4KEe+kkLjXPL4mhSohn7vMIwE2EO1ysUpJgCj1L9jC2u9FXgnBDiqQkjhAcswuV+0VSgkRmNrPOSl0FJD/xNjgzeptUl+5tpFFhWTnBElc3h8jc+4YQPGHyJpxDL+VcST0Fh+hFTWg8a/WOKBNFOijtDw20ZCHiFxN8SiwgnV87DXVeHjODk4kYdGNWm5MTPVpewhyMvSsX5grCaBLvZ2P0sw5aQe/7pxdhQX1cQzTztVQu7z4hnwKazx9fqXgK9TuSYa+aP29Zl+skfAuJCAfTHNwlU6wfuEI+cFBHRAgIiPGAHdjXGcmJiJ4ryg53bOGtatkKaia98ib9qQVlsAG7x0OpGzj0Ra9ulpY/v5HDRUvBrMqk1Kf9kGLO6m5uhxlGE2I/raBwkifF6CDgva0GLlIuqndPK3zqrm++NmnM0pjx8aTx/Bo+fHcBmFxDFvQp2/av5uAbWGUBIJ4IwvjK3LdQmAvCzxKXhbm3fokB5CUlieGaAFz91S0YbKZRSIQcj5yseqCgFG3LXOlSWRFReKDHMclQ6l5hzSlg6NTCz1CSZndc1TiE6L+pVvxUAogJv0VSjnAY16w3Vsif/sLj8JMeh493l5Brd+JskTaaQhpX+otdjJntc+S9Mp3kKT947TUp6wqvKpXnTQeOlvUycSD43dbOos+FKki/kngefq3qtsBa/7Y2aUfikEsfedFmMMWaTQM7nLvIWtmM1d5WgWZWIzKMLUwAqhmuQz9ykCFXRz6eNHixyuymWskOX3lm3MgFGYWCnib9n+D1fpvQhCSBOHQOALVY/MfQdN09w4rQxSg69KwkQJ/aiD4tuswevIx1BWyIKtSBCW2VMmvU4kL20kGxJ8NaRFiqb10Y7G2alye1xgzUDlHrneBNqoRvUbvj00IeI89lXvG3a8wWE1i42BHRNMJVmQnRMhjqZEscH+bSLNBSJPeiEjo+imKa2nR73s7KGITI35wU7l0g/nTrOEfhPXPENa37r9nyy3dGBYHnAoUJxcbTvzw/XqdVgkcDY98B7cxW0iyZ8L6S/ictxH4HlHcsseuyRmaDaQ3kezhOuD1x0XDSYUtNXKMAHGIG96VLmPWFFX3ksp9Iea+UAikoxCIXLIFG7G6cSKtk/rqLE6X9z1Nl6o6+Jd/rrpEZFiIaC/8Tt4IiHSiZ/7U3nBtElw9/3ZeshvjzAG7kSlctfYNxcd9MMSSwO5sukeQ5yIOyQLi7Fzp5NtUcNi1c1xIGLhW8jplx/FJUvjJfC/1E/App+c1uX48+EjCAAOTumG9TGVZ0CYfHGf3rK66DefXX87PXfiVvYktzpYLDYp6XydHibxkLlIBO+wWQpMgMzKO7vBEqTtNz3cBtfSvQwUY=\";\r\n const k = Cookies.getJSON(key);\r\n if (k) {\r\n\r\n return k\r\n };\r\n return \"\";\r\n};\r\n\r\nfunction userToken() {\r\n try {\r\n return localStorage.getItem('token');\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n}\r\n\r\nfunction commonHeaders() {\r\n const squarespace =\r\n _.includes(window.location.href, '/sq/')\r\n || _.includes(window.location.href, '/all-carpet')\r\n || _.includes(window.location.href, '/log-in-sign-up')\r\n || _.includes(window.location.href, '/shopping-cart');\r\n\r\n let token = null;\r\n \r\n try {\r\n token = squarespace ? localStorage.getItem('customerToken') : localStorage.getItem('token');\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n\r\n return {\r\n 'Accept': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n };\r\n}\r\n\r\nconst headers = () => Object.assign(commonHeaders(), { 'Content-Type': 'application/json' });\r\nconst multipart_headers = () => Object.assign(commonHeaders(), { 'Content-Type': 'multipart/form-data' });\r\n\r\nfunction queryString(params) {\r\n const query = Object.keys(params)\r\n .map(k => `${encodeURIComponent(k)}=${encodeURIComponent(params[k])}`)\r\n .join('&');\r\n return `${query.length ? '?' : ''}${query}`;\r\n}\r\n\r\n// function cachedList(urlPath, key = null) {\r\n// if (key === null) key = urlPath;\r\n// if (cache[key].list !== null && cache[key].serve_count < MAX_CACHE_SERVE_COUNT) {\r\n// cache[key].serve_count += 1;\r\n// return new Promise(((resolve, reject) => {\r\n// resolve(cache[key].list);\r\n// }));\r\n// }\r\n// return axios.get(`${API}/${urlPath}`, { headers: headers() })\r\n// .then((response) => {\r\n// cache[key].list = response.data.list;\r\n// cache[key].serve_count = 0;\r\n// return cache[key].list;\r\n// }).catch(error => error);\r\n// }\r\n\r\nexport default {\r\n fetch_raw(url, params = {}) {\r\n return axios.get(`${url}${queryString(params)}`, { headers: headers() });\r\n },\r\n\r\n fetch(url, params = {}) {\r\n return axios.get(`${API}/${url}${queryString(params)}`, { headers: headers() });\r\n },\r\n\r\n upload(verb, url, data) {\r\n switch (verb.toLowerCase()) {\r\n case 'post':\r\n return axios.post(`${API}/${url}`, data, { headers: headers() });\r\n case 'put':\r\n return axios.put(`${API}/${url}`, data, { headers: headers() });\r\n case 'patch':\r\n return axios.patch(`${API}/${url}`, data, { headers: headers() });\r\n default:\r\n }\r\n },\r\n\r\n post(url, data, responseType = null) {\r\n let postData = {\r\n method: \"post\",\r\n url: `${API}/${url}`,\r\n data: data,\r\n timeout: 600000,\r\n headers: headers()\r\n };\r\n if (responseType) {\r\n postData.responseType = responseType;\r\n }\r\n return axios(postData);\r\n },\r\n\r\n put(url, data) {\r\n return axios.put(`${API}/${url}`, data, { headers: headers() });\r\n },\r\n\r\n patch(url, data) {\r\n return axios.patch(`${API}/${url}`, data, { headers: headers() });\r\n },\r\n\r\n delete(url) {\r\n return axios.delete(`${API}/${url}`, { headers: headers() });\r\n },\r\n\r\n post_form_data(url, formData) {\r\n return axios.post(`${API}/${url}`, formData, { headers: multipart_headers() });\r\n },\r\n\r\n put_form_data(url, formData) {\r\n return axios.put(`${API}/${url}`, formData, { headers: multipart_headers() });\r\n },\r\n\r\n post_get_blob(url, data) {\r\n return axios.post(`${API}/${url}`, data, {\r\n headers: {\r\n Authorization: `Bearer ${userToken()}`\r\n },\r\n withCredentials: true,\r\n responseType: \"blob\"\r\n });\r\n },\r\n\r\n userToken() {\r\n return userToken();\r\n },\r\n customerToken() {\r\n return customerToken();\r\n },\r\n getCookie(key, parseJSONvalue) {\r\n return getCookie(key, parseJSONvalue);\r\n },\r\n getCookieTimeout(key) {\r\n return getCookieTimeout(key);\r\n },\r\n clearCookies() {\r\n return clearCookies();\r\n },\r\n redirectToSquarespacePage(url) {\r\n return redirectToSquarespacePage(url)\r\n }\r\n};\r\n","import React, { Component, Fragment } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { Link, Redirect, NavLink as DomNavLink } from \"react-router-dom\";\r\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\r\nimport Alert from \"react-s-alert\";\r\nimport makeAnimated from \"react-select/animated\";\r\nimport { DebounceInput } from \"react-debounce-input\";\r\nimport Sidebar from \"react-sidebar\";\r\nimport Switch from \"react-switch\";\r\nimport moment from \"moment\";\r\nimport axios from \"axios\";\r\n// will implement this when I change to all the product colors being single elements on the page\r\nimport { PinterestShareButton } from \"react-simple-share\";\r\nimport queryString from \"query-string\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Button,\r\n ButtonGroup,\r\n Label,\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardFooter,\r\n CardImg,\r\n CardColumns,\r\n CardSubtitle,\r\n Alert as AlertStrap,\r\n Input,\r\n Modal,\r\n FormGroup,\r\n Form,\r\n Nav,\r\n Navbar,\r\n NavItem,\r\n Spinner,\r\n Table,\r\n Carousel,\r\n CarouselCaption,\r\n CarouselItem,\r\n CarouselControl,\r\n CarouselIndicators,\r\n NavLink,\r\n TabContent,\r\n TabPane,\r\n CardDeck,\r\n Pagination,\r\n PaginationItem,\r\n PaginationLink,\r\n} from \"reactstrap\";\r\nimport classnames from \"classnames\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport _ from \"lodash\";\r\nimport {\r\n api,\r\n helpers,\r\n filter_helpers,\r\n constants,\r\n date_helpers,\r\n calc,\r\n} from \"../utils\";\r\nimport { MobileFilterSet, FilterText, FilterMultiSelect } from \"../components\";\r\nimport Select from \"react-select\";\r\nimport { data } from \"jquery\";\r\nimport { object } from \"underscore\";\r\n\r\nconst emptyCustomer = {\r\n id: 0,\r\n useDefaultShipTo: true,\r\n};\r\n\r\nconst activeFilter = {\r\n filterName: \"ActiveOnly\",\r\n value: true,\r\n filteredDisplay: \"Active Only: Yes\",\r\n};\r\n\r\nconst publicFilter = {\r\n filterName: \"PublicOnly\",\r\n value: true,\r\n};\r\n\r\nconst initialFilters = [activeFilter, publicFilter];\r\n\r\nconst pendingMemoOrderStatus = { value: 1, label: \"Pending\" };\r\nconst quoteOrderStatus = constants.ORDER_STATUS.QUOTE;\r\n\r\nconst MITERED_PRODUCT_NAME = constants.MITERED_PRODUCT_NAME;\r\nconst FINISHED_RUG_SIZES = constants.FINISHED_RUG_SIZES;\r\nconst DISPLAY_FINISHED_RUG_SIZES = _.map(FINISHED_RUG_SIZES, (rs) => {\r\n if (rs.label === \"Custom\") {\r\n return Object.assign({}, rs, { label: \"Enter Custom Size\" });\r\n }\r\n return rs;\r\n});\r\n\r\nconst { ROUND, RECTANGULAR, SQUARE } = constants.CUSTOM_RUG_SHAPES;\r\n\r\nconst configNames = constants.CUSTOM_RUG_CONFIG_NAMES;\r\n\r\nconst params = {\r\n fieldSelection: \"fieldSelection\",\r\n fieldSelectionColor: \"fieldSelectionColor\",\r\n bindingSelection: \"bindingSelection\",\r\n bindingSelectionColor: \"bindingSelectionColor\",\r\n shapeSelection: \"shapeSelection\",\r\n finishedSize: \"finishedSize\",\r\n serging: \"serging\",\r\n customRug: \"customRug\",\r\n sampleCartItems: \"sampleCartItems\",\r\n orderCartItems: \"orderCartItems\",\r\n rugs: \"Rugs\",\r\n wood: \"Wood\",\r\n carpet: \"Carpet\",\r\n squareFeet: \"Sq Ft\",\r\n linearFeet: \"Lin Ft\",\r\n seagrassAndSisal: \"Seagrass & Sisal\",\r\n bordersAndBindings: \"Borders & Bindings\",\r\n borderOrBinding: \"Border or Binding\",\r\n hardSurface: \"Hard Surface\",\r\n none: \"none\",\r\n contractTileString: \"Contract Tile\",\r\n runners: \"Runners\",\r\n customRugTitle: \"Custom Rug\",\r\n};\r\n\r\n// leaving the full URLS in this list as well for ease of testing\r\n// not using squarespaceUrl or iframeUrl for anything in this code\r\nconst SQUARESPACE_URLS = [\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/all-rugs\",\r\n squarespacePath: \"/all-rugs\",\r\n iframeUrl: \"https://app.distinctivecarpets.com/sq/rugs/intlRug/all/none\",\r\n iframePath: \"/sq/rugs/intlRug/all/none\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/new-rugs\",\r\n squarespacePath: \"/new-rugs\",\r\n iframeUrl: \"https://app.distinctivecarpets.com/sq/rugs/intlRug/new/newRugs\",\r\n iframePath: \"/sq/rugs/intlRug/new/newRugs\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/contemporary-rugs\",\r\n squarespacePath: \"/contemporary-rugs\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/rugs/intlRug/contemporary/contemporaryRug\",\r\n iframePath: \"/sq/rugs/intlRug/contemporary/contemporaryRug\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/traditional-rugs\",\r\n squarespacePath: \"/traditional-rugs\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/rugs/intlRug/traditional/traditionalRugs\",\r\n iframePath: \"/sq/rugs/intlRug/traditional/traditionalRugs\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/transitional-rugs\",\r\n squarespacePath: \"/transitional-rugs\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/rugs/intlRug/transitional/transitionalRug\",\r\n iframePath: \"/sq/rugs/intlRug/transitional/transitionalRug\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/outdoor-rugs\",\r\n squarespacePath: \"/outdoor-rugs\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/rugs/intlRug/outdoor/outdoorRug\",\r\n iframePath: \"/sq/rugs/intlRug/outdoor/outdoorRug\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/runners\",\r\n squarespacePath: \"/runners\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/rugs/rollRunner/runners/runners\",\r\n iframePath: \"/sq/rugs/rollRunner/runners/runners\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/western\",\r\n squarespacePath: \"/western\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/rugs/intlRug/western/western\",\r\n iframePath: \"/sq/rugs/intlRug/western/western\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/all-carpet\",\r\n squarespacePath: \"/all-carpet\",\r\n iframeUrl: \"https://app.distinctivecarpets.com/sq/carpets/carpet/all/none\",\r\n iframePath: \"/sq/carpets/carpet/all/none\",\r\n },\r\n // // NOT SURE WHAT TO FILTER ON THIS ONE\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/new-carpet-styles\",\r\n squarespacePath: \"/new-carpet-styles\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/carpets/carpet/new/newCarpet\",\r\n iframePath: \"/sq/carpets/carpet/new/newCarpet\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/patterned-carpet\",\r\n squarespacePath: \"/patterned-carpet\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/carpets/carpet/patterned/patternedCarpet\",\r\n iframePath: \"/sq/carpets/carpet/patterned/patternedCarpet\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/loop-carpet\",\r\n squarespacePath: \"/loop-carpet\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/carpets/carpet/loop/loopCarpet\",\r\n iframePath: \"/sq/carpets/carpet/loop/loopCarpet\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/textured-carpet\",\r\n squarespacePath: \"textured-carpet\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/carpets/carpet/textured/texturedCarpet\",\r\n iframePath: \"/sq/carpets/carpet/textured/texturedCarpet\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/luxury-wool\",\r\n squarespacePath: \"luxury-wool\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/carpets/carpet/luxuryWool/luxuryWool\",\r\n iframePath: \"/sq/carpets/carpet/luxuryWool/luxuryWool\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/seagrass-sisal\",\r\n squarespacePath: \"/seagrass-sisal\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/carpets/carpet/seagrass/seagrass\",\r\n iframePath: \"/sq/carpets/carpet/seagrass/seagrass\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/wool-carpet\",\r\n squarespacePath: \"/wool-carpet\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/carpets/carpet/wool/allWool\",\r\n iframePath: \"/sq/carpets/carpet/wool/allWool\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/commercial-carpet\",\r\n squarespacePath: \"/commercial-carpet\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/carpets/carpet/commercial/commercial\",\r\n iframePath: \"/sq/carpets/carpet/commercial/commercial\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/magic-colors-carpet\",\r\n squarespacePath: \"/magic-colors-carpet\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/carpets/carpet/magicColors/magicColors\",\r\n iframePath: \"/sq/carpets/carpet/magicColors/magicColors\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/outdoor\",\r\n squarespacePath: \"/outdoor\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/carpets/carpet/outdoor/outdoorCarpet\",\r\n iframePath: \"/sq/carpets/carpet/outdoor/outdoorCarpet\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/custom-rug\",\r\n squarespacePath: \"/custom-rug\",\r\n iframeUrl: \"https://app.distinctivecarpets.com/sq/customRug\",\r\n iframePath: \"/sq/customRug\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/borders-bindings\",\r\n squarespacePath: \"/borders-bindings\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/borders/borders/none/none\",\r\n iframePath: \"/sq/borders/borders/none/none\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/hard-surface\",\r\n squarespacePath: \"/hard-surface\",\r\n iframeUrl: \"https://app.distinctivecarpets.com/sq/wood/wood/none/none\",\r\n iframePath: \"/sq/wood/wood/none/none\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/skins-pattern\",\r\n squarespacePath: \"/skins-pattern\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/carpets/carpet/skinsPattern/skinsPattern\",\r\n iframePath: \"/sq/carpets/carpet/skinsPattern/skinsPattern\",\r\n },\r\n {\r\n squarespaceUrl: \"https://www.distinctivecarpets.com/pet-friendly\",\r\n squarespacePath: \"/pet-friendly\",\r\n iframeUrl:\r\n \"https://app.distinctivecarpets.com/sq/carpets/carpet/petFriendly/petFriendly\",\r\n iframePath: \"/sq/carpets/carpet/petFriendly/petFriendly\",\r\n },\r\n];\r\n\r\nconst findRedirectUrl = (pathname) => {\r\n const pathToRedirect = _.find(SQUARESPACE_URLS, (item) => {\r\n return item.iframePath === pathname;\r\n });\r\n if (pathToRedirect && pathToRedirect.squarespacePath) {\r\n return pathToRedirect.squarespacePath;\r\n }\r\n return \"/all-carpet\";\r\n};\r\n\r\nconst getDirectProductLink = (baseUrl, productId, colorNumber) => {\r\n // baseUrl = 'localhost:44377/sq/carpets/carpet/all/none/';\r\n return `${baseUrl}?productId=${productId}&color=${colorNumber}`;\r\n};\r\nconst parseURL = (props) => {\r\n // i.e. https://app.distinctiveccarpets.com/sq/rugs/newRugs/new/newRugs\r\n let [\r\n _ignore, // ==> app.distinctiveccarpets.com\r\n page, // ==> /sq\r\n productType, // ==> /rugs\r\n filter, // ==> /newRugs\r\n section, // ==> /new\r\n subFilters, // ==> /newRugs\r\n ] = _.split(props.location.pathname, \"/\");\r\n let shareLinkBase = \"\";\r\n let sort_field = \"DCName\";\r\n let title = _.startCase(productType);\r\n let filterType = _.startCase(filter);\r\n let subTypes = _.chain(subFilters)\r\n .split(\"-\")\r\n .map((ft) => _.startCase(ft))\r\n .filter((ft) => {\r\n return ft !== \"None\";\r\n })\r\n .toArray()\r\n .value();\r\n if (section === params.none) {\r\n section = null;\r\n } else {\r\n section = _.startCase(section);\r\n }\r\n if (title === params.wood) {\r\n shareLinkBase = \"https://www.distinctivecarpets.com/hard-surface\";\r\n title = params.hardSurface;\r\n }\r\n if (title === \"Carpets\") {\r\n shareLinkBase = \"https://www.distinctivecarpets.com/all-carpet\";\r\n title = params.carpet;\r\n }\r\n if (title === \"Rugs\") {\r\n shareLinkBase = \"https://www.distinctivecarpets.com/all-rugs\";\r\n }\r\n // cannot set ampersand in url params so overwriting them here\r\n if (section === \"Seagrass\") {\r\n title = params.seagrassAndSisal;\r\n subTypes = [params.seagrassAndSisal];\r\n }\r\n if (title === \"Borders\") {\r\n shareLinkBase = \"https://www.distinctivecarpets.com/borders-bindings\";\r\n title = params.bordersAndBindings;\r\n filterType = \"Border or Binding\";\r\n subTypes = [params.bordersAndBindings];\r\n }\r\n const { color, productId } =\r\n props.location.search && queryString.parse(props.location.search);\r\n return {\r\n page: page,\r\n productType: productType,\r\n section: section,\r\n sort_field: sort_field,\r\n title: title,\r\n filterType: filterType,\r\n subTypes: subTypes,\r\n queryStringDCNumber: productId || null, //productId,\r\n queryStringProductColor: color || null, //color,\r\n shareLinkBase: shareLinkBase,\r\n };\r\n};\r\n\r\nconst formatPrice = (unitPrice) => {\r\n if (unitPrice) {\r\n const money = Number(unitPrice / 100.0)\r\n .toFixed(2)\r\n .replace(/\\d(?=(\\d{3})+\\.)/g, \"$&,\");\r\n return `$${money}`;\r\n }\r\n return null;\r\n};\r\n\r\nconst { ATTACHMENT_TYPE } = constants;\r\n\r\nconst {\r\n //PRODUCT_IMAGE_B,\r\n //PRODUCT_IMAGE_C,\r\n PRODUCT_IMAGE_D,\r\n PRODUCT_IMAGE_ROOM_SCENE,\r\n PRODUCT_IMAGE_CLOSE_UP,\r\n DETAILED_SPECS,\r\n //PRODUCT_COLOR_IMAGE_B,\r\n //PRODUCT_COLOR_IMAGE_C,\r\n PRODUCT_COLOR_IMAGE_D,\r\n //CUSTOMER_TAX_CERTIFICATE,\r\n} = ATTACHMENT_TYPE;\r\n\r\nconst findMainColorImage = (colorImages) => {\r\n return _.chain(colorImages)\r\n .find(\r\n (col) => col.productAttachmentTypeName === PRODUCT_COLOR_IMAGE_D.label\r\n )\r\n .value();\r\n};\r\n\r\nconst getImageUrl = (image) => {\r\n let imageToUse = image;\r\n if (image && image.url) {\r\n return imageToUse.url;\r\n // if (_.endsWith(imageToUse.url, \".png\")) {\r\n // return imageToUse.url;\r\n // }\r\n // return imageToUse.url + \".png\";\r\n }\r\n return \"Coming_Soon.png\";\r\n};\r\n\r\nconst CUSTOM_STEPS = {\r\n field: \"Select Field Design\",\r\n size_shape: \"Select Size/Shape\",\r\n binding: \"Select Finish\",\r\n customer: \"Customer Details\",\r\n review: \"Review & Submit\",\r\n};\r\n\r\nconst orderLineTypes = constants.ORDER_LINE_TYPE;\r\n\r\nconst resolveOrderLineType = (product) => {\r\n const productType = _.toUpper(product.productTypeName);\r\n const foundType = _.find(orderLineTypes, (x) => {\r\n return x.label === productType;\r\n });\r\n if (foundType && foundType.value) {\r\n return foundType.value;\r\n }\r\n if (productType === \"INTL RUG\") {\r\n return orderLineTypes.INTL_COLL_RUG.value;\r\n }\r\n if (productType === \"WOOD\") {\r\n return orderLineTypes.HARD_SURFACE.value;\r\n }\r\n if (productType === \"RUG COMPONENT\") {\r\n return orderLineTypes.RUG_MISCELLANEOUS.value;\r\n }\r\n console.error(\"order line type NOT FOUND\", productType);\r\n};\r\n\r\nconst getMemoSizeOptionsByColor = (productMemoSizes, colorId) => {\r\n return _.chain(productMemoSizes, colorId)\r\n .filter((memoSize) => {\r\n return memoSize.productColorId == colorId;\r\n })\r\n .map((opt) => {\r\n return {\r\n value: opt.memoSizeId,\r\n label: opt.memoSizeName,\r\n };\r\n })\r\n .value();\r\n};\r\n\r\nfunction validateCustomerInfo(customer, productType) {\r\n let warningsList = [];\r\n // if(!customer.requestedBy || customer.requestedBy.length < 2) {\r\n // warningsList.push(\"Please enter a full name on step 4.\");\r\n // }\r\n if (\r\n !customer.requestedByFirstName ||\r\n customer.requestedByFirstName.length < 1\r\n ) {\r\n warningsList.push(\"Please enter a valid first name on step 4.\");\r\n }\r\n if (\r\n !customer.requestedByLastName ||\r\n customer.requestedByLastName.length < 1\r\n ) {\r\n warningsList.push(\"Please enter a valid last name on step 4.\");\r\n }\r\n if (!customer.webEmail || customer.webEmail.length < 4) {\r\n warningsList.push(\"Please enter a full email address on step 4.\");\r\n }\r\n if (productType !== params.customRug) {\r\n if (!customer.customerPONumber || customer.customerPONumber.length < 4) {\r\n warningsList.push(\"Please enter a purchase order number on step 4.\");\r\n }\r\n if (!customer.stAddressLine1 || customer.stAddressLine1.length < 4) {\r\n warningsList.push(\r\n \"Please enter a full name on line 1 in the Ship To section on step 4.\"\r\n );\r\n }\r\n if (!customer.stAddressLine3 || customer.stAddressLine3.length < 4) {\r\n warningsList.push(\r\n \"Please enter a full street address on line 3 in the Ship To section on step 4.\"\r\n );\r\n }\r\n if (!customer.stCity || customer.stCity.length < 4) {\r\n warningsList.push(\r\n \"Please enter a city in the Ship To section on step 4.\"\r\n );\r\n }\r\n if (!customer.stState || customer.stState.length < 2) {\r\n warningsList.push(\r\n \"Please enter a state in the Ship To section on step 4.\"\r\n );\r\n }\r\n if (!customer.stZip || customer.stZip.length < 4) {\r\n warningsList.push(\r\n \"Please enter a zip code in the Ship To section on step 4.\"\r\n );\r\n }\r\n }\r\n return warningsList;\r\n}\r\n\r\nfunction shapeCommonOrderPayload(orderLines, customer, productType) {\r\n const placedBy = `${customer.requestedByFirstName} ${customer.requestedByLastName}`;\r\n const payload = {\r\n Id: 0,\r\n CustomerId: customer.id,\r\n AgentId: customer.agentId,\r\n OrderStatusId: quoteOrderStatus.value,\r\n InvoiceTermsId: customer.invoiceTermsId,\r\n // only 50 characters allowed\r\n PlacedBy: placedBy.substring(0, 50),\r\n CreatedAt: moment(),\r\n CreatedByUserId: 1, // admin user\r\n Mth: date_helpers.formatDateForServer(new Date()),\r\n IsReplacementOrder: false,\r\n IsDistinctiveOrder: false,\r\n IsCreditOrder: false,\r\n ReferencesOrder: null,\r\n // CustomerPONumber:\r\n // productType === params.customRug ? \"n/a\" : customer.customerPONumber,\r\n CustomerPONumber: customer.customerPONumber || \"\",\r\n // all of the bill contact info will be added in C#\r\n BTContactFirstName: \"\",\r\n BTContactLastName: \"\",\r\n BTContactEmail: \"\",\r\n BTAddressLine1: \"\",\r\n BTAddressLine2: \"\",\r\n BTAddressLine3: \"\",\r\n BTAddressLine4: \"\",\r\n BTCity: \"\",\r\n BTState: \"\",\r\n BTZip: \"\",\r\n BTPhone: \"\",\r\n // ST and freight fields will be persisted in backend on individual orderlines, not orders\r\n STContactFirstName: customer.requestedByFirstName,\r\n STContactLastName: customer.requestedByLastName,\r\n STContactEmail: customer.webEmail,\r\n STAddressLine1: customer.stAddressLine1,\r\n STAddressLine2: customer.stAddressLine2,\r\n STAddressLine3: customer.stAddressLine3,\r\n STAddressLine4: customer.stAddressLine4,\r\n STCity: customer.stCity,\r\n STState: customer.stState,\r\n STZip: customer.stZip,\r\n STPhone: customer.stPhone,\r\n FreightSidemark: customer.freightSidemark,\r\n OrderLines: orderLines,\r\n AreaId: customer.areaId,\r\n };\r\n return payload;\r\n}\r\n\r\nconst PagerLink = (props) => (\r\n \r\n props.callBack()}>\r\n {props.linkText}\r\n \r\n \r\n);\r\n\r\nconst Pager = (props) => {\r\n if (!props.callBack) {\r\n console.warn(\r\n \"Add a callBack function property on the pager that accepts a page param\"\r\n );\r\n }\r\n\r\n const showPager = props.totalPages > 0;\r\n const previous = props.pageNumber > 1;\r\n const next = props.pageNumber !== props.totalPages && props.totalPages > 1;\r\n let firstText = (\r\n \r\n );\r\n let prevText = (\r\n \r\n );\r\n let nextText = (\r\n \r\n );\r\n let lastText = (\r\n \r\n );\r\n let pageOptions = [];\r\n for (let i = 1; i <= props.totalPages; i++) {\r\n const opt = {\r\n value: i,\r\n label: `Page ${i} of ${props.totalPages}`,\r\n };\r\n pageOptions.push(opt);\r\n }\r\n const findCurrentPage = _.find(pageOptions, (pgOpt) => {\r\n return pgOpt.value === props.pageNumber;\r\n });\r\n return (\r\n \r\n {showPager && (\r\n \r\n props.callBack(1)}\r\n refPage={props.refPage}\r\n disabled={!previous}\r\n />\r\n props.callBack(props.pageNumber - 1)}\r\n refPage={props.refPage}\r\n disabled={!previous}\r\n />\r\n \r\n Page {props.pageNumber} of {props.totalPages}\r\n \r\n {/* needs more tweaking than I have time for right now: Melissa */}\r\n {/* \r\n props.callBack(opt.value)}\r\n className=\"paginationSelector\"\r\n components={{ DropdownIndicator:() => null, IndicatorSeparator:() => null }}\r\n />\r\n */}\r\n props.callBack(props.pageNumber + 1)}\r\n refPage={props.refPage}\r\n disabled={!next}\r\n />\r\n props.callBack(props.totalPages)}\r\n refPage={props.refPage}\r\n disabled={!next}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst emptyCustomRug = {\r\n fieldSelection: null,\r\n fieldSelectionColor: null,\r\n fieldSelectionColorList: [],\r\n shapeSelection: null,\r\n sizeRadius: {\r\n feet: 0,\r\n inches: 0,\r\n },\r\n sizeWidth: {\r\n feet: 0,\r\n inches: 0,\r\n },\r\n sizeLength: {\r\n feet: 0,\r\n inches: 0,\r\n },\r\n bindingSelection: null,\r\n bindingSelectionColor: null,\r\n bindingSelectionColorList: [],\r\n padSelection: null,\r\n bindingStitch: null,\r\n serging: true,\r\n includeRugPad: true,\r\n productAttachments: [],\r\n finishedSize: null,\r\n productWidth: null,\r\n widthNumericFeet: 0,\r\n unitPrice: 0,\r\n priceUnitTypeName: \"Sq Yds\",\r\n fieldPrice: 0,\r\n padPrice: 0,\r\n padCutFeeOver31SF: 0,\r\n cutChargePrice: 0,\r\n bindingPrice: 0,\r\n appliedBindingPrice: 0,\r\n sergingPrice: 0,\r\n estimatedPrice: 0,\r\n totalRugPrice: 0,\r\n freightQuoteDesired: false,\r\n sendScrapsDesired: false,\r\n customRugComment: \"\",\r\n forOutdoorUse: false,\r\n};\r\n\r\nconst getItemFromStorage = (itemType, defaultValue = null) => {\r\n // check before using since it is CORS\r\n let itemInStorage;\r\n try {\r\n itemInStorage =\r\n localStorage && localStorage.getItem && localStorage.getItem(itemType);\r\n } catch (e) {\r\n console.log(\"e\", e);\r\n }\r\n if (itemInStorage) {\r\n try {\r\n return JSON.parse(localStorage.getItem(itemType));\r\n } catch {\r\n console.log(\r\n `error parsing the JSON from ${itemType} local storage`,\r\n itemInStorage\r\n );\r\n return defaultValue;\r\n }\r\n }\r\n return defaultValue;\r\n};\r\n\r\nconst setItemToStorage = (itemType, itemValue) => {\r\n // check before using since it is CORS\r\n try {\r\n if (localStorage && localStorage.setItem) {\r\n localStorage.setItem(itemType, JSON.stringify(itemValue));\r\n }\r\n } catch (e) {\r\n console.log(\"e\", e);\r\n }\r\n};\r\n\r\nconst removeItemFromStorage = (itemType) => {\r\n // check before using since it is CORS\r\n try {\r\n if (localStorage && localStorage.removeItem) {\r\n localStorage.removeItem(itemType);\r\n }\r\n } catch (e) {\r\n console.log(\"e\", e);\r\n }\r\n};\r\n\r\nfunction shapeEachProduct(\r\n item,\r\n index,\r\n showPrices,\r\n title,\r\n section,\r\n showThisProduct,\r\n queryStringDCNumber,\r\n queryStringProductColor\r\n) {\r\n const {\r\n dcName, //: \"Accents Corolla (Four Seasons UV Rated)\"\r\n dcNumber, //: \"W5110\"\r\n productColorId, //: 24258\r\n productAttachments, //: [{id: 2475, productId: 2046, productAttachmentTypeId: 4,…},…]\r\n productColors, //: [{id: 19832, productId: 2046, productName: null, colorFamilyId: 2, colorFamilyName: \"Black/Gray\",…},…]\r\n unitPrice, //: null\r\n rugIntlSizes,\r\n } = item;\r\n let filteredProductColors = [];\r\n if (productColors && productColors.length > 0) {\r\n filteredProductColors = _.chain(productColors)\r\n .filter((col) => {\r\n return (\r\n !_.includes(col.name, \"Dropped\") &&\r\n !_.includes(col.name, \"DROPPED\") &&\r\n !_.includes(col.name, \"No Color\")\r\n );\r\n })\r\n .filter((col) => {\r\n return col.productColorImages && col.productColorImages.length > 0;\r\n })\r\n .orderBy((col) => [col.seq, col.updatedAt], [\"asc\", \"desc\"])\r\n .value();\r\n }\r\n let rugSizes = [];\r\n let customRugSQPrice = null;\r\n let availableAsCustomRug = false;\r\n let showRugOptions = false;\r\n item.selectedRugSize = null;\r\n item.selectedRugPrice = null;\r\n if (rugIntlSizes && rugIntlSizes.length > 0) {\r\n showRugOptions = true;\r\n _.map(rugIntlSizes, (sz) => {\r\n if (!sz.deactivatedAt && !_.includes(sz.dsc, \"Rug Sample\")) {\r\n if (_.includes(sz.dsc, \"Custom Rug PSF\")) {\r\n customRugSQPrice = sz.price;\r\n availableAsCustomRug = true;\r\n } else {\r\n rugSizes.push({\r\n value: sz.id,\r\n label: sz.dsc,\r\n price: sz.price,\r\n seq: sz.seq,\r\n });\r\n }\r\n }\r\n });\r\n rugSizes = _.sortBy(rugSizes, (opt) => {\r\n return opt.seq;\r\n });\r\n item.selectedRugSize = rugSizes[0] ? rugSizes[0] : null;\r\n item.selectedRugPrice = rugSizes[0] ? rugSizes[0].price : null;\r\n }\r\n item.showRugOptions = showRugOptions;\r\n item.availableAsCustomRug = availableAsCustomRug;\r\n item.rugSizes = rugSizes;\r\n item.customRugSQPrice = customRugSQPrice;\r\n //shaping product colors for detail view screen carousels and option selectors\r\n let colorOptions = [];\r\n let carouselItems = [];\r\n let cardDeckItems = [];\r\n const pushItemToCarousel = (photo, index) => {\r\n photo.key = `carousel${key}${index}`;\r\n photo.alt = photo.productAttachmentTypeName;\r\n const checkForExisting = _.find(carouselItems, (x) => {\r\n return x.url === photo.url;\r\n });\r\n if (!checkForExisting) {\r\n carouselItems.push(photo);\r\n }\r\n };\r\n const pushItemToCardDeck = (photo, index, title) => {\r\n photo.key = `cardDeck${key}${index}`;\r\n photo.alt = photo.productAttachmentTypeName;\r\n photo.title = title;\r\n const checkForExisting = _.find(cardDeckItems, (x) => {\r\n return x.url === photo.url;\r\n });\r\n if (!checkForExisting) {\r\n cardDeckItems.push(photo);\r\n }\r\n };\r\n let mainColorImage = null;\r\n // get main image to display for list view\r\n let mainProductImage = null;\r\n try {\r\n const bigImage = findMainColorImage(item.productColorImages);\r\n if (bigImage) {\r\n bigImage.activeOption = true;\r\n // no longer adding these to carousel when first on image\r\n // since the colors are on the right now\r\n if (title === params.rugs) {\r\n pushItemToCarousel(bigImage, 0, bigImage.name);\r\n }\r\n // pushItemToCardDeck(bigImage, 0, mainColor.name);\r\n mainColorImage = bigImage;\r\n } else {\r\n if (item.url) {\r\n const imageShape = {\r\n url: item.url,\r\n label:\r\n `${item.colorName}` +\r\n `${item.colorNumber ? `(${item.colorNumber})` : \"\"}`,\r\n activeOption: true,\r\n title:\r\n `${item.colorName}` +\r\n `${item.colorNumber ? `(${item.colorNumber})` : \"\"}`,\r\n };\r\n mainColorImage = imageShape;\r\n mainProductImage = imageShape;\r\n }\r\n }\r\n } catch {\r\n console.log(\"error trying set main color image\");\r\n }\r\n const key = `ItemCard${_.kebabCase(\r\n dcName\r\n )}${productColorId}${index}${dcNumber}`;\r\n item.key = key;\r\n // let roomScenePhoto = null;\r\n let roomScenePhotos = [];\r\n let closeUpPhoto = null;\r\n let detailedSpecs = null;\r\n if (productAttachments && productAttachments.length > 0) {\r\n _.map(productAttachments, (photo, index) => {\r\n switch (photo.productAttachmentTypeName) {\r\n case PRODUCT_IMAGE_ROOM_SCENE.label:\r\n // roomScenePhoto = photo;\r\n roomScenePhotos.push(photo);\r\n pushItemToCarousel(photo, index);\r\n break;\r\n case PRODUCT_IMAGE_CLOSE_UP.label:\r\n closeUpPhoto = photo;\r\n pushItemToCarousel(photo, index);\r\n break;\r\n case DETAILED_SPECS.label:\r\n detailedSpecs = photo;\r\n break;\r\n case PRODUCT_IMAGE_D.label:\r\n mainProductImage = photo;\r\n if (title === params.rugs) {\r\n pushItemToCarousel(photo, index);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n }\r\n if (filteredProductColors && filteredProductColors.length > 0) {\r\n _.chain(filteredProductColors)\r\n .map((pc, index) => {\r\n let optImage = {\r\n value: pc.id,\r\n label: `${pc.name} (${pc.number})`,\r\n seq: pc.seq,\r\n };\r\n colorOptions.push(optImage);\r\n if (pc.productColorImages && pc.productColorImages.length > 0) {\r\n const colorImage = findMainColorImage(pc.productColorImages);\r\n pushItemToCardDeck(colorImage, index, `${pc.name} (${pc.number})`);\r\n }\r\n })\r\n .value();\r\n }\r\n if (detailedSpecs) {\r\n item.detailedSpecsPdf = detailedSpecs;\r\n }\r\n const fourSeasonsTitle = \" (Four Seasons UV Rated)\";\r\n const petProtect = \" (Pet Protect)\";\r\n let cleanerName = _.chain(dcName)\r\n .replace(fourSeasonsTitle, \"\")\r\n .replace(petProtect, \"\")\r\n .value();\r\n item.cleanerName = cleanerName;\r\n const imageId = `imgKey${key}`;\r\n // only main images first, so we can get main display photo\r\n // let productImages = [closeUpPhoto, roomScenePhoto];\r\n let productImages = roomScenePhotos.unshift(closeUpPhoto);\r\n let detailedMainPhoto = _.find(productImages, (image) => {\r\n return image && image.url && image.url.length > 10;\r\n });\r\n if (title === params.rugs && mainProductImage) {\r\n detailedMainPhoto = mainProductImage;\r\n }\r\n if (!detailedMainPhoto) {\r\n detailedMainPhoto = mainColorImage || this.state.preloadedComingSoonImage;\r\n }\r\n item.activeColor = _.find(colorOptions, (col) => {\r\n if (item.productColorId || queryStringProductColor) {\r\n return col.value === item.productColorId;\r\n } else {\r\n return col.seq === 1;\r\n }\r\n });\r\n item.colorOptions = _.sortBy(colorOptions, (col) => {\r\n return col.label;\r\n });\r\n item.carouselItems = carouselItems;\r\n item.cardDeckItems = _.sortBy(cardDeckItems, (col) => {\r\n return col.title;\r\n });\r\n // rugs only moving imagery to right side since rug main image is tall.\r\n // except runners which will be displayed like other carpets\r\n // if (title === params.rugs && section !== params.runners) {\r\n // item.cardDeckItems = item.carouselItems;\r\n // item.carouselItems = [];\r\n // }\r\n item.detailedMainPhoto = detailedMainPhoto;\r\n item.activePhoto = detailedMainPhoto;\r\n if (!mainColorImage) {\r\n mainColorImage = detailedMainPhoto;\r\n }\r\n if (!showThisProduct) {\r\n return item;\r\n }\r\n item.listRenderType = (\r\n {\r\n showThisProduct(item.productId, item.productColorId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {cleanerName}\r\n {title === params.rugs && item.colorName && ` (${item.colorName})`}\r\n \r\n {showPrices && title !== params.rugs ? (\r\n \r\n {formatPrice(unitPrice)}\r\n \r\n ) : null}\r\n \r\n \r\n );\r\n return item;\r\n}\r\n\r\nfunction shapeCustomer(customer, title) {\r\n customer.webEmail = \"\";\r\n const { shipToAddress } = customer;\r\n\r\n if (shipToAddress) {\r\n customer.stAddressLine1 =\r\n shipToAddress.addressLine1 || shipToAddress.AddressLine1;\r\n customer.stAddressLine2 =\r\n shipToAddress.addressLine2 || shipToAddress.AddressLine2;\r\n customer.stAddressLine3 =\r\n shipToAddress.addressLine3 || shipToAddress.AddressLine3;\r\n customer.stAddressLine4 =\r\n shipToAddress.addressLine4 || shipToAddress.AddressLine4;\r\n customer.stState = shipToAddress.state || shipToAddress.State;\r\n customer.stCity = shipToAddress.city || shipToAddress.City;\r\n customer.stZip = shipToAddress.zip || shipToAddress.Zip;\r\n }\r\n return customer;\r\n}\r\n\r\nexport default class Squarespace extends Component {\r\n constructor(props) {\r\n super(props);\r\n const token = api.customerToken();\r\n const showPrices = token ? true : false;\r\n const sampleCart = getItemFromStorage(params.sampleCartItems, []);\r\n const orderCart = getItemFromStorage(params.orderCartItems, []);\r\n const rugQuote = getItemFromStorage(\r\n params.customRug,\r\n Object.assign({}, emptyCustomRug)\r\n );\r\n const {\r\n productType,\r\n section,\r\n sort_field,\r\n title,\r\n filterType,\r\n subTypes,\r\n queryStringDCNumber,\r\n queryStringProductColor,\r\n shareLinkBase,\r\n } = parseURL(props);\r\n\r\n let customer = {};\r\n if (props.currentCustomer) {\r\n customer = shapeCustomer(props.currentCustomer, title);\r\n }\r\n if (title === \"Custom Rug\") {\r\n customer.useDefaultShipTo = false;\r\n } else {\r\n customer.useDefaultShipTo = true;\r\n }\r\n let showSteps = customer && customer.id > 0;\r\n let incomingProduct = {};\r\n if (queryStringDCNumber) {\r\n incomingProduct.productId = queryStringDCNumber;\r\n }\r\n if (queryStringProductColor) {\r\n incomingProduct.productColorId = queryStringProductColor;\r\n }\r\n this.state = {\r\n customer: customer,\r\n useProductsDisplay: false,\r\n useCartDisplay: false,\r\n setLayoutReady: false,\r\n sampleCartMessage: null,\r\n sampleCartMessageFlavor: \"success\",\r\n orderCartMessage: null,\r\n orderCartMessageFlavor: \"success\",\r\n productType: productType,\r\n queryStringDCNumber: queryStringDCNumber,\r\n queryStringProductColor: queryStringProductColor,\r\n shareLinkBase: shareLinkBase,\r\n section: section,\r\n sort_field: sort_field,\r\n title: title,\r\n filterType: filterType,\r\n subTypes: subTypes,\r\n showPrices: showPrices,\r\n showCustomRugSteps: showSteps,\r\n redirect: false,\r\n redirectTo: \"/sq/carpets/carpet/all/none\",\r\n carpetProductTypeList: [],\r\n colorAndGrainTypeList: [],\r\n colorFamilyList: [],\r\n constructionTypeList: [],\r\n installGradeList: [],\r\n memoSizeList: [],\r\n pileTypeList: [],\r\n productStatusList: [],\r\n productTypeList: [],\r\n rugComplexityList: [],\r\n rugIntlCollectionList: [],\r\n rugShapeList: [],\r\n suppliersList: [],\r\n tradeSizesList: [],\r\n widthsList: [],\r\n yarnBrandList: [],\r\n webCategoryList: [],\r\n freightTermsList: [],\r\n padOptionsList: [],\r\n miscOptionsList: [],\r\n rugComponentsList: [],\r\n imageHeight: 253,\r\n thinking: true,\r\n // customer cart fields\r\n productLengthFeet: 0,\r\n productQuantity: 0,\r\n activeCustomRugStep: CUSTOM_STEPS.field,\r\n sidebarOpen: false,\r\n customRug: rugQuote,\r\n fieldProductsList: [],\r\n fieldProductColorsList: [],\r\n fieldWidthsList: [],\r\n bindingOptionsList: [],\r\n filterFieldColorSelection: null,\r\n quoteOrderSubmitting: false,\r\n fetchingFieldColors: false,\r\n productsRowMaxHeight: 500,\r\n customRugWarnings: null,\r\n sampleCartWarnings: null,\r\n orderCartWarnings: null,\r\n sampleCartItems: sampleCart,\r\n orderCartItems: orderCart,\r\n activeCart: params.sampleCartItems,\r\n orderCartSubmitting: false,\r\n orderComment: \"\",\r\n freightTerms: null,\r\n sampleComment: \"\",\r\n sampleCartSubmitting: false,\r\n pagedList: {\r\n list: [],\r\n pageSize: 20,\r\n pageNumber: 1,\r\n totalPages: 1,\r\n },\r\n redirect: false,\r\n redirectTo: \"/sq/carpets/carpet/all/none\",\r\n filters: initialFilters,\r\n sort_dir: \"asc\",\r\n imageHeight: 253,\r\n thinking: true,\r\n preloadedComingSoonImage: {\r\n src: \"Coming_Soon.png\",\r\n data: \"\",\r\n alt: \"No image for this item yet\",\r\n },\r\n fetchingProduct: null,\r\n singleProductDisplay:\r\n incomingProduct && incomingProduct.productId ? incomingProduct : null,\r\n mobileFilterCollapse: false,\r\n showSortingDropDown: false,\r\n };\r\n this.initializeScreenType = this.initializeScreenType.bind(this);\r\n this.initializeFilters = this.initializeFilters.bind(this);\r\n this.refreshList = this.refreshList.bind(this);\r\n this.setPage = this.setPage.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.onChangeHandler = this.onChangeHandler.bind(this);\r\n this.onCustomerChangeHandler = this.onCustomerChangeHandler.bind(this);\r\n this.onCustomerSwitch = this.onCustomerSwitch.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.customRugFormComplete = this.customRugFormComplete.bind(this);\r\n this.setActiveCustomRugStep = this.setActiveCustomRugStep.bind(this);\r\n this.toggleSidebar = this.toggleSidebar.bind(this);\r\n this.selectRugSize = this.selectRugSize.bind(this);\r\n this.selectProductWidth = this.selectProductWidth.bind(this);\r\n this.onChangeCustomRugHandler = this.onChangeCustomRugHandler.bind(this);\r\n this.onChangeCustomRugInput = this.onChangeCustomRugInput.bind(this);\r\n this.customRugQuoteIsValid = this.customRugQuoteIsValid.bind(this);\r\n this.calculateCustomRugEstimate =\r\n this.calculateCustomRugEstimate.bind(this);\r\n this.submitCustomRugQuote = this.submitCustomRugQuote.bind(this);\r\n this.getColorSelectionsForCustomRugField =\r\n this.getColorSelectionsForCustomRugField.bind(this);\r\n this.shapeOrderLine = this.shapeOrderLine.bind(this);\r\n this.shapeRugComponentOrderLine =\r\n this.shapeRugComponentOrderLine.bind(this);\r\n this.resetCustomRug = this.resetCustomRug.bind(this);\r\n this.downloadDetailedSpecs = this.downloadDetailedSpecs.bind(this);\r\n this.downloadExport = this.downloadExport.bind(this);\r\n this.calculateFigures = this.calculateFigures.bind(this);\r\n this.toggleCustomRugOption = this.toggleCustomRugOption.bind(this);\r\n this.validateWidthSelection = this.validateWidthSelection.bind(this);\r\n this.node = null;\r\n this.showThisProduct = this.showThisProduct.bind(this);\r\n this.goBackToList = this.goBackToList.bind(this);\r\n this.SidebarSection = this.SidebarSection.bind(this);\r\n this.CustomerDisplay = this.CustomerDisplay.bind(this);\r\n this.CartDisplay = this.CartDisplay.bind(this);\r\n this.CustomRugDisplay = this.CustomRugDisplay.bind(this);\r\n this.toggleActiveCart = this.toggleActiveCart.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.addSampleToCart = this.addSampleToCart.bind(this);\r\n this.removeSampleFromCart = this.removeSampleFromCart.bind(this);\r\n this.deleteSampleFromCart = this.deleteSampleFromCart.bind(this);\r\n this.addToOrderCart = this.addToOrderCart.bind(this);\r\n this.deleteFromOrderCart = this.deleteFromOrderCart.bind(this);\r\n this.purchaseOrderFormValid = this.purchaseOrderFormValid.bind(this);\r\n this.submitPurchaseOrder = this.submitPurchaseOrder.bind(this);\r\n this.sampleOrderFormValid = this.sampleOrderFormValid.bind(this);\r\n this.submitSampleOrder = this.submitSampleOrder.bind(this);\r\n this.selectTerms = this.selectTerms.bind(this);\r\n this.selectColorOption = this.selectColorOption.bind(this);\r\n this.selectColorOptionByPhoto = this.selectColorOptionByPhoto.bind(this);\r\n this.fetchProductData = this.fetchProductData.bind(this);\r\n this.getPublicProductInfo = this.getPublicProductInfo.bind(this);\r\n this.saveCartData = this.saveCartData.bind(this);\r\n this.GetCartData = this.GetCartData.bind(this);\r\n this.clearCustomerEmailandRequestedBy =\r\n this.clearCustomerEmailandRequestedBy.bind(this);\r\n this.formatPhoneField = this.formatPhoneField.bind(this);\r\n this.toggleMobileFilters = this.toggleMobileFilters.bind(this);\r\n this.hideMobileFilters = this.hideMobileFilters.bind(this);\r\n }\r\n\r\n formatPhoneField(v) {\r\n let cleaned = (\"\" + v).replace(/\\D/g, \"\");\r\n var match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/);\r\n if (match) {\r\n v = \"(\" + match[1] + \") \" + match[2] + \"-\" + match[3];\r\n }\r\n this.setState({\r\n customer: {\r\n ...this.state.customer,\r\n stPhone: v,\r\n },\r\n });\r\n }\r\n\r\n toggleMobileFilters() {\r\n this.setState({ mobileFilterCollapse: !this.state.mobileFilterCollapse });\r\n }\r\n\r\n hideMobileFilters() {\r\n this.setState({ mobileFilterCollapse: false });\r\n }\r\n\r\n saveCartData() {\r\n let uniqueCartData = {};\r\n if (this.state.customer && this.state.customer.id) {\r\n //this.setState({thinking : true});\r\n // let customerID = String(this.state.customer.id);\r\n // let customerCartObject = {\r\n // sampleCartItems: this.state.sampleCartItems,\r\n // orderCartItems: this.state.orderCartItems,\r\n // CustomRug: this.state.customRug\r\n // }\r\n uniqueCartData = {\r\n CustomerID: String(this.state.customer.id),\r\n\r\n CustomerCartObject: JSON.stringify({\r\n sampleCartItems: this.state.sampleCartItems || [],\r\n orderCartItems: this.state.orderCartItems || [],\r\n CustomRug: this.state.customRug || object.assign({}, emptyCustomRug),\r\n }),\r\n\r\n ExpiryMinutes: null,\r\n };\r\n }\r\n //let payload = JSON.stringify(uniqueCartData);\r\n console.log(\"UCD: \", uniqueCartData);\r\n api\r\n .post(`Web/SaveCartData`, uniqueCartData)\r\n .then((response) => {\r\n if (response && response.data) {\r\n console.log(\"User: \", this.state.customer);\r\n console.log(\"API succesfully sent\");\r\n console.log(\"response: \", response.data);\r\n }\r\n })\r\n .catch((error) => error)\r\n .finally(() => this.setState({ thinking: false }));\r\n }\r\n GetCartData() {\r\n //this.setState({thinking : true});\r\n let CustomerCartObject = {};\r\n api\r\n .fetch(`Web/GetCartData/${this.state.customer.id}`)\r\n .then((result) => {\r\n if (result && result.data && result.data.success) {\r\n let parsedResult = JSON.parse(result);\r\n\r\n CustomerCartObject.sampleCartItems =\r\n parsedResult.data.sampleCartItems;\r\n CustomerCartObject.orderCartItems = parsedResult.data.orderCartItems;\r\n CustomerCartObject.customRug = parsedResult.data.customRug;\r\n }\r\n // console.log(\"Cache results\", result);\r\n if (CustomerCartObject) {\r\n if (CustomerCartObject.sampleCartItems) {\r\n setItemToStorage(\r\n params.sampleCartItems,\r\n CustomerCartObject.sampleCartItems\r\n );\r\n }\r\n if (CustomerCartObject.orderCartItems) {\r\n setItemToStorage(\r\n params.orderCartItems,\r\n CustomerCartObject.orderCartItems\r\n );\r\n }\r\n if (CustomerCartObject.customRug) {\r\n setItemToStorage(params.customRug, CustomerCartObject.customRug);\r\n }\r\n }\r\n })\r\n .catch((error) => error)\r\n .finally(() => this.setState({ thinking: false }));\r\n }\r\n\r\n componentDidMount() {\r\n this.initializeScreenType();\r\n this.node = ReactDOM.findDOMNode(this);\r\n let comingSoonImage = Object.assign(\r\n {},\r\n this.state.preloadedComingSoonImage\r\n );\r\n const getImageComingSoon = () => {\r\n return axios.get(comingSoonImage.src, {\r\n responseType: \"arraybuffer\",\r\n });\r\n };\r\n Promise.all([getImageComingSoon()])\r\n .then((response) => {\r\n if (response && response.length) {\r\n let imageData = Buffer.from(response[0].data, \"binary\").toString(\r\n \"base64\"\r\n );\r\n let newState = Object.assign({}, this.state);\r\n comingSoonImage.data = `data:image/png;base64, ${imageData}`;\r\n newState.preloadedComingSoonImage = comingSoonImage;\r\n this.setState(newState);\r\n }\r\n //this.saveCartData();\r\n this.clearCustomerEmailandRequestedBy();\r\n this.GetCartData();\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevProps.location.pathname !== this.props.location.pathname) {\r\n this.initializeScreenType();\r\n }\r\n\r\n if (\r\n this.props.currentCustomer &&\r\n !_.isEqual(prevProps.currentCustomer, this.props.currentCustomer)\r\n ) {\r\n const newCustomerShape = shapeCustomer(\r\n this.props.currentCustomer,\r\n this.state.title\r\n );\r\n if (\r\n !_.isEqual(this.state.customer, newCustomerShape) &&\r\n !this.state.customer.tainted\r\n ) {\r\n this.setState({ customer: newCustomerShape });\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.saveCartData();\r\n\r\n setItemToStorage(params.sampleCartItems, this.state.sampleCartItems);\r\n setItemToStorage(params.orderCartItems, this.state.orderCartItems);\r\n setItemToStorage(params.customRug, this.state.customRug);\r\n }\r\n\r\n initializeScreenType() {\r\n const parsedParams = parseURL(this.props);\r\n let {\r\n page,\r\n productType,\r\n section,\r\n sort_field,\r\n title,\r\n filterType,\r\n subTypes,\r\n queryStringDCNumber,\r\n queryStringProductColor,\r\n shareLinkBase,\r\n } = parsedParams;\r\n const newState = Object.assign(parsedParams, this.state);\r\n if (page === \"log-in-sign-up\") {\r\n this.setState({\r\n redirect: true,\r\n redirectTo: \"/sq/sign_in_or_register\",\r\n });\r\n return;\r\n }\r\n if (page === \"shopping-cart\" || productType === \"cart\") {\r\n newState.useCartDisplay = true;\r\n newState.setLayoutReady = true;\r\n this.setState(newState);\r\n return;\r\n }\r\n if (page === \"all-carpet\") {\r\n productType = \"Carpets\";\r\n title = params.carpet;\r\n filterType = title;\r\n }\r\n newState.useProductsDisplay = true;\r\n const getProductSelectData = api\r\n .fetch(\"Product/GetProductSelectsData\")\r\n .then((response) => {\r\n if (response && response.data) {\r\n let results = {};\r\n results.carpetProductTypeList = response.data.carpetProductTypeList;\r\n results.colorAndGrainTypeList = response.data.colorAndGrainTypeList;\r\n results.colorFamilyList = response.data.colorFamilyList;\r\n results.constructionTypeList = response.data.constructionTypeList;\r\n results.installGradeList = response.data.installGradeList;\r\n results.memoSizeList = response.data.memoSizeList;\r\n results.pileTypeList = _.sortBy(response.data.pileTypeList, (opt) => {\r\n return opt.label;\r\n });\r\n results.fiberGroupList = _.sortBy(\r\n response.data.fiberGroupList,\r\n (opt) => {\r\n return opt.label;\r\n }\r\n );\r\n results.productStatusList = response.data.productStatusList;\r\n results.productTypeList = response.data.productTypeList;\r\n results.rugComplexityList = response.data.rugComplexityList;\r\n results.rugIntlCollectionList = response.data.rugIntlCollectionList;\r\n results.rugShapeList = response.data.rugShapeList;\r\n results.suppliersList = response.data.suppliersList;\r\n results.tradeSizesList = response.data.tradeSizesList;\r\n results.widthsList = response.data.widthsList;\r\n results.yarnBrandList = _.sortBy(\r\n response.data.yarnBrandList,\r\n (opt) => {\r\n return opt.label;\r\n }\r\n );\r\n results.webCategoryList = response.data.webCategoryList;\r\n return results;\r\n }\r\n });\r\n const getFreightTermsSelectList = api\r\n .fetch(\"Web/GetFreightTermList\")\r\n .then((result) => {\r\n if (result && result.data) {\r\n return { freightTermsList: result.data };\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n const customRugOptions = api\r\n .fetch(`Product/GetCustomRugSelectsData`)\r\n .then((response) => {\r\n if (response && response.data) {\r\n // border no longer an option in the custom rug section\r\n const [borderList, bindingList] = _.partition(\r\n response.data.bindingOptionsList,\r\n (opt) => {\r\n return _.includes(opt.label, \"Border\");\r\n }\r\n );\r\n return {\r\n fieldProductsList: response.data.fieldProductsList,\r\n fieldProductColorsList: response.data.fieldProductColorsList,\r\n fieldWidthsList: response.data.fieldWidthsList,\r\n bindingOptionsList: bindingList,\r\n padOptionsList: response.data.padOptionsList,\r\n miscOptionsList: response.data.miscOptionsList,\r\n rugComponentsList: response.data.rugComponentsList,\r\n };\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n Promise.all([\r\n getProductSelectData,\r\n getFreightTermsSelectList,\r\n customRugOptions,\r\n ])\r\n .then((aggregateResults) => {\r\n const newStatus = Object.assign({}, newState);\r\n aggregateResults.forEach((r) => Object.assign(newStatus, r));\r\n if (productType === params.customRug) {\r\n newStatus.useCustomRugDisplay = true;\r\n newStatus.setLayoutReady = true;\r\n this.setState(newStatus);\r\n return;\r\n }\r\n newStatus.setLayoutReady = true;\r\n this.setState(newStatus, () => {\r\n if (\r\n this.state.useProductsDisplay &&\r\n !this.state.singleProductDisplay\r\n ) {\r\n this.initializeFilters();\r\n return;\r\n }\r\n if (\r\n this.state.singleProductDisplay &&\r\n this.state.singleProductDisplay.productId\r\n ) {\r\n this.fetchProductData();\r\n return;\r\n }\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n initializeFilters() {\r\n let newStatus = {\r\n filters: initialFilters,\r\n };\r\n let filterList = newStatus.filters;\r\n // setting product type filters\r\n const typeFilter = _.find(\r\n this.state.productTypeList,\r\n (option) => option.label === this.state.filterType\r\n );\r\n if (typeFilter) {\r\n let productTypes = [typeFilter.value];\r\n if (this.state.section === \"Commercial\") {\r\n const carpetTile = _.find(\r\n this.state.productTypeList,\r\n (option) => option.label === \"Carpet Tile\"\r\n );\r\n productTypes.push(carpetTile.value);\r\n }\r\n const typeShape = {\r\n filterName: \"ProductTypeList\",\r\n value: productTypes,\r\n };\r\n filterList.push(typeShape);\r\n }\r\n // setting web category filters\r\n if (this.state.subTypes && this.state.subTypes.length > 0) {\r\n const subtypeFilters = _.filter(this.state.webCategoryList, (option) =>\r\n _.includes(this.state.subTypes, option.label)\r\n );\r\n if (subtypeFilters) {\r\n const typeShape = {\r\n filterName: \"WebCategoryList\",\r\n value: _.map(subtypeFilters, (opt) => opt.value),\r\n };\r\n filterList.push(typeShape);\r\n }\r\n }\r\n newStatus.filters = filterList;\r\n this.setState(newStatus, () => {\r\n this.refreshList(\r\n this.state.sort_field,\r\n this.state.sort_dir,\r\n filterList,\r\n 1\r\n );\r\n });\r\n }\r\n\r\n refreshList(sort_field, sort_direction, filters, pageNumber) {\r\n const { pagedList, showPrices, queryStringDCNumber } = this.state;\r\n let filterList = Object.assign([], filters || this.state.filters);\r\n let payload = {\r\n Page: pageNumber || pagedList.pageNumber,\r\n PageSize: pagedList.pageSize,\r\n SortField: sort_field || this.state.sort_field,\r\n SortDir: sort_direction || this.state.sort_dir,\r\n // filters: filter_helpers.transform_filters(filters || this.state.filters)\r\n };\r\n this.setState({ thinking: true }, () => {\r\n // always put active filter\r\n filterList.push(activeFilter);\r\n // always put publicFacing so the shape of the data is scrubbed for the public API\r\n filterList.push(publicFilter);\r\n const showPricesShape = {\r\n filterName: \"ShowPrices\",\r\n value: showPrices,\r\n };\r\n // send back whether or not to show pricing\r\n filterList.push(showPricesShape);\r\n if (queryStringDCNumber) {\r\n filterList.push({\r\n filterName: \"DCNumber\",\r\n value: queryStringDCNumber,\r\n });\r\n }\r\n _.each(\r\n filterList,\r\n (filter) => (payload[filter.filterName] = filter.value)\r\n );\r\n api\r\n .post(\"Product/GetPublicPaginatedList\", payload)\r\n .then((response) => {\r\n if (response && response.data) {\r\n const pagedList = response.data;\r\n pagedList.list = _.map(pagedList.list, (x, index) => {\r\n return shapeEachProduct(\r\n x,\r\n index,\r\n this.state.showPrices,\r\n this.state.title,\r\n this.state.section,\r\n this.showThisProduct,\r\n this.state.queryStringDCNumber,\r\n this.state.queryStringProductColor\r\n );\r\n });\r\n let newState = Object.assign({}, this.state);\r\n newState.pagedList = pagedList;\r\n this.setState(newState, this.setImageHeight);\r\n }\r\n })\r\n .catch((error) => error)\r\n .finally(() => this.setState({ thinking: false }));\r\n });\r\n }\r\n\r\n setImageHeight() {\r\n const { pagedList } = this.state;\r\n const { list } = pagedList;\r\n if (pagedList && list && list.length > 0) {\r\n if (this.node && this.node instanceof HTMLElement) {\r\n const parent = this.node.parentElement;\r\n if (parent) {\r\n const childG = parent.querySelector(`.imgKeyItemCard`);\r\n const gWidth = childG\r\n ? childG.clientWidth\r\n ? childG.clientWidth\r\n : 253\r\n : 253;\r\n if (childG) {\r\n this.setState({ imageHeight: gWidth });\r\n }\r\n }\r\n }\r\n var parentIFrameHeight = window.innerHeight;\r\n if (parentIFrameHeight) {\r\n // 90 is the height of search bar and pager bar combined\r\n const maxHeight = _.min([parentIFrameHeight - 50, 500]);\r\n this.setState({ productsRowMaxHeight: maxHeight });\r\n }\r\n }\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(\r\n this.state.filters,\r\n changedFilter\r\n );\r\n this.setState({ filters: filters, clearValue: false }, () =>\r\n this.refreshList(null, null, filters, 1)\r\n );\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true }, () =>\r\n this.refreshList(null, null, filters, 1)\r\n );\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find((f) => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sort_dir: direction, sort_field: field }, () =>\r\n this.refreshList(field, direction)\r\n );\r\n }\r\n\r\n setPage(page) {\r\n const newPagedList = Object.assign({}, this.state.pagedList);\r\n newPagedList.pageNumber = page;\r\n this.setState({ pagedList: newPagedList }, this.refreshList);\r\n }\r\n\r\n showThisProduct(productId, productColorNumber) {\r\n this.setState(\r\n {\r\n singleProductDisplay: {\r\n productId: productId,\r\n productColorId: productColorNumber,\r\n },\r\n },\r\n () => this.fetchProductData()\r\n );\r\n }\r\n\r\n handleInputChange(event) {\r\n this.setState({ [event.target.name]: event.target.value });\r\n }\r\n\r\n resetCustomRug() {\r\n const customer = Object.assign({}, this.state.customer);\r\n customer.CustomerPONumber = null;\r\n customer.tainted = true;\r\n this.setState(\r\n {\r\n customer: customer,\r\n customRug: Object.assign({}, emptyCustomRug),\r\n },\r\n () => {\r\n setItemToStorage(params.customRug, this.state.customRug);\r\n }\r\n );\r\n }\r\n\r\n onChangeHandler(event) {\r\n this.setState({\r\n editItem: {\r\n ...this.state.editItem,\r\n [event.target.name]: event.target.value,\r\n },\r\n });\r\n }\r\n\r\n onCustomerChangeHandler(event) {\r\n let item = Object.assign({}, this.state.customer);\r\n item[event.target.name] = event.target.value;\r\n item.tainted = true;\r\n this.setState({\r\n customer: item,\r\n });\r\n }\r\n\r\n clearCustomerEmailandRequestedBy() {\r\n let item = Object.assign({}, this.state.customer);\r\n // item[\"requestedBy\"] = null;\r\n item[\"requestedByFirstName\"] = null;\r\n item[\"requestedByLastName\"] = null;\r\n item[\"webEmail\"] = null;\r\n item.tainted = true;\r\n this.setState({\r\n customer: item,\r\n });\r\n }\r\n\r\n onCustomerSwitch(event, field) {\r\n let item = Object.assign({}, this.state.customer);\r\n item[field] = event;\r\n item.tainted = true;\r\n this.setState({\r\n customer: item,\r\n });\r\n }\r\n\r\n onCancel() {\r\n setTimeout(() => {\r\n this.setState({ redirect: true });\r\n }, 1000);\r\n }\r\n\r\n handleCommentChange(event) {\r\n this.setState({\r\n [event.target.name]: event.target.value,\r\n });\r\n }\r\n\r\n selectRugSize(option, showProduct) {\r\n let selectedItem = Object.assign({}, showProduct);\r\n selectedItem.selectedRugSize = option;\r\n selectedItem.selectedRugPrice = option.price;\r\n selectedItem.unitPrice = option.price;\r\n this.setState(\r\n {\r\n showProduct: selectedItem,\r\n },\r\n () => setItemToStorage(params.customRug, this.state.customRug)\r\n );\r\n }\r\n\r\n selectProductWidth(option) {\r\n this.setState({\r\n selectedProductWidth: option,\r\n });\r\n }\r\n\r\n async fetchProductData() {\r\n if (!this.state.singleProductDisplay) return;\r\n const { productId, productColorId } = this.state.singleProductDisplay;\r\n this.setState({ fetchingProduct: true }, async () => {\r\n let aggResults = await Promise.all([\r\n this.getPublicProductInfo(productId, productColorId),\r\n ]);\r\n try {\r\n let results = {};\r\n aggResults.forEach((r) => Object.assign(results, r));\r\n if (results && results.productShape) {\r\n let productShape = shapeEachProduct(\r\n results.productShape,\r\n 0,\r\n this.state.showPrices,\r\n this.state.title,\r\n this.state.section,\r\n null,\r\n this.state.queryStringDCNumber,\r\n this.state.queryStringProductColor\r\n );\r\n const productWidthOptions = _.map(productShape.productWidths, (w) => {\r\n return {\r\n value: w.widthId,\r\n label: w.widthName,\r\n widthNumericFeet: w.widthNumericFeet,\r\n };\r\n });\r\n let newState = Object.assign({}, this.state);\r\n newState.fetchingProduct = false;\r\n newState.productWidthOptions = productWidthOptions;\r\n newState.selectedProductWidth = productWidthOptions[0];\r\n if (productColorId) {\r\n if (!productShape.activeColor) {\r\n productShape.activeColor = _.find(\r\n productShape.colorOptions,\r\n (opt) => {\r\n return opt.value === productColorId;\r\n }\r\n );\r\n }\r\n if (!productShape.activePhoto) {\r\n let activePhoto = null;\r\n productShape.cardDeckItems = _.map(\r\n productShape.cardDeckItems,\r\n (ci) => {\r\n const active = ci.productColorId === productColorId;\r\n ci.activeOption = active;\r\n if (active) {\r\n activePhoto = ci;\r\n }\r\n return ci;\r\n }\r\n );\r\n productShape.activePhoto = activePhoto;\r\n }\r\n }\r\n newState.showProduct = productShape;\r\n this.setState(newState);\r\n }\r\n } catch {\r\n console.log(\"error fetching product info\", aggResults);\r\n }\r\n });\r\n }\r\n\r\n getPublicProductInfo = (productId, colorNumber) => {\r\n return api\r\n .fetch(`Product/GetPublicProduct/${productId}/${colorNumber}`)\r\n .then((response) => {\r\n if (response && response.data) {\r\n return { productShape: response.data };\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n };\r\n\r\n selectColorOption(option) {\r\n const productCopy = Object.assign({}, this.state.showProduct);\r\n let { carouselItems, cardDeckItems } = productCopy;\r\n productCopy.activeColor = option;\r\n let activePhoto = null;\r\n productCopy.cardDeckItems = _.map(cardDeckItems, (ci) => {\r\n const active = option.value === ci.productColorId;\r\n ci.activeOption = active;\r\n if (active) {\r\n activePhoto = ci;\r\n }\r\n return ci;\r\n });\r\n productCopy.carouselItems = _.map(carouselItems, (ci) => {\r\n const active = option.value === ci.productColorId;\r\n ci.activeOption = active;\r\n if (active) {\r\n activePhoto = ci;\r\n }\r\n return ci;\r\n });\r\n productCopy.activePhoto = activePhoto;\r\n this.setState({\r\n showProduct: productCopy,\r\n });\r\n }\r\n\r\n selectColorOptionByPhoto(photo) {\r\n const productCopy = Object.assign({}, this.state.showProduct);\r\n let { carouselItems, cardDeckItems, colorOptions } = productCopy;\r\n productCopy.activePhoto = photo;\r\n let activeColorOption = productCopy.activeColor;\r\n if (photo.productColorId) {\r\n const optionMatch = _.find(colorOptions, (opt) => {\r\n return opt.value === photo.productColorId;\r\n });\r\n activeColorOption = optionMatch;\r\n productCopy.carouselItems = _.map(carouselItems, (ci) => {\r\n ci.activeOption = optionMatch.value === ci.productColorId;\r\n return ci;\r\n });\r\n productCopy.cardDeckItems = _.map(cardDeckItems, (ci) => {\r\n ci.activeOption = optionMatch.value === ci.productColorId;\r\n return ci;\r\n });\r\n }\r\n productCopy.activeColor = activeColorOption;\r\n this.setState({\r\n showProduct: productCopy,\r\n });\r\n }\r\n\r\n calculateFigures(product) {\r\n const { priceUnitTypeName } = product;\r\n let productQuantity;\r\n if (priceUnitTypeName === \"Sq Yds\") {\r\n productQuantity = _.round(\r\n (this.state.selectedProductWidth.widthNumericFeet *\r\n this.state.productLengthFeet) /\r\n 9,\r\n 2\r\n ).toFixed(2);\r\n }\r\n if (priceUnitTypeName === params.squareFeet) {\r\n if (product.productTypeName !== params.wood) {\r\n productQuantity = _.round(\r\n this.state.selectedProductWidth.widthNumericFeet *\r\n this.state.productLengthFeet,\r\n 2\r\n ).toFixed(2);\r\n }\r\n }\r\n if (priceUnitTypeName === params.squareFeet) {\r\n productQuantity = _.round(this.state.productLengthFeet, 2).toFixed(2);\r\n }\r\n this.setState({ productQuantity: productQuantity });\r\n }\r\n\r\n shapeOrderLine(item, comment) {\r\n const { customer, customRug } = this.state;\r\n let dsc = \"\";\r\n switch (item.productTypeName) {\r\n case params.carpet:\r\n dsc = `${item.cleanerName}, ${\r\n item.selectedColor ? item.selectedColor.label : \"\"\r\n } (${item.selectedProductWidth.label} X ${item.lengthFeet}) = ${\r\n item.qty || \"0\"\r\n } ${item.priceUnitTypeName}`;\r\n break;\r\n case \"Intl Rug\":\r\n dsc = `${item.qty || \"0\"} X ${item.cleanerName} ${\r\n item.selectedColor ? item.selectedColor.label : \"\"\r\n } (${item.selectedRugSize.label})`;\r\n break;\r\n default:\r\n if (item.selectedColor) {\r\n dsc = `${item.qty} X ${item.cleanerName}, ${item.selectedColor.label}`;\r\n } else {\r\n dsc = `${item.qty} X ${item.cleanerName}`;\r\n }\r\n }\r\n const useCarton =\r\n item.priceUnitTypeId === constants.PRICE_UNIT_TYPE.CARTON.value;\r\n const data = {\r\n Id: 0,\r\n OrderId: 0,\r\n ParentOrderLineId: null,\r\n LastStatusAt: new Date(),\r\n ProductId: item.id,\r\n ProductColorId: item.selectedColor ? item.selectedColor.value : null,\r\n LengthFeet: item.lengthFeet ? Number(item.lengthFeet) : null,\r\n Qty: item.qty ? Number(item.qty) : 0,\r\n CartonCount: useCarton && item.qty ? Number(item.qty) : null,\r\n PriceUnitTypeId: item.priceUnitTypeId ? item.priceUnitTypeId : null,\r\n OrderLineTypeId: resolveOrderLineType(item),\r\n Dsc: dsc,\r\n Price: Number(item.price / 100.0),\r\n UnitPrice: Number(item.unitPrice / 100.0),\r\n WidthId: item.selectedProductWidth\r\n ? Number(item.selectedProductWidth.value)\r\n : null,\r\n SendScrapsDesired: false,\r\n CreatedAt: moment(),\r\n };\r\n if (item.selectedRugSize) {\r\n data.Price = Number(item.selectedRugSize.price / 100.0);\r\n data.UnitPrice = Number(item.selectedRugSize.price / 100.0);\r\n data.RugIntlSizeId = item.selectedRugSize.value;\r\n }\r\n return {\r\n OrderLine: data,\r\n FreightOrderLine: null,\r\n OrderLineComments:\r\n comment && comment !== \"\"\r\n ? [\r\n {\r\n Dsc: comment,\r\n },\r\n ]\r\n : [],\r\n };\r\n }\r\n\r\n shapeRugComponentOrderLine(\r\n product,\r\n componentType,\r\n selectedColor,\r\n comment,\r\n typeId,\r\n price,\r\n qty,\r\n selectedWidth,\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n ) {\r\n const productName = product.label;\r\n const productId = product.value;\r\n let priceUnitTypeId = product.priceUnitTypeId;\r\n let repeatNumeric = product.repeatNumeric ? product.repeatNumeric : 0;\r\n if (!priceUnitTypeId && product.priceUnitTypeName) {\r\n const unitType = _.find(constants.PRICE_UNIT_TYPE, (t) => {\r\n return t.label === product.priceUnitTypeName;\r\n });\r\n if (unitType) {\r\n priceUnitTypeId = unitType.value;\r\n }\r\n }\r\n let repeatLengthValue = 0;\r\n let repeatWidthvalue = 0;\r\n const { customer, customRug } = this.state;\r\n let dsc = \"\";\r\n if (componentType === \"Custom Rug\") {\r\n dsc = `${feetWidth}' ${inchesWidth}\" x ${feetLength}' ${inchesLength}\" ${\r\n customRug.shapeSelection.value ===\r\n constants.CUSTOM_RUG_SHAPE_LIST.ROUND.value\r\n ? \"Round\"\r\n : \"\"\r\n } Custom Rug`;\r\n repeatLengthValue = repeatLength ? Number(repeatLength) : 0;\r\n repeatWidthvalue = repeatWidth ? Number(repeatWidth) : 0;\r\n } else if (componentType === \"Rug Pad\") {\r\n dsc = calc.getRugPadDescription(productName, null);\r\n } else if (componentType === \"Field\") {\r\n dsc = `${calc.getFieldDescription(\r\n productName,\r\n selectedColor\r\n )} - (Custom Size)`;\r\n repeatLengthValue = repeatLength ? Number(repeatLength) : 0;\r\n repeatWidthvalue = repeatWidth ? Number(repeatWidth) : 0;\r\n } else {\r\n if (selectedColor) {\r\n if (componentType == \"Binding\") {\r\n dsc = `${productName}, ${selectedColor.label}`;\r\n } else {\r\n dsc = `${componentType}: ${productName}, ${selectedColor.label}`;\r\n }\r\n } else {\r\n dsc = `${componentType} X ${productName}`;\r\n }\r\n }\r\n\r\n if (selectedWidth && selectedWidth.widthId) {\r\n selectedWidth = selectedWidth.widthId;\r\n }\r\n const data = {\r\n Id: 0,\r\n OrderId: 0,\r\n ParentOrderLineId: null,\r\n LastStatusAt: new Date(),\r\n ProductId: productId,\r\n ProductColorId: selectedColor ? selectedColor.value : null,\r\n Qty: qty ? Number(qty) : 0,\r\n CartonCount: null,\r\n PriceUnitTypeId: priceUnitTypeId ? priceUnitTypeId : null,\r\n OrderLineTypeId: typeId,\r\n Dsc: dsc,\r\n Price: price && price > 0 ? Number(price / 100.0) : 0,\r\n UnitPrice: 0,\r\n WidthId: selectedWidth,\r\n RepeatWidth: repeatWidthvalue,\r\n RepeatLength: repeatLengthValue,\r\n RugLengthFeet: Number(feetLength),\r\n RugLengthInches: Number(inchesLength),\r\n RugWidthFeet: Number(feetWidth),\r\n RugWidthInches: Number(inchesWidth),\r\n ForOutdoorUse: customRug.forOutdoorUse,\r\n FreightQuoteDesired:\r\n _.isBoolean(customRug.freightQuoteDesired) &&\r\n componentType === \"Custom Rug\"\r\n ? customRug.freightQuoteDesired\r\n : false,\r\n SendScrapsDesired:\r\n _.isBoolean(customRug.sendScrapsDesired) &&\r\n componentType === \"Custom Rug\"\r\n ? customRug.sendScrapsDesired\r\n : false,\r\n RepeatNumeric: Number(repeatNumeric),\r\n };\r\n if (componentType === \"Rug Pad\" || componentType === \"Field\") {\r\n data.LengthFeet =\r\n Number(data.RugLengthFeet) + Number(data.RugLengthInches) / 12.0;\r\n }\r\n return {\r\n OrderLine: data,\r\n OrderLineComments:\r\n comment && comment !== \"\"\r\n ? [\r\n {\r\n Dsc: comment,\r\n },\r\n ]\r\n : [],\r\n };\r\n }\r\n\r\n async toggleCustomRugOption(bool, type) {\r\n let customRug = Object.assign({}, this.state.customRug);\r\n customRug[type] = !bool;\r\n if (type === params.serging && customRug.serging) {\r\n // clearing out binding selection if serging is selected as true again\r\n customRug.bindingSelection = null;\r\n customRug.bindingSelectionColor = null;\r\n customRug.bindingSelectionColorList = [];\r\n }\r\n let calculations = await this.calculateCustomRugEstimate(customRug);\r\n customRug = Object.assign(customRug, calculations);\r\n this.setState(\r\n {\r\n customRug: customRug,\r\n },\r\n () => setItemToStorage(params.customRug, this.state.customRug)\r\n );\r\n }\r\n\r\n // this function should only check if width is less than product with, not if all fields are entered\r\n validateWidthSelection(shapeLabel) {\r\n const { customRug } = this.state;\r\n const { widthNumericFeet, sizeRadius, finishedSize, sizeWidth } = customRug;\r\n let validity = true;\r\n if (widthNumericFeet) {\r\n if ((shapeLabel === ROUND || shapeLabel === SQUARE) && sizeRadius) {\r\n const widthFeet =\r\n Number(sizeRadius.feet) + Number(sizeRadius.inches) / 12.0;\r\n validity = widthFeet <= widthNumericFeet;\r\n }\r\n // if (shapeLabel === RECTANGULAR && finishedSize && finishedSize.label) {\r\n // if (finishedSize.label === \"Custom\") {\r\n // const widthFeet =\r\n // Number(sizeWidth.feet) + Number(sizeWidth.inches) / 12.0;\r\n // validity = widthFeet <= widthNumericFeet;\r\n // } else {\r\n // const widthFeet =\r\n // Number(finishedSize.rugWidthFeet) +\r\n // Number(finishedSize.rugWidthInches) / 12.0;\r\n // validity = widthFeet <= widthNumericFeet;\r\n // }\r\n // }\r\n if (shapeLabel === RECTANGULAR && sizeWidth) {\r\n const widthFeet =\r\n Number(sizeWidth.feet) + Number(sizeWidth.inches) / 12.0;\r\n validity = widthFeet <= widthNumericFeet;\r\n }\r\n }\r\n return validity;\r\n }\r\n\r\n customRugQuoteIsValid() {\r\n const { customRug } = this.state;\r\n const {\r\n fieldSelection,\r\n fieldSelectionColorList,\r\n fieldSelectionColor,\r\n shapeSelection,\r\n sizeRadius,\r\n finishedSize,\r\n sizeWidth,\r\n sizeLength,\r\n serging,\r\n bindingSelection,\r\n bindingSelectionColor,\r\n } = customRug;\r\n let warningsList = [];\r\n if (!fieldSelection || !fieldSelection.value) {\r\n warningsList.push(\"Please select a field carpet on step 1.\");\r\n }\r\n if (\r\n fieldSelection &&\r\n fieldSelection.value &&\r\n !(\r\n fieldSelectionColorList.length === 0 ||\r\n (fieldSelectionColor && fieldSelectionColor.value)\r\n )\r\n ) {\r\n warningsList.push(\"Please select a field color on step 1.\");\r\n }\r\n if (\r\n !(\r\n shapeSelection &&\r\n shapeSelection.value &&\r\n (((shapeSelection.label === ROUND || shapeSelection.label === SQUARE) &&\r\n sizeRadius &&\r\n sizeRadius.feet > 0 &&\r\n this.validateWidthSelection(customRug.shapeSelection.label)) ||\r\n (shapeSelection.label === RECTANGULAR &&\r\n // (finishedSize && finishedSize.value && finishedSize.value > 1) ||\r\n sizeWidth &&\r\n sizeWidth.feet > 0 &&\r\n sizeLength &&\r\n sizeLength.feet > 0 &&\r\n this.validateWidthSelection(customRug.shapeSelection.label)))\r\n )\r\n ) {\r\n warningsList.push(\"Please select a shape and dimensions on step 2.\");\r\n }\r\n if (\r\n !(\r\n serging ||\r\n (bindingSelection &&\r\n bindingSelection.value &&\r\n bindingSelectionColor &&\r\n bindingSelectionColor.value)\r\n )\r\n ) {\r\n warningsList.push(\r\n \"Please choose either default serging or a binding with color on step 3.\"\r\n );\r\n }\r\n return warningsList;\r\n }\r\n\r\n getSizes(customRug) {\r\n const { finishedSize, sizeLength, sizeWidth, sizeRadius, shapeSelection } =\r\n customRug;\r\n\r\n let feetLength = 0;\r\n let inchesLength = 0;\r\n let feetWidth = 0;\r\n let inchesWidth = 0;\r\n\r\n if (shapeSelection.label === \"Rectangular\") {\r\n //&& finishedSize\r\n // if (finishedSize.label === \"Custom\" && sizeLength && sizeWidth) {\r\n feetLength = sizeLength.feet;\r\n inchesLength = sizeLength.inches;\r\n feetWidth = sizeWidth.feet;\r\n inchesWidth = sizeWidth.inches;\r\n // } else {\r\n // feetLength = finishedSize.rugLengthFeet;\r\n // inchesLength = finishedSize.rugLengthInches;\r\n // feetWidth = finishedSize.rugWidthFeet;\r\n // inchesWidth = finishedSize.rugWidthInches;\r\n // }\r\n }\r\n if (shapeSelection.label === \"Round\" || shapeSelection.label === \"Square\") {\r\n feetLength = sizeRadius.feet;\r\n inchesLength = sizeRadius.inches;\r\n feetWidth = sizeRadius.feet;\r\n inchesWidth = sizeRadius.inches;\r\n }\r\n return {\r\n feetLength: feetLength,\r\n inchesLength: inchesLength,\r\n feetWidth: feetWidth,\r\n inchesWidth: inchesWidth,\r\n };\r\n }\r\n\r\n async calculateCustomRugEstimate(customRug) {\r\n let fieldPayload = null;\r\n let padPayload = null;\r\n let bindingPayload = null;\r\n let appliedBindingPayload = null;\r\n let sergingPayload = null;\r\n let cutChargePayload = null;\r\n let padCutFeeOver31SFPayload = null;\r\n let inboundFreightPayload = null;\r\n let armorPayload = null;\r\n let backingPayload = null;\r\n let seamPayload = null;\r\n let laborRoundProductPayload = null;\r\n let priceList = [];\r\n let totalFieldUnits;\r\n const { miscOptionsList, rugComponentsList, padOptionsList } = this.state;\r\n\r\n // default backing charge\r\n const backingCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.DefaultBackingProduct;\r\n });\r\n const cutCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.DefaultCutChargeProduct;\r\n });\r\n const defaultPad = _.find(rugComponentsList, (ch) => {\r\n return (\r\n ch.configName === configNames.DefaultRugPadLuxFeltCustomSizeProduct\r\n );\r\n });\r\n // const defaultPad = _.find(padOptionsList, (ch) => {\r\n // return _.includes(ch.label, \"Rug Pad Lux Felt\");\r\n // });\r\n const over31SFPadCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.DefaultPadCutChargeProduct;\r\n });\r\n const under30SFPadCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.Under30SFPadCutChargeProduct;\r\n });\r\n const hiddenStitchBindingCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.DefaultMiteredProduct;\r\n });\r\n // const defaultSergeCharge = _.find(rugComponentsList, (ch) => {\r\n // return ch.configName === configNames.DefaultWoolSergingChargeProduct;\r\n // });\r\n let defaultSergeCharge;\r\n if (\r\n customRug.fieldSelectionSupplierId ==\r\n constants.COMMON_SUPPLIER_IDS.NOURISON\r\n ) {\r\n defaultSergeCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.DefaultWoolSergingChargeNProduct;\r\n });\r\n } else if (customRug.forOutdoorUse) {\r\n defaultSergeCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.DefaultUVSergingChargeProduct;\r\n });\r\n } else {\r\n defaultSergeCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.DefaultWoolSergingChargeProduct;\r\n });\r\n }\r\n const machineAppliedCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.DefaultAppliedMachineBordersProduct;\r\n });\r\n const seamCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.DefaultSevenSeamPadPerLFFeeProduct;\r\n });\r\n\r\n customRug.rugBackingPricePer =\r\n backingCharge && _.round(backingCharge.unitPrice, 2).toFixed(2);\r\n customRug.rugBackingCostPer =\r\n backingCharge && _.round(backingCharge.unitCost, 2).toFixed(2);\r\n customRug.sergingPricePer =\r\n defaultSergeCharge && _.round(defaultSergeCharge.unitPrice, 2).toFixed(2);\r\n customRug.sergingCostPer =\r\n defaultSergeCharge && _.round(defaultSergeCharge.unitCost, 2).toFixed(2);\r\n customRug.mSergingPricePer =\r\n machineAppliedCharge &&\r\n _.round(machineAppliedCharge.unitCost, 2).toFixed(2);\r\n customRug.mSergingCostPer =\r\n machineAppliedCharge &&\r\n _.round(machineAppliedCharge.unitCost, 2).toFixed(2);\r\n customRug.hsSergingPricePer =\r\n hiddenStitchBindingCharge &&\r\n _.round(hiddenStitchBindingCharge.unitCost, 2).toFixed(2);\r\n customRug.hsSergingCostPer =\r\n hiddenStitchBindingCharge &&\r\n _.round(hiddenStitchBindingCharge.unitCost, 2).toFixed(2);\r\n customRug.seamChargePricePer =\r\n seamCharge && _.round(seamCharge.unitPrice, 2).toFixed(2);\r\n customRug.seamChargeCostPer =\r\n seamCharge && _.round(seamCharge.unitCost, 2).toFixed(2);\r\n\r\n if (\r\n customRug &&\r\n customRug.fieldSelection &&\r\n customRug.fieldSelection.value\r\n ) {\r\n const {\r\n widthNumericFeet,\r\n shapeSelection,\r\n unitPrice,\r\n priceUnitTypeName,\r\n serging,\r\n bindingSelection,\r\n includeRugPad,\r\n padSelection,\r\n fieldPrice,\r\n fieldSelection,\r\n repeatLength,\r\n repeatWidth,\r\n productWidths,\r\n } = customRug;\r\n if (widthNumericFeet && shapeSelection) {\r\n let { feetLength, inchesLength, feetWidth, inchesWidth } =\r\n this.getSizes(customRug);\r\n let { sqFt, finishedEdgeFt } = calc.calculateSqFeetAndFinEdgeFt(\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth\r\n );\r\n // field will add additional for pattern Match\r\n // but pad will stay original dimension\r\n let originalLengthFeet = feetLength;\r\n let originalLengthInches = inchesLength;\r\n let {\r\n totalRugBackingPrice,\r\n totalRugBackingCost,\r\n rugBackingCmsn,\r\n totalSergingPrice,\r\n totalSergingCost,\r\n sergingCmsn,\r\n totalMSergingPrice,\r\n totalMSergingCost,\r\n mSergingCmsn,\r\n totalHSSergingPrice,\r\n totalHSSergingCost,\r\n hsSergingCmsn,\r\n } = calc.calculateRugExtraCosts(customRug, sqFt, finishedEdgeFt);\r\n /////////////////////////////////////\r\n let results = {\r\n padSelection: null,\r\n rugOverview: null,\r\n priceList: null,\r\n estimatedPrice: null,\r\n fieldQty: null,\r\n fieldPayload: null,\r\n cutChargePayload: null,\r\n bindingPayload: null,\r\n appliedBindingPayload: null,\r\n sergingPayload: null,\r\n padPayload: null,\r\n padCutFeeOver31SFPayload: null,\r\n inboundFreightPayload: null,\r\n armorPayload: null,\r\n backingPayload: null,\r\n seamPayload: null,\r\n laborRoundProductPayload: null,\r\n };\r\n if (widthNumericFeet && feetWidth > 0 && feetLength > 0) {\r\n const widthFeetAndInches = Number(\r\n parseFloat(feetWidth) + parseFloat(inchesWidth / 12.0)\r\n );\r\n const lengthFeetAndInches = Number(\r\n parseFloat(feetLength) + parseFloat(inchesLength / 12.0)\r\n );\r\n let payload = {\r\n CustomWidth: widthFeetAndInches,\r\n CustomLength: lengthFeetAndInches,\r\n ProductId: Number(fieldSelection.value),\r\n };\r\n let defaultFieldCalc = await calc.getDefaultFieldSize(\r\n payload,\r\n fieldSelection,\r\n repeatLength,\r\n repeatWidth,\r\n null\r\n );\r\n const {\r\n appliedFieldRepeat,\r\n fieldLengthFeet,\r\n fieldLengthInches,\r\n widthFeetName,\r\n } = defaultFieldCalc;\r\n feetLength = fieldLengthFeet;\r\n inchesLength = fieldLengthInches;\r\n customRug.repeatNumeric = appliedFieldRepeat || 0;\r\n var width = _.find(customRug.productWidths, (w) => {\r\n return w.widthName === widthFeetName;\r\n });\r\n if (width) {\r\n results.selectedWidth = width;\r\n results.widthNumericFeet = width.widthNumericFeet;\r\n results.productWidth = width;\r\n }\r\n totalFieldUnits = calc.calculateFieldUnits(\r\n widthNumericFeet,\r\n feetLength,\r\n inchesLength,\r\n priceUnitTypeName\r\n );\r\n results.fieldQty = totalFieldUnits;\r\n\r\n if (totalFieldUnits) {\r\n const fieldPrice = {\r\n price: totalFieldUnits * unitPrice * 100,\r\n label: fieldSelection.label,\r\n };\r\n priceList.push(fieldPrice);\r\n customRug.fieldSelection.repeatNumeric = appliedFieldRepeat;\r\n // SHAPING field first\r\n // null below is the comment field\r\n fieldPayload = this.shapeRugComponentOrderLine(\r\n customRug.fieldSelection,\r\n \"Field\",\r\n customRug.fieldSelectionColor,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_FIELD.value,\r\n fieldPrice.price,\r\n totalFieldUnits,\r\n width,\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n results.fieldPayload = fieldPayload;\r\n }\r\n if (\r\n cutCharge &&\r\n customRug.fieldSelectionSupplierId !=\r\n constants.COMMON_SUPPLIER_IDS.NOURISON\r\n ) {\r\n const cutChargeItem = {\r\n price: cutCharge.unitPrice, // $25.00\r\n label: cutCharge.label,\r\n };\r\n priceList.push(cutChargeItem);\r\n // SHAPING field first\r\n // null below is the comment field\r\n cutChargePayload = this.shapeRugComponentOrderLine(\r\n cutCharge,\r\n \"Misc\",\r\n null,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n cutChargeItem.price,\r\n 1,\r\n null,\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n results.cutChargePayload = cutChargePayload;\r\n }\r\n if (serging && defaultSergeCharge) {\r\n const sergingCharge = {\r\n price: Number(totalSergingPrice),\r\n label: \"Serged\",\r\n };\r\n priceList.push(sergingCharge);\r\n sergingPayload = this.shapeRugComponentOrderLine(\r\n defaultSergeCharge,\r\n \"Serging\",\r\n null,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n Number(sergingCharge.price).toFixed(2),\r\n finishedEdgeFt,\r\n null,\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n results.sergingPayload = sergingPayload;\r\n } else if (\r\n bindingSelection &&\r\n bindingSelection.value &&\r\n customRug.bindingSelectionColor &&\r\n customRug.bindingSelectionColor.value\r\n ) {\r\n let BindingCottonSmallProduct = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.BindingCottonSmallProduct;\r\n });\r\n let BindingSolidSmallProduct = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.BindingSolidSmallProduct;\r\n });\r\n let bindingLengthWithAllowance;\r\n if (\r\n customRug.bindingSelection.value ==\r\n BindingCottonSmallProduct.value ||\r\n customRug.bindingSelection.value == BindingSolidSmallProduct.value\r\n ) {\r\n bindingLengthWithAllowance = finishedEdgeFt + 2;\r\n } else {\r\n bindingLengthWithAllowance = finishedEdgeFt + 4;\r\n }\r\n const bindingCost = {\r\n price:\r\n Number(bindingSelection.unitPrice * 100).toFixed(2) *\r\n bindingLengthWithAllowance,\r\n label: bindingSelection.label,\r\n };\r\n // adding this later instead\r\n // priceList.push(bindingCost);\r\n\r\n // SHAPING binding component\r\n // null below is the comment field\r\n bindingPayload = this.shapeRugComponentOrderLine(\r\n customRug.bindingSelection,\r\n \"Binding\",\r\n customRug.bindingSelectionColor,\r\n null,\r\n constants.ORDER_LINE_TYPE.BINDING.value,\r\n bindingCost.price,\r\n bindingLengthWithAllowance,\r\n null,\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n results.bindingPayload = bindingPayload;\r\n if (hiddenStitchBindingCharge || machineAppliedCharge) {\r\n let bindingApplicationCharge;\r\n if (\r\n customRug.bindingSelection.value ==\r\n BindingCottonSmallProduct.value ||\r\n customRug.bindingSelection.value ==\r\n BindingSolidSmallProduct.value\r\n ) {\r\n bindingApplicationCharge = {\r\n price:\r\n Number(machineAppliedCharge.unitPrice).toFixed(2) *\r\n finishedEdgeFt,\r\n label: machineAppliedCharge.label,\r\n };\r\n appliedBindingPayload = this.shapeRugComponentOrderLine(\r\n machineAppliedCharge,\r\n \"Misc\",\r\n null,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n bindingApplicationCharge.price,\r\n finishedEdgeFt,\r\n null,\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n } else {\r\n bindingApplicationCharge = {\r\n price:\r\n Number(hiddenStitchBindingCharge.unitPrice).toFixed(2) *\r\n finishedEdgeFt,\r\n label: hiddenStitchBindingCharge.label,\r\n };\r\n appliedBindingPayload = this.shapeRugComponentOrderLine(\r\n hiddenStitchBindingCharge,\r\n \"Misc\",\r\n null,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n bindingApplicationCharge.price,\r\n finishedEdgeFt,\r\n null,\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n }\r\n priceList.push(bindingApplicationCharge);\r\n results.appliedBindingPayload = appliedBindingPayload;\r\n }\r\n }\r\n if (\r\n backingCharge &&\r\n customRug.forOutdoorUse == false &&\r\n customRug.backingTypeId != constants.BACKING_TYPE.COTTON &&\r\n customRug.fieldSelectionSupplierId !=\r\n constants.COMMON_SUPPLIER_IDS.NOURISON\r\n ) {\r\n const backingCost = {\r\n price: Number(backingCharge.unitPrice).toFixed(2) * sqFt,\r\n label: backingCharge.label,\r\n };\r\n priceList.push(backingCost);\r\n backingPayload = this.shapeRugComponentOrderLine(\r\n backingCharge,\r\n \"Backing\",\r\n null,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n backingCost.price,\r\n sqFt,\r\n null,\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n results.backingPayload = backingPayload;\r\n }\r\n if (\r\n seamCharge &&\r\n widthFeetAndInches > 12 &&\r\n lengthFeetAndInches > 12 &&\r\n customRug.fieldSelectionSupplierId !=\r\n constants.COMMON_SUPPLIER_IDS.NOURISON\r\n ) {\r\n let seamQty;\r\n if (lengthFeetAndInches > widthFeetAndInches) {\r\n seamQty = lengthFeetAndInches;\r\n } else {\r\n seamQty = widthFeetAndInches;\r\n }\r\n const seamCost = {\r\n price: Number(seamCharge.unitPrice).toFixed(2) * seamQty,\r\n label: seamCharge.label,\r\n };\r\n priceList.push(seamCost);\r\n seamPayload = this.shapeRugComponentOrderLine(\r\n seamCharge,\r\n \"Seam\",\r\n null,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n seamCost.price,\r\n seamQty,\r\n null,\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n results.seamPayload = seamPayload;\r\n }\r\n if (\r\n includeRugPad &&\r\n defaultPad &&\r\n customRug.fieldSelectionSupplierId !=\r\n constants.COMMON_SUPPLIER_IDS.NOURISON\r\n ) {\r\n let widths = await api.fetch(\r\n `Product/GetProductWidths/${defaultPad.value}`\r\n );\r\n let defaultPaddingWidth = _.chain(widths.data)\r\n .sortBy((w) => {\r\n return w.widthNumericFeet;\r\n })\r\n .find((w, index) => {\r\n if (index + 1 < widths.data.length) {\r\n return w.widthNumericFeet >= widthFeetAndInches;\r\n }\r\n return true;\r\n })\r\n .value();\r\n let paddingSqFt =\r\n (sqFt / widthFeetAndInches) *\r\n defaultPaddingWidth.widthNumericFeet;\r\n const padCost = {\r\n price:\r\n Number(defaultPad.unitPrice * 100).toFixed(2) * paddingSqFt,\r\n label: defaultPad.label,\r\n };\r\n // priceList.push(padCost);\r\n // adding this later instead\r\n padPayload = this.shapeRugComponentOrderLine(\r\n defaultPad,\r\n \"Rug Pad\",\r\n null,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_PAD.value,\r\n padCost.price,\r\n paddingSqFt,\r\n defaultPaddingWidth,\r\n originalLengthFeet,\r\n originalLengthInches,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n results.padSelection = defaultPad;\r\n results.padPayload = padPayload;\r\n if (sqFt > 31 && over31SFPadCharge) {\r\n const rugPadCutCost = {\r\n price: over31SFPadCharge.unitPrice, // need to change this to be dynamic, not hard coded\r\n label: `Rug Pad Cut Fee Over 31 Sq Ft`,\r\n };\r\n priceList.push(rugPadCutCost);\r\n // SHAPING padding component\r\n // null below is the comment field\r\n padCutFeeOver31SFPayload = this.shapeRugComponentOrderLine(\r\n over31SFPadCharge,\r\n \"Misc\",\r\n null,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n rugPadCutCost.price,\r\n 1,\r\n null,\r\n originalLengthFeet,\r\n originalLengthInches,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n results.padCutFeeOver31SFPayload = padCutFeeOver31SFPayload;\r\n } else {\r\n if (under30SFPadCharge) {\r\n const rugPadCutCost = {\r\n price: under30SFPadCharge.unitPrice, // need to change this to be dynamic, not hard coded\r\n label: `Rug Pad Cut Fee under 31 Sq Ft`,\r\n };\r\n priceList.push(rugPadCutCost);\r\n // SHAPING padding component\r\n // null below is the comment field\r\n padCutFeeOver31SFPayload = this.shapeRugComponentOrderLine(\r\n under30SFPadCharge,\r\n \"Misc\",\r\n null,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n rugPadCutCost.price,\r\n 1,\r\n null,\r\n originalLengthFeet,\r\n originalLengthInches,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n results.padCutFeeOver31SFPayload = padCutFeeOver31SFPayload;\r\n }\r\n }\r\n }\r\n // default charges for every custom ordered rug quote\r\n // armor and inbound freight\r\n let inboundFreightCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.DefaultInboundFreightProduct;\r\n });\r\n if (\r\n inboundFreightCharge &&\r\n customRug.fieldSelectionSupplierId !=\r\n constants.COMMON_SUPPLIER_IDS.NOURISON\r\n ) {\r\n inboundFreightCharge.price = inboundFreightCharge.unitPrice;\r\n priceList.push(inboundFreightCharge);\r\n inboundFreightPayload = this.shapeRugComponentOrderLine(\r\n inboundFreightCharge,\r\n \"Misc\",\r\n null,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n inboundFreightCharge.unitPrice,\r\n 1,\r\n null,\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n results.inboundFreightPayload = inboundFreightPayload;\r\n }\r\n let armorCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.DefaultRugEndArmorProduct;\r\n });\r\n if (\r\n armorCharge &&\r\n customRug.fieldSelectionSupplierId !=\r\n constants.COMMON_SUPPLIER_IDS.NOURISON\r\n ) {\r\n armorCharge.price = armorCharge.unitPrice;\r\n priceList.push(armorCharge);\r\n armorPayload = this.shapeRugComponentOrderLine(\r\n armorCharge,\r\n \"Misc\",\r\n null,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n armorCharge.unitPrice,\r\n 1,\r\n null,\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth\r\n );\r\n results.armorPayload = armorPayload;\r\n }\r\n let laborRoundProductCharge = _.find(rugComponentsList, (ch) => {\r\n return ch.configName === configNames.DefaultLaborRoundProduct;\r\n });\r\n if (\r\n laborRoundProductCharge &&\r\n customRug.shapeSelection.value ===\r\n constants.CUSTOM_RUG_SHAPE_LIST.ROUND.value &&\r\n customRug.fieldSelectionSupplierId !=\r\n constants.COMMON_SUPPLIER_IDS.NOURISON\r\n ) {\r\n laborRoundProductCharge.price = laborRoundProductCharge.unitPrice;\r\n priceList.push(laborRoundProductCharge);\r\n laborRoundProductPayload = this.shapeRugComponentOrderLine(\r\n laborRoundProductCharge,\r\n \"Misc\",\r\n null,\r\n null,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n laborRoundProductCharge.unitPrice,\r\n 1,\r\n null,\r\n feetLength,\r\n inchesLength,\r\n feetWidth,\r\n inchesWidth,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n results.laborRoundProductPayload = laborRoundProductPayload;\r\n }\r\n\r\n let total = _.sumBy(priceList, (p) => {\r\n return p.price;\r\n });\r\n let rugOverview = [];\r\n if (\r\n fieldPayload &&\r\n fieldPayload.OrderLine &&\r\n fieldSelection &&\r\n fieldSelection.label\r\n ) {\r\n const mainRug = {\r\n price: total,\r\n label: `${fieldSelection.label} Custom Rug`,\r\n };\r\n rugOverview.push(mainRug);\r\n }\r\n if (\r\n bindingPayload &&\r\n bindingPayload.OrderLine &&\r\n bindingPayload.OrderLine.Price &&\r\n bindingSelection &&\r\n bindingSelection.label\r\n ) {\r\n const item = {\r\n price: bindingPayload.OrderLine.Price,\r\n label: bindingSelection.label,\r\n };\r\n rugOverview.push(item);\r\n total = total + item.price;\r\n }\r\n if (\r\n padPayload &&\r\n padPayload.OrderLine &&\r\n padPayload.OrderLine.Price\r\n ) {\r\n const item = {\r\n price: padPayload.OrderLine.Price,\r\n label: \"Rug Pad Lux Felt\",\r\n };\r\n rugOverview.push(item);\r\n total = total + item.price;\r\n }\r\n results.priceList = priceList;\r\n results.rugOverview = rugOverview;\r\n results.estimatedPrice = total;\r\n return results;\r\n }\r\n return results;\r\n }\r\n }\r\n }\r\n\r\n submitCustomRugQuote() {\r\n let validForm = this.customRugFormComplete();\r\n if (!validForm) return;\r\n const { customRug } = this.state;\r\n this.setState(\r\n {\r\n quoteOrderSubmitting: true,\r\n },\r\n () => {\r\n let componentLines = [];\r\n componentLines.push(customRug.fieldPayload);\r\n\r\n if (customRug.cutChargePayload) {\r\n componentLines.push(customRug.cutChargePayload);\r\n }\r\n\r\n if (customRug.appliedBindingPayload) {\r\n componentLines.push(customRug.appliedBindingPayload);\r\n }\r\n\r\n if (customRug.sergingPayload) {\r\n componentLines.push(customRug.sergingPayload);\r\n }\r\n if (customRug.inboundFreightPayload) {\r\n componentLines.push(customRug.inboundFreightPayload);\r\n }\r\n if (customRug.armorPayload) {\r\n componentLines.push(customRug.armorPayload);\r\n }\r\n if (customRug.backingPayload) {\r\n componentLines.push(customRug.backingPayload);\r\n }\r\n if (customRug.seamPayload) {\r\n componentLines.push(customRug.seamPayload);\r\n }\r\n if (customRug.padCutFeeOver31SFPayload) {\r\n componentLines.push(customRug.padCutFeeOver31SFPayload);\r\n }\r\n if (customRug.laborRoundProductPayload) {\r\n componentLines.push(customRug.laborRoundProductPayload);\r\n }\r\n let lengthFeet = 0;\r\n let lengthInches = 0;\r\n let widthFeet = 0;\r\n let widthInches = 0;\r\n let finishedSize = \"\";\r\n let shapeId = customRug.shapeSelection.value;\r\n if (\r\n customRug.shapeSelection.label === ROUND ||\r\n customRug.shapeSelection.label === SQUARE\r\n ) {\r\n lengthFeet = customRug.sizeRadius.feet;\r\n lengthInches = customRug.sizeRadius.inches;\r\n widthFeet = customRug.sizeRadius.feet;\r\n widthInches = customRug.sizeRadius.inches;\r\n }\r\n if (customRug.shapeSelection.label === RECTANGULAR) {\r\n // if (\r\n // customRug.finishedSize &&\r\n // customRug.finishedSize.label === \"Custom\"\r\n // ) {\r\n lengthFeet = customRug.sizeLength.feet;\r\n lengthInches = customRug.sizeLength.inches;\r\n widthFeet = customRug.sizeWidth.feet;\r\n widthInches = customRug.sizeWidth.inches;\r\n finishedSize = \"Custom\";\r\n // } else {\r\n // lengthFeet = Number(customRug.finishedSize.rugLengthFeet);\r\n // lengthInches = Number(customRug.finishedSize.rugLengthInches);\r\n // widthFeet = Number(customRug.finishedSize.rugWidthFeet);\r\n // widthInches = Number(customRug.finishedSize.rugWidthInches);\r\n // finishedSize = customRug.finishedSize.label;\r\n // }\r\n }\r\n // SHAPING custom rug parent component\r\n let rugOrderLine = this.shapeRugComponentOrderLine(\r\n customRug.fieldSelection,\r\n \"Custom Rug\",\r\n customRug.fieldSelectionColor,\r\n customRug.customRugComment,\r\n constants.ORDER_LINE_TYPE.CUSTOM_RUG.value,\r\n 0,\r\n 1,\r\n null, // selected width (not applicable)\r\n lengthFeet,\r\n lengthInches,\r\n widthFeet,\r\n widthInches,\r\n customRug.sergingPayload,\r\n customRug.appliedBindingPayload\r\n );\r\n rugOrderLine.OrderLine.PriceUnitTypeId =\r\n constants.PRICE_UNIT_TYPE.EACH.value;\r\n rugOrderLine.OrderLine.RugLengthFeet = Number(lengthFeet);\r\n rugOrderLine.OrderLine.RugLengthInches = Number(lengthInches);\r\n rugOrderLine.OrderLine.RugWidthFeet = Number(widthFeet);\r\n rugOrderLine.OrderLine.RugWidthInches = Number(widthInches);\r\n rugOrderLine.OrderLine.FinishedSize = finishedSize;\r\n rugOrderLine.OrderLine.SendScrapsDesired = customRug.sendScrapsDesired\r\n ? customRug.sendScrapsDesired\r\n : false;\r\n rugOrderLine.OrderLine.RugShapeId = Number(\r\n customRug.shapeSelection.value\r\n );\r\n rugOrderLine.OrderLine.ForOutdoorUse = customRug.forOutdoorUse;\r\n\r\n let rugComponents = {\r\n RugOrderLine: rugOrderLine,\r\n ComponentLines: componentLines,\r\n PadOrderLine: customRug.padPayload,\r\n BindingOrderLine: customRug.bindingPayload,\r\n };\r\n let order = shapeCommonOrderPayload(\r\n null, // no need to pass rug component lines here\r\n this.state.customer,\r\n this.state.productType\r\n );\r\n order.Dsc = rugOrderLine.OrderLine.Dsc;\r\n order.WebRugQuoteEstimatedPrice = _.toInteger(customRug.estimatedPrice);\r\n order.FreightQuoteDesired = customRug.freightQuoteDesired\r\n ? customRug.freightQuoteDesired\r\n : false;\r\n let payload = {\r\n Order: order,\r\n RugComponents: rugComponents,\r\n };\r\n api\r\n .post(\"Web/CustomerSaveRugQuote\", payload)\r\n .then((response) => {\r\n window.scroll(0, 0);\r\n if (response && response.data && response.data.success) {\r\n console.log(\"customer submitted\", this.state.customer);\r\n this.setState(\r\n {\r\n customRug: Object.assign({}, emptyCustomRug),\r\n activeCustomRugStep: CUSTOM_STEPS.field,\r\n },\r\n () => {\r\n Alert.success(\r\n \"Your custom rug quote request has been submitted!\"\r\n );\r\n this.resetCustomRug();\r\n }\r\n );\r\n } else {\r\n Alert.warning(\r\n \"There was a problem saving your rug quote. If this persists, please contact Distinctive.\"\r\n );\r\n }\r\n })\r\n .catch(helpers.catchHandler)\r\n .finally(() => this.setState({ quoteOrderSubmitting: false }));\r\n }\r\n );\r\n }\r\n\r\n setActiveCustomRugStep(step) {\r\n this.setState({ activeCustomRugStep: step });\r\n }\r\n\r\n customRugFormComplete() {\r\n let warningsList = [];\r\n warningsList = _.concat(warningsList, this.customRugQuoteIsValid());\r\n warningsList = _.concat(\r\n warningsList,\r\n validateCustomerInfo(this.state.customer, this.state.productType)\r\n );\r\n const readyToSubmit = warningsList.length < 1;\r\n if (!_.isEqual(this.state.customRugWarnings, warningsList)) {\r\n this.setState({ customRugWarnings: warningsList }, () => {\r\n return readyToSubmit;\r\n });\r\n } else {\r\n return readyToSubmit;\r\n }\r\n return readyToSubmit;\r\n }\r\n\r\n toggleSidebar() {\r\n this.setState((prevState) => {\r\n return {\r\n sidebarOpen: !prevState.sidebarOpen,\r\n };\r\n });\r\n }\r\n\r\n downloadDetailedSpecs(pdf_url, productName) {\r\n const getPDF = () => {\r\n return axios.get(pdf_url, {\r\n responseType: \"arraybuffer\",\r\n });\r\n };\r\n Promise.all([getPDF()])\r\n .then((response) => {\r\n if (response && response.length) {\r\n let imageData = Buffer.from(response[0].data, \"binary\").toString(\r\n \"base64\"\r\n );\r\n this.downloadExport(\r\n imageData,\r\n `detailed_specs_${productName}.pdf`,\r\n \"application/pdf\"\r\n );\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n downloadExport = (data, fileName, mime) => {\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(data, fileName);\r\n } else {\r\n const file = new Blob([data], { type: mime });\r\n var anchor = window.document.createElement(\"a\");\r\n anchor.download = fileName;\r\n anchor.href = (window.webkitURL || window.URL).createObjectURL(file);\r\n anchor.dataset.downloadurl = [mime, anchor.download, anchor.href].join(\r\n \":\"\r\n );\r\n anchor.click();\r\n }\r\n };\r\n\r\n goBackToList() {\r\n this.setState({\r\n singleProductDisplay: null,\r\n showProduct: null,\r\n queryStringDCNumber: null,\r\n queryStringProductColor: null,\r\n });\r\n }\r\n\r\n async onChangeCustomRugHandler(selection, componentType) {\r\n // if(selection.label === \"Enter Custom Size\") {\r\n // selection = _.find(FINISHED_RUG_SIZES, (frs) => {\r\n // return frs.value === selection.value;\r\n // })\r\n // }\r\n let customRug = Object.assign({}, this.state.customRug);\r\n customRug[componentType] = selection;\r\n let newState = Object.assign({}, this.state);\r\n // binding or serging so setting serging to false\r\n if (componentType === params.bindingSelection) {\r\n customRug.serging = false;\r\n }\r\n let calculations = await this.calculateCustomRugEstimate(customRug);\r\n customRug = Object.assign(customRug, calculations);\r\n newState.customRug = customRug;\r\n this.setState(newState, () => {\r\n setItemToStorage(params.customRug, this.state.customRug);\r\n if (\r\n componentType === params.fieldSelection ||\r\n componentType === params.bindingSelection\r\n ) {\r\n this.getColorSelectionsForCustomRugField(\r\n selection.value,\r\n componentType\r\n );\r\n }\r\n });\r\n }\r\n\r\n getDetailedProductInfo = (productId, componentType) => {\r\n return api\r\n .fetch(`Product/GetProductWithOrder/${productId}/-1`)\r\n .then((response) => {\r\n if (response && response.data) {\r\n const {\r\n productColors,\r\n productWidths,\r\n unitPrice,\r\n priceUnitTypeName,\r\n patternMatch,\r\n repeat,\r\n repeatLength,\r\n repeatWidth,\r\n supplierId,\r\n supplierLabel,\r\n isRugQuotable,\r\n backingTypeId,\r\n backingTypeName,\r\n constructionTypeId,\r\n constructionTypeName,\r\n } = response.data;\r\n let colorOptions = [];\r\n let customRugSelectionWidth = null;\r\n if (productColors && productColors.length > 0) {\r\n colorOptions = _.chain(productColors)\r\n .filter((col) => {\r\n return (\r\n !_.includes(col.name, \"Dropped\") &&\r\n !_.includes(col.name, \"DROPPED\") &&\r\n !_.includes(col.name, \"No Color\")\r\n );\r\n })\r\n .filter((col) => {\r\n return (\r\n col.productColorImages && col.productColorImages.length > 0\r\n );\r\n })\r\n .map((col) => {\r\n let option = Object.assign({}, col);\r\n option.value = col.id;\r\n option.label = col.name;\r\n return option;\r\n })\r\n .orderBy((col) => col.label)\r\n // .orderBy((col) => [col.seq, col.updatedAt], [\"asc\", \"desc\"])\r\n .value();\r\n }\r\n let results = {};\r\n results[`${componentType}ColorList`] = colorOptions;\r\n results[`${componentType}SupplierId`] = supplierId;\r\n results[`${componentType}SupplierLabel`] = supplierLabel;\r\n results.isRugQuotable = isRugQuotable;\r\n if (componentType === params.fieldSelection) {\r\n if (productWidths && productWidths.length > 0) {\r\n customRugSelectionWidth = productWidths[0];\r\n } else {\r\n console.warn(\"NO Widths listed for this item\", response.data);\r\n }\r\n results.repeat = repeat;\r\n results.repeatLength = repeatLength;\r\n results.repeatWidth = repeatWidth;\r\n results.patternMatch = patternMatch;\r\n results.productWidth = customRugSelectionWidth;\r\n results.widthNumericFeet = customRugSelectionWidth.widthNumericFeet;\r\n results.repeatNumeric = calc.getMinRepeat(\r\n this.state.customRug.fieldSelection,\r\n repeatLength,\r\n repeatWidth\r\n );\r\n results.productAttachments = response.data.productAttachments;\r\n results.selectedWidth =\r\n productWidths && productWidths.length > 0\r\n ? productWidths[0]\r\n : null;\r\n results.productWidths = productWidths;\r\n results.unitPrice = unitPrice;\r\n results.priceUnitTypeName = priceUnitTypeName;\r\n results.backingTypeId = backingTypeId;\r\n results.backingTypeName = backingTypeName;\r\n results.constructionTypeId = constructionTypeId;\r\n results.constructionTypeName = constructionTypeName;\r\n }\r\n return results;\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n };\r\n\r\n async getColorSelectionsForCustomRugField(productId, componentType) {\r\n const newStatus = Object.assign({}, this.state);\r\n const modifyingRug = Object.assign({}, newStatus.customRug);\r\n modifyingRug[`${componentType}Color`] = null;\r\n modifyingRug[`${componentType}ColorList`] = [];\r\n this.setState(\r\n { fetchingFieldColors: true, customRug: modifyingRug },\r\n async () => {\r\n let aggResults = await Promise.all([\r\n this.getDetailedProductInfo(productId, componentType),\r\n ]);\r\n try {\r\n let customRug = Object.assign({}, modifyingRug);\r\n aggResults.forEach((r) => Object.assign(customRug, r));\r\n if (\r\n customRug.fieldSelectionSupplierId ==\r\n constants.COMMON_SUPPLIER_IDS.NOURISON\r\n ) {\r\n // if new field is Noursion product, require default serging\r\n customRug.serging = true;\r\n // clearing out binding selection if serging is selected as true again\r\n customRug.bindingSelection = null;\r\n customRug.bindingSelectionColor = null;\r\n customRug.bindingSelectionColorList = [];\r\n }\r\n let calculations = await this.calculateCustomRugEstimate(customRug);\r\n customRug = Object.assign(customRug, calculations);\r\n newStatus.customRug = customRug;\r\n this.setState(newStatus, () => {\r\n setItemToStorage(params.customRug, this.state.customRug);\r\n this.setState({ fetchingFieldColors: false });\r\n });\r\n } catch {\r\n console.log(\"error on custom rug color selection\", aggResults);\r\n }\r\n }\r\n );\r\n }\r\n\r\n async onChangeCustomRugInput(type, event) {\r\n let customRug = Object.assign({}, this.state.customRug);\r\n const eventAction = event.target;\r\n let newValue = eventAction.value;\r\n if (type) {\r\n if (newValue === \"\") {\r\n newValue = 0;\r\n }\r\n // let validMeasurement = newValue !== \"\" && newValue >= 0;\r\n // if (validMeasurement) {\r\n if (type === \"inches\" && newValue > 12) {\r\n Alert.warning(\"Value entered here must be 12 or less\");\r\n customRug[eventAction.name][type] = 12;\r\n } else {\r\n customRug[eventAction.name][type] = newValue;\r\n }\r\n let calculations = await this.calculateCustomRugEstimate(customRug);\r\n customRug = Object.assign(customRug, calculations);\r\n this.setState({ customRug: customRug }, () => {\r\n setItemToStorage(params.customRug, this.state.customRug);\r\n });\r\n // } else {\r\n // Alert.warning(\"Value entered here must be 0 or greater\");\r\n // return;\r\n // }\r\n } else {\r\n // i.e. customRug.customRugComment\r\n customRug[eventAction.name] = newValue;\r\n this.setState({ customRug: customRug }, () => {\r\n setItemToStorage(params.customRug, this.state.customRug);\r\n });\r\n }\r\n }\r\n\r\n ColumnStep = ({ colName, activeContent, stepNo }) => {\r\n const isActiveColumn = colName === this.state.activeCustomRugStep;\r\n const columnTitle = (\r\n \r\n {colName}\r\n \r\n );\r\n if (isActiveColumn) {\r\n return (\r\n \r\n \r\n \r\n

\r\n STEP {stepNo}: \r\n {colName}\r\n

\r\n \r\n
\r\n {activeContent}\r\n \r\n );\r\n }\r\n return (\r\n {\r\n if (this.state.customRug.isRugQuotable) {\r\n this.setActiveCustomRugStep(colName);\r\n }\r\n }}\r\n className=\"rugStepper d-none d-lg-block\" // do not display on small screens\r\n >\r\n
{columnTitle}
\r\n \r\n );\r\n };\r\n\r\n CustomRugDisplay = () => {\r\n const {\r\n fieldProductsList,\r\n customRug,\r\n bindingOptionsList,\r\n padOptionsList,\r\n showCustomRugSteps,\r\n } = this.state;\r\n const shapesList = _.chain(this.state.rugShapeList)\r\n .filter((x) => x.label !== \"N/A\" && x.label !== \"Odd Shapes\")\r\n .map((x) => {\r\n if (x.label === \"Round & Oval\") {\r\n return {\r\n value: x.value,\r\n label: \"Round\",\r\n };\r\n } else {\r\n return x;\r\n }\r\n })\r\n .value();\r\n const cardImageShape = (\r\n \r\n \r\n {/* \r\n BINDING section */}\r\n {/* {customRug.bindingSelection ? (\r\n IMAGGGGGGGGGGGGGGGGGE\r\n ) : (\r\n BINDING section\r\n )} */}\r\n {/* \r\n \r\n */}\r\n {/* {customRug.bindingSelection ? (\r\n IMAGGGGGGGGGGGGGGGGGE\r\n ) : (\r\n \r\n )} */}\r\n {/* */}\r\n {/* {customRug.borderSelection ? (\r\n IMAGGGGGGGGGGGGGGGGGE\r\n ) : (\r\n \r\n )} */}\r\n {/* \r\n \r\n Optional Border */}\r\n {/* {customRug.bindingSelection ? (\r\n IMAGGGGGGGGGGGGGGGGGE\r\n ) : (\r\n Optional Border\r\n )} */}\r\n {/* */}\r\n {customRug.fieldSelectionColor ? (\r\n \r\n ) : (\r\n
\r\n Select a Field to Display Image...\r\n
\r\n )}\r\n {/* \r\n
*/}\r\n \r\n
\r\n );\r\n return (\r\n \r\n \r\n \r\n

Custom Rug Preview

\r\n \r\n
\r\n \r\n \r\n {cardImageShape}\r\n \r\n \r\n \r\n \r\n
\r\n Custom Rug Details\r\n {customRug &&\r\n customRug.estimatedPrice &&\r\n this.validateWidthSelection(\r\n customRug.shapeSelection.label\r\n ) ? (\r\n {`${formatPrice(\r\n customRug.estimatedPrice\r\n )}`}\r\n ) : null}\r\n this.resetCustomRug()}\r\n >\r\n Reset Quote\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {customRug &&\r\n customRug.shapeSelection &&\r\n customRug.shapeSelection.label && (\r\n \r\n \r\n \r\n )}\r\n \r\n {customRug &&\r\n customRug.shapeSelection &&\r\n customRug.shapeSelection.label &&\r\n customRug.shapeSelection.label === ROUND && (\r\n \r\n \r\n \r\n \r\n )}\r\n {customRug &&\r\n customRug.shapeSelection &&\r\n customRug.shapeSelection.label &&\r\n customRug.shapeSelection.label === SQUARE && (\r\n \r\n \r\n \r\n \r\n )}\r\n {customRug &&\r\n customRug.shapeSelection &&\r\n customRug.shapeSelection.label &&\r\n customRug.shapeSelection.label === RECTANGULAR && (\r\n \r\n \r\n \r\n \r\n )}\r\n {/* Border no longer an option in Custom Rug */}\r\n {/* {customRug &&\r\n customRug.borderSelection &&\r\n customRug.borderSelection.label && (\r\n \r\n \r\n \r\n \r\n )} */}\r\n {customRug &&\r\n customRug.bindingSelection &&\r\n customRug.bindingSelection.label &&\r\n customRug.fieldSelectionSupplierId !=\r\n constants.COMMON_SUPPLIER_IDS.NOURISON && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n Field\r\n \r\n {customRug &&\r\n customRug.fieldSelection &&\r\n customRug.fieldSelection.label}\r\n
\r\n Color\r\n \r\n {customRug &&\r\n customRug.fieldSelectionColor &&\r\n customRug.fieldSelectionColor.label}\r\n \r\n Shape\r\n \r\n {customRug.shapeSelection.label}\r\n
\r\n Diameter\r\n \r\n {customRug &&\r\n customRug.sizeRadius &&\r\n customRug.sizeRadius.feet &&\r\n `${customRug.sizeRadius.feet} Ft, ${\r\n customRug.sizeRadius.inches || 0\r\n } Inches Wide`}\r\n
\r\n Size\r\n \r\n {customRug &&\r\n customRug.sizeRadius &&\r\n customRug.sizeRadius.feet &&\r\n `${customRug.sizeRadius.feet} Ft, ${\r\n customRug.sizeRadius.inches || 0\r\n } Inches Wide X ${\r\n customRug.sizeRadius.feet\r\n } Ft, ${\r\n customRug.sizeRadius.inches || 0\r\n } Inches Long`}\r\n
\r\n Size\r\n \r\n \r\n {/* {customRug.finishedSize &&\r\n customRug.finishedSize.value &&\r\n customRug.finishedSize.value > 1 ? (\r\n `${customRug.finishedSize.rugWidthFeet} Ft Wide X ${customRug.finishedSize.rugLengthFeet} Ft Long`\r\n ) : ( */}\r\n \r\n {customRug.sizeWidth &&\r\n customRug.sizeWidth.feet &&\r\n customRug.sizeLength &&\r\n customRug.sizeLength.feet\r\n ? `${customRug.sizeWidth.feet} Ft, ${\r\n customRug.sizeWidth.inches || 0\r\n } Inches Wide X ${\r\n customRug.sizeLength.feet\r\n } Ft, ${\r\n customRug.sizeLength.inches || 0\r\n } Inches Long`\r\n : \"Please enter the feet and inches for both width and length.\"}\r\n \r\n {/* )} */}\r\n \r\n
\r\n Border\r\n \r\n {customRug.borderSelection &&\r\n customRug.borderSelection.label}\r\n
\r\n Binding\r\n \r\n {customRug.bindingSelection &&\r\n customRug.bindingSelection.label}\r\n {customRug.bindingSelectionColor &&\r\n customRug.bindingSelectionColor.label && (\r\n \r\n {` - ${customRug.bindingSelectionColor.label}`}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {showCustomRugSteps ? (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n this.onChangeCustomRugHandler(\r\n option,\r\n params.fieldSelection\r\n )\r\n }\r\n placeholder=\"Choose main carpet field design\"\r\n className=\"mb-2\"\r\n />\r\n {this.state.fetchingFieldColors ? (\r\n
\r\n Loading color options....\r\n
\r\n ) : customRug.fieldSelectionColorList &&\r\n customRug.fieldSelectionColorList.length > 0 &&\r\n customRug.isRugQuotable ? (\r\n \r\n this.onChangeCustomRugHandler(\r\n option,\r\n params.fieldSelectionColor\r\n )\r\n }\r\n placeholder=\"Choose color\"\r\n className=\"mb-2\"\r\n />\r\n ) : (\r\n customRug.fieldSelectionColorList &&\r\n customRug.fieldSelectionColorList.length > 0 &&\r\n !customRug.isRugQuotable && (\r\n \r\n \r\n
\r\n \r\n Please contact Distinctive directly to get\r\n a quote for this product type.\r\n \r\n
\r\n \r\n
\r\n )\r\n )}\r\n
\r\n {customRug.isRugQuotable ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setActiveCustomRugStep(\r\n CUSTOM_STEPS.size_shape\r\n )\r\n }\r\n >\r\n Next\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
\r\n
\r\n \r\n
\r\n }\r\n stepNo={1}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Round, square and rectangular are the only\r\n options through the website.\r\n
\r\n If you would like any other shape, please\r\n contact Distinctive.\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n this.onChangeCustomRugHandler(\r\n option,\r\n params.shapeSelection\r\n )\r\n }\r\n placeholder=\"Choose rug shape\"\r\n className=\"mb-2\"\r\n />\r\n \r\n \r\n

Size:

\r\n \r\n
\r\n {customRug.productWidth &&\r\n customRug.productWidth.widthName &&\r\n customRug.shapeSelection &&\r\n customRug.shapeSelection.label &&\r\n ((customRug.shapeSelection.label ==\r\n RECTANGULAR &&\r\n customRug.sizeLength.feet > 0) ||\r\n ((customRug.shapeSelection.label == ROUND ||\r\n customRug.shapeSelection.label == SQUARE) &&\r\n customRug.sizeRadius.feet > 0)) && (\r\n \r\n {this.validateWidthSelection(\r\n customRug.shapeSelection.label\r\n ) ? null : (\r\n \r\n \r\n \r\n To order a rug of this size, please\r\n contact Distinctive directly\r\n
\r\n or enter a width less than{\" \"}\r\n {customRug.productWidth.widthName}.\r\n \r\n \r\n
\r\n )}\r\n
\r\n )}\r\n {(customRug.sizeWidth.feet > 0 ||\r\n customRug.sizeWidth.inches > 0 ||\r\n customRug.sizeLength > 0 ||\r\n customRug.sizeLength.inches > 0) &&\r\n (customRug.sizeWidth.feet < 1 ||\r\n customRug.sizeLength.feet < 1) ? (\r\n \r\n \r\n \r\n Width feet and length feet must be greater\r\n than 0\r\n \r\n \r\n \r\n ) : null}\r\n {customRug.shapeSelection && (\r\n \r\n {customRug.shapeSelection.label === ROUND ||\r\n customRug.shapeSelection.label === SQUARE ? (\r\n \r\n \r\n \r\n this.onChangeCustomRugInput(\r\n \"feet\",\r\n event\r\n )\r\n }\r\n placeholder=\"Feet\"\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n this.onChangeCustomRugInput(\r\n \"inches\",\r\n event\r\n )\r\n }\r\n placeholder=\"Inches\"\r\n min=\"0\"\r\n />\r\n \r\n \r\n ) : (\r\n // RECTANGULAR\r\n \r\n {/* \r\n this.onChangeCustomRugHandler(\r\n option,\r\n params.finishedSize\r\n )\r\n }\r\n placeholder=\"Choose finished size\"\r\n className=\"mb-2\"\r\n /> */}\r\n {/* {customRug.finishedSize &&\r\n customRug.finishedSize.label ===\r\n \"Custom\" ? ( */}\r\n {customRug.shapeSelection.label ===\r\n RECTANGULAR ? (\r\n \r\n \r\n Width\r\n \r\n {\" \"}\r\n \r\n \r\n this.onChangeCustomRugInput(\r\n \"feet\",\r\n event\r\n )\r\n }\r\n placeholder=\"Feet\"\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n this.onChangeCustomRugInput(\r\n \"inches\",\r\n event\r\n )\r\n }\r\n placeholder=\"Inches\"\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n Length\r\n \r\n \r\n \r\n this.onChangeCustomRugInput(\r\n \"feet\",\r\n event\r\n )\r\n }\r\n placeholder=\"Feet\"\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n this.onChangeCustomRugInput(\r\n \"inches\",\r\n event\r\n )\r\n }\r\n placeholder=\"Inches\"\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n this.setActiveCustomRugStep(\r\n CUSTOM_STEPS.field\r\n )\r\n }\r\n >\r\n Back\r\n \r\n \r\n \r\n \r\n \r\n this.setActiveCustomRugStep(\r\n CUSTOM_STEPS.binding\r\n )\r\n }\r\n disabled={\r\n customRug &&\r\n customRug.shapeSelection &&\r\n ((customRug.shapeSelection.label ==\r\n RECTANGULAR &&\r\n customRug.sizeWidth.feet > 0 &&\r\n customRug.sizeLength.feet > 0) ||\r\n ((customRug.shapeSelection.label == ROUND ||\r\n customRug.shapeSelection.label ==\r\n SQUARE) &&\r\n customRug.sizeRadius.feet > 0)) &&\r\n this.validateWidthSelection(\r\n customRug.shapeSelection.label\r\n ) == true\r\n ? false\r\n : true\r\n }\r\n >\r\n Next\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n }\r\n stepNo={2}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n {customRug.constructionTypeId ==\r\n constants.CONSTRUCTION_TYPE_IDS.INDOOR_OUTDOOR ? (\r\n \r\n \r\n For Outdoor Use?\r\n
\r\n \r\n this.toggleCustomRugOption(\r\n customRug.forOutdoorUse,\r\n \"forOutdoorUse\"\r\n )\r\n }\r\n checked={customRug.forOutdoorUse}\r\n />\r\n
\r\n \r\n
\r\n ) : null}\r\n \r\n \r\n Serging (Default)\r\n
\r\n \r\n this.toggleCustomRugOption(\r\n customRug.serging,\r\n \"serging\"\r\n )\r\n }\r\n checked={customRug.serging}\r\n disabled={\r\n customRug.fieldSelectionSupplierId ==\r\n constants.COMMON_SUPPLIER_IDS.NOURISON\r\n }\r\n />\r\n
\r\n \r\n
\r\n {customRug &&\r\n customRug.fieldSelectionSupplierId ==\r\n constants.COMMON_SUPPLIER_IDS.NOURISON ? ( // includeRugPad may still be true but is ignored for Nourison\r\n \r\n \r\n
\r\n \r\n To add a binding to this product, please\r\n contact Distinctive directly.\r\n \r\n
\r\n \r\n
\r\n ) : (\r\n \r\n \r\n OR\r\n \r\n \r\n \r\n \r\n this.onChangeCustomRugHandler(\r\n option,\r\n params.bindingSelection\r\n )\r\n }\r\n placeholder=\"Choose binding\"\r\n className=\"mb-2\"\r\n />\r\n \r\n \r\n {customRug.bindingSelection &&\r\n customRug.bindingSelection.value &&\r\n customRug.bindingSelectionColorList &&\r\n customRug.bindingSelectionColorList.length <\r\n 1 && (\r\n
\r\n Loading binding color options....\r\n
\r\n )}\r\n {customRug.bindingSelectionColorList &&\r\n customRug.bindingSelectionColorList.length > 0 ? (\r\n \r\n \r\n \r\n this.onChangeCustomRugHandler(\r\n option,\r\n params.bindingSelectionColor\r\n )\r\n }\r\n placeholder=\"Choose binding color\"\r\n className=\"mb-2\"\r\n />\r\n \r\n \r\n ) : null}\r\n
\r\n )}\r\n {customRug &&\r\n customRug.fieldSelectionSupplierId ==\r\n constants.COMMON_SUPPLIER_IDS.NOURISON ? ( // includeRugPad may still be true but is ignored for Nourison\r\n \r\n \r\n
\r\n \r\n To order a rug pad for this product, please\r\n contact Distinctive directly.\r\n \r\n
\r\n \r\n
\r\n ) : (\r\n \r\n \r\n Include Rug Pad (Default)\r\n
\r\n \r\n this.toggleCustomRugOption(\r\n customRug.includeRugPad,\r\n \"includeRugPad\"\r\n )\r\n }\r\n checked={customRug.includeRugPad}\r\n />\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n this.setActiveCustomRugStep(\r\n CUSTOM_STEPS.size_shape\r\n )\r\n }\r\n >\r\n Back\r\n \r\n \r\n \r\n \r\n \r\n this.setActiveCustomRugStep(\r\n CUSTOM_STEPS.customer\r\n )\r\n }\r\n >\r\n Next\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n }\r\n stepNo={3}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setActiveCustomRugStep(\r\n CUSTOM_STEPS.binding\r\n )\r\n }\r\n >\r\n Back\r\n \r\n \r\n \r\n \r\n \r\n this.setActiveCustomRugStep(CUSTOM_STEPS.review)\r\n }\r\n >\r\n Next\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n stepNo={4}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {customRug.rugOverview &&\r\n customRug.rugOverview.length > 0 ? (\r\n \r\n {_.map(customRug.rugOverview, (p, idx) => {\r\n return (\r\n \r\n \r\n {p.label}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n
\r\n \r\n Estimated Subtotal\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n ) : null}\r\n
\r\n \r\n {formatPrice(p.price)}\r\n \r\n
\r\n
\r\n \r\n {formatPrice(customRug.estimatedPrice)}\r\n \r\n
\r\n
\r\n \r\n \r\n Include freight quote\r\n
\r\n \r\n this.toggleCustomRugOption(\r\n customRug.freightQuoteDesired,\r\n \"freightQuoteDesired\"\r\n )\r\n }\r\n checked={customRug.freightQuoteDesired || false}\r\n />\r\n
\r\n \r\n \r\n Include Scraps, if possible\r\n
\r\n \r\n this.toggleCustomRugOption(\r\n customRug.sendScrapsDesired,\r\n \"sendScrapsDesired\"\r\n )\r\n }\r\n checked={customRug.sendScrapsDesired || false}\r\n />\r\n
\r\n \r\n
\r\n \r\n *May not include pattern match allowances, labor,\r\n sales tax or freight\r\n \r\n {this.warningsSection(this.state.customRugWarnings)}\r\n {this.state.quoteOrderSubmitting && (\r\n
\r\n \r\n Your order is being submitted now.\r\n \r\n
\r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n this.setActiveCustomRugStep(\r\n CUSTOM_STEPS.customer\r\n )\r\n }\r\n >\r\n Back\r\n \r\n \r\n \r\n \r\n \r\n Submit Rug Quote\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n }\r\n stepNo={5}\r\n />\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n Log in to access the custom rug quote tool\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n };\r\n\r\n warningsSection(warningsList) {\r\n if (warningsList && warningsList.length) {\r\n return (\r\n \r\n \r\n {_.map(warningsList, (message, idx) => {\r\n return (\r\n
\r\n \r\n {message}\r\n \r\n
\r\n );\r\n })}\r\n \r\n
\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n toggleActiveCart(cartType) {\r\n this.setState({\r\n activeCart: cartType,\r\n });\r\n }\r\n\r\n handleInputChange(event) {\r\n this.setState({ [event.target.name]: event.target.value });\r\n }\r\n\r\n addSampleToCart(item) {\r\n let newList = Object.assign([], this.state.sampleCartItems);\r\n let selectedItem = Object.assign({}, item);\r\n let activeColor =\r\n selectedItem.activeColor ||\r\n // this is for area rugs, which should only ever have one\r\n (selectedItem.productColors && selectedItem.productColors.length\r\n ? selectedItem.productColors[0]\r\n : null);\r\n if (activeColor && !activeColor.value) {\r\n activeColor = {\r\n value: activeColor.id,\r\n label: activeColor.name,\r\n };\r\n }\r\n selectedItem.selectedColor = selectedItem.selectedColor\r\n ? selectedItem.selectedColor\r\n : activeColor;\r\n selectedItem.selectedMemoSize = selectedItem.selectedMemoSize\r\n ? selectedItem.selectedMemoSize\r\n : // this is for area rugs, which should only ever have one\r\n selectedItem.productMemoSizes && selectedItem.productMemoSizes.length\r\n ? selectedItem.productMemoSizes[0]\r\n : null;\r\n const foundIndex = _.findIndex(newList, (sample) => {\r\n return (\r\n sample.id === selectedItem.id &&\r\n (this.state.title === params.rugs ||\r\n (_.isEqual(sample.selectedColor, selectedItem.selectedColor) &&\r\n _.isEqual(sample.selectedMemoSize, selectedItem.selectedMemoSize)))\r\n );\r\n });\r\n selectedItem.count = 1;\r\n newList.push(selectedItem);\r\n // if (foundIndex > -1) {\r\n // selectedItem.count = newList[foundIndex].count + 1;\r\n // newList[foundIndex] = selectedItem;\r\n // } else {\r\n // selectedItem.count = 1;\r\n // newList.push(selectedItem);\r\n // }\r\n this.setState(\r\n {\r\n sampleCartItems: newList,\r\n },\r\n () => {\r\n Alert.success(\"Added to your cart!\");\r\n setItemToStorage(params.sampleCartItems, this.state.sampleCartItems);\r\n }\r\n );\r\n console.log(\"sCart Items\", this.state.sampleCartItems);\r\n }\r\n\r\n removeSampleFromCart(item) {\r\n if (this.state.sampleCartItems.length > 0) {\r\n let newList = this.state.sampleCartItems.slice();\r\n let indexToEdit = _.findIndex(\r\n newList,\r\n (x) =>\r\n x.id === item.id &&\r\n _.isEqual(x.selectedColor, item.selectedColor) &&\r\n _.isEqual(x.selectedMemoSize, item.selectedMemoSize)\r\n );\r\n let newCount = newList[indexToEdit].count - 1;\r\n if (newCount === 0) {\r\n newList.splice(indexToEdit, 1);\r\n } else {\r\n newList[indexToEdit].count = newCount;\r\n }\r\n this.setState(\r\n {\r\n sampleCartItems: newList,\r\n },\r\n () => {\r\n setItemToStorage(params.sampleCartItems, this.state.sampleCartItems);\r\n }\r\n );\r\n }\r\n }\r\n\r\n deleteSampleFromCart(item) {\r\n if (this.state.sampleCartItems.length > 0) {\r\n let newList = _.reject(\r\n this.state.sampleCartItems,\r\n (x) =>\r\n x.id === item.id &&\r\n _.isEqual(x.selectedColor, item.selectedColor) &&\r\n _.isEqual(x.selectedMemoSize, item.selectedMemoSize)\r\n );\r\n this.setState(\r\n {\r\n sampleCartItems: newList,\r\n },\r\n () => {\r\n setItemToStorage(params.sampleCartItems, this.state.sampleCartItems);\r\n }\r\n );\r\n }\r\n }\r\n\r\n sampleOrderFormValid() {\r\n const { customer } = this.state;\r\n const samplesWithoutColor = _.filter(this.state.sampleCartItems, (item) => {\r\n return !item.selectedColor;\r\n });\r\n if (samplesWithoutColor && samplesWithoutColor.length) {\r\n _.forEach(samplesWithoutColor, (item) => this.removeSampleFromCart(item));\r\n // This should be a one time fix for any sample carts that are in production.\r\n // this shouldn't be hit again\r\n // Alert.warning(\"One of your samples was missing a color. Please try to add this one again and select a color option\")\r\n }\r\n const webEmail = customer.webEmail;\r\n const requestedBy =\r\n _.trim(customer.requestedByFirstName) &&\r\n _.trim(customer.requestedByLastName)\r\n ? `${customer.requestedByFirstName} ${customer.requestedByLastName}`\r\n : null;\r\n if (\r\n customer &&\r\n requestedBy &&\r\n customer.webEmail &&\r\n customer.useDefaultShipTo\r\n ) {\r\n if (requestedBy.length > 255) {\r\n Alert.warning(\r\n \"Please limit length of the combined requested by first and last name to 255 characters.\"\r\n );\r\n return false;\r\n }\r\n if (webEmail.length > 150) {\r\n Alert.warning(\"Please limit length of the email to 150 characters.\");\r\n return false;\r\n }\r\n return customer && requestedBy && webEmail;\r\n }\r\n const isValid =\r\n customer &&\r\n requestedBy &&\r\n webEmail &&\r\n customer.stAddressLine1 &&\r\n customer.stAddressLine3 &&\r\n customer.stState &&\r\n customer.stCity &&\r\n customer.stZip;\r\n if (!isValid) return;\r\n if (requestedBy.length > 255) {\r\n Alert.warning(\r\n \"Please limit length of the combined requested by first and last name to 255 characters.\"\r\n );\r\n return false;\r\n }\r\n if (customer.webEmail && customer.webEmail.length > 150) {\r\n Alert.warning(\"Please limit length of the email to 150 characters.\");\r\n return false;\r\n }\r\n if (customer.customerPONumber && customer.customerPONumber.length > 20) {\r\n Alert.warning(\"Please limit length of the PO number to 20 characters.\");\r\n return false;\r\n }\r\n if (customer.freightSidemark && customer.freightSidemark.length > 50) {\r\n Alert.warning(\"Please limit length of the sidemark to 50 characters.\");\r\n return false;\r\n }\r\n if (customer.stPhone && customer.stPhone.length > 20) {\r\n Alert.warning(\r\n \"Please limit length of the phone number to 20 characters.\"\r\n );\r\n return false;\r\n }\r\n if (customer.stAddressLine1 && customer.stAddressLine1.length > 100) {\r\n Alert.warning(\r\n \"Please limit length of the address line 1 to 100 characters.\"\r\n );\r\n return false;\r\n }\r\n if (customer.stAddressLine3 && customer.stAddressLine3.length > 100) {\r\n Alert.warning(\r\n \"Please limit length of the address line 3 to 100 characters.\"\r\n );\r\n return false;\r\n }\r\n if (customer.stAddressLine2 && customer.stAddressLine2.length > 100) {\r\n Alert.warning(\r\n \"Please limit length of the address line 2 to 100 characters.\"\r\n );\r\n return false;\r\n }\r\n if (customer.stAddressLine4 && customer.stAddressLine4.length > 100) {\r\n Alert.warning(\r\n \"Please limit length of the address line 4 to 100 characters.\"\r\n );\r\n return false;\r\n }\r\n if (customer.stCity && customer.stCity.length > 35) {\r\n Alert.warning(\"Please limit length of the city to 35 characters.\");\r\n return false;\r\n }\r\n if (customer.stState && customer.stState.length > 5) {\r\n Alert.warning(\"Please limit length of the state to 5 characters.\");\r\n return false;\r\n }\r\n if (customer.stZip && customer.stZip.length > 10) {\r\n Alert.warning(\"Please limit length of the email to 10 characters.\");\r\n return false;\r\n }\r\n return (\r\n isValid &&\r\n this.state.sampleCartItems &&\r\n this.state.sampleCartItems.length > 0\r\n );\r\n }\r\n\r\n submitSampleOrder() {\r\n if (!this.sampleOrderFormValid()) return;\r\n const { customer } = this.state;\r\n const { sampleCartItems, sampleComment } = this.state;\r\n this.setState({ sampleCartSubmitting: true }, () => {\r\n const memoOrder = {\r\n Id: 0,\r\n CustomerId: customer.id,\r\n Sidemark: customer.freightSidemark || \"\",\r\n ContactFirstName: customer.requestedByFirstName,\r\n ContactLastName: customer.requestedByLastName,\r\n ContactEmail: customer.webEmail,\r\n AddressLine1: customer.stAddressLine1,\r\n AddressLine2: customer.stAddressLine2,\r\n AddressLine3: customer.stAddressLine3,\r\n AddressLine4: customer.stAddressLine4,\r\n City: customer.stCity,\r\n State: customer.stState,\r\n Zip: customer.stZip,\r\n Phone: customer.stPhone || \"\",\r\n Comment: sampleComment || \"\",\r\n MemoOrderLines: _.map(sampleCartItems, (item) => {\r\n return {\r\n Id: 0,\r\n MemoOrderId: 0,\r\n TypeOfMemoOrderLineStatus: pendingMemoOrderStatus.value,\r\n LastStatusAt: new Date(),\r\n ProductId: item.id,\r\n ProductColorId: item.selectedColor.value,\r\n MemoSizeId: -1, // placeholder so we can overwrite in the service layer for default size\r\n Qty: Number(item.count),\r\n MemoOrderLineComments: [],\r\n CustomerId: customer.id\r\n // sampleComment && sampleComment !== \"\"\r\n // ? [\r\n // {\r\n // Dsc: sampleComment,\r\n // },\r\n // ]\r\n // : [],\r\n };\r\n }),\r\n };\r\n const payload = {\r\n MemoOrder: memoOrder,\r\n UseDefaultShipToAddress: customer.useDefaultShipTo,\r\n };\r\n api\r\n .post(\"Web/CustomerSaveNewMemoOrder\", payload)\r\n .then((response) => {\r\n window.scroll(0, 0);\r\n if (response && response.data && response.data.success) {\r\n this.setState(\r\n {\r\n sampleCartItems: [],\r\n sidebarOpen: false,\r\n },\r\n () => {\r\n Alert.success(\"Your Sample Order has been Submitted!\");\r\n removeItemFromStorage(params.sampleCartItems);\r\n }\r\n );\r\n } else {\r\n this.setState({\r\n sampleCartMessageFlavor: \"danger\",\r\n sampleCartMessage: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler)\r\n .finally(() => this.setState({ sampleCartSubmitting: false }));\r\n });\r\n }\r\n\r\n selectTerms(selection) {\r\n this.setState({\r\n freightTerms: selection,\r\n });\r\n }\r\n\r\n addToOrderCart(item, qty, lengthFeet, width) {\r\n let newList = Object.assign([], this.state.orderCartItems);\r\n let selectedItem = Object.assign({}, item);\r\n selectedItem.selectedColor = selectedItem.selectedColor\r\n ? selectedItem.selectedColor\r\n : selectedItem.activeColor;\r\n selectedItem.selectedProductWidth = width;\r\n selectedItem.lengthFeet = lengthFeet;\r\n selectedItem.qty = qty;\r\n const unitPrice = item.selectedRugPrice\r\n ? item.selectedRugPrice\r\n : item.unitPrice;\r\n selectedItem.price = _.round(qty * unitPrice, 2).toFixed(2);\r\n const foundIndex = _.findIndex(newList, (sample) => {\r\n return (\r\n sample.id === selectedItem.id &&\r\n _.isEqual(sample.selectedColor, selectedItem.selectedColor) &&\r\n _.isEqual(sample.selectedRugSize, selectedItem.selectedRugSize)\r\n );\r\n });\r\n if (foundIndex > -1) {\r\n newList[foundIndex] = selectedItem;\r\n } else {\r\n newList.push(selectedItem);\r\n }\r\n this.setState(\r\n {\r\n orderCartItems: newList,\r\n productLengthFeet: 0,\r\n productQuantity: 0,\r\n },\r\n () => {\r\n Alert.success(\"Added to your cart!\");\r\n setItemToStorage(params.orderCartItems, this.state.orderCartItems);\r\n }\r\n );\r\n }\r\n\r\n deleteFromOrderCart(item) {\r\n if (this.state.orderCartItems.length > 0) {\r\n let newList = _.reject(\r\n this.state.orderCartItems,\r\n (x) =>\r\n x.id === item.id &&\r\n _.isEqual(x.selectedColor, item.selectedColor) &&\r\n _.isEqual(x.selectedRugSize, item.selectedRugSize)\r\n );\r\n this.setState(\r\n {\r\n orderCartItems: newList,\r\n },\r\n () => {\r\n setItemToStorage(params.orderCartItems, this.state.orderCartItems);\r\n }\r\n );\r\n }\r\n }\r\n\r\n purchaseOrderFormValid() {\r\n const { customer } = this.state;\r\n const requestedBy = `${customer.requestedByFirstName} ${customer.requestedByLastName}`;\r\n let isValid =\r\n customer &&\r\n customer.requestedByFirstName &&\r\n customer.requestedByLastName &&\r\n customer.stAddressLine1 &&\r\n customer.stAddressLine3 &&\r\n customer.stState &&\r\n customer.stCity &&\r\n customer.stZip &&\r\n customer.customerPONumber &&\r\n customer.customerPONumber.length > 1;\r\n if (!isValid) return;\r\n if (requestedBy.length > 255) {\r\n Alert.warning(\r\n \"Please limit length of the combined requested by first and last names to 255 characters.\"\r\n );\r\n return false;\r\n }\r\n if (customer.webEmail && customer.webEmail.length > 150) {\r\n Alert.warning(\"Please limit length of the email to 150 characters.\");\r\n return false;\r\n }\r\n if (customer.customerPONumber.length > 20) {\r\n Alert.warning(\"Please limit length of the PO number to 20 characters.\");\r\n return false;\r\n }\r\n if (customer.freightSidemark && customer.freightSidemark.length > 50) {\r\n Alert.warning(\"Please limit length of the sidemark to 50 characters.\");\r\n return false;\r\n }\r\n if (customer.stPhone && customer.stPhone.length > 20) {\r\n Alert.warning(\r\n \"Please limit length of the phone number to 20 characters.\"\r\n );\r\n return false;\r\n }\r\n if (customer.stAddressLine1 && customer.stAddressLine1.length > 100) {\r\n Alert.warning(\r\n \"Please limit length of the address line 1 to 100 characters.\"\r\n );\r\n return false;\r\n }\r\n if (customer.stAddressLine3 && customer.stAddressLine3.length > 100) {\r\n Alert.warning(\r\n \"Please limit length of the address line 3 to 100 characters.\"\r\n );\r\n return false;\r\n }\r\n if (customer.stAddressLine2 && customer.stAddressLine2.length > 100) {\r\n Alert.warning(\r\n \"Please limit length of the address line 2 to 100 characters.\"\r\n );\r\n return false;\r\n }\r\n if (customer.stAddressLine4 && customer.stAddressLine4.length > 100) {\r\n Alert.warning(\r\n \"Please limit length of the address line 4 to 100 characters.\"\r\n );\r\n return false;\r\n }\r\n if (customer.stCity && customer.stCity.length > 35) {\r\n Alert.warning(\"Please limit length of the city to 35 characters.\");\r\n return false;\r\n }\r\n if (customer.stState && customer.stState.length > 5) {\r\n Alert.warning(\"Please limit length of the state to 5 characters.\");\r\n return false;\r\n }\r\n if (customer.stZip && customer.stZip.length > 10) {\r\n Alert.warning(\"Please limit length of the email to 10 characters.\");\r\n return false;\r\n }\r\n return (\r\n isValid &&\r\n this.state.orderCartItems &&\r\n this.state.orderCartItems.length > 0\r\n );\r\n }\r\n\r\n submitPurchaseOrder() {\r\n if (!this.purchaseOrderFormValid()) return;\r\n const { orderCartItems, orderComment, customer, productType } = this.state;\r\n this.setState(\r\n {\r\n orderCartSubmitting: true,\r\n },\r\n () => {\r\n const orderLines = _.map(orderCartItems, (item) => {\r\n return this.shapeOrderLine(item, orderComment);\r\n });\r\n const payload = shapeCommonOrderPayload(\r\n orderLines,\r\n customer,\r\n productType\r\n );\r\n api\r\n .post(\"Web/CustomerSaveNewOrder\", payload)\r\n .then((response) => {\r\n window.scroll(0, 0);\r\n if (response && response.data && response.data.success) {\r\n this.setState(\r\n {\r\n orderCartItems: [],\r\n sidebarOpen: false,\r\n },\r\n () => {\r\n Alert.success(\"Your order has been submitted!\");\r\n removeItemFromStorage(params.orderCartItems);\r\n }\r\n );\r\n } else {\r\n this.setState({\r\n orderCartMessageFlavor: \"danger\",\r\n orderCartMessage: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler)\r\n .finally(() => this.setState({ orderCartSubmitting: false }));\r\n }\r\n );\r\n }\r\n\r\n SidebarSection(forSmallScreen = false) {\r\n const { sidebarOpen } = this.state;\r\n let cartHeight = 700;\r\n if (this.node && this.node instanceof HTMLElement) {\r\n const parent = this.node.parentElement;\r\n if (parent) {\r\n const childG = parent.querySelector(`.cartWidth`);\r\n const gHeight = (childG && childG.clientWidth) || cartHeight;\r\n cartHeight = gHeight;\r\n }\r\n }\r\n return (\r\n {this.CartDisplay(forSmallScreen)}}\r\n open={sidebarOpen}\r\n styles={{\r\n root: {\r\n overflowY: forSmallScreen ? \"scroll\" : \"visible\",\r\n overflowX: \"hidden\",\r\n minHeight: cartHeight,\r\n },\r\n sidebar: {\r\n background: \"white\",\r\n zIndex: 200,\r\n marginTop: 70,\r\n overflowY: forSmallScreen ? \"scroll\" : \"visible\",\r\n flex: 1,\r\n flexDirection: \"column\",\r\n minHeight: cartHeight,\r\n },\r\n // overlay: {\r\n // backgroundColor: \"rgba(0,0,0,0)\",\r\n // minHeight: cartHeight,\r\n // },\r\n content: {\r\n overflowY: forSmallScreen ? \"scroll\" : \"visible\",\r\n minHeight: cartHeight,\r\n },\r\n }}\r\n className=\"sidebarWidth\"\r\n pullRight={true}\r\n onSetOpen={this.toggleSidebar}\r\n >\r\n \r\n \r\n );\r\n }\r\n\r\n CustomerDisplay({}) {\r\n const { customer, activeCart, productType, title, customRug } = this.state;\r\n if (!customer) {\r\n return null;\r\n }\r\n let displayTitle = \"\";\r\n const customRugPage = title === params.customRugTitle;\r\n const isSampleCart =\r\n !customRugPage && activeCart && activeCart === params.sampleCartItems;\r\n const isProductCart =\r\n !customRugPage && activeCart && activeCart === params.orderCartItems;\r\n if (customRugPage) {\r\n displayTitle = params.customRug;\r\n } else {\r\n displayTitle = activeCart;\r\n }\r\n const readOnlyAddress = isSampleCart && customer.useDefaultShipTo;\r\n return (\r\n \r\n
\r\n \r\n \r\n First Name {helpers.requiredStar()}\r\n \r\n \r\n \r\n Last Name {helpers.requiredStar()}\r\n \r\n \r\n \r\n Email {helpers.requiredStar()}\r\n \r\n \r\n \r\n \r\n \r\n PO # {isProductCart ? helpers.requiredStar() : null}\r\n \r\n \r\n \r\n Sidemark\r\n \r\n \r\n \r\n Contact Phone\r\n this.formatPhoneField(customer.stPhone)}\r\n />\r\n \r\n \r\n {isSampleCart && (\r\n \r\n \r\n Use Shipping Address On File\r\n \r\n this.onCustomerSwitch(checked, \"useDefaultShipTo\")\r\n }\r\n checked={customer.useDefaultShipTo}\r\n id={`useDefaultShipTo${displayTitle}Customer`}\r\n key={`useDefaultShipTo${displayTitle}Customer`}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Ship To{\" \"}\r\n {productType === params.customRug ? null : (\r\n \r\n (Name and Line 1 Required)\r\n {helpers.requiredStar()}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {productType === params.customRug && (\r\n \r\n \r\n \r\n this.onChangeCustomRugInput(null, event)\r\n }\r\n maxLength={250}\r\n placeholder=\"Special Instructions (Optional)\"\r\n id={`customRugComment${displayTitle}CustomRug`}\r\n key={`customRugComment${displayTitle}CustomRug`}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n\r\n CartDisplay(forSmallScreen = false) {\r\n const {\r\n sampleCartItems,\r\n orderCartItems,\r\n activeCart,\r\n orderCartMessage,\r\n orderCartMessageFlavor,\r\n customer,\r\n } = this.state;\r\n if (!customer) {\r\n return null;\r\n }\r\n const sampleCount =\r\n sampleCartItems && sampleCartItems.length > 0\r\n ? _.chain(sampleCartItems)\r\n .map((s) => {\r\n return s.count || 0;\r\n })\r\n .sum()\r\n .value()\r\n : 0;\r\n const sampleCartOver10 = sampleCount > 10;\r\n const sampleCartRow = (sample, index) => {\r\n const sampleColorId = sample.selectedColor && sample.selectedColor.value;\r\n const sampleMemoId = \"\";\r\n const rowKey = `sampleItem${sample.id}${sampleColorId}${sampleMemoId}`;\r\n return (\r\n \r\n {sample.cleanerName}\r\n {sample.selectedColor && sample.selectedColor.label}\r\n \r\n this.removeSampleFromCart(sample)}\r\n />\r\n {sample.count}\r\n this.addSampleToCart(sample)}\r\n />\r\n \r\n \r\n this.deleteSampleFromCart(sample)}\r\n />\r\n \r\n \r\n );\r\n };\r\n const orderCartRow = (product, index) => {\r\n const productColorId =\r\n product.selectedColor && product.selectedColor.value;\r\n const rowKey = `orderItem${product.id}${productColorId}${index}`;\r\n return (\r\n \r\n \r\n {product.cleanerName}\r\n {product.selectedColor && product.selectedColor.label\r\n ? ` - ${product.selectedColor.label}`\r\n : null}\r\n \r\n \r\n {\" \"}\r\n {/**********On large screens, show this on same line ***************/}\r\n {product.productTypeName === params.carpet &&\r\n product.selectedProductWidth &&\r\n product.selectedProductWidth.label\r\n ? `(${product.selectedProductWidth.label} X ${\r\n product.lengthFeet\r\n }) = ${product.qty || \"0\"} ${product.priceUnitTypeName}`\r\n : product.productTypeName === \"Intl Rug\"\r\n ? `${product.qty || \"0\"} X (${product.selectedRugSize.label})`\r\n : `Qty: ${product.qty || \"0\"}`}\r\n \r\n \r\n \r\n ${_.round(product.price / 100.0, 2).toFixed(2)}\r\n \r\n \r\n \r\n this.deleteFromOrderCart(product)}\r\n />\r\n \r\n \r\n {\" \"}\r\n {/**********On small screens, show it on a new line ***************/}\r\n {product.productTypeName === params.carpet &&\r\n product.selectedProductWidth &&\r\n product.selectedProductWidth.label\r\n ? `(${product.selectedProductWidth.label} X ${\r\n product.lengthFeet\r\n }) = ${product.qty || \"0\"} ${product.priceUnitTypeName}`\r\n : product.productTypeName === \"Intl Rug\"\r\n ? `${product.qty || \"0\"} X (${product.selectedRugSize.label})`\r\n : `Qty: ${product.qty || \"0\"}`}\r\n \r\n \r\n );\r\n };\r\n const sampleItems = () => {\r\n if (sampleCartItems.length === 0) {\r\n return (\r\n \r\n \r\n \r\n
No samples in cart yet
\r\n
\r\n \r\n
\r\n );\r\n }\r\n const list = _.chain(sampleCartItems)\r\n .map((item, index) => sampleCartRow(item, index))\r\n .value();\r\n return (\r\n \r\n {list}\r\n \r\n );\r\n };\r\n function purchaseOrderItems() {\r\n if (orderCartItems.length === 0) {\r\n return (\r\n \r\n \r\n \r\n
\r\n No items placed in purchase order cart yet\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n const list = _.chain(orderCartItems)\r\n .map((item, index) => orderCartRow(item, index))\r\n .value();\r\n let total = 0;\r\n _.map(orderCartItems, (x) => {\r\n total = total + parseInt(x.price, 10);\r\n });\r\n total = _.round(total / 100.0, 2).toFixed(2);\r\n return (\r\n \r\n \r\n {list}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n TOTAL:\r\n \r\n ${total}\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n return (\r\n \r\n \r\n \r\n {}\r\n \r\n \r\n \r\n {orderCartMessage ? (\r\n \r\n \r\n \r\n {orderCartMessage}\r\n \r\n \r\n \r\n ) : null}\r\n {purchaseOrderItems()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Freight Type\r\n \r\n \r\n \r\n \r\n Submit Order\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.sampleCartMessage ? (\r\n \r\n \r\n \r\n {this.state.sampleCartMessage}\r\n \r\n \r\n \r\n ) : null}\r\n {/*
\r\n Note that you will be invoiced for any samples in excess of 10\r\n for a given job.
\r\n Maximum of 5 rug samples may be ordered at no charge. Any quantity over 5 will be required to be purchased.\r\n
*/}\r\n {sampleItems()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Submit Sample Request\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n page,\r\n productType,\r\n title,\r\n section,\r\n filterType,\r\n subTypes,\r\n sort_field,\r\n showPrices,\r\n colorFamilyList,\r\n constructionTypeList,\r\n pileTypeList,\r\n showProduct,\r\n productTypeList,\r\n webCategoryList,\r\n sidebarOpen,\r\n pagedList,\r\n thinking,\r\n sampleCartItems,\r\n orderCartItems,\r\n customer,\r\n shareLinkBase,\r\n fiberGroupList,\r\n singleProductDisplay,\r\n fetchingProduct,\r\n } = this.state;\r\n const { list } = pagedList;\r\n const showSidebarButton =\r\n customer &&\r\n ((sampleCartItems && sampleCartItems.length > 0) ||\r\n (orderCartItems && orderCartItems.length > 0));\r\n const sortByList = [\r\n { sort_field: \"DCName\", sort_dir: \"asc\", label: \"Title (A-Z)\" },\r\n {\r\n sort_field: \"DCName\",\r\n sort_dir: \"desc\",\r\n label: \"Title (Z-A)\",\r\n value: 2,\r\n },\r\n {\r\n sort_field: \"UpdatedAt\",\r\n sort_dir: \"desc\",\r\n label: \"Newest\",\r\n value: 3,\r\n },\r\n { sort_field: \"UpdatedAt\", sort_dir: \"asc\", label: \"Oldest\", value: 4 },\r\n ];\r\n if (showPrices) {\r\n sortByList.push({\r\n sort_field: \"UnitPrice\",\r\n sort_dir: \"asc\",\r\n label: \"Price, Low-High\",\r\n value: 5,\r\n });\r\n sortByList.push({\r\n sort_field: \"UnitPrice\",\r\n sort_dir: \"desc\",\r\n label: \"Price, High-Low\",\r\n value: 6,\r\n });\r\n }\r\n const findSortValue = _.find(sortByList, (opt) => {\r\n return (\r\n opt.sort_field === this.state.sort_field &&\r\n opt.sort_dir === this.state.sort_dir\r\n );\r\n });\r\n const sortingDropDown = (\r\n this.doSort(option.sort_field, option.sort_dir)}\r\n placeholder={\"Sort By...\"}\r\n />\r\n );\r\n const useImagesMap = list && list.length > 0;\r\n let imagesMap = useImagesMap\r\n ? _.map(list, (item) => {\r\n return item.listRenderType;\r\n })\r\n : `No matching results for your search criteria`;\r\n const cartButtonDisabled = !(\r\n customer &&\r\n ((sampleCartItems && sampleCartItems.length > 0) ||\r\n (orderCartItems && orderCartItems.length > 0))\r\n );\r\n const showFiberFilter =\r\n title !== params.hardSurface && title !== params.bordersAndBindings;\r\n const showConstructionFilter =\r\n title !== params.hardSurface && title !== params.bordersAndBindings;\r\n if (this.state.redirect === true) {\r\n return ;\r\n }\r\n if (this.state.useCustomRugDisplay) {\r\n return ;\r\n }\r\n if (singleProductDisplay && singleProductDisplay.productId) {\r\n if (fetchingProduct || !showProduct) {\r\n return (\r\n \r\n {\" \"}\r\n
Loading your product...
\r\n
\r\n );\r\n }\r\n const {\r\n cleanerName,\r\n cardDeckItems,\r\n carouselItems,\r\n supplierLabel,\r\n dcName,\r\n dcNumber,\r\n productWidths,\r\n repeat,\r\n patternMatch,\r\n basicSpecs,\r\n constructionTypeName,\r\n // yarnBrandName,\r\n pileTypeName,\r\n unitPrice,\r\n priceUnitTypeName,\r\n colorOptions,\r\n activeColor,\r\n webProductDescription,\r\n id,\r\n activePhoto,\r\n colorNumber,\r\n // rug specific items\r\n availableAsCustomRug,\r\n rugSizes,\r\n customRugSQPrice,\r\n showRugOptions,\r\n selectedRugSize,\r\n selectedRugPrice,\r\n // hard surface items\r\n squareFeetPerCarton,\r\n thickness,\r\n itemWidth,\r\n itemLength,\r\n perContainer,\r\n productMemoSizes,\r\n } = showProduct;\r\n const allowWebPurchasing =\r\n _.includes(\r\n [params.wood, params.borderOrBinding],\r\n showProduct.productTypeName\r\n ) || _.includes(dcName, params.contractTileString)\r\n ? false\r\n : true;\r\n const colorSelected = activeColor && activeColor.label;\r\n const quantityProvided = this.state.productQuantity > 0;\r\n const rugSizeSelected = selectedRugSize && selectedRugSize.label;\r\n const productWidthProvided =\r\n this.state.selectedProductWidth &&\r\n this.state.selectedProductWidth.label;\r\n const productLengthProvided =\r\n this.state.productLengthFeet && this.state.productLengthFeet > 0;\r\n const carpetPurchaseValid =\r\n colorSelected && quantityProvided && productLengthProvided;\r\n const rugPurchaseValid = rugSizeSelected && quantityProvided;\r\n const atLeastOneMemoSize =\r\n productMemoSizes && productMemoSizes.length > 0;\r\n const shareLink = getDirectProductLink(\r\n shareLinkBase,\r\n id,\r\n activeColor && activeColor.value ? activeColor.value : null\r\n );\r\n return (\r\n \r\n {/*********** Product Detail View for Large Screens **************/}\r\n \r\n {/* */}\r\n {this.SidebarSection(false)}\r\n \r\n \r\n
\r\n \r\n {title}\r\n {section ? ` / ${section}` : null}\r\n {` / ${cleanerName}`}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Back\r\n \r\n \r\n \r\n \r\n \r\n Cart\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {activePhoto ? activePhoto.title : \"\"}\r\n \r\n \r\n \r\n {carouselItems && carouselItems.length > 0\r\n ? _.map(carouselItems, (crd, idx) => {\r\n return (\r\n \r\n this.selectColorOptionByPhoto(crd)}\r\n >\r\n \r\n \r\n {crd.title}\r\n \r\n \r\n \r\n );\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n {/*
{supplierLabel}
*/}\r\n

{dcName}

\r\n \r\n
\r\n \r\n \r\n {showPrices ? null : (\r\n \r\n Log in to View Prices & Request Samples\r\n \r\n )}\r\n {showRugOptions ? (\r\n \r\n {atLeastOneMemoSize && showPrices && (\r\n \r\n \r\n {colorOptions.length > 0 ? (\r\n \r\n this.selectColorOption(option)\r\n }\r\n />\r\n ) : null}\r\n \r\n \r\n \r\n this.addSampleToCart(showProduct)\r\n }\r\n className=\"float-right productButton btn-sm p-1\"\r\n >\r\n Sample Request\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n this.selectRugSize(option, showProduct)\r\n }\r\n />\r\n \r\n {showPrices && (\r\n \r\n \r\n {formatPrice(selectedRugPrice)} /{\" \"}\r\n {`${priceUnitTypeName}`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.addToOrderCart(\r\n showProduct,\r\n this.state.productQuantity,\r\n null,\r\n null\r\n )\r\n }\r\n className=\"float-right productButton btn-sm p-1\"\r\n disabled={!rugPurchaseValid}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n ) : (\r\n \r\n \r\n {colorOptions.length > 0 ? (\r\n \r\n \r\n this.selectColorOption(option)\r\n }\r\n />\r\n \r\n ) : null}\r\n {showPrices && (\r\n \r\n \r\n {formatPrice(unitPrice)} /{\" \"}\r\n {`${priceUnitTypeName}`}\r\n \r\n \r\n \r\n this.addSampleToCart(showProduct)\r\n }\r\n className=\"float-right productButton btn-sm p-1\"\r\n // cannot request until a color is selected\r\n disabled={!colorSelected}\r\n >\r\n Sample Request\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {showPrices && (\r\n \r\n {allowWebPurchasing ? (\r\n \r\n {this.state.productWidthOptions.length > 0 ? (\r\n \r\n Width\r\n \r\n this.selectProductWidth(option)\r\n }\r\n />\r\n \r\n ) : null}\r\n {priceUnitTypeName !== \"Each\" &&\r\n showProduct.productTypeName !== params.wood ? (\r\n \r\n {_.includes(\r\n dcName,\r\n params.contractTileString\r\n ) ? (\r\n \r\n Sq ft. {helpers.requiredStar()}\r\n \r\n ) : (\r\n \r\n Length (ft.){\" \"}\r\n {helpers.requiredStar()}\r\n \r\n )}\r\n \r\n this.calculateFigures(showProduct)\r\n }\r\n min=\"0\"\r\n />\r\n \r\n ) : null}\r\n \r\n {priceUnitTypeName === \"Each\"\r\n ? \"Qty\"\r\n : priceUnitTypeName}\r\n \r\n \r\n {/* \r\n {priceUnitTypeName}\r\n */}\r\n \r\n \r\n this.addToOrderCart(\r\n showProduct,\r\n this.state.productQuantity,\r\n this.state.productLengthFeet,\r\n this.state.selectedProductWidth\r\n )\r\n }\r\n className=\"float-right productButton btn-sm p-1 mt-4\"\r\n disabled={!carpetPurchaseValid}\r\n >\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n
\r\n \r\n Contact Distinctive directly to order this\r\n item.\r\n \r\n
\r\n \r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n )}\r\n \r\n
\r\n \r\n {webProductDescription}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {title === params.carpet && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {title === params.hardSurface && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {showProduct.detailedSpecsPdf &&\r\n showProduct.detailedSpecsPdf.url && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n {title === params.hardSurface\r\n ? \"Material\"\r\n : \"Fiber\"}\r\n \r\n {pileTypeName}{yarnBrandName}
\r\n Construction Type\r\n {constructionTypeName}
\r\n Widths\r\n \r\n {/* {_.map(productWidths, (w) => w.widthName) || \"n/a\"} */}\r\n {_.map(productWidths, (w, index) => {\r\n if (index + 1 === productWidths.length) {\r\n return w.widthName;\r\n } else {\r\n return w.widthName + \", \";\r\n }\r\n }) || \"n/a\"}\r\n
\r\n Pattern Match\r\n \r\n {repeat\r\n ? repeat\r\n : patternMatch\r\n ? patternMatch\r\n : \"n/a\"}\r\n
\r\n Piece Measurements\r\n \r\n {`${itemWidth}W x ${itemLength}L x ${thickness}H`}\r\n
\r\n Pieces per Carton\r\n {perContainer}
\r\n Sq. Feet per Carton\r\n {squareFeetPerCarton}
\r\n Basic Specs/Warranties\r\n {basicSpecs}
\r\n Detailed Specs\r\n \r\n \r\n PDF\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {cardDeckItems && cardDeckItems.length > 0\r\n ? _.map(cardDeckItems, (crd, idx) => {\r\n return (\r\n \r\n \r\n this.selectColorOptionByPhoto(\r\n crd,\r\n id,\r\n crd.productColorId\r\n )\r\n }\r\n >\r\n \r\n \r\n {crd.title}\r\n \r\n \r\n \r\n );\r\n })\r\n : null}\r\n \r\n \r\n \r\n {\r\n alert(\"Copied the text: \" + shareLink);\r\n }}\r\n >\r\n

Link to this Product

\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n {/*********** Product Detail View for Small Screens **************/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Back\r\n \r\n \r\n \r\n \r\n \r\n Cart\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{dcName}
\r\n \r\n
\r\n \r\n \r\n
\r\n {activePhoto ? activePhoto.title : \"\"}{\" \"}\r\n {/* used to display color? */}\r\n
\r\n \r\n {showPrices && (\r\n \r\n
\r\n {showRugOptions ? (\r\n \"See price below\"\r\n ) : (\r\n
\r\n {formatPrice(unitPrice)} / {`${priceUnitTypeName}`}\r\n
\r\n )}\r\n
\r\n \r\n )}\r\n
\r\n {showPrices ? null : (\r\n \r\n \r\n \r\n Log in to View Prices & Request Samples\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {carouselItems && carouselItems.length > 0\r\n ? _.map(carouselItems, (crd, idx) => {\r\n return (\r\n = 3\r\n ? \"4\"\r\n : carouselItems.length == 2\r\n ? \"6\"\r\n : { size: 6, offset: 3 }\r\n }\r\n className=\"mb-2\"\r\n >\r\n this.selectColorOptionByPhoto(crd)}\r\n >\r\n \r\n \r\n {crd.title}\r\n \r\n \r\n \r\n );\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n {showRugOptions ? (\r\n \r\n {atLeastOneMemoSize && showPrices && (\r\n \r\n \r\n {colorOptions.length > 0 ? (\r\n \r\n this.selectColorOption(option)\r\n }\r\n />\r\n ) : null}\r\n \r\n \r\n \r\n this.addSampleToCart(showProduct)\r\n }\r\n className=\"float-right productButton btn-sm p-1 mr-3 \"\r\n >\r\n Sample Request\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n this.selectRugSize(option, showProduct)\r\n }\r\n />\r\n \r\n {showPrices && (\r\n \r\n \r\n {formatPrice(selectedRugPrice)} /{\" \"}\r\n {`${priceUnitTypeName}`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.addToOrderCart(\r\n showProduct,\r\n this.state.productQuantity,\r\n null,\r\n null\r\n )\r\n }\r\n className=\"float-right productButton btn-sm p-1\"\r\n disabled={!rugPurchaseValid}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n ) : (\r\n \r\n \r\n {colorOptions.length > 0 ? (\r\n \r\n Select Color\r\n \r\n this.selectColorOption(option)\r\n }\r\n />\r\n \r\n ) : null}\r\n {showPrices && (\r\n \r\n \r\n \r\n this.addSampleToCart(showProduct)\r\n }\r\n className=\"float-right productButton btn-sm mt-3 mr-3 p-1\"\r\n // cannot request until a color is selected\r\n disabled={!colorSelected}\r\n >\r\n Sample Request\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {showPrices && (\r\n \r\n {allowWebPurchasing ? (\r\n \r\n {this.state.productWidthOptions.length > 0 ? (\r\n \r\n Width\r\n \r\n this.selectProductWidth(option)\r\n }\r\n />\r\n \r\n ) : null}\r\n {priceUnitTypeName !== \"Each\" &&\r\n showProduct.productTypeName !== params.wood ? (\r\n \r\n {_.includes(\r\n dcName,\r\n params.contractTileString\r\n ) ? (\r\n \r\n Sq ft. {helpers.requiredStar()}\r\n \r\n ) : (\r\n \r\n Length (ft.){\" \"}\r\n {helpers.requiredStar()}\r\n \r\n )}\r\n \r\n this.calculateFigures(showProduct)\r\n }\r\n min=\"0\"\r\n />\r\n \r\n ) : null}\r\n \r\n {priceUnitTypeName === \"Each\"\r\n ? \"Qty\"\r\n : priceUnitTypeName}\r\n \r\n \r\n {/* \r\n {priceUnitTypeName}\r\n */}\r\n \r\n \r\n this.addToOrderCart(\r\n showProduct,\r\n this.state.productQuantity,\r\n this.state.productLengthFeet,\r\n this.state.selectedProductWidth\r\n )\r\n }\r\n className=\"float-right productButton btn-sm p-1 mt-4\"\r\n disabled={!carpetPurchaseValid}\r\n >\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n
\r\n \r\n Contact Distinctive directly to order this\r\n item.\r\n \r\n
\r\n \r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n )}\r\n \r\n
\r\n \r\n {webProductDescription}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {title === params.carpet && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {title === params.hardSurface && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {showProduct.detailedSpecsPdf &&\r\n showProduct.detailedSpecsPdf.url && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n {title === params.hardSurface\r\n ? \"Material\"\r\n : \"Fiber\"}\r\n \r\n {pileTypeName}{yarnBrandName}
\r\n Construction Type\r\n {constructionTypeName}
\r\n Widths\r\n \r\n {/* {_.map(productWidths, (w) => w.widthName) || \"n/a\"} */}\r\n {_.map(productWidths, (w, index) => {\r\n if (index + 1 === productWidths.length) {\r\n return w.widthName;\r\n } else {\r\n return w.widthName + \", \";\r\n }\r\n }) || \"n/a\"}\r\n
\r\n Pattern Match\r\n \r\n {repeat\r\n ? repeat\r\n : patternMatch\r\n ? patternMatch\r\n : \"n/a\"}\r\n
\r\n Piece Measurements\r\n \r\n {`${itemWidth}W x ${itemLength}L x ${thickness}H`}\r\n
\r\n Pieces per Carton\r\n {perContainer}
\r\n Sq. Feet per Carton\r\n {squareFeetPerCarton}
\r\n Basic Specs/Warranties\r\n {basicSpecs}
\r\n Detailed Specs\r\n \r\n \r\n PDF\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {cardDeckItems && cardDeckItems.length > 0\r\n ? _.map(cardDeckItems, (crd, idx) => {\r\n return (\r\n \r\n \r\n this.selectColorOptionByPhoto(\r\n crd,\r\n id,\r\n crd.productColorId\r\n )\r\n }\r\n >\r\n \r\n \r\n {crd.title}\r\n \r\n \r\n \r\n );\r\n })\r\n : null}\r\n \r\n \r\n \r\n {\r\n alert(\"Copied the text: \" + shareLink);\r\n }}\r\n >\r\n

Link to this Product

\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n if (this.state.useProductsDisplay) {\r\n return (\r\n \r\n {/*********** Products List View for Large Screens **************/}\r\n \r\n {/* */}\r\n {this.SidebarSection(false)}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {title}\r\n {section ? ` / ${section}` : null}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {sortingDropDown}\r\n \r\n \r\n \r\n \r\n Cart\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {showConstructionFilter && (\r\n \r\n {/* */}\r\n \r\n \r\n )}\r\n {showConstructionFilter && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {thinking ? (\r\n
\r\n {\" \"}\r\n
\r\n Loading your results...\r\n
\r\n
\r\n ) : (\r\n imagesMap\r\n )}\r\n
\r\n \r\n
\r\n {thinking ? null : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {/*********** Products List View for Small Screens **************/}\r\n \r\n {/* */}\r\n {this.SidebarSection(true)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cart\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {showConstructionFilter && (\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n )}\r\n {showConstructionFilter && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {/* {this.state.mobileFilterCollapse\r\n ? null\r\n : */}\r\n \r\n \r\n this.setState({ showSortingDropDown: true })\r\n }\r\n >\r\n Sort By\r\n {sortingDropDown}\r\n \r\n \r\n {/* } */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {thinking ? (\r\n
\r\n {\" \"}\r\n
\r\n Loading your results...\r\n
\r\n
\r\n ) : (\r\n imagesMap\r\n )}\r\n
\r\n \r\n
\r\n {thinking ? null : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n );\r\n }\r\n if (this.state.useCartDisplay) {\r\n return ;\r\n }\r\n return (\r\n
\r\n {\" \"}\r\n
Loading ...
\r\n
\r\n );\r\n }\r\n}\r\n","import _ from 'underscore';\r\nimport api from './api';\r\n\r\nconst find_filter = (filterName, filters) => {\r\n return _.find(filters, x => {\r\n return x.filterName === filterName;\r\n });\r\n};\r\n\r\nexport default {\r\n //gets a new filters array based on the new filter being sent back to the page from the filter component\r\n get_filters(state_filters, new_filter) {\r\n const filterIndex = state_filters.findIndex(\r\n x => x.filterName === new_filter.filterName\r\n );\r\n let filters = [];\r\n if (filterIndex === -1) {\r\n filters = [...state_filters, new_filter];\r\n } else {\r\n filters = Object.assign([], state_filters, { [filterIndex]: new_filter });\r\n }\r\n return filters.filter(x =>\r\n (x.value !== null && x.value !== undefined)\r\n || (x.values && x.values.length && x.values.length > 0) \r\n || x.startDate\r\n || x.endDate\r\n );\r\n },\r\n\r\n transform_filters(filters = []) {\r\n return filters.reduce(function (acc, item, i) {\r\n acc[item.filterName] = item.value || item.values;\r\n return acc;\r\n }, {});\r\n },\r\n\r\n save_search(area, sort_dir, sort_field, filters) {\r\n api\r\n .post(\"save_search\", {\r\n area: area,\r\n serialized_search: {\r\n sort_field: sort_field,\r\n sort_dir: sort_dir,\r\n filters: filters\r\n }\r\n })\r\n .catch(error => error);\r\n },\r\n\r\n set_saved_filters(area, callBack) {\r\n api\r\n .fetch(\"get_saved_search\", { area: area })\r\n .then(response => {\r\n const search = response.data.serialized_search;\r\n callBack(search.sort_field, search.sort_dir, search.filters);\r\n })\r\n .catch(error => error);\r\n },\r\n\r\n get_value(filterName, filters) {\r\n const filter = find_filter(filterName, filters);\r\n return filter ? filter.value : \"\";\r\n },\r\n\r\n get_values(filterName, filters) {\r\n const filter = find_filter(filterName, filters);\r\n return filter ? filter.values : [];\r\n },\r\n\r\n get_startDate(filterName, filters) {\r\n const filter = find_filter(filterName, filters);\r\n return filter ? filter.startDate : null;\r\n },\r\n\r\n get_endDate(filterName, filters) {\r\n const filter = find_filter(filterName, filters);\r\n return filter ? filter.endDate : null;\r\n }\r\n};\r\n","import React, { Component, Fragment } from 'react';\r\nimport { Card, Table, Button, Row, Col, Input, \r\n\tModal, ModalHeader, ModalBody, ModalFooter, ButtonGroup, Alert, Form } from 'reactstrap';\r\nimport _ from 'lodash';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport helpers from '../utils/helpers';\r\nimport api from '../utils/api';\r\nimport makeAnimated from \"react-select/animated\";\r\nimport Select from 'react-select';\r\n\r\nconst emptyContact = {\r\n\tid: null,\r\n\tfirstName: '',\r\n\tlastName: '',\r\n\temail: '',\r\n\ttypeOfContact: {label: null, value: 0},\r\n\tisPrimary: false,\r\n\tphoneNumbers: [],\r\n\taddresses: [],\r\n key: 0,\r\n deactivatedAt: null\r\n}; \r\n\r\nconst emptyPhone = {\r\n\tid: null,\r\n\tnumber: '',\r\n\ttypeOfPhone: {label: null, value: 0},\r\n\tdeactivatedAt: null,\r\n typeOfPhoneName: null,\r\n isPrimary: false,\r\n};\r\n\r\nconst emptyAddress = {\r\n\tid: null,\r\n\tln1: '',\r\n\tln2: '',\r\n\tln3: '',\r\n\tln4: '',\r\n\tcity: '',\r\n\tstate: '',\r\n\tzip: '',\r\n\ttypeOfAddress: {label: null, value: 0},\r\n\tisPrimary: false,\r\n\tdeactivatedAt: null,\r\n\ttypeOfAddressName: null\r\n};\r\n\r\nlet addId = 0;\r\nlet nextNumber = 0;\r\n\r\n// what?\r\nconst getAddId=() => {\r\n\taddId--;\r\n\treturn addId;\r\n};\r\n\r\nconst gimmeNextNumber = () => {nextNumber++; return nextNumber}\r\n\r\nclass EditPhone extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\t...props.editPhone,\r\n\t\t\tcontact: props.contact,\r\n\t\t\tshowPhoneEdit: true,\r\n\t\t\terrorMessage: null,\r\n\t\t\tphoneTypeList: props.phoneTypeList\r\n\t\t};\r\n\r\n\t\tthis.handleFormInputChange = this.handleFormInputChange.bind(this);\r\n\t\tthis.handleFormSelectionChange = this.handleFormSelectionChange.bind(this);\r\n\t\tthis.onPhoneSave = this.onPhoneSave.bind(this);\r\n\t\tthis.onPhoneCancel = this.onPhoneCancel.bind(this);\r\n\t\tthis.onIsPrimarySelection = this.onIsPrimarySelection.bind(this);\r\n\t}\r\n\r\n\thandleFormInputChange(event) {\r\n\t\tthis.setState({...this.state.user, [event.target.name]: event.target.value});\r\n\t}\r\n\r\n\thandleFormSelectionChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\t[elementName]: {\r\n\t\t\t\tvalue: selection.value,\r\n\t\t\t\tlabel: selection.label\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n isFormValid() {\r\n\t\tlet warnings = [];\r\n\t\tif (! this.state.number) {warnings.push(\"Please enter a phone number.\");}\r\n\t\tif (this.state.typeOfPhone.label === null) {warnings.push(\"Please choose a type of phone.\");}\r\n\t\tif (warnings.length) {\r\n\t\t\tthis.setState({\r\n errorMessage: warnings.join(' '),\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.setState({errorMessage: null});\r\n\t\t}\r\n\t\treturn warnings.length === 0;\r\n }\r\n \r\n onPhoneSave() {\r\n\t\tif(! this.isFormValid()) return;\r\n\t\tthis.props.onPhoneSave({\r\n\t\t\tid: this.props.editPhone.id,\r\n\t\t\tnumber: this.state.number,\r\n\t\t\ttypeOfPhone: this.state.typeOfPhone,\r\n\t\t\tisPrimary: this.state.isPrimary,\r\n\t\t});\r\n }\r\n \r\n onPhoneCancel() {\r\n\t\tthis.props.onPhoneCancel(this.state.id);\r\n }\r\n \r\n onIsPrimarySelection(){\r\n\r\n\t\tthis.setState({isPrimary: !this.state.isPrimary});\r\n\t} \r\n\r\n render() {\r\n\t\treturn ( \r\n\t\t\t\r\n\t\t\t\tAdd new phone for {this.state.contact.firstName} {this.state.contact.lastName}\r\n\t\t\t\t\r\n\t\t\t\t\t{this.state.errorMessage !== null\r\n\t\t\t\t\t\t? {this.state.errorMessage}\r\n\t\t\t\t\t\t: null\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tPhone Number\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tPhone Type \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\tCity\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tState\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tZip Code\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tAddress Type \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t \r\n\t\t);\r\n\t}\r\n}\r\n\r\nclass EditContact extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tcontact: props.contact,\r\n\t\t\ttypeOfContactList: [],\r\n\t\t\tphoneTypeList: [],\r\n\t\t\taddressTypeList: [],\r\n\t\t\tshowAddressEdit: false,\r\n\t\t\teditAddress: null,\r\n\t\t\tshowPhoneEdit: false,\r\n\t\t\teditPhone: null,\r\n\t\t\tediting: false,\r\n\t\t\tonNameAdd: props.onNameAdd,\r\n\t\t\tonCancel: props.onCancel,\r\n\t\t\tcontactName: props.contact.firstName + ' ' + props.contact.lastName\r\n\t\t};\r\n\r\n\t\tthis.handleFormInputChange = this.handleFormInputChange.bind(this);\r\n\t\tthis.onAddressAdd = this.onAddressAdd.bind(this);\r\n\t\tthis.onPhoneDelete = this.onPhoneDelete.bind(this);\r\n\t\tthis.onPhoneRevive = this.onPhoneRevive.bind(this);\r\n\t\tthis.onAddressDelete = this.onAddressDelete.bind(this);\r\n\t\tthis.onAddressRevive = this.onAddressRevive.bind(this);\r\n\t\tthis.onPhoneAdd = this.onPhoneAdd.bind(this);\r\n\t\tthis.onPhoneSave = this.onPhoneSave.bind(this);\r\n\t\tthis.onPhoneCancel = this.onPhoneCancel.bind(this);\r\n\t\tthis.onAddressCancel = this.onAddressCancel.bind(this);\r\n\t\tthis.onAddressSave = this.onAddressSave.bind(this);\r\n\t\tthis.onContactSave = this.onContactSave.bind(this);\r\n\t\tthis.onContactCancel = this.onContactCancel.bind(this);\r\n\t\tthis.changeProperty = this.changeProperty.bind(this);\r\n\t\tthis.onIsPrimarySelection = this.onIsPrimarySelection.bind(this);\r\n\t\tthis.onTypeOfContactSelection = this.onTypeOfContactSelection.bind(this);\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tapi.fetch('Reference/GetPhoneTypeList')\r\n\t\t.then((result) => {\r\n\t\t\tthis.setState({ phoneTypeList: result.data });\r\n\t\t});\r\n\r\n\t\tapi.fetch('Reference/GetContactTypeList')\r\n\t\t.then((result) => {\r\n\t\t\tthis.setState({ typeOfContactList: result.data });\r\n\t\t});\r\n\t\t\r\n\tapi.fetch('Reference/GetAddressTypeList')\r\n\t\t.then((result) => {\r\n\t\t\tthis.setState({addressTypeList: result.data});\r\n\t\t});\r\n\t}\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n\t\tif (prevProps.contact !== this.props.contact) {\r\n\t\t\tthis.setState({ contact: this.props.contact });\r\n\t\t}\r\n\t}\r\n \r\n\tchangeProperty(propertyName, newValue) {\r\n\t\tlet newContact = Object.assign({}, this.state.contact);\r\n\t\tnewContact[propertyName] = newValue;\r\n\t\tthis.setState({contact: newContact});\r\n\t}\r\n\r\n\thandleFormInputChange(event) {\r\n this.setState({contact: {...this.state.contact, [event.target.name]: event.target.value}});\r\n }\r\n\r\n\tonTypeOfContactSelection(selection){\r\n\t\tthis.changeProperty(\"typeOfContact\", selection);\r\n\t}\r\n\r\n\tonIsPrimarySelection(event){\r\n\t\tif (event.target.checked) {\r\n\t\t\tthis.setState({contact: {...this.state.contact, isPrimary: true}});\r\n\t\t} else {\r\n\t\t\tthis.setState({contact: {...this.state.contact, isPrimary: false}});\r\n\t\t}\r\n\t} \r\n\r\n\tonTypeOfPhoneSelection(phoneId, selection) {\r\n\t\tlet editList = this.state.contact.phoneNumbers.slice();\r\n\t\tlet indexToEdit = _.findIndex(editList, {id: phoneId});\r\n\t\teditList[indexToEdit].typeOfPhone = selection;\r\n\t\tthis.changeProperty(\"phoneNumbers\", editList);\r\n\t}\r\n\r\n\tonNumberChange(phoneId, event){\r\n\t\t// find and update the element in the phone array\r\n\t\tlet editList = this.state.contact.phoneNumbers.slice();\r\n\t\tlet indexToEdit = _.findIndex(editList, {id: phoneId});\r\n\t\teditList[indexToEdit].number = event.target.value;\r\n\t\t// send the whole phone array to the function to \r\n\t\t// update the contact property on state (replacing the whole array)\r\n\t\tthis.changeProperty(\"phoneNumbers\", editList);\r\n\t}\r\n\r\n\tonPhoneAdd(){\r\n\t\tlet newPhone = Object.assign({}, emptyPhone);\r\n\t\tnewPhone.id = getAddId();\r\n\t\tnewPhone.editing = true;\r\n\t\tnewPhone.pristine = null;\r\n\t\tconst newPhoneNumbers = this.state.contact.phoneNumbers.slice();\r\n\t\tnewPhoneNumbers.push(newPhone);\r\n\t\tthis.changeProperty(\"phoneNumbers\", newPhoneNumbers);\r\n //this.setState ({ showAddressEdit: true, editAddress: newAddress});\r\n this.setState({showPhoneEdit: true, editPhone: newPhone});\r\n }\r\n \r\n onPhoneEdit(phoneId){\r\n\t\tlet editList = this.state.contact.phoneNumbers.slice();\r\n\t\tlet indexToEdit = _.findIndex(editList, {id: phoneId});\r\n\t\teditList[indexToEdit].pristine = Object.assign({}, editList[indexToEdit]);\r\n\t\t//editList[indexToEdit].editing = true;\r\n //this.changeProperty(\"phoneNumbers\", editList);\r\n this.setState({contact: {...this.state.contact, phoneNumbers: editList}});\r\n this.setState({showPhoneEdit: true, editPhone: editList[indexToEdit]});\r\n }\r\n\r\n onPhoneSave(phone){\r\n\t\tlet editList = this.state.contact.phoneNumbers.slice();\r\n\t\tif (phone.isPrimary) {\r\n\t\t\t_.each(editList, x => {\r\n\t\t\t\tx.isPrimary = false;\r\n\t\t\t})\r\n\t\t}\r\n\t\tlet indexToEdit = _.findIndex(editList, {id: phone.id});\r\n\t\teditList[indexToEdit] = phone;\r\n\t\teditList[indexToEdit].editing = false;\r\n\t\t//this.changeProperty(\"phoneNumbers\", editList);\r\n\t\tthis.setState({\r\n\t\t\tcontact: {\r\n\t\t\t\t...this.state.contact,\r\n\t\t\t\tphoneNumbers: editList\r\n\t\t\t},\r\n\t\t\tshowPhoneEdit: false\r\n\t\t});\r\n\t}\r\n\r\n onPhoneCancel(phoneId){\r\n\t\tlet editList = this.state.contact.phoneNumbers.slice();\r\n let indexToEdit = _.findIndex(editList, x => x.id === phoneId);\r\n \r\n if (editList[indexToEdit].number === \"\"){\r\n\t\t\teditList.splice(indexToEdit, 1);\r\n\t\t// } else {\r\n\t\t// \teditList[indexToEdit] = editList[indexToEdit.pristine];\r\n }\r\n\t\t//editList[indexToEdit - 1].editing = false;\r\n\t\tthis.changeProperty(\"phoneNumbers\", editList);\r\n\r\n\t\tthis.setState({showPhoneEdit: false});\r\n }\r\n\r\n\tonPhoneDelete(phoneId){\r\n\t\tlet editList = this.state.contact.phoneNumbers.slice();\r\n\t\tlet indexToEdit = _.findIndex(editList, {id: phoneId});\r\n\t\tlet currentPhone = editList[indexToEdit];\r\n\t\tif (currentPhone.id > 0) {\r\n\t\t// we really exist in the database, we need to send a deletion request\r\n\t\t\tapi.delete(this.props.apiPath + 'DeletePhone/' + phoneId)\r\n\t\t\t\t.then(r => {\r\n\t\t\t\t\tif (r.data.success === false) {\r\n\t\t\t\t\t\tthis.setState({messageFlavor: \"danger\", message: r.data.message});\r\n\t\t\t\t\t} else {\r\n // we're all good, set the phone to deleted\r\n editList[indexToEdit].deactivatedAt = new Date();\r\n this.changeProperty(\"phoneNumbers\", editList);\r\n\t\t\t\t\t}\r\n\t\t\t\t}).catch(helpers.catchHandler);\r\n\t\t} else {\r\n\t\t\t// just remove it - we're still a poseur\r\n\t\t\teditList.splice(indexToEdit, 1);\r\n\t\t\tthis.changeProperty(\"phoneNumbers\", editList);\r\n\t\t}\r\n }\r\n \r\n\tonPhoneRevive(phoneId){\r\n\t\tapi.delete(this.props.apiPath + 'RevivePhone/' + phoneId)\r\n\t\t\t.then(r => {\r\n if (r.data.success === false) {\r\n this.setState({messageFlavor: \"danger\", message: r.data.message});\r\n } else {\r\n // we're all good, set the phone to undeleted\r\n let editList = this.state.contact.phoneNumbers.slice();\r\n let indexToEdit = _.findIndex(editList, {id: phoneId});\r\n editList[indexToEdit].deactivatedAt = null;\r\n this.changeProperty(\"phoneNumbers\", editList);\r\n }\r\n\t\t\t}).catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tonAddressAdd(){\r\n\t\tlet newAddress = Object.assign({}, emptyAddress);\r\n\t\tnewAddress.id = getAddId();\r\n\t\tnewAddress.editing = true;\r\n\t\tnewAddress.pristine = null;\r\n\t\tconst newAddresses = this.state.contact.addresses.slice();\r\n\t\tnewAddresses.push(newAddress);\r\n\t\tthis.changeProperty(\"addresses\", newAddresses)\r\n\t\tthis.setState({ showAddressEdit: true, editAddress: newAddress});\r\n }\r\n \r\n\tonAddressEdit(addressId){\r\n\t\tlet editList = this.state.contact.addresses.slice();\r\n\t\tlet indexToEdit = _.findIndex(editList, {id: addressId});\r\n\t\teditList[indexToEdit].pristine = Object.assign({}, editList[indexToEdit]);\r\n\t\teditList[indexToEdit].editing = true;\r\n\t\t//this.changeProperty(\"addresses\", editList);\r\n\t\tthis.setState({contact: {...this.state.contact, addresses: editList}});\r\n\t\tthis.setState({showAddressEdit: true, editAddress: editList[indexToEdit]})\r\n\t}\r\n \r\n\tonAddressSave(address) {\r\n\t\tlet editList = this.state.contact.addresses.slice();\r\n\t\tlet updatePrimaryByType = _.filter(editList, x => x.typeOfAddress.value === address.typeOfAddress.value)\r\n\t\tif (address.isPrimary) {\r\n\t\t\t_.each(updatePrimaryByType, x => {\r\n\t\t\t\tx.isPrimary = false;\r\n\t\t\t});\r\n\t\t}\r\n\t\tlet indexToEdit = _.findIndex(editList, {id: address.id});\r\n\t\teditList[indexToEdit] = address;\r\n\t\teditList[indexToEdit].editing = false;\r\n\t\tthis.changeProperty(\"addresses\", editList);\r\n\t\tthis.setState({ showAddressEdit: false}); \r\n }\r\n \r\n onAddressCancel(addressId){\r\n\t\tlet editList = this.state.contact.addresses.slice();\r\n\t\t\r\n\t\tlet indexToEdit = _.findIndex(editList, x => x.id === addressId);\r\n\t\tif (editList[indexToEdit].ln1 === \"\"){\r\n\t\t\teditList.splice(indexToEdit, 1);\r\n\t\t// } else {\r\n\t\t// \teditList[indexToEdit] = editList[indexToEdit.pristine];\r\n\t\t}\r\n\t\tthis.setState({contact: {...this.state.contact, addresses: editList}});\r\n\t\tthis.setState({ showAddressEdit: false});\r\n\t}\r\n\r\n \tonAddressDelete(addressId){\r\n\t\tlet editList = this.state.contact.addresses.slice();\r\n\t\tlet indexToEdit = _.findIndex(editList, {id: addressId});\r\n\t\tlet currentAddress = editList[indexToEdit];\r\n\t\tif (currentAddress.id > 0) {\r\n\t\t\tapi.delete(this.props.apiPath + 'DeleteAddress/' + addressId)\r\n\t\t\t\t.then(r => {\r\n\t\t\t\t\tif (r.data.success === false){\r\n\t\t\t\t\t\tthis.setState({messageFlavor: \"danger\", message: r.data.message});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\teditList[indexToEdit].deactivatedAt = new Date();\r\n\t\t\t\t\t\tthis.changeProperty(\"addresses\", editList);\r\n\t\t\t\t\t}\r\n\t\t\t\t}).catch(helpers.catchHandler);\r\n\t\t} else {\r\n\t\t\teditList.splice(indexToEdit, 1);\r\n\t\t\tthis.changeProperty(\"addresses\", editList);\r\n\t\t}\r\n }\r\n\r\n\tonAddressRevive(addressId){\r\n\t\tapi.delete(this.props.apiPath + 'ReviveAddress/' + addressId)\r\n\t\t\t.then(r => {\r\n\t\t\t\tif (r.data.success === false) {\r\n\t\t\t\t\tthis.setState({messageFlavor: \"danger\", message: r.data.message});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlet editList = this.state.contact.addresses.slice();\r\n\t\t\t\t\tlet indexToEdit = _.findIndex(editList, {id: addressId});\r\n\t\t\t\t\teditList[indexToEdit].deactivatedAt = null;\r\n\t\t\t\t\tthis.changeProperty(\"addresses\", editList);\r\n\t\t\t\t}\r\n\t\t\t}).catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tonContactSave(event){\r\n\t\tevent.preventDefault();\r\n\t\tthis.props.onContactSave(this.state.contact);\r\n\t}\r\n\r\n\tonContactCancel() {\r\n\t\tthis.props.onContactCancel(this.props.contact.id);\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t- \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\t
\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t{_.map(_.filter(this.state.contact.phoneNumbers, c => !c.deactivatedAt), c =>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
Phone\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
{helpers.formatPhoneNumber(c.number)}{c.typeOfPhone.label} {c.isPrimary ? \"(Primary)\" : null}\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n {c.deactivatedAt\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n }\r\n \r\n
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{_.map(_.filter(this.state.contact.addresses, a => !a.deactivatedAt), a =>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{line};\r\n\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
Address\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{helpers.formatAddress(a).map(line => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn
{a.typeOfAddress.label} {a.isPrimary ? \"(Primary)\" : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{a.id === null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{a.deactivatedAt\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? ()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{(this.state.showAddressEdit) &&\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t{(this.state.showPhoneEdit) &&\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{/* \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Cancel\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t */}\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport default class ContactList extends Component {\r\n constructor(props) {\r\n\tsuper(props);\r\n\tthis.state = {\r\n\t\tcontactList: props.contactList,\r\n\t\tshowAddressEdit: false,\r\n\t\tediting: false,\r\n\t\teditingContact: emptyContact,\r\n\t\tredirect: false,\r\n\t\tmessage: null,\r\n\t\tmessageFlavor: null,\r\n\t\ttypeOfContactList: [],\r\n\t\tshowModal: false,\r\n\t\terrorMessage: null,\r\n\t\terrorMessageFlavor: null\r\n\t};\t\r\n\tthis.isFormValid = this.isFormValid.bind(this);\r\n\tthis.showAdd = this.showAdd.bind(this);\r\n\tthis.onContactSave = this.onContactSave.bind(this);\r\n\tthis.onContactCancel = this.onContactCancel.bind(this); \r\n }\r\n\r\n\tisFormValid(newContactInfo, contactList){\r\n\tlet warnings = [];\r\n\t\tlet hasPrimaryContact = _.find(contactList, function (c) { return c.isPrimary === true; }) !== undefined;\r\n\t\tif (!newContactInfo.firstName) {warnings.push(\"Please enter a first name.\");}\r\n\t\tif (!newContactInfo.lastName) {warnings.push(\"Please enter a last name.\");}\r\n\t\t// if (!newContactInfo.email || !helpers.emailIsValid(newContactInfo.email)) {warnings.push(\"Please enter a valid email address.\");}\r\n\t\tif (newContactInfo.typeOfContact.label === null) { warnings.push(\"Please choose a type of contact.\") }\r\n\t\tif (warnings.length > 0) {\r\n\t\t\tthis.setState({ errorMessage: warnings.join(\", \"), errorMessageFlavor: 'danger'})\r\n }\r\n\t\treturn warnings.length === 0;\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tapi.fetch(this.props.apiPath + 'GetContactType')\r\n\t\t\t.then((result) => {\r\n\t\t\t\tlet list = result.data.map(function (c) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tlabel: c.name,\r\n\t\t\t\t\t\tvalue: c.id\r\n\t\t\t\t\t};\r\n\t\t\t\t});\r\n\t\t\t\tthis.setState({ typeOfContactList: list });\r\n\t\t\t});\r\n\t}\r\n\r\n\tcomponentDidUpdate(prevProps) {\r\n\t\tif (prevProps.contactList !== this.props.contactList) {\r\n\t\t\tthis.setState({ contactList: this.props.contactList });\r\n\t\t}\r\n\t}\r\n\r\n\tshowAdd(){\r\n\t\tconst newList = this.state.contactList.slice();\r\n\t\tlet newContact = Object.assign({}, emptyContact);\r\n\t\tnewContact.editing = true;\r\n\t\tnewContact.id = getAddId();\r\n\t\tnewList.unshift(newContact);\r\n\t\tthis.setState({ \r\n\t\t\tcontactList: newList,\r\n\t\t\tediting: true,\r\n\t\t\teditingContact: newContact\r\n\t\t}, () => { this.props.toggleContactEditing(true) });\r\n\t}\r\n\r\n\r\n\tonContactSave(newContactInfo) {\r\n\t\tif(!this.isFormValid(newContactInfo, this.state.contactList)) return;\r\n\t\tlet newList = this.state.contactList.slice();\r\n\r\n\t\tnewList = _.map(newList, x => {\r\n\t\t\treturn {\r\n\t\t\t\t...x,\r\n\t\t\t\tisPrimary: false\r\n\t\t\t}\r\n\t\t}); \r\n\t\tlet existingIdx = _.findIndex(this.state.contactList, function(c){\r\n\t\t\treturn c.id === newContactInfo.id;\r\n\t\t});\r\n\t\tif(existingIdx === -1){ \r\n\t\t\tconsole.error(\"Could not find contact that should have existed \" + newContactInfo.id );\r\n\t\t}\r\n\t\telse {\r\n\t\t\tnewContactInfo.editing = false;\r\n\t\t\tnewList[existingIdx] = newContactInfo;\r\n\t\t\tthis.setState({\r\n\t\t\t\tcontactList: newList,\r\n\t\t\t\tediting: false,\r\n\t\t\t\teditingContact: emptyContact\r\n\t\t\t}, () => {\r\n\t\t\t\tthis.props.onListChanged(newList);\r\n\t\t\t\tthis.props.toggleContactEditing(false);\r\n\t\t\t});\r\n\t\t\tif(existingIdx === -1){ \r\n\t\t\t\tconsole.error(\"Could not find contact that should have existed \" + newContactInfo.id );\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tnewContactInfo.editing = false;\r\n\t\t\t\tnewList[existingIdx] = newContactInfo;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tcontactList: newList,\r\n\t\t\t\t\tediting: false,\r\n\t\t\t\t\teditingContact: emptyContact\r\n\t\t\t\t}, () => {\r\n\t\t\t\t\tthis.props.onListChanged(newList);\r\n\t\t\t\t\tthis.props.toggleContactEditing(false);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonEditContact(contactId) {\r\n\t\tlet editList = this.state.contactList.slice();\r\n\t\tlet indexToEdit = _.findIndex(editList, { id: contactId });\r\n\r\n\t\teditList[indexToEdit].pristine = Object.assign({}, editList[indexToEdit]);\r\n\t\teditList[indexToEdit].editing = true;\r\n\r\n\t\tthis.setState({\r\n\t\t\tediting: true,\r\n\t\t\teditingContact: editList[indexToEdit],\r\n\t\t\tcontactList: editList,\r\n\t\t}, () => { this.props.toggleContactEditing(true)});\r\n\t}\r\n\r\n\tonContactDelete(contactId){\r\n\t\tlet editList = this.state.contactList.slice();\r\n\t\tlet indexToEdit = _.findIndex(editList, {id: contactId});\r\n\t\tlet currentContact = editList[indexToEdit];\r\n\t\tif (currentContact.id > 0) {\r\n\t\t\tapi.delete(`${this.props.apiPath}DeleteContact/${contactId}`).then(r => {\r\n\t\t\t\tif (r.data.success === false) {\r\n\t\t\t\t\tthis.setState({messageFlavor: \"danger\", message: r.data.message});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (this.props.removeContactOnDeactivate) {\r\n\t\t\t\t\t\teditList.splice(indexToEdit, 1);\r\n\t\t\t\t\t\tthis.setState({ contactList: editList});\r\n\t\t\t\t\t\tthis.props.onListChanged(editList);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\teditList[indexToEdit].deactivatedAt = new Date();\r\n\t\t\t\t\t\tthis.setState({ contactList: editList});\r\n\t\t\t\t\t\tthis.props.onListChanged(editList);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}).catch(helpers.catchHandler);\r\n\t\t} else {\r\n\t\t\teditList.splice(indexToEdit, 1);\r\n\t\t\tthis.setState({ contactList: editList});\r\n\t\t\tthis.props.onListChanged(editList);\r\n\t\t}\r\n\t}\r\n\r\n\tonContactRevive(contactId){\r\n\t\tlet editList = this.state.contactList.slice();\r\n\t\tlet indexToEdit = _.findIndex(editList, {id: contactId});\r\n\t\tlet currentContact = editList[indexToEdit];\r\n\t\tif (currentContact.id > 0) {\r\n\t\t\tapi.delete(`${this.props.apiPath}ReviveContact/${contactId}`).then(r => {\r\n\t\t\t\tif (r.data.success === false) {\r\n\t\t\t\t\tthis.setState({messageFlavor: \"danger\", message: r.data.message});\r\n\t\t\t\t} else {\r\n\t\t\t\t\teditList[indexToEdit].deactivatedAt = null;\r\n\t\t\t\t\tthis.setState({ contactList: editList});\r\n\t\t\t\t\tthis.props.onListChanged(editList);\r\n\t\t\t\t}\r\n\t\t\t}).catch(helpers.catchHandler);\r\n\t\t} else {\r\n\t\t\teditList.splice(indexToEdit, 1);\r\n\t\t\tthis.setState({ contactList: editList});\r\n\t\t\tthis.props.onListChanged(editList);\r\n\t\t}\r\n\t}\r\n\r\n\tonContactCancel(contactId) {\r\n\t\tlet editList = this.state.contactList.slice();\r\n\t\tlet index = _.findIndex(editList, x => x.id === contactId);\r\n\t\tif (editList[index].firstName === \"\") {\r\n\t\t\teditList.splice(index, 1);\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tediting: false,\r\n\t\t\teditingContact: emptyContact,\r\n\t\t\tcontactList: editList\r\n\t\t}, () => { this.props.toggleContactEditing(false) });\r\n\t}\r\n\r\n\ttoggleModal(show) {\r\n\t\tthis.setState({showModal: show});\r\n\t}\r\n\r\nrender() {\r\n \treturn (\r\n \t\t\r\n\t\t\t\t\t

Contact Information {helpers.requiredStar()}

\r\n\t\t\t\t\t{this.state.errorMessage !== null ?\r\n\t\t\t\t\t\t{this.state.errorMessage}\r\n\t\t\t\t\t: null}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{_.map(_.filter(this.state.contactList, c => !c.deactivatedAt), c =>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.editingContact.id === c.id\r\n\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{p.typeOfPhone.label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{helpers.formatPhoneNumber(p.number)} {p.isPrimary ? \"(Primary)\" : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
First Name {helpers.requiredStar()}Last Name {helpers.requiredStar()}EmailPhone NumbersContact Type {helpers.requiredStar()}Primary Contact? \r\n\t\t\t\t\t\t\t\t\t\t\t{!this.state.editing\r\n\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t Add\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t\t} \r\n\t\t\t\t\t\t\t\t\t\t
{c.firstName}{c.lastName}{c.email}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{_.map(_.filter(c.phoneNumbers, p => !p.deactivatedAt), p =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{c.typeOfContact.label || \"\"}{c.isPrimary ? : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.deactivatedAt\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t this.toggleModal(false)}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{this.state.errorMessage}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport {\r\n\tButton,\r\n\tForm,\r\n\tCol,\r\n\tRow,\r\n\tAlert,\r\n\tInput,\r\n\tButtonGroup,\r\n\tModal,\r\n\tModalHeader,\r\n\tModalBody,\r\n\tModalFooter,\r\n\tCard,\r\n\tCardHeader,\r\n\tCardBody,\r\n\tLabel,\r\n\tBadge\r\n} from 'reactstrap';\r\nimport makeAnimated from \"react-select/animated\";\r\nimport Select from 'react-select';\r\nimport { constants, api, helpers, date_helpers } from '../utils';\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport _ from 'lodash';\r\nimport ContactList from './ContactList';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { DropzoneUploader } from '../components';\r\nimport moment from 'moment';\r\n\r\nconst newCustomer = {\r\n\tid: null,\r\n\tname: '',\r\n\tagent: 8,\r\n\tarea: null,\r\n\tinvoiceTerms: null,\r\n\tfreightTerms: null,\r\n\tpricingTypeId: {value: 1, label: 'Net Sales'},\r\n\tcustomerCreditType: '',\r\n\taccountType: null,\r\n\tcustomerStatus: null,\r\n\tcontactPreferenceType: null,\r\n\tnumber: '',\r\n\tcreditLine: 0,\r\n\ttaxNo: '',\r\n\tfedId: '',\r\n\twebsiteUrl: '',\r\n\tisDCCustomer: true,\r\n\tautoSendSamples: false,\r\n\tcomment: '',\r\n\tcontactList: [],\r\n\tprimaryEmail: ''\r\n};\r\n\r\nconst currentDate = moment().format(\"MM-DD-YYYY\");\r\n\r\nconst cleanBadIds = (contactList) => {\r\n\t// this poorly named function also sets up the data so the API likes it\r\n\treturn _.map(contactList, function (c) {\r\n\t\tc.id = (c.id > 0 ? c.id : 0); // clean any 'new' ids\r\n\t\tc.typeOfContactName = c.typeOfContact.label;\r\n\t\tc.typeOfContact = c.typeOfContact.value;\r\n\t\tc.phoneNumbers = _.map(c.phoneNumbers, function (p) {\r\n\t\t\tp.id = (p.id > 0 ? p.id : 0); // clean any 'new' ids\r\n\t\t\tp.typeOfPhoneName = p.typeOfPhone.label;\r\n\t\t\tp.typeOfPhone = p.typeOfPhone.value;\r\n\t\t\treturn p;\r\n\t\t});\r\n\t\tc.addresses = _.map(c.addresses, function (a) {\r\n\t\t\ta.id = (a.id > 0 ? a.id : 0); // clean any 'new' ids\r\n\t\t\ta.typeOfAddressName = a.typeOfAddress.label;\r\n\t\t\ta.typeOfAddress = a.typeOfAddress.value;\r\n\t\t\treturn a;\r\n\t\t});\r\n\t\treturn c;\r\n\t});\r\n};\r\n\r\nexport default class AddCustomersAndContacts extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tmessage: null,\r\n\t\t\terrorMessage: null,\r\n\t\t\tagentList: [],\r\n\t\t\tareaList: [],\r\n\t\t\tinvoiceTermsList: [],\r\n\t\t\tfreightTermsList: [],\r\n\t\t\tcustomerCreditTypeList: [],\r\n\t\t\taccountTypeList: [],\r\n\t\t\tcustomerStatusList: [],\r\n\t\t\tcontactPreferenceTypeList: [],\r\n\t\t\tselectedDCC: 1,\r\n\t\t\tselectedCustomerIds: [],\r\n\t\t\tcustomerName: \"\",\r\n\t\t\tcustomer: newCustomer,\r\n\t\t\tcontacts: [],\r\n\t\t\tisContactEditing: false,\r\n\t\t\tshowModal: false,\r\n\t\t\taddingImage: false,\r\n\t\t\tshowDeleteAttachmentConfirmationModal: false,\r\n\t\t\tredirect: false\r\n\t\t};\r\n\t\tthis.handleFormInputChange = this.handleFormInputChange.bind(this);\r\n\t\tthis.handleFormSelectionChange = this.handleFormSelectionChange.bind(this);\r\n\t\tthis.onSubmitAdd = this.onSubmitAdd.bind(this);\r\n\t\tthis.onSubmitAddNotSaved = this.onSubmitAddNotSaved.bind(this);\r\n\t\tthis.onIsDCCustomerChange = this.onIsDCCustomerChange.bind(this);\r\n\t\tthis.onAutoSendSamplesChange = this.onAutoSendSamplesChange.bind(this);\r\n\t\tthis.onContactListChanged = this.onContactListChanged.bind(this);\r\n\t\tthis.isFormValid = this.isFormValid.bind(this);\r\n\t\tthis.toggleContactEditing = this.toggleContactEditing.bind(this);\r\n\t\tthis.toggleModal = this.toggleModal.bind(this);\r\n\t\tthis.toggleImages = this.toggleImages.bind(this);\r\n\t}\r\n\r\n\tonContactListChanged(contactList) {\r\n\t\tthis.setState({ contacts: contactList });\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tconst getAgents = api.fetch('Reference/GetAgentList')\r\n\t\t\t.then((result) => {\r\n\t\t\t\treturn { agentList: result.data };\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t\tconst getAreas = api.fetch('Reference/GetAreaList')\r\n\t\t\t.then((result) => {\r\n\t\t\t\treturn { areaList: result.data };\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t\tconst getInvoiceTermsList = api.fetch('Reference/GetInvoiceTermList')\r\n\t\t\t.then((result) => {\r\n\t\t\t\treturn { invoiceTermsList: result.data };\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t\t\t// moved this one to public web controller for the Squarespace api and this context\r\n\t\tconst getFreightTermsList = api.fetch('Web/GetFreightTermList')\r\n\t\t\t.then((result) => {\r\n\t\t\t\treturn { freightTermsList: result.data };\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t\t//const getCustomerCreditType = api.fetch('Reference/GetCustomerCreditTypeList')\r\n\t\t//\t.then((result) => {\r\n\t\t//\t\treturn { customerCreditTypeList: result.data };\r\n\t\t//\t})\r\n\t\t//\t.catch(helpers.catchHandler);\r\n\t\tconst getAccountTypes = api.fetch('Reference/GetAccountTypeList')\r\n\t\t\t.then((result) => {\r\n\t\t\t\treturn { accountTypeList: result.data };\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t\tconst getCustomerStatus = api.fetch('Reference/GetCustomerStatusList')\r\n\t\t\t.then((result) => {\r\n\t\t\t\treturn { customerStatusList: result.data };\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t\t//const getContactPreferenceTypes = api.fetch('Reference/GetContactPreferenceTypeList')\r\n\t\t//\t.then((result) => {\r\n\t\t//\t\treturn { contactPreferenceTypeList: result.data };\r\n\t\t//\t})\r\n\t\t//\t.catch(helpers.catchHandler);\r\n\t\tconst getCustomerAttachmentTypes = api.fetch('Reference/GetCustomerAttachmentTypeList')\r\n\t\t\t.then((result) => {\r\n\t\t\t\treturn { customerAttachmentTypeList: result.data };\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\tPromise.all([\r\n\t\t\tgetAgents,\r\n\t\t\tgetAreas,\r\n\t\t\tgetInvoiceTermsList,\r\n\t\t\tgetFreightTermsList,\r\n\t\t\t//getCustomerCreditType,\r\n\t\t\tgetAccountTypes,\r\n\t\t\tgetCustomerStatus,\r\n\t\t\t//getContactPreferenceTypes,\r\n\t\t\tgetCustomerAttachmentTypes,\r\n\t\t])\r\n\t\t\t.then((aggregateResults) => {\r\n\t\t\t\tconst newStatus = {};\r\n\t\t\t\taggregateResults.forEach(r => Object.assign(newStatus, r));\r\n\t\t\t\tthis.setState(newStatus, () => {\r\n\t\t\t\t\tif (this.props.customerId) {\r\n\t\t\t\t\t\tthis.getCustomer();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.getNextDCAccountNumber();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tgetCustomer() {\r\n\t\tapi.fetch(`Customer/GetAllContacts/${this.props.customerId}`)\r\n\t\t\t.then((result) => {\r\n\t\t\t\tlet c = Object.assign({}, result.data.customer);\r\n\t\t\t\tc.area = helpers.resolveValue(c.area, c.areaId, c.areaName);\r\n\t\t\t\tc.agent = helpers.resolveValue(c.agent, c.agentId, c.agentName);\r\n\t\t\t\tc.invoiceTerms = helpers.resolveValue(c.invoiceTerms, c.invoiceTermsId, c.invoiceTermsName);\r\n\t\t\t\tc.freightTerms = helpers.resolveValue(c.freightTerms, c.freightTermsId, c.freightTermsName);\r\n\t\t\t\tc.customerCreditType = helpers.resolveValue(c.customerCreditType, c.customerCreditTypeId, c.customerCreditTypeName);\r\n\t\t\t\tc.pricingTypeId = helpers.resolvePricingType(c.pricingTypeId);\r\n\t\t\t\tc.accountType = helpers.resolveValue(c.accountType, c.accountTypeId, c.accountTypeName);\r\n\t\t\t\tc.contactPreferenceType = helpers.resolveValue(c.contactPreferenceType, c.contactPreferenceTypeId, c.contactPreferenceTypeName) ;\r\n\t\t\t\tc.customerStatus = helpers.resolveValue(c.customerStatus, c.customerStatusId, c.customerStatusName);\r\n\t\t\t\tc.customerName = result.data.customer.name;\r\n\t\t\t\tc.attachments = result.data.customer.attachments;\r\n\t\t\t\t// squarespace required fields ---> populated when customer registers\r\n\t\t\t\tc.webEmail = result.data.customer.webEmail;\r\n\t\t\t\tc.webFirstName = result.data.customer.webFirstName;\r\n\t\t\t\tc.webLastName = result.data.customer.webLastName;\r\n\t\t\t\tc.createdAt = date_helpers.dateTimeFormat(result.data.customer.createdAt, \"MM/DD/YYYY\");\r\n\r\n\t\t\t\tlet contactList = _.map(result.data.contacts, contact => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\taddresses: _.map(contact.addresses, address => {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\tcity: address.city,\r\n\t\t\t\t\t\t\t\tid: address.id,\r\n\t\t\t\t\t\t\t\tisPrimary: address.isPrimary,\r\n\t\t\t\t\t\t\t\tln1: address.ln1,\r\n\t\t\t\t\t\t\t\tln2: address.ln2,\r\n\t\t\t\t\t\t\t\tln3: address.ln3,\r\n\t\t\t\t\t\t\t\tln4: address.ln4,\r\n\t\t\t\t\t\t\t\tstate: address.state,\r\n\t\t\t\t\t\t\t\ttypeOfAddress: { label: address.typeOfAddressName, value: address.typeOfAddress },\r\n\t\t\t\t\t\t\t\tzip: address.zip,\r\n\t\t\t\t\t\t\t\tdeactivatedAt: address.deactivatedAt,\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\temail: contact.email,\r\n\t\t\t\t\t\tfirstName: contact.firstName,\r\n\t\t\t\t\t\tid: contact.id,\r\n\t\t\t\t\t\tisPrimary: contact.isPrimary,\r\n\t\t\t\t\t\tlastName: contact.lastName,\r\n\t\t\t\t\t\tphoneNumbers: _.map(contact.phoneNumbers, phone => {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\tid: phone.id,\r\n\t\t\t\t\t\t\t\tnumber: phone.number,\r\n\t\t\t\t\t\t\t\ttypeOfPhone: { label: phone.typeOfPhoneName, value: phone.typeOfPhone },\r\n\t\t\t\t\t\t\t\tdeactivatedAt: phone.deactivatedAt,\r\n\t\t\t\t\t\t\t\tisPrimary: phone.isPrimary,\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\ttypeOfContact: { label: contact.typeOfContactName, value: contact.typeOfContact },\r\n\t\t\t\t\t\tdeactivatedAt: contact.deactivatedAt\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tthis.setState({ customer: c, contacts: contactList });\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tgetNextDCAccountNumber() {\r\n\t\tapi.fetch(`Customer/GetNextDCAccountNumber`)\r\n\t\t.then((result) => {\r\n\t\t\tthis.setState({\r\n\t\t\t\tcustomer: {\r\n\t\t\t\t\t...this.state.customer,\r\n\t\t\t\t\tnumber: result.data\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t})\r\n\t}\r\n\r\n\thandleFormInputChange(event) {\r\n\t\tthis.setState({ customer: { ...this.state.customer, [event.target.name]: event.target.value } });\r\n\t}\r\n\r\n\thandleFormSelectionChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\tcustomer: {\r\n\t\t\t\t...this.state.customer,\r\n\t\t\t\t[elementName]: {\r\n\t\t\t\t\tvalue: selection.value,\r\n\t\t\t\t\tlabel: selection.label\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\ttoggleContactEditing(isEditing) {\r\n\t\tthis.setState({ isContactEditing: isEditing });\r\n\t}\r\n\r\n\ttoggleModal(show) {\r\n\t\tthis.setState({ showModal: show });\r\n\t}\r\n\r\n\tonIsDCCustomerChange(event) {\r\n\t\tif (event.target.checked) {\r\n\t\t\tthis.setState({ customer: { ...this.state.customer, isDCCustomer: true } });\r\n\t\t} else {\r\n\t\t\tthis.setState({ customer: { ...this.state.customer, isDCCustomer: false } });\r\n\t\t}\r\n\t}\r\n\r\n\tonAutoSendSamplesChange(event) {\r\n\t\tif (event.target.checked) {\r\n\t\t\tthis.setState({ customer: { ...this.state.customer, autoSendSamples: true } });\r\n\t\t} else {\r\n\t\t\tthis.setState({ customer: { ...this.state.customer, autoSendSamples: false } });\r\n\t\t}\r\n\t}\r\n\r\n\tisFormValid() {\r\n\t\tlet warnings = [];\r\n\t\tif (!this.state.customer.number || this.state.customer.number < 0) {\r\n\t\t\twarnings.push(\"Account number is required and must be a postive number.\");\r\n\t\t}\r\n\t\tif (this.state.customer.number > 2147483647) {\r\n\t\t\twarnings.push(\"Account number is too large.\");\r\n\t\t}\r\n\t\tif (!this.state.customer.customerStatus) {\r\n\t\t\twarnings.push(\"Account status required.\");\r\n\t\t}\r\n\t\tif (!this.state.customer.name) {\r\n\t\t\twarnings.push(\"Company name required.\");\r\n\t\t}\r\n\t\t// if (!this.state.customer.agent) {\r\n\t\t// \twarnings.push(\"Customer agent required.\");\r\n\t\t// }\r\n\t\tif (!this.state.customer.area) {\r\n\t\t\twarnings.push(\"Area required.\");\r\n\t\t}\r\n\t\tif (!this.state.customer.accountType) {\r\n\t\t\twarnings.push(\"Account type required.\");\r\n\t\t}\r\n\t\tif (!this.state.customer.freightTerms) {\r\n\t\t\twarnings.push(\"Freight terms required.\");\r\n\t\t}\r\n\t\tif (!this.state.customer.invoiceTerms) {\r\n\t\t\twarnings.push(\"Invoice terms required.\");\r\n\t\t}\r\n\t\tif (!this.state.customer.pricingTypeId) {\r\n\t\t\twarnings.push(\"Pricing rules required\");\r\n\t\t}\r\n\t\t// if (!this.state.customer.customerCreditType) {\r\n\t\t// \twarnings.push(\"Account credit type required.\");\r\n\t\t// }\r\n\t\t// if (!this.state.customer.contactPreferenceType) {\r\n\t\t// \twarnings.push(\"Account contact preference type required.\");\r\n\t\t// }\r\n\t\tif (!this.state.customer.creditLine && this.state.customer.creditLine < 0) {\r\n\t\t\twarnings.push(\"Account credit line is required and must be a postive number (if zero credit line, please enter a 0).\");\r\n\t\t}\r\n\t\tif (this.state.customer.creditLine > 2147483647) {\r\n\t\t\twarnings.push(\"Account credit lin is too large.\");\r\n\t\t}\r\n\t\t// if (this.state.customer.taxNo.length < 9) {\r\n\t\t// \twarnings.push(\"A valid tax # is required (numbers only: no spaces or dashes).\");\r\n\t\t// }\r\n\t\t// if (!this.state.customer.fedId || this.state.customer.fedId < 9) {\r\n\t\t// \twarnings.push(\"A valid fed. ID is required (numbers only: no spaces or dashes).\");\r\n\t\t// }\r\n\t\t// if (!this.state.contacts.length >= 1) { // Should this be the case?\r\n\t\t// \twarnings.push(\"At least 1 contact is required per customer.\")\r\n\t\t// }\r\n\t\tif (_.some(this.state.files, file => !file.imageType.value)) {\r\n\t\t\twarnings.push(\"File Type required on all files to be uploaded.\")\r\n\t\t}\t\r\n\t\tif (_.filter(this.state.files, file => file.imageType.value === constants.CUSTOMER_ATTACHMENT_TYPE.TAX_CERTIFICATE).length > 1 ) {\r\n\t\t\twarnings.push(\"Only one tax certificate per customer may me uploaded.\")\r\n\t\t}\t\r\n\t\tif (_.filter(this.state.files, file => file.imageType.value === constants.CUSTOMER_ATTACHMENT_TYPE.MEMO_BILLED_SAMPLE_FORM).length > 1 ) {\r\n\t\t\twarnings.push(\"Only one memo billed sample form per customer may me uploaded.\")\r\n\t\t}\t\r\n\t\tif (_.some(this.state.files, file => file.imageType.value === constants.CUSTOMER_ATTACHMENT_TYPE.TAX_CERTIFICATE) \r\n\t\t\t&& _.some(this.state.customer.attachments, attachment => attachment.customerAttachmentTypeId === constants.CUSTOMER_ATTACHMENT_TYPE.TAX_CERTIFICATE) ) {\r\n\t\t\twarnings.push(\"Cannot upload customer tax certificate. Customer tax certificate already exists.\")\r\n\t\t}\t\r\n\t\tif (_.some(this.state.files, file => file.imageType.value === constants.CUSTOMER_ATTACHMENT_TYPE.MEMO_BILLED_SAMPLE_FORM) \r\n\t\t\t&& _.some(this.state.customer.attachments, attachment => attachment.customerAttachmentTypeId === constants.CUSTOMER_ATTACHMENT_TYPE.MEMO_BILLED_SAMPLE_FORM) ) {\r\n\t\t\twarnings.push(\"Cannot upload memo billed sample form. Memo billed sample form already exists.\")\r\n\t\t}\r\n\t\tif (_.some(this.state.files, file => !file.dateReceived)) {\r\n\t\t\twarnings.push(\"Date received required for all attachments\")\r\n\t\t}\r\n\r\n\t\tif (warnings.length) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tmessage: warnings.join(' '),\r\n\t\t\t\tmessageFlavor: \"danger\"\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn warnings.length === 0;\r\n\t}\r\n\r\n\tformatCustomerAttachmentsPayload(files) {\r\n\t\tconst formatted = [];\r\n\t\t_.map(files,\r\n\t\t\tx => {\r\n\t\t\t\tconst file = {\r\n\t\t\t\t\tId: 0,\r\n\t\t\t\t\tCustomerId: this.state.customer.id ? this.state.customer.id : 0,\r\n\t\t\t\t\tBase64EncodedPhoto: x.base64EncodedPhoto,\r\n\t\t\t\t\tCustomerAttachmentTypeId: x.imageType.value,\r\n\t\t\t\t\tMimeType: x.type,\r\n\t\t\t\t\tAssetName: x.name,\r\n\t\t\t\t\tDateReceived: x.dateReceived\r\n\t\t\t\t\t// Content: []\r\n\t\t\t\t}\r\n\t\t\t\tformatted.push(file);\r\n\t\t\t});\r\n\t\treturn formatted;\r\n\t}\r\n\r\n\tonSubmitAdd(event) {\r\n\t\tlet exorcisedContacts = cleanBadIds(_.cloneDeep(this.state.contacts)); // deep copy because the original was getting messed with\r\n\t\twindow.scroll(0,0);\r\n\t\tif (!this.isFormValid()) return;\r\n\t\tevent.preventDefault();\r\n\t\tconst customerDto = {\r\n\t\t\tId: this.state.customer.id,\r\n\t\t\tAreaId: this.state.customer.area.value,\r\n\t\t\tAgentId: this.state.customer.agent ? this.state.customer.agent.value : null,\r\n\t\t\tInvoiceTermsId: this.state.customer.invoiceTerms.value,\r\n\t\t\tFreightTermsId: this.state.customer.freightTerms.value,\r\n\t\t\tPricingTypeId: this.state.customer.pricingTypeId ? this.state.customer.pricingTypeId.value : null,\r\n\t\t\t// CustomerCreditTypeId: this.state.customer.customerCreditType.value,\r\n\t\t\tAccountTypeId: this.state.customer.accountType.value,\r\n\t\t\tCustomerStatusId: this.state.customer.customerStatus.value,\r\n\t\t\t// ContactPreferenceTypeId: this.state.customer.contactPreferenceType.value,\r\n\t\t\tName: this.state.customer.name,\r\n\t\t\tPrimaryEmail: this.state.customer.primaryEmail,\r\n\t\t\tNumber: Number(this.state.customer.number),\r\n\t\t\tCreditLine: Number(this.state.customer.creditLine),\r\n\t\t\tTaxNo: this.state.customer.taxNo,\r\n\t\t\tFedId: this.state.customer.fedId ? this.state.customer.fedId : \"\", // though not used anymore, keep old if it exists?\r\n\t\t\tWebsiteURL: this.state.customer.websiteURL,\r\n\t\t\tIsDCCustomer: this.state.customer.isDCCustomer,\r\n\t\t\tAutoSendSamples: this.state.customer.autoSendSamples,\r\n\t\t\tComment: this.state.customer.comment,\r\n\t\t\tWebEmail: this.state.customer.webEmail,\r\n\t\t\tWebFirstName: this.state.customer.webFirstName,\r\n\t\t\tWebLastName: this.state.customer.webLastName,\r\n\t\t\tLn1: this.state.customer.ln1,\r\n\t\t\tLn2: this.state.customer.ln2,\r\n\t\t\tLn3: this.state.customer.ln3,\r\n\t\t\tLn4: this.state.customer.ln4,\r\n\t\t\tCity: this.state.customer.city,\r\n\t\t\tState: this.state.customer.state,\r\n\t\t\tZip: this.state.customer.zip\r\n\t\t};\r\n\t\tvar Attachments = this.state.addingImage ? this.formatCustomerAttachmentsPayload(this.state.files) : [];\r\n\r\n\t\tconst verb = this.state.customer.id ? 'put' : 'post';\r\n\t\tlet url = (customerDto.Id ? `Customer/${customerDto.Id}` : 'Customer/')\r\n\t\tapi.upload(verb, url, { Customer: customerDto, Contacts: exorcisedContacts, Attachments: Attachments })\r\n\t\t\t.then(result => {\r\n\t\t\t\tif (result.data.success) {\r\n\t\t\t\t\tif (this.props.customerId) {\r\n\t\t\t\t\t\tthis.setState({ redirect: true });\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tcustomer: {\r\n\t\t\t\t\t\t\t\t...this.state.customer,\r\n\t\t\t\t\t\t\t\tid: result.data.message\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}, () => {\r\n\t\t\t\t\t\t\tthis.props.setActiveTab && this.props.setActiveTab(\"4\");\r\n\t\t\t\t\t\t\tthis.props.setActiveCustomer && this.props.setActiveCustomer(parseInt(result.data.message, 10));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({ messageFlavor: \"danger\", message: \"Something went wrong. The error message was as follows: \" + result.data.message });\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tonSubmitAddNotSaved() {\r\n\t\tthis.setState({ errorMessage: \"There are unsaved changes to one or more contacts, please save or cancel those changes before saving the account.\" })\r\n\t\tthis.setState({ errorMessageFlavor: \"danger\" });\r\n\t\tthis.toggleModal(true);\r\n\t}\r\n\r\n\ttoggleImages() {\r\n\t\tthis.setState({\r\n\t\t\taddingImage: !this.state.addingImage\r\n\t\t});\r\n\t}\r\n\r\n\tremoveCustomerAttachment(attachment) {\r\n\t\tconst attachments = this.state.customer.attachments.slice();\r\n\t\tconst filtered = _.filter(attachments, x => x.id !== attachment.id);\r\n\r\n\t\tapi\r\n\t\t\t.post(`Customer/DeleteCustomerAttachment/${attachment.id}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tif (response.data.success) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tcustomer: {\r\n\t\t\t\t\t\t\t...this.state.customer,\r\n\t\t\t\t\t\t\tattachments: filtered\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tshowDeleteAttachmentConfirmationModal: false,\r\n\t\t\t\t\t\tattachmentToDelete: null\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({ \r\n\t\t\t\t\t\tmessageFlavor: \"danger\", \r\n\t\t\t\t\t\tmessage: response.data.message,\r\n\t\t\t\t\t\tshowDeleteAttachmentConfirmationModal: false,\r\n\t\t\t\t\t\tattachmentToDelete: null\t\t\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\trender() {\r\n\t\tconst c = this.state.customer;\r\n\t\tif (this.state.redirect) {\r\n\t\t\treturn ();\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\t this.toggleModal(false)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{this.state.errorMessage}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t this.setState({showDeleteAttachmentConfirmationModal: !this.state.showDeleteAttachmentConfirmationModal})}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\tDelete Attachment\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{this.state.message && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{this.state.message}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t

{c.id ? `Edit Information For ${c.customerName}` : 'Add New Account'}

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAccount #\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tDate Entered\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tEntered By\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAccount Status {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tCompany Name {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tPrimary Email\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tAgent\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tAgent Information\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.agentName}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tPhone:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.agentMobileNumber}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tEmail:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.agentEmail}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAccount Type {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tFreight Terms {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\tAccount Credit Type\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* Contact Preference Type\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tInvoice Terms {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.state.contacts &&\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.addingImage\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} Attachments\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.addingImage && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.errorMessage ?\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.errorMessage}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setState({ files: files })}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcustomerAttachmentTypeList={this.state.customerAttachmentTypeList}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{c.attachments && c.attachments.map(a => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tDate Received: {moment(a.dateReceived).format(\"MM/DD/YYYY\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tView\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowDeleteAttachmentConfirmationModal: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tattachmentToDelete: a\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tComment\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{this.state.isContactEditing\r\n\t\t\t\t\t\t\t\t\t?\t\r\n\t\t\t\t\t\t\t\t\t\t\t Save Account\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t:\t\r\n\t\t\t\t\t\t\t\t\t\t\t Save Account\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t Cancel\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Alert, Button, ButtonGroup, Card, CardBody, Col, Container, Row, Table } from 'reactstrap';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport _ from 'lodash';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n FilterBoolean,\r\n FilterSet,\r\n FilterText,\r\n SortHeader,\r\n} from '../components';\r\nimport { api, date_helpers, filter_helpers, helpers } from '../utils';\r\n\r\nconst apiUrl = 'Agent/';\r\n\r\nexport default class AgentAdmin extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n agents: [],\r\n messageFlavor: 'danger',\r\n message: null,\r\n sortField: 'LastName',\r\n sortDir: 'asc',\r\n filters: [\r\n {\r\n filterName: \"ActiveOnly\",\r\n value: true,\r\n filteredDisplay: \"Active Only: Active\"\r\n }\r\n ],\r\n clearValue: false,\r\n areaList: props.areaList\r\n };\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.handleRevive = this.handleRevive.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getAreas = api.fetch('Reference/GetAreaList/')\r\n .then((result) => {\r\n return { areaList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n Promise.all([getAreas])\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, () =>\r\n this.refreshList());\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n let filterList = filters || this.state.filters;\r\n let payload = {\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir\r\n }\r\n\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n \r\n api.post(apiUrl + 'GetList', payload)\r\n .then((response) => {\r\n this.setState({\r\n agents: _.map(response.data, agent => {\r\n // prepare for react-select\r\n return {\r\n ...agent,\r\n homeArea: { label: agent.homeAreaName, value: agent.homeAreaId },\r\n hiredOn: date_helpers.getMomentFromString(agent.hiredOn)\r\n }\r\n })\r\n })\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changedFilter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n handleDelete(id) {\r\n api.delete(apiUrl + id)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleRevive(id) {\r\n api.post(apiUrl + 'Revive/' + id)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

Agent Administration

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Add Agent\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.agents.map(\r\n agent => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n Home AreaID Tag\r\n \r\n Mobile Number
{agent.firstName} {agent.lastName}{agent.homeAreaName}{agent.idTag}{agent.email}{agent.mobileNumber}\r\n \r\n {agent.deactivatedAt === null ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component, Fragment } from 'react';\r\nimport { Container, Card, Table, Collapse, CardBody, Button, ButtonGroup, Alert, Label, Row, Col, Input } from 'reactstrap';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport _ from 'lodash';\r\nimport api from '../utils/api';\r\nimport helpers from '../utils/helpers';\r\nimport filterHelpers from '../utils/filter_helpers';\r\nimport Switch from \"react-switch\";\r\nimport { FilterBoolean, FilterSet, FilterText, SortHeader } from '../components/';\r\n\r\nconst emptyArea = {\r\n id: null,\r\n name: '',\r\n number: '',\r\n pricingDiscount: null,\r\n pricingDiscountActive: false\r\n};\r\n\r\nclass AreaAdmin extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n areas: [],\r\n messageFlavor: 'danger',\r\n message: null,\r\n editItem: emptyArea,\r\n showAdd: false,\r\n sortField: 'Name',\r\n sortDir: 'asc',\r\n filters: [{filterName: \"ActiveOnly\", value: true, filteredDisplay: \"Active Only: Yes\" }],\r\n clearValue: false\r\n };\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.onAdd = this.onAdd.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.refreshList = this.refreshList.bind(this);\r\n this.onTextChange = this.onTextChange.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.onIsActive = this.onIsActive.bind(this);\r\n this.onEditIsActiveChange = this.onEditIsActiveChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshList();\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n let filterList = filters || this.state.filters;\r\n let payload = {\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir\r\n }\r\n\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n\r\n api.post('Area/GetList', payload)\r\n .then((response) => {\r\n this.setState({\r\n areas: response.data\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n onIsActive() {\r\n this.setState({\r\n editItem: {\r\n ...this.state.editItem,\r\n pricingDiscountActive: !this.state.editItem.pricingDiscountActive\r\n }\r\n });\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filterHelpers.get_filters(this.state.filters, changedFilter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n onAdd() {\r\n this.setState({\r\n editItem: emptyArea,\r\n showAdd: true\r\n });\r\n }\r\n\r\n onCancel() {\r\n this.setState({\r\n editItem: emptyArea,\r\n showAdd: false, \r\n message: null, \r\n messageFlavor: null\r\n }, () => {this.refreshList()});\r\n }\r\n\r\n onTextChange(fieldName, value) {\r\n this.setState({ \r\n editItem: {\r\n ...this.state.editItem,\r\n [fieldName]: value \r\n }\r\n });\r\n }\r\n\r\n isFormValid(item) {\r\n let warnings = [];\r\n if (!item.Name) {\r\n warnings.push(\"Please provide a valid area name.\");\r\n }\r\n if (!item.PricingDiscount && item.PricingDiscountActive) {\r\n warnings.push(\"If you wish to apply discount please provide a discount percentage.\")\r\n }\r\n if (parseFloat(item.PricingDiscount) < -99) {\r\n warnings.push(\"You may not discount more than 99%\")\r\n }\r\n if (warnings.length) {\r\n this.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmit() {\r\n window.scroll(0, 0);\r\n const payload = {\r\n Name: this.state.editItem.name,\r\n Number: this.state.editItem.number,\r\n PricingDiscount: this.state.editItem.pricingDiscount,\r\n PricingDiscountActive: this.state.editItem.pricingDiscountActive\r\n };\r\n if (!this.isFormValid(payload)) return;\r\n let verb = \"post\";\r\n api.upload(verb, 'Area/', payload)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({ \r\n messageFlavor: \"success\", \r\n message: \"The area record was updated.\" \r\n }, () => this.onCancel());\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onUpdateSubmit(e, item) {\r\n window.scroll(0, 0);\r\n const payload = {\r\n Id: item.id,\r\n Name: item.name,\r\n Number: item.number,\r\n PricingDiscount: item.pricingDiscount,\r\n PricingDiscountActive: item.pricingDiscountActive\r\n };\r\n\r\n if (!this.isFormValid(payload)) return;\r\n\r\n let verb = \"put\";\r\n api.upload(verb, 'Area/', payload)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({ \r\n messageFlavor: \"success\", \r\n message: \"The area record was updated.\" \r\n }, () => this.onCancel());\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api.delete(`Area/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleRevive(id) {\r\n api.post(`Area/Revive/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onEditTextChange(fieldName, value, areaId) {\r\n const tempList = this.state.areas.slice();\r\n const area = _.find(tempList, x => x.id === areaId);\r\n area[fieldName] = value;\r\n this.setState({\r\n areas: tempList\r\n });\r\n }\r\n\r\n onEditIsActiveChange(fieldName, areaId) {\r\n const tempList = this.state.areas.slice();\r\n const area = _.find(tempList, x => x.id === areaId);\r\n area[fieldName] = !area[fieldName];\r\n this.setState({\r\n areas: tempList\r\n });\r\n }\r\n\r\n\r\n onEdit(areaId) {\r\n const indexToEdit = _.findIndex(this.state.areas, {id: areaId});\r\n let tempList = this.state.areas.slice();\r\n const snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n tempList[indexToEdit].isEditing = true;\r\n tempList[indexToEdit].pristine = snapshotItem;\r\n this.setState({\r\n areas: tempList\r\n });\r\n }\r\n\r\n onCancelEdit(areaId) {\r\n const indexToEdit = _.findIndex(this.state.areas, {id: areaId});\r\n let tempList = this.state.areas.slice();\r\n tempList[indexToEdit] = tempList[indexToEdit].pristine;\r\n this.setState({\r\n areas: tempList,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Area Administration

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Add New Area
\r\n \r\n
\r\n \r\n \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.name || \"\"}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.number || \"\"}\r\n maxLength=\"20\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onTextChange(\r\n event.target.name, \r\n parseFloat(event.target.value),\r\n )}\r\n value={this.state.editItem.pricingDiscount || \"\"}\r\n maxLength=\"10\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onIsActive()}\r\n checked={this.state.editItem.pricingDiscountActive}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {_.map(this.state.areas, area =>\r\n \r\n {area.isEditing\r\n ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {`Special Pricing (%)`}\r\n \r\n Apply Discount\r\n
\r\n this.onEditTextChange(\r\n event.target.name,\r\n event.target.value,\r\n area.id\r\n )}\r\n value={area.name}\r\n maxLength=\"50\"\r\n />\r\n \r\n this.onEditTextChange(\r\n event.target.name,\r\n event.target.value,\r\n area.id\r\n )}\r\n value={area.number}\r\n maxLength=\"20\"\r\n />\r\n \r\n this.onEditTextChange(\r\n event.target.name,\r\n parseFloat(event.target.value),\r\n area.id\r\n )}\r\n value={!area.pricingDiscount ? \"\" : area.pricingDiscount}\r\n maxLength=\"10\"\r\n />\r\n \r\n this.onEditIsActiveChange(\r\n \"pricingDiscountActive\",\r\n area.id\r\n )}\r\n checked={area.pricingDiscountActive}\r\n />\r\n \r\n \r\n this.onUpdateSubmit(e, area)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelEdit(area.id)}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n
{area.name}{area.number}{area.pricingDiscount ?\r\n `${area.pricingDiscount}%`\r\n : \"\"\r\n }{area.pricingDiscountActive ?\r\n \"Included\"\r\n : \"Not-Included\"\r\n }\r\n \r\n {!area.deactivatedAt ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default AreaAdmin;\r\n","import React, { Component } from 'react';\r\nimport {\r\n Button,\r\n ButtonGroup,\r\n Col,\r\n Row,\r\n Table,\r\n Container,\r\n Card,\r\n Alert as Alert2,\r\n CardBody,\r\n} from 'reactstrap';\r\nimport api from '../utils/api';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Link } from 'react-router-dom';\r\nimport _ from 'lodash';\r\nimport helpers from '../utils/helpers';\r\nimport filterHelpers from '../utils/filter_helpers';\r\nimport date_helpers from '../utils/date_helpers';\r\nimport {\r\n FilterSet,\r\n FilterText,\r\n FilterBoolean,\r\n\t\tFilterDate,\r\n\t\tFilterSelect,\r\n SortHeader,\r\n Pager\r\n} from '../components';\r\n\r\nexport default class Claims extends Component {\r\n constructor(props) {\r\n super(props);\r\n let lastClaimFilters = null;\r\n try {\r\n lastClaimFilters = localStorage.getItem('lastClaimFilters');\r\n } catch {}\r\n const defaultFilters = lastClaimFilters\r\n ? JSON.parse(lastClaimFilters)\r\n : [{filterName: \"AciveOnly\", value: true, filteredDisplay: \"Active Only: Yes\"}];\r\n \r\n this.state = {\r\n\r\n pagedList: {\r\n list: [],\r\n pageSize: 100,\r\n pageNumber: 1\r\n },\r\n claims: [], \r\n messageFlavor: null,\r\n message: null,\r\n isMessageVisible: false,\r\n sortField: 'Id',\r\n sortDir: 'asc',\r\n filters: defaultFilters,\r\n clearValue: false,\r\n\t\t\t\t\t\tclaimStatusList: []\r\n };\r\n\r\n this.refreshList = this.refreshList.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.setPage = this.setPage.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n\t\t\tapi.fetch('Reference/GetClaimStatusList')\r\n\t\t\t.then(response => {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tclaimStatusList: response.data\r\n\t\t\t\t\t});\r\n\t\t\t})\r\n\t\t\tthis.refreshList();\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n const filterList = filters || this.state.filters;\r\n const payload = {\r\n Page: this.state.pagedList.pageNumber,\r\n PageSize: this.state.pagedList.pageSize,\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir,\r\n };\r\n\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n\r\n api.post('Claim/GetLightPaginatedList', payload)\r\n .then((response) => {\r\n this.setState({\r\n claims: response.data.list\r\n });\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n filterChange(changedFilter) {\r\n const filters = filterHelpers.get_filters(this.state.filters, changedFilter);\r\n try {\r\n localStorage.setItem(\"lastClaimFilters\", JSON.stringify(filters));\r\n } catch {}\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n clearFilters() {\r\n const filters = [];\r\n try {\r\n localStorage.setItem(\"lastClaimFilters\", JSON.stringify(filters));\r\n } catch {}\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n setPage(page) {\r\n const newPagedList = Object.assign({}, this.state.pagedList);\r\n newPagedList.pageNumber = page;\r\n this.setState({ pagedList: newPagedList }, () => this.refreshList());\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) return filterElement.value;\r\n return '';\r\n }\r\n\r\n handleDelete(id) {\r\n if (!window.confirm(`Are you sure you'd like to delete this claim?`)) return;\r\n api.delete(`Claim/DeleteClaim/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.setState({ messageFlavor: \"success\", message: \"Claim was deleted\", isMessageVisible: true }, ()=>this.refreshList()); \r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message, isMessageVisible: true });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleRevive(id) {\r\n api.post(`Claim/ReviveClaim/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.setState({ messageFlavor: \"success\", message: \"Claim was revived\", isMessageVisible: true }, () => this.refreshList()); \r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message, isMessageVisible: true });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n\t\tonDismiss() {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisMessageVisible: !this.state.isMessageVisible,\r\n\t\t\t\tmessage: null,\r\n\t\t\t\tmessageColor: null\r\n\t\t\t});\r\n\t\t}\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n this.onDismiss()}>\r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

Manage Claims

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Add Claim\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.claims.map(s => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Recent Comment\r\n
{s.id}{date_helpers.formatDateToShortDate(s.claimDate)}{s.customerName}{s.originalOrderId}{s.mostRecentComment}\r\n \r\n {s.deactivatedAt === null\r\n ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nexport default class Company extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n\r\n };\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n
\r\n

Company

\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\n","import React, { Component, Fragment } from 'react';\r\nimport {\r\n Alert,\r\n Container,\r\n Table,\r\n Button,\r\n ButtonGroup,\r\n CardBody,\r\n Row,\r\n Col,\r\n Card,\r\n Input,\r\n Label,\r\n Collapse\r\n} from 'reactstrap';\r\nimport {\r\n api,\r\n helpers,\r\n filter_helpers\r\n} from '../utils';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n FilterBoolean,\r\n FilterSet,\r\n FilterText,\r\n SortHeader\r\n} from '../components';\r\nimport _ from 'lodash';\r\n\r\nconst apiUrl = 'Reference/';\r\n\r\nconst emptyConfigurationSetting = {\r\n id: 0,\r\n fieldName: \"\",\r\n dsc: \"\",\r\n};\r\n\r\nclass ConfigurationSettingsAdmin extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n list: [],\r\n item: emptyConfigurationSetting,\r\n newItem: emptyConfigurationSetting,\r\n filters: [],\r\n message: null,\r\n messageFlavor: null,\r\n showAddNew: false,\r\n sortField: 'FieldName',\r\n sortDir: 'asc',\r\n };\r\n this.refreshList = this.refreshList.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.handleNewItemFormInput = this.handleNewItemFormInput.bind(this);\r\n this.handleFormInput = this.handleFormInput.bind(this);\r\n this.toggleAddNewCollapse = this.toggleAddNewCollapse.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleUnDelete = this.handleUnDelete.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.onEdit = this.onEdit.bind(this);\r\n this.onCancelEdit = this.onCancelEdit.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshList();\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n let filterList = filters || this.state.filters;\r\n let payload = {\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir\r\n }\r\n\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n \r\n api.post(apiUrl + 'GetConfigurationSettingsPaginatedList', payload)\r\n .then((response) => {\r\n this.setState({\r\n list: response.data.list\r\n })\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changedFilter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n toggleAddNewCollapse() {\r\n this.setState({\r\n showAddNew: !this.state.showAddNew,\r\n newItem: emptyConfigurationSetting,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n handleNewItemFormInput(event) {\r\n this.setState({ newItem: {...this.state.newItem, [event.target.name]: event.target.value } });\r\n }\r\n\r\n handleFormInput(event) {\r\n this.setState({ item: {...this.state.item, [event.target.name]: event.target.value } });\r\n }\r\n\r\n onEdit(item) {\r\n this.setState({item: item})\r\n }\r\n\r\n onCancelEdit() {\r\n this.setState({item: emptyConfigurationSetting})\r\n }\r\n\r\n isFormValid(item) {\r\n let warnings = [];\r\n if (!item.fieldName || item.fieldName.length < 1) {\r\n warnings.push(\"Please provide a valid Field Name.\");\r\n }\r\n if (!item.dsc) {\r\n warnings.push(\"Description is required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n }\r\n else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmit(e, item) {\r\n if (!this.isFormValid(item)) return;\r\n const payload = {\r\n id: item.id,\r\n FieldName: item.fieldName,\r\n Dsc: item.dsc,\r\n };\r\n api.post(\"Reference/SaveConfigurationSetting\", payload)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tif (response.data.success) {\r\n this.setState({\r\n showAddNew: item.id ? this.state.showAddNew : !this.state.showAddNew,\r\n newItem: emptyConfigurationSetting,\r\n item: emptyConfigurationSetting,\r\n message: null,\r\n messageFlavor: null\r\n }, () => this.refreshList());\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api.post(`Reference/ReviveConfigurationSettingItem/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api.post(`Reference/DeleteConfigurationSettingItem/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Configuration Setting Administration

\r\n \r\n
\r\n \r\n \r\n {/* {this.state.showAddNew\r\n ? null\r\n : \r\n this.toggleAddNewCollapse()}\r\n title=\"Add New Configuration Setting\"\r\n >\r\n Add Configuration Setting\r\n \r\n \r\n } */}\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n
Add New Configuration Setting
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onSubmit(e, this.state.newItem)}\r\n >\r\n Save\r\n \r\n this.toggleAddNewCollapse()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.list.length > 0 && this.state.list.map(item => (\r\n \r\n {this.state.item.id !== null && item.id === this.state.item.id\r\n ? \r\n \r\n \r\n \r\n \r\n : \r\n \r\n \r\n \r\n \r\n }\r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {/* */}\r\n {this.state.item.fieldName}\r\n \r\n \r\n \r\n \r\n this.onSubmit(e, this.state.item)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelEdit()}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n
\r\n {item.fieldName}\r\n \r\n {item.dsc}\r\n \r\n \r\n {/* {item.deactivatedAt\r\n ? this.handleUnDelete(item.id)}\r\n >\r\n Revive\r\n \r\n : */}\r\n \r\n this.onEdit(item)}\r\n size=\"sm\"\r\n >\r\n \r\n \r\n {/* this.handleDelete(item.id)}\r\n >\r\n \r\n */}\r\n \r\n {/* } */}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default ConfigurationSettingsAdmin;\r\n","import React, { Component, Fragment } from 'react';\r\nimport {\r\n Alert,\r\n Container,\r\n Table,\r\n Button,\r\n ButtonGroup,\r\n CardBody,\r\n Row,\r\n Col,\r\n Card,\r\n Input,\r\n Label,\r\n Collapse\r\n} from 'reactstrap';\r\nimport {\r\n api,\r\n helpers,\r\n filter_helpers\r\n} from '../utils';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n FilterBoolean,\r\n FilterSet,\r\n FilterText,\r\n SortHeader\r\n} from '../components';\r\nimport _ from 'lodash';\r\n\r\nconst apiUrl = 'Reference/';\r\n\r\nconst emptyConstructionType = {\r\n id: 0,\r\n name: \"\",\r\n seq: \"\",\r\n};\r\n\r\nclass ConstructionTypeAdmin extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n list: [],\r\n item: emptyConstructionType,\r\n newItem: emptyConstructionType,\r\n filters: [],\r\n message: null,\r\n messageFlavor: null,\r\n showAddNew: false,\r\n sortField: 'Seq',\r\n sortDir: 'asc',\r\n };\r\n this.refreshList = this.refreshList.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.handleNewItemFormInput = this.handleNewItemFormInput.bind(this);\r\n this.handleFormInput = this.handleFormInput.bind(this);\r\n this.toggleAddNewCollapse = this.toggleAddNewCollapse.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleUnDelete = this.handleUnDelete.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.onEdit = this.onEdit.bind(this);\r\n this.onCancelEdit = this.onCancelEdit.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshList();\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n let filterList = filters || this.state.filters;\r\n let payload = {\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir\r\n }\r\n\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n \r\n api.post(apiUrl + 'GetConstructionTypePaginatedList', payload)\r\n .then((response) => {\r\n this.setState({\r\n list: response.data.list\r\n })\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changedFilter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n toggleAddNewCollapse() {\r\n this.setState({\r\n showAddNew: !this.state.showAddNew,\r\n newItem: emptyConstructionType,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n handleNewItemFormInput(event) {\r\n this.setState({ newItem: {...this.state.newItem, [event.target.name]: event.target.value } });\r\n }\r\n\r\n handleFormInput(event) {\r\n this.setState({ item: {...this.state.item, [event.target.name]: event.target.value } });\r\n }\r\n\r\n onEdit(item) {\r\n this.setState({item: item})\r\n }\r\n\r\n onCancelEdit() {\r\n this.setState({item: emptyConstructionType})\r\n }\r\n\r\n isFormValid(item) {\r\n let warnings = [];\r\n if (!item.name || item.name.length < 1) {\r\n warnings.push(\"Please provide a valid name entry.\");\r\n }\r\n if (!item.seq) {\r\n warnings.push(\"Sequence is required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n }\r\n else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmit(e, item) {\r\n if (!this.isFormValid(item)) return;\r\n const payload = {\r\n id: item.id,\r\n name: item.name,\r\n Seq: item.seq === \"\" ? \"\" : Number(item.seq),\r\n };\r\n api.post(\"Reference/SaveConstructionType\", payload)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tif (response.data.success) {\r\n this.setState({\r\n showAddNew: item.id ? this.state.showAddNew : !this.state.showAddNew,\r\n newItem: emptyConstructionType,\r\n item: emptyConstructionType,\r\n message: null,\r\n messageFlavor: null\r\n }, () => this.refreshList());\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api.post(`Reference/ReviveConstructionTypeItem/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api.post(`Reference/DeleteConstructionTypeItem/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Construction Type Administration

\r\n \r\n
\r\n \r\n \r\n {this.state.showAddNew\r\n ? null\r\n : \r\n this.toggleAddNewCollapse()}\r\n title=\"Add New Construction Type\"\r\n >\r\n Add Construction Type\r\n \r\n \r\n }\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Add New Construction Type
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onSubmit(e, this.state.newItem)}\r\n >\r\n Save\r\n \r\n this.toggleAddNewCollapse()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.list.length > 0 && this.state.list.map(item => (\r\n \r\n {this.state.item.id !== null && item.id === this.state.item.id\r\n ? \r\n \r\n \r\n \r\n \r\n : \r\n \r\n \r\n \r\n \r\n }\r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n this.onSubmit(e, this.state.item)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelEdit()}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n
\r\n {item.name}\r\n \r\n {item.seq}\r\n \r\n \r\n {item.deactivatedAt\r\n ? this.handleUnDelete(item.id)}\r\n >\r\n Revive\r\n \r\n : \r\n this.onEdit(item)}\r\n size=\"sm\"\r\n >\r\n \r\n \r\n this.handleDelete(item.id)}\r\n >\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default ConstructionTypeAdmin;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Container,\r\n Button,\r\n Col,\r\n Row,\r\n Table,\r\n ButtonGroup,\r\n Card,\r\n Alert,\r\n CardBody,\r\n} from \"reactstrap\";\r\nimport {\r\n FilterSet,\r\n SortHeader,\r\n FilterBoolean,\r\n FilterText,\r\n FilterSelect,\r\n Pager,\r\n} from \"../components\";\r\nimport api from \"../utils/api\";\r\nimport helpers from \"../utils/helpers\";\r\nimport filterHelpers from \"../utils/filter_helpers\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport _ from \"lodash\";\r\n\r\nconst addAnyOption = (list) => {\r\n let newList = list.slice();\r\n newList.unshift({ label: \"(Any)\", value: null });\r\n return newList;\r\n};\r\n\r\nconst formatAssociatedPhone = (phone) => {\r\n if (phone.substring(0, 1) != \"(\" && phone.length > 7) {\r\n return (\r\n \"(\" +\r\n phone.substring(0, 3) +\r\n \")\" +\r\n phone.substring(3, 6) +\r\n \"-\" +\r\n phone.substring(6)\r\n );\r\n }\r\n return phone;\r\n};\r\n\r\nconst baseUrl = \"Customer/\";\r\n\r\nexport default class CustomerAdmin extends Component {\r\n constructor(props) {\r\n super(props);\r\n let lastAccountFilters = null;\r\n try {\r\n lastAccountFilters = localStorage.getItem(\"lastAccountFilters\");\r\n } catch {}\r\n const defaultFilters = lastAccountFilters\r\n ? JSON.parse(lastAccountFilters)\r\n : [\r\n {\r\n filterName: \"ActiveOnly\",\r\n value: true,\r\n filteredDisplay: \"Active Only: Yes\",\r\n },\r\n ];\r\n this.state = {\r\n pagedList: {\r\n list: [],\r\n pageSize: 100,\r\n pageNumber: 1,\r\n },\r\n customerStatusList: [],\r\n list: [],\r\n currentList: [],\r\n customerList: [],\r\n currentPageList: [],\r\n currentPage: 1,\r\n sort_dir: \"asc\",\r\n sort_field: \"Name\",\r\n filters: defaultFilters,\r\n editView: false,\r\n customer: {\r\n id: null,\r\n Name: \"\",\r\n FamiliarName: \"\",\r\n Agent: null,\r\n Area: null,\r\n InvoiceTerms: null,\r\n FreightTerms: null,\r\n CustomerCreditType: \"\",\r\n AccountType: null,\r\n CustomerStatus: null,\r\n ContactPreferenceType: null,\r\n Number: \"\",\r\n CreditLine: \"\",\r\n TaxNo: \"\",\r\n FedId: \"\",\r\n WebsiteUrl: \"\",\r\n IsDCCustomer: null,\r\n AutoSendSamples: null,\r\n Comment: \"\",\r\n contactList: [],\r\n WebEmail: \"\",\r\n WebFirstName: \"\",\r\n WebLastName: \"\",\r\n },\r\n customerIdCaptured: false,\r\n messageFlavor: \"danger\",\r\n message: null,\r\n areaList: [],\r\n agentList: [],\r\n usedByCustomerSearchModal: props.usedByCustomerSearchModal,\r\n };\r\n this.onCancel = this.onCancel.bind(this);\r\n this.refreshList = this.refreshList.bind(this);\r\n this.onClose = this.onClose.bind(this);\r\n this.onDelete = this.onDelete.bind(this);\r\n this.setPage = this.setPage.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.onViewCustomer = this.onViewCustomer.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getCustomerStatus = api\r\n .fetch(\"Reference/GetCustomerStatusList\")\r\n .then((result) => {\r\n return { customerStatusList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getAgents = api\r\n .fetch(\"Reference/GetAgentList\")\r\n .then((result) => {\r\n return { agentList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getAreas = api\r\n .fetch(\"Reference/GetAreaList\")\r\n .then((result) => {\r\n return { areaList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n Promise.all([getAgents, getAreas, getCustomerStatus])\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach((r) => Object.assign(newStatus, r));\r\n this.setState(newStatus, () => {\r\n this.refreshList();\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n refreshList(sort_field, sort_direction, filters) {\r\n let filterList = filters || this.state.filters;\r\n const payload = {\r\n Page: this.state.pagedList.pageNumber,\r\n PageSize: this.state.pagedList.pageSize,\r\n SortField: sort_field || this.state.sort_field,\r\n SortDir: sort_direction || this.state.sort_dir,\r\n };\r\n\r\n _.each(filterList, (filter) => (payload[filter.filterName] = filter.value));\r\n\r\n api\r\n .post(baseUrl + \"GetPaginatedList\", payload)\r\n .then((response) => {\r\n this.setState({\r\n pagedList: response.data,\r\n });\r\n })\r\n .catch((error) => error);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sort_dir: direction, sort_field: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filterHelpers.get_filters(\r\n this.state.filters,\r\n changedFilter\r\n );\r\n try {\r\n localStorage.setItem(\"lastAccountFilters\", JSON.stringify(filters));\r\n } catch {}\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n try {\r\n localStorage.setItem(\"lastAccountFilters\", JSON.stringify(filters));\r\n } catch {}\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find((f) => f.filterName === name);\r\n if (filterElement) {\r\n if (\r\n filterElement.value &&\r\n filterElement.filterName === \"AssociatedPhone\"\r\n ) {\r\n filterElement.value = formatAssociatedPhone(filterElement.value);\r\n return filterElement.value;\r\n }\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return \"\";\r\n }\r\n\r\n setPage(page) {\r\n const newPagedList = Object.assign({}, this.state.pagedList);\r\n newPagedList.pageNumber = page;\r\n this.setState({ pagedList: newPagedList }, () => this.refreshList());\r\n }\r\n\r\n onCancel() {\r\n this.refreshList();\r\n }\r\n\r\n onClose() {\r\n this.setState({ editView: false });\r\n }\r\n\r\n onDelete(id) {\r\n api\r\n .delete(baseUrl + `DeleteCustomer/${id}`)\r\n .then((response) => this.refreshList())\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onRevive(id) {\r\n api\r\n .delete(baseUrl + `ReviveCustomer/${id}`)\r\n .then((response) => this.refreshList())\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onViewCustomer() {\r\n if (this.state.customerIdCaptured) {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

\r\n {this.state.usedByCustomerSearchModal\r\n ? \"Account Search\"\r\n : \"Accounts Administration\"}\r\n

\r\n \r\n
\r\n \r\n \r\n {!this.state.usedByCustomerSearchModal && (\r\n \r\n \r\n Add Account\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!this.state.usedByCustomerSearchModal && (\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n {this.state.pagedList.list.map((c) => (\r\n \r\n \r\n \r\n {!this.state.usedByCustomerSearchModal && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Web Registration\r\n \r\n \r\n \r\n )}\r\n
\r\n {this.state.usedByCustomerSearchModal ? (\r\n \r\n this.props.onCustomerSelected(c.id, c.name)\r\n }\r\n >\r\n {c.name}\r\n \r\n ) : (\r\n c.name\r\n )}\r\n {c.number}{c.primaryBillToAddressCityState}{c.areaName}{c.agentName}\r\n {c.isWebRegistration ? (\r\n \r\n ) : null}\r\n \r\n \r\n {c.deactivatedAt === null ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Fragment } from 'react';\r\nimport {\r\n Container,\r\n Table,\r\n Card,\r\n CardHeader,\r\n Row,\r\n Col,\r\n CardBody,\r\n Button,\r\n Input,\r\n ButtonGroup,\r\n Collapse,\r\n Alert\r\n} from 'reactstrap';\r\n//import Alert from \"react-s-alert\";\r\nimport classnames from 'classnames';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n//import ToggleButton from 'react-toggle-button';\r\nimport moment from 'moment';\r\nimport _ from 'lodash';\r\nimport {\r\n api,\r\n helpers,\r\n date_helpers\r\n} from '../utils';\r\n\r\nexport default class CustomerMoreDetails extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false,\r\n customerId: props.customerId,\r\n isBookOpen: false,\r\n isPricingOpen: false,\r\n isCreditOpen: false,\r\n isCreditEditing: false,\r\n pastCustomerSampleBooks: [],\r\n customerSpecialPricing: [],\r\n customerOutstandingCredits: [],\r\n creditPristine: null,\r\n creditCount: 0,\r\n pricingCount: 0,\r\n bookCount: 0\r\n };\r\n this.addNewCredit = this.addNewCredit.bind(this);\r\n this.loadCreditLine = this.loadCreditLine.bind(this);\r\n this.onDismiss = this.onDismiss.bind(this);\r\n this.isCreditFormValid = this.isCreditFormValid.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n api.fetch(`Customer/GetPastCustomerSamples/${this.state.customerId}`).then((response) => {\r\n this.setState({ pastCustomerSampleBooks: response.data }, this.loadCreditLine);\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n onDismiss() {\r\n this.setState({\r\n isMessageVisible: !this.state.isMessageVisible,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n loadCreditLine() {\r\n api.fetch(`Customer/GetCustomerCreditLine/${this.state.customerId}`)\r\n .then(response => {\r\n if (response && response.data) {\r\n this.setState({\r\n customerOutstandingCredits: _.map(response.data, c => {\r\n c.amount = _.round(c.amount).toFixed(2);\r\n c.notes = c.comment;\r\n c.isEditing = false;\r\n c.initialAmount = _.round(c.initialAmount).toFixed(2);\r\n return c;\r\n }),\r\n isCreditEditing: false\r\n });\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n addNewCredit() {\r\n let list = this.state.customerOutstandingCredits.slice();\r\n let count = this.state.creditCount + 1;\r\n let newcredit = {\r\n id: (-1 * count),\r\n customerId: this.state.customerId,\r\n notes: '',\r\n amount: '0.00',\r\n givenOn: null,\r\n isEditing: true,\r\n applied: false\r\n };\r\n list.unshift(newcredit);\r\n this.setState({\r\n customerOutstandingCredits: list,\r\n creditCount: count,\r\n creditPristine: newcredit\r\n });\r\n }\r\n\r\n onTextChange(e, index, fieldName) {\r\n let list = this.state.customerOutstandingCredits.slice();\r\n list[index][fieldName] = e.target.value;\r\n this.setState({\r\n customerOutstandingCredits: list,\r\n isCreditEditing: true\r\n });\r\n }\r\n\r\n isCreditFormValid(credit) {\r\n let warnings = [];\r\n if (!credit.amount) {\r\n warnings.push(\"Credit amount is required\")\r\n }\r\n if (warnings.length) {\r\n this.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n onCreditSave(creditId) {\r\n let list = this.state.customerOutstandingCredits.slice();\r\n const credit = _.find(list, l => {\r\n return l.id === creditId;\r\n });\r\n if (!this.isCreditFormValid(credit)) return;\r\n const payload = {\r\n Id: credit.id > 0 ? credit.id : 0,\r\n Amount: Number(credit.amount),\r\n Comment: credit.notes,\r\n CustomerId: credit.customerId\r\n }\r\n\r\n api.post(\"Customer/SaveCustomerCreditLine\", payload)\r\n .then(response => {\r\n if (response && response.data && response.data.success) {\r\n this.setState({\r\n message: \"Credit Line Item has been saved\",\r\n messageFlavor: \"success\",\r\n isMessageVisible: true\r\n }, () => this.loadCreditLine());\r\n } else {\r\n this.setState({\r\n message: response.data.message || \"An error occurred. Credit Line Item cannot be saved at this time.\",\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n })\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n onCreditDelete(creditId) {\r\n if (!window.confirm(`Are you sure you'd like to delete this credit line item?`)) return;\r\n api.delete(`Customer/DeleteCustomerCreditLine/${creditId}`)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n message: \"Credit Line Item has been deleted\",\r\n messageFlavor: \"success\",\r\n isMessageVisible: true\r\n }, ()=>this.loadCreditLine());\r\n } else {\r\n this.setState({\r\n message: response.data.message || \"An error occurred. Credit Line Item cannot be deleted at this time.\",\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n })\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n onCreditRevive(creditId) {\r\n api.post(`Customer/ReviveCustomerCreditLine/${creditId}`)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n message: \"Credit Line Item has been revived\",\r\n messageFlavor: \"success\",\r\n isMessageVisible: true\r\n }, () => this.loadCreditLine());\r\n } else {\r\n this.setState({\r\n message: response.data.message || \"An error occurred. Credit Line Item cannot be revived at this time.\",\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n })\r\n }\r\n }).catch(helpers.catchHandler);\r\n\r\n }\r\n\r\n onCreditEdit(creditId) {\r\n let list = this.state.customerOutstandingCredits.slice();\r\n const indexToEdit = _.findIndex(list, l => {\r\n return l.id === creditId;\r\n })\r\n list[indexToEdit].isEditing = true;\r\n this.setState({\r\n customerOutstandingCredits: list,\r\n creditPristine: list[indexToEdit],\r\n isCreditEditing: true\r\n });\r\n }\r\n\r\n onCreditCancel(creditId) {\r\n let list = this.state.customerOutstandingCredits.slice();\r\n if (creditId > 0) {\r\n const indexToEdit = _.findIndex(list, l => {\r\n return l.id === creditId;\r\n });\r\n\r\n list[indexToEdit].isEditing = false;\r\n list[indexToEdit] = this.state.creditPristine;\r\n } else {\r\n list = _.reject(list, l => { return l.id === creditId });\r\n }\r\n this.setState({\r\n customerOutstandingCredits: list,\r\n creditPristine: null,\r\n isCreditEditing: false\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n

Books

\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n {this.state.pastCustomerSampleBooks.map(csb => (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n ))}\r\n \r\n
Book NameStatusStatus DueManagement Shipment
{csb.sampleBookName}{csb.customerSampleBookStatusName}{date_helpers.formatDateToShortDate(csb.statusDate)}{csb.isManagementShipment ? 'Y' : 'N'}
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n

Outstanding Credits Due

\r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.customerOutstandingCredits && this.state.customerOutstandingCredits.length > 0 ?\r\n this.state.customerOutstandingCredits.map((coc, index) => (\r\n \r\n {coc.isEditing ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )) : }\r\n \r\n
NotesAmountRemaining BalanceGiven OnApplied?
Notes
this.onTextChange(e, index, \"notes\")} />
Amount
this.onTextChange(e, index, \"amount\")} />
\r\n \r\n \r\n \r\n \r\n {coc.notes}{coc.displayInitialAmount}{coc.displayAmount}{coc.givenOn ? moment(coc.givenOn).format(\"MM/DD/YYYY\") : \"\"}\r\n {coc.applied ? : null}\r\n \r\n \r\n {coc.deactivatedAt ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
No records found
\r\n \r\n
\r\n
\r\n
\r\n\r\n {/*Hiding Special Pricing*/}\r\n {/*\r\n \r\n \r\n \r\n

Special Pricing

\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.customerSpecialPricing.map(csp => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
ProductRoll SizeRollCutCmsn %Given On
\r\n \r\n
\r\n
\r\n
*/}\r\n\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n Container,\r\n Table,\r\n Card,\r\n Row,\r\n Col,\r\n CardBody\r\n} from 'reactstrap';\r\nimport {\r\n api,\r\n helpers,\r\n date_helpers\r\n} from '../utils';\r\nimport _ from \"lodash\";\r\n\r\n\r\nconst MemoAndSamplesTable = props => {\r\n return (\r\n \r\n \r\n \r\n

{`${props.isForMemoTable ? \"Memo\" : \"Sample\"} Order History`}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.pastOrders.map(cpmo => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Memo Order #Placed On{props.isForMemoTable ? \"Size\" : null}Status{props.isForMemoTable ? \"Supplier Product\" : \"Sample\"}{props.isForMemoTable ? \"DC Product\" : null}{props.isForMemoTable ? \"Color\" : null}
\r\n \r\n {cpmo.memoOrderId}\r\n \r\n {date_helpers.formatDateToShortDate(cpmo.createdAt)}{props.isForMemoTable ? cpmo.memoSizeName : null}{cpmo.typeOfMemoOrderLineStatusName}{props.isForMemoTable ? cpmo.supplierName : cpmo.sampleBookName}{props.isForMemoTable ? cpmo.dcName : null}{}{props.isForMemoTable ? cpmo.productColorName : null}
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default class CustomerOrderHistory extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n customerId: props.customerId,\r\n customerPastOrdersBySupplier: [],\r\n customerPastOrders: [],\r\n customerPastMemoOrders: [],\r\n customerPastOrderPayments: [],\r\n year1DateRange: \"\",\r\n year2DateRange: \"\",\r\n year3DateRange: \"\"\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const payload = {\r\n CustomerId: this.state.customerId,\r\n SortField: 'LastStatusAt',\r\n SortDir: 'desc'\r\n };\r\n\r\n // const getCustomers = api.fetch(\"Reference/GetCustomerList\")\r\n // .then((response) => {\r\n // return { customerList: response.data };\r\n // })\r\n // .catch(helpers.catchHandler);\r\n\r\n // Promise.all([\r\n // getCustomers\r\n // ])\r\n // .then((aggregateResults) => {\r\n // const newStatus = {};\r\n // aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n // this.setState(newStatus, () =>\r\n // this.refreshList());\r\n // })\r\n // .catch(helpers.catchHandler);\r\n\r\n api.post('MemoOrder/GetList', payload)\r\n .then((response) => {\r\n this.setState({\r\n customerPastMemoOrders: response.data\r\n });\r\n }).catch(helpers.catchHandler);\r\n\r\n api.fetch(`Customer/GetCustomerPastOrderInfo/${this.state.customerId}`)\r\n .then((response) => {\r\n this.setState({\r\n customerPastOrdersBySupplier: _.filter(response.data.customerPastOrdersBySupplier, x => x.supplierName !== 'DEFAULT'),\r\n customerPastOrders: response.data.customerPastOrders,\r\n customerPastOrderPayments: response.data.customerPastOrderPayments,\r\n year1DateRange: response.data.year1DateRange,\r\n year2DateRange: response.data.year2DateRange,\r\n year3DateRange: response.data.year3DateRange\r\n });\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n

Order History By Supplier

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.customerPastOrdersBySupplier.map((cpobs, idx) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Supplier{this.state.year1DateRange}{this.state.year2DateRange}{this.state.year3DateRange}
{cpobs.supplierName}{helpers.formatCurrency(cpobs.decimalYear1Total)}{helpers.formatCurrency(cpobs.decimalYear2Total)}{helpers.formatCurrency(cpobs.decimalYear3Total)}
\r\n \r\n
\r\n \r\n \r\n

Order History

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.customerPastOrders.map(o => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
DC Order #Placed OnAgentStatusAmount
\r\n \r\n {o.id}\r\n \r\n {date_helpers.formatDateToShortDate(o.createdAt)}{o.agentIdTag}{o.orderStatusName}{helpers.formatCurrency(o.decimalOrderTotal)}
\r\n \r\n
\r\n o.supplierName != null)} />\r\n o.sampleBookName != null)} />\r\n \r\n \r\n

Payment History

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.customerPastOrderPayments.map(p => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n } )}\r\n \r\n
DC Order #AmountBalance DueInvoice TermsInvoice DatePayment TypeLast Payment DateDays To Pay
\r\n \r\n {p.orderId}\r\n \r\n {helpers.formatCurrency(p.decimalAmountPaid)}{helpers.formatCurrency(p.decimalAmountDue)}{p.invoiceTermsName}{p.invoicedOn}{p.paymentTypeName}{p.lastPaidOn}{p.daysToPay >= 0 ? p.daysToPay : \"-\"}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component, Fragment } from 'react';\r\nimport {\r\n\tContainer, Card, Table, Button, Row, Col, Input,\r\n\tModal, ModalHeader, ModalBody, ModalFooter, ButtonGroup, Alert, Form, CardHeader, CardBody\r\n} from 'reactstrap';\r\nimport _ from 'lodash';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { api, constants, helpers } from '../utils';\r\nimport makeAnimated from \"react-select/animated\";\r\nimport Select from 'react-select';\r\n\r\nconst emptyAddress = {\r\n\tid: 0,\r\n\tln1: '',\r\n\tln2: '',\r\n\tln3: '',\r\n\tln4: '',\r\n\tcity: '',\r\n\tstate: '',\r\n\tzip: '',\r\n\taddressType: null,\r\n\tisPrimary: false,\r\n\tdeactivatedAt: null,\r\n\tediting: true\r\n};\r\n\r\nlet addId = 0;\r\nlet nextNumber = 0;\r\n\r\nconst createSavePayload = (customerId, addressToSave) => {\r\n\treturn {\r\n\t\tId: addressToSave.id,\r\n\t\tLn1: _.trim(addressToSave.ln1),\r\n\t\tLn2: _.trim(addressToSave.ln2),\r\n\t\tLn3: _.trim(addressToSave.ln3),\r\n\t\tLn4: _.trim(addressToSave.ln4),\r\n\t\tCity: _.trim(addressToSave.city),\r\n\t\tState: _.trim(addressToSave.state),\r\n\t\tZip: _.trim(addressToSave.zip),\r\n\t\tIsPrimary: addressToSave.isPrimary,\r\n\t\tAddressTypeId: addressToSave.addressType ? addressToSave.addressType.value : null,\r\n\t\tCustomerId: customerId\r\n\t};\r\n};\r\n\r\nexport default class CustomerAddress extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tmessage: null,\r\n\t\t\tmessageFlavor: null,\r\n\t\t\terrorMessage: null,\r\n\t\t\taddressTypeList: [],\r\n\t\t\tpagedAddressList: [],\r\n\t\t\tpristineAddress: null,\r\n\t\t\taddressesToSave: [],\r\n\t\t\tpendingDuplicate: null\r\n\t\t};\r\n\t\tthis.loadAddresses = this.loadAddresses.bind(this);\r\n\t\tthis.addNew = this.addNew.bind(this);\r\n\t\tthis.onInputChange = this.onInputChange.bind(this);\r\n\t\tthis.handleFormSelectionChange = this.handleFormSelectionChange.bind(this);\r\n\t\tthis.onIsPrimarySelection = this.onIsPrimarySelection.bind(this);\r\n\t\tthis.onCancelEdit = this.onCancelEdit.bind(this);\r\n\t\tthis.onEdit = this.onEdit.bind(this);\r\n\t\tthis.onSave = this.onSave.bind(this);\r\n\t\tthis.isFormValid = this.isFormValid.bind(this);\r\n\t\tthis.toggleMessageVisibility = this.toggleMessageVisibility.bind(this);\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tapi.fetch('Reference/GetAddressTypeList')\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({ addressTypeList: response.data }, ()=>this.loadAddresses());\r\n\t\t\t});\r\n\t}\r\n\r\n\tloadAddresses() {\r\n\t\tapi.fetch(`Customer/GetCustomerAddresses/${this.props.customerId}`).then(response => {\r\n\t\t\tif (response && response.data) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tpagedAddressList: _.map(response.data, a => {\r\n\t\t\t\t\t\t// a.state = _.find(constants.STATES_LIST, s => { return s.value === a.state })\r\n\t\t\t\t\t\ta.addressType = _.find(this.state.addressTypeList, t => { return t.value === a.addressTypeId });\r\n\t\t\t\t\t\ta.editing = false;\r\n\t\t\t\t\t\treturn a;\r\n\t\t\t\t\t})\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\ttoggleMessageVisibility() {\r\n\t\tthis.setState({\r\n\t\t\tmessage: null,\r\n\t\t\tmessageFlavor: null,\r\n\t\t\tisMessageVisible: false\r\n })\r\n\t}\r\n\r\n\taddNew() {\r\n\t\tlet addressList = this.state.pagedAddressList.slice();\r\n\t\taddressList.unshift(emptyAddress)\r\n\t\tthis.setState({ pagedAddressList: addressList });\r\n\t}\r\n\r\n\tonEdit(index) {\r\n\t\tlet list = this.state.pagedAddressList.slice();\r\n\t\tconst pristineAddress = Object.assign({}, list[index]);\r\n\t\tlist[index].editing = true;\r\n\t\tthis.setState({ pagedAddressList: list, pristineAddress: pristineAddress})\r\n\t}\r\n\r\n\tonCancelEdit(index) {\r\n\t\tlet list = this.state.pagedAddressList.slice();\r\n\t\tif (list[index].id > 0) {\r\n\t\t\tlist[index] = this.state.pristineAddress;\r\n\t\t\tlist[index].editing = false;\r\n\t\t} else {\r\n\t\t\tlist = _.reject(list, (a, idx) => { return idx === index });\r\n }\r\n\t\tthis.setState({ pagedAddressList: list, pristineAddress: null })\r\n\t}\r\n\r\n\tonInputChange(input, fieldName, index) {\r\n\t\tlet list = this.state.pagedAddressList.slice();\r\n\t\tlist[index][fieldName] = input.target ? input.target.value : input;\r\n\t\tthis.setState({ pagedAddressList: list})\r\n\t}\r\n\r\n\thandleFormSelectionChange(selection, fieldName, index) {\r\n\t\tlet list = this.state.pagedAddressList.slice();\r\n\t\tlist[index][fieldName] = selection;\r\n\t\tthis.setState({ pagedAddressList: list })\r\n\t}\r\n\r\n\tonIsPrimarySelection(index) {\r\n\t\tlet list = this.state.pagedAddressList.slice();\r\n\t\tlist[index].isPrimary = !list[index].isPrimary;\r\n\t\tthis.setState({ pagedAddressList: list })\r\n\t} \r\n\r\n\tisFormValid(addressToSave) {\r\n\t\tlet warnings = [];\r\n\t\tif (!_.trim(addressToSave.ln1)) { warnings.push(\"Please enter at least one address line.\"); }\r\n\t\tif (!_.trim(addressToSave.city)) { warnings.push(\"Please enter a city.\"); }\r\n\t\tif (!_.trim(addressToSave.state)) { warnings.push(\"Please enter a state.\"); }\r\n\t\tif (!_.trim(addressToSave.zip)) { warnings.push(\"Please enter a zipcode.\"); }\r\n\t\tif (!addressToSave.addressType) { warnings.push(\"Please choose a type of address.\") }\r\n\t\tif (warnings.length) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tmessage: warnings.join(' '),\r\n\t\t\t\tmessageFlavor: \"danger\",\r\n\t\t\t\tisMessageVisible: true\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.setState({ message: null, messageFlavor: null, isMessageVisible: false });\r\n\t\t}\r\n\t\treturn warnings.length === 0;\r\n\t}\r\n\r\n\tonSave(index) {\r\n\t\tlet payload = null;\r\n\t\tlet addressToSave = null;\r\n\t\tlet pendingDuplicate = null;\r\n\t\tif (this.state.pendingDuplicate) {\r\n\t\t\tpayload = createSavePayload(this.props.customerId, this.state.pendingDuplicate);\r\n\t\t} else {\r\n\t\t\taddressToSave = _.find(this.state.pagedAddressList, (a, idx) => { return index === idx });\r\n\t\t\tif (!this.isFormValid(addressToSave)) return;\r\n\t\t\tpayload = createSavePayload(this.props.customerId, addressToSave);\r\n\t\t\tpendingDuplicate = !addressToSave.id\r\n\t\t\t\t\t&& (addressToSave.addressType.value === constants.ADDRESS_TYPE.BILL_TO)\r\n\t\t\t\t\t&& !_.some(this.state.pagedAddressList, a => \r\n\t\t\t\t\t\t\ta.addressType.value === constants.ADDRESS_TYPE.SHIP_TO\r\n\t\t\t\t\t\t\t&& a.ln1 === addressToSave.ln1\r\n\t\t\t\t\t\t\t&& a.ln2 === addressToSave.ln2\r\n\t\t\t\t\t\t\t&& a.ln3 === addressToSave.ln3\r\n\t\t\t\t\t\t\t&& a.ln4 === addressToSave.ln4\r\n\t\t\t\t\t\t\t&& a.city === addressToSave.city\r\n\t\t\t\t\t\t\t&& a.state === addressToSave.state\r\n\t\t\t\t\t\t\t&& a.zip === addressToSave.zip\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t? {\r\n\t\t\t\t\t\t...addressToSave, \r\n\t\t\t\t\t\t\tisPrimary: false,\r\n\t\t\t\t\t\t\taddressType: _.find(this.state.addressTypeList, t => t.value === constants.ADDRESS_TYPE.SHIP_TO)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t: null;\r\n\t\t}\r\n\t\tapi.post(\"Customer/SaveCustomerAddress\", payload)\r\n\t\t\t.then(response => {\r\n\t\t\t\tif (response.data && response.data.success) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tmessage: \"Address saved\",\r\n\t\t\t\t\t\tmessageFlavor: \"success\",\r\n\t\t\t\t\t\tpendingDuplicate: pendingDuplicate\r\n\t\t\t\t\t}, this.loadAddresses);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tmessage: \"An error occurred, your address could not be saved\",\r\n\t\t\t\t\t\tmessageFlavor: \"danger\"\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tonAddressDelete(addressId) {\r\n\t\tapi.delete(`Customer/DeleteCustomerAddress/${addressId}`)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tif (response && response.data && response.data.success) {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tmessageFlavor: \"success\",\r\n\t\t\t\t\t\t\tmessage: \"Address was deleted.\"\r\n\t\t\t\t\t\t}, this.loadAddresses);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tmessageFlavor: \"danger\",\r\n\t\t\t\t\t\t\tmessage: \"An error occurred, address cannot be deleted at this time.\"\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}).catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tonAddressRevive(addressId) {\r\n\t\tapi.post(`Customer/ReviveCustomerAddress/${addressId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tif (response && response.data && response.data.success) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tmessageFlavor: \"success\",\r\n\t\t\t\t\t\tmessage: \"Address was revived.\"\r\n\t\t\t\t\t}, this.loadAddresses);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tmessageFlavor: \"danger\",\r\n\t\t\t\t\t\tmessage: \"An error occurred, address cannot be revived at this time.\"\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}).catch(helpers.catchHandler);\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst isEditingAnything = _.some(this.state.pagedAddressList, x => x.editing);\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{this.state.message && \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{this.state.message}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{this.state.pagedAddressList && this.state.pagedAddressList.length ? (\r\n\t\t\t\t\t\t\t\t\tthis.state.pagedAddressList.map((address, index) => (\r\n\t\t\t\t\t\t\t\t\t\taddress.editing ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.onInputChange(e, \"city\", index) }/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onInputChange(e, \"state\", index) } placeholder={\"Abbr.\"} value={address.state}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onInputChange(e, \"zip\", index) }/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t))) : ()}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
AddressTypeIs Primary\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
this.onInputChange(e, \"ln1\", index) }/>
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
this.onInputChange(e, \"ln2\", index) }/>
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
this.onInputChange(e, \"ln3\", index) }/>
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
this.onInputChange(e, \"ln4\", index) }/>
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleFormSelectionChange(e, \"addressType\", index)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Select an Address Type\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.onIsPrimarySelection(index)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={address.isPrimary}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onSave(index)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onCancelEdit(index)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{address.ln1}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{address.ln2}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{address.ln3}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{address.ln4}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{address.city}, {address.state} {address.zip}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
{address.addressType && address.addressType.label}{address.isPrimary ? : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{address.deactivatedAt ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
No addresses found
\r\n\r\n\t\t\t\t\t\t this.setState({ pendingDuplicate: null })}>\r\n\t\t\t\t\t\t\tCopy to new Ship To Address?\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tWould you like to duplicate the Bill To address details to a new Ship To Address?\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n }\r\n}","import React, { Component, Fragment } from 'react';\r\nimport {\r\n Container, TabContent, TabPane, Nav, NavItem, NavLink,\r\n Card, Row, Col, CardBody, Button\r\n} from 'reactstrap';\r\nimport classnames from 'classnames';\r\nimport { CustomerProductLookUp } from '.';\r\nimport AddCustomersAndContacts from './AddCustomersAndContacts';\r\nimport CustomerMoreDetails from './CustomerMoreDetails';\r\nimport CustomerOrderHistory from './CustomerOrderHistory';\r\nimport CustomerAddress from './CustomerAddress';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default class CustomerAdminContainer extends Component {\r\n constructor(props) {\r\n super(props);\r\n let activeCustomerId = props.location && props.location.state && props.location.state.customerId \r\n ? parseInt(props.location.state.customerId, 10)\r\n : null;\r\n const activeTab = props.computedMatch && props.computedMatch.params && props.computedMatch.params.activeTab\r\n ? props.computedMatch.params.activeTab\r\n : '1';\r\n if (!activeCustomerId && props.computedMatch && props.computedMatch.params && props.computedMatch.params.customerId) {\r\n activeCustomerId = parseInt(props.computedMatch.params.customerId, 10);\r\n }\r\n this.state = {\r\n activeTab: activeTab,\r\n customerId: activeCustomerId\r\n };\r\n this.toggle = this.toggle.bind(this);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n let prevCustomerId = prevProps.location && prevProps.location.state && prevProps.location.state.customerId;\r\n let currentCustomerId = this.props.location && this.props.location.state && this.props.location.state.customerId;\r\n let prevCustomerIdFromURL = prevProps.location && prevProps.location.state && prevProps.computedMatch.params.customerId;\r\n let currentCustomerIdFromURL = this.props.location && this.props.location.state && this.props.computedMatch.params.customerId;\r\n let prevActiveTab = prevProps.location && prevProps.location.state && prevProps.location.state.activeTab;\r\n let currentActiveTab = this.props.location && this.props.location.state && this.props.location.state.activeTab;\r\n if (prevCustomerId !== currentCustomerId && currentCustomerId) {\r\n this.setState({ customerId: parseInt(currentCustomerId, 10)})\r\n }\r\n if (prevCustomerIdFromURL !== currentCustomerIdFromURL && currentCustomerIdFromURL) {\r\n this.setState({ customerId: parseInt(currentCustomerIdFromURL, 10)})\r\n }\r\n if (prevActiveTab !== currentActiveTab) {\r\n this.setState({ activeTab: currentActiveTab})\r\n }\r\n }\r\n\r\n toggle(tab) {\r\n if (this.state.activeTab !== tab) {\r\n this.setState({\r\n activeTab: tab\r\n });\r\n }\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n

Account Administration

\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.activeTab === \"1\" &&\r\n \r\n this.setState({activeTab: tab})}\r\n setActiveCustomer={id => this.setState({customerId: id})}\r\n />\r\n \r\n }\r\n {this.state.activeTab === \"2\" &&\r\n \r\n \r\n \r\n }\r\n {this.state.activeTab === \"3\" &&\r\n \r\n \r\n \r\n }\r\n {this.state.activeTab === \"4\" &&\r\n \r\n \r\n \r\n }\r\n {this.state.activeTab === \"5\" &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React from 'react';\r\nimport api from '../utils/api';\r\nimport {\r\n\tButton,\r\n\tRow,\r\n\tCol,\r\n\tCard,\r\n\tCardBody,\r\n Table,\r\n\tContainer,\r\n\tCollapse,\r\n\tCardDeck\r\n} from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport helpers from '../utils/helpers';\r\nimport _ from 'lodash';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nlet nextNumber = 0;\r\nconst gimmeNextNumber = () => {nextNumber++; return nextNumber}\r\n\r\nconst DataRow = props => {\r\n return (\r\n \r\n\t\t\t\r\n\t\t\t\t{props.header}:\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{props.data || \"\"}\r\n\t\t\t\r\n\t\t\r\n );\r\n};\r\n \r\nexport default class CustomerDetailsView extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n const activeCustomerId = props.location && props.location.state ? props.location.state.customerId : null;\r\n\r\n this.state = {\r\n customerId: activeCustomerId,\r\n contactInfo: [],\r\n customerInfo: '',\r\n showPhone: false,\r\n selectedContact: null,\r\n\t\t\t\t\t\tcustomerAddressList: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n api.fetch(`Customer/GetActiveContacts/${this.state.customerId}`)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tlet customerInfo = response.data.customer;\r\n\t\t\t\t\t\tlet customerContacts = response.data.contacts;\r\n\t\t\t\t\t\tcustomerContacts.map(c => {\r\n\t\t\t\t\t\t\t\t// remove deactivated phones and addresses for each contact\r\n\t\t\t\t\t\t\t\tconst addresses = _.filter(c.addresses, a => a.deactivatedAt === null);\r\n\t\t\t\t\t\t\t\tconst phoneNumbers = _.filter(c.phoneNumbers, p => p.deactivatedAt === null);\r\n\t\t\t\t\t\t\t\tc.expanded = true;\r\n\t\t\t\t\t\t\t\tc.addresses = addresses;\r\n\t\t\t\t\t\t\t\tc.phoneNumbers = phoneNumbers;\r\n\t\t\t\t\t\t\t\treturn c;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\tthis.setState({ contactInfo: customerContacts, customerInfo: customerInfo, customerAddressList: response.data.customerAddresses });\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n }\r\n\r\n togglePhoneInfo(selectedContactId) {\r\n const crIndex = _.findIndex(this.state.contactInfo, function (x) { return x.id === selectedContactId });\r\n const list = this.state.contactInfo.slice();\r\n list[crIndex].expanded = !list[crIndex].expanded;\r\n this.setState({ contactInfo: list });\r\n }\r\n\r\n render(){ \r\n\t const c = this.state.customerInfo; \r\n\t return (\r\n\t\t \r\n\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t

Account Details For {c.name}

\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.customerAddressList && this.state.customerAddressList.length ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.customerAddressList.map((address, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))) : ()}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
Account AddressTypeIs Primary
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{address.ln1}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{address.ln2}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{address.ln3}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{address.ln4}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{address.city} {address.state}, {address.zip}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{address.addressTypeName}{address.isPrimary ? : null}
No addresses found
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.contactInfo.map(i => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{i.expanded\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{i.phoneNumbers.map(p => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/*\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{i.addresses.map(a => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{line};\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t*/}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
Contact NameE-MailType of Contact
{i.firstName} {i.lastName}{i.email ? i.email : \"\"} {i.typeOfContactName ? i.typeOfContactName : \"\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{i.expanded ? (Hide Details) : (Show More)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Phone #Phone Type
{p.number ? helpers.formatPhoneNumber(p.number) : \"\"}{p.typeOfPhoneName ? p.typeOfPhoneName : \"\"}
AddressAddress Type
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{helpers.formatAddress(a).map(line => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn
{a.typeOfAddressName ? a.typeOfAddressName : \"\"}
\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t Cancel\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t);\r\n\t}\r\n}","import React, { Component } from 'react';\r\n\r\nexport default class Dashboard extends Component {\r\n\r\n render() {\r\n return (\r\n
\r\n

Staff Dashboard

\r\n
\r\n );\r\n }\r\n}","import React, { Fragment } from 'react';\r\nimport {\r\n Card,\r\n Row,\r\n Col,\r\n Container,\r\n CardBody,\r\n Alert,\r\n Button,\r\n ButtonGroup,\r\n Input,\r\n Label,\r\n Modal,\r\n ModalBody,\r\n ModalFooter,\r\n Table\r\n} from 'reactstrap';\r\nimport DatePicker from 'react-datepicker';\r\nimport {\r\n api,\r\n helpers,\r\n date_helpers,\r\n constants\r\n} from '../utils';\r\nimport {\r\n DropzoneUploader,\r\n CustomerTypeahead\r\n} from '../components';\r\nimport CustomerAdmin from './CustomerAdmin';\r\nimport _ from 'lodash';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Select from 'react-select';\r\nimport moment from 'moment';\r\n\r\nconst emptyClaim = {\r\n id: null,\r\n claimDate: new Date(),\r\n customer: null,\r\n claimStatus: {value: 1, label: 'Open'},\r\n supplierOriginalInvoiceDate: null,\r\n supplierReplacementInvoiceDate: null,\r\n customerContact: '',\r\n originalOrderId: '',\r\n replacementOrderId: '',\r\n creditOrderId: '',\r\n originalProduct: '',\r\n originalColor: '',\r\n originalSize: '',\r\n originalInvoiceAmount: '',\r\n replacementProduct: '',\r\n replacementColor: '',\r\n replacementSize: '',\r\n replacementInvoiceAmount: '',\r\n replacementFreightCarrier: '',\r\n replacementFreightInvoice: '',\r\n replacementFreightAmount: '',\r\n supplierCreditNumber: '',\r\n supplierCreditReceived: '',\r\n totalCreditDue: '',\r\n freightCreditNumber: '',\r\n freightCreditReceived: '',\r\n totalCreditReceived: '',\r\n supplierClaimNumber: '',\r\n supplierOriginalInvoice: '',\r\n supplierReplacementInvoice: '',\r\n complaintText: ''\r\n};\r\n\r\nconst emptyComment = {\r\n id: 0,\r\n dsc: \"\",\r\n createdAt: new Date()\r\n};\r\n\r\nconst FINISHED_RUG_SIZES = constants.FINISHED_RUG_SIZES;\r\n\r\nexport default class EditClaim extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n routeClaimId: props.location.state && props.location.state.claimId\r\n ? props.location.state.claimId\r\n : null,\r\n claim: emptyClaim,\r\n // supplier: {\r\n // accountNumber: \"\",\r\n // contact: emptyContact\r\n // },\r\n addingImage: false,\r\n files: [],\r\n claimAttachments: [],\r\n isMessageVisible: false,\r\n message: null,\r\n messageFlavor: null,\r\n showCustomerSearchModal: false,\r\n supplierList: [],\r\n comments: [],\r\n showConfirmModal: false,\r\n currentUserName: props.currentUser.firstName + ' ' + props.currentUser.lastName\r\n };\r\n this.onInputChange = this.onInputChange.bind(this);\r\n this.onSelectChange = this.onSelectChange.bind(this);\r\n this.updateCurrencyField = this.updateCurrencyField.bind(this);\r\n this.onSupplierChange = this.onSupplierChange.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.saveClaim = this.saveClaim.bind(this);\r\n this.toggleImages = this.toggleImages.bind(this);\r\n this.getClaimAttachments = this.getClaimAttachments.bind(this);\r\n this.onToggleCustomerSearchModal = this.onToggleCustomerSearchModal.bind(this);\r\n this.onCustomerSelectedFromSearchModal = this.onCustomerSelectedFromSearchModal.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getClaimStatuses = api.fetch(\"Reference/GetClaimStatusList\")\r\n .then(response => {\r\n return { claimStatusList: response.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n const getSuppliers = api.fetch('Reference/GetSupplierList')\r\n .then((result) => {\r\n return { supplierList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n Promise.all([\r\n getClaimStatuses,\r\n getSuppliers\r\n ])\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, () =>\r\n this.loadClaim());\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n loadClaim(newClaimId) {\r\n let claimId = newClaimId ? newClaimId : this.props.computedMatch.params.id;\r\n if (claimId === \"new\") {\r\n this.setState({ claim: emptyClaim });\r\n } else if (claimId > 0) {\r\n api.fetch(`Claim/GetClaim/${claimId}`)\r\n .then(response => {\r\n if (response.data) {\r\n const claim = {\r\n ...response.data.claim,\r\n customer: helpers.resolveValue(\r\n null,\r\n response.data.claim.customerId,\r\n response.data.claim.customerName),\r\n customerContact: helpers.nullableString(response.data.claim.customerContact),\r\n claimStatus: helpers.resolveValue(\r\n null,\r\n response.data.claim.typeOfClaimStatus,\r\n response.data.claim.typeOfClaimStatusName),\r\n originalOrderId: helpers.nullableString(response.data.claim.originalOrderId),\r\n replacementOrderId: helpers.nullableString(response.data.claim.replacementOrderId),\r\n creditOrderId: helpers.nullableString(response.data.claim.creditOrderId),\r\n originalProduct: helpers.nullableString(response.data.claim.originalProduct),\r\n originalColor: helpers.nullableString(response.data.claim.originalColor),\r\n originalSize: helpers.nullableString(response.data.claim.originalSize),\r\n originalInvoiceAmount: _.round(response.data.claim.originalInvoiceAmount, 2).toFixed(2),\r\n replacementProduct: helpers.nullableString(response.data.claim.replacementProduct),\r\n replacementColor: helpers.nullableString(response.data.claim.replacementColor),\r\n replacementSize: helpers.nullableString(response.data.claim.replacementSize),\r\n replacementInvoiceAmount: _.round(response.data.claim.replacementInvoiceAmount, 2).toFixed(2),\r\n replacementFreightCarrier: helpers.nullableString(response.data.claim.replacementFreightCarrier),\r\n replacementFreightInvoice: helpers.nullableString(response.data.claim.replacementFreightInvoice),\r\n replacementFreightAmount: _.round(response.data.claim.replacementFreightAmount, 2).toFixed(2),\r\n supplier: helpers.resolveValue(\r\n null,\r\n response.data.claim.supplierId,\r\n response.data.claim.supplierName),\r\n supplierCreditNumber: helpers.nullableString(response.data.claim.supplierCreditNumber),\r\n supplierCreditReceived: _.round(response.data.claim.supplierCreditReceived, 2).toFixed(2),\r\n totalCreditDue: _.round(response.data.claim.totalCreditDue, 2).toFixed(2),\r\n freightCreditNumber: helpers.nullableString(response.data.claim.freightCreditNumber),\r\n freightCreditReceived: _.round(response.data.claim.freightCreditReceived, 2).toFixed(2),\r\n totalCreditReceived: _.round(response.data.claim.totalCreditReceived, 2).toFixed(2),\r\n supplierClaimNumber: helpers.nullableString(response.data.claim.supplierClaimNumber),\r\n supplierOriginalInvoice: helpers.nullableString(response.data.claim.supplierOriginalInvoice),\r\n supplierReplacementInvoice: helpers.nullableString(response.data.claim.supplierReplacementInvoice),\r\n complaintText: helpers.nullableString(response.data.claim.complaintText)\r\n }\r\n const claimComments = _.map(response.data.claimComments, (item, index) => {\r\n return {\r\n id: item.id,\r\n dsc: item.dsc,\r\n local_id: -1 * (index + 1),\r\n createdAt: item.createdAt,\r\n createdByUserName: item.createdByUserName\r\n }\r\n });\r\n this.setState({\r\n claim: claim,\r\n comments: claimComments,\r\n claimAttachments: response.data.claimAttachments\r\n }, () => {\r\n this.getCustomer(claim.customerId)\r\n });\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n }\r\n\r\n onDateChange(name, date) {\r\n this.setState({ claim: { ...this.state.claim, [name]: date } });\r\n }\r\n\r\n onInputChange(fieldName, value) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n claim: {\r\n ...prevState.claim,\r\n [fieldName]: value\r\n }\r\n }));\r\n }\r\n\r\n onSelectChange(selection, fieldName) {\r\n this.setState({\r\n claim: {\r\n ...this.state.claim,\r\n [fieldName]: selection\r\n }\r\n });\r\n }\r\n\r\n updateCurrencyField(fieldName, value) {\r\n if (value) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n claim: {\r\n ...prevState.claim,\r\n [fieldName]: _.round(value, 2).toFixed(2) // parseFloat(value).toFixed(2)\r\n }\r\n }));\r\n }\r\n }\r\n\r\n onSupplierChange(selection) {\r\n api.fetch(`Supplier/GetSupplier/${selection.value}`)\r\n .then(response => {\r\n const supplierClaimsContact = _.find(response.data.contacts, (c) => c.typeOfContactName === 'Claims' && c.deactivatedAt == null);\r\n this.setState({\r\n supplier: response.data.supplier,\r\n claim: {\r\n ...this.state.claim,\r\n supplier: {\r\n value: selection.value,\r\n label: selection.label\r\n },\r\n supplierContactName: supplierClaimsContact ? `${supplierClaimsContact.firstName} ${supplierClaimsContact.lastName}` : null,\r\n supplierContactEmail: supplierClaimsContact ? supplierClaimsContact.email : null\r\n } \r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n removeClaimAttachment(attachment) {\r\n if (!window.confirm('This is a permanent delete. Are you sure?')) return;\r\n const attachments = this.state.claimAttachments.slice();\r\n const filtered = _.filter(attachments, x => x.id !== attachment.id);\r\n\r\n api\r\n .post(`Claim/DeleteClaimAttachment/${attachment.id}`)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n claimAttachments: filtered\r\n });\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message, isMessageVisible: true });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n return null;\r\n }\r\n\r\n\r\n onCancel() {\r\n this.setState({ redirect: true });\r\n }\r\n\r\n toggleImages() {\r\n this.setState({\r\n addingImage: !this.state.addingImage\r\n });\r\n }\r\n\r\n isFormValid() {\r\n let warnings = [];\r\n if (!this.state.claim.claimDate) {\r\n warnings.push(\"Claim Date required.\");\r\n }\r\n if (!this.state.claim.customer.value) {\r\n warnings.push(\"Account required.\");\r\n }\r\n if (!this.state.claim.claimStatus.value) {\r\n warnings.push(\"Claim Status required.\");\r\n }\r\n if (!this.state.claim.originalOrderId) {\r\n warnings.push(\"Original Invoice required.\");\r\n }\r\n // if (!this.state.product.unitCost && this.state.product.unitCost != \"0\") {\r\n // warnings.push(\"Net Cut Cost required.\");\r\n // }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n });\r\n } else {\r\n this.setState({ message: null, isMessageVisible: false });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n formatClaimPayload(claim) {\r\n const payload = {\r\n Id: claim.id ? claim.id : 0,\r\n ClaimDate: date_helpers.formatDateForServer(claim.claimDate),\r\n CustomerId: claim.customer.value,\r\n CustomerContact: claim.customerContact,\r\n TypeOfClaimStatus: claim.claimStatus.value,\r\n OriginalOrderId: Number(claim.originalOrderId),\r\n ReplacementOrderId: claim.replacementOrderId ? Number(claim.replacementOrderId) : null,\r\n CreditOrderId: claim.creditOrderId ? Number(claim.creditOrderId) : null, \r\n OriginalProduct: claim.originalProduct,\r\n OriginalColor: claim.originalColor,\r\n OriginalSize: claim.originalSize,\r\n OriginalInvoiceAmount: Number(claim.originalInvoiceAmount),\r\n ReplacementColor: claim.replacementColor,\r\n ReplacementProduct: claim.replacementProduct,\r\n ReplacementSize: claim.replacementSize,\r\n ReplacementInvoiceAmount: Number(claim.replacementInvoiceAmount),\r\n ReplacementFreightCarrier: claim.replacementFreightCarrier,\r\n ReplacementFreightInvoice: claim.replacementFreightInvoice,\r\n ReplacementFreightAmount: Number(claim.replacementFreightAmount),\r\n SupplierCreditNumber: claim.supplierCreditNumber,\r\n SupplierCreditReceived: Number(claim.supplierCreditReceived),\r\n TotalCreditDue: Number(claim.totalCreditDue),\r\n FreightCreditNumber: claim.freightCreditNumber,\r\n FreightCreditReceived: Number(claim.freightCreditReceived),\r\n TotalCreditReceived: Number(claim.totalCreditReceived),\r\n SupplierId: claim.supplier.value,\r\n SupplierClaimNumber: claim.supplierClaimNumber,\r\n SupplierOriginalInvoice: claim.supplierOriginalInvoice,\r\n SupplierOriginalInvoiceDate: date_helpers.formatDateForServer(claim.supplierOriginalInvoiceDate),\r\n SupplierReplacementInvoice: claim.supplierReplacementInvoice,\r\n SupplierReplacementInvoiceDate: date_helpers.formatDateForServer(claim.supplierReplacementInvoiceDate),\r\n ComplaintText: claim.complaintText\r\n };\r\n return payload;\r\n }\r\n\r\n formatClaimAttachmentsPayload(files) {\r\n const formatted = [];\r\n _.map(files,\r\n x => {\r\n const file = {\r\n Id: 0,\r\n ClaimAttachmentTypeId: 1,\r\n ClaimId: this.state.claim.id ? this.state.claim.id : 0,\r\n Base64EncodedPhoto: x.base64EncodedPhoto,\r\n MimeType: x.type,\r\n AssetName: x.name,\r\n // Content: []\r\n }\r\n formatted.push(file);\r\n });\r\n return formatted;\r\n }\r\n\r\n saveClaim() {\r\n window.scroll(0,0);\r\n if (!this.isFormValid()) return;\r\n const claim = this.state.claim;\r\n const Claim = this.formatClaimPayload(claim);\r\n const ClaimComments = _.map(this.state.comments, (c) => ({\r\n id: c.id ? c.id : 0,\r\n dsc: c.dsc,\r\n }))\r\n const ClaimAttachments = this.state.addingImage ? this.formatClaimAttachmentsPayload(this.state.files) : [];\r\n const payload = {\r\n Claim: Claim,\r\n ClaimComments: ClaimComments,\r\n ClaimAttachments: ClaimAttachments\r\n };\r\n api.post('Claim/SaveClaim', payload)\r\n .then(response => {\r\n if (response.data.success) {\r\n const claimAttachments = this.state.claimAttachments.slice();\r\n const newList = _.concat(claimAttachments, ClaimAttachments);\r\n this.setState({\r\n claimAttachments: newList,\r\n addingImage: false,\r\n message: `Claim saved.`,\r\n messageFlavor: \"success\",\r\n isMessageVisible: true,\r\n redirect: true\r\n }, \r\n // () => this.getClaimAttachments(this.state.claim.id)\r\n );\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message, isMessageVisible: true });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n getClaimAttachments(claimId) {\r\n api.fetch(`Claim/GetClaimAttachments/${claimId}`)\r\n .then(response => {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n claimAttachments: response.data\r\n }));\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onDismiss() {\r\n this.setState({\r\n isMessageVisible: !this.state.isMessageVisible,\r\n message: null,\r\n messageColor: null\r\n });\r\n }\r\n\r\n onToggleCustomerSearchModal() {\r\n this.setState({showCustomerSearchModal: !this.state.showCustomerSearchModal})\r\n }\r\n\r\n onCustomerSelectedFromSearchModal(customerId, customerName) {\r\n let claimCopy = Object.assign({}, this.state.claim);\r\n if (!this.state.claim.customer || this.state.claim.customer.value !== customerId ) {\r\n claimCopy = {\r\n ...claimCopy,\r\n contactFirstName: '',\r\n contactLastName: ''\r\n }\r\n }\r\n this.setState({\r\n showCustomerSearchModal: false,\r\n claim: {\r\n ...claimCopy,\r\n customer: helpers.resolveValue(null, customerId, customerName)\r\n }\r\n }, () => this.getCustomer(customerId));\r\n }\r\n\r\n getCustomer(customerId) {\r\n api.fetch(`Customer/GetActiveContacts/${customerId}`).then((response) => {\r\n const customerShipToAddresses = _.chain(response.data.customerAddresses)\r\n .filter(ca => { return ca.addressTypeId === constants.ADDRESS_TYPE.SHIP_TO })\r\n .map(a => {\r\n a.value = a.id;\r\n a.label = helpers.formatAddressLabel(a, '* ')\r\n return a;\r\n }).value();\r\n let customerInfo = response.data.customer;\r\n let customerContacts = response.data.contacts;\r\n _.each(customerContacts, c => {\r\n // remove deactivated phones and addresses for each contact\r\n const addresses = _.filter(c.addresses, a => a.deactivatedAt === null);\r\n const phoneNumbers = _.filter(c.phoneNumbers, p => p.deactivatedAt === null);\r\n c.expanded = false;\r\n c.addresses = addresses;\r\n c.phoneNumbers = phoneNumbers;\r\n \r\n // set value and label for select\r\n c.label = `${c.firstName} ${c.lastName}`;\r\n c.value = c.id;\r\n return c;\r\n });\r\n this.setState({ \r\n customerInfo: customerInfo, \r\n // customerContacts: customerContacts,\r\n customerShipToAddresses: customerShipToAddresses,\r\n shippingAddresses: customerShipToAddresses\r\n });\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n handleTypeaheadSelectionChange(fieldName, selection) {\r\n let claimCopy = Object.assign({}, this.state.claim);\r\n if (selection.value !== (claimCopy.customer && claimCopy.customer.value)) {\r\n claimCopy = {\r\n ...claimCopy,\r\n contactFirstName: '',\r\n contactLastName: ''\r\n }\r\n }\r\n this.setState({ \r\n claim: {\r\n ...claimCopy, \r\n [fieldName]: selection,\r\n errorMessage: null\r\n }\r\n }, () => this.getCustomer(selection.value));\r\n }\r\n\r\n fetchOriginalOrderInfo() {\r\n api.fetch(`Claim/GetClaimOriginalOrderInfo/${this.state.claim.originalOrderId}`)\r\n .then((response) => {\r\n if (response.data) {\r\n this.setState({ \r\n claim: {\r\n ...this.state.claim,\r\n customer: helpers.resolveValue(null, response.data.customerId, response.data.customerName),\r\n customerNumber: response.data.customerNumber,\r\n customerContact: helpers.nullableString(response.data.customerContactName),\r\n originalProduct: helpers.nullableString(response.data.originalProduct),\r\n originalColor: helpers.nullableString(response.data.originalColor),\r\n originalSize: helpers.nullableString(response.data.originalSize),\r\n originalInvoiceAmount: _.round(response.data.originalInvoiceAmount, 2).toFixed(2),\r\n replacementOrderId: helpers.nullableString(response.data.relatedReplacementOrderId),\r\n creditOrderId: helpers.nullableString(response.data.relatedCreditOrderId), \r\n replacementProduct: helpers.nullableString(response.data.replacementProduct),\r\n replacementColor: helpers.nullableString(response.data.replacementColor),\r\n replacementSize: helpers.nullableString(response.data.replacementSize),\r\n replacementInvoiceAmount: _.round(response.data.replacementInvoiceAmount, 2).toFixed(2),\r\n replacementFreightCarrier: helpers.nullableString(response.data.replacementFreightCarrier),\r\n replacementFreightInvoice: helpers.nullableString(response.data.replacementFreightInvoice),\r\n replacementFreightAmount: _.round(response.data.replacementFreightAmount, 2).toFixed(2),\r\n supplier: helpers.resolveValue(null, response.data.originalProductSupplierId, response.data.originalProductSupplierName),\r\n supplierContactName: helpers.nullableString(response.data.supplierContactName),\r\n supplierContactEmail: helpers.nullableString(response.data.supplierContactEmail),\r\n supplierOriginalInvoice: helpers.nullableString(response.data.supplierOriginalInvoice),\r\n supplierOriginalInvoiceDate: date_helpers.formatDateForServer(response.data.supplierOriginalInvoiceDate),\r\n supplierReplacementInvoice: helpers.nullableString(response.data.supplierReplacementInvoice),\r\n supplierReplacementInvoiceDate: date_helpers.formatDateForServer(response.data.supplierReplacementInvoiceDate),\r\n supplierCreditNumber: helpers.nullableString(response.data.supplierCreditNumber),\r\n supplierCreditReceived: _.round(response.data.supplierCreditReceived, 2).toFixed(2),\r\n totalCreditDue: _.round(response.data.totalCreditDue, 2).toFixed(2),\r\n freightCreditNumber: helpers.nullableString(response.data.freightCreditNumber),\r\n freightCreditReceived: _.round(response.data.freightCreditReceived, 2).toFixed(2),\r\n totalCreditReceived: _.round(response.data.totalCreditReceived, 2).toFixed(2)\r\n }\r\n }, () => {\r\n if (response.data.customerId > 0) {\r\n this.getCustomer(response.data.customerId);\r\n }\r\n }); \r\n } else {\r\n this.setState({claim: emptyClaim});\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n\r\n onAddNewComment() {\r\n this.setState({\r\n newComment: {\r\n ...emptyComment,\r\n createdByUserName: this.state.currentUserName\r\n }\r\n });\r\n }\r\n \r\n onCancelAddNewComment() {\r\n this.setState({\r\n newComment: null\r\n });\r\n }\r\n \r\n changeNewCommentField(event) {\r\n this.setState({\r\n newComment: {\r\n ...this.state.newComment,\r\n [event.target.name]: event.target.value\r\n }\r\n });\r\n }\r\n \r\n onEditComment(localCommentId) {\r\n const indexToEdit = _.findIndex(this.state.comments, { local_id: localCommentId });\r\n let tempList = _.cloneDeep(this.state.comments);\r\n const snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n tempList[indexToEdit].isEditing = true;\r\n tempList[indexToEdit].pristine = snapshotItem;\r\n this.setState({\r\n comments: tempList\r\n })\r\n }\r\n \r\n onCancelEditComment(localCommentId) {\r\n const indexToEdit = _.findIndex(this.state.comments, { local_id: localCommentId });\r\n let tempList = _.cloneDeep(this.state.comments);\r\n tempList[indexToEdit].isEditing = false;\r\n tempList[indexToEdit] = tempList[indexToEdit].pristine;\r\n this.setState({\r\n comments: tempList\r\n })\r\n }\r\n \r\n changeCommentField(event, localCommentId) {\r\n const indexToEdit = _.findIndex(this.state.comments, { local_id: localCommentId });\r\n const newList = Object.assign([], this.state.comments);\r\n newList[indexToEdit][event.target.name] = event.target.value;\r\n this.setState({\r\n comments: newList\r\n })\r\n }\r\n \r\n onSaveEditedComment(localCommentId) {\r\n const indexToEdit = _.findIndex(this.state.comments, { local_id: localCommentId });\r\n const newList = Object.assign([], this.state.comments);\r\n newList[indexToEdit].isEditing = false;\r\n this.setState({\r\n comments: newList\r\n })\r\n }\r\n \r\n onSaveNewComment() {\r\n let newList = Object.assign([], this.state.comments);\r\n let commentToSave = Object.assign({}, this.state.newComment);\r\n // if (!this.isCommentValid()) return;\r\n commentToSave = {\r\n ...commentToSave,\r\n local_id: -1 * (this.state.comments.length + 1)\r\n }\r\n newList = [...newList, commentToSave];\r\n this.setState({\r\n comments: newList,\r\n newComment: null\r\n })\r\n }\r\n \r\n onDeleteComment(localCommentId) {\r\n const indexToEdit = _.findIndex(this.state.comments, { local_id: localCommentId });\r\n const newList = Object.assign([], this.state.comments); // const newList = _.cloneDeep(jobFees);\r\n newList.splice(indexToEdit, 1);\r\n this.setState({\r\n comments: newList\r\n })\r\n }\r\n\r\n\r\n render() {\r\n if (this.state.redirect === true) {\r\n return ;\r\n };\r\n const previewStyle = {\r\n display: 'inline',\r\n width: 200,\r\n height: 200\r\n };\r\n const SaveCancelButtons =() => {\r\n return \r\n \r\n \r\n this.saveClaim()}\r\n >\r\n Save\r\n \r\n \r\n Back to Claims\r\n \r\n \r\n \r\n \r\n\r\n }\r\n return (\r\n \r\n \r\n \r\n {this.state.message &&\r\n \r\n \r\n this.onDismiss()}>{this.state.message}\r\n \r\n \r\n }\r\n \r\n \r\n

{this.state.claim.id ? 'Edit Claim' : 'Add Claim'}

\r\n \r\n {SaveCancelButtons()}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

{this.state.claim.id ? `Claim ${this.state.claim.id}` : `New Claim`}

\r\n \r\n \r\n

{`Customer Account # ${this.state.claim && this.state.claim.customerNumber ? this.state.claim.customerNumber : '-'}`}

\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n this.onDateChange(\"claimDate\", e)}\r\n selected={date_helpers.dateFormatForClient(this.state.claim.claimDate)}\r\n className=\"form-control\"\r\n />\r\n
\r\n \r\n {/* \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.customerName}\r\n maxLength=\"50\"\r\n />\r\n */}\r\n \r\n \r\n Account {helpers.requiredStar()}\r\n \r\n this.handleTypeaheadSelectionChange(\"customer\", e)}\r\n isMulti={false}\r\n customer={this.state.claim.customer}\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.customerContact}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n this.onSelectChange(e, \"claimStatus\")}\r\n // isDisabled={this.state.claim.id > 0} // updating claim\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.originalOrderId}\r\n maxLength=\"50\"\r\n onBlur={() => this.setState({showConfirmModal: true})}\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.replacementOrderId}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.creditOrderId}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.originalProduct}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.originalColor}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.originalSize}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.originalInvoiceAmount}\r\n onBlur={(event) => this.updateCurrencyField(\r\n event.target.name,\r\n this.state.claim.originalInvoiceAmount)}\r\n min=\"0\"\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.replacementProduct}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.replacementColor}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.replacementSize}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.replacementInvoiceAmount}\r\n onBlur={(event) => this.updateCurrencyField(\r\n event.target.name,\r\n this.state.claim.replacementInvoiceAmount)}\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.replacementFreightCarrier}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.replacementFreightInvoice}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.replacementFreightAmount}\r\n onBlur={(event) => this.updateCurrencyField(\r\n event.target.name,\r\n this.state.claim.replacementFreightAmount)}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.supplierCreditNumber}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.supplierCreditReceived}\r\n onBlur={(event) => this.updateCurrencyField(\r\n event.target.name,\r\n this.state.claim.supplierCreditReceived)}\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.totalCreditDue}\r\n onBlur={(event) => this.updateCurrencyField(\r\n event.target.name,\r\n this.state.claim.totalCreditDue)}\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.freightCreditNumber}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.freightCreditReceived}\r\n onBlur={(event) => this.updateCurrencyField(\r\n event.target.name,\r\n this.state.claim.freightCreditReceived)}\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.totalCreditReceived}\r\n onBlur={(event) => this.updateCurrencyField(\r\n event.target.name,\r\n this.state.claim.totalCreditReceived)}\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.supplierName}\r\n maxLength=\"50\"\r\n />\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.claim ? this.state.claim.supplierContactName : null}\r\n \r\n \r\n \r\n \r\n {this.state.claim ? this.state.claim.supplierContactEmail : null}\r\n \r\n \r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.supplierClaimNumber}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.supplierOriginalInvoice}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.onDateChange(\"supplierOriginalInvoiceDate\", e)}\r\n selected={date_helpers.dateFormatForClient(this.state.claim.supplierOriginalInvoiceDate)}\r\n className=\"form-control\"\r\n />\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.supplierReplacementInvoice}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.onDateChange(\"supplierReplacementInvoiceDate\", e)}\r\n selected={date_helpers.dateFormatForClient(this.state.claim.supplierReplacementInvoiceDate)}\r\n className=\"form-control\"\r\n />\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n

Nature of Complaint

\r\n \r\n
\r\n \r\n \r\n {/* */}\r\n this.onInputChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.claim.complaintText}\r\n maxLength=\"1500\"\r\n style={{height: \"150px\"}}\r\n />\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {this.state.addingImage\r\n ? \r\n : \r\n } Images\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {this.state.addingImage && (\r\n
\r\n {this.state.errorMessage ?\r\n \r\n {this.state.errorMessage}\r\n \r\n : null\r\n }\r\n this.setState({files: files})}\r\n // productAttachmentTypeList={this.state.productAttachmentTypeList}\r\n />\r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n {this.state.claimAttachments.map(ca => (\r\n \r\n \r\n \r\n {\" \"}\r\n this.removeClaimAttachment(ca)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {ca.productAttachmentTypeName === 'Detailed Specs'\r\n ? ()\r\n : ( */}\r\n \"Preview\" window.open(ca.url, \"_blank\")}\r\n />\r\n {/* )\r\n } */}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onAddNewComment()}\r\n >\r\n Add New Comment\r\n \r\n
Comments
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Comment\r\n {/* Is Private? */}\r\n Entered By\r\n Date\r\n \r\n \r\n \r\n \r\n {this.state.newComment\r\n ? \r\n \r\n \r\n this.changeNewCommentField(event)}\r\n value={this.state.newComment.dsc}\r\n className=\"form-control\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onSaveNewComment()}\r\n title=\"Add comment\"\r\n // disabled={!(this.state.newComment && this.state.newComment.dsc)}\r\n >\r\n \r\n \r\n this.onCancelAddNewComment()}\r\n title=\"Cancel New Comment\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n : null\r\n }\r\n {this.state.comments && this.state.comments.length > 0 &&\r\n _.map(this.state.comments, (c, index) => (\r\n \r\n {c.isEditing\r\n ? \r\n \r\n this.changeCommentField(event, c.local_id)}\r\n value={c.dsc}\r\n className=\"form-control\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onSaveEditedComment(c.local_id)}\r\n title=\"Edit comment\"\r\n // disabled={!(c && c.dsc)}\r\n >\r\n \r\n \r\n this.onCancelEditComment(c.local_id)}\r\n title=\"Cancel Edit Comment\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n : \r\n {c.dsc}\r\n {c.createdByUserName}\r\n {moment(c.createdAt).format(\"M/DD/YY\")}\r\n {/* \r\n
\r\n {c.isPrivate\r\n ? \r\n \r\n \r\n : null\r\n }\r\n
\r\n */}\r\n \r\n \r\n this.onEditComment(c.local_id)}\r\n // disabled={}\r\n >\r\n \r\n \r\n \r\n this.onDeleteComment(c.local_id)\r\n }\r\n title=\"Remove from quote\"\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n }\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n
\r\n {SaveCancelButtons()} \r\n {this.state.showCustomerSearchModal\r\n ? this.setState({showCustomerSearchModal: false})}\r\n size=\"lg\"\r\n >\r\n \r\n \r\n \r\n \r\n : null\r\n }\r\n {this.state.showConfirmModal\r\n ? this.setState({showConfirmModal: false})}\r\n size=\"sm\"\r\n >\r\n \r\n Overwrite form fields with data from this order invoice number?\r\n \r\n \r\n \r\n \r\n this.setState({showConfirmModal: false})}>\r\n No\r\n \r\n \r\n \r\n \r\n : null\r\n }\r\n\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Button,\r\n ButtonGroup,\r\n Row,\r\n Col,\r\n Container,\r\n Card,\r\n CardBody,\r\n Table,\r\n Alert,\r\n Input,\r\n} from \"reactstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport _ from \"underscore\";\r\nimport { api, filter_helpers, constants } from \"../utils\";\r\nimport {\r\n FilterSet,\r\n FilterBoolean,\r\n FilterText,\r\n FilterMultiSelect,\r\n SortHeader,\r\n Pager,\r\n} from \"../components\";\r\n\r\nconst filter_any_item = { value: null, label: \"(Any)\" };\r\n\r\nexport default class MaintainProduct extends Component {\r\n constructor(props) {\r\n super(props);\r\n let lastProductFilters = null;\r\n try {\r\n lastProductFilters = localStorage.getItem(\"lastProductFilters\");\r\n } catch {}\r\n const defaultFilters = lastProductFilters\r\n ? JSON.parse(lastProductFilters)\r\n : [{ filterName: \"ActiveOnly\", value: true, filteredDisplay: \"\" }];\r\n this.state = {\r\n pagedList: {\r\n list: [],\r\n //pageSize: 15,\r\n pageSize: 100, //setting all lists to 100\r\n pageNumber: 1,\r\n },\r\n mode: \"view\",\r\n sort_field: \"DCName\",\r\n sort_dir: \"asc\",\r\n added_count: 0,\r\n filters: props.defaultFilter || defaultFilters,\r\n product_name_list: [],\r\n redirectTo: null,\r\n // rugIntlCollectionList: [],\r\n DC_product_list: [],\r\n active_list: [],\r\n fullList: [],\r\n messageFlavor: \"danger\",\r\n message: null,\r\n productIdsToCopyRugPricesTo: [],\r\n };\r\n this.getProductSelectsData = this.getProductSelectsData.bind(this);\r\n this.refreshList = this.refreshList.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.onClone = this.onClone.bind(this);\r\n this.handleRevive = this.handleRevive.bind(this);\r\n this.setPage = this.setPage.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.onCancelDialog = this.onCancelDialog.bind(this);\r\n this.onSelectProduct = this.onSelectProduct.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getProductSelectsData();\r\n this.refreshList();\r\n }\r\n\r\n getProductSelectsData() {\r\n api.fetch(\"Product/GetProductSelectsData\").then((response) => {\r\n this.setState({\r\n productTypeList: _.reject(\r\n response.data.productTypeList,\r\n (pt) => pt.value == constants.PRODUCT_TYPE.RUG.value\r\n ),\r\n // rugIntlCollectionList: response.data.rugIntlCollectionList,\r\n productStatusList: response.data.productStatusList,\r\n suppliersList: response.data.suppliersList,\r\n });\r\n });\r\n }\r\n\r\n onCancelDialog() {\r\n this.setState({\r\n mode: \"view\",\r\n });\r\n }\r\n\r\n refreshList(sort_field, sort_direction, filters) {\r\n let filterList = filters || this.state.filters;\r\n const payload = {\r\n Page: this.state.pagedList.pageNumber,\r\n PageSize: this.state.pagedList.pageSize,\r\n SortField: sort_field || this.state.sort_field,\r\n SortDir: sort_direction || this.state.sort_dir,\r\n // filters: filter_helpers.transform_filters(filters || this.state.filters)\r\n };\r\n\r\n _.each(filterList, (filter) => (payload[filter.filterName] = filter.value));\r\n\r\n api.post(\"Product/GetLightPaginatedList\", payload).then((response) => {\r\n let paged_list = response.data;\r\n paged_list.list = _.map(paged_list.list, (item) => {\r\n return {\r\n ...item,\r\n is_selected: this.state.productIdsToCopyRugPricesTo.includes(item.id)\r\n ? true\r\n : false,\r\n };\r\n });\r\n if (this.props.usedByCopyRugSizesModal) {\r\n paged_list.list = _.reject(\r\n paged_list.list,\r\n (item) => item.id === this.props.productIdToCopyFrom\r\n );\r\n }\r\n this.setState({\r\n pagedList: paged_list,\r\n });\r\n });\r\n }\r\n\r\n onClone(id) {\r\n if (!window.confirm(`Are you sure you'd like to copy this product?`))\r\n return;\r\n api\r\n .post(`Product/Clone/${id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.setState({\r\n redirectTo: {\r\n pathname: \"/productdetailscontainer\",\r\n state: {\r\n productId: parseInt(response.data.message, 10),\r\n },\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch((error) => console.error(error));\r\n }\r\n\r\n handleDelete(id) {\r\n if (!window.confirm(`Are you sure you'd like to delete this product?`))\r\n return;\r\n api\r\n .delete(`Product/${id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.refreshList();\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch((error) => console.error(error));\r\n }\r\n\r\n handleRevive(id) {\r\n api\r\n .post(`Product/undelete/${id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.refreshList();\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch((error) => error);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(\r\n this.state.filters,\r\n changedFilter\r\n );\r\n try {\r\n localStorage.setItem(\"lastProductFilters\", JSON.stringify(filters));\r\n } catch {}\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n try {\r\n localStorage.setItem(\"lastProductFilters\", JSON.stringify(filters));\r\n } catch {}\r\n this.setState({ filters: filters, clearValue: true }, () =>\r\n this.refreshList(null, null, filters)\r\n );\r\n // this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find((f) => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return \"\";\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sort_dir: direction, sort_field: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n setPage(page) {\r\n const newPagedList = Object.assign({}, this.state.pagedList);\r\n newPagedList.pageNumber = page;\r\n this.setState({ pagedList: newPagedList }, () => this.refreshList());\r\n }\r\n\r\n onSelectProduct(e, product) {\r\n if (_.contains(this.state.productIdsToCopyRugPricesTo, product.id)) {\r\n let tempList = this.state.productIdsToCopyRugPricesTo.slice();\r\n tempList = _.reject(tempList, function (id) {\r\n return id == product.id;\r\n });\r\n this.setState({\r\n productIdsToCopyRugPricesTo: tempList,\r\n });\r\n } else {\r\n let tempList = this.state.productIdsToCopyRugPricesTo.slice();\r\n tempList.push(product.id);\r\n this.setState({\r\n productIdsToCopyRugPricesTo: tempList,\r\n });\r\n }\r\n const indexToEdit = _.findIndex(this.state.pagedList.list, {\r\n id: product.id,\r\n });\r\n let tempList2 = this.state.pagedList.list.slice();\r\n tempList2[indexToEdit].is_selected = !tempList2[indexToEdit].is_selected;\r\n this.setState({\r\n pagedList: {\r\n ...this.state.pagedList,\r\n list: tempList2,\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n if (this.state.redirectTo) {\r\n return ;\r\n }\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {this.props.usedByCopyRugSizesModal ? null : (\r\n \r\n \r\n \r\n )}\r\n

\r\n {this.props.usedByCopyRugSizesModal\r\n ? `Copy Rug Prices To`\r\n : `Maintain Products`}\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.pagedList.list.map((p) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Supplier Phone #\r\n {this.props.usedByCopyRugSizesModal ? `Select` : null}\r\n
\r\n {p.dcName}\r\n
{\" \"}\r\n
{p.dcNumber}{p.supplierName}\r\n {p.supplierNumber}\r\n
{\" \"}\r\n
{p.supplierLabel}{p.supplierPhoneNo}\r\n {this.props.usedByCopyRugSizesModal ? (\r\n \r\n this.onSelectProduct(e, p)}\r\n />\r\n \r\n ) : (\r\n \r\n {p.deactivatedAt === null ? (\r\n \r\n \r\n \r\n \r\n this.onClone(p.id)}\r\n title=\"Copy to new\"\r\n style={{\r\n color: \"white\",\r\n textDecoration: \"none\",\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n )}\r\n
\r\n {this.props.usedByCopyRugSizesModal ? (\r\n \r\n this.props.onCopyRugPrices(\r\n this.state.productIdsToCopyRugPricesTo,\r\n this.props.productIdToCopyFrom\r\n )\r\n }\r\n disabled={!this.state.productIdsToCopyRugPricesTo}\r\n >\r\n {/* */}\r\n Copy To Selected\r\n {`${this.state.productIdsToCopyRugPricesTo.length} selected`}\r\n \r\n ) : null}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport {\r\n Button,\r\n Col,\r\n Row,\r\n Container,\r\n Table,\r\n ButtonGroup,\r\n Alert,\r\n Input,\r\n Collapse,\r\n Card,\r\n CardBody,\r\n Label,\r\n Modal,\r\n ModalBody,\r\n} from \"reactstrap\";\r\nimport { api, helpers, constants } from \"../utils\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport Select from \"react-select\";\r\nimport _ from \"lodash\";\r\nimport { DropzoneUploader } from \"../components\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport MaintainProduct from \"./MaintainProduct\";\r\n\r\nconst WIDTH_PRODUCT_TYPES = [\r\n \"Carpet\",\r\n \"Rug\",\r\n \"Miscellaneous\",\r\n \"Rug Pad\",\r\n \"Rug Component\",\r\n \"Carpet Tile\",\r\n \"Sample\",\r\n];\r\n\r\nconst emptyProductColor = {\r\n productId: null,\r\n colorFamily: null,\r\n name: \"\",\r\n number: \"\",\r\n seq: 0,\r\n};\r\n\r\nconst emptyRugIntlSize = {\r\n dsc: \"\",\r\n dscNumeric: null,\r\n cost: \"\",\r\n price: \"\",\r\n seq: \"\",\r\n};\r\n\r\nexport default class EditProductColorsWidths extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n backdrop: true,\r\n colorFamilyList: props.colorFamilyList,\r\n widthsList: props.widthsList,\r\n // tradeSizesList: props.tradeSizesList,\r\n showEdit: false,\r\n addingRugIntlSize: false,\r\n addingProductColor: false,\r\n newProductColor: emptyProductColor,\r\n productId: props.productId,\r\n productColors: _.map(\r\n _.filter(props.productColors, (pc) => !pc.deactivatedAt),\r\n (pc) => ({ ...pc, editing: false })\r\n ),\r\n productWidths: props.productWidths,\r\n rugIntlSizes: _.sortBy(props.rugIntlSizes, (x) => Number(x.seq)),\r\n selectedProductWidths: [],\r\n productType: props.productType,\r\n newRugIntlSize: emptyRugIntlSize,\r\n files: [],\r\n addingImage: false,\r\n productColorImages: [],\r\n showCopyRugPricesModal: false,\r\n productColorAttachmentTypes: [],\r\n };\r\n this.getProductColors = this.getProductColors.bind(this);\r\n this.getProductWidths = this.getProductWidths.bind(this);\r\n this.toggleAddRugIntlSize = this.toggleAddRugIntlSize.bind(this);\r\n this.toggleCopyRugPricesModal = this.toggleCopyRugPricesModal.bind(this);\r\n this.toggleAddProductColor = this.toggleAddProductColor.bind(this);\r\n this.updateProductColorState = this.updateProductColorState.bind(this);\r\n this.addSelectedWidths = this.addSelectedWidths.bind(this);\r\n this.saveNewProductWidths = this.saveNewProductWidths.bind(this);\r\n this.saveNewRugIntlSize = this.saveNewRugIntlSize.bind(this);\r\n this.updateRugIntlSize = this.updateRugIntlSize.bind(this);\r\n this.isProductColorFormValid = this.isProductColorFormValid.bind(this);\r\n this.isRugIntlSizeFormValid = this.isRugIntlSizeFormValid.bind(this);\r\n this.saveNewProductColor = this.saveNewProductColor.bind(this);\r\n this.updateProductColor = this.updateProductColor.bind(this);\r\n this.setFirst = this.setFirst.bind(this);\r\n this.toggleImages = this.toggleImages.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.onCopyRugPrices = this.onCopyRugPrices.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n productColorAttachmentTypes: helpers.filterProductAttachmentTypeList(\r\n this.props.productAttachmentTypeList,\r\n constants.PRODUCT_COLOR_EXCLUDED_FILTERS\r\n ),\r\n });\r\n }\r\n\r\n getProductWidths(productId) {\r\n api\r\n .fetch(`Product/GetProductWidths/${productId}`)\r\n .then((response) => {\r\n this.setState({\r\n productWidths: response.data,\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n getRugIntlSizes(productId) {\r\n api\r\n .fetch(`Product/GetRugIntlSizes/${productId}`)\r\n .then((response) => {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n rugIntlSizes: _.map(response.data, (item) => {\r\n return {\r\n ...item,\r\n cost: _.round(item.cost, 2).toFixed(2),\r\n price: _.round(item.price, 2).toFixed(2),\r\n seq: item.seq.toString(),\r\n };\r\n }),\r\n }));\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n getProductColors(productId) {\r\n api\r\n .fetch(`Product/GetProductColors/${productId}`)\r\n .then((response) => {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n productColors: _.filter(response.data, (pc) => !pc.deactivatedAt),\r\n }));\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n toggleAddProductColor() {\r\n this.setState({\r\n addingProductColor: !this.state.addingProductColor,\r\n newProductColor: emptyProductColor,\r\n message: null,\r\n messageFlavor: null,\r\n });\r\n }\r\n\r\n addSelectedWidths(selections) {\r\n this.setState({\r\n selectedProductWidths: selections,\r\n });\r\n }\r\n\r\n updateProductColorState(fieldName, value) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n newProductColor: {\r\n ...prevState.newProductColor,\r\n [fieldName]: value,\r\n },\r\n }));\r\n }\r\n\r\n handleColorSelects(elementName, selection) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n newProductColor: {\r\n ...prevState.newProductColor,\r\n [elementName]: {\r\n value: selection.value,\r\n label: selection.label,\r\n },\r\n },\r\n }));\r\n }\r\n\r\n onEditProductColor(productColorId) {\r\n const indexToEdit = _.findIndex(this.state.productColors, {\r\n id: productColorId,\r\n });\r\n let tempList = this.state.productColors.slice();\r\n tempList[indexToEdit].pristine = Object.assign({}, tempList[indexToEdit]);\r\n tempList[indexToEdit].isEditing = true;\r\n this.setState({\r\n productColors: tempList,\r\n productColorImages: tempList[indexToEdit].productColorImages,\r\n });\r\n }\r\n\r\n onCancelEditProductColor(productColorId) {\r\n const indexToEdit = _.findIndex(this.state.productColors, {\r\n id: productColorId,\r\n });\r\n let tempList = this.state.productColors.slice();\r\n tempList[indexToEdit] = tempList[indexToEdit].pristine;\r\n tempList[indexToEdit].productColorImages =\r\n this.state.productColorImages.slice(); // needed in case an image is removed while editing\r\n this.setState({\r\n productColors: tempList,\r\n message: null,\r\n messageFlavor: null,\r\n addingImage: false,\r\n productColorImages: [],\r\n });\r\n }\r\n\r\n editProductColorState(fieldName, value, productColorId) {\r\n let productColors = this.state.productColors.slice();\r\n const idx = _.findIndex(productColors, (x) => x.id === productColorId);\r\n productColors[idx][fieldName] = value;\r\n this.setState({ productColors: productColors });\r\n }\r\n\r\n editSelectedColorFamily(option, productColorId) {\r\n let productColors = this.state.productColors.slice();\r\n const idx = _.findIndex(productColors, (x) => x.id === productColorId);\r\n productColors[idx].colorFamilyId = option.value;\r\n productColors[idx].colorFamilyName = option.label;\r\n this.setState({ productColors: productColors });\r\n }\r\n\r\n toggleImages() {\r\n this.setState({ addingImage: !this.state.addingImage });\r\n }\r\n\r\n setFirst(productColorId) {\r\n api\r\n .post(`Product/SetFirstProductColor/${productColorId}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.getProductColors(this.state.productId);\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n removeProductColorImage(image, productColorId) {\r\n if (!window.confirm(\"This is a permanent delete. Are you sure?\")) return;\r\n const productColorImages = this.state.productColorImages.slice();\r\n const filtered = _.filter(productColorImages, (x) => x.id !== image.id);\r\n api\r\n .post(`Product/DeleteProductColorImage/${image.id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n const indexToEdit = _.findIndex(this.state.productColors, {\r\n id: productColorId,\r\n });\r\n let tempList = this.state.productColors.slice();\r\n tempList[indexToEdit].productColorImages = filtered;\r\n this.setState({\r\n productColors: tempList,\r\n productColorImages: filtered,\r\n });\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n return null;\r\n }\r\n\r\n formatProductColorImagesPayload(files, productColorId = null) {\r\n const formatted = [];\r\n _.map(files, (x) => {\r\n const file = {\r\n Id: 0,\r\n ProductAttachmentTypeId: x.imageType.value,\r\n // ProductId: 0,\r\n ProductColorId: productColorId ? productColorId : 0,\r\n Base64EncodedPhoto: x.base64EncodedPhoto,\r\n MimeType: x.type,\r\n AssetName: x.name,\r\n // Content: []\r\n };\r\n formatted.push(file);\r\n });\r\n return formatted;\r\n }\r\n\r\n isProductColorFormValid(item) {\r\n const warnings = [];\r\n if (!item.Name) {\r\n warnings.push(\"Color Name is required.\");\r\n }\r\n //if (!item.Number) {\r\n // warnings.push(\"Color Number is required.\");\r\n //}\r\n // if (!item.Seq) {\r\n // warnings.push(\"Sequence is required.\");\r\n // }\r\n // if (item.Seq > 32767 || item.Seq < -32768) {\r\n // warnings.push(\"Sequence must be less than 32767 and greater than -32768.\");\r\n // }\r\n if (_.some(this.state.files, (file) => !file.imageType.value)) {\r\n warnings.push(\"Image Type required on all images to be uploaded.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(\" \"),\r\n messageFlavor: \"danger\",\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n saveNewProductColor() {\r\n window.scroll(0, 0);\r\n const color = this.state.newProductColor;\r\n const ProductColorImages = this.state.addingImage\r\n ? this.formatProductColorImagesPayload(this.state.files)\r\n : [];\r\n const ProductColor = {\r\n Id: 0,\r\n ProductId: this.state.productId,\r\n ColorFamilyId: color.colorFamily ? color.colorFamily.value : null,\r\n Name: color.name,\r\n Number: color.number,\r\n Seq: 0, // color.seq\r\n };\r\n if (!this.isProductColorFormValid(ProductColor)) return;\r\n // ProductColor.Seq = Number(color.seq);\r\n api\r\n .post(\"Product/SaveNewProductColor\", {\r\n ProductColor: ProductColor,\r\n ProductColorImages: ProductColorImages,\r\n })\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.setState(\r\n {\r\n files: [],\r\n },\r\n () => {\r\n this.setState(\r\n {\r\n addingProductColor: !this.state.addingProductColor,\r\n newProductColor: emptyProductColor,\r\n message: null,\r\n messageFlavor: null,\r\n },\r\n () => this.getProductColors(this.state.productId)\r\n );\r\n }\r\n );\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n updateProductColor(color) {\r\n window.scroll(0, 0);\r\n const ProductColorImages = this.state.addingImage\r\n ? this.formatProductColorImagesPayload(this.state.files, color.id)\r\n : [];\r\n const ProductColor = {\r\n Id: color.id,\r\n ProductId: this.state.productId,\r\n ColorFamilyId: color.colorFamilyId,\r\n Name: color.name,\r\n Number: color.number,\r\n Seq: 0, // color.seq\r\n };\r\n if (!this.isProductColorFormValid(ProductColor)) return;\r\n // ProductColor.Seq = Number(color.seq);\r\n const payload = {\r\n ProductColor: ProductColor,\r\n ProductColorImages: ProductColorImages,\r\n };\r\n api\r\n .post(\"Product/UpdateProductColor\", payload)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.setState(\r\n {\r\n files: [],\r\n addingImage: false,\r\n },\r\n () => {\r\n this.getProductColors(this.state.productId);\r\n }\r\n );\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDeleteProductColor(id) {\r\n if (!window.confirm(\"Are you sure you want to delete this color?\")) return;\r\n api\r\n .delete(`Product/DeleteProductColor/${id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.getProductColors(this.state.productId);\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleReviveProductColor(id) {\r\n api\r\n .post(`Product/UndeleteProductColor/${id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.getProductColors(this.state.productId);\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n saveNewProductWidths() {\r\n const selectedProductWidths = this.state.selectedProductWidths.slice();\r\n _.forEach(selectedProductWidths, (x) => {\r\n const alreadyExists = _.find(\r\n this.state.productWidths,\r\n (w) => w.widthName === x.label\r\n );\r\n if (alreadyExists) {\r\n return;\r\n } else {\r\n const data = {\r\n Id: 0,\r\n ProductId: this.state.productId,\r\n WidthId: x.value,\r\n WidthName: x.label,\r\n };\r\n api\r\n .post(\"Product/SaveNewProductWidth\", data)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.getProductWidths(this.state.productId);\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n });\r\n }\r\n\r\n deleteProductWidth(productWidthId) {\r\n const productId = this.state.productId;\r\n api\r\n .delete(`Product/DeleteProductWidth/${productWidthId}`)\r\n .then((response) => {\r\n this.getProductWidths(productId);\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n toggleAddRugIntlSize() {\r\n this.setState({\r\n addingRugIntlSize: !this.state.addingRugIntlSize,\r\n newRugIntlSize: emptyRugIntlSize,\r\n message: null,\r\n messageFlavor: null,\r\n });\r\n }\r\n\r\n toggleCopyRugPricesModal() {\r\n this.setState({\r\n showCopyRugPricesModal: !this.state.showCopyRugPricesModal,\r\n });\r\n }\r\n\r\n updateRugIntlSizeState(fieldName, value) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n newRugIntlSize: {\r\n ...prevState.newRugIntlSize,\r\n [fieldName]: value,\r\n },\r\n }));\r\n }\r\n\r\n handleRugIntlSizeSelects(elementName, selection) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n newRugIntlSize: {\r\n ...prevState.newRugIntlSize,\r\n [elementName]: {\r\n value: selection.value,\r\n label: selection.label,\r\n },\r\n },\r\n }));\r\n }\r\n\r\n onEditRugIntlSize(rugIntlSizeId) {\r\n const indexToEdit = _.findIndex(this.state.rugIntlSizes, {\r\n id: rugIntlSizeId,\r\n });\r\n let tempList = this.state.rugIntlSizes.slice();\r\n const snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n tempList[indexToEdit].isEditing = true;\r\n tempList[indexToEdit].pristine = snapshotItem;\r\n this.setState({\r\n rugIntlSizes: tempList,\r\n });\r\n }\r\n\r\n onCancelEditRugIntlSize(rugIntlSizeId) {\r\n const indexToEdit = _.findIndex(this.state.rugIntlSizes, {\r\n id: rugIntlSizeId,\r\n });\r\n let tempList = this.state.rugIntlSizes.slice();\r\n tempList[indexToEdit] = tempList[indexToEdit].pristine;\r\n this.setState({\r\n rugIntlSizes: tempList,\r\n message: null,\r\n messageFlavor: null,\r\n });\r\n }\r\n\r\n editRugIntlSizeState(fieldName, value, rugIntlSizeId) {\r\n const rugIntlSizes = this.state.rugIntlSizes.slice();\r\n const size = _.find(rugIntlSizes, (x) => x.id === rugIntlSizeId);\r\n size[fieldName] = value;\r\n this.setState({\r\n rugIntlSizes: rugIntlSizes,\r\n });\r\n }\r\n\r\n isRugIntlSizeFormValid(item) {\r\n const warnings = [];\r\n if (!item.Dsc) {\r\n warnings.push(\"Size Description is required.\");\r\n }\r\n if (!item.Cost) {\r\n warnings.push(\"Net Cost is required.\");\r\n }\r\n if (!item.Price) {\r\n warnings.push(\"Sale Price is required.\");\r\n }\r\n // if (!item.TradeSizeId) {\r\n // warnings.push(\"Trade Size is required.\");\r\n // }\r\n if (!item.Seq) {\r\n warnings.push(\"Sequence is required.\");\r\n }\r\n if (item.Seq > 32767 || item.Seq < -32768) {\r\n warnings.push(\r\n \"Sequence must be less than 32767 and greater than -32768.\"\r\n );\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(\" \"),\r\n messageFlavor: \"danger\",\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n saveNewRugIntlSize() {\r\n window.scroll(0, 0);\r\n const size = this.state.newRugIntlSize;\r\n const RugIntlSize = {\r\n Id: 0,\r\n ProductId: this.state.productId,\r\n Dsc: size.dsc,\r\n DscNumeric: null,\r\n Cost: size.cost,\r\n Price: size.price,\r\n // TradeSizeId: size.tradeSizeId ? size.tradeSizeId : null, // no longer used\r\n Seq: size.seq,\r\n };\r\n if (!this.isRugIntlSizeFormValid(RugIntlSize)) return;\r\n RugIntlSize.Cost = Number(size.cost);\r\n RugIntlSize.Price = Number(size.price);\r\n RugIntlSize.Seq = Number(size.seq);\r\n api\r\n .post(\"Product/SaveNewRugIntlSize\", RugIntlSize)\r\n .then((response) => {\r\n if (response.data.success) {\r\n // this.toggleAddRugIntlSize();\r\n this.setState(\r\n {\r\n addingRugIntlSize: !this.state.addingRugIntlSize,\r\n newRugIntlSize: emptyRugIntlSize,\r\n message: null,\r\n messageFlavor: null,\r\n },\r\n () => this.getRugIntlSizes(this.state.productId)\r\n );\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n updateRugIntlSize(size) {\r\n window.scroll(0, 0);\r\n const RugIntlSize = {\r\n Id: size.id,\r\n ProductId: this.state.productId,\r\n Dsc: size.dsc,\r\n DscNumeric: null,\r\n Cost: size.cost,\r\n Price: size.price,\r\n TradeSizeId: size.tradeSizeId ? size.tradeSizeId : null, // no longer used, keep old value if it exists for now\r\n Seq: size.seq,\r\n };\r\n if (!this.isRugIntlSizeFormValid(RugIntlSize)) return;\r\n RugIntlSize.Cost = Number(size.cost);\r\n RugIntlSize.Price = Number(size.price);\r\n RugIntlSize.Seq = Number(size.seq);\r\n api\r\n .post(\"Product/UpdateRugIntlSize\", RugIntlSize)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.getRugIntlSizes(this.state.productId);\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDeleteRugIntlSize(id) {\r\n api\r\n .delete(`Product/DeleteRugIntlSize/${id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.getRugIntlSizes(this.state.productId);\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleReviveRugIntlSize(id) {\r\n api\r\n .post(`Product/UndeleteRugIntlSize/${id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.getRugIntlSizes(this.state.productId);\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onCancel() {\r\n this.setState({ redirect: true });\r\n }\r\n\r\n onCopyRugPrices(productIdsToCopyRugPricesTo, productIdToCopyFrom) {\r\n const data = {\r\n productIdsToCopyRugPricesTo: productIdsToCopyRugPricesTo,\r\n productIdToCopyFrom: productIdToCopyFrom,\r\n };\r\n api\r\n .post(\"Product/CopyRugPricesToProducts\", data)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.setState({\r\n showCopyRugPricesModal: false,\r\n });\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n isMessageVisible: false,\r\n });\r\n }\r\n })\r\n .catch((error) => error);\r\n }\r\n\r\n render() {\r\n if (this.state.redirect === true) {\r\n return ;\r\n }\r\n const type = this.state.productType;\r\n const previewStyle = {\r\n display: \"inline\",\r\n width: 200,\r\n height: 200,\r\n };\r\n\r\n return (\r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n {WIDTH_PRODUCT_TYPES.includes(type) && (\r\n \r\n \r\n \r\n

Product Widths

\r\n \r\n
\r\n \r\n \r\n this.addSelectedWidths(options)}\r\n />\r\n \r\n \r\n this.saveNewProductWidths()}\r\n >\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.productWidths.map((pw) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Width\r\n
{pw.widthName}\r\n this.deleteProductWidth(pw.id)}\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n {type === \"Intl Rug\" && (\r\n \r\n \r\n \r\n

Intl Rug Sizes

\r\n \r\n
\r\n \r\n \r\n \r\n this.toggleCopyRugPricesModal()}\r\n >\r\n Copy Prices\r\n \r\n this.toggleAddRugIntlSize()}\r\n >\r\n Add Int Rug Size\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Add New Size
\r\n \r\n
\r\n \r\n \r\n Size Description {helpers.requiredStar()}\r\n \r\n this.updateRugIntlSizeState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.newRugIntlSize.dsc}\r\n maxLength=\"25\"\r\n />\r\n \r\n \r\n Net Cost {helpers.requiredStar()}\r\n \r\n this.updateRugIntlSizeState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.newRugIntlSize.cost}\r\n />\r\n \r\n \r\n Sell Price {helpers.requiredStar()}\r\n \r\n this.updateRugIntlSizeState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.newRugIntlSize.price}\r\n />\r\n \r\n {/* Trade Size\r\n \r\n */}\r\n \r\n Sequence {helpers.requiredStar()}\r\n \r\n this.updateRugIntlSizeState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.newRugIntlSize.seq}\r\n min=\"-32768\"\r\n max=\"32767\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.saveNewRugIntlSize()}\r\n >\r\n Save New Size\r\n \r\n this.toggleAddRugIntlSize()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {this.state.rugIntlSizes.map((sz) => (\r\n \r\n {sz.isEditing ? (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n ) : (\r\n \r\n {sz.deactivatedAt === null ? (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n ))}\r\n \r\n
Size DescriptionNet CostSell PriceTrade SizeSequence
\r\n \r\n this.editRugIntlSizeState(\r\n event.target.name,\r\n event.target.value,\r\n sz.id\r\n )\r\n }\r\n value={sz.dsc}\r\n maxLength=\"25\"\r\n />\r\n \r\n \r\n this.editRugIntlSizeState(\r\n event.target.name,\r\n event.target.value,\r\n sz.id\r\n )\r\n }\r\n value={sz.cost}\r\n />\r\n \r\n \r\n this.editRugIntlSizeState(\r\n event.target.name,\r\n event.target.value,\r\n sz.id\r\n )\r\n }\r\n value={sz.price}\r\n />\r\n \r\n this.editSelectedColorFamily(option, sz.id)}\r\n />\r\n \r\n \r\n this.editRugIntlSizeState(\r\n event.target.name,\r\n event.target.value,\r\n sz.id\r\n )\r\n }\r\n value={sz.seq}\r\n min=\"-32768\"\r\n max=\"32767\"\r\n />\r\n \r\n \r\n this.updateRugIntlSize(sz)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n \r\n this.onCancelEditRugIntlSize(sz.id)\r\n }\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n {sz.dsc}{sz.cost}{sz.price}{sz.tradeSizeName}{sz.seq}\r\n {/* {sz.deactivatedAt === null\r\n ? */}\r\n \r\n \r\n this.onEditRugIntlSize(sz.id)\r\n }\r\n size=\"sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* : null\r\n } */}\r\n {/*: \r\n Revive\r\n */}\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n \r\n

Product Colors

\r\n \r\n
\r\n \r\n \r\n \r\n this.toggleAddProductColor()}\r\n >\r\n Add Product Color\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Add New Product Color
\r\n \r\n
\r\n \r\n \r\n Color Name {helpers.requiredStar()}\r\n \r\n this.updateProductColorState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.newProductColor.name}\r\n maxLength=\"30\"\r\n />\r\n \r\n \r\n Color #\r\n \r\n this.updateProductColorState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.newProductColor.number}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n {\" \"}\r\n Web Images\r\n
\r\n \r\n {this.state.addingImage ? (\r\n \r\n ) : (\r\n \r\n )}{\" \"}\r\n Images\r\n \r\n
\r\n \r\n {/*\r\n Sequence {helpers.requiredStar()}\r\n this.updateProductColorState(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n value={this.state.newProductColor.seq}\r\n min=\"-32768\"\r\n max=\"32767\"\r\n />\r\n \r\n */}\r\n \r\n Color Family\r\n \r\n \r\n
\r\n {this.state.addingImage ? (\r\n \r\n \r\n \r\n this.setState({ files: files })\r\n }\r\n productAttachmentTypeList={\r\n this.state.productColorAttachmentTypes\r\n }\r\n />\r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n this.saveNewProductColor()}\r\n >\r\n Save New Color\r\n \r\n this.toggleAddProductColor()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.productColors.map((b) => (\r\n \r\n \r\n \r\n \r\n \r\n this.setState({ files: files })\r\n }\r\n productAttachmentTypeList={\r\n this.state.productColorAttachmentTypes\r\n }\r\n />\r\n \r\n \r\n ) : null}\r\n {b.productColorImages.map((image) => (\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n this.removeProductColorImage(\r\n image,\r\n b.id\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n window.open(image.url, \"_blank\")\r\n }\r\n />\r\n \r\n \r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n {b.productColorImages.map((image) => (\r\n
\r\n {image.productAttachmentTypeName}\r\n
\r\n ))}\r\n
\r\n )}\r\n \r\n {/*\r\n
\r\n */}\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Color NameColor NumberWeb ImagesColor FamilyWeb Representative\r\n
\r\n {b.isEditing ? (\r\n \r\n this.editProductColorState(\r\n event.target.name,\r\n event.target.value,\r\n b.id\r\n )\r\n }\r\n value={b.name}\r\n maxLength=\"30\"\r\n />\r\n ) : (\r\n b.name\r\n )}\r\n \r\n {b.isEditing ? (\r\n \r\n this.editProductColorState(\r\n event.target.name,\r\n event.target.value,\r\n b.id\r\n )\r\n }\r\n value={b.number}\r\n />\r\n ) : (\r\n b.number\r\n )}\r\n \r\n {b.isEditing ? (\r\n \r\n
\r\n \r\n {this.state.addingImage ? (\r\n \r\n ) : (\r\n \r\n )}{\" \"}\r\n Images\r\n \r\n
\r\n {this.state.addingImage ? (\r\n \r\n
\r\n {b.isEditing ? (\r\n this.editProductColorState(\r\n event.target.name,\r\n event.target.value,\r\n b.id\r\n )}\r\n value={b.seq}\r\n />\r\n ) : b.seq}\r\n \r\n {b.isEditing ? (\r\n \r\n this.editSelectedColorFamily(option, b.id)\r\n }\r\n />\r\n ) : (\r\n b.colorFamilyName\r\n )}\r\n \r\n {b.isEditing ? null : (\r\n \r\n {b.seq === 1 ? (\r\n \r\n ) : (\r\n this.setFirst(b.id)}\r\n >\r\n Set First\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n {b.isEditing ? (\r\n \r\n this.updateProductColor(b)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n \r\n this.onCancelEditProductColor(b.id)\r\n }\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n ) : b.deactivatedAt === null ? (\r\n \r\n this.onEditProductColor(b.id)}\r\n size=\"sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n
\r\n {/* } */}\r\n \r\n \r\n \r\n \r\n \r\n this.setState({ showCopyRugPricesModal: false })}\r\n size=\"lg\"\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport {\r\n Button,\r\n Col,\r\n Row,\r\n Container,\r\n Table,\r\n ButtonGroup,\r\n Alert,\r\n Input,\r\n Label,\r\n Card,\r\n CardBody,\r\n Collapse\r\n} from 'reactstrap';\r\nimport api from '../utils/api';\r\nimport {helpers, constants} from '../utils';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport _ from 'lodash';\r\nimport Select from 'react-select';\r\nimport ToggleButton from 'react-toggle-button';\r\nimport { Redirect } from 'react-router-dom';\r\nimport {\r\n SortHeader\r\n} from '../components';\r\n\r\nconst emptyProductMemoSize = {\r\n memoSize: {\r\n value: \"\",\r\n label: \"\"\r\n },\r\n productId: null,\r\n productColor: {\r\n value: \"\",\r\n label: \"\"\r\n },\r\n qty: \"\",\r\n shelfNumber: \"\"\r\n};\r\n\r\nconst filterMemoSizes = (list, showAll, defaultMemoSizeName) => {\r\n if (showAll) return list;\r\n return _.filter(list, d => {\r\n return d.qty || (d.memoSizeName === defaultMemoSizeName);\r\n });\r\n};\r\n\r\nexport default class EditProductMemoInventory extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n productMemoSizes: filterMemoSizes(props.productMemoSizes, false, props.defaultMemoSizeName),\r\n addNewProductMemoSize: false,\r\n newProductMemoSize: emptyProductMemoSize,\r\n message: null,\r\n messageFlavor: null,\r\n memoSizeList: props.memoSizeList,\r\n productColors: props.productColors,\r\n memoShelfNumber: props.memoShelfNumber,\r\n pristineProductMemoSize: null,\r\n productId: props.productId,\r\n showAll: false,\r\n sortField: 'ProductColorName',\r\n sortDir: 'asc'\r\n };\r\n this.downloadLabel = this.downloadLabel.bind(this);\r\n this.saveNewProductMemoSize = this.saveNewProductMemoSize.bind(this);\r\n this.updateProductMemoSize = this.updateProductMemoSize.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.onDelete = this.onDelete.bind(this);\r\n this.onCancelEdit = this.onCancelEdit.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n }\r\n\r\n //componentDidUpdate(prevProps) {\r\n // this.updateProps(prevProps);\r\n //}\r\n\r\n //updateProps(prevProps) {\r\n // if (prevProps.memoSizeList !== this.state.memoSizeList\r\n // || prevProps.productId !== this.state.productId\r\n // || prevProps.memoShelfNumber !== this.state.memoShelfNumber\r\n // || prevProps.productColors !== this.state.productColors\r\n // || prevProps.productMemoSizes !== this.state.productMemoSizes) {\r\n // this.setState({\r\n // memoSizeList: this.props.memoSizeList,\r\n // productId: this.props.productId,\r\n // memoShelfNumber: this.props.memoShelfNumber,\r\n // productColors: this.props.productColors,\r\n // productMemoSizes: this.props.productMemoSizes\r\n // });\r\n // }\r\n //}\r\n\r\n getProductColors(productId) {\r\n api\r\n .fetch(`Product/GetProductColors/${productId}`)\r\n .then(response => {\r\n this.setState({\r\n productColors: helpers.resolveValues(response.data)\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n getProductMemoSizes(productId) {\r\n api.post('Product/GetProductMemoSizes', {productId: productId, sortDir: this.state.sortDir, sortField: this.state.sortField}).then(response => {\r\n const list = _.map(response.data, d => { \r\n d.isEditing = false; \r\n return d;\r\n });\r\n this.setState({\r\n productMemoSizes: filterMemoSizes(list, this.state.showAll)\r\n });\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n addNewProductMemoSize() {\r\n this.setState({\r\n addNewProductMemoSize: !this.state.addNewProductMemoSize,\r\n newProductMemoSize: emptyProductMemoSize,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n onEdit(productMemoSizeId) {\r\n const indexToEdit = _.findIndex(this.state.productMemoSizes, {id: productMemoSizeId});\r\n let tempList = this.state.productMemoSizes.slice();\r\n let snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n snapshotItem.isEditing = false;\r\n //tempList[indexToEdit].pristine = snapshotItem;\r\n tempList[indexToEdit].isEditing = true;\r\n this.setState({\r\n productMemoSizes: tempList,\r\n pristineProductMemoSize: snapshotItem\r\n });\r\n }\r\n\r\n onDelete(productMemoSizeId) {\r\n const indexToEdit = _.findIndex(this.state.productMemoSizes, {id: productMemoSizeId});\r\n let tempList = this.state.productMemoSizes.slice();\r\n if (!window.confirm('Are you sure you\\'d like to permanently delete this memo size and related inventory?')) return;\r\n api.delete('Product/DeleteProductMemoSize/' + productMemoSizeId).then(response => {\r\n if (response.data.success) {\r\n tempList.splice(indexToEdit, 1);\r\n this.setState({ productMemoSizes: tempList });\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n onCancelEdit(productMemoSizeId) {\r\n let indexToEdit = _.findIndex(this.state.productMemoSizes, { id: productMemoSizeId });\r\n let tempList = this.state.productMemoSizes.slice();\r\n tempList[indexToEdit] = this.state.pristineProductMemoSize;\r\n this.setState({\r\n productMemoSizes: tempList, \r\n pristineProductMemoSize: null,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n updateProductMemoSizeState(fieldName, value, productMemoSizeId) {\r\n const productMemoSizes = this.state.productMemoSizes.slice();\r\n const productMemoSize = _.find(productMemoSizes, x => x.id === productMemoSizeId);\r\n productMemoSize[fieldName] = value;\r\n this.setState({\r\n productMemoSizes: productMemoSizes\r\n });\r\n }\r\n\r\n handleProductMemoSizeStateChange(fieldName, value) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n newProductMemoSize: {\r\n ...prevState.newProductMemoSize,\r\n [fieldName]: value\r\n }\r\n }));\r\n }\r\n\r\n setSelectedMemoSize(option) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n newProductMemoSize: {\r\n ...prevState.newProductMemoSize,\r\n memoSize: {\r\n value: option.value,\r\n label: option.label\r\n }\r\n }\r\n }));\r\n }\r\n\r\n setSelectedProductColor(option) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n newProductMemoSize: {\r\n ...prevState.newProductMemoSize,\r\n productColor: {\r\n value: option.value,\r\n label: option.label\r\n }\r\n }\r\n }));\r\n }\r\n\r\n isFormValid(item) {\r\n const warnings = [];\r\n\r\n if (!item.ProductColorId) {\r\n warnings.push(\"Product Color required.\");\r\n }\r\n if (!item.MemoSizeId) {\r\n warnings.push(\"Memo Size required.\");\r\n }\r\n if (Number(item.Qty) < 0) {\r\n warnings.push(\"Quantity must be greater than zero.\");\r\n }\r\n if (Number(item.Qty) > 2147483647) {\r\n warnings.push(\"Quantity must be less than 2147483647.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({ \r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\" \r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n saveNewProductMemoSize() {\r\n const data = {\r\n Id: 0,\r\n MemoSizeId: this.state.newProductMemoSize.memoSize.value,\r\n ProductId: this.state.productId,\r\n ProductColorId: this.state.newProductMemoSize.productColor.value,\r\n Qty: Number(this.state.newProductMemoSize.qty)\r\n };\r\n if (!this.isFormValid(data)) return;\r\n api.post('Product/SaveNewProductMemoSize', data).then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n newProductMemoSize: emptyProductMemoSize,\r\n addNewProductMemoSize: false\r\n }, () => {\r\n this.getProductMemoSizes(this.state.productId);\r\n this.props.refresh(this.state.productId)\r\n });\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n updateProductMemoSize(productMemoSize) {\r\n const data = {\r\n Id: productMemoSize.id,\r\n ProductId: this.state.productId,\r\n MemoSizeId: productMemoSize.memoSizeId,\r\n ProductColorId: productMemoSize.productColorId,\r\n Qty: Number(productMemoSize.qty)\r\n };\r\n \r\n if (!this.isFormValid(data)) return;\r\n \r\n api.post(`Product/UpdateProductMemoSize`, data)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.props.refresh(this.state.productId);\r\n this.getProductMemoSizes(this.state.productId);\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onCancel() {\r\n this.setState({ redirect: true });\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field }, () => this.getProductMemoSizes(this.state.productId));\r\n }\r\n\r\n downloadLabel(productMemoSizeId) {\r\n api.post(`MemoSize/DownloadShippingLabel/${productMemoSizeId}`,{}, \"blob\").then(response => {\r\n if (response.status === 200) {\r\n helpers.downloadExport(response.data, 'Shipping_Label.xlsx', constants.MIME_XLSX);\r\n } else {\r\n throw new Error(\"Error downloading shipping label\");\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n if (this.state.redirect === true) {\r\n return ;\r\n };\r\n const b = this.state.newProductMemoSize;\r\n return (\r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

Product Memo Inventory

\r\n \r\n \r\n
\r\n {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n showAll: !value\r\n }), () => this.getProductMemoSizes(this.state.productId));\r\n }}\r\n />\r\n
\r\n Show All\r\n \r\n \r\n this.addNewProductMemoSize()}\r\n >\r\n Add Product Memo Size\r\n \r\n

{`Shelf #${this.state.memoShelfNumber}`}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setSelectedProductColor(option)}\r\n />\r\n \r\n \r\n \r\n this.setSelectedMemoSize(option)}\r\n />\r\n \r\n \r\n \r\n this.handleProductMemoSizeStateChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={b.qty}\r\n min=\"0\"\r\n max=\"2147483647\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.saveNewProductMemoSize()}\r\n >\r\n Save\r\n \r\n this.addNewProductMemoSize()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.productMemoSizes.map(b => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {b.productColorName}\r\n \r\n {b.productColorNumber}\r\n \r\n {b.memoSizeName}\r\n \r\n {b.isEditing ? (\r\n this.updateProductMemoSizeState(\r\n event.target.name,\r\n event.target.value,\r\n b.id\r\n )}\r\n min=\"0\"\r\n max=\"2147483647\"\r\n />\r\n ) : b.qty}\r\n \r\n \r\n this.downloadLabel(b.id)}\r\n size=\"sm\"\r\n >\r\n Shipping Label\r\n \r\n {b.isEditing ? (\r\n \r\n this.updateProductMemoSize(b)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelEdit(b.id)}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n ) : (\r\n this.onEdit(b.id)}\r\n size=\"sm\"\r\n >\r\n \r\n \r\n this.onDelete(b.id)}\r\n size=\"sm\"\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Back to Products\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nexport class ErrorMessage extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n errors: []\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n this.setState({ errors: this.props.errors });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {\r\n this.state.errors.map(e => (
{e}
))\r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ErrorMessage;\r\n","import React, { Component } from 'react';\r\nimport {\r\n Container,\r\n Table,\r\n ButtonGroup,\r\n Button,\r\n Col,\r\n Row,\r\n Alert,\r\n Card,\r\n CardBody, \r\n} from 'reactstrap';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport _ from 'lodash';\r\nimport { FilterSet, SortHeader, FilterBoolean, FilterText, Pager, FilterSelect, FilterDate } from '../components';\r\nimport {api, date_helpers, filter_helpers, helpers} from '../utils';\r\nimport { Link } from 'react-router-dom';\r\nimport moment from 'moment';\r\n\r\nconst addAnyOption = (list) => {\r\n let newList = list.slice();\r\n newList.unshift({ label: \"(Any)\", value: null });\r\n return newList;\r\n};\r\n\r\nexport default class Expense extends Component {\r\n constructor(props) {\r\n super(props);\r\n let lastExpenseFilters = null;\r\n try {\r\n lastExpenseFilters = localStorage.getItem('lastExpenseFilters');\r\n } catch {}\r\n const defaultFilters = lastExpenseFilters\r\n ? JSON.parse(lastExpenseFilters)\r\n : [{\r\n filterName: \"ActiveOnly\",\r\n value: true,\r\n filteredDisplay: \"Active Only: Active\"\r\n },\r\n {\r\n filterName: \"DateFrom\",\r\n value: new Date(moment().subtract(90, \"day\")),\r\n filteredDisplay: \"Created in the last 90 days\"\r\n }];\r\n _.each(defaultFilters, f => {\r\n if ((f.filterName === 'DateFrom' || f.filterName === 'DateTo')) {\r\n f.value = date_helpers.getMomentFromString(f.value).valueOf();\r\n }\r\n });\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false,\r\n pagedList: {\r\n list: [],\r\n pageSize: 100, \r\n pageNumber: 1\r\n },\r\n sortField: 'Month',\r\n sortDir: 'desc',\r\n filters: defaultFilters,\r\n showEdit: false,\r\n supplierList: [],\r\n payToList: [],\r\n agentList: [],\r\n expenseCategoryList: [],\r\n expenseTypeList: []\r\n };\r\n this.onMessageDismiss = this.onMessageDismiss.bind(this);\r\n this.refreshList = this.refreshList.bind(this);\r\n this.setPage = this.setPage.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getAgents = api.fetch('Reference/GetAgentList')\r\n .then((result) => {\r\n return { agentList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getExpenseTypes = api.fetch('Reference/GetExpenseTypeList')\r\n .then((result) => {\r\n return { expenseTypeList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getBooks = api.fetch('Reference/GetSampleBookList')\r\n .then((result) => {\r\n return { bookList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getExpenseCategoriesForClerk = api.fetch('ExpenseCategory/GetExpenseCategoryListForClerk')\r\n .then((result) => {\r\n return { expenseCategoryList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getExpenseCategories = api.fetch('Reference/GetExpenseCategoryList')\r\n .then((result) => {\r\n return { expenseCategoryList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getSupplier = api.fetch('Reference/GetSupplierList')\r\n .then((result) => {\r\n return {\r\n supplierList: _.map(result.data, s => {\r\n s.id = s.value;\r\n s.value = s.label;\r\n return s;\r\n })\r\n };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getExpensePayToList = api.fetch('Reference/GetExpensePayToList')\r\n .then((result) => {\r\n return { \r\n payToList: _.map(result.data, s => {\r\n s.id = s.value;\r\n s.value = s.label;\r\n return s; \r\n })\r\n };\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n let APIlist = [ \r\n getAgents,\r\n getExpenseTypes,\r\n getBooks,\r\n getExpenseCategories,\r\n getSupplier,\r\n getExpensePayToList]\r\n //push the full list if admin, otherwise this is a finance clerk\r\n if(this.props.currentUser && this.props.currentUser.isAdmin) {\r\n APIlist.push(getExpenseCategories);\r\n } else {\r\n APIlist.push(getExpenseCategoriesForClerk);\r\n }\r\n\r\n Promise.all(APIlist)\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, () =>\r\n this.refreshList());\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n let filterList = filters || this.state.filters;\r\n\r\n let payload = {\r\n page: this.state.pagedList.pageNumber,\r\n pageSize: this.state.pagedList.pageSize,\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir,\r\n }\r\n\r\n _.each(filterList, filter => {\r\n if (filter.filterName === 'DateFrom' || filter.filterName === 'DateTo') {\r\n payload[filter.filterName] = date_helpers.getMomentFromString(filter.value).format(date_helpers.YMD);\r\n } else {\r\n payload[filter.filterName] = filter.value\r\n }\r\n });\r\n \r\n api.post('Expense/GetPaginatedList', payload)\r\n .then((response) => {\r\n this.setState({\r\n pagedList: response.data\r\n })\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changedFilter);\r\n try {\r\n localStorage.setItem(\"lastExpenseFilters\", JSON.stringify(filters));\r\n } catch {}\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n try {\r\n localStorage.setItem(\"lastExpenseFilters\", JSON.stringify(filters));\r\n } catch {}\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n setPage(page) {\r\n const newPagedList = Object.assign({}, this.state.pagedList);\r\n newPagedList.pageNumber = page;\r\n this.setState({ pagedList: newPagedList }, () => this.refreshList());\r\n }\r\n\r\n onMessageDismiss() {\r\n this.setState({ isMessageVisible: !this.state.isMessageVisible });\r\n }\r\n\r\n handleDelete(id) {\r\n api.delete('Expense/DeleteExpenseItem/' + id)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api.post('Expense/ReviveExpenseItem/' + id)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

Operating Expense Details

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*\r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.pagedList.list.map(b => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{b.checkNumber}{b.invoiceNumber}{b.payToName}{b.monthName}{b.expenseCategoryName}{b.amountCurrency}{b.expenseTypeName}{date_helpers.dateTimeFormat(b.createdAt, date_helpers.MDY4)}\r\n \r\n {b.deactivatedAt === null ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n","import React, { Component, Fragment } from \"react\";\r\nimport moment from 'moment';\r\nimport {\r\n Table,\r\n ButtonGroup,\r\n Button,\r\n Col,\r\n Row,\r\n Card,\r\n CardBody,\r\n Input,\r\n Alert as Alert,\r\n} from 'reactstrap';\r\nimport api from '../utils/api';\r\nimport CreatableSelect from 'react-select/creatable';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Select from 'react-select';\r\nimport makeAnimated from \"react-select/animated\";\r\nimport _ from 'lodash';\r\nimport date_helpers from '../utils/date_helpers';\r\nimport helpers from '../utils/helpers';\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { Link, Redirect } from 'react-router-dom';\r\n\r\nconst emptyExpense = {\r\n id: -1,\r\n name: '',\r\n agentId: null,\r\n supplier: null,\r\n checkNumber: '',\r\n invoiceNumber: '',\r\n items: [],\r\n mth: new Date(),\r\n invoiceDate: null,\r\n paidOn: null,\r\n total: 0\r\n};\r\n\r\nconst emptyExpenseItem = {\r\n id: -1,\r\n expenseCategory: null,\r\n sampleBook: null,\r\n expenseType: null,\r\n amount: '',\r\n comment: '',\r\n editing: true\r\n}\r\n\r\nconst SAMPLE_EXPENSE_NAME = \"Sample Expense\";\r\n\r\nconst formatTotal = (items) => {\r\n items = _.map(_.reject(items, i => i.deactivatedAt), i => { return Number(parseFloat(i.amount, 10).toFixed(2)) });\r\n let total = _.sum(items);\r\n return helpers.formatCurrency(total);\r\n}\r\n\r\nexport default class EditExpense extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n expenseId: props.match && props.match.params && props.match.params.id,\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false,\r\n agentList: [],\r\n expenseCategoryList: [],\r\n bookList: [],\r\n editExpense: emptyExpense,\r\n editing: false,\r\n pristine: null,\r\n redirect: false,\r\n redirectExpenseCategoryAdmin: false\r\n };\r\n this.onSubmitAdd = this.onSubmitAdd.bind(this);\r\n this.onSelectChange = this.onSelectChange.bind(this);\r\n this.loadExpense = this.loadExpense.bind(this);\r\n this.onItemSelectChange = this.onItemSelectChange.bind(this);\r\n this.onItemTextChange = this.onItemTextChange.bind(this);\r\n this.onTextChange = this.onTextChange.bind(this);\r\n this.onSelectChange = this.onSelectChange.bind(this);\r\n this.onEditItem = this.onEditItem.bind(this);\r\n this.onDeleteItem = this.onDeleteItem.bind(this);\r\n this.handleUnDelete = this.handleUnDelete.bind(this);\r\n this.reloadExpenseCategory = this.reloadExpenseCategory.bind(this);\r\n this.redirectExpenseCategoryAdmin = this.redirectExpenseCategoryAdmin.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getAgents = api.fetch('Reference/GetAgentList')\r\n .then((result) => {\r\n return { agentList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getExpenseTypes = api.fetch('Reference/GetExpenseTypeList')\r\n .then((result) => {\r\n return { expenseTypeList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getBooks = api.fetch('Reference/GetSampleBookList')\r\n .then((result) => {\r\n return { bookList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getExpenseCategories = api.fetch('Reference/GetExpenseCategoryList')\r\n .then((result) => {\r\n return { expenseCategoryList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getExpenseCategoriesForClerk = api.fetch('ExpenseCategory/GetExpenseCategoryListForClerk')\r\n .then((result) => {\r\n return { expenseCategoryList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n // const getSupplier = api.fetch('Reference/GetSupplierList')\r\n // .then((result) => {\r\n // return { supplierList: result.data };\r\n // }).catch(helpers.catchHandler);\r\n const getExpensePayToList = api.fetch('Reference/GetExpensePayToList')\r\n .then((result) => {\r\n return { payToList: result.data };\r\n }).catch(helpers.catchHandler);\r\n let APIlist = [\r\n getAgents,\r\n getExpenseTypes,\r\n getBooks,\r\n // getSupplier,\r\n getExpensePayToList\r\n ]\r\n //push the full list if admin, otherwise this is a finance clerk\r\n if(this.props.currentUser && this.props.currentUser.isAdmin) {\r\n APIlist.push(getExpenseCategories);\r\n } else {\r\n APIlist.push(getExpenseCategoriesForClerk);\r\n }\r\n \r\n Promise.all(APIlist)\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, () =>\r\n this.loadExpense());\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n loadExpense() {\r\n let expenseId = this.props.computedMatch.params.id;\r\n if (expenseId === \"new\") {\r\n this.setState({ editExpense: emptyExpense });\r\n } else if (expenseId > 0) {\r\n api.fetch(`Expense/GetExpense/${expenseId}`)\r\n .then(response => {\r\n if (response.data) {\r\n let data = response.data;\r\n let expenseItem = _.head(response.data.expenses);\r\n let expense = {\r\n id: data.id,\r\n name: data.name,\r\n mth: new Date(expenseItem.mth),\r\n invoiceDate: expenseItem.invoiceDate ? new Date(expenseItem.invoiceDate) : null,\r\n paidOn: expenseItem.paidOn ? new Date(expenseItem.paidOn) : null,\r\n checkNumber: expenseItem.checkNumber,\r\n invoiceNumber: expenseItem.invoiceNumber,\r\n createdAt: expenseItem.createdAt,\r\n supplier: _.find(this.state.payToList, s => { return s.label === expenseItem.payToName }),\r\n agent: helpers.resolveValue(expenseItem.agent, expenseItem.agentId, `${expenseItem.agentFirstName} ${expenseItem.agentLastName}`),\r\n items: _.map(data.expenses, item => {\r\n item.expenseCategory = helpers.resolveValue(item.expenseCategory, item.expenseCategoryId, item.expenseCategoryName);\r\n item.expenseType = helpers.resolveValue(item.expenseType, item.expenseTypeId, item.expenseTypeName);\r\n item.sampleBook = helpers.resolveValue(item.sampleBook, item.sampleBookId, item.sampleBookName);\r\n return item;\r\n })\r\n }\r\n if (!expense.supplier) {\r\n expense.supplier = { \r\n label: expenseItem.payToName, \r\n value: expenseItem.payToName\r\n };\r\n }\r\n expense.total = formatTotal(expense.items.slice());\r\n this.setState({ editExpense: expense });\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n }\r\n\r\n onDismiss() {\r\n this.setState({\r\n isMessageVisible: !this.state.isMessageVisible,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n onTextChange(e, fieldName) {\r\n let expense = Object.assign({}, this.state.editExpense)\r\n expense[fieldName] = e.target.value;\r\n this.setState({ editExpense: expense });\r\n }\r\n\r\n onSelectChange(selection, fieldName) {\r\n this.setState({\r\n editExpense: {\r\n ...this.state.editExpense,\r\n [fieldName]: selection\r\n }\r\n });\r\n }\r\n\r\n onDateChange(date, fieldName) {\r\n this.setState({\r\n editExpense: { ...this.state.editExpense, [fieldName]: date }\r\n })\r\n }\r\n\r\n isFormValid() {\r\n let warnings = [];\r\n //if (!this.state.editExpense.checkNumber) {\r\n // warnings.push(\"Check Number is required.\");\r\n //}\r\n if (!this.state.editExpense.mth) {\r\n warnings.push(\"Month is required.\");\r\n }\r\n if (!this.state.editExpense.supplier) {\r\n warnings.push(\"Pay To Name is required.\");\r\n }\r\n if (this.state.editExpense.items.length === 0) {\r\n warnings.push(\"Expense item is required\");\r\n }\r\n if (this.state.editExpense.items && this.state.editExpense.items.length > 1 && this.state.editExpense.name === \"\") {\r\n warnings.push(\"Expense group name is required\")\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmitAdd(e) {\r\n if (!this.isFormValid()) return;\r\n e.preventDefault();\r\n let expense = Object.assign({}, this.state.editExpense);\r\n let payload = {\r\n Name: expense.name,\r\n Expenses: _.map(expense.items, (i, index) => ({\r\n Id: i.id,\r\n ExpenseCategoryId: i.expenseCategory ? i.expenseCategory.value : null,\r\n SampleBookId: i.sampleBook ? i.sampleBook.value : null,\r\n ExpenseTypeId: i.expenseType ? i.expenseType.value : null,\r\n AgentId: expense.agent ? expense.agent.value : null,\r\n PayToName: expense.supplier ? expense.supplier.label : null,\r\n Amount: Number(i.amount),\r\n Comment: i.comment,\r\n Mth: expense.mth ? expense.mth : null,\r\n CheckNumber: expense.checkNumber,\r\n InvoiceNumber: expense.invoiceNumber ? expense.invoiceNumber : null,\r\n InvoiceDate: expense.invoiceDate ? expense.invoiceDate : null,\r\n PaidOn: expense.paidOn ? expense.paidOn : null,\r\n IsParent: (index === 0)\r\n }))\r\n };\r\n if (expense.id > 0) {\r\n payload.Id = expense.id;\r\n }\r\n api.upload('post', 'Expense/SaveExpense', payload).then(result => {\r\n if (result.data.success) {\r\n let newState = {messageFlavor: \"success\", message: \"Expense was saved\", isMessageVisible: true, editExpense: emptyExpense};\r\n if (expense.id > 0) {\r\n this.setState(newState);\r\n this.loadExpense();\r\n } else {\r\n newState.message = \"Expense was saved. You will be redirected momentarily.\";\r\n this.setState(newState, () => setTimeout(() => this.setState({ redirect: true }), 1500));\r\n }\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: result.data.message, isMessageVisible: true });\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n isItemValid(item) {\r\n let warnings = [];\r\n if (!item.amount) {\r\n warnings.push(\"Amount is required.\");\r\n }\r\n if (!item.expenseCategory) {\r\n warnings.push(\"Category is required.\");\r\n }\r\n if (!item.expenseType) {\r\n warnings.push(\"Expense Type Required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n\r\n }\r\n\r\n onItemTextChange(e, fieldName, index) {\r\n let expense = Object.assign({}, this.state.editExpense)\r\n expense.items[index][fieldName] = e.target.value;\r\n this.setState({ editExpense: expense });\r\n }\r\n\r\n onItemSelectChange(selection, fieldName, index) {\r\n let expense = Object.assign({}, this.state.editExpense)\r\n expense.items = expense.items.slice();\r\n expense.items[index][fieldName] = selection;\r\n if (fieldName === \"expenseType\" && selection.label !== SAMPLE_EXPENSE_NAME) {\r\n expense.items[index].sampleBook = null;\r\n }\r\n this.setState({\r\n editExpense: expense\r\n });\r\n }\r\n\r\n addNewExpenseItem() {\r\n var expense = Object.assign({}, this.state.editExpense);\r\n expense.items = expense.items.slice();\r\n var newItem = Object.assign({}, emptyExpenseItem);\r\n newItem.expenseType = _.find(this.state.expenseTypeList, t => t.label === 'Company Expense');\r\n expense.items.push(newItem);\r\n this.setState({ editExpense: expense, editing: true });\r\n }\r\n\r\n onSaveItem(index) {\r\n var expense = Object.assign({}, this.state.editExpense);\r\n var item = Object.assign({}, expense.items[index]);\r\n if (!this.isItemValid(item)) return;\r\n expense.items[index].editing = false;\r\n expense.total = formatTotal(expense.items.slice());\r\n this.setState({ editExpense: expense, editing: false });\r\n }\r\n\r\n onCancelItem(index) {\r\n var expense = Object.assign({}, this.state.editExpense);\r\n expense.items = expense.items.slice();\r\n if (this.state.pristine === null) {\r\n expense.items = _.reject(expense.items, (i, indx) => { return indx === index; });\r\n } else {\r\n expense.items[index] = this.state.pristine;\r\n expense.items[index].editing = false;\r\n }\r\n this.setState({ editExpense: expense, editing: false, pristine: null });\r\n }\r\n\r\n onEditItem(index) {\r\n var expense = Object.assign({}, this.state.editExpense);\r\n var item = Object.assign({}, expense.items[index]);\r\n expense.items[index].editing = true;\r\n this.setState({ editExpense: expense, editing: true, pristine: item });\r\n }\r\n\r\n onDeleteItem(index) {\r\n var expense = Object.assign({}, this.state.editExpense);\r\n expense.items = expense.items.slice();\r\n var item = Object.assign({}, expense.items[index]);\r\n if (item.id < 0) {\r\n expense.items = _.reject(expense.items, (i, indx) => {\r\n return indx === index;\r\n });\r\n this.setState({ editExpense: expense });\r\n } else {\r\n this.deleteItem(item.id)\r\n }\r\n }\r\n\r\n deleteItem(itemId) {\r\n if (!window.confirm(`Are you sure you'd like to delete this expense line item?`)) return;\r\n api.delete(`Expense/DeleteExpenseItem/${itemId}`)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({message: \"Expense Item has been deleted\", messageFlavor: \"success\", isMessageVisible: true})\r\n this.loadExpense();\r\n } else {\r\n this.setState({\r\n message: (response.data.message || \"An error occurred. Expense Item cannot be deleted at this time.\"),\r\n messageFlavor: \"success\",\r\n isMessageVisible: true\r\n })\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api.post('Expense/ReviveExpenseItem/' + id)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({ message: \"Expense Item was revived\", messageFlavor: \"success\", isMessageVisible: true })\r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n reloadExpenseCategory() {\r\n api.fetch('Reference/GetExpenseCategoryList')\r\n .then((result) => {\r\n this.setState({expenseCategoryList: result.data})\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n redirectExpenseCategoryAdmin() {\r\n window.open(\"/expensecategory\", '_blank');\r\n }\r\n\r\n render() {\r\n if (this.state.redirect) { return }\r\n const {\r\n editExpense,\r\n agentList,\r\n expenseCategoryList,\r\n expenseTypeList,\r\n bookList,\r\n message,\r\n messageFlavor,\r\n isMessageVisible,\r\n editing, \r\n payToList\r\n } = this.state;\r\n const GroupedButton = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n )}\r\n return (\r\n \r\n \r\n \r\n

{editExpense.id ? 'Edit' : 'Add'} Expense

\r\n \r\n {GroupedButton()}\r\n
\r\n\r\n {editExpense &&\r\n \r\n \r\n \r\n \r\n \r\n {message && (\r\n \r\n \r\n this.onDismiss()}>{message}\r\n \r\n \r\n )}\r\n \r\n \r\n\r\n \r\n \r\n {editExpense.createdAt &&\r\n
\r\n Created on: {date_helpers.dateTimeFormat(editExpense.createdAt, \"MM/DD/YYYY\")} \r\n
\r\n }\r\n Month {helpers.requiredStar()}\r\n this.onDateChange(e, \"mth\")}\r\n />\r\n \r\n
\r\n \r\n \r\n PAY TO {helpers.requiredStar()}\r\n this.onSelectChange(e, \"supplier\")}\r\n placeholder=\"Select a Pay To\"\r\n />\r\n \r\n \r\n CHECK #\r\n this.onTextChange(e, 'checkNumber')}\r\n maxLength=\"10\"\r\n type=\"input\"\r\n />\r\n \r\n\r\n \r\n PAID ON\r\n this.onDateChange(e, \"paidOn\")}\r\n />\r\n \r\n \r\n \r\n {/*\r\n AGENT\r\n this.onSelectChange(e, \"agent\")}\r\n placeholder=\"Select an Agent\"\r\n />\r\n */}\r\n \r\n INVOICE #\r\n this.onTextChange(e, 'invoiceNumber')}\r\n maxLength=\"30\"\r\n type=\"input\"\r\n />\r\n \r\n \r\n INVOICE DATE\r\n this.onDateChange(e, \"invoiceDate\")}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n AMOUNT DUE\r\n
{editExpense.total}\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n {editExpense.items.length > 1 &&\r\n \r\n Expense Group Name {helpers.requiredStar()}\r\n this.onTextChange(e, \"name\")} />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n\r\n {editExpense.items.length > 0 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {editExpense.items.length ?\r\n _.reject(editExpense.items, x => x.deactivatedAt).map((item, index) => (\r\n \r\n {item.editing ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )) : null}\r\n \r\n
Category {helpers.requiredStar()} this.reloadExpenseCategory()} title=\"Refresh category list\"/>Expense Type {helpers.requiredStar()}Sample TypeAmount {helpers.requiredStar()}Memo
\r\n this.onItemSelectChange(e, \"expenseCategory\", index)}\r\n onCreateOption={()=>this.redirectExpenseCategoryAdmin()}\r\n />\r\n \r\n this.onItemSelectChange(e, \"expenseType\", index)}\r\n />\r\n \r\n this.onItemSelectChange(e, \"sampleBook\", index)}\r\n isDisabled={\r\n !item.expenseType ||\r\n item.expenseType && item.expenseType.label !== SAMPLE_EXPENSE_NAME \r\n }\r\n isClearable\r\n />\r\n \r\n this.onItemTextChange(e, 'amount', index)}\r\n maxLength=\"200\"\r\n min=\"0\"\r\n />\r\n \r\n this.onItemTextChange(e, 'comment', index)}\r\n name=\"comment\"\r\n placeholder=\"Add a comment\"\r\n maxLength=\"300\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {item.expenseCategory.label || \"\"}{item.expenseType.label || \"\"}{item.sampleBook ? item.sampleBook.label : \"\"}{helpers.formatCurrency(item.amount)|| \"\"}{item.comment || \"\"}\r\n \r\n {item.deactivatedAt ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n {GroupedButton()}\r\n
\r\n }\r\n
\r\n
\r\n \r\n
\r\n }\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport { Table, Container, Button, CardBody, Col, Row, Alert, Collapse, ButtonGroup, Card, Input } from 'reactstrap';\r\nimport api from '../utils/api';\r\nimport helpers from '../utils/helpers';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Select from 'react-select';\r\nimport _ from 'lodash';\r\nimport { FilterSet, InputDebounce, SortHeader, FilterText, FilterBoolean, FilterMultiSelect, Pager} from '../components';\r\nimport filterHelpers from '../utils/filter_helpers';\r\n\r\nconst emptyCategory = {\r\n id: null,\r\n name: '',\r\n categoryType: {\r\n value: \"\",\r\n label: \"\"\r\n }, \r\n seq: 0\r\n};\r\n\r\nclass ExpenseCategory extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n sortField: 'Id',\r\n sortDir: 'asc',\r\n filters: [{ filterName: \"ActiveOnly\", value: true, filteredDisplay: \"Active Only: Yes\" }],\r\n pagedList: null,\r\n expenseCategory: emptyCategory,\r\n categoryTypes: [],\r\n expenseCategoryList: [],\r\n message: null,\r\n messageFlavor: null,\r\n addExpenseCategory: false\r\n };\r\n this.onAdd = this.onAdd.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.refreshList = this.refreshList.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.handleUnDelete = this.handleUnDelete.bind(this);\r\n this.setPage = this.setPage.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.onSubmitNew = this.onSubmitNew.bind(this);\r\n this.onCategoryTypeChange = this.onCategoryTypeChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getCategoryTypes = api.fetch(\"Reference/GetExpenseCategoryTypeList\")\r\n .then((response) => {\r\n return {expenseCategoryList: response.data};\r\n })\r\n .catch(helpers.catchHandler);\r\n Promise.all([\r\n getCategoryTypes\r\n ])\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, () =>\r\n this.refreshList());\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n let filterList = filters || this.state.filters;\r\n let payload = {\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir,\r\n }\r\n\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n\r\n api.post(\"ExpenseCategory/GetPaginatedList\", payload)\r\n .then((response) => {\r\n this.setState({\r\n pagedList: response.data\r\n });\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filterHelpers.get_filters(this.state.filters, changedFilter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n setPage(page) {\r\n const newPagedList = Object.assign({}, this.state.pagedList);\r\n newPagedList.pageNumber = page;\r\n this.setState({ pagedList: newPagedList }, () => this.refreshList());\r\n }\r\n\r\n onCancel() {\r\n this.setState({\r\n addExpenseCategory: !this.state.addExpenseCategory,\r\n expenseCategory: emptyCategory,\r\n message: null, \r\n messageFlavor: null\r\n });\r\n }\r\n\r\n onAdd() {\r\n this.setState({\r\n addExpenseCategory: !this.state.addExpenseCategory,\r\n expenseCategory: emptyCategory\r\n });\r\n }\r\n\r\n handleUnDelete(id) {\r\n api.post(`ExpenseCategory/Undelete/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api.delete(`ExpenseCategory/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onTextChange(fieldName, event) {\r\n let expenseCategory = Object.assign({}, this.state.expenseCategory)\r\n expenseCategory[fieldName] = event.value;\r\n this.setState({\r\n expenseCategory: expenseCategory\r\n });\r\n }\r\n\r\n onCategoryTypeChange(selection) {\r\n this.setState({\r\n expenseCategory: {\r\n ...this.state.expenseCategory,\r\n categoryType: selection\r\n }\r\n });\r\n }\r\n\r\n isFormValid(item) {\r\n let warnings = [];\r\n if (!item.Name) {\r\n warnings.push(\"Expese Category Name is required.\");\r\n }\r\n if (!item.ExpenseCategoryTypeId) {\r\n warnings.push(\"Expense Category Type is required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\"\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n\r\n onSubmitNew() {\r\n window.scroll(0,0);\r\n const payload = {\r\n Name: this.state.expenseCategory.name,\r\n ExpenseCategoryTypeId: parseInt(this.state.expenseCategory.categoryType.value, 10)\r\n };\r\n if (!this.isFormValid(payload)) return;\r\n api.upload('post', 'ExpenseCategory', payload)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n addExpenseCategory: false,\r\n expenseCategory: emptyCategory,\r\n }, () => this.refreshList());\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onSubmitEdit(e, expenseCategory) {\r\n window.scroll(0,0);\r\n e.preventDefault();\r\n const payload = {\r\n Name: expenseCategory.name,\r\n ExpenseCategoryTypeId: parseInt(expenseCategory.expenseCategoryTypeId, 10),\r\n Id: expenseCategory.id\r\n };\r\n if (!this.isFormValid(payload)) return;\r\n api.upload('put',`ExpenseCategory/${expenseCategory.id}`, payload)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n addExpenseCategory: false,\r\n expenseCategory: emptyCategory,\r\n messageFlavor: \"success\",\r\n message: \"Expense Category saved.\"\r\n }, () => this.refreshList());\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onEdit(categoryId) {\r\n const indexToEdit = _.findIndex(this.state.pagedList.list, {id: categoryId});\r\n let tempList = this.state.pagedList.list.slice();\r\n const snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n tempList[indexToEdit].isEditing = true;\r\n tempList[indexToEdit].pristine = snapshotItem;\r\n this.setState({\r\n pagedList: { ...this.state.pagedList, list: tempList }\r\n });\r\n }\r\n\r\n onCancelEdit(categoryId) {\r\n const indexToEdit = _.findIndex(this.state.pagedList.list, {id: categoryId});\r\n let tempList = this.state.pagedList.list.slice();\r\n tempList[indexToEdit] = tempList[indexToEdit].pristine;\r\n this.setState({\r\n pagedList: { ...this.state.pagedList, list: tempList },\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n updateEditCategoryState(fieldName, value, categoryId) {\r\n const tempList = this.state.pagedList.list.slice();\r\n const category = _.find(tempList, x => x.id === categoryId);\r\n category[fieldName] = value;\r\n this.setState({\r\n pagedList: { ...this.state.pagedList, list: tempList }\r\n });\r\n }\r\n\r\n editSelectedCategoryType(option, categoryId) {\r\n const tempList = this.state.pagedList.list.slice();\r\n const category = _.find(tempList, x => x.id === categoryId);\r\n category.expenseCategoryTypeId = option.value;\r\n category.expenseCategoryTypeName = option.label;\r\n this.setState({\r\n pagedList: { ...this.state.pagedList, list: tempList }\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Maintain Expense Categories

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Add New Expense Category
\r\n \r\n
\r\n \r\n Name {helpers.requiredStar()}\r\n \r\n \r\n Category Type {helpers.requiredStar()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.pagedList && this.state.pagedList.list.length > 0 ?\r\n this.state.pagedList.list.map(cat => (\r\n \r\n {cat.isEditing\r\n ? \r\n \r\n \r\n \r\n \r\n : \r\n \r\n \r\n \r\n \r\n }\r\n \r\n )) : null}\r\n \r\n
\r\n \r\n\r\n \r\n \r\n\r\n
\r\n this.updateEditCategoryState(\r\n event.target.name,\r\n event.target.value,\r\n cat.id\r\n )}\r\n value={cat.name}\r\n maxLength=\"25\"\r\n />\r\n \r\n this.editSelectedCategoryType(option, cat.id)}\r\n />\r\n \r\n \r\n this.onSubmitEdit(e, cat)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelEdit(cat.id)}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n
{cat.name}{cat.expenseCategoryTypeName}\r\n \r\n {cat.deactivatedAt === null ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ExpenseCategory;\r\n","import React, { Component, Fragment } from 'react';\r\nimport {\r\n Alert,\r\n Container,\r\n Table,\r\n Button,\r\n ButtonGroup,\r\n CardBody,\r\n Row,\r\n Col,\r\n Card,\r\n Input,\r\n Label,\r\n Collapse\r\n} from 'reactstrap';\r\nimport {\r\n api,\r\n helpers,\r\n filter_helpers\r\n} from '../utils';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n FilterBoolean,\r\n FilterSet,\r\n FilterText,\r\n SortHeader\r\n} from '../components';\r\nimport _ from 'lodash';\r\n\r\nconst apiUrl = 'Reference/';\r\n\r\nconst emptyExpensePayTo = {\r\n id: 0,\r\n name: \"\"\r\n};\r\n\r\nclass ExpensePayToAdmin extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n list: [],\r\n item: emptyExpensePayTo,\r\n newItem: emptyExpensePayTo,\r\n filters: [],\r\n message: null,\r\n messageFlavor: null,\r\n showAddNew: false,\r\n sortField: \"Name\",\r\n sortDir: \"asc\"\r\n };\r\n this.refreshList = this.refreshList.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.handleNewItemFormInput = this.handleNewItemFormInput.bind(this);\r\n this.handleFormInput = this.handleFormInput.bind(this);\r\n this.toggleAddNewCollapse = this.toggleAddNewCollapse.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleUnDelete = this.handleUnDelete.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.onEdit = this.onEdit.bind(this);\r\n this.onCancelEdit = this.onCancelEdit.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshList();\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n let filterList = filters || this.state.filters;\r\n let payload = {\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir\r\n }\r\n\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n \r\n api.post(apiUrl + 'GetExpensePayToPaginatedList', payload)\r\n .then((response) => {\r\n this.setState({\r\n list: response.data.list\r\n })\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changedFilter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n toggleAddNewCollapse() {\r\n this.setState({\r\n showAddNew: !this.state.showAddNew,\r\n newItem: emptyExpensePayTo,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n handleNewItemFormInput(event) {\r\n this.setState({ newItem: {...this.state.newItem, [event.target.name]: event.target.value } });\r\n }\r\n\r\n handleFormInput(event) {\r\n this.setState({ item: {...this.state.item, [event.target.name]: event.target.value } });\r\n }\r\n\r\n onEdit(item) {\r\n this.setState({item: item})\r\n }\r\n\r\n onCancelEdit() {\r\n this.setState({item: emptyExpensePayTo})\r\n }\r\n\r\n isFormValid(item) {\r\n let warnings = [];\r\n if (!item.name || item.name.length < 1) {\r\n warnings.push(\"Please provide a valid name entry.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n }\r\n else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmit(e, item) {\r\n if (!this.isFormValid(item)) return;\r\n const payload = {\r\n id: item.id,\r\n name: item.name,\r\n };\r\n api.post(\"Reference/SaveExpensePayTo\", payload)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tif (response.data.success) {\r\n this.setState({\r\n showAddNew: item.id ? this.state.showAddNew : !this.state.showAddNew,\r\n newItem: emptyExpensePayTo,\r\n item: emptyExpensePayTo,\r\n message: null,\r\n messageFlavor: null\r\n }, () => this.refreshList());\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api.post(`Reference/ReviveExpensePayToItem/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api.post(`Reference/DeleteExpensePayToItem/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Expense Pay to Administration

\r\n \r\n
\r\n \r\n \r\n {this.state.showAddNew\r\n ? null\r\n : \r\n this.toggleAddNewCollapse()}\r\n title=\"Add New Expense Pay To\"\r\n >\r\n Add Expense Pay To\r\n \r\n \r\n }\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Add New Expense Pay To Name
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onSubmit(e, this.state.newItem)}\r\n >\r\n Save\r\n \r\n this.toggleAddNewCollapse()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.list.length > 0 && this.state.list.map(item => (\r\n \r\n {this.state.item.id !== null && item.id === this.state.item.id\r\n ? \r\n \r\n \r\n \r\n : \r\n \r\n \r\n \r\n }\r\n \r\n ))}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n this.onSubmit(e, this.state.item)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelEdit()}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n
\r\n {item.name}\r\n \r\n \r\n {item.deactivatedAt\r\n ? this.handleUnDelete(item.id)}\r\n >\r\n Revive\r\n \r\n : \r\n this.onEdit(item)}\r\n size=\"sm\"\r\n >\r\n \r\n \r\n this.handleDelete(item.id)}\r\n >\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default ExpensePayToAdmin;\r\n","import React from 'react';\r\nimport helpers from '../utils/helpers';\r\n//import _ from 'lodash';\r\nimport { Container, Col, Row, Card, CardBody, Alert, Button, Label, Input } from 'reactstrap';\r\nimport api from '../utils/api';\r\nimport DCLogo from '../assets/img/dc-logo.jpg';\r\nimport { Link, Redirect } from 'react-router-dom';\r\n\r\n\r\nexport class ForgotPassword extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n redirect: false,\r\n email: props.location.state.email\r\n };\r\n this.handleEmail = this.handleEmail.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n }\r\n\r\n handleEmail(event) {\r\n this.setState({ email: event.target.value });\r\n }\r\n\r\n isFormValid() {\r\n let warnings = [];\r\n if (!this.state.email) {\r\n warnings.push(\"Email address required\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(','),\r\n messageFlavor: \"danger\"\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n handleSubmit() {\r\n if (!this.isFormValid()) return;\r\n //const payload = { email: this.state.email };\r\n api.fetch('Public/ForgotPassword/' + this.state.email)\r\n .then((response) => {\r\n if (response.data.success === true) {\r\n this.setState({ messageFlavor: \"success\", message: \"If we have a user with that address, we've just sent a reset link!\" })\r\n setTimeout(() => {\r\n this.setState({ Redirect: true });\r\n }, 5000);\r\n } else {\r\n this.setState({ message: response.data.message });\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n if (this.state.redirect === true) {\r\n return ;\r\n }\r\n return (\r\n \r\n \r\n \r\n \"DC\r\n \r\n \r\n \r\n \r\n
\r\n Wait, I already have an account - take me to log in!\r\n
\r\n
\r\n {this.state.message !== null\r\n ? {this.state.message}\r\n : null\r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ForgotPassword;","import React, { Component, Fragment } from 'react';\r\nimport {\r\n Alert,\r\n Container,\r\n Table,\r\n Button,\r\n ButtonGroup,\r\n CardBody,\r\n Row,\r\n Col,\r\n Card,\r\n Input,\r\n Label,\r\n Collapse\r\n} from 'reactstrap';\r\nimport {\r\n api,\r\n helpers,\r\n filter_helpers\r\n} from '../utils';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n FilterBoolean,\r\n FilterSet,\r\n FilterText,\r\n SortHeader\r\n} from '../components';\r\nimport _ from 'lodash';\r\n\r\nconst apiUrl = 'Reference/';\r\n\r\nconst emptyFC = {\r\n id: 0,\r\n name: \"\"\r\n};\r\n\r\nexport default class FreightCarrierAdmin extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n list: [],\r\n item: emptyFC,\r\n newItem: emptyFC,\r\n filters: [{filterName: \"ActiveOnly\", value: true, filteredDisplay: \"Active Only: Yes\" }],\r\n message: null,\r\n messageFlavor: null,\r\n showAddNew: false,\r\n sortField: \"Name\",\r\n sortDir: \"asc\"\r\n };\r\n this.refreshList = this.refreshList.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.handleNewItemFormInput = this.handleNewItemFormInput.bind(this);\r\n this.handleFormInput = this.handleFormInput.bind(this);\r\n this.toggleAddNewCollapse = this.toggleAddNewCollapse.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleUnDelete = this.handleUnDelete.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.onEdit = this.onEdit.bind(this);\r\n this.onCancelEdit = this.onCancelEdit.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshList();\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n let filterList = filters || this.state.filters;\r\n let payload = {\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir\r\n }\r\n\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n \r\n api.post(apiUrl + 'GetFreightCarrierPaginatedList', payload)\r\n .then((response) => {\r\n this.setState({\r\n list: response.data.list\r\n })\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changedFilter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n toggleAddNewCollapse() {\r\n this.setState({\r\n showAddNew: !this.state.showAddNew,\r\n newItem: emptyFC,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n handleNewItemFormInput(event) {\r\n this.setState({ newItem: {...this.state.newItem, [event.target.name]: event.target.value } });\r\n }\r\n\r\n handleFormInput(event) {\r\n this.setState({ item: {...this.state.item, [event.target.name]: event.target.value } });\r\n }\r\n\r\n onEdit(item) {\r\n this.setState({item: item})\r\n }\r\n\r\n onCancelEdit() {\r\n this.setState({item: emptyFC})\r\n }\r\n\r\n isFormValid(item) {\r\n let warnings = [];\r\n if (!item.name || item.name.length < 1) {\r\n warnings.push(\"Please provide a valid name entry.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n }\r\n else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmit(e, item) {\r\n if (!this.isFormValid(item)) return;\r\n const payload = {\r\n id: item.id,\r\n name: item.name,\r\n };\r\n api.post(\"Reference/SaveFreightCarrier\", payload)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tif (response.data.success) {\r\n this.setState({\r\n showAddNew: item.id ? this.state.showAddNew : !this.state.showAddNew,\r\n newItem: emptyFC,\r\n item: emptyFC,\r\n message: null,\r\n messageFlavor: null\r\n }, () => this.refreshList());\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api.post(`Reference/ReviveFreightCarrierItem/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api.post(`Reference/DeleteFreightCarrierItem/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Freight Carriers

\r\n \r\n
\r\n \r\n \r\n {this.state.showAddNew\r\n ? null\r\n : \r\n this.toggleAddNewCollapse()}\r\n title=\"Add New Freight Carrier\"\r\n >\r\n Add\r\n \r\n \r\n }\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
New Freight Carrier
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onSubmit(e, this.state.newItem)}\r\n >\r\n Save\r\n \r\n this.toggleAddNewCollapse()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.list.length > 0 && this.state.list.map(item => (\r\n \r\n {this.state.item.id !== null && item.id === this.state.item.id\r\n ? \r\n \r\n \r\n \r\n : \r\n \r\n \r\n \r\n }\r\n \r\n ))}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n this.onSubmit(e, this.state.item)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelEdit()}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n
\r\n {item.name}\r\n \r\n \r\n {item.deactivatedAt\r\n ? this.handleUnDelete(item.id)}\r\n >\r\n Revive\r\n \r\n : \r\n this.onEdit(item)}\r\n size=\"sm\"\r\n >\r\n \r\n \r\n this.handleDelete(item.id)}\r\n >\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport {\r\n Navbar,\r\n Col,\r\n Row,\r\n NavbarBrand,\r\n Nav,\r\n NavItem,\r\n NavLink,\r\n UncontrolledDropdown,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem,\r\n NavbarToggler,\r\n Collapse\r\n}\r\nfrom 'reactstrap';\r\n// import DCLogo from '../assets/img/dc-logo.jpg';\r\nimport DCLogo from '../assets/img/logo_with_rugs.jpg';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport helpers from '../utils/helpers';\r\n\r\nclass Header extends Component {\r\n constructor(props) {\r\n const isMobile = helpers.isMobile(window);\r\n super(props);\r\n this.state = {\r\n isOpen: !isMobile,\r\n currentUser: this.props.currentUser\r\n };\r\n this.toggle = this.toggle.bind(this);\r\n this.Logout = this.Logout.bind(this);\r\n this.stopImpersonating = this.stopImpersonating.bind(this);\r\n }\r\n\r\n toggle() {\r\n this.setState(prevState => { return {isOpen: !prevState.isOpen }});\r\n }\r\n\r\n stopImpersonating() {\r\n this.props.clearImpersonation();\r\n }\r\n\r\n Logout() {\r\n // logout message, redirectPath\r\n this.props.logout(null, null);\r\n return ;\r\n }\r\n\r\n render() {\r\n if (!this.props.currentUser) {\r\n return null;\r\n }\r\n if (this.props.squarespace) {\r\n return null;\r\n }\r\n if (helpers.mustChangePassword(this.props.currentUser)) {\r\n return (\r\n \r\n \"DC\r\n \r\n );\r\n };\r\n const {\r\n isOpen\r\n } = this.state;\r\n const isMobile = helpers.isMobile(window);\r\n return (\r\n \r\n \r\n \r\n \"DC\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.children}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Header;\r\n","import React, { Component } from 'react';\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Table,\r\n Card,\r\n CardBody,\r\n Alert,\r\n ButtonGroup,\r\n Button\r\n} from 'reactstrap';\r\nimport {\r\n api,\r\n helpers,\r\n date_helpers,\r\n constants,\r\n filter_helpers\r\n} from '../utils';\r\nimport { FilterSet, SortHeader, FilterBoolean, FilterText, Pager, FilterSelect, FilterDate } from '../components';\r\nimport _ from \"lodash\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default class Home extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false,\r\n //ordersList: [],\r\n pagedList: {\r\n list: [],\r\n pageSize: 100,\r\n pageNumber: 1\r\n },\r\n filters: [{\r\n filterName: \"ActiveOnly\",\r\n value: true,\r\n filteredDisplay: \"Active Only: Yes\"\r\n },\r\n {\r\n filterName: \"OrderStatusId\",\r\n value: constants.ORDER_STATUS.OPEN.value,\r\n filteredDisplay: `Order Status: ${constants.ORDER_STATUS.OPEN.label}`\r\n }],\r\n sortColumn: \"CreatedAt\",\r\n sortDirection: constants.SORT_DIRECTION.descending,\r\n activeOnly: true\r\n };\r\n this.refreshList = this.refreshList.bind(this);\r\n this.setPage = this.setPage.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshList();\r\n }\r\n\r\n //refreshList() {\r\n // api\r\n // .post('Order/FilterOrders', {\r\n // PageSize: 50,\r\n // SortColumn: this.state.sortColumn,\r\n // SortDirection: this.state.sortDirection,\r\n // activeOnly: this.state.activeOnly\r\n // })\r\n // .then((response) => {\r\n // this.setState({\r\n // ordersList: response.data\r\n // });\r\n // })\r\n // .catch(helpers.catchHandler);\r\n //}\r\n\r\n onEdit(order) {\r\n this.setState({\r\n editOrder: order\r\n });\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n let filterList = filters || this.state.filters;\r\n let payload = {\r\n page: this.state.pagedList.pageNumber,\r\n pageSize: this.state.pagedList.pageSize,\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir,\r\n }\r\n\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n\r\n api.post('Order/GetPaginatedList', payload).then((response) => {\r\n let pagedList = response.data;\r\n pagedList.list = _.map(pagedList.list, i => ({\r\n ...i,\r\n totalPrice: i.totalPriceCurrency\r\n }));\r\n this.setState({ pagedList: pagedList });\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changedFilter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n setPage(page) {\r\n const newPagedList = Object.assign({}, this.state.pagedList);\r\n newPagedList.pageNumber = page;\r\n this.setState({ pagedList: newPagedList }, () => this.refreshList());\r\n }\r\n\r\n onMessageDismiss() {\r\n this.setState({ isMessageVisible: !this.state.isMessageVisible });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Recent Orders

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.pagedList && this.state.pagedList.list && this.state.pagedList.list.length > 0\r\n && this.state.pagedList.list.map(order => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Order #CreatedStatusAccountAgentTotal
{order.id}{date_helpers.dateTimeFormat(order.createdAt, \"MM/DD/YYYY hh:mm A\")}{order.orderStatusName}{order.customerName}{order.agentName}{order.totalPrice}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport {\r\n Button,\r\n Col,\r\n Row,\r\n Container,\r\n Table,\r\n ButtonGroup,\r\n Alert,\r\n Input,\r\n Label,\r\n Card,\r\n CardBody,\r\n Collapse\r\n} from 'reactstrap';\r\n//import api from '../utils/api';\r\nimport { api, constants, helpers, filter_helpers } from '../utils';\r\n//import helpers from '../utils/helpers';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n//import filter_helpers from '../utils/filter_helpers';\r\nimport _ from 'lodash';\r\nimport {\r\n FilterSet,\r\n SortHeader,\r\n FilterBoolean,\r\n FilterText,\r\n FilterMultiSelect\r\n} from '../components';\r\nimport Select from 'react-select';\r\nimport Switch from 'react-switch';\r\n\r\nconst emptySampleBook = {\r\n bookType: {\r\n value: \"\",\r\n label: \"\"\r\n },\r\n name: \"\",\r\n bookStatus: {\r\n value: \"\",\r\n label: \"\"\r\n },\r\n qty: \"\",\r\n sequence: \"\",\r\n reportGroupingOnly: false\r\n};\r\n\r\nexport default class MaintainBooks extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n sampleBooks: [],\r\n showAddBook: false,\r\n filters: [{\r\n filterName: \"ActiveOnly\",\r\n value: true,\r\n filteredDisplay: \"Active Only: Yes\"\r\n },\r\n {\r\n filterName: \"StatusTypeList\",\r\n value: [constants.SAMPLE_BOOK_STATUS_TYPE.ACTIVE],\r\n filteredDisplay: \"Status Type: Active\"\r\n }],\r\n newSampleBook: emptySampleBook,\r\n sort_field: 'BookName',\r\n sort_dir: 'asc',\r\n bookTypeList: [],\r\n message: null,\r\n messageFlavor: null,\r\n bookStatusList: []\r\n };\r\n this.refreshList = this.refreshList.bind(this);\r\n this.componentDidMount = this.componentDidMount.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.saveNewSampleBook = this.saveNewSampleBook.bind(this);\r\n this.updateSampleBook = this.updateSampleBook.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getBookTypes = api.fetch(\"Reference/GetSampleBookTypeList\")\r\n .then((response) => {\r\n return { bookTypeList: response.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n const getBookStatus = api.fetch(\"Reference/GetSampleBookStatusList\")\r\n .then((response) => {\r\n return { bookStatusList: response.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n Promise.all([\r\n getBookTypes,\r\n getBookStatus,\r\n ])\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, () =>\r\n this.refreshList());\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n const filterList = filters || this.state.filters;\r\n const payload = {\r\n SortField: sortField || this.state.sort_field,\r\n SortDir: sortDirection || this.state.sort_dir,\r\n };\r\n \r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n\r\n api.post('SampleBook/GetList', payload)\r\n .then((response) => {\r\n this.setState({ \r\n sampleBooks: _.map(response.data, b => {\r\n return {\r\n ...b,\r\n bookType: helpers.resolveValue(null, b.sampleBookTypeId, b.sampleBookTypeName),\r\n bookStatus: helpers.resolveValue(null, b.sampleBookStatusId, b.sampleBookStatusName),\r\n sequence: helpers.nullableString(b.sequence)\r\n }\r\n })\r\n })\r\n }).catch(error => error);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sort_dir: direction, sort_field: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) return filterElement.value;\r\n return '';\r\n }\r\n\r\n filterChange(changed_filter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changed_filter);\r\n this.setState( { filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n } \r\n\r\n toggleAddSampleBookCollapse() {\r\n this.setState({\r\n showAddBook: !this.state.showAddBook,\r\n newSampleBook: emptySampleBook,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n onEdit(sampleBookId) {\r\n const indexToEdit = _.findIndex(this.state.sampleBooks, {id: sampleBookId});\r\n let tempList = this.state.sampleBooks.slice();\r\n const snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n tempList[indexToEdit].isEditing = true;\r\n tempList[indexToEdit].pristine = snapshotItem;\r\n this.setState({\r\n sampleBooks: tempList\r\n });\r\n }\r\n\r\n onCancelEdit(sampleBookId) {\r\n const indexToEdit = _.findIndex(this.state.sampleBooks, {id: sampleBookId});\r\n let tempList = this.state.sampleBooks.slice();\r\n tempList[indexToEdit] = tempList[indexToEdit].pristine;\r\n this.setState({\r\n sampleBooks: tempList, \r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n updateSampleBookState(fieldName, value, sampleBookId) {\r\n const sampleBooks = this.state.sampleBooks.slice();\r\n const sampleBook = _.find(sampleBooks, x => x.id === sampleBookId);\r\n sampleBook[fieldName] = value;\r\n this.setState({\r\n sampleBooks: sampleBooks\r\n });\r\n }\r\n\r\n handleSampleBookStateChange(fieldName, value) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n newSampleBook: {\r\n ...prevState.newSampleBook,\r\n [fieldName]: value\r\n }\r\n }));\r\n }\r\n\r\n getSelectedBookType(bookTypeId) {\r\n if (!bookTypeId) {\r\n return null;\r\n }\r\n return _.find(this.state.bookTypeList, x => x.id === bookTypeId);\r\n }\r\n\r\n setSelectedBookType(option) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n newSampleBook: {\r\n ...prevState.newSampleBook,\r\n bookType: {\r\n value: option.value,\r\n label: option.label\r\n }\r\n }\r\n }));\r\n }\r\n\r\n updateSelectedBookType(option, sampleBookId) {\r\n const sampleBooks = this.state.sampleBooks.slice();\r\n const sampleBook = _.find(sampleBooks, x => x.id === sampleBookId);\r\n sampleBook.bookType = option;\r\n this.setState({\r\n sampleBooks: sampleBooks\r\n });\r\n }\r\n\r\n getSelectedBookStatus(bookStatusId) {\r\n if (!bookStatusId) {\r\n return null;\r\n }\r\n return _.find(this.state.bookStatusList, x => x.id === bookStatusId);\r\n }\r\n\r\n setSelectedBookStatus(option) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n newSampleBook: {\r\n ...prevState.newSampleBook,\r\n bookStatus: {\r\n value: option.value,\r\n label: option.label\r\n }\r\n }\r\n }));\r\n }\r\n\r\n updateSelectedBookStatus(option, sampleBookId) {\r\n const sampleBooks = this.state.sampleBooks.slice();\r\n const sampleBook = _.find(sampleBooks, x => x.id === sampleBookId);\r\n sampleBook.bookStatus = option;\r\n this.setState({\r\n sampleBooks: sampleBooks\r\n });\r\n }\r\n\r\n isFormValid(item) {\r\n const warnings = [];\r\n if (!item.bookType.value) {\r\n warnings.push(\"Book Type is required.\");\r\n }\r\n if (!item.name) {\r\n warnings.push(\"Book Name is required.\");\r\n }\r\n if (!item.qty && item.qty !== 0) {\r\n warnings.push(\"Quantity is required.\");\r\n }\r\n if (item.qty < 0) {\r\n warnings.push(\"Quantity must be 0 or greater.\");\r\n }\r\n if (item.qty > 2147483647) {\r\n warnings.push(\"Quantity is too large.\");\r\n }\r\n if (!item.bookStatus.value) {\r\n warnings.push(\"Book Status is required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\"\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n saveNewSampleBook() {\r\n if (!this.isFormValid(this.state.newSampleBook)) return;\r\n const data = {\r\n Id: null,\r\n Name: this.state.newSampleBook.name,\r\n SampleBookTypeId: this.state.newSampleBook.bookType.value,\r\n SampleBookStatusId: this.state.newSampleBook.bookStatus.value,\r\n Qty: Number(this.state.newSampleBook.qty),\r\n Sequence: this.state.newSampleBook.sequence ? Number(this.state.newSampleBook.sequence) : null,\r\n ReportGroupingOnly: this.state.newSampleBook.reportGroupingOnly\r\n };\r\n\r\n api.post('SampleBook/SaveNewSampleBook', data)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n showAddBook: false,\r\n newSampleBook: emptySampleBook,\r\n }, () => this.refreshList());\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n updateSampleBook(sampleBook) {\r\n if (!this.isFormValid(sampleBook)) return;\r\n const data = {\r\n Id: sampleBook.id,\r\n Name: sampleBook.name,\r\n SampleBookTypeId: sampleBook.bookType.value,\r\n SampleBookStatusId: sampleBook.bookStatus.value,\r\n Qty: Number(sampleBook.qty),\r\n Sequence: sampleBook.sequence ? Number(sampleBook.sequence) : null,\r\n ReportGroupingOnly: sampleBook.reportGroupingOnly\r\n };\r\n\r\n \r\n\r\n api.post(`SampleBook/UpdateSampleBook`, data)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n showAddBook: false,\r\n newSampleBook: emptySampleBook,\r\n }, () => this.refreshList());\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api.delete(`SampleBook/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api.post(`SampleBook/Undelete/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n toggleReportGroup(sampleBookId) {\r\n let sampleBooks = this.state.sampleBooks.slice();\r\n const sampleBookIndex = _.findIndex(sampleBooks, x => x.id === sampleBookId);\r\n sampleBooks[sampleBookIndex].reportGroupingOnly = !sampleBooks[sampleBookIndex].reportGroupingOnly;\r\n this.setState({\r\n sampleBooks: sampleBooks\r\n });\r\n }\r\n\r\n render() {\r\n const b = this.state.newSampleBook;\r\n return (\r\n \r\n \r\n \r\n {this.state.message && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Maintain Samples

\r\n \r\n
\r\n \r\n \r\n {this.state.showAddBook\r\n ? null\r\n : \r\n this.toggleAddSampleBookCollapse()}\r\n title=\"Add New Book\"\r\n >\r\n Add Book\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Add New Book
\r\n \r\n
\r\n \r\n \r\n \r\n this.setSelectedBookType(option)}\r\n />\r\n \r\n \r\n \r\n this.handleSampleBookStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n value={b.name}\r\n maxLength=\"100\"\r\n />\r\n \r\n \r\n \r\n this.handleSampleBookStateChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={b.qty}\r\n min=\"0\"\r\n max=\"2147483647\"\r\n />\r\n \r\n \r\n \r\n this.setSelectedBookStatus(option)}\r\n />\r\n \r\n \r\n \r\n this.handleSampleBookStateChange(\r\n event.target.name,\r\n event.target.value)}\r\n value={b.sequence}\r\n min=\"0\"\r\n max=\"2147483647\"\r\n />\r\n \r\n \r\n \r\n
\r\n this.handleSampleBookStateChange(\r\n \"reportGroupingOnly\",\r\n !b.reportGroupingOnly)}\r\n checked={b.reportGroupingOnly}\r\n />\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n this.saveNewSampleBook()}\r\n >\r\n Save\r\n \r\n this.toggleAddSampleBookCollapse()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.sampleBooks.map(b => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Report Grouping Only?\r\n
\r\n {b.isEditing ? (\r\n this.updateSelectedBookType(option, b.id)}\r\n />\r\n ) : b.bookType.label}\r\n \r\n {b.isEditing ? (\r\n this.updateSampleBookState(\r\n event.target.name,\r\n event.target.value,\r\n b.id\r\n )}\r\n maxLength=\"100\"\r\n />\r\n ) : b.name}\r\n \r\n {b.isEditing ? (\r\n this.updateSampleBookState(\r\n event.target.name,\r\n event.target.value,\r\n b.id\r\n )}\r\n min=\"0\"\r\n max=\"2147483647\"\r\n />\r\n ) : b.qty}\r\n \r\n {b.isEditing ? (\r\n this.updateSelectedBookStatus(option, b.id)}\r\n />\r\n ) : b.bookStatus.label}\r\n \r\n {b.isEditing ? (\r\n this.updateSampleBookState(\r\n event.target.name,\r\n event.target.value,\r\n b.id\r\n )}\r\n min=\"0\"\r\n max=\"2147483647\"\r\n />\r\n ) : b.sequence}\r\n \r\n {b.isEditing ? (\r\n
\r\n this.updateSampleBookState(\r\n \"reportGroupingOnly\",\r\n !b.reportGroupingOnly, b.id)}\r\n checked={b.reportGroupingOnly}\r\n />\r\n
\r\n ) : ( b.reportGroupingOnly ? : null )}\r\n
\r\n \r\n {b.isEditing ? (\r\n
\r\n this.updateSampleBook(b)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelEdit(b.id)}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n
\r\n ) : (\r\n
\r\n {b.deactivatedAt === null ? (\r\n \r\n this.onEdit(b.id)}\r\n size=\"sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport {\r\n Col,\r\n Row,\r\n Container,\r\n Table,\r\n Alert as RSAlert,\r\n Input,\r\n Label,\r\n Card,\r\n CardBody,\r\n Spinner,\r\n Button\r\n} from 'reactstrap';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport _, { constant } from 'lodash';\r\nimport moment from 'moment';\r\nimport Select from 'react-select';\r\nimport DatePicker from 'react-datepicker';\r\nimport Alert from \"react-s-alert\";\r\nimport AsyncSelect from \"react-select/async\";\r\n\r\nimport {\r\n FilterSet,\r\n FilterBoolean,\r\n FilterText,\r\n FilterMultiSelect\r\n} from '../components';\r\nimport { api, date_helpers, filter_helpers, helpers, constants } from '../utils';\r\n\r\nconst columnCountOptions = _.map(_.range(1, 101), n => { return { label: `${n}`, value: n }; });\r\n//const rowCountOptions = _.map(_.range(1, 500), n => { return { label: `${n}`, value: n }; });\r\nconst PAGE_SIZE = 25;\r\n\r\nconst statusOptions = [\r\n {\r\n name: constants.CUSTOMER_SAMPLE_BOOK_STATUSES.agent,\r\n id: constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.agent,\r\n colorClass: constants.CUSTOMER_SAMPLE_BOOK_STATUS_COLORS.agent\r\n },\r\n {\r\n name: constants.CUSTOMER_SAMPLE_BOOK_STATUSES.backorder,\r\n id: constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.backorder,\r\n colorClass: constants.CUSTOMER_SAMPLE_BOOK_STATUS_COLORS.backorder\r\n },\r\n // {\r\n // name: constants.CUSTOMER_SAMPLE_BOOK_STATUSES.faxed,\r\n // id: constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.faxed,\r\n // colorClass: constants.CUSTOMER_SAMPLE_BOOK_STATUS_COLORS.faxed\r\n // },\r\n {\r\n name: constants.CUSTOMER_SAMPLE_BOOK_STATUSES.rejected,\r\n id: constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.rejected,\r\n colorClass: constants.CUSTOMER_SAMPLE_BOOK_STATUS_COLORS.rejected\r\n },\r\n {\r\n name: constants.CUSTOMER_SAMPLE_BOOK_STATUSES.shipped,\r\n id: constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.shipped,\r\n colorClass: constants.CUSTOMER_SAMPLE_BOOK_STATUS_COLORS.shipped\r\n }\r\n];\r\n\r\nconst COLUMN_COUNT = 8;\r\n\r\nconst activeOnlyFilter = {\r\n filterName: \"ActiveOnly\",\r\n filteredDisplay: \"Active Only: Active\",\r\n value: true\r\n}\r\nexport default class MaintainSamples extends Component {\r\n constructor(props) {\r\n document.getElementById(\"dcNetSiteBody\").classList.remove('hidden-scrollbar');\r\n super(props);\r\n this.state = {\r\n bookList: [],\r\n customerList: [],\r\n sampleList: [],\r\n filters: [activeOnlyFilter],\r\n sort_field: 'Sequence',\r\n sort_dir: 'asc',\r\n message: null,\r\n messageFlavor: null,\r\n bookTypeList: [],\r\n columnCount: { label: 8, value: 8 },\r\n // rowCount: { label: 20, value: 20 },\r\n loading: false,\r\n currentStatusId: constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.shipped,\r\n updatingIds: { customerId: 0, sampleBookId: 0 },\r\n statusDate: moment().format(\"YYYY-MM-DD\"),\r\n checkAllForCustomerId: 0,\r\n checkAllForBookId: 0,\r\n selectedSampleBooks: [],\r\n sampleBookList: [],\r\n selectedCustomers: [],\r\n selectedCustomerNumbers: []\r\n };\r\n this.refreshList = this.refreshList.bind(this);\r\n this.resolveSampleGrid = this.resolveSampleGrid.bind(this);\r\n this.componentDidMount = this.componentDidMount.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.onSelectSample = this.onSelectSample.bind(this);\r\n this.clearSpinnerTimeout = this.clearSpinnerTimeout.bind(this);\r\n this.checkAllForCustomer = this.checkAllForCustomer.bind(this);\r\n // this.getBookLiteList = this.getBookLiteList.bind(this);\r\n this.getSampleBookTypeAhead = this.getSampleBookTypeAhead.bind(this);\r\n this.handleBookFilterChange = this.handleBookFilterChange.bind(this);\r\n this.getCustomerTypeAhead = this.getCustomerTypeAhead.bind(this);\r\n this.handleCustomerFilterChange = this.handleCustomerFilterChange.bind(this);\r\n this.getCustomerNumberTypeAhead = this.getCustomerNumberTypeAhead.bind(this);\r\n this.handleCustomerNumberFilterChange = this.handleCustomerNumberFilterChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n const getBookTypes = api.fetch(\"Reference/GetSampleBookTypeList\")\r\n .then((response) => {\r\n return { bookTypeList: response.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n this.setState({ loading: true }, () => {\r\n Promise.all([\r\n getBookTypes,\r\n this.getAgentList(),\r\n this.getSampleBookOptions()\r\n ])\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, this.refreshList);\r\n })\r\n .catch(helpers.catchHandler)\r\n .finally(() => this.setState({ loading: false }))\r\n })\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevState.columnCount.value !== this.state.columnCount.value) {\r\n this.refreshList();\r\n }\r\n // if (prevState.rowCount.value !== this.state.rowCount.value) {\r\n // this.refreshList();\r\n // }\r\n if (!_.isEqual(prevState.selectedSampleBooks, this.state.selectedSampleBooks)) {\r\n this.refreshList();\r\n }\r\n if (!_.isEqual(prevState.selectedCustomers, this.state.selectedCustomers)) {\r\n this.refreshList();\r\n }\r\n if (!_.isEqual(prevState.selectedCustomerNumbers, this.state.selectedCustomerNumbers)) {\r\n this.refreshList();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n document.getElementById(\"dcNetSiteBody\").classList.add('hidden-scrollbar');\r\n }\r\n\r\n checkAllForCustomer(id) {\r\n this.setState({ checkingAllForCustomerId: 0 }, () => {\r\n const payload = {\r\n sampleBookIds: _.map(this.state.bookList, b => b.id),\r\n statusDate: this.state.statusDate,\r\n customerId: id,\r\n customerSampleBookStatusId: this.state.currentStatusId,\r\n backorderDate: this.state.backorderDate,\r\n isManagementShipment: this.state.isManagementShipment\r\n }\r\n\r\n api.post(\"sample/bulkSampleBookForCustomer\", payload).then(r => {\r\n if (!r || !r.data || !r.data.success) {\r\n Alert.error(\"Error saving sample books\");\r\n } else {\r\n this.refreshList();\r\n }\r\n }).catch(error => Alert.error(error))\r\n .finally(() => this.setState({ checkingAllForCustomerId: 0 }))\r\n })\r\n }\r\n\r\n getAgentList() {\r\n let payload = {\r\n SortField: \"FirstName\",\r\n SortDir: 'asc',\r\n activeOnly: true\r\n }\r\n\r\n api.post(\"Agent/GetList\", payload)\r\n .then(response => {\r\n if (response && response.data) {\r\n this.setState({\r\n agents: _.map(response.data, a => {\r\n return {\r\n label: `${a.firstName} ${a.lastName}`, // label: `${a.lastName}, ${a.firstName}`,\r\n value: a.id\r\n }\r\n })\r\n })\r\n\r\n } else {\r\n throw new Error('Unable to load agent list');\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n getSampleBookOptions(name = \"\") {\r\n let payload = {\r\n Page: 1,\r\n PageSize: 100,\r\n SortField: \"Sequence\",\r\n SortDir: \"asc\",\r\n ActiveOnly: true,\r\n StatusTypeList: [constants.SAMPLE_BOOK_STATUS_TYPE.ACTIVE], \r\n BookName: name\r\n }\r\n\r\n api.post(\"SampleBook/GetSelectList\", payload)\r\n .then(response => {\r\n if (response && response.data) {\r\n this.setState({\r\n sampleBookList: response.data\r\n })\r\n } else {\r\n throw new Error('Unable to load sample book list');\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n\r\n getSampleBookTypeAhead(inputValue, callBack) {\r\n if (!inputValue || !inputValue.length || inputValue.length < 3) return;\r\n api\r\n .fetch(`SampleBook/SampleBookTypeahead/${inputValue}`)\r\n .then(response => {\r\n if (response && response.data) {\r\n callBack(response.data);\r\n } else {\r\n throw new Error(\"Error loading sample book list\")\r\n }\r\n })\r\n .catch(api.catchHanlder);\r\n }\r\n\r\n getCustomerTypeAhead(inputValue, callBack) {\r\n if (!inputValue || !inputValue.length || inputValue.length < 3) return;\r\n api\r\n .fetch(`Customer/CustomerTypeahead/${inputValue}`)\r\n .then(response => {\r\n if (response && response.data) {\r\n const options = _.map(response.data, x => {\r\n return {value: x.value, label: x.label}\r\n })\r\n callBack(options);\r\n } else {\r\n throw new Error(\"Error loading customer list\")\r\n }\r\n })\r\n .catch(api.catchHanlder);\r\n\r\n }\r\n\r\n getCustomerNumberTypeAhead(inputValue, callBack) {\r\n if (!inputValue || !inputValue.length || inputValue.length < 3) return;\r\n api\r\n .fetch(`Customer/CustomerNumberTypeahead/${inputValue}`)\r\n .then(response => {\r\n if (response && response.data) {\r\n const options = _.map(response.data, x => {\r\n return {value: x, label: x}\r\n })\r\n callBack(options);\r\n } else {\r\n throw new Error(\"Error loading customer list\")\r\n }\r\n })\r\n .catch(api.catchHanlder);\r\n\r\n }\r\n\r\n async refreshList(sortField, sortDirection, filters) {\r\n try {\r\n const filterList = filters || this.state.filters;\r\n let bookPayload = {\r\n SortField: sortField || this.state.sort_field,\r\n SortDir: sortDirection || this.state.sort_dir,\r\n PageSize: this.state.columnCount ? this.state.columnCount.value : COLUMN_COUNT\r\n };\r\n let customerPayload = {\r\n SortField: sortField || this.state.sort_field,\r\n SortDir: sortDirection || this.state.sort_dir,\r\n PageSize: PAGE_SIZE\r\n };\r\n\r\n _.each(filterList, filter => bookPayload[filter.filterName] = filter.value);\r\n _.each(filterList, filter => customerPayload[filter.filterName] = filter.value);\r\n\r\n if (this.state.selectedSampleBooks && this.state.selectedSampleBooks.length && this.state.selectedSampleBooks.length > 0) {\r\n bookPayload.SampleBookIdList = _.map(this.state.selectedSampleBooks, s => s.value);\r\n } else {\r\n bookPayload.StatusTypeList = [constants.SAMPLE_BOOK_STATUS_TYPE.ACTIVE];\r\n }\r\n if (this.state.selectedCustomers && this.state.selectedCustomers.length && this.state.selectedCustomers.length > 0) {\r\n customerPayload.IdList = _.map(this.state.selectedCustomers, s => s.value);\r\n }\r\n if (this.state.selectedCustomerNumbers && this.state.selectedCustomerNumbers.length && this.state.selectedCustomerNumbers.length > 0) {\r\n customerPayload.AccountNumberList = _.map(this.state.selectedCustomerNumbers, s => s.value);\r\n }\r\n\r\n const newState = {}\r\n\r\n const results = await Promise.all([\r\n api.post('SampleBook/GetPaginatedList', bookPayload),\r\n api.post('Customer/GetPaginatedList', customerPayload)\r\n ])\r\n\r\n if (results\r\n && results.length > 1\r\n && results[0].data\r\n && results[0].data.list\r\n && results[1].data\r\n && results[1].data.list\r\n ) {\r\n newState.bookList = results[0].data.list;\r\n newState.customerList = _.sortBy(results[1].data.list, c => { return c.name});\r\n\r\n const samplePayload = {\r\n CustomerIdList: _.map(newState.customerList, c => c.id),\r\n SampleBookIdList: _.map(newState.bookList, b => b.id),\r\n // ActiveOnly: //true\r\n }\r\n\r\n const sampleResults = await api.post('Sample/GetList', samplePayload)\r\n\r\n if (sampleResults && sampleResults.data) {\r\n newState.sampleList = sampleResults.data;\r\n }\r\n\r\n this.setState(newState, this.resolveSampleGrid);\r\n\r\n } else {\r\n throw \"Error loading sample books and customers\";\r\n }\r\n\r\n } catch (error) {\r\n console.error(error);\r\n Alert.error(\"Error loading customer and/or book data\")\r\n }\r\n }\r\n\r\n resolveSampleGrid() {\r\n let tempCustomerList = this.state.customerList.slice();\r\n tempCustomerList = _.map(tempCustomerList, customer => {\r\n let customerSampleList = [];\r\n _.each(this.state.bookList, book => {\r\n customerSampleList.push(this.determineSampleToPush(customer.id, book.id))\r\n })\r\n return {\r\n ...customer,\r\n customerSampleList\r\n }\r\n });\r\n this.setState({\r\n customerList: tempCustomerList\r\n })\r\n }\r\n\r\n resolveColor(statusId) {\r\n switch (statusId) {\r\n case constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.agent:\r\n return constants.CUSTOMER_SAMPLE_BOOK_STATUS_COLORS.agent\r\n case constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.backorder:\r\n return constants.CUSTOMER_SAMPLE_BOOK_STATUS_COLORS.backorder\r\n case constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.rejected:\r\n return constants.CUSTOMER_SAMPLE_BOOK_STATUS_COLORS.rejected\r\n // case constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.faxed:\r\n // return constants.CUSTOMER_SAMPLE_BOOK_STATUS_COLORS.faxed\r\n case constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.shipped:\r\n return constants.CUSTOMER_SAMPLE_BOOK_STATUS_COLORS.shipped\r\n default:\r\n return \"\"\r\n }\r\n }\r\n\r\n determineSampleToPush(customerId, bookId) {\r\n let sampleToPush = _.find(this.state.sampleList, (sample) => { // should be find?\r\n return sample.customerId === customerId && sample.sampleBookId === bookId\r\n })\r\n if (sampleToPush) {\r\n sampleToPush = {\r\n ...sampleToPush,\r\n isSelected: true\r\n }\r\n return sampleToPush;\r\n } else {\r\n return { // empty sample \r\n name: \"\",\r\n sampleBookId: bookId,\r\n customerId: customerId,\r\n customerSampleBookStatusId: 0,\r\n statusDate: null,\r\n isManagementShipment: false,\r\n enteredAt: null,\r\n isSelected: false,\r\n backorderDate: null\r\n }\r\n }\r\n }\r\n\r\n clearSpinnerTimeout() {\r\n if (this.spinnerTimeout) {\r\n this.spinnerTimeout && clearTimeout(this.spinnerTimeout);\r\n this.spinnerTimeout = null;\r\n this.setState({ updatingIds: { customerId: 0, sampleBookId: 0 } });\r\n }\r\n }\r\n\r\n onSelectSample(sample) {\r\n let tempCustomerList = this.state.customerList.slice();\r\n const indexToEdit1 = _.findIndex(tempCustomerList, { id: sample.customerId });\r\n\r\n let tempCustomerSampleList = tempCustomerList[indexToEdit1].customerSampleList.slice();\r\n const indexToEdit2 = _.findIndex(tempCustomerSampleList, { sampleBookId: sample.sampleBookId });\r\n\r\n const sampleToEdit = tempCustomerList[indexToEdit1].customerSampleList[indexToEdit2];\r\n\r\n this.spinnerTimeout = setTimeout(() => this.setState({ updatingIds: { customerId: sample.customerId, sampleBookId: sample.sampleBookId } }), 500);\r\n\r\n if (!sample.id) {\r\n sample.statusDate = this.state.statusDate;\r\n sample.customerSampleBookStatusId = this.state.currentStatusId;\r\n sample.backorderDate = this.state.backorderDate;\r\n api.post(\"Sample/CustomerSampleBook\", sample).then(r => {\r\n if (r && r.data && r.data.id) {\r\n this.refreshList();\r\n }\r\n }).catch(error => {\r\n console.error(error);\r\n Alert.error(\"Error loading book data\");\r\n })\r\n .finally(this.clearSpinnerTimeout)\r\n }\r\n else if (sampleToEdit.isSelected &&\r\n sampleToEdit.customerSampleBookStatusId === this.state.currentStatusId &&\r\n moment(sampleToEdit.statusDate).isSame(this.state.statusDate, \"day\")\r\n ) {\r\n sampleToEdit.customerSampleBookStatusId = 0;\r\n sampleToEdit.backorderDate = null;\r\n api.delete(`Sample/CustomerSampleBook/${sampleToEdit.id}`).then(r => {\r\n if (r && r.data && r.data.success) {\r\n this.refreshList();\r\n } else {\r\n throw r.data.message || \"Error deactivating sample\";\r\n }\r\n }).catch(error => {\r\n Alert.error(\"Error loading book data\");\r\n console.log(error);\r\n })\r\n .finally(this.clearSpinnerTimeout)\r\n } else {\r\n sampleToEdit.customerSampleBookStatusId = this.state.currentStatusId;\r\n sampleToEdit.backorderDate = this.state.backorderDate;\r\n sampleToEdit.statusDate = this.state.statusDate\r\n api.post(\"Sample/CustomerSampleBook\", sampleToEdit).then(r => {\r\n if (r && r.data && r.data.id) {\r\n this.refreshList();\r\n }\r\n }).catch(error => {\r\n Alert.error(\"Error loading book data\");\r\n console.log(error);\r\n })\r\n .finally(this.clearSpinnerTimeout)\r\n }\r\n\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sort_dir: direction, sort_field: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) return filterElement.value;\r\n return '';\r\n }\r\n\r\n handleBookFilterChange(e) {\r\n let display = \"\";\r\n let labels = [];\r\n let values = [];\r\n let filters = _.filter(this.state.filters, x => x.filterName !== \"SampleBookIdList\");\r\n let selectedSampleBooks = [];\r\n if (e && e.length && e.length > 0) {\r\n labels = _.map(e, b => b.label);\r\n values = _.map(e, b => b.value);\r\n display = \": \" + labels.join(\", \");\r\n selectedSampleBooks = e;\r\n\r\n filters = [\r\n ...filters,\r\n {\r\n filterName: \"SampleBookIdList\",\r\n filteredDisplay: \"Books\" + display,\r\n labels: labels,\r\n value: values\r\n }\r\n ]\r\n }\r\n this.setState({ filters, clearFilters: false, selectedSampleBooks })\r\n }\r\n\r\n handleCustomerFilterChange(e) {\r\n let display = \"\";\r\n let labels = [];\r\n let values = [];\r\n let filters = _.filter(this.state.filters, x => x.filterName !== \"CustomerIdList\");\r\n let selectedCustomers = [];\r\n if (e && e.length && e.length > 0) {\r\n labels = _.map(e, b => b.label);\r\n values = _.map(e, b => b.value);\r\n display = \": \" + labels.join(\", \");\r\n selectedCustomers = e;\r\n\r\n filters = [\r\n ...filters,\r\n {\r\n filterName: \"CustomerIdList\",\r\n filteredDisplay: \"Customers\" + display,\r\n labels: labels,\r\n value: values\r\n }\r\n ]\r\n }\r\n this.setState({ filters, clearFilters: false, selectedCustomers })\r\n }\r\n\r\n handleCustomerNumberFilterChange(e) {\r\n let display = \"\";\r\n let labels = [];\r\n let values = [];\r\n let filters = _.filter(this.state.filters, x => x.filterName !== \"AccountNumberList\");\r\n let selectedCustomerNumbers = [];\r\n if (e && e.length && e.length > 0) {\r\n labels = _.map(e, b => b.label);\r\n values = _.map(e, b => b.value);\r\n display = \": \" + labels.join(\", \");\r\n selectedCustomerNumbers = e;\r\n\r\n filters = [\r\n ...filters,\r\n {\r\n filterName: \"AccountNumberList\",\r\n filteredDisplay: \"Account Numbers\" + display,\r\n labels: labels,\r\n value: values\r\n }\r\n ]\r\n }\r\n this.setState({ filters, clearFilters: false, selectedCustomerNumbers })\r\n }\r\n\r\n filterChange(changed_filter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changed_filter);\r\n this.setState({ filters: filters, clearValue: false }, this.refreshList);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, selectedSampleBooks: [], selectedCustomers: [], selectedCustomerNumbers: [], clearValue: true }, this.refreshList);\r\n }\r\n\r\n resolveTitle(sample) {\r\n let title = \"\";\r\n\r\n switch (sample.customerSampleBookStatusId) {\r\n case constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.agent:\r\n title = \"Agent\\n\";\r\n break;\r\n case constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.shipped:\r\n title = \"Shipped\\n\";\r\n break;\r\n // case constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.faxed:\r\n // title = \"Faxed\\n\";\r\n // break;\r\n case constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.rejected:\r\n title = \"Rejected\\n\";\r\n break;\r\n case constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.backorder:\r\n title = \"Backorder\\n\";\r\n break;\r\n default:\r\n\r\n }\r\n\r\n if (sample.statusDate) {\r\n title = `${title}Status Date: ${moment(sample.statusDate).format(\"MMM DD, YYYY\")}`;\r\n }\r\n if (sample.backorderDate) {\r\n title = title + `\\n Backorder Date: ${moment(sample.backorderDate).format(\"MMM DD, YYYY\")}`\r\n }\r\n\r\n return title ? title : \"N/A\";\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Maintain Samples

\r\n \r\n
\r\n \r\n {_.map(statusOptions, ({ name, id, colorClass }) => (\r\n \r\n this.setState({ currentStatusId: id })}\r\n className={colorClass}\r\n style={{\r\n color: \"white\",\r\n textAlign: \"center\",\r\n borderRadius: 4,\r\n padding: \".25em\",\r\n borderStyle: id === this.state.currentStatusId ? \"dotted\" : \"\",\r\n borderColor: \"#86b1cc\",\r\n borderWidth: 5\r\n }}\r\n >\r\n {name}\r\n \r\n \r\n )\r\n )}\r\n \r\n {this.state.currentStatusId === constants.CUSTOMER_SAMPLE_BOOK_STATUS_IDS.backorder ? (\r\n \r\n \r\n \r\n \r\n \r\n this.setState({ backorderDate: e })}\r\n selected={date_helpers.dateFormatForClient(this.state.backorderDate)}\r\n />\r\n {this.state.backorderDate ?\r\n this.setState({ backorderDate: null })}>\r\n \r\n : null}\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n Books\r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n Customer\r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n Account #\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Book Count\r\n this.setState({ columnCount: e })}\r\n options={columnCountOptions}\r\n />\r\n \r\n \r\n Date\r\n this.setState({ statusDate: moment(e.target.value).format(\"YYYY-MM-DD\") })}\r\n />\r\n \r\n \r\n {this.state.loading ?
Loading...
:\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.bookList.map(book => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {this.state.customerList.map(customer => (\r\n \r\n \r\n {_.map(customer.customerSampleList, sample => {\r\n return (\r\n \r\n )\r\n })}\r\n \r\n ))}\r\n \r\n
\r\n {book.name}\r\n
\r\n \r\n
\r\n {customer.name + ` (${customer.number})`}\r\n
\r\n
\r\n {this.state.checkingAllForCustomerId ?\r\n \r\n :\r\n \r\n }\r\n
\r\n
\r\n
\r\n {this.state.updatingIds &&\r\n this.state.updatingIds.customerId === sample.customerId &&\r\n this.state.updatingIds.sampleBookId === sample.sampleBookId ?\r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n this.onSelectSample(sample)}\r\n />\r\n \r\n \r\n }\r\n
\r\n \r\n
}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component, memo } from 'react';\r\nimport {\r\n Button,\r\n ButtonGroup,\r\n Card,\r\n Col,\r\n Row,\r\n Table,\r\n Alert,\r\n Collapse,\r\n CardBody,\r\n Label,\r\n Badge, \r\n Input,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Form\r\n} from 'reactstrap';\r\nimport AsyncSelect from 'react-select/async';\r\nimport Select from 'react-select';\r\nimport DatePicker from \"react-datepicker\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport _ from 'lodash';\r\nimport {\r\n api,\r\n helpers,\r\n date_helpers, \r\n constants\r\n} from '../utils';\r\nimport {\r\n SortHeader\r\n} from '../components';\r\nimport moment from 'moment';\r\n\r\n\r\nconst emptyMemoOrderLine = {\r\n typeOfMemoOrderLineStatus: {value: 1, label: \"Pending\"},\r\n lastStatusAt: new Date(),\r\n product: null,\r\n productColor: null,\r\n memoSize: null,\r\n qty: '1',\r\n commentCount: 0 // for temporary use only\r\n};\r\n\r\nconst emptySampleOrderLine = {\r\n typeOfMemoOrderLineStatus: {value: 1, label: \"Pending\"},\r\n lastStatusAt: new Date(),\r\n sampleBook: null,\r\n qty: '1',\r\n commentCount: 0 // for temporary use only\r\n};\r\n\r\nconst emptyOrderLineComment = {\r\n id: 0,\r\n dsc: \"\",\r\n commentType: null,\r\n markedForDeletion: false\r\n};\r\n\r\nclass MemoOrderLines extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n memoOrderId: props.memoOrderId,\r\n memoOrderLines: _.filter(props.memoOrderLines, orderline => orderline.product != null),\r\n sampleOrderLines: _.filter(props.memoOrderLines, orderline => orderline.sampleBook != null),\r\n customerId: props.customerId,\r\n filters: [],\r\n sort_field: 'id',\r\n sort_dir: 'asc',\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false,\r\n memoOrderLineStatusList: [],\r\n memoOrderLineToAddEdit: emptyMemoOrderLine,\r\n sampleOrderLineToAddEdit: emptySampleOrderLine,\r\n showMemoOrderLineForm: true,\r\n showSampleOrderLineForm: true,\r\n newMemoOrderLineComment: emptyOrderLineComment,\r\n newSampleOrderLineComment: emptyOrderLineComment,\r\n memoOrderLineCommentList: [],\r\n sampleOrderLineCommentList: [],\r\n commentTypeList: [],\r\n editingMemoOrderLineNotes: false,\r\n editingSampleOrderLineNotes: false,\r\n selectAllMemoOrderLinesCheckboxSelected: false,\r\n selectAllSampleOrderLinesCheckboxSelected: false,\r\n productList: [],\r\n sampleBookList: [],\r\n product: null,\r\n loadingProductOptions: false,\r\n loadingSampleBookOptions: false,\r\n deletingMultipleOrderLines: false\r\n };\r\n this.refreshList = this.refreshList.bind(this);\r\n this.onDismiss = this.onDismiss.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.setMemoOrderLineLastStatusAtDate = this.setMemoOrderLineLastStatusAtDate.bind(this);\r\n this.setSampleOrderLineLastStatusAtDate = this.setSampleOrderLineLastStatusAtDate.bind(this);\r\n this.onEditMemoOrderLine = this.onEditMemoOrderLine.bind(this);\r\n this.onEditSampleOrderLine = this.onEditSampleOrderLine.bind(this);\r\n this.setSelectedProduct = this.setSelectedProduct.bind(this);\r\n this.fetchProductMemoSizes = this.fetchProductMemoSizes.bind(this);\r\n this.fetchProductSelectsForOrderLineToEdit = this.fetchProductSelectsForOrderLineToEdit.bind(this);\r\n this.onSelectAllMemoOrderLinesCheckbox = this.onSelectAllMemoOrderLinesCheckbox.bind(this);\r\n this.onSelectAllSampleOrderLinesCheckbox = this.onSelectAllSampleOrderLinesCheckbox.bind(this);\r\n this.onSelectIndividualMemoOrderLineCheckbox = this.onSelectIndividualMemoOrderLineCheckbox.bind(this);\r\n this.onSelectIndividualSampleOrderLineCheckbox = this.onSelectIndividualSampleOrderLineCheckbox.bind(this);\r\n this.saveMemoOrderLine = this.saveMemoOrderLine.bind(this);\r\n this.updateSelectedMemoOrderLines = this.updateSelectedMemoOrderLines.bind(this);\r\n this.deleteSelectedMemoOrderLines = this.deleteSelectedMemoOrderLines.bind(this);\r\n this.moveSelectedMemoOrderLinesToNewOrder = this.moveSelectedMemoOrderLinesToNewOrder.bind(this);\r\n this.getProductOptions = this.getProductOptions.bind(this);\r\n this.refreshProductOptions = this.refreshProductOptions.bind(this);\r\n // this.refreshSampleBookOptions = this.refreshSampleBookOptions.bind(this);\r\n this.onSampleBookChange = this.onSampleBookChange.bind(this);\r\n this.onSaveMemoOrderLineNote = this.onSaveMemoOrderLineNote.bind(this);\r\n this.onSaveSampleOrderLineNote = this.onSaveSampleOrderLineNote.bind(this);\r\n this.showDeleteMemoOrderLineConfirmationModal = this.showDeleteMemoOrderLineConfirmationModal.bind(this);\r\n this.showMoveSelectedConfirmationModal = this.showMoveSelectedConfirmationModal.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({loading: true, loadingProductOptions: true, loadingSampleBookOptions: true}, () => {\r\n Promise.all([\r\n api.fetch(\"Reference/GetMemoOrderLineStatusList\"),\r\n this.getProductOptions(),\r\n this.getSampleBookOptions(),\r\n api.fetch(\"Reference/GetCommentTypeList\")\r\n ]).then(([memoOrderLineStatusList, products, sampleBooks, commentTypes]) => {\r\n this.setState({\r\n memoOrderLineStatusList: memoOrderLineStatusList.data,\r\n productList: products.data,\r\n sampleBookList: sampleBooks.data,\r\n commentTypeList: commentTypes.data\r\n })\r\n })\r\n .catch(error => Alert.error(error))\r\n .finally(() => this.setState({loading: false, loadingProductOptions: false, loadingSampleBookOptions: false}))\r\n })\r\n //refreshList is not called here as initial memoOrderLines come in as props from MemoOrders component\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.memoOrderLines !== this.props.memoOrderLines) {\r\n this.setState({ \r\n // memoOrderLines: this.props.memoOrderLines,\r\n memoOrderLines: _.filter(this.props.memoOrderLines, orderline => orderline.product != null),\r\n sampleOrderLines: _.filter(this.props.memoOrderLines, orderline => orderline.sampleBook != null),\r\n });\r\n }\r\n\r\n if (prevProps.memoOrderId !== this.props.memoOrderId) {\r\n this.setState({ memoOrderId: this.props.memoOrderId });\r\n }\r\n\r\n if (prevProps.customerId !== this.props.customerId) {\r\n this.setState({ customerId: this.props.customerId });\r\n }\r\n }\r\n\r\n getProductOptions(name = \"\") {\r\n return api.post('Product/GetSelectList', {\r\n Page: 1,\r\n PageSize: 100,\r\n SortField: \"DCName\",\r\n SortDir: \"asc\",\r\n DCName: name,\r\n HasMemoSize: true,\r\n ActiveOnly: true,\r\n HasColors: true,\r\n ProductTypeList: [\r\n constants.PRODUCT_TYPE.CARPET.value,\r\n constants.PRODUCT_TYPE.RUG.value,\r\n constants.PRODUCT_TYPE.RUG_PAD.value,\r\n constants.PRODUCT_TYPE.INTL_RUG.value,\r\n constants.PRODUCT_TYPE.HARD_SURFACE.value,\r\n constants.PRODUCT_TYPE.ROLL_RUNNER.value,\r\n constants.PRODUCT_TYPE.BORDER_OR_BINDING.value,\r\n constants.PRODUCT_TYPE.CARPET_TILE.value,\r\n constants.PRODUCT_TYPE.SAMPLE.value,\r\n constants.PRODUCT_TYPE.SQUARE_FOOT_RUG.value\r\n ]\r\n })\r\n }\r\n\r\n refreshProductOptions(input, callback) {\r\n this.setState({loadingProductOptions: true}, () => {\r\n this.getProductOptions(input).then(r => {\r\n if(r){\r\n callback(r.data);\r\n // this.setState({productList: r.data})\r\n // return r.data\r\n }else{\r\n throw new Error(\"Unable to refresh product list\")\r\n }\r\n })\r\n .catch(error => Alert.error(error))\r\n .finally(() => this.setState({loadingProductOptions: false}))\r\n })\r\n }\r\n\r\n getSampleBookOptions(name = \"\") {\r\n return api.post('SampleBook/GetSelectList', {\r\n Page: 1,\r\n PageSize: 100,\r\n SortField: \"BookName\",\r\n SortDir: \"asc\",\r\n ActiveOnly: true,\r\n BookName: name\r\n })\r\n }\r\n\r\n // refreshSampleBookOptions(input, callback) {\r\n // this.setState({loadingSampleBookOptions: true}, () => {\r\n // this.getSampleBookOptions(input).then(r => {\r\n // if(r){\r\n // callback(r.data);\r\n // // this.setState({sampleBookList: r.data})\r\n // // return r.data\r\n // }else{\r\n // throw new Error(\"Unable to refresh product list\")\r\n // }\r\n // })\r\n // .catch(error => Alert.error(error))\r\n // .finally(() => this.setState({loadingSampleBookOptions: false}))\r\n // })\r\n // }\r\n\r\n refreshList(sortField, sortDirection) {\r\n const payload = {\r\n SortField: sortField || this.state.sort_field,\r\n SortDir: sortDirection || this.state.sort_dir,\r\n };\r\n api.post(`MemoOrder/GetMemoOrderLines/${this.state.memoOrderId}`, payload)\r\n .then(response => {\r\n let orderLines = _.map(response.data, ol => {\r\n return {\r\n id: ol.id,\r\n lastStatusAt: date_helpers.getMomentFromString(ol.lastStatusAt),\r\n memoOrderId: ol.memoOrderId,\r\n memoSize: helpers.resolveValue(null, ol.memoSizeId, ol.memoSizeName),\r\n productColor: helpers.resolveValue(\r\n null, \r\n ol.productColorId, \r\n `${ol.productColorName}${ol.productColorNumber ? (' ' + ol.productColorNumber) : ''}`\r\n ),\r\n product: helpers.resolveValue(\r\n null, \r\n ol.productId, \r\n `${ol.productDCName} ${ol.productDCNumber ? '(' + ol.productDCNumber + ')' : ''}`),\r\n sampleBook: helpers.resolveValue(\r\n null, \r\n ol.sampleBookId, \r\n ol.sampleBookName),\r\n sampleBookStock: ol.sampleBookStock,\r\n productMemoShelfNumber: helpers.nullableString(ol.productMemoShelfNumber),\r\n typeOfMemoOrderLineStatus: helpers.resolveValue(null, ol.typeOfMemoOrderLineStatus, ol.typeOfMemoOrderLineStatusName),\r\n memoOrderLineStatus: null,\r\n supplierName: ol.productSupplierName,\r\n qty: ol.qty ? ol.qty : '1',\r\n deactivatedAt: null,\r\n orderLineComments: _.map(ol.memoOrderLineComments, comment => {\r\n return {\r\n ...comment, \r\n local_id: -1*(ol.memoOrderLineComments.indexOf(comment)+1),\r\n commentType: helpers.resolveValue(null, comment.commentTypeId, comment.commentTypeName),\r\n createdAt: date_helpers.getMomentFromString(comment.createdAt)\r\n }\r\n }),\r\n commentCount: ol.memoOrderLineComments ? ol.memoOrderLineComments.length : 0, // for temporary use only\r\n productMemoSize: ol.productMemoSize,\r\n isSelected: false,\r\n lastSampleReceivedAt: date_helpers.getMomentFromString(ol.lastSampleReceivedAt),\r\n }\r\n });\r\n this.setState({\r\n memoOrderLines: _.filter(orderLines, orderline => orderline.product != null),\r\n sampleOrderLines: _.filter(orderLines, orderline => orderline.sampleBook != null),\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n } \r\n\r\n doSort(field, direction) {\r\n this.setState({ sort_dir: direction, sort_field: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n toggleAddMemoOrderLineCollapse() {\r\n this.setState({\r\n // showMemoOrderLineForm: !this.state.showMemoOrderLineForm,\r\n memoOrderLineToAddEdit: emptyMemoOrderLine,\r\n memoOrderLineCommentList: [],\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false,\r\n productColorsList: [],\r\n memoSizeList: [],\r\n editingMemoOrderLineNotes: false, \r\n });\r\n }\r\n\r\n toggleAddSampleOrderLineCollapse() {\r\n this.setState({\r\n // showSampleOrderLineForm: !this.state.showSampleOrderLineForm,\r\n sampleOrderLineToAddEdit: emptySampleOrderLine,\r\n sampleOrderLineCommentList: [],\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false,\r\n editingSampleOrderLineNotes: false, \r\n });\r\n }\r\n\r\n setMemoOrderLineStatus(option) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n memoOrderLineToAddEdit: {\r\n ...prevState.memoOrderLineToAddEdit,\r\n typeOfMemoOrderLineStatus: option\r\n }\r\n }));\r\n }\r\n\r\n setSampleOrderLineStatus(option) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n sampleOrderLineToAddEdit: {\r\n ...prevState.sampleOrderLineToAddEdit,\r\n typeOfMemoOrderLineStatus: option\r\n }\r\n }));\r\n }\r\n\r\n setMemoOrderLineLastStatusAtDate(date) {\r\n this.setState({\r\n memoOrderLineToAddEdit: {\r\n ...this.state.memoOrderLineToAddEdit,\r\n lastStatusAt: date\r\n }\r\n });\r\n }\r\n\r\n setSampleOrderLineLastStatusAtDate(date) {\r\n this.setState({ \r\n sampleOrderLineToAddEdit: {\r\n ...this.state.sampleOrderLineToAddEdit,\r\n lastStatusAt: date\r\n }\r\n });\r\n }\r\n\r\n setSelectedProduct(option) {\r\n api.fetch(`Order/GetActiveProductColors/${option.value}`)\r\n .then(response => {\r\n this.setState({\r\n productColorsList: response.data,\r\n memoOrderLineToAddEdit: {\r\n ...this.state.memoOrderLineToAddEdit,\r\n product: option,\r\n productColor: response.data.length > 0 ? response.data[0] : null\r\n }\r\n }, () => this.fetchProductMemoSizes(option));\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onSampleBookChange(e) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n sampleOrderLineToAddEdit: {\r\n ...prevState.sampleOrderLineToAddEdit,\r\n sampleBook: e\r\n }\r\n }));\r\n }\r\n\r\n fetchProductMemoSizes(option) {\r\n api.fetch(`Product/GetProduct/${option.value}`)\r\n .then(response => {\r\n let selectedProductColorId = this.state.memoOrderLineToAddEdit.productColor ? this.state.memoOrderLineToAddEdit.productColor.value : null;\r\n let memoSizeList = _.filter(response.data.productMemoSizes, function (x) {\r\n return x.productColorId === selectedProductColorId\r\n })\r\n this.setState({\r\n memoSizeList: _.map(memoSizeList, ms => {\r\n return {\r\n ...ms,\r\n value: ms.memoSizeId,\r\n label: ms.memoSizeName\r\n }\r\n }),\r\n memoOrderLineToAddEdit: {\r\n ...this.state.memoOrderLineToAddEdit,\r\n // memoSize: memoSizeList.length > 0 ? helpers.resolveValue(null, response.data.productMemoSizes[0].memoSizeId, response.data.productMemoSizes[0].memoSizeName) : null\r\n memoSize: memoSizeList.length > 0 \r\n ? helpers.resolveValue(\r\n null, \r\n response.data.defaultMemoSizeId ? response.data.defaultMemoSizeId : response.data.productMemoSizes[0].memoSizeId,\r\n response.data.defaultMemoSizeId ? response.data.defaultMemoSizeName : response.data.productMemoSizes[0].memoSizeName) \r\n : null\r\n }\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n setSelectedProductColor(option) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n memoOrderLineToAddEdit: {\r\n ...prevState.memoOrderLineToAddEdit,\r\n productColor: option\r\n }\r\n }));\r\n }\r\n\r\n setSelectedMemoSize(option) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n memoOrderLineToAddEdit: {\r\n ...prevState.memoOrderLineToAddEdit,\r\n memoSize: option\r\n }\r\n }));\r\n }\r\n\r\n handleMemoOrderLineQtyChange(value) {\r\n this.setState({\r\n memoOrderLineToAddEdit: {\r\n ...this.state.memoOrderLineToAddEdit,\r\n qty: value\r\n }\r\n });\r\n }\r\n\r\n handleSampleOrderLineQtyChange(value) {\r\n this.setState({\r\n sampleOrderLineToAddEdit: {\r\n ...this.state.sampleOrderLineToAddEdit,\r\n qty: value\r\n }\r\n });\r\n }\r\n\r\n isFormValid(item) {\r\n let warnings = [];\r\n if(!item.typeOfMemoOrderLineStatus) {\r\n warnings.push(\"Status is required.\");\r\n }\r\n if(!item.lastStatusAt) {\r\n warnings.push(\"Last Status At is required.\");\r\n }\r\n if(!item.qty) {\r\n warnings.push(\"Quantity is required.\");\r\n }\r\n if (!item.product && !item.sampleBook) {\r\n warnings.push(\"Product is required.\");\r\n }\r\n // if(!item.productColor) {\r\n // warnings.push(\"Product color is required.\");\r\n // }\r\n if(item.product && !item.memoSize) {\r\n warnings.push(\"Memo size is required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n });\r\n } else {\r\n this.setState({ message: null, isMessageVisible: false, messageFlavor: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n saveNewMemoOrderWithOrderLine(orderLineToAddEdit) {\r\n if (!this.isFormValid(orderLineToAddEdit)) return;\r\n const orderLineComments = orderLineToAddEdit.product\r\n ? this.formatOrderLineCommentsForDto(this.state.memoOrderLineCommentList, orderLineToAddEdit.id)\r\n : this.formatOrderLineCommentsForDto(this.state.sampleOrderLineCommentList, orderLineToAddEdit.id);\r\n const data = {\r\n Id: 0,\r\n MemoOrderId: this.state.memoOrderId,\r\n TypeOfMemoOrderLineStatus: orderLineToAddEdit.typeOfMemoOrderLineStatus.value,\r\n LastStatusAt: orderLineToAddEdit.lastStatusAt,\r\n ProductId: orderLineToAddEdit.product ? orderLineToAddEdit.product.value : null,\r\n SampleBookId: orderLineToAddEdit.sampleBook ? orderLineToAddEdit.sampleBook.value : null,\r\n ProductColorId: orderLineToAddEdit.productColor ? orderLineToAddEdit.productColor.value : null,\r\n MemoSizeId: orderLineToAddEdit.memoSize ? orderLineToAddEdit.memoSize.value : null,\r\n Qty: Number(orderLineToAddEdit.qty),\r\n memoOrderLineComments: orderLineComments,\r\n CustomerId: this.state.customerId\r\n };\r\n this.setState({\r\n // showMemoOrderLineForm: false,\r\n memoOrderLineToAddEdit: emptyMemoOrderLine,\r\n sampleOrderLineToAddEdit: emptySampleOrderLine\r\n }, () => this.props.saveNewMemoOrderWithOrderLine(data));\r\n }\r\n\r\n\r\n saveNewMemoOrderLine(orderLineToAddEdit) {\r\n if (!this.isFormValid(orderLineToAddEdit)) return;\r\n const orderLineComments = orderLineToAddEdit.product\r\n ? this.formatOrderLineCommentsForDto(this.state.memoOrderLineCommentList, orderLineToAddEdit.id)\r\n : this.formatOrderLineCommentsForDto(this.state.sampleOrderLineCommentList, orderLineToAddEdit.id);\r\n const data = {\r\n Id: 0,\r\n MemoOrderId: this.state.memoOrderId,\r\n TypeOfMemoOrderLineStatus: orderLineToAddEdit.typeOfMemoOrderLineStatus.value,\r\n LastStatusAt: orderLineToAddEdit.lastStatusAt,\r\n ProductId: orderLineToAddEdit.product ? orderLineToAddEdit.product.value : null,\r\n SampleBookId: orderLineToAddEdit.sampleBook ? orderLineToAddEdit.sampleBook.value : null,\r\n ProductColorId: orderLineToAddEdit.productColor ? orderLineToAddEdit.productColor.value : null,\r\n MemoSizeId: orderLineToAddEdit.memoSize ? orderLineToAddEdit.memoSize.value : null,\r\n Qty: Number(orderLineToAddEdit.qty),\r\n memoOrderLineComments: orderLineComments,\r\n CustomerId: this.state.customerId\r\n };\r\n this.saveMemoOrderLine(data);\r\n }\r\n\r\n updateMemoOrderLine(orderLineToUpdate, updateToShipped = null, updateToBackOrdered = null) {\r\n if (!this.isFormValid(orderLineToUpdate)) return;\r\n const orderLineComments = orderLineToUpdate.product\r\n ? this.formatOrderLineCommentsForDto(this.state.memoOrderLineCommentList, orderLineToUpdate.id)\r\n : this.formatOrderLineCommentsForDto(this.state.sampleOrderLineCommentList, orderLineToUpdate.id);\r\n const data = {\r\n Id: orderLineToUpdate.id,\r\n MemoOrderId: this.state.memoOrderId,\r\n TypeOfMemoOrderLineStatus: updateToShipped \r\n ? constants.MEMO_ORDERLINE_STATUS.SHIPPED \r\n : updateToBackOrdered\r\n ? constants.MEMO_ORDERLINE_STATUS.BACKORDER\r\n : orderLineToUpdate.typeOfMemoOrderLineStatus.value,\r\n LastStatusAt: updateToShipped || updateToBackOrdered ? moment() : orderLineToUpdate.lastStatusAt,\r\n ProductId: orderLineToUpdate.product ? orderLineToUpdate.product.value : null,\r\n SampleBookId: orderLineToUpdate.sampleBook ? orderLineToUpdate.sampleBook.value : null,\r\n ProductColorId: orderLineToUpdate.productColor ? orderLineToUpdate.productColor.value : null,\r\n MemoSizeId: orderLineToUpdate.memoSize ? orderLineToUpdate.memoSize.value : null,\r\n Qty: Number(orderLineToUpdate.qty),\r\n MemoOrderLineComments: orderLineComments,\r\n CustomerId: this.state.customerId\r\n };\r\n this.saveMemoOrderLine(data);\r\n }\r\n\r\n saveMemoOrderLine(data) {\r\n api.post(\"MemoOrder/SaveMemoOrderLine\", data)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.setState({\r\n // showMemoOrderLineForm: false,\r\n memoOrderLineToAddEdit: data.ProductId ? emptyMemoOrderLine : this.state.memoOrderLineToAddEdit,\r\n newMemoOrderLineComment: data.ProductId ? \"\" : this.state.newMemoOrderLineComment,\r\n memoOrderLineCommentList: data.ProductId ? [] : this.state.memoOrderLineCommentList,\r\n editingMemoOrderLineNotes: data.ProductId ? false : this.state.editingMemoOrderLineNotes,\r\n sampleOrderLineToAddEdit: data.SampleBookId ? emptySampleOrderLine : this.state.sampleOrderLineToAddEdit,\r\n newSampleOrderLineComment: data.SampleBookId ? \"\" : this.state.newSampleOrderLineComment,\r\n sampleOrderLineCommentList: data.SampleBookId ? [] : this.state.sampleOrderLineCommentList,\r\n editingSampleOrderLineNotes: data.SampleBookId ? false : this.state.editingSampleOrderLineNotes,\r\n }, () => this.refreshList());\r\n } else {\r\n this.setState({ \r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n isMessageVisible: true\r\n });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n // For Ship Selected && Backorder Selected buttons\r\n updateSelectedMemoOrderLines(updateToShipped = null, updateToBackOrdered = null) {\r\n let memoOrderLinesSelected = _.filter(this.state.memoOrderLines, orderline => orderline.isSelected);\r\n let sampleOrderLinesSelected = _.filter(this.state.sampleOrderLines, orderline => orderline.isSelected);\r\n let linesSelected = [...memoOrderLinesSelected, ...sampleOrderLinesSelected];\r\n if (linesSelected.length == 0) return;\r\n\r\n let linesToUpdate = _.map(linesSelected, orderLine => {\r\n if (!this.isFormValid(orderLine)) return;\r\n return {\r\n Id: orderLine.id,\r\n MemoOrderId: this.state.memoOrderId,\r\n TypeOfMemoOrderLineStatus: updateToShipped \r\n ? constants.MEMO_ORDERLINE_STATUS.SHIPPED \r\n : updateToBackOrdered\r\n ? constants.MEMO_ORDERLINE_STATUS.BACKORDER\r\n : orderLine.typeOfMemoOrderLineStatus.value,\r\n LastStatusAt: updateToShipped || updateToBackOrdered ? moment() : orderLine.lastStatusAt,\r\n ProductId: orderLine.product ? orderLine.product.value : null,\r\n SampleBookId: orderLine.sampleBook ? orderLine.sampleBook.value : null,\r\n ProductColorId: orderLine.productColor ? orderLine.productColor.value : null,\r\n MemoSizeId: orderLine.memoSize ? orderLine.memoSize.value : null,\r\n Qty: Number(orderLine.qty),\r\n MemoOrderLineComments: orderLine.orderLineComments,\r\n CustomerId: this.state.customerId\r\n };\r\n });\r\n\r\n api.post(`MemoOrder/UpdateSelectedMemoOrderLines/${this.state.memoOrderId}`, linesToUpdate)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.setState({\r\n // showMemoOrderLineForm: false,\r\n memoOrderLineToAddEdit: emptyMemoOrderLine,\r\n sampleOrderLineToAddEdit: emptySampleOrderLine,\r\n selectAllMemoOrderLinesCheckboxSelected: false,\r\n selectAllSampleOrderLinesCheckboxSelected: false\r\n }, () => this.refreshList());\r\n } else {\r\n this.setState({ \r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n isMessageVisible: true\r\n });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n\r\n showMoveSelectedConfirmationModal() {\r\n let memoOrderLinesSelected = _.filter(this.state.memoOrderLines, orderline => orderline.isSelected);\r\n let sampleOrderLinesSelected = _.filter(this.state.sampleOrderLines, orderline => orderline.isSelected);\r\n let linesSelected = [...memoOrderLinesSelected, ...sampleOrderLinesSelected];\r\n if (linesSelected.length == 0) return;\r\n this.setState({showMoveSelectedConfirmationModal: true});\r\n }\r\n\r\n \r\n moveSelectedMemoOrderLinesToNewOrder() {\r\n let memoOrderLinesSelected = _.filter(this.state.memoOrderLines, orderline => orderline.isSelected);\r\n let sampleOrderLinesSelected = _.filter(this.state.sampleOrderLines, orderline => orderline.isSelected);\r\n let linesSelected = [...memoOrderLinesSelected, ...sampleOrderLinesSelected];\r\n if (linesSelected.length == 0) return;\r\n let linesToUpdate = _.map(linesSelected, orderLine => {\r\n if (!this.isFormValid(orderLine)) return;\r\n return {\r\n Id: orderLine.id,\r\n MemoOrderId: this.state.memoOrderId,\r\n TypeOfMemoOrderLineStatus: constants.MEMO_ORDERLINE_STATUS.BACKORDER, // orderLine.typeOfMemoOrderLineStatus.value,\r\n LastStatusAt: orderLine.lastStatusAt,\r\n ProductId: orderLine.product ? orderLine.product.value : null,\r\n SampleBookId: orderLine.sampleBook ? orderLine.sampleBook.value : null,\r\n ProductColorId: orderLine.productColor ? orderLine.productColor.value : null,\r\n MemoSizeId: orderLine.memoSize ? orderLine.memoSize.value : null,\r\n Qty: Number(orderLine.qty),\r\n MemoOrderLineComments: orderLine.orderLineComments,\r\n CustomerId: this.state.customerId\r\n };\r\n });\r\n this.setState({\r\n showMoveSelectedConfirmationModal: false\r\n }, () => {\r\n this.props.moveSelectedMemoOrderLinesToNewOrder(linesToUpdate);\r\n })\r\n }\r\n\r\n showDeleteMemoOrderLineConfirmationModal() {\r\n let memoOrderLinesSelected = _.filter(this.state.memoOrderLines, orderline => orderline.isSelected);\r\n let sampleOrderLinesSelected = _.filter(this.state.sampleOrderLines, orderline => orderline.isSelected);\r\n let linesSelected = [...memoOrderLinesSelected, ...sampleOrderLinesSelected];\r\n if (linesSelected.length == 0) return;\r\n this.setState({\r\n showDeleteMemoOrderLineConfirmationModal: true,\r\n deletingMultipleOrderLines: true\r\n });\r\n }\r\n\r\n deleteSelectedMemoOrderLines() { // hard delete\r\n let memoOrderLinesSelected = _.filter(this.state.memoOrderLines, orderline => orderline.isSelected);\r\n let sampleOrderLinesSelected = _.filter(this.state.sampleOrderLines, orderline => orderline.isSelected);\r\n let linesSelected = [...memoOrderLinesSelected, ...sampleOrderLinesSelected];\r\n if (linesSelected.length == 0) return;\r\n let linesToDelete = _.map(linesSelected, orderLine => {\r\n return {\r\n Id: orderLine.id\r\n };\r\n });\r\n\r\n api.post(`MemoOrder/HardDeleteSelectedMemoOrderLines`, linesToDelete)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.setState({\r\n // showMemoOrderLineForm: false,\r\n memoOrderLineToAddEdit: emptyMemoOrderLine,\r\n sampleOrderLineToAddEdit: emptySampleOrderLine,\r\n selectAllMemoOrderLinesCheckboxSelected: false,\r\n selectAllSampleOrderLinesCheckboxSelected: false,\r\n showDeleteMemoOrderLineConfirmationModal: false,\r\n }, () => this.refreshList());\r\n } else {\r\n this.setState({ \r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n isMessageVisible: true,\r\n showDeleteMemoOrderLineConfirmationModal: false,\r\n });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n formatOrderLineCommentsForDto(orderLineComments, orderLineId) {\r\n const orderLineCommentList = [];\r\n _.map(orderLineComments,\r\n x => {\r\n const comment = {\r\n Id: x.id,\r\n Dsc: x.dsc,\r\n OrderLineId: orderLineId,\r\n CommentTypeId: x.commentType ? x.commentType.value : null,\r\n MarkedForDeletion: x.markedForDeletion\r\n };\r\n orderLineCommentList.push(comment);\r\n });\r\n return orderLineCommentList;\r\n }\r\n\r\n onEditMemoOrderLine(memoOrderLine) {\r\n this.setState({\r\n // showMemoOrderLineForm: true,\r\n memoOrderLineToAddEdit: memoOrderLine,\r\n memoOrderLineCommentList: memoOrderLine.orderLineComments,\r\n editingMemoOrderLineNotes: memoOrderLine.orderLineComments.length > 0 ? true : false, \r\n }, () => this.fetchProductSelectsForOrderLineToEdit(memoOrderLine.product.value, memoOrderLine.productColor.value));\r\n }\r\n\r\n onEditSampleOrderLine(sampleOrderLine) {\r\n this.setState({\r\n // showSampleOrderLineForm: true,\r\n sampleOrderLineToAddEdit: sampleOrderLine,\r\n sampleOrderLineCommentList: sampleOrderLine.orderLineComments,\r\n editingSampleOrderLineNotes: sampleOrderLine.orderLineComments.length > 0 ? true : false, \r\n });\r\n }\r\n\r\n async fetchProductSelectsForOrderLineToEdit(productId, productColorId) {\r\n let memoSizeList;\r\n let productColorsList;\r\n\r\n await api.fetch(`Order/GetActiveProductColors/${productId}`)\r\n .then(response => {\r\n productColorsList = response.data\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n await api.fetch(`Product/GetProduct/${productId}`)\r\n .then(response => {\r\n memoSizeList = _.filter(response.data.productMemoSizes, function(x) {\r\n return x.productColorId === productColorId\r\n })\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n this.setState({\r\n productColorsList: productColorsList,\r\n memoSizeList: _.map(memoSizeList, ms => {\r\n return {\r\n ...ms,\r\n value: ms.memoSizeId,\r\n label: ms.memoSizeName\r\n }\r\n })\r\n });\r\n }\r\n\r\n handleDelete(id) { // hard delete\r\n api.post(`MemoOrder/HardDeleteMemoOrderLine/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.setState({ \r\n showDeleteMemoOrderLineConfirmationModal: false,\r\n memoOrderLineToDeleteId: null\r\n }, () => this.refreshList());\r\n // this.refreshList()\r\n } else {\r\n this.setState({ \r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n isMessageVisible: true,\r\n showDeleteMemoOrderLineConfirmationModal: false,\r\n memoOrderLineToDeleteId: null\r\n });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onToggleMemoOrderLineNotes() {\r\n let tempList = _.cloneDeep(this.state.memoOrderLineCommentList);\r\n if (this.state.editingMemoOrderLineNotes) {\r\n tempList = _.map(this.state.memoOrderLineCommentList, comment => {\r\n return {\r\n ...comment,\r\n markedForDeletion: true\r\n }\r\n });\r\n } else {\r\n tempList = _.map(this.state.memoOrderLineCommentList, comment => {\r\n return {\r\n ...comment,\r\n markedForDeletion: false\r\n }\r\n });\r\n }\r\n this.setState({\r\n editingMemoOrderLineNotes: !this.state.editingMemoOrderLineNotes,\r\n memoOrderLineCommentList: tempList\r\n });\r\n }\r\n\r\n onToggleSampleOrderLineNotes() {\r\n let tempList = _.cloneDeep(this.state.sampleOrderLineCommentList);\r\n if (this.state.editingSampleOrderLineNotes) {\r\n tempList = _.map(this.state.sampleOrderLineCommentList, comment => {\r\n return {\r\n ...comment,\r\n markedForDeletion: true\r\n }\r\n });\r\n } else {\r\n tempList = _.map(this.state.sampleOrderLineCommentList, comment => {\r\n return {\r\n ...comment,\r\n markedForDeletion: false\r\n }\r\n });\r\n }\r\n this.setState({\r\n editingSampleOrderLineNotes: !this.state.editingSampleOrderLineNotes,\r\n sampleOrderLineCommentList: tempList\r\n });\r\n }\r\n\r\n onChangeMemoOrderLineComment(fieldName, value) {\r\n this.setState({\r\n newMemoOrderLineComment: {\r\n ...this.state.newMemoOrderLineComment,\r\n [fieldName]: value\r\n }\r\n })\r\n }\r\n\r\n onChangeSampleOrderLineComment(fieldName, value) {\r\n this.setState({\r\n newSampleOrderLineComment: {\r\n ...this.state.newSampleOrderLineComment,\r\n [fieldName]: value\r\n }\r\n })\r\n }\r\n\r\n isMemoOrderLineCommentValid() {\r\n const warnings = [];\r\n if (!this.state.newMemoOrderLineComment.dsc) {\r\n warnings.push(\"Comment required in order to add.\");\r\n }\r\n // if (!this.state.newMemoOrderLineComment.commentType) {\r\n // warnings.push(\"To add comment, plesae select what comment applies to.\");\r\n // }\r\n if (warnings.length) {\r\n window.scroll(0,0);\r\n this.setState({ message: warnings.join(' '), messageFlavor: \"danger\", isMessageVisible: true });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n isSampleOrderLineCommentValid() {\r\n const warnings = [];\r\n if (!this.state.newSampleOrderLineComment.dsc) {\r\n warnings.push(\"Comment required in order to add.\");\r\n }\r\n // if (!this.state.newMemoOrderLineComment.commentType) {\r\n // warnings.push(\"To add comment, plesae select what comment applies to.\");\r\n // }\r\n if (warnings.length) {\r\n window.scroll(0,0);\r\n this.setState({ message: warnings.join(' '), messageFlavor: \"danger\", isMessageVisible: true });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSaveMemoOrderLineNote() {\r\n if (!this.isMemoOrderLineCommentValid()) return;\r\n const notes = this.state.memoOrderLineCommentList.slice();\r\n let commentToSave = Object.assign({}, this.state.newMemoOrderLineComment);\r\n commentToSave = {\r\n ...commentToSave,\r\n local_id: -1 * (this.state.memoOrderLineToAddEdit.commentCount + 1)\r\n }\r\n this.setState({\r\n newMemoOrderLineComment: emptyOrderLineComment,\r\n memoOrderLineCommentList: [...notes, commentToSave], \r\n memoOrderLineToAddEdit: {\r\n ...this.state.memoOrderLineToAddEdit,\r\n commentCount: this.state.memoOrderLineToAddEdit.commentCount + 1\r\n }\r\n });\r\n }\r\n\r\n onSaveSampleOrderLineNote() {\r\n if (!this.isSampleOrderLineCommentValid()) return;\r\n const notes = this.state.sampleOrderLineCommentList.slice();\r\n let commentToSave = Object.assign({}, this.state.newSampleOrderLineComment);\r\n commentToSave = {\r\n ...commentToSave,\r\n local_id: -1 * (this.state.sampleOrderLineToAddEdit.commentCount + 1)\r\n }\r\n this.setState({\r\n newSampleOrderLineComment: emptyOrderLineComment,\r\n sampleOrderLineCommentList: [...notes, commentToSave], \r\n sampleOrderLineToAddEdit: {\r\n ...this.state.sampleOrderLineToAddEdit,\r\n commentCount: this.state.sampleOrderLineToAddEdit.commentCount + 1\r\n }\r\n });\r\n }\r\n\r\n onEditMemoOrderLineComment(commentId) {\r\n const indexToEdit = _.findIndex(this.state.memoOrderLineCommentList, {local_id: commentId});\r\n let tempList = _.cloneDeep(this.state.memoOrderLineCommentList);\r\n const snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n tempList[indexToEdit].isEditing = true;\r\n tempList[indexToEdit].pristine = snapshotItem;\r\n this.setState({\r\n memoOrderLineCommentList: tempList\r\n });\r\n }\r\n\r\n onEditSampleOrderLineComment(commentId) {\r\n const indexToEdit = _.findIndex(this.state.sampleOrderLineCommentList, {local_id: commentId});\r\n let tempList = _.cloneDeep(this.state.sampleOrderLineCommentList);\r\n const snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n tempList[indexToEdit].isEditing = true;\r\n tempList[indexToEdit].pristine = snapshotItem;\r\n this.setState({\r\n sampleOrderLineCommentList: tempList\r\n });\r\n }\r\n\r\n updateMemoOrderLineCommentDscField(fieldName, value, commentId) {\r\n const tempList = this.state.memoOrderLineCommentList.slice();\r\n const comment = _.find(tempList, x => x.local_id === commentId);\r\n comment[fieldName] = value;\r\n this.setState({\r\n memoOrderLineCommentList: tempList\r\n });\r\n }\r\n\r\n updateSampleOrderLineCommentDscField(fieldName, value, commentId) {\r\n const tempList = this.state.sampleOrderLineCommentList.slice();\r\n const comment = _.find(tempList, x => x.local_id === commentId);\r\n comment[fieldName] = value;\r\n this.setState({\r\n sampleOrderLineCommentList: tempList\r\n });\r\n }\r\n\r\n // updateCommentTypeField(selection, commentId) {\r\n // const tempList = this.state.memoOrderLineCommentList.slice();\r\n // const comment = _.find(tempList, x => x.local_id === commentId);\r\n // comment.commentType = {\r\n // value: selection.value,\r\n // label: selection.label\r\n // }\r\n // this.setState({\r\n // memoOrderLineCommentList: tempList\r\n // }); \r\n // }\r\n\r\n onSaveMemoOrderLineEditedComment(commentId) {\r\n const indexToEdit = _.findIndex(this.state.memoOrderLineCommentList, {local_id: commentId});\r\n let tempList = this.state.memoOrderLineCommentList.slice();\r\n tempList[indexToEdit].isEditing = false;\r\n this.setState({\r\n memoOrderLineCommentList: tempList,\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false\r\n });\r\n }\r\n\r\n onSaveSampleOrderLineEditedComment(commentId) {\r\n const indexToEdit = _.findIndex(this.state.sampleOrderLineCommentList, {local_id: commentId});\r\n let tempList = this.state.sampleOrderLineCommentList.slice();\r\n tempList[indexToEdit].isEditing = false;\r\n this.setState({\r\n sampleOrderLineCommentList: tempList,\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false\r\n });\r\n }\r\n\r\n onCancelMemoOrderLineEditComment(commentId) {\r\n const indexToEdit = _.findIndex(this.state.memoOrderLineCommentList, {local_id: commentId});\r\n let tempList = this.state.memoOrderLineCommentList.slice();\r\n tempList[indexToEdit] = Object.assign({}, tempList[indexToEdit].pristine);\r\n this.setState({\r\n memoOrderLineCommentList: tempList,\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false\r\n });\r\n }\r\n\r\n onCancelSampleOrderLineEditComment(commentId) {\r\n const indexToEdit = _.findIndex(this.state.sampleOrderLineCommentList, {local_id: commentId});\r\n let tempList = this.state.sampleOrderLineCommentList.slice();\r\n tempList[indexToEdit] = Object.assign({}, tempList[indexToEdit].pristine);\r\n this.setState({\r\n sampleOrderLineCommentList: tempList,\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false\r\n });\r\n }\r\n\r\n onDeleteMemoOrderLineComment(commentId) {\r\n const indexToEdit = _.findIndex(this.state.memoOrderLineCommentList, {local_id: commentId});\r\n let tempList = _.cloneDeep(this.state.memoOrderLineCommentList);\r\n tempList[indexToEdit].markedForDeletion = true;\r\n this.setState({\r\n memoOrderLineCommentList: tempList\r\n });\r\n }\r\n\r\n onDeleteSampleOrderLineComment(commentId) {\r\n const indexToEdit = _.findIndex(this.state.sampleOrderLineCommentList, {local_id: commentId});\r\n let tempList = _.cloneDeep(this.state.sampleOrderLineCommentList);\r\n tempList[indexToEdit].markedForDeletion = true;\r\n this.setState({\r\n sampleOrderLineCommentList: tempList\r\n });\r\n }\r\n\r\n onSelectAllMemoOrderLinesCheckbox() {\r\n if(this.state.selectAllMemoOrderLinesCheckboxSelected) {\r\n let tempList = _.map(this.state.memoOrderLines, orderline => {\r\n return {\r\n ...orderline,\r\n isSelected: false\r\n }\r\n })\r\n this.setState({\r\n // idsOfLinesToShipOrBackorder: [],\r\n memoOrderLines: tempList,\r\n selectAllMemoOrderLinesCheckboxSelected: !this.state.selectAllMemoOrderLinesCheckboxSelected\r\n })\r\n } \r\n else {\r\n let tempList = _.map(this.state.memoOrderLines, orderline => {\r\n if (orderline.typeOfMemoOrderLineStatus.value !== constants.MEMO_ORDERLINE_STATUS.SHIPPED) {\r\n return {\r\n ...orderline,\r\n isSelected: true\r\n }\r\n } else {\r\n return {\r\n ...orderline\r\n }\r\n }\r\n })\r\n this.setState({\r\n memoOrderLines: tempList,\r\n selectAllMemoOrderLinesCheckboxSelected: !this.state.selectAllMemoOrderLinesCheckboxSelected\r\n })\r\n }\r\n }\r\n\r\n onSelectAllSampleOrderLinesCheckbox() {\r\n if(this.state.selectAllSampleOrderLinesCheckboxSelected) {\r\n let tempList = _.map(this.state.sampleOrderLines, orderline => {\r\n return {\r\n ...orderline,\r\n isSelected: false\r\n }\r\n })\r\n this.setState({\r\n // idsOfLinesToShipOrBackorder: [],\r\n sampleOrderLines: tempList,\r\n selectAllSampleOrderLinesCheckboxSelected: !this.state.selectAllSampleOrderLinesCheckboxSelected\r\n })\r\n } \r\n else {\r\n let tempList = _.map(this.state.sampleOrderLines, orderline => {\r\n if (orderline.typeOfMemoOrderLineStatus.value !== constants.MEMO_ORDERLINE_STATUS.SHIPPED) {\r\n return {\r\n ...orderline,\r\n isSelected: true\r\n }\r\n } else {\r\n return {\r\n ...orderline\r\n }\r\n }\r\n })\r\n this.setState({\r\n sampleOrderLines: tempList,\r\n selectAllSampleOrderLinesCheckboxSelected: !this.state.selectAllSampleOrderLinesCheckboxSelected\r\n })\r\n }\r\n }\r\n\r\n onSelectIndividualMemoOrderLineCheckbox(orderline) {\r\n const indexToEdit = _.findIndex(this.state.memoOrderLines, {id: orderline.id});\r\n let tempList = this.state.memoOrderLines.slice(); \r\n tempList[indexToEdit].isSelected = !tempList[indexToEdit].isSelected;\r\n this.setState({\r\n memoOrderLines: tempList\r\n })\r\n }\r\n\r\n onSelectIndividualSampleOrderLineCheckbox(orderline) {\r\n const indexToEdit = _.findIndex(this.state.sampleOrderLines, {id: orderline.id});\r\n let tempList = this.state.sampleOrderLines.slice(); \r\n tempList[indexToEdit].isSelected = !tempList[indexToEdit].isSelected;\r\n this.setState({\r\n sampleOrderLines: tempList\r\n })\r\n }\r\n\r\n onDismiss() {\r\n this.setState({\r\n isMessageVisible: false,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n render() {\r\n if(this.state.loading) {\r\n return
Loading...
\r\n }\r\n return (\r\n
\r\n {this.state.message && (\r\n \r\n \r\n this.onDismiss()}>{this.state.message}\r\n \r\n \r\n )}\r\n this.setState({showDeleteMemoOrderLineConfirmationModal: !this.state.showDeleteMemoOrderLineConfirmationModal})}\r\n >\r\n {this.state.deletingMultipleOrderLines ? 'Delete Order Lines' : 'Delete Order Line?'}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n this.setState({showMoveSelectedConfirmationModal: !this.state.showMoveSelectedConfirmationModal})}\r\n >\r\n Move Selected Order Lines\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
Memo Order Lines
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
{this.state.memoOrderLineToAddEdit.id > 0 ? 'Update Selected' : 'Add New'}
\r\n \r\n
\r\n \r\n Status {helpers.requiredStar()}\r\n this.setMemoOrderLineStatus(option)}\r\n />\r\n \r\n Status Date {helpers.requiredStar()}\r\n \r\n \r\n Style {helpers.requiredStar()}\r\n \r\n \r\n Color {helpers.requiredStar()}\r\n this.setSelectedProductColor(option)}\r\n />\r\n \r\n Size {helpers.requiredStar()}\r\n this.setSelectedMemoSize(option)}\r\n />\r\n \r\n Quantity {helpers.requiredStar()}\r\n this.handleMemoOrderLineQtyChange(\r\n event.target.value\r\n )}\r\n value={this.state.memoOrderLineToAddEdit.qty}\r\n />\r\n \r\n \r\n {this.state.editingMemoOrderLineNotes && (\r\n
\r\n
Notes
\r\n \r\n Notes (internal only) {helpers.requiredStar()}\r\n this.onChangeMemoOrderLineComment(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n \r\n Add Note\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.memoOrderLineCommentList.map(c => (\r\n \r\n {c.isEditing\r\n ? \r\n \r\n \r\n \r\n : \r\n {c.deactivatedAt || c.markedForDeletion\r\n ? null\r\n : \r\n \r\n \r\n \r\n } \r\n \r\n }\r\n \r\n ))}\r\n \r\n
Description
\r\n this.updateMemoOrderLineCommentDscField(\r\n event.target.name,\r\n event.target.value,\r\n c.local_id\r\n )}\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n this.onSaveMemoOrderLineEditedComment(c.local_id)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelMemoOrderLineEditComment(c.local_id)}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n {c.dsc}\r\n \r\n \r\n \r\n \r\n {c.deactivatedAt ? (\r\n \r\n Revive\r\n \r\n ) : (\r\n \r\n \r\n \r\n )} \r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n \r\n this.onToggleMemoOrderLineNotes()}\r\n >\r\n {this.state.editingMemoOrderLineNotes ? 'Remove Notes' : 'Add Notes'}\r\n \r\n \r\n \r\n this.state.memoOrderLines.length > 0 || this.state.sampleOrderLines.length > 0\r\n ? this.state.memoOrderLineToAddEdit.id\r\n ? this.updateMemoOrderLine(this.state.memoOrderLineToAddEdit)\r\n : this.saveNewMemoOrderLine(this.state.memoOrderLineToAddEdit) \r\n : this.saveNewMemoOrderWithOrderLine(this.state.memoOrderLineToAddEdit)}\r\n >\r\n Save\r\n \r\n {this.state.memoOrderLineToAddEdit.id > 0 \r\n ? this.toggleAddMemoOrderLineCollapse()}\r\n >\r\n Cancel\r\n \r\n : null\r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.memoOrderLines.map(ol => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n this.onSelectIndividualMemoOrderLineCheckbox(ol)}\r\n disabled={ol.typeOfMemoOrderLineStatus.value === constants.MEMO_ORDERLINE_STATUS.SHIPPED}\r\n />\r\n
\r\n
{ol.typeOfMemoOrderLineStatus.label}\r\n
\r\n {ol.typeOfMemoOrderLineStatus.value !== constants.MEMO_ORDERLINE_STATUS.SHIPPED &&\r\n // && ol.productMemoSize && ol.productMemoSize.qty > 0 && \r\n this.updateMemoOrderLine(ol, true, null)}\r\n size=\"sm\"\r\n >\r\n Ship\r\n \r\n }\r\n {ol.typeOfMemoOrderLineStatus.value === constants.MEMO_ORDERLINE_STATUS.PENDING &&\r\n this.updateMemoOrderLine(ol, null, true)}\r\n size=\"sm\"\r\n >\r\n Backorder\r\n \r\n }\r\n
\r\n
{date_helpers.formatDateToShortDate(ol.lastStatusAt)}\r\n {ol.product ? ol.product.label : ol.sampleBook.label}\r\n\r\n {ol.orderLineComments.length > 0 ? \r\n ol.orderLineComments.map(c => {\r\n if (c.deactivatedAt == null) {\r\n return
{c.dsc} @ {moment(c.createdAt).format(\"M/DD/YY h:mm a\")}
\r\n }\r\n }) : null}\r\n
{ol.productColor ? ol.productColor.label : null}{ol.productMemoShelfNumber ? ol.productMemoShelfNumber : ''}{ol.productMemoSize ? ol.memoSize.label : ''}{ol.qty ? ol.qty : ''}{ol.productMemoSize ? ol.productMemoSize.qty : ''}\r\n \r\n
\r\n \r\n this.onEditMemoOrderLine(ol)}\r\n size=\"sm\"\r\n // disabled={this.state.showSampleOrderLineForm}\r\n >\r\n \r\n \r\n this.setState({\r\n showDeleteMemoOrderLineConfirmationModal: true,\r\n memoOrderLineToDeleteId: ol.id\r\n })}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
Sample Order Lines
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
{this.state.sampleOrderLineToAddEdit.id > 0 ? 'Update Selected' : 'Add New'}
\r\n \r\n
\r\n \r\n Status {helpers.requiredStar()}\r\n this.setSampleOrderLineStatus(option)}\r\n />\r\n \r\n Status Date {helpers.requiredStar()}\r\n \r\n \r\n Samples/Books {helpers.requiredStar()}\r\n this.onSampleBookChange(option)}\r\n />\r\n {/* */}\r\n \r\n Quantity {helpers.requiredStar()}\r\n this.handleSampleOrderLineQtyChange(\r\n event.target.value\r\n )}\r\n value={this.state.sampleOrderLineToAddEdit.qty}\r\n />\r\n \r\n \r\n {this.state.editingSampleOrderLineNotes && (\r\n
\r\n
Notes
\r\n \r\n Notes (internal only) {helpers.requiredStar()}\r\n this.onChangeSampleOrderLineComment(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n \r\n Add Note\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.sampleOrderLineCommentList.map(c => (\r\n \r\n {c.isEditing\r\n ? \r\n \r\n \r\n \r\n : \r\n {c.deactivatedAt || c.markedForDeletion\r\n ? null\r\n : \r\n \r\n \r\n \r\n } \r\n \r\n }\r\n \r\n ))}\r\n \r\n
Description
\r\n this.updateSampleOrderLineCommentDscField(\r\n event.target.name,\r\n event.target.value,\r\n c.local_id\r\n )}\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n this.onSaveSampleOrderLineEditedComment(c.local_id)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelSampleOrderLineEditComment(c.local_id)}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n {c.dsc}\r\n \r\n \r\n \r\n \r\n {c.deactivatedAt ? (\r\n \r\n Revive\r\n \r\n ) : (\r\n \r\n \r\n \r\n )} \r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n \r\n this.onToggleSampleOrderLineNotes()}\r\n >\r\n {this.state.editingSampleOrderLineNotes ? 'Remove Notes' : 'Add Notes'}\r\n \r\n \r\n \r\n this.state.memoOrderLines.length > 0 || this.state.sampleOrderLines.length > 0 \r\n ? this.state.sampleOrderLineToAddEdit.id\r\n ? this.updateMemoOrderLine(this.state.sampleOrderLineToAddEdit)\r\n : this.saveNewMemoOrderLine(this.state.sampleOrderLineToAddEdit) \r\n : this.saveNewMemoOrderWithOrderLine(this.state.sampleOrderLineToAddEdit)}\r\n >\r\n Save\r\n \r\n {this.state.sampleOrderLineToAddEdit.id > 0 \r\n ? this.toggleAddSampleOrderLineCollapse()}\r\n >\r\n Cancel\r\n \r\n : null\r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.sampleOrderLines.map(ol => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n this.onSelectIndividualSampleOrderLineCheckbox(ol)}\r\n disabled={ol.typeOfMemoOrderLineStatus.value === constants.MEMO_ORDERLINE_STATUS.SHIPPED}\r\n />\r\n
\r\n
{ol.typeOfMemoOrderLineStatus.label}\r\n
\r\n {ol.typeOfMemoOrderLineStatus.value !== constants.MEMO_ORDERLINE_STATUS.SHIPPED &&\r\n // && ol.productMemoSize && ol.productMemoSize.qty > 0 && \r\n this.updateMemoOrderLine(ol, true, null)}\r\n size=\"sm\"\r\n >\r\n Ship\r\n \r\n }\r\n {ol.typeOfMemoOrderLineStatus.value === constants.MEMO_ORDERLINE_STATUS.PENDING &&\r\n this.updateMemoOrderLine(ol, null, true)}\r\n size=\"sm\"\r\n >\r\n Backorder\r\n \r\n }\r\n
\r\n
{date_helpers.formatDateToShortDate(ol.lastStatusAt)}\r\n {ol.sampleBook.label}\r\n {ol.orderLineComments.length > 0 ? \r\n ol.orderLineComments.map(c => {\r\n if (c.deactivatedAt == null) {\r\n return
{c.dsc} @ {moment(c.createdAt).format(\"M/DD/YY h:mm a\")}
\r\n }\r\n }) : null}\r\n
{date_helpers.formatDateToShortDate(ol.lastSampleReceivedAt)}{ol.qty ? ol.qty : ''}{ol.sampleBookStock}\r\n \r\n
\r\n \r\n this.onEditSampleOrderLine(ol)}\r\n size=\"sm\"\r\n // disabled={this.state.showSampleOrderLineForm}\r\n >\r\n \r\n \r\n this.setState({\r\n showDeleteMemoOrderLineConfirmationModal: true,\r\n memoOrderLineToDeleteId: ol.id\r\n })}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n this.updateSelectedMemoOrderLines(true, null)}\r\n title=\"Ship selected\"\r\n >\r\n {/* */}\r\n Ship Selected\r\n \r\n this.updateSelectedMemoOrderLines(null, true)}\r\n title=\"Backorder selected\"\r\n >\r\n {/* */}\r\n Backorder Selected\r\n \r\n this.showDeleteMemoOrderLineConfirmationModal()}\r\n title=\"Delete selected\"\r\n >\r\n {/* */}\r\n Delete Selected\r\n \r\n this.showMoveSelectedConfirmationModal()}\r\n title=\"Backorder selected\"\r\n >\r\n {/* */}\r\n Move Selected\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default MemoOrderLines;\r\n","import React, { Component } from 'react';\r\nimport {\r\n Button,\r\n ButtonGroup,\r\n Col,\r\n Row,\r\n Table,\r\n Container,\r\n Form,\r\n Card,\r\n Alert,\r\n CardBody,\r\n Input,\r\n Modal,\r\n ModalBody\r\n} from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport DatePicker from \"react-datepicker\";\r\nimport Switch from \"react-switch\";\r\nimport { Link } from 'react-router-dom';\r\nimport _ from 'lodash';\r\nimport {\r\n filter_helpers,\r\n api,\r\n helpers,\r\n date_helpers,\r\n constants\r\n} from '../utils';\r\nimport MemoOrderLines from './MemoOrderLines';\r\nimport CustomerAdmin from './CustomerAdmin';\r\nimport {\r\n CustomerTypeahead,\r\n FilterSet,\r\n FilterText,\r\n FilterBoolean,\r\n FilterSelect,\r\n SortHeader, \r\n Pager\r\n} from '../components';\r\n\r\nconst addAnyOption = (list) => {\r\n let newList = list.slice();\r\n newList.unshift({ label: \"(Any)\", value: null });\r\n return newList;\r\n };\r\n\r\nlet currentUserId = null;\r\nlet currentUserName = null;\r\n\r\nconst getCurrentUser = () => {\r\n try {\r\n currentUserId = localStorage.getItem('currentUser')\r\n ? JSON.parse(localStorage.getItem('currentUser')).id\r\n : null \r\n currentUserName = localStorage.getItem('currentUser')\r\n ? JSON.parse(localStorage.getItem('currentUser')).username\r\n : null\r\n return (\r\n {\r\n value: currentUserId,\r\n label: currentUserName\r\n }\r\n );\r\n } catch(e) {\r\n console.log('e', e);\r\n }\r\n}\r\n\r\nconst emptyMemoOrder = {\r\n id: 0,\r\n customer: null,\r\n sidemark: '',\r\n contactFirstName: '',\r\n contactLastName: '',\r\n contactEmail: '',\r\n addressLine1: '',\r\n addressLine2: '',\r\n addressLine3: '',\r\n addressLine4: '',\r\n city: '',\r\n state: '',\r\n zip: '',\r\n phone: '',\r\n memoShipMethod: constants.MEMO_SHIP_METHOD.FEDEX_GROUND,\r\n trackingNumber: '',\r\n memoOrderLines: [],\r\n createdAt: new Date(),\r\n createdByUser: null\r\n};\r\n\r\nexport default class MemoOrders extends Component {\r\n constructor(props) {\r\n super(props);\r\n let lastMemoOrderFilters = null;\r\n try {\r\n lastMemoOrderFilters = localStorage.getItem('lastMemoOrderFilters');\r\n } catch {}\r\n const defaultFilters = lastMemoOrderFilters\r\n ? JSON.parse(lastMemoOrderFilters)\r\n : [{filterName: \"ActiveOnly\", value: true, filteredDisplay: \"Active Only: Yes\" }];\r\n this.state = {\r\n suppliers: [], \r\n messageFlavor: null,\r\n message: null,\r\n editItem: null,\r\n sortField: 'CreatedAt',\r\n sortDir: 'desc',\r\n filters: defaultFilters,\r\n clearValue: false,\r\n showEdit: false,\r\n pagedList: {\r\n list: [],\r\n pageSize: 100,\r\n pageNumber: 1\r\n },\r\n customerList: [],\r\n contactTypeList: [],\r\n contactAddressTypeList: [],\r\n contacts: [],\r\n contactList: [],\r\n supplierIdCaptured: false,\r\n memoOrder: {\r\n ...emptyMemoOrder,\r\n createdByUser: getCurrentUser()\r\n },\r\n isContactEditing: false, \r\n customerContacts: [],\r\n selectedContact: null,\r\n customerShipToAddresses: [],\r\n showCustomerSearchModal: false,\r\n memoOrderLineStatusList: [],\r\n // relatedMemoBilledOrders: [],\r\n memoShipMethods: []\r\n };\r\n this.showAdd = this.showAdd.bind(this);\r\n this.refreshList = this.refreshList.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.setPage = this.setPage.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.setSelectedShippingContact = this.setSelectedShippingContact.bind(this);\r\n this.setSelectedShippingAddress = this.setSelectedShippingAddress.bind(this);\r\n this.handleCreatedAtInputChange = this.handleCreatedAtInputChange.bind(this);\r\n this.saveNewMemoOrderWithOrderLine = this.saveNewMemoOrderWithOrderLine.bind(this);\r\n this.onToggleCustomerSearchModal = this.onToggleCustomerSearchModal.bind(this);\r\n this.onCustomerSelectedFromSearchModal = this.onCustomerSelectedFromSearchModal.bind(this);\r\n this.moveSelectedMemoOrderLinesToNewOrder = this.moveSelectedMemoOrderLinesToNewOrder.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getMemoOrderLineStatues = api.fetch(\"Reference/GetMemoOrderLineStatusList\")\r\n .then(response => {\r\n return { memoOrderLineStatusList: response.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n const getMemoShipMethods = api.fetch(\"Reference/GetMemoShipMethodsList\")\r\n .then(response => {\r\n return { memoShipMethodsList: response.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n // const getCustomers = api.fetch(\"Reference/GetCustomerList\")\r\n // .then((response) => {\r\n // return { customerList: response.data };\r\n // })\r\n // .catch(helpers.catchHandler);\r\n\r\n Promise.all([\r\n getMemoOrderLineStatues,\r\n getMemoShipMethods,\r\n // getCustomers\r\n ])\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, () =>\r\n this.refreshList());\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n if (this.props.location.state && this.props.location.state.memoOrderId) {\r\n this.onEdit(this.props.location.state.memoOrderId)\r\n }\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n const filterList = filters || this.state.filters;\r\n const payload = {\r\n Page: this.state.pagedList.pageNumber,\r\n PageSize: this.state.pagedList.pageSize,\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir,\r\n };\r\n\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n\r\n api.post('MemoOrder/GetPaginatedList', payload)\r\n .then((response) => {\r\n this.setState({\r\n pagedList: response.data\r\n });\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changedFilter);\r\n try {\r\n localStorage.setItem(\"lastMemoOrderFilters\", JSON.stringify(filters));\r\n } catch {}\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) return filterElement.value;\r\n return '';\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n try {\r\n localStorage.setItem(\"lastMemoOrderFilters\", JSON.stringify(filters));\r\n } catch {}\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n setPage(page) {\r\n const newPagedList = Object.assign({}, this.state.pagedList);\r\n newPagedList.pageNumber = page;\r\n this.setState({ pagedList: newPagedList }, () => this.refreshList());\r\n }\r\n\r\n onCancel() {\r\n this.setState({\r\n showEdit: false,\r\n memoOrder: {\r\n ...emptyMemoOrder,\r\n createdByUser: getCurrentUser()\r\n },\r\n message: null, \r\n messageFlavor: null,\r\n customerInfo: null\r\n }, () => this.refreshList());\r\n }\r\n\r\n showAdd() {\r\n this.setState({\r\n memoOrder: {\r\n ...emptyMemoOrder,\r\n createdByUser: getCurrentUser()\r\n },\r\n showEdit: true\r\n });\r\n }\r\n\r\n onEdit(memoOrderId) {\r\n api.fetch(`MemoOrder/GetMemoOrder/${memoOrderId}`)\r\n .then((response) => {\r\n const item = response.data;\r\n this.setState({\r\n memoOrder: {\r\n id: item.id,\r\n customer: helpers.resolveValue(null, item.customerId, item.customerName), \r\n sidemark: helpers.nullableString(item.sidemark),\r\n contactFirstName: helpers.nullableString(item.contactFirstName),\r\n contactLastName: helpers.nullableString(item.contactLastName),\r\n contactEmail: helpers.nullableString(item.contactEmail),\r\n addressLine1: helpers.nullableString(item.addressLine1),\r\n addressLine2: helpers.nullableString(item.addressLine2),\r\n addressLine3: helpers.nullableString(item.addressLine3),\r\n addressLine4: helpers.nullableString(item.addressLine4),\r\n city: helpers.nullableString(item.city),\r\n state: helpers.nullableString(item.state),\r\n zip: helpers.nullableString(item.zip),\r\n phone: helpers.nullableString(item.phone),\r\n memoShipMethod: helpers.resolveValue(null, item.memoShipMethodId, item.memoShipMethodName),\r\n trackingNumber: helpers.nullableString(item.trackingNumber),\r\n comment: helpers.nullableString(item.comment),\r\n createdAt: date_helpers.dateFormatForClient(item.createdAt),\r\n creatdByUserName: item.createdByUserName,\r\n createdByUser: helpers.resolveValue(\r\n null,\r\n item.createdByUserId,\r\n item.createdByUserName),\r\n memoOrderLines: _.map(item.memoOrderLines, ol => {\r\n return {\r\n id: ol.id,\r\n lastStatusAt: date_helpers.getMomentFromString(ol.lastStatusAt),\r\n memoOrderId: ol.memoOrderId,\r\n memoSize: helpers.resolveValue(null, ol.memoSizeId, ol.memoSizeName),\r\n productColor: helpers.resolveValue(\r\n null, \r\n ol.productColorId, \r\n // ol.productColorName\r\n `${ol.productColorName} ${ol.productColorNumber ? ol.productColorNumber : ''}`),\r\n product: helpers.resolveValue(\r\n null, \r\n ol.productId, \r\n // ol.productDCName\r\n `${ol.productDCName} ${ol.productDCNumber ? '(' + ol.productDCNumber + ')' : ''}`),\r\n sampleBook: helpers.resolveValue(\r\n null, \r\n ol.sampleBookId, \r\n ol.sampleBookName),\r\n sampleBookStock: ol.sampleBookStock,\r\n productMemoShelfNumber: helpers.nullableString(ol.productMemoShelfNumber),\r\n typeOfMemoOrderLineStatus: helpers.resolveValue(null, ol.typeOfMemoOrderLineStatus, ol.typeOfMemoOrderLineStatusName),\r\n memoOrderLineStatus: null,\r\n supplierName: ol.productSupplierName,\r\n qty: ol.qty ? ol.qty : '1',\r\n deactivatedAt: null,\r\n orderLineComments: _.map(ol.memoOrderLineComments, comment => {\r\n return {\r\n ...comment, \r\n local_id: -1*(ol.memoOrderLineComments.indexOf(comment)+1),\r\n commentType: helpers.resolveValue(null, comment.commentTypeId, comment.commentTypeName)\r\n }\r\n }),\r\n commentCount: ol.memoOrderLineComments ? ol.memoOrderLineComments.length : 0, // for temporary use only\r\n productMemoSize: ol.productMemoSize,\r\n isSelected: false,\r\n lastSampleReceivedAt: date_helpers.getMomentFromString(ol.lastSampleReceivedAt)\r\n }\r\n })\r\n },\r\n // relatedMemoBilledOrders: item.relatedMemoBilledOrders,\r\n showEdit: true\r\n }, () => this.getCustomer(item.customerId));\r\n }).catch(helpers.catchHandler);\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n getCustomer(customerId) {\r\n api.fetch(`Customer/GetActiveContacts/${customerId}`).then((response) => {\r\n const customerShipToAddresses = _.chain(response.data.customerAddresses)\r\n .filter(ca => { return ca.addressTypeId === constants.ADDRESS_TYPE.SHIP_TO })\r\n .map(a => {\r\n a.value = a.id;\r\n a.label = helpers.formatAddressLabel(a, '* ')\r\n return a;\r\n }).value();\r\n let customerInfo = response.data.customer;\r\n let customerContacts = response.data.contacts;\r\n _.each(customerContacts, c => {\r\n // remove deactivated phones and addresses for each contact\r\n const addresses = _.filter(c.addresses, a => a.deactivatedAt === null);\r\n const phoneNumbers = _.filter(c.phoneNumbers, p => p.deactivatedAt === null);\r\n c.expanded = false;\r\n c.addresses = addresses;\r\n c.phoneNumbers = phoneNumbers;\r\n \r\n // set value and label for select\r\n c.label = `${c.firstName} ${c.lastName}`;\r\n c.value = c.id;\r\n return c;\r\n });\r\n this.setState({ \r\n customerInfo: customerInfo, \r\n customerContacts: customerContacts,\r\n customerShipToAddresses: customerShipToAddresses,\r\n shippingAddresses: customerShipToAddresses\r\n });\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n handleTypeaheadSelectionChange(fieldName, selection) {\r\n let memoOrderCopy = Object.assign({}, this.state.memoOrder);\r\n if (selection.value !== (memoOrderCopy.customer && memoOrderCopy.customer.value)) {\r\n memoOrderCopy = {\r\n ...memoOrderCopy,\r\n contactFirstName: '',\r\n contactLastName: '',\r\n contactEmail: '',\r\n addressLine1: '',\r\n addressLine2: '',\r\n addressLine3: '',\r\n addressLine4: '',\r\n city: '',\r\n state: '',\r\n zip: '',\r\n phone: '',\r\n }\r\n }\r\n this.setState({ \r\n memoOrder: {\r\n ...memoOrderCopy, \r\n [fieldName]: selection,\r\n errorMessage: null\r\n }\r\n }, () => this.getCustomer(selection.value));\r\n }\r\n\r\n handleCreatedAtInputChange(date) {\r\n this.setState({\r\n memoOrder: {\r\n ...this.state.memoOrder,\r\n createdAt: date\r\n }\r\n });\r\n }\r\n\r\n handleMemoOrderStateChange(fieldName, value) {\r\n this.setState({\r\n memoOrder: {\r\n ...this.state.memoOrder,\r\n [fieldName]: value\r\n }\r\n });\r\n }\r\n\r\n async setSelectedShippingContact(option) {\r\n const phoneNumber = await _.find(option.phoneNumbers, x => x.isPrimary);\r\n const shippingAddresses = this.state.customerShipToAddresses.concat(\r\n _.map(_.filter(option.addresses, x => x.typeOfAddress === constants.ADDRESS_TYPE.SHIP_TO),\r\n ad => {\r\n return {\r\n ...ad,\r\n value: ad.id,\r\n label: helpers.formatAddressLabel(ad)\r\n }\r\n }));\r\n this.setState({\r\n memoOrder: {\r\n ...this.state.memoOrder,\r\n contactFirstName: option.firstName,\r\n contactLastName: option.lastName,\r\n contactEmail: helpers.nullableString(option.email),\r\n phone: phoneNumber ? phoneNumber.number : \"\",\r\n },\r\n shippingAddresses: shippingAddresses\r\n });\r\n }\r\n\r\n setSelectedShippingAddress(option) {\r\n this.setState({\r\n memoOrder: {\r\n ...this.state.memoOrder,\r\n addressLine1: helpers.nullableString(option.ln1),\r\n addressLine2: helpers.nullableString(option.ln2),\r\n addressLine3: helpers.nullableString(option.ln3),\r\n addressLine4: helpers.nullableString(option.ln4),\r\n city: helpers.nullableString(option.city),\r\n state: helpers.nullableString(option.state),\r\n zip: helpers.nullableString(option.zip)\r\n }\r\n })\r\n }\r\n\r\n setSelectedMemoShipMethod(option) {\r\n this.setState({\r\n memoOrder: {\r\n ...this.state.memoOrder,\r\n memoShipMethod: option\r\n }\r\n });\r\n }\r\n\r\n isFormValid() {\r\n const warnings = [];\r\n if (this.state.memoOrder.memoOrderLines.length < 1 && !this.state.savingNewMemoOrderWithOrderLine) {\r\n warnings.push(\"At least one order line is required.\")\r\n }\r\n if (!this.state.memoOrder.customer) {\r\n warnings.push(\"Account is required.\");\r\n }\r\n if (!this.state.memoOrder.contactFirstName) {\r\n warnings.push(\"Contact First Name is required.\");\r\n }\r\n if (!this.state.memoOrder.contactLastName) {\r\n warnings.push(\"Contact Last Name is required.\");\r\n }\r\n // if (this.state.memoOrder.contactEmail) {\r\n // warnings.push(\"Contact email is not valid.\");\r\n // }\r\n if (!this.state.memoOrder.addressLine3) {\r\n warnings.push(\"Address is required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\"\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmitNewMemoOrderWithOrderLine(orderLine) {\r\n // window.scroll(0,0);\r\n if (!this.isFormValid()) return;\r\n let orderLines = [];\r\n orderLines.push(orderLine);\r\n const payload = {\r\n Id: this.state.memoOrder.id,\r\n CustomerId: this.state.memoOrder.customer.value,\r\n Sidemark: this.state.memoOrder.sidemark ,\r\n ContactFirstName: this.state.memoOrder.contactFirstName,\r\n ContactLastName: this.state.memoOrder.contactLastName,\r\n ContactEmail: this.state.memoOrder.contactEmail ? this.state.memoOrder.contactEmail : null,\r\n AddressLine1: this.state.memoOrder.addressLine1,\r\n AddressLine2: this.state.memoOrder.addressLine2,\r\n AddressLine3: this.state.memoOrder.addressLine3,\r\n AddressLine4: this.state.memoOrder.addressLine4,\r\n City: this.state.memoOrder.city,\r\n State: this.state.memoOrder.state,\r\n Zip: this.state.memoOrder.zip,\r\n Phone: this.state.memoOrder.phone,\r\n MemoShipMethodId: this.state.memoOrder.memoShipMethod ? this.state.memoOrder.memoShipMethod.value : null,\r\n TrackingNumber: this.state.memoOrder.trackingNumber,\r\n Comment: this.state.memoOrder.comment,\r\n MemoOrderLines: orderLines\r\n };\r\n\r\n api.post(`MemoOrder/SaveNewMemoOrderWithOrderLine/${false}`, payload)\r\n .then(response => {\r\n if(response.data.success) {\r\n let memoOrderId = parseInt(response.data.message);\r\n this.setState({\r\n messageFlavor: \"success\",\r\n message: \"New memo order was saved!\",\r\n savingNewMemoOrderWithOrderLine: false\r\n }, () => {\r\n this.onEdit(memoOrderId);\r\n }); \r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message\r\n });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onSubmit() {\r\n window.scroll(0,0);\r\n if (!this.isFormValid()) return;\r\n const payload = {\r\n Id: this.state.memoOrder.id,\r\n CustomerId: this.state.memoOrder.customer.value,\r\n Sidemark: this.state.memoOrder.sidemark ,\r\n ContactFirstName: this.state.memoOrder.contactFirstName,\r\n ContactLastName: this.state.memoOrder.contactLastName,\r\n ContactEmail: this.state.memoOrder.contactEmail ? this.state.memoOrder.contactEmail : null,\r\n AddressLine1: this.state.memoOrder.addressLine1,\r\n AddressLine2: this.state.memoOrder.addressLine2,\r\n AddressLine3: this.state.memoOrder.addressLine3,\r\n AddressLine4: this.state.memoOrder.addressLine4,\r\n City: this.state.memoOrder.city,\r\n State: this.state.memoOrder.state,\r\n Zip: this.state.memoOrder.zip,\r\n Phone: this.state.memoOrder.phone,\r\n MemoShipMethodId: this.state.memoOrder.memoShipMethod ? this.state.memoOrder.memoShipMethod.value : null,\r\n TrackingNumber: this.state.memoOrder.trackingNumber,\r\n Comment: this.state.memoOrder.comment\r\n };\r\n\r\n api.post(\"MemoOrder/UpdateMemoOrder\", payload)\r\n .then(response => {\r\n if(response.data.success) {\r\n this.setState({\r\n memoOrder: {\r\n ...emptyMemoOrder,\r\n createdByUser: getCurrentUser()\r\n },\r\n showEdit: false\r\n }, () => this.refreshList()); \r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api.delete(`MemoOrder/DeleteMemoOrder/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api.delete(`MemoOrder/ReviveMemoOrder/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n saveNewMemoOrderWithOrderLine(orderLine) {\r\n this.setState({\r\n savingNewMemoOrderWithOrderLine: true\r\n }, () => this.onSubmitNewMemoOrderWithOrderLine(orderLine))\r\n }\r\n\r\n moveSelectedMemoOrderLinesToNewOrder(orderLines) {\r\n this.setState({\r\n savingNewMemoOrderWithOrderLine: true\r\n }, () => {\r\n window.scroll(0,0);\r\n if (!this.isFormValid()) return;\r\n const payload = {\r\n Id: this.state.memoOrder.id,\r\n CustomerId: this.state.memoOrder.customer.value,\r\n Sidemark: this.state.memoOrder.sidemark ,\r\n ContactFirstName: this.state.memoOrder.contactFirstName,\r\n ContactLastName: this.state.memoOrder.contactLastName,\r\n ContactEmail: this.state.memoOrder.contactEmail ? this.state.memoOrder.contactEmail : null,\r\n AddressLine1: this.state.memoOrder.addressLine1,\r\n AddressLine2: this.state.memoOrder.addressLine2,\r\n AddressLine3: this.state.memoOrder.addressLine3,\r\n AddressLine4: this.state.memoOrder.addressLine4,\r\n City: this.state.memoOrder.city,\r\n State: this.state.memoOrder.state,\r\n Zip: this.state.memoOrder.zip,\r\n Phone: this.state.memoOrder.phone,\r\n MemoShipMethodId: this.state.memoOrder.memoShipMethod ? this.state.memoOrder.memoShipMethod.value : null,\r\n TrackingNumber: this.state.memoOrder.trackingNumber,\r\n Comment: this.state.memoOrder.comment,\r\n MemoOrderLines: orderLines\r\n };\r\n \r\n api.post(`MemoOrder/SaveNewMemoOrderWithOrderLine/${true}`, payload)\r\n .then(response => {\r\n if(response.data.success) {\r\n let memoOrderId = parseInt(response.data.message);\r\n this.setState({\r\n messageFlavor: \"success\",\r\n message: `Selected order lines were successfully moved to newly created order #${memoOrderId}`,\r\n savingNewMemoOrderWithOrderLine: false\r\n }, () => {\r\n this.onEdit(this.state.memoOrder.id); // refresh current order\r\n }); \r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message\r\n });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n })\r\n }\r\n\r\n onToggleCustomerSearchModal() {\r\n this.setState({showCustomerSearchModal: !this.state.showCustomerSearchModal})\r\n }\r\n\r\n onCustomerSelectedFromSearchModal(customerId, customerName) {\r\n let memoOrderCopy = Object.assign({}, this.state.memoOrder);\r\n if (!this.state.memoOrder.customer || this.state.memoOrder.customer.value !== customerId ) {\r\n memoOrderCopy = {\r\n ...memoOrderCopy,\r\n contactFirstName: '',\r\n contactLastName: '',\r\n contactEmail: '',\r\n addressLine1: '',\r\n addressLine2: '',\r\n addressLine3: '',\r\n addressLine4: '',\r\n city: '',\r\n state: '',\r\n zip: '',\r\n phone: '',\r\n }\r\n }\r\n this.setState({\r\n showCustomerSearchModal: false,\r\n memoOrder: {\r\n ...memoOrderCopy,\r\n customer: helpers.resolveValue(null, customerId, customerName)\r\n }\r\n }, () => this.getCustomer(customerId));\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.showEdit ?\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

{!this.state.memoOrder.id ? 'Add New' : null} Memo Order {this.state.memoOrder.id ? '# ' + this.state.memoOrder.id : null}

\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n Account {helpers.requiredStar()}\r\n \r\n this.handleTypeaheadSelectionChange(\"customer\", e)}\r\n isMulti={false}\r\n customer={this.state.memoOrder.customer}\r\n />\r\n \r\n Account #\r\n \r\n \r\n Date Entered\r\n \r\n \r\n Entered By\r\n \r\n \r\n Memo Billed Sample Form Received?\r\n
\r\n {}}\r\n checked={this.state.customerInfo ? this.state.customerInfo.hasMemoBilledSampleForm : false }\r\n disabled\r\n />\r\n
\r\n \r\n
\r\n \r\n Select Ship To Contact\r\n \r\n \r\n Select Ship To Address\r\n \r\n \r\n \r\n \r\n \r\n \r\n Contact First Name\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"25\"\r\n />\r\n \r\n Contact Last Name\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"25\"\r\n />\r\n \r\n \r\n \r\n Contact Phone Number\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"20\"\r\n />\r\n \r\n Contact Email\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"150\"\r\n />\r\n \r\n \r\n \r\n Ship Method\r\n this.setSelectedMemoShipMethod(option)}\r\n isClearable\r\n />\r\n \r\n Tracking Number\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"150\"\r\n />\r\n \r\n \r\n \r\n Comment\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n value={this.state.memoOrder.comment}\r\n placeholder=\"Enter A Comment\"\r\n maxLength=\"300\"\r\n style={{height: \"160px\"}}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Ship To Name\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"150\"\r\n />\r\n \r\n \r\n \r\n Additional Name (Optional)\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"150\"\r\n />\r\n \r\n \r\n \r\n Shipping Address\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"150\"\r\n />\r\n \r\n \r\n \r\n Address Line 2\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"150\"\r\n />\r\n \r\n \r\n \r\n City\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"50\"\r\n />\r\n \r\n State\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"25\"\r\n />\r\n \r\n Zip\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"20\"\r\n />\r\n \r\n \r\n \r\n Sidemark\r\n this.handleMemoOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n value={this.state.memoOrder.sidemark}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {/* Per Tracy's request, below removed on 5/3/2024 as they no longer memo bill customers for samples*/}\r\n {/* \r\n \r\n
Customer's Open Memo Billed Orders
\r\n {this.state.relatedMemoBilledOrders.map((ro, index) => (\r\n
\r\n \r\n {ro.orderId}:\r\n {ro.orderDsc}\r\n
\r\n ))}\r\n \r\n
*/}\r\n \r\n \r\n \r\n \r\n Save Memo Order\r\n \r\n \r\n Back\r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.setState({showCustomerSearchModal: false})}\r\n size=\"lg\"\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n :\r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

Memo Orders

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Add Memo Order\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.pagedList.list.map(orderLine => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
#\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{orderLine.memoOrderId}{orderLine.customerName}{date_helpers.formatDateToShortDate(orderLine.createdAt)}\r\n {orderLine.supplierName\r\n ? \r\n
\r\n Supplier: {orderLine.supplierName}\r\n
\r\n
\r\n DC: {orderLine.dcName}\r\n
\r\n
\r\n : null\r\n }\r\n
\r\n {orderLine.productColorName ? orderLine.productColorName : null}\r\n {orderLine.productColorNumber ? ` ${orderLine.productColorNumber}` : null}\r\n {orderLine.sampleBookName ? orderLine.sampleBookName : null}\r\n \r\n {orderLine.deactivatedAt === null\r\n ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport {\r\n Alert,\r\n Container,\r\n Table,\r\n Button,\r\n ButtonGroup,\r\n CardBody,\r\n Row,\r\n Col,\r\n Card,\r\n Input,\r\n Label\r\n} from 'reactstrap';\r\nimport {\r\n api,\r\n helpers,\r\n filter_helpers\r\n} from '../utils';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n FilterBoolean,\r\n FilterSet,\r\n FilterText\r\n} from '../components';\r\nimport _ from 'lodash';\r\n\r\nconst apiUrl = 'MemoSize/';\r\n\r\nconst emptyMemo = {\r\n id: null,\r\n name: \"\"\r\n};\r\n\r\nclass MemoSizes extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n list: [],\r\n item: emptyMemo,\r\n newItem: emptyMemo,\r\n filters: [],\r\n message: null,\r\n messageFlavor: null\r\n };\r\n\r\n this.refreshList = this.refreshList.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.handleNewItemFormInput = this.handleNewItemFormInput.bind(this);\r\n this.handleFormInput = this.handleFormInput.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleUnDelete = this.handleUnDelete.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.onEdit = this.onEdit.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshList();\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n let filterList = filters || this.state.filters;\r\n let payload = {\r\n SortField: sortField || this.state.sortField || 'Name',\r\n SortDir: sortDirection || this.state.sortDir\r\n };\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n api.post(apiUrl + 'GetList', payload)\r\n .then((response) => {\r\n this.setState({\r\n list: response.data\r\n })\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changedFilter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n handleNewItemFormInput(event) {\r\n this.setState({ newItem: {...this.state.newItem, [event.target.name]: event.target.value } });\r\n }\r\n\r\n handleFormInput(event) {\r\n this.setState({ item: {...this.state.item, [event.target.name]: event.target.value } });\r\n }\r\n\r\n onCancel() {\r\n this.setState({ item: emptyMemo });\r\n }\r\n\r\n onEdit(item) {\r\n this.setState({item: item})\r\n }\r\n\r\n isFormValid(item) {\r\n let warnings = [];\r\n if (!item.name || item.name.length < 1) {\r\n warnings.push(\"Please provide a valid description entry.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n }\r\n else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmit(e, item) {\r\n if (!this.isFormValid(item)) return;\r\n const payload = {\r\n id: item.id,\r\n name: item.name,\r\n };\r\n const verb = item.id > 0 ? \"put\" : \"post\";\r\n if (!payload.id) { delete payload.id; }\r\n api.upload(verb, apiUrl, payload)\r\n .then(result => {\r\n if (result.data.success) {\r\n this.setState({\r\n item: emptyMemo,\r\n newItem: emptyMemo\r\n });\r\n this.onCancel();\r\n this.refreshList();\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: result.data.message });\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api.post(`MemoSize/Undelete/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api.delete(`MemoSize/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Memo Sizes Administration

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.onSubmit(e, this.state.newItem)}\r\n >\r\n Save\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.list.map(item => (\r\n \r\n {this.state.item.id !== null && item.id === this.state.item.id\r\n ? \r\n \r\n \r\n \r\n : \r\n \r\n \r\n \r\n }\r\n \r\n ))}\r\n \r\n
Description
\r\n \r\n \r\n \r\n this.onSubmit(e, this.state.item)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancel()}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n
\r\n {item.name}\r\n \r\n \r\n {item.deactivatedAt\r\n ? this.handleUnDelete(item.id)}\r\n >\r\n Revive\r\n \r\n : \r\n this.onEdit(item)}\r\n size=\"sm\"\r\n >\r\n \r\n \r\n this.handleDelete(item.id)}\r\n >\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default MemoSizes;\r\n","import React, { Component } from 'react';\r\nimport {\r\n Button,\r\n ButtonGroup,\r\n Card,\r\n Col,\r\n Row,\r\n Table,\r\n Alert,\r\n Collapse,\r\n CardBody,\r\n Input\r\n} from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport _ from 'lodash';\r\nimport {\r\n api,\r\n helpers,\r\n date_helpers,\r\n constants\r\n} from '../utils';\r\nimport {\r\n SortHeader\r\n} from '../components';\r\n\r\nconst emptyMemoStockOrder = {\r\n product: null,\r\n productColor: null,\r\n memoSize: null,\r\n qty: '',\r\n comment: ''\r\n};\r\n\r\nclass MemoStockOrders extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n memoStockOrders: [],\r\n filters: [],\r\n sort_field: 'CreatedAt',\r\n sort_dir: 'Desc',\r\n message: null,\r\n messageFlavor: null,\r\n memoStockOrderToAddEdit: emptyMemoStockOrder,\r\n showMemoStockOrderForm: false,\r\n memoStockReceived: '1',\r\n editingReceiving: false,\r\n editingMemoOrder: false\r\n };\r\n this.refreshList = this.refreshList.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.setSelectedProduct = this.setSelectedProduct.bind(this);\r\n this.fetchProductMemoSizes = this.fetchProductMemoSizes.bind(this);\r\n this.downloadLabel = this.downloadLabel.bind(this);\r\n this.handleEdit = this.handleEdit.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n api.fetch(`Product/GetAllActiveProducts`)\r\n .then(response => {\r\n this.setState({\r\n productsList: response.data\r\n })\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n this.refreshList();\r\n }\r\n\r\n refreshList(sortField, sortDirection) {\r\n const payload = {\r\n SortField: sortField || this.state.sort_field,\r\n SortDir: sortDirection || this.state.sort_dir,\r\n };\r\n api.post(`MemoOrder/GetMemoStockOrders`, payload)\r\n .then(response => {\r\n this.setState({\r\n memoStockOrders: _.map(response.data, sto => {\r\n return {\r\n id: sto.id,\r\n createdAt: date_helpers.formatDateToShortDate(sto.createdAt),\r\n memoSize: helpers.resolveValue(null, sto.memoSizeId, sto.memoSizeName),\r\n qty: helpers.nullableString(sto.qty),\r\n product: helpers.resolveValue(null, sto.productId, sto.productDCName),\r\n productDCName: helpers.nullableString(sto.productDCName),\r\n productDCNumber: helpers.nullableString(sto.productDCNumber),\r\n productSupplierName: helpers.nullableString(sto.productSupplierName),\r\n productSupplierNumber: helpers.nullableString(sto.productSupplierNumber),\r\n productColor: helpers.resolveValue(null, sto.productColorId, sto.productColorName),\r\n productColorName: helpers.nullableString(sto.productColorName),\r\n productColorNumber: helpers.nullableString(sto.productColorNumber),\r\n supplier:helpers.nullableString(sto.supplier),\r\n comment: helpers.nullableString(sto.comment),\r\n fiber: helpers.nullableString(sto.fiber),\r\n deactivatedAt: null,\r\n productMemoSize: sto.productMemoSize,\r\n productMemoShelfNumber: helpers.nullableString(sto.productMemoShelfNumber),\r\n inventory: sto.productMemoSize ? sto.productMemoSize.qty : '0',\r\n qtyReceived: sto.qtyReceived\r\n }\r\n }),\r\n editingReceiving: false,\r\n memoStockReceived: null,\r\n memoStockOrderToAddEdit: emptyMemoStockOrder,\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n } \r\n\r\n doSort(field, direction) {\r\n this.setState({ sort_dir: direction, sort_field: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n toggleAddMemoStockOrderCollapse() {\r\n this.setState({\r\n showMemoStockOrderForm: !this.state.showMemoStockOrderForm,\r\n memoStockOrderToAddEdit: emptyMemoStockOrder,\r\n message: null,\r\n messageFlavor: null,\r\n productColorsList: [],\r\n selectedColorMemoSizeList: [],\r\n editingMemoOrder: !this.state.editingMemoOrder,\r\n allProductMemoSizes: []\r\n });\r\n }\r\n\r\n setSelectedProduct(option) {\r\n api.fetch(`Order/GetActiveProductColors/${option.value}`)\r\n .then(response => {\r\n this.setState({\r\n productColorsList: response.data,\r\n memoStockOrderToAddEdit: {\r\n ...this.state.memoStockOrderToAddEdit,\r\n product: option, \r\n productColor: response.data.length > 0 ? response.data[0] : null\r\n }\r\n }, () => this.fetchProductMemoSizes(option));\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n fetchProductMemoSizes(option) {\r\n api.fetch(`Product/GetProduct/${option.value}`)\r\n .then(response => {\r\n let selectedProductColorId = this.state.memoStockOrderToAddEdit.productColor ? this.state.memoStockOrderToAddEdit.productColor.value : null;\r\n let selectedColorMemoSizeList = _.filter(response.data.productMemoSizes, function(x) {\r\n return x.productColorId === selectedProductColorId\r\n } )\r\n this.setState({\r\n selectedColorMemoSizeList: _.map(selectedColorMemoSizeList, ms => {\r\n return {\r\n ...ms,\r\n value: ms.memoSizeId,\r\n label: ms.memoSizeName\r\n }\r\n }),\r\n memoStockOrderToAddEdit: {\r\n ...this.state.memoStockOrderToAddEdit,\r\n memoSize: selectedColorMemoSizeList.length > 0 ? helpers.resolveValue(null, selectedColorMemoSizeList[0].memoSizeId, selectedColorMemoSizeList[0].memoSizeName) : null\r\n },\r\n allProductMemoSizes: response.data.productMemoSizes\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n setSelectedProductColor(option) {\r\n let selectedProductColorId = option.value;\r\n let selectedColorMemoSizeList = _.filter(this.state.allProductMemoSizes, function(x) {\r\n return x.productColorId === selectedProductColorId\r\n });\r\n this.setState(prevState => ({\r\n ...prevState,\r\n memoStockOrderToAddEdit: {\r\n ...prevState.memoStockOrderToAddEdit,\r\n productColor: option,\r\n memoSize: selectedColorMemoSizeList.length > 0 ? helpers.resolveValue(null, selectedColorMemoSizeList[0].memoSizeId, selectedColorMemoSizeList[0].memoSizeName) : null\r\n },\r\n selectedColorMemoSizeList: _.map(selectedColorMemoSizeList, ms => {\r\n return {\r\n ...ms,\r\n value: ms.memoSizeId,\r\n label: ms.memoSizeName\r\n }\r\n }),\r\n }));\r\n }\r\n\r\n setSelectedMemoSize(option) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n memoStockOrderToAddEdit: {\r\n ...prevState.memoStockOrderToAddEdit,\r\n memoSize: option\r\n }\r\n }));\r\n }\r\n\r\n handleEdit(stockId){\r\n let memoStock = _.find(\r\n this.state.memoStockOrders.slice(),\r\n ms => {\r\n return ms.id === stockId\r\n }\r\n );\r\n this.setState({\r\n memoStockOrderToAddEdit: memoStock,\r\n showMemoStockOrderForm: true,\r\n editingMemoOrder: true\r\n });\r\n document.getElementById(\"addEditMemoStockOrder\").scrollIntoView();\r\n }\r\n\r\n handleMemoStockOrderStateChange(fieldName, value) {\r\n this.setState({\r\n memoStockOrderToAddEdit: {\r\n ...this.state.memoStockOrderToAddEdit,\r\n [fieldName]: value\r\n }\r\n });\r\n }\r\n\r\n isFormValid(item) {\r\n let warnings = [];\r\n if (!item.product) {\r\n warnings.push(\"Product is required.\");\r\n }\r\n if(!item.productColor) {\r\n warnings.push(\"Product color is required.\");\r\n }\r\n if(!item.memoSize) {\r\n warnings.push(\"Memo size is required.\");\r\n }\r\n if(!item.qty) {\r\n warnings.push(\"Quantity is required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\"\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n saveNewMemoStockOrder() {\r\n if (!this.isFormValid(this.state.memoStockOrderToAddEdit)) return;\r\n const memoStockOrderToAddEdit = Object.assign({}, this.state.memoStockOrderToAddEdit);\r\n const data = {\r\n Id: memoStockOrderToAddEdit.id > 0 ? memoStockOrderToAddEdit.id : 0, //change\r\n ProductId: memoStockOrderToAddEdit.product.value,\r\n ProductColorId: memoStockOrderToAddEdit.productColor.value,\r\n MemoSizeId: memoStockOrderToAddEdit.memoSize.value,\r\n Qty: Number(memoStockOrderToAddEdit.qty),\r\n Comment: memoStockOrderToAddEdit.comment\r\n };\r\n\r\n api.post(\"MemoOrder/SaveMemoStockOrder\", data)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n showMemoStockOrderForm: false,\r\n memoStockOrderToAddEdit: emptyMemoStockOrder,\r\n editingMemoOrder: false\r\n }, () => this.refreshList());\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message\r\n });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n saveAndReceiveNewMemoStockOrder() {\r\n if (!this.isFormValid(this.state.memoStockOrderToAddEdit)) return;\r\n const memoStockOrderToAddEdit = Object.assign({}, this.state.memoStockOrderToAddEdit);\r\n const data = {\r\n Id: memoStockOrderToAddEdit.id > 0 ? memoStockOrderToAddEdit.id : 0,\r\n ProductId: memoStockOrderToAddEdit.product.value,\r\n ProductColorId: memoStockOrderToAddEdit.productColor.value,\r\n MemoSizeId: memoStockOrderToAddEdit.memoSize.value,\r\n Qty: Number(memoStockOrderToAddEdit.qty),\r\n Comment: memoStockOrderToAddEdit.comment\r\n };\r\n\r\n api.post(\"MemoOrder/SaveAndReceiveMemoStockOrder\", data)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n showMemoStockOrderForm: false,\r\n memoStockOrderToAddEdit: emptyMemoStockOrder,\r\n editingMemoOrder: false\r\n }, () => this.refreshList());\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message\r\n });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n markMemoStockLineAsReceiving(memoStockOrderId) {\r\n const indexToEdit = _.findIndex(this.state.memoStockOrders, {id: memoStockOrderId});\r\n let tempList = this.state.memoStockOrders.slice();\r\n const snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n tempList[indexToEdit].isEditing = true;\r\n tempList[indexToEdit].pristine = snapshotItem;\r\n this.setState({\r\n memoStockOrders: tempList,\r\n editingReceiving: true\r\n });\r\n }\r\n\r\n cancelReceiveMemoStockOrder(memoStockOrderId) {\r\n const indexToEdit = _.findIndex(this.state.memoStockOrders, {id: memoStockOrderId});\r\n let tempList = this.state.memoStockOrders.slice();\r\n tempList[indexToEdit] = tempList[indexToEdit].pristine;\r\n this.setState({\r\n memoStockOrders: tempList,\r\n memoStockReceived: '',\r\n message: null,\r\n messageFlavor: null,\r\n editingReceiving: false\r\n });\r\n }\r\n\r\n isReceiveFormValid(memoStockOrderQty) {\r\n let warnings = [];\r\n if (!this.state.memoStockReceived || this.state.memoStockReceived < 1) {\r\n warnings.push(\"Number to receive is required and must be greater than 0.\");\r\n }\r\n // if (this.state.memoStockReceived > memoStockOrderQty) {\r\n // warnings.push(\"Number to receive must be less than quantity ordered.\");\r\n // }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\"\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n receiveMemoStockOrder(memoStockOrderId, memoStockOrderQty, productMemoSize) {\r\n if (!this.isReceiveFormValid(memoStockOrderQty)) return;\r\n const data = {\r\n Id: productMemoSize.id,\r\n ProductId: productMemoSize.productId,\r\n MemoSizeId: productMemoSize.memoSizeId,\r\n ProductColorId: productMemoSize.productColorId,\r\n Qty: Number(productMemoSize.qty),\r\n MemoStockReceived: Number(this.state.memoStockReceived),\r\n MemoStockOrderId: memoStockOrderId\r\n };\r\n api.post(`MemoOrder/UpdateProductMemoSizeInventory`, data).then(response => {\r\n if (response.data.success) {\r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) { // hard delete\r\n api.post(`MemoOrder/HardDeleteMemoStockOrder/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n this.setState({\r\n messageFlavor: \"success\",\r\n message: \"Memo Stock Order deleted.\"\r\n }, () => {\r\n setTimeout(() => {\r\n this.setState({ messageFlavor: null, message: null })\r\n }, 400)\r\n })\r\n \r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n downloadLabel(memoStockOrderId) {\r\n api.post(`MemoOrder/DownloadShippingLabel/${memoStockOrderId}`, {}, \"blob\").then(response => {\r\n if (response.status === 200) {\r\n helpers.downloadExport(response.data, 'Shipping_Label.xlsx', constants.MIME_XLSX);\r\n } else {\r\n throw new Error(\"Error downloading shipping label\");\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this.state.message && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n {this.state.showMemoStockOrderForm\r\n ? null\r\n : \r\n this.toggleAddMemoStockOrderCollapse()}\r\n title=\"Add New OrderLine\"\r\n >\r\n Add\r\n \r\n \r\n }\r\n

Memo Orders for Stock Awaiting Delivery

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
Add New Stock Order
\r\n \r\n
\r\n \r\n Product {helpers.requiredStar()}\r\n this.setSelectedProduct(option)}\r\n />\r\n \r\n Color {helpers.requiredStar()}\r\n this.setSelectedProductColor(option)}\r\n />\r\n \r\n Size {helpers.requiredStar()}\r\n this.setSelectedMemoSize(option)}\r\n />\r\n \r\n \r\n \r\n Comment\r\n this.handleMemoStockOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n value={this.state.memoStockOrderToAddEdit.comment}\r\n placeholder=\"Enter A Comment\"\r\n maxLength=\"500\"\r\n style={{height: \"105px\"}}\r\n />\r\n \r\n Quantity {helpers.requiredStar()}\r\n this.handleMemoStockOrderStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n value={this.state.memoStockOrderToAddEdit.qty}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.saveNewMemoStockOrder()}\r\n >\r\n Save\r\n \r\n {this.state.memoStockOrderToAddEdit.id > 0 ? null :\r\n this.saveAndReceiveNewMemoStockOrder()}\r\n >\r\n Save & Receive \r\n }\r\n this.toggleAddMemoStockOrderCollapse()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.memoStockOrders.map((sto, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Inventory\r\n \r\n \r\n \r\n
{sto.createdAt}{sto.memoSize.label}{sto.productMemoShelfNumber}{sto.qty - sto.qtyReceived}\r\n
\r\n {sto.supplier}\r\n
\r\n
\r\n {`${sto.productSupplierName} ${sto.productSupplierNumber}`} \r\n
\r\n
\r\n {`${sto.productDCName} ${sto.productDCNumber}`} \r\n {sto.productColor.label} {sto.productColorNumber}{sto.inventory}{sto.comment}\r\n {sto.isEditing\r\n ? \r\n
\r\n this.setState({ memoStockReceived: event.target.value})}\r\n value={this.state.memoStockReceived ? this.state.memoStockReceived : \"\"}\r\n />\r\n
\r\n
\r\n \r\n this.receiveMemoStockOrder(sto.id, sto.qty, sto.productMemoSize)}\r\n size=\"sm\"\r\n >\r\n OK\r\n \r\n this.cancelReceiveMemoStockOrder(sto.id)}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n
\r\n
\r\n : this.markMemoStockLineAsReceiving(sto.id)}\r\n size=\"sm\"\r\n disabled={this.state.editingReceiving || this.state.editingMemoOrder}\r\n >\r\n Receive\r\n \r\n }\r\n
\r\n \r\n {sto.deactivatedAt === null ? (\r\n \r\n \r\n this.downloadLabel(sto.id)}\r\n size=\"sm\"\r\n disabled={this.state.editingReceiving || this.state.editingMemoOrder}\r\n >\r\n Shipping Label\r\n \r\n this.handleDelete(sto.id)}\r\n >\r\n \r\n \r\n \r\n ) : (\r\n this.handleUnDelete(sto.id)}\r\n disabled={this.state.editingReceiving || this.state.editingMemoOrder}\r\n >\r\n Revive\r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default MemoStockOrders;\r\n","import React, { Component } from 'react';\r\nimport {\r\n Button,\r\n ButtonGroup,\r\n Container,\r\n Card,\r\n CardBody,\r\n Col,\r\n Row,\r\n Table,\r\n Alert,\r\n Collapse,\r\n Input,\r\n Modal,\r\n ModalBody\r\n} from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport _ from 'lodash';\r\nimport { CustomerTypeahead } from '../components';\r\nimport CustomerAdmin from './CustomerAdmin';\r\nimport {\r\n api,\r\n helpers,\r\n date_helpers\r\n} from '../utils';\r\n\r\nconst emptyMillReserve = {\r\n supplier: null,\r\n reserveNumber: '',\r\n customer: null,\r\n product: null, \r\n productColor: null,\r\n width: null,\r\n feet: '',\r\n fob: '',\r\n comment: ''\r\n};\r\n\r\nclass MillReserves extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n millReserves: [],\r\n message: null,\r\n messageFlavor: null,\r\n // customerList: [],\r\n supplierList: [],\r\n millReserveToAddEdit: emptyMillReserve,\r\n showMillReserveForm: false,\r\n showCustomerSearchModal: false,\r\n productsList: [],\r\n productColorsList: [],\r\n widthsList: []\r\n };\r\n this.refreshList = this.refreshList.bind(this);\r\n this.onToggleCustomerSearchModal = this.onToggleCustomerSearchModal.bind(this);\r\n this.onEdit = this.onEdit.bind(this);\r\n this.setSelectedProduct = this.setSelectedProduct.bind(this);\r\n this.fetchProductWidths = this.fetchProductWidths.bind(this);\r\n this.fetchListsForMillReserveToEdit = this.fetchListsForMillReserveToEdit.bind(this);\r\n this.onToggleCustomerSearchModal = this.onToggleCustomerSearchModal.bind(this);\r\n this.onCustomerSelectedFromSearchModal = this.onCustomerSelectedFromSearchModal.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getSupplier = api.fetch('Reference/GetSupplierList')\r\n .then((result) => {\r\n return { supplierList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n Promise.all([\r\n getSupplier\r\n ])\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, () =>\r\n this.refreshList());\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n refreshList() {\r\n api.post(`MillReserve/GetList`)\r\n .then(response => {\r\n this.setState({\r\n millReserves: _.map(response.data, mr => {\r\n return {\r\n id: mr.id,\r\n supplier: helpers.resolveValue(null, mr.supplierId, mr.supplierName),\r\n supplierName: helpers.nullableString(mr.supplierName),\r\n supplierAccountNumber: helpers.nullableString(mr.supplierAccountNumber),\r\n millAgentPhoneNumber: helpers.nullableString(mr.millAgentPhoneNumber), //should be SupplierPhoneNo (not in new database)\r\n reserveNumber: helpers.nullableString(mr.reserveNumber),\r\n product: helpers.resolveValue(null, mr.productId, mr.productDCName),\r\n productDCName: helpers.nullableString(mr.productDCName),\r\n productDCNumber: helpers.nullableString(mr.productDCNumber),\r\n productSupplierName: helpers.nullableString(mr.productSupplierName),\r\n productSupplierNumber: helpers.nullableString(mr.productSupplierNumber),\r\n productColor: helpers.resolveValue(null, mr.productColorId, mr.productColorName),\r\n productColorName: helpers.nullableString(mr.productColorName),\r\n feet: mr.feet ? _.round(mr.feet, 2).toFixed(2) : '0',\r\n createdAt: date_helpers.formatDateToShortDate(mr.createdAt),\r\n lastReservedAt: date_helpers.formatDateToShortDate(mr.lastReservedAt),\r\n fob: helpers.nullableString(mr.fob),\r\n customer: helpers.resolveValue(null, mr.customerId, mr.customerName),\r\n customerName: mr.customerName,\r\n customerNumber: mr.customerNumber,\r\n customerContact: `${mr.customerContactFirstName} ${mr.customerContactLastName}`,\r\n customerPhone: mr.customerPhone,\r\n comment: helpers.nullableString(mr.comment),\r\n }\r\n })\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n } \r\n\r\n toggleAddMillReserveCollapse() {\r\n this.setState({\r\n showMillReserveForm: !this.state.showMillReserveForm,\r\n millReserveToAddEdit: emptyMillReserve,\r\n message: null,\r\n messageFlavor: null,\r\n productsList: [],\r\n productColorsList: [],\r\n widthsList: [] \r\n });\r\n }\r\n\r\n onEdit(millReserve) {\r\n this.setState({\r\n showMillReserveForm: true,\r\n millReserveToAddEdit: millReserve,\r\n }, () => this.fetchListsForMillReserveToEdit(millReserve.supplier.value, millReserve.product.value));\r\n }\r\n\r\n async fetchListsForMillReserveToEdit(supplierId, productId) {\r\n let productsList;\r\n let productColorsList;\r\n let widthsList;\r\n\r\n await api.fetch(`Product/GetActiveProductsBySupplier/${supplierId}`)\r\n .then(response => {\r\n productsList = response.data;\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n await api.fetch(`Order/GetActiveProductColors/${productId}`)\r\n .then(response => {\r\n productColorsList = response.data;\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n await api.fetch(`Product/GetProductWidths/${productId}`)\r\n .then(response => {\r\n const widths = _.map(response.data, w => {\r\n return {\r\n value: w.widthId,\r\n label: w.widthName, \r\n widthNumericFeet: w.widthNumericFeet\r\n } \r\n });\r\n widthsList = widths; \r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n this.setState({\r\n productsList: productsList,\r\n productColorsList: productColorsList,\r\n widthsList: widthsList\r\n });\r\n }\r\n\r\n handleTypeaheadSelectionChange(fieldName, selection) {\r\n this.setState({ \r\n millReserveToAddEdit: {\r\n ...this.state.millReserveToAddEdit, \r\n [fieldName]: selection,\r\n errorMessage: null\r\n }\r\n });\r\n }\r\n\r\n setSelectedSupplier(option) {\r\n api.fetch(`Product/GetActiveProductsBySupplier/${option.value}`)\r\n .then(response => {\r\n this.setState({\r\n productsList: response.data,\r\n millReserveToAddEdit: {\r\n ...this.state.millReserveToAddEdit,\r\n supplier: option, \r\n product: response.data.length > 0 ? response.data[0] : null\r\n }\r\n }, () => {\r\n if (this.state.millReserveToAddEdit.product) {\r\n this.setSelectedProduct(this.state.millReserveToAddEdit.product);\r\n }\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n\r\n handleMillReserveStateChange(fieldName, value) {\r\n this.setState({\r\n millReserveToAddEdit: {\r\n ...this.state.millReserveToAddEdit,\r\n [fieldName]: value\r\n }\r\n });\r\n }\r\n\r\n setSelectedProduct(option) {\r\n api.fetch(`Order/GetActiveProductColors/${option.value}`)\r\n .then(response => {\r\n this.setState({\r\n productColorsList: response.data,\r\n millReserveToAddEdit: {\r\n ...this.state.millReserveToAddEdit,\r\n product: option, \r\n productColor: response.data.length > 0 ? response.data[0] : null\r\n }\r\n }, () => this.fetchProductWidths(option));\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n fetchProductWidths(option) {\r\n api.fetch(`Product/GetProductWidths/${option.value}`)\r\n .then(response => {\r\n const widths = _.map(response.data, w => {\r\n return {\r\n value: w.widthId,\r\n label: w.widthName, \r\n widthNumericFeet: w.widthNumericFeet\r\n } \r\n });\r\n this.setState({\r\n widthsList: widths,\r\n millReserveToAddEdit: {\r\n ...this.state.millReserveToAddEdit,\r\n width: widths.length > 0 ? widths[0] : null }\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n setSelectedProductColor(option) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n millReserveToAddEdit: {\r\n ...prevState.millReserveToAddEdit,\r\n productColor: option\r\n }\r\n }));\r\n }\r\n\r\n setSelectedWidth(option) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n millReserveToAddEdit: {\r\n ...prevState.millReserveToAddEdit,\r\n width: option\r\n }\r\n }));\r\n }\r\n\r\n isFormValid(item) {\r\n let warnings = [];\r\n if(!item.supplier) {\r\n warnings.push(\"Supplier is required.\");\r\n }\r\n if(!item.customer) {\r\n warnings.push(\"Customer is required.\");\r\n }\r\n if (!item.product) {\r\n warnings.push(\"Product is required.\");\r\n }\r\n if(!item.productColor) {\r\n warnings.push(\"Product color is required.\");\r\n }\r\n if(!item.feet) {\r\n warnings.push(\"Linear Feet is required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\"\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n saveNewMillReserve() {\r\n if (!this.isFormValid(this.state.millReserveToAddEdit)) return;\r\n const millReserveToAddEdit = Object.assign({}, this.state.millReserveToAddEdit);\r\n const data = {\r\n Id: 0,\r\n SupplierId: millReserveToAddEdit.supplier.value,\r\n ReserveNumber: millReserveToAddEdit.reserveNumber,\r\n CustomerId: millReserveToAddEdit.customer.value,\r\n ProductId: millReserveToAddEdit.product.value,\r\n ProductColorId: millReserveToAddEdit.productColor.value,\r\n Width: millReserveToAddEdit.width ? millReserveToAddEdit.width.widthNumericFeet : null, // new database table still has option to save numeric feet and text (should just save widthId)\r\n WidthText: millReserveToAddEdit.width ? millReserveToAddEdit.width.label : null, // new database table still has option to save numeric feet and text (should just save widthId)\r\n // WidthId: millReserveToAddEdit.width ? millReserveToAddEdit.width.value : null, // not currently in database\r\n Feet: Number(millReserveToAddEdit.feet),\r\n FOB: millReserveToAddEdit.fob,\r\n Comment: millReserveToAddEdit.comment\r\n };\r\n\r\n api.post(\"MillReserve/SaveMillReserve\", data)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n showMillReserveForm: false,\r\n millReserveToAddEdit: emptyMillReserve\r\n }, () => this.refreshList());\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message\r\n });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n updateMillReserve(millReserve, rereserving = false) {\r\n if (!this.isFormValid(millReserve)) return;\r\n const data = {\r\n Id: millReserve.id,\r\n SupplierId: millReserve.supplier.value,\r\n ReserveNumber: millReserve.reserveNumber,\r\n CustomerId: millReserve.customer.value,\r\n ProductId: millReserve.product.value,\r\n ProductColorId: millReserve.productColor.value,\r\n Width: millReserve.width ? millReserve.width.widthNumericFeet : null, // new database table still has option to save numeric feet and text (should just save widthId)\r\n WidthText: millReserve.width ? millReserve.width.label : null, // new database table still has option to save numeric feet and text (should just save widthId)\r\n // WidthId: millReserve.width ? millReserve.width.value : null, // not currently in database\r\n Feet: Number(millReserve.feet),\r\n FOB: millReserve.fob,\r\n Comment: millReserve.comment\r\n };\r\n\r\n api.post(\"MillReserve/SaveMillReserve\", data)\r\n .then(response => {\r\n if (response.data.success) { \r\n if (rereserving) {\r\n this.setState({\r\n showMillReserveForm: false,\r\n millReserveToAddEdit: emptyMillReserve,\r\n messageFlavor: \"success\",\r\n message: 'Re-Reserve Successful'\r\n }, () => this.refreshList());\r\n } else {\r\n this.setState({\r\n showMillReserveForm: false,\r\n millReserveToAddEdit: emptyMillReserve\r\n }, () => this.refreshList());\r\n }\r\n } else {\r\n this.setState({ \r\n messageFlavor: \"danger\",\r\n message: response.data.message\r\n });\r\n } \r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) { // hard delete\r\n api.post(`MillReserve/HardDeleteMillReserve/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n // handleDelete(id) {\r\n // api.delete(`MillReserve/${id}`)\r\n // .then(response => {\r\n // if (response.data.success) { \r\n // this.refreshList()\r\n // } else {\r\n // this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n // } \r\n // }) \r\n // .catch(helpers.catchHandler);\r\n // }\r\n\r\n // handleUnDelete(id) {\r\n // api.post(`MillReserve/Undelete/${id}`)\r\n // .then(response => {\r\n // if (response.data.success) { \r\n // this.refreshList()\r\n // } else {\r\n // this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n // } \r\n // }) \r\n // .catch(helpers.catchHandler);\r\n // }\r\n\r\n onToggleCustomerSearchModal() {\r\n this.setState({showCustomerSearchModal: !this.state.showCustomerSearchModal})\r\n }\r\n\r\n onCustomerSelectedFromSearchModal(customerId, customerName) {\r\n this.setState({\r\n showCustomerSearchModal: false,\r\n millReserveToAddEdit: {\r\n ...this.state.millReserveToAddEdit,\r\n customer: helpers.resolveValue(null, customerId, customerName)\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n\r\n {this.state.message && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Mill Reserves

\r\n \r\n
\r\n \r\n \r\n {this.state.showMillReserveForm\r\n ? null\r\n : \r\n this.toggleAddMillReserveCollapse()}\r\n title=\"Add New OrderLine\"\r\n >\r\n Add Reserve\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n Supplier {helpers.requiredStar()}\r\n this.setSelectedSupplier(option)}\r\n />\r\n \r\n Reserve #\r\n this.handleMillReserveStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n maxLength=\"20\"\r\n />\r\n \r\n \r\n \r\n Customer {helpers.requiredStar()}\r\n \r\n this.handleTypeaheadSelectionChange(\"customer\", e)}\r\n isMulti={false}\r\n customer={this.state.millReserveToAddEdit.customer}\r\n />\r\n \r\n \r\n \r\n Product {helpers.requiredStar()}\r\n this.setSelectedProduct(option)}\r\n />\r\n \r\n Color {helpers.requiredStar()}\r\n this.setSelectedProductColor(option)}\r\n />\r\n \r\n Width\r\n this.setSelectedWidth(option)}\r\n />\r\n \r\n Linear Feet {helpers.requiredStar()}\r\n this.handleMillReserveStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n value={this.state.millReserveToAddEdit.feet}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n Comment\r\n this.handleMillReserveStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n value={this.state.millReserveToAddEdit.comment}\r\n placeholder=\"Enter A Comment\"\r\n maxLength=\"1000\"\r\n style={{height: \"120px\"}}\r\n />\r\n \r\n FOB\r\n this.handleMillReserveStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n value={this.state.millReserveToAddEdit.fob}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.state.millReserveToAddEdit.id\r\n ? this.updateMillReserve(this.state.millReserveToAddEdit)\r\n : this.saveNewMillReserve() }\r\n >\r\n Save\r\n \r\n this.toggleAddMillReserveCollapse()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n this.setState({showCustomerSearchModal: false})}\r\n size=\"lg\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.millReserves.map(mr => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
SupplierReserve #Style & ColorAmt (Ft)DatesFOBCustomerNotes\r\n
\r\n
\r\n {`${mr.supplierName}, #`}{mr.supplierAccountNumber}\r\n
\r\n
\r\n Ph:{mr.millAgentPhoneNumber}\r\n
\r\n
\r\n {mr.reserveNumber}\r\n \r\n
\r\n DC: {`${mr.productDCName}, ${mr.productDCNumber}`}\r\n
\r\n
\r\n Mill: {`${mr.productSupplierName}, ${mr.productSupplierNumber}`}\r\n
\r\n
\r\n Color: {mr.productColorName}\r\n
\r\n
{mr.feet}\r\n
\r\n Entered:\r\n
\r\n
\r\n {mr.createdAt}\r\n
\r\n
\r\n Latest:\r\n
\r\n
\r\n {mr.lastReservedAt}\r\n
\r\n
\r\n {mr.fob}\r\n \r\n
\r\n {mr.customerName}\r\n
\r\n
\r\n {`#${mr.customerNumber}`}\r\n
\r\n
{mr.comment}\r\n \r\n
\r\n {/* {mr.deactivatedAt === null ? ( */}\r\n \r\n this.updateMillReserve(mr, true)}\r\n size=\"sm\"\r\n >\r\n Re-Reserve\r\n \r\n this.onEdit(mr)}\r\n size=\"sm\"\r\n disabled={this.state.showMillReserveForm}\r\n title=\"Edit\"\r\n >\r\n \r\n \r\n this.handleDelete(mr.id)}\r\n title=\"Delete\"\r\n >\r\n \r\n \r\n \r\n {/* ) : (\r\n this.handleUnDelete(mr.id)}\r\n >\r\n Revive\r\n \r\n )} */}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default MillReserves;\r\n","import React, { Component } from 'react';\r\n\r\nexport default class NotFound extends Component {\r\n render() {\r\n return (\r\n

404 Not Found

\r\n );\r\n }\r\n}\r\n\r\n","import React, { Component, Fragment } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport {\r\n\tTabContent,\r\n\tTabPane,\r\n\tNav,\r\n\tNavItem,\r\n\tNavLink,\r\n\tCard,\r\n\tCardBody,\r\n\tRow,\r\n\tCol,\r\n\tContainer,\r\n\tModal,\r\n\tModalHeader,\r\n\tModalBody,\r\n\tModalFooter,\r\n\tForm,\r\n\tLabel,\r\n\tButtonGroup,\r\n\tButton,\r\n\tAlert as Alert2,\r\n\tInput,\r\n\tTable,\r\n\tCollapse,\r\n\tBadge,\r\n\tDropdownToggle,\r\n\tDropdownMenu,\r\n\tDropdownItem,\r\n\tInputGroup,\r\n\tInputGroupAddon,\r\n\tInputGroupText,\r\n\tInputGroupButtonDropdown\r\n} from 'reactstrap';\r\nimport Alert from \"react-s-alert\";\r\nimport {\r\n\tapi,\r\n\thelpers,\r\n\tconstants,\r\n\tdate_helpers,\r\n\tcalc\r\n} from '../utils';\r\nimport CustomerAdmin from './CustomerAdmin';\r\nimport { CustomerTypeahead, InputDebounce } from '../components';\r\nimport classnames from 'classnames';\r\nimport Select from 'react-select';\r\nimport DatePicker from \"react-datepicker\";\r\nimport ToggleButton from 'react-toggle-button';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport _ from \"lodash\";\r\nimport moment from 'moment';\r\nimport { object } from 'underscore';\r\n\r\nconst MIN_REPEAT = constants.MIN_REPEAT;\r\nconst MITERED_PRODUCT_NAME = constants.MITERED_PRODUCT_NAME;\r\nconst EDGE_TYPES = {\r\n\tMITERED: 'Hidden Stitch Mitered Corners',\r\n\tMACHINED: 'Applied Machine Border'\r\n};\r\nconst FINISHED_RUG_SIZES = constants.FINISHED_RUG_SIZES;\r\n\r\nconst ORDER_LINE_TYPES_DONT_SHOW_FREIGHT = [\r\n\tconstants.ORDER_LINE_TYPE.CUSTOM_RUG.value,\r\n\tconstants.ORDER_LINE_TYPE.RUG_BORDER.value,\r\n\tconstants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value\r\n];\r\n\r\nconst COMPONENT_ORDER_LINE_TYPES = [\r\n\tconstants.ORDER_LINE_TYPE.RUG_FIELD.value,\r\n\tconstants.ORDER_LINE_TYPE.RUG_BORDER.value,\r\n\tconstants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value\r\n];\r\n\r\nconst MODAL_DELETE_CONFIRMATION_TYPES = {\r\n\tNORMAL_ORDER_LINE: 1,\r\n\tCUSTOM_RUG_ORDER_LINE: 2\r\n};\r\n\r\nconst rugComponentTypeList = [\r\n\tconstants.ORDER_LINE_TYPE.RUG_FIELD,\r\n\tconstants.ORDER_LINE_TYPE.RUG_BORDER,\r\n\tconstants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS\r\n];\r\n\r\n\r\nlet CustomRugProducts;\r\n\r\nconst {\r\n\tRUG_BACKING_PRICE_PER,\r\n\tRUG_BACKING_COST_PER,\r\n\tPAD_CUT_COST,\r\n\tPAD_CUT_PRICE\r\n} = constants.CUSTOM_RUG_DEFAULT_PRICES\r\n\r\nconst emptyOrder = {\r\n\tid: null,\r\n\torderNumber: null,\r\n\torderStatus: { // default value\r\n\t\tvalue: constants.ORDER_STATUS.OPEN.value,\r\n\t\tlabel: constants.ORDER_STATUS.OPEN.label\r\n\t},\r\n\tmth: new Date(),\r\n\tisDistinctiveOrder: true,\r\n\tcreatedAt: new Date(),\r\n\tplacedBy: '',\r\n\tcustomer: null,\r\n\tagent: null,\r\n\tisReplacementOrder: false,\r\n\tisCreditOrder: false,\r\n\treferencesOrder: \"\",\r\n\t// billing info\r\n\tbtContactFirstName: \"\",\r\n\tbtContactLastName: \"\",\r\n\tbtContactEmail: \"\",\r\n\tbtAddressLine1: \"\",\r\n\tbtAddressLine2: \"\",\r\n\tbtAddressLine3: \"\",\r\n\tbtAddressLine4: \"\",\r\n\tbtCity: \"\",\r\n\tbtState: \"\",\r\n\tbtZip: \"\",\r\n\tbtPhone: \"\",\r\n\tbtFax: \"\",\r\n\tinvoiceTerms: null,\r\n\tcustomerPONumber: \"\",\r\n\trelatedReplacementOrders: \"\"\r\n};\r\n\r\nconst emptyOrderLine = {\r\n\tid: 0,\r\n\torderId: null,\r\n\tparentOrderLineId: null,\r\n\torderLineType: { // default value\r\n\t\tvalue: constants.ORDER_LINE_TYPE.CARPET.value,\r\n\t\tlabel: constants.ORDER_LINE_TYPE.CARPET.label\r\n\t},\r\n\tdsc: \"\",\r\n\tunitCost: \"\",\r\n\tcost: \"\",\r\n\tunitPrice: \"\",\r\n\tprice: \"\",\r\n\t// cmsnRate: \"10.00\",\r\n\tcmsn: \"\",\r\n\tisHidden: false,\r\n\tproduct: null,\r\n\tproductColor: null,\r\n\twidth: null,\r\n\tlengthFeet: \"\",\r\n\torderLineStatus: { // default value\r\n\t\tvalue: constants.ORDER_LINE_STATUS.NA.value,\r\n\t\tlabel: constants.ORDER_LINE_STATUS.NA.label\r\n\t},\r\n\tpriceUnitType: 'Sq Yds',\r\n\tsquareFeetRequired: \"\",\r\n\tcreditCardSurchargeRate: \"0\",\r\n\ttaxRate: \"0\", // not nullable in db\r\n\trugSize: \"\",\r\n\tfinishedSize: {value: 1, label: \"Custom\"},\r\n\trugLengthFeet: \"0\",\r\n\trugLengthInches: \"0\",\r\n\trugWidthFeet: \"8\",\r\n\trugWidthInches: \"0\",\r\n\trugType: null,\r\n\trugIntlCollection: null,\r\n\trugIntlSize: null,\r\n\tqty: \"\",\r\n\tcartonCount: \"\",\r\n\tsquareFeetPerCarton: \"\", // does not belong to orderLine schema, but set for wood and carpet tile product calculations\r\n\t// freight:\r\n\tfreightCarrier: null,\r\n\tfreightSidemark: \"\",\r\n\tfreightInvoiceNumber: \"\",\r\n\tfreightBolNumber: \"\",\r\n\tfreightDsc: \"Freight Charges\",\r\n\tfreightTerms: null,\r\n\tfreightCost: \"0.00\",\r\n\tfreightPrice: \"0.00\",\r\n\tstContactFirstName: \"\",\r\n\tstContactLastName: \"\",\r\n\tstContactEmail: \"\",\r\n\tstAddressLine1: \"\",\r\n\tstAddressLine2: \"\",\r\n\tstAddressLine3: \"\",\r\n\tstAddressLine4: \"\",\r\n\tstCity: \"\",\r\n\tstState: \"\",\r\n\tstZip: \"\",\r\n\tstPhone: \"\",\r\n\tcreatedAt: null,\r\n\tcreatedByUserId: null,\r\n\twidth: { widthNumericFeet: 0 },\r\n\tcommentCount: 0, // for temporary use only\r\n\tproductAllowCommission: null,\r\n\r\n\t// custom rug component specific\r\n\trugWidthFeet: \"8\",\r\n\trugWidthInches: \"0\",\r\n\trugLengthFeet: \"10\",\r\n\trugLengthInches: \"0\",\r\n\trugDsc: \"\",\r\n\tsqFt: \"0.0\",\r\n\tfinishedEdgeFt: \"0.0\",\r\n\tselectedField: null,\r\n\tappliedFieldRepeat: \"0.0\",\r\n\tselectedFieldColor: null,\r\n\tselectedFieldWidth: null,\r\n\tfieldWidthList: [],\r\n\tbindingList: [],\r\n\tselectedBinding: null,\r\n\tfieldRepeatWidth: \"0.0\",\r\n\tfieldRepeatLength: \"0.0\",\r\n\trepeatDsc: \"\",\r\n\tfieldLengthFeet: \"0\",\r\n\tfieldLengthInches: \"0\",\r\n\tfieldCostPer: \"0.0\",\r\n\ttotalFieldCost: \"0.00\",\r\n\tfieldPricePer: \"0.00\",\r\n\ttotalFieldUnits: \"0.0\",\r\n\ttotalFieldPrice: \"0.00\",\r\n\t// fieldCmsnRate: \"10.00\",\r\n\tfieldCmsn: \"0.00\",\r\n\tfieldPriceUnitType: \"\",\r\n\r\n\tselectedBorder: null,\r\n\t// appliedBorderRepeat: \"0.0\",\r\n\tselectedBorderColor: null,\r\n\tselectedBorderWidth: null,\r\n\tborderWidthList: [],\r\n\tbindingList: [],\r\n\t// borderRepeatWidth: \"0.0\",\r\n\t// borderRepeatLength: \"0.0\",\r\n\t// repeatDsc: \"\",\r\n\tborderLengthFeet: \"\",\r\n\tborderLengthInches: \"\",\r\n\tborderCostPer: \"0.0\",\r\n\ttotalBorderCost: \"0.00\",\r\n\tborderPricePer: \"0.00\",\r\n\ttotalBorderUnits: \"0.0\",\r\n\ttotalBorderPrice: \"0.00\",\r\n\t// borderCmsnRate: \"10.00\",\r\n\tborderCmsn: \"0.00\",\r\n\tborderPriceUnitType: \"\",\r\n};\r\n\r\nconst emptyOrderLineComment ={\r\n\tid: 0,\r\n\tdsc: \"\",\r\n\tcommentType: null,\r\n\tisPrivate: false,\r\n\tmarkedForDeletion: false\r\n};\r\n\r\nconst emptyRugOrderLine = (customRugComponentProducts, currentAgentCmsnRate) => {\r\n\treturn { // for custom rug quotes only (from angular app)\r\n\t...emptyOrderLine,\r\n\trugEditsValid: false,\r\n\trugHasClippedCorners: false,\r\n\trugClippedCornersCost: customRugComponentProducts.DefaultClippedCornersProduct ? _.round(customRugComponentProducts.DefaultClippedCornersProduct.unitCost, 2).toFixed(2) : \"5.00\",\r\n\trugClippedCornersPrice: customRugComponentProducts.DefaultClippedCornersProduct ? _.round(customRugComponentProducts.DefaultClippedCornersProduct.unitPrice, 2).toFixed(2) : \"15.00\",\r\n\trugHasLaborCutout: false,\r\n\trugLaborCutoutCost: customRugComponentProducts.DefaultLaborCutoutProduct ? _.round(customRugComponentProducts.DefaultLaborCutoutProduct.unitCost, 2).toFixed(2) : \"75.00\",\r\n\trugLaborCutoutPrice: customRugComponentProducts.DefaultLaborCutoutProduct ? _.round(customRugComponentProducts.DefaultLaborCutoutProduct.unitPrice, 2).toFixed(2) : \"100.00\",\r\n\trugHasLaborRound: false,\r\n\trugLaborRoundCost: customRugComponentProducts.DefaultLaborRoundProduct ? _.round(customRugComponentProducts.DefaultLaborRoundProduct.unitCost, 2).toFixed(2) : \"25.00\",\r\n\trugLaborRoundPrice: customRugComponentProducts.DefaultLaborRoundProduct ? _.round(customRugComponentProducts.DefaultLaborRoundProduct.unitPrice, 2).toFixed(2) : \"30.00\",\r\n\trugHasCutCharge: false,\r\n\trugCutChargeCost: customRugComponentProducts.DefaultCutChargeProduct ? _.round(customRugComponentProducts.DefaultCutChargeProduct.unitCost, 2).toFixed(2) : \"0.00\",\r\n\trugCutChargePrice: customRugComponentProducts.DefaultCutChargeProduct ? _.round(customRugComponentProducts.DefaultCutChargeProduct.unitPrice, 2).toFixed(2) : \"25.00\",\r\n\trugHasEndArmor: false,\r\n\trugArmorCost: customRugComponentProducts.DefaultRugEndArmorProduct ? _.round(customRugComponentProducts.DefaultRugEndArmorProduct.unitCost, 2).toFixed(2) : \"8.00\",\r\n\trugArmorPrice: customRugComponentProducts.DefaultRugEndArmorProduct ? _.round(customRugComponentProducts.DefaultRugEndArmorProduct.unitPrice, 2).toFixed(2) : \"10.00\",\r\n\trugHasInboundFreight: false,\r\n\tselectedInboundFreight: customRugComponentProducts.DefaultInboundFreightProduct ? customRugComponentProducts.DefaultInboundFreightProduct : null,\r\n\trugInboundFreightCost: customRugComponentProducts.DefaultInboundFreightProduct ? _.round(customRugComponentProducts.DefaultInboundFreightProduct.unitCost, 2).toFixed(2) : \"45.00\",\r\n\trugInboundFreightPrice: customRugComponentProducts.DefaultInboundFreightProduct ? _.round(customRugComponentProducts.DefaultInboundFreightProduct.unitPrice, 2).toFixed(2) : \"45.00\",\r\n\trugHasBacking: false,\r\n\trugHasPad: false,\r\n\trugSerged: true,\r\n\trugMachineSerged: true,\r\n\trugHiddenStitch: true,\r\n\trugWidthFeet: \"8\",\r\n\trugWidthInches: \"0\",\r\n\trugLengthFeet: \"10\",\r\n\trugLengthInches: \"0\",\r\n\trugDsc: \"\",\r\n\tfinishedSize: {value: 1, label: \"Custom\"},\r\n\t// selectedRugEdge: \"Serging\",\r\n\tsqFt: \"0.0\",\r\n\tfinishedEdgeFt: \"0.0\",\r\n\torderLines: [],\r\n\tselectedField: null,\r\n\tsearchingProduct: false,\r\n\tsearchProductFailed: false,\r\n\t// hideSearchingProductWhenUnsubscribed: new Observable(() => () => this.searchingProduct = false),\r\n\tappliedFieldRepeat: \"0.0\",\r\n\tselectedFieldColor: null,\r\n\tselectedFieldWidth: null,\r\n\tfieldWidthList: [],\r\n\tbindingList: [],\r\n\tselectedBinding: null,\r\n\tfieldRepeatWidth: \"0.0\",\r\n\tfieldRepeatLength: \"0.0\",\r\n\trepeatDsc: \"\",\r\n\tfieldLengthFeet: \"0.0\",\r\n\tfieldLengthInches: \"0.0\",\r\n\tfieldCostPer: \"0.0\",\r\n\ttotalFieldCost: \"0.00\",\r\n\tfieldPricePer: \"0.00\",\r\n\ttotalFieldUnits: \"0.0\",\r\n\ttotalFieldPrice: \"0.00\",\r\n\tfieldCmsnRate: currentAgentCmsnRate,\t//\"10.00\",\r\n\tfieldCmsn: \"0.00\",\r\n\tfieldPriceUnitType: \"\",\r\n\t// fieldDsc: \"\",\r\n\r\n\ttotalRugBackingPrice: \"0.00\",\r\n\trugBackingPricePer: customRugComponentProducts.DefaultBackingProduct ? _.round(customRugComponentProducts.DefaultBackingProduct.unitPrice, 2).toFixed(2) : RUG_BACKING_PRICE_PER,\r\n\ttotalRugBackingUnits: \"0.0\",\r\n\ttotalRugBackingCost: \"0.00\",\r\n\trugBackingCostPer: customRugComponentProducts.DefaultBackingProduct ? _.round(customRugComponentProducts.DefaultBackingProduct.unitCost, 2).toFixed(2) : RUG_BACKING_COST_PER,\r\n\trugBackingCmsn: \"0.00\",\r\n\trugBackingCmsnRate: currentAgentCmsnRate,\t//\"10.00\"\r\n\r\n\tselectedPad: customRugComponentProducts.DefaultRugPadLuxFeltCustomSizeProduct ? customRugComponentProducts.DefaultRugPadLuxFeltCustomSizeProduct : null,\r\n\tpadList: [],\r\n\thasPadCutCharge: true,\r\n\tpadCutCost: customRugComponentProducts.DefaultPadCutChargeProduct ? _.round(customRugComponentProducts.DefaultPadCutChargeProduct.unitCost, 2).toFixed(2) : PAD_CUT_COST,\r\n\tpadCutPrice: customRugComponentProducts.DefaultPadCutChargeProduct ? _.round(customRugComponentProducts.DefaultPadCutChargeProduct.unitPrice, 2).toFixed(2) : PAD_CUT_PRICE,\r\n\tselectedPadWidth: null,\r\n\tpadWidthList: [],\r\n\ttotalPadUnits: \"0.0\",\r\n\tpadLengthFeet: \"0.0\",\r\n\tpadCostPer: \"0.00\",\r\n\ttotalPadCost: \"0.00\",\r\n\tpadPricePer: \"0.00\",\r\n\ttotalPadPrice: \"0.00\",\r\n\tpadCmsnRate: currentAgentCmsnRate,\t//\"10.00\"\r\n\tpadCmsn: \"0.00\",\r\n\tpadPriceUnitType: \"\",\r\n\r\n\tselectedSerging: null,\r\n\r\n\tsergingCostPer: \"0.00\",\r\n\ttotalSergingCost: \"0.00\",\r\n\tsergingPricePer: \"0.00\",\r\n\ttotalSergingPrice: \"0.00\",\r\n\tsergingCmsnRate: currentAgentCmsnRate,\t//\"10.00\"\r\n\tsergingCmsn: \"0.00\",\r\n\r\n\tselectedMSerging: null,\r\n\tmSergingCostPer: \"0.00\",\r\n\ttotalMSergingCost: \"0.00\",\r\n\tmSergingPricePer: \"0.00\",\r\n\ttotalMSergingPrice: \"0.00\",\r\n\tmSergingCmsnRate: currentAgentCmsnRate,\t//\"10.00\"\r\n\tmSergingCmsn: \"0.00\",\r\n\r\n\tselectedHSSerging: null,\r\n\thsSergingCostPer: \"0.00\",\r\n\ttotalHSSergingCost: \"0.00\",\r\n\thsSergingPricePer: \"0.00\",\r\n\ttotalHSSergingPrice: \"0.00\",\r\n\thsSergingCmsnRate: currentAgentCmsnRate,\t//\"10.00\"\r\n\thsSergingCmsn: \"0.00\",\r\n\r\n\tselectedRugBindingStyle: null,\r\n\trugBindingList: [],\r\n\tselectedRugBindingColor: null,\r\n\trugBindingColorList: [],\r\n\trugBindingCostPer: \"0.00\",\r\n\ttotalRugBindingCost: \"0.00\",\r\n\trugBindingPricePer: \"0.00\",\r\n\ttotalRugBindingPrice: \"0.00\",\r\n\trugBindingCmsnRate: currentAgentCmsnRate,\t//\"10.00\"\r\n\trugBindingCmsn: \"0.00\"\r\n}};\r\n\r\n// const create_UUID = () => {\r\n// \tvar dt = new Date().getTime();\r\n// \tvar uuid = \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (\r\n// \t\tc\r\n// \t) {\r\n// \t\tvar r = (dt + Math.random() * 16) % 16 | 0;\r\n// \t\tdt = Math.floor(dt / 16);\r\n// \t\treturn (c === \"x\" ? r : (r & 0x3) | 0x8).toString(16);\r\n// \t});\r\n// \treturn uuid;\r\n// };\r\n\r\nconst emptyOrderPayment = {\r\n\tid: null,\r\n\tpaymentType: { // default value\r\n\t\tvalue: constants.PAYMENT_TYPE.EXTENDED_CREDIT.value,\r\n\t\tlabel: constants.PAYMENT_TYPE.EXTENDED_CREDIT.label\r\n\t},\r\n\tcustomerPaymentStatus: null,\r\n\treferenceNumber: \"\",\r\n\tpayToName: \"\",\r\n\tcheckNumber: \"\",\r\n\tamountDue: \"\", // remove this not nullable field eventually?\r\n\tamountPaid: \"\",\r\n\tbillOn: \"\",\r\n\tdueOn: \"\",\r\n\tpaidOn: \"\",\r\n\tforWhat: \"\", // remove this not nullable field eventually?\r\n\tinvoiceNumber: \"\",\r\n\tcomment: \"\",\r\n\tdateReceived: new Date(),\r\n\texpDate: '',\r\n\tcardNumber: \"\",\r\n\tbillingName: \"\",\r\n\tbillingZip: \"\",\r\n\tcreditCardType: null,\r\n\tcreditCardSurchargeRate: \"\",\r\n\ttaxRate: \"\"\r\n};\r\n\r\nconst emptyOrderFulfillment = {\r\n\tid: 0,\r\n\torderFulfillmentStatus: null,\r\n\tsupplier: null,\r\n\tfreightCarrier: null,\r\n\treferenceNumber: \"\",\r\n\tinvoiceNumber: \"\",\r\n\tcheckNumber: \"\",\r\n\tamountDue: \"\",\r\n\tamountPosted: \"0\",\r\n\tnotes: \"\",\r\n\tbillDate: new Date(),\r\n\tdueDate: new Date(),\r\n\tpayDate: new Date(),\r\n\tisPayToSupplier: true\r\n};\r\n\r\nconst invoiceOptions = _.map(constants.TYPE_OF_INVOICE, (v, k) => {return {label: k, value: v}});\r\n\r\n// const CUSTOM_DSC =\r\n// \t`Please inspect this merchandise for style, size and color to insure you have received proper product.\r\n// \tMill will not honor any complaints on visible defects after merchandise has been cut or installed. By\r\n// \taccepting shipment of this material the bill to agrees to pay all attorney, court, and collection fees if\r\n// \tplaced for collections on this invoice. Freight Claims: Title of Carpet transfers to the purchaser when\r\n// \taccepted by Freight carrier. You have 14 days to report concealed Damage. ALL CARPETS MUST BE\r\n// \tPROFESSIONALLY CLEANED EVERY 18 MONTHS TO MAINTAIN YOUR WARRANTY! IF YOU USE A\r\n// \tCYCLONIC ACTION VACUUM ON ANY OF OUR CARPETS IT COULD VOID YOUR WARRANTY.`;\r\n\r\nconst CUSTOM_DSC2 = ``;\r\n\r\nconst TABS = {\r\n\tGENERAL_INFORMATION: 1,\r\n\tLINE_ITEMS: 2,\r\n\tPAYMENT: 3,\r\n\tFULLFILLMENT: 4,\r\n\tFINAL_REVIEW: 5,\r\n\tPRINT: 6,\r\n}\r\n\r\nexport default class OrderEntry extends Component {\r\n\tconstructor(props) {\r\n\r\n\t\tconst date = new Date();\r\n\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tactiveTab: this.props.location && this.props.location.state && this.props.location.state.activeOrderId ? TABS.FINAL_REVIEW : TABS.GENERAL_INFORMATION,\r\n\t\t\tactiveOrderId: this.props.location && this.props.location.state && this.props.location.state.activeOrderId ? this.props.location.state.activeOrderId : null,\r\n\t\t\tshowCancelOrderModal: false,\r\n\t\t\tgeneralOrderSaved: false,\r\n\t\t\torder: {\r\n\t\t\t\t...emptyOrder,\r\n\t\t\t\tcreatedByUser: {\r\n\t\t\t\t\tvalue: props.currentUser.id,\r\n\t\t\t\t\tlabel: props.currentUser.firstName + ' ' + props.currentUser.lastName\r\n\t\t\t\t},\r\n\t\t\t\t// updatedByUser: {\r\n\t\t\t\t// \tvalue: props.currentUser.id,\r\n\t\t\t\t// \tlabel: props.currentUser.firstName + ' ' + props.currentUser.lastName\r\n\t\t\t\t// },\r\n\t\t\t},\r\n\t\t\trugShapeList: [],\r\n\t\t\tmessage: null,\r\n\t\t\tmessageFlavor: null,\r\n\t\t\tmonthList: constants.monthList,\r\n\t\t\tyearList: constants.yearList,\r\n\t\t\torderStatusList: [],\r\n\t\t\tuserList: [],\r\n\t\t\tagentList: [],\r\n\t\t\tproductsList: [],\r\n\t\t\t// collectionProductsList: [], // used for Intl Rug order lines\r\n\t\t\twidthsList: [],\r\n\t\t\tfreightCarrierList: [],\r\n\t\t\tcommentTypeList: [],\r\n\t\t\tfreightTermsList: [],\r\n\t\t\tcustomerPaymentStatusList: [],\r\n\t\t\tcredtiCardTypeList: [],\r\n\t\t\torderFulfillmentStatusList: [],\r\n\t\t\tsupplierList: [],\r\n\t\t\ttotalOrderCost: \"\",\r\n\t\t\ttotalOrderPrice: \"\",\r\n\t\t\torderLines: [],\r\n\t\t\torderFulfillments: [],\r\n\t\t\torderPayments: [],\r\n\t\t\tverifications: [],\r\n\t\t\torderId: props.orderId,\r\n\t\t\torderFulfillment: emptyOrderFulfillment,\r\n\t\t\taddNewFulfillment: false,\r\n\t\t\torderPayment: emptyOrderPayment,\r\n\t\t\tpaymentTypeList: [],\r\n\t\t\tselectedCustomer: [],\r\n\t\t\tcreditCardTypeList: [],\r\n\t\t\tsumOfPayments: \"\",\r\n\t\t\tbalance: \"\",\r\n\t\t\torderLine: emptyOrderLine,\r\n\t\t\tnewOrderLineComment: emptyOrderLineComment,\r\n\t\t\torderLineCommentList: [],\r\n\t\t\tshowOrderLineForm: false,\r\n\t\t\torderLineCount: 0,\r\n\t\t\teditingFreight: false,\r\n\t\t\teditingNotes: false,\r\n\t\t\tnotesList: null,\r\n\t\t\torderLineTypeList: [],\r\n\t\t\torderLineStatusList: [],\r\n\t\t\tcolorFamilyList: [],\r\n\t\t\tareaList: [],\r\n\t\t\taddUpdatePayment: false,\r\n\t\t\torderFulfillmentsTotalDue: \"\",\r\n\t\t\torderFulfillmentsTotalPosted: \"\",\r\n\t\t\torderFulfillmentsBalance: \"\",\r\n\t\t\tcustomRugToViewEdit: null,\r\n\t\t\tconfirmationModalOrderLineId: null,\r\n\t\t\tconfirmationModalType: null,\r\n\t\t\tconfirmationModalComponentLines: null,\r\n\t\t\tshowCustomerSearchModal: false,\r\n\t\t\tcolorOptOut: false,\r\n\t\t\tgeneratingReplacement: false,\r\n\t\t\tshowOrderLineStatusModal: false,\r\n\t\t\tbackOrderOrShippedDate: null,\r\n\t\t\thasSalesTaxOrSurcharge: false,\r\n\t\t\t// rug related\r\n\t\t\tselectedRugEdge: \"Serging\",\r\n\t\t\tsergingList: [],\r\n\t\t\tmSergingList: [],\r\n\t\t\thsSergingList: [],\r\n\t\t\tinvoiceDate: date,\r\n\t\t\tdueDate: date,\r\n\t\t\tcustomDescription: '',\r\n\t\t\tcustomDescription2: CUSTOM_DSC2,\r\n\t\t\tinvoiceType: invoiceOptions[0],\r\n\t\t\tcustomerAddressList: [],\r\n\t\t\tcustomerShipToAddresses: []\r\n\t\t};\r\n\t\tthis.toggle = this.toggle.bind(this);\r\n\t\tthis.onClickCancelButton = this.onClickCancelButton.bind(this);\r\n\t\tthis.yesCancelOrder = this.yesCancelOrder.bind(this);\r\n\t\tthis.noCancelOrder = this.noCancelOrder.bind(this);\r\n\t\tthis.handleOrderStatusSelectChange = this.handleOrderStatusSelectChange.bind(this);\r\n\t\t// this.handleMonthSelectChange = this.handleMonthSelectChange.bind(this);\r\n\t\t// this.handleYearSelectChange = this.handleYearSelectChange.bind(this);\r\n\t\tthis.handleCreatedAtInputChange = this.handleCreatedAtInputChange.bind(this);\r\n\t\tthis.handleTakenBySelectChange = this.handleTakenBySelectChange.bind(this);\r\n\t\tthis.handleOnPlacedByInputChange = this.handleOnPlacedByInputChange.bind(this);\r\n\t\tthis.onToggleCustomerSearchModal = this.onToggleCustomerSearchModal.bind(this);\r\n\t\tthis.onCustomerSelectedFromSearchModal = this.onCustomerSelectedFromSearchModal.bind(this);\r\n\t\tthis.handleCustomerSelectChange = this.handleCustomerSelectChange.bind(this);\r\n\t\tthis.handleOrderInputChange = this.handleOrderInputChange.bind(this);\r\n\t\tthis.getCustomer = this.getCustomer.bind(this);\r\n\t\tthis.handleAgentSelectChange = this.handleAgentSelectChange.bind(this);\r\n\t\tthis.onReferencesOrderChange = this.onReferencesOrderChange.bind(this);\r\n\t\tthis.isGeneralInfoFormValid = this.isGeneralInfoFormValid.bind(this);\r\n\t\tthis.saveOrderEntryGeneralInfo = this.saveOrderEntryGeneralInfo.bind(this);\r\n\t\tthis.isOrderLineFormValid = this.isOrderLineFormValid.bind(this);\r\n\t\tthis.setSelectedShippingContact = this.setSelectedShippingContact.bind(this);\r\n\t\tthis.setSelectedShippingAddress = this.setSelectedShippingAddress.bind(this);\r\n\t\tthis.setSelectedBillingContact = this.setSelectedBillingContact.bind(this);\r\n\t\tthis.setSelectedBillingAddress = this.setSelectedBillingAddress.bind(this);\r\n\t\tthis.saveOrderLine = this.saveOrderLine.bind(this);\r\n\t\tthis.formatSavedOrder = this.formatSavedOrder.bind(this);\r\n\t\tthis.formatSavedOrderLines = this.formatSavedOrderLines.bind(this);\r\n\t\tthis.formatSavedOrderPayments = this.formatSavedOrderPayments.bind(this);\r\n\t\tthis.handleDateReceivedChange = this.handleDateReceivedChange.bind(this);\r\n\t\tthis.createInitialOrderFulfillments = this.createInitialOrderFulfillments.bind(this);\r\n\t\tthis.isOrderPaymentFormValid = this.isOrderPaymentFormValid.bind(this);\r\n\t\tthis.isOrderFulfillmentFormValid = this.isOrderFulfillmentFormValid.bind(this);\r\n\t\tthis.downloadReprint = this.downloadReprint.bind(this);\r\n\t\tthis.transformItemToRugComponentOrderLine = this.transformItemToRugComponentOrderLine.bind(this);\r\n\r\n\t\t// rug component stuff\r\n\t\tthis.toggleCutCharge = this.toggleCutCharge.bind(this);\r\n\t\tthis.toggleArmor = this.toggleArmor.bind(this);\r\n\t\tthis.toggleInboundFreight = this.toggleInboundFreight.bind(this);\r\n\t\tthis.toggleBacking = this.toggleBacking.bind(this);\r\n\t\tthis.togglePad = this.togglePad.bind(this);\r\n\t\tthis.toggleClippedCorners = this.toggleClippedCorners.bind(this);\r\n\t\tthis.toggleLaborCutout = this.toggleLaborCutout.bind(this);\r\n\t\tthis.toggleLaborRound = this.toggleLaborRound.bind(this);\r\n\t\tthis.toggleEdgeOptions = this.toggleEdgeOptions.bind(this);\r\n\t\tthis.initializeRugOrder = this.initializeRugOrder.bind(this);\r\n\t\tthis.refreshRugDescription = this.refreshRugDescription.bind(this);\r\n\t\tthis.rugSizeChange = this.rugSizeChange.bind(this);\r\n\t\tthis.fieldSizeChange = this.fieldSizeChange.bind(this);\r\n\t\tthis.setRugEdge = this.setRugEdge.bind(this);\r\n\t\tthis.onHasPadCutChargeChange = this.onHasPadCutChargeChange.bind(this);\r\n\t\tthis.borderSizeChange = this.borderSizeChange.bind(this);\r\n\r\n\t\tthis.generateReplacementCredit = this.generateReplacementCredit.bind(this);\r\n\t\tthis.applyVolumePricingIfNecessary = this.applyVolumePricingIfNecessary.bind(this);\r\n\t\tthis.calculateFigures = this.calculateFigures.bind(this);\r\n\t\tthis.loadInvoiceDynamicDsc = this.loadInvoiceDynamicDsc.bind(this);\r\n\t\tthis.getOverallStatus = this.getOverallStatus.bind(this);\r\n\t\t// this.renderSignOffForm = this.renderSignOffForm.bind(this);\r\n\t\tthis.renderWorkorderForm = this.renderWorkorderForm.bind(this);\r\n\t\tthis.onChangeAdditionalRugField = this.onChangeAdditionalRugField.bind(this);\r\n\t}\r\n\r\n\tasync componentDidMount() {\r\n\t\tthis.getOrderSelectsData();\r\n\t\tlet CUSTOM_DSC = '';\r\n\t\tawait api.fetch('Order/GetInvoiceBoilerPlate')\r\n\t\t\t.then(response => {\r\n\t\t\t\t_.forEach(response.data, (x) => {\r\n\t\t\t\t\tCUSTOM_DSC = CUSTOM_DSC + x.dsc + \" \";\r\n\t\t\t\t});\r\n\t\t\t\tthis.setState({customDescription: CUSTOM_DSC});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t\tif (this.props.location && this.props.location.state && this.props.location.state.activeOrderId) {\r\n\t\t\tthis.getExistingOrder();\r\n\t\t}\r\n\t}\r\n\r\n\tgenerateReplacementCredit() {\r\n\t\t\tthis.setState({ generatingReplacement: true, message: \"Generating Replacement Credit\", messageFlavor: \"info\" });\r\n\t\t\tapi.post(`Order/GenerateReplacementOrder/${this.state.order.id}`)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tif (response.data) {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tgeneratingReplacement: false,\r\n\t\t\t\t\t\t\tmessage: \"Replacement Order Generated\",\r\n\t\t\t\t\t\t\tmessageFlavor: \"success\",\r\n\t\t\t\t\t\t\torder: {\r\n\t\t\t\t\t\t\t\t...this.state.order,\r\n\t\t\t\t\t\t\t\trelatedReplacementOrders: `R${response.data}`\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tmessage: \"There was an error generating replacement credit.\",\r\n\t\t\t\t\t\t\tmessageFlavor: \"danger\"\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}).catch(helpers.catchHandler);\r\n\t\t}\r\n\r\n\tgetOrderSelectsData() {\r\n\t\tapi.fetch('Order/GetOrderSelectsData')\r\n\t\t\t.then(response => {\r\n\t\t\t\tCustomRugProducts = response.data.customRugProducts;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderStatusTypeList: response.data.orderStatusTypeList,\r\n\t\t\t\t\torderLineTypeList: this.formatOrderLineTypeList(response.data.orderLineTypeList),\r\n\t\t\t\t\torderLineStatusList: response.data.orderLineStatusList,\r\n\t\t\t\t\tpaymentTypeList: response.data.paymentTypeList,\r\n\t\t\t\t\tcolorFamilyList: response.data.colorFamilyList,\r\n\t\t\t\t\tagentList: response.data.agentList,\r\n\t\t\t\t\tareaList: response.data.areaList,\r\n\t\t\t\t\torderStatusList: response.data.orderStatusList,\r\n\t\t\t\t\tuserList: response.data.userList,\r\n\t\t\t\t\tfreightCarrierList: response.data.freightCarrierList,\r\n\t\t\t\t\tcommentTypeList: response.data.commentTypeList,\r\n\t\t\t\t\tfreightTermsList: response.data.freightTermsList,\r\n\t\t\t\t\tcustomerPaymentStatusList: response.data.customerPaymentStatusList,\r\n\t\t\t\t\tcreditCardTypeList: response.data.creditCardTypeList,\r\n\t\t\t\t\torderFulfillmentStatusList: response.data.orderFulfillmentStatusList,\r\n\t\t\t\t\tsupplierList: response.data.supplierList,\r\n\t\t\t\t\trugShapeList: response.data.rugShapeList\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tgetExistingOrder() {\r\n\t\tapi.fetch(`Order/${this.props.location.state.activeOrderId}`).then((response) => {\r\n\t\t\tconst order = this.formatSavedOrder(response.data.order);\r\n\t\t\tlet orderLines = this.formatSavedOrderLines(response.data.orderLines);\r\n\t\t\tconst orderPayments = this.formatSavedOrderPayments(response.data.orderPayments);\r\n\t\t\tconst orderFulfillments = this.formatSavedOrderFulfillments(response.data.orderFulfillments);\r\n\t\t\tlet invoiceState = response.data.invoice\r\n\t\t\t\t? {\r\n\t\t\t\t\t\tinvoiceDate: response.data.invoice.invoiceDate\r\n\t\t\t\t\t\t\t? date_helpers.getSelectedDate(response.data.invoice.invoiceDate).valueOf()\r\n\t\t\t\t\t\t\t: null,\r\n\t\t\t\t\t\tdueDate: response.data.invoice.dueDate\r\n\t\t\t\t\t\t\t? date_helpers.getSelectedDate(response.data.invoice.dueDate).valueOf()\r\n\t\t\t\t\t\t\t: null,\r\n\t\t\t\t\t\tcustomDescription: response.data.invoice.customDescription,\r\n\t\t\t\t\t\tcustomDescription2: response.data.invoice.customDescription2,\r\n\t\t\t\t\t\tinvoiceType: _.find(invoiceOptions, io => io.value === response.data.invoice.typeOfInvoice),\r\n\t\t\t\t\t}\r\n\t\t\t\t: {};\r\n\t\t\tthis.setState(Object.assign(invoiceState, {\r\n\t\t\t\torder: order,\r\n\t\t\t\torderId: order.id,\r\n\t\t\t\torderLines: orderLines,\r\n\t\t\t\torderPayments: orderPayments,\r\n\t\t\t\torderFulfillments: orderFulfillments,\r\n\t\t\t\thasSalesTaxOrSurcharge: _.findIndex(orderLines, o => {\r\n\t\t\t\t\treturn o.orderLineType.value === constants.ORDER_LINE_TYPE.SALES_TAX.value\r\n\t\t\t\t\t\t|| o.orderLineTypeId === constants.ORDER_LINE_TYPE.CREDIT_CARD_SURCHARGE.value\r\n\t\t\t\t}) >= 0\r\n\t\t\t}), () => {\r\n\t\t\t\tthis.getOrderTotals(response.data.orderLines, response.data.orderPayments, response.data.orderFulfillments,\r\n\t\t\t\t\t() => this.getCustomer(response.data.order.customerId));\r\n\t\t\t});\r\n\t\t}).catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tasync getCustomer(customerId) {\r\n\t\tapi.fetch(`Customer/GetActiveContacts/${customerId}`)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet customerInfo = response.data.customer;\r\n\t\t\t\tlet customerContacts = response.data.contacts;\r\n\t\t\t\tlet customerAddresses = _.chain(response.data.customerAddresses)\r\n\t\t\t\t\t.filter(ca => { return ca.addressTypeId === constants.ADDRESS_TYPE.BILL_TO })\r\n\t\t\t\t\t.map(a => {\r\n\t\t\t\t\t\ta.value = a.id;\r\n\t\t\t\t\t\ta.label = helpers.formatAddressLabel(a)\r\n\t\t\t\t\t\treturn a;\r\n\t\t\t\t\t}).value();\r\n\t\t\t\tconst customerShipToAddresses = _.chain(response.data.customerAddresses)\r\n\t\t\t\t\t.filter(ca => { return ca.addressTypeId === constants.ADDRESS_TYPE.SHIP_TO })\r\n\t\t\t\t\t.map(a => {\r\n\t\t\t\t\t\ta.value = a.id;\r\n\t\t\t\t\t\ta.label = helpers.formatAddressLabel(a, '* ')\r\n\t\t\t\t\t\treturn a;\r\n\t\t\t\t\t}).value();\r\n\t\t\t\tcustomerContacts.map(c => {\r\n\t\t\t\t\t// remove deactivated phones and addresses for each contact\r\n\t\t\t\t\tconst addresses = _.filter(c.addresses, a => a.deactivatedAt === null);\r\n\t\t\t\t\tconst phoneNumbers = _.filter(c.phoneNumbers, p => p.deactivatedAt === null);\r\n\t\t\t\t\tc.expanded = false;\r\n\t\t\t\t\tc.addresses = addresses;\r\n\t\t\t\t\tc.phoneNumbers = phoneNumbers;\r\n\r\n\t\t\t\t\t// set value and label for select\r\n\t\t\t\t\tc.label = `${c.firstName} ${c.lastName}`;\r\n\t\t\t\t\tc.value = c.id;\r\n\t\t\t\t\treturn c;\r\n\t\t\t\t});\r\n\t\t\t\tlet customerCredits = _.map(response.data.customerCredits, c => {\r\n\t\t\t\t\tc.value = c.id;\r\n\t\t\t\t\tc.label = `${c.displayAmount} ${c.comment} - Given on ${moment(c.givenOn).format(\"MM/DD/YYYY\")}`;\r\n\t\t\t\t\t// c.amount = c.amount !== 0 && c.amount !== '' ? c.amount / 100 : null;\r\n\t\t\t\t\tc.amount = c.amount;\r\n\t\t\t\t\treturn c;\r\n\t\t\t\t});\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tcustomerInfo: customerInfo,\r\n\t\t\t\t\tcustomerContacts: customerContacts,\r\n\t\t\t\t\tcustomerOutstandingCredits: customerCredits,\r\n\t\t\t\t\tcustomerAddressList: customerAddresses,\r\n\t\t\t\t\tcustomerShipToAddresses: customerShipToAddresses\r\n\t\t\t\t}, () => {\r\n\t\t\t\t\tif(customerAddresses.length == 1) {\r\n\t\t\t\t\t\tthis.setSelectedBillingAddress(customerAddresses[0])\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}).catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tasync getOrderLines(orderId) {\r\n\t\tapi.fetch(`Order/GetOrderLines/${orderId}?x=${new Date().getMilliseconds()}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tconst orderLines = this.formatSavedOrderLines(response.data);\r\n\t\t\t\tlet updatedCustomRugToViewEdit;\r\n\t\t\t\tif (this.state.customRugToViewEdit) {\r\n\t\t\t\t\tupdatedCustomRugToViewEdit = _.find(orderLines, ol => ol.id === this.state.customRugToViewEdit.id);\r\n\t\t\t\t}\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderLines: orderLines,\r\n\t\t\t\t\tcolorOptOut: false,\r\n\t\t\t\t\tcustomRugToViewEdit: updatedCustomRugToViewEdit\r\n\t\t\t\t}, () => {\r\n\t\t\t\t\tthis.getOrderTotals(response.data, this.state.orderPayments, this.state.orderFulfillments);\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tgetOrderPayments(orderId) {\r\n\t\tapi.fetch(`Order/GetOrderPayments/${orderId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tconst orderPayments = this.formatSavedOrderPayments(response.data);\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderPayments: orderPayments\r\n\t\t\t\t}, () => {\r\n\t\t\t\t\tthis.getOrderTotals(this.state.orderLines, response.data, this.state.orderFulfillments);\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tgetOrderFulfillments(orderId) {\r\n\t\tapi.fetch(`Order/GetOrderFulfillments/${orderId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tconst orderFulfillments = this.formatSavedOrderFulfillments(response.data);\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderFulfillments: orderFulfillments\r\n\t\t\t\t}, () => {\r\n\t\t\t\t\tthis.getOrderTotals(this.state.orderLines, this.state.orderPayments, response.data, () => this.getCustomer(this.state.order.customer.value));\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tasync getOrderTotals(orderLines, orderPayments, orderFulfillments, getCustomerCallback = null) {\r\n\t\tconst tempOrderLines = _.map(orderLines, orderLine => {\r\n\t\t\treturn {\r\n\t\t\t\tcost: Number(orderLine.cost),\r\n\t\t\t\tprice: Number(orderLine.price),\r\n\t\t\t\tcmsn: Number(orderLine.cmsn),\r\n\t\t\t\tdeactivatedAt: orderLine.deactivatedAt,\r\n\t\t\t\torderLineTypeId: orderLine.orderLineTypeId,\r\n\t\t\t\torderLineTypeName: orderLine.orderLineTypeName\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tconst tempOrderPayments = _.map(orderPayments, orderPayment => {\r\n\t\t\treturn {\r\n\t\t\t\tamountPaid: Number(orderPayment.amountPaid),\r\n\t\t\t\tdeactivatedAt: orderPayment.deactivatedAt,\r\n\t\t\t\tpaymentTypeId: orderPayment.paymentTypeId\r\n\t\t\t}\r\n\t\t});\r\n\t\tconst tempOrderFulfillments = _.map(orderFulfillments, orderFulfillment => {\r\n\t\t\treturn {\r\n\t\t\t\tamountPosted: Number(orderFulfillment.amountPosted),\r\n\t\t\t\tamountDue: Number(orderFulfillment.amountDue),\r\n\t\t\t\tbalance: Number(orderFulfillment.balance),\r\n\t\t\t\tdeactivatedAt: orderFulfillment.deactivatedAt\r\n\t\t\t}\r\n\t\t});\r\n\t\tconst payload = {\r\n\t\t\torderLines: tempOrderLines,\r\n\t\t\torderPayments: tempOrderPayments,\r\n\t\t\torderFulfillments: tempOrderFulfillments\r\n\t\t}\r\n\t\tawait api.post(\"Order/GetOrderTotals\", payload)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttotalOrderCost: response.data.totalOrderCostDisplay,\r\n\t\t\t\t\ttotalOrderPrice: response.data.totalOrderPriceDisplay,\r\n\t\t\t\t\t// totalPaidCmsn: _.round(response.data.totalPaidCmsn, 2).toFixed(2),\r\n\t\t\t\t\testimatedGrossProfit: response.data.estimatedGrossProfitDisplay,\r\n\t\t\t\t\testimatedNetProfit: response.data.estimatedNetProfitDisplay,\r\n\t\t\t\t\tsumOfPayments: response.data.sumOfPaymentsDisplay,\r\n\t\t\t\t\tbalance: response.data.balanceDisplay,\r\n\t\t\t\t\ttotalWithoutCreditCardSurcharge: _.round(response.data.totalWithoutCreditCardSurcharge, 2).toFixed(2),\r\n\t\t\t\t\tsumOfTaxableItems: _.round(response.data.sumOfTaxableItems, 2).toFixed(2),\r\n\t\t\t\t\torderFulfillmentsTotalDue: response.data.orderFulfillmentsTotalDueDisplay,\r\n\t\t\t\t\torderFulfillmentsTotalPosted: response.data.orderFulfillmentsTotalPostedDisplay,\r\n\t\t\t\t\torderFulfillmentsBalance: response.data.orderFulfillmentsBalanceDisplay,\r\n\t\t\t\t}, () => {\r\n\t\t\t\t\tif(getCustomerCallback && typeof getCustomerCallback === \"function\") {\r\n\t\t\t\t\t\tgetCustomerCallback();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tformatOrderLineTypeList(orderLineTypeList) {\r\n\t\tconst formattedOrderLineTypeList = _.reject(orderLineTypeList, item => {\r\n\t\t\treturn item.value === constants.ORDER_LINE_TYPE.FREIGHT.value\r\n\t\t\t\t|| item.value === constants.ORDER_LINE_TYPE.RUG_FIELD.value\r\n\t\t\t\t|| item.value === constants.ORDER_LINE_TYPE.RUG_BORDER.value\r\n\t\t\t\t|| item.value === constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value\r\n\t\t});\r\n\t\treturn formattedOrderLineTypeList;\r\n\t}\r\n\r\n\tformatSavedOrder(order) {\r\n\t\tlet customer = helpers.resolveValue(null, order.customerId, order.customerName);\r\n\t\tcustomer.number = order.customerNumber;\r\n\t\treturn {\r\n\t\t\tid: order.id,\r\n\t\t\torderNumber: order.orderNumber,\r\n\t\t\torderStatus: helpers.resolveValue(\r\n\t\t\t\tnull,\r\n\t\t\t\torder.orderStatusId,\r\n\t\t\t\torder.orderStatusName),\r\n\t\t\tmth: date_helpers.dateFormatForClient(order.mth),\r\n\t\t\tcreatedAt: date_helpers.dateFormatForClient(order.createdAt),\r\n\t\t\tcreatedByUser: helpers.resolveValue(\r\n\t\t\t\tnull,\r\n\t\t\t\torder.createdByUserId,\r\n\t\t\t\torder.createdByUserName),\r\n\t\t\t// updatedByUser: helpers.resolveValue(\r\n\t\t\t// \t\tnull,\r\n\t\t\t// \t\torder.updatedByUserId,\r\n\t\t\t// \t\torder.updatedByUserName),\r\n\t\t\tplacedBy: order.placedBy,\r\n\t\t\tcustomer: customer,\r\n\t\t\tagent: helpers.resolveValue(\r\n\t\t\t\tnull,\r\n\t\t\t\torder.agentId,\r\n\t\t\t\torder.agentName),\r\n\t\t\tcurrentAgentCmsnRate: order.currentAgentCmsnRate, // read only\r\n\t\t\tisDistinctiveOrder: order.isDistinctiveOrder ? true : false,\r\n\t\t\tisReplacementOrder: order.isReplacementOrder ? true : false,\r\n\t\t\tisCreditOrder: order.isCreditOrder ? true : false,\r\n\t\t\treferencesOrder: helpers.nullableString(order.referencesOrderId),\r\n\t\t\trelatedReplacementOrders: helpers.nullableString(order.relatedReplacementOrders),\r\n\t\t\tbtContactFirstName: helpers.nullableString(order.btContactFirstName),\r\n\t\t\tbtContactLastName: helpers.nullableString(order.btContactLastName),\r\n\t\t\tbtContactEmail: helpers.nullableString(order.btContactEmail),\r\n\t\t\tbtAddressLine1: helpers.nullableString(order.btAddressLine1),\r\n\t\t\tbtAddressLine2: helpers.nullableString(order.btAddressLine2),\r\n\t\t\tbtAddressLine3: helpers.nullableString(order.btAddressLine3),\r\n\t\t\tbtAddressLine4: helpers.nullableString(order.btAddressLine4),\r\n\t\t\tbtCity: helpers.nullableString(order.btCity),\r\n\t\t\tbtState: helpers.nullableString(order.btState),\r\n\t\t\tbtZip: helpers.nullableString(order.btZip),\r\n\t\t\tbtPhone: helpers.nullableString(order.btPhone),\r\n\t\t\tbtFax: helpers.nullableString(order.btFax),\r\n\t\t\tcustomerPONumber: helpers.nullableString(order.customerPONumber),\r\n\t\t\tinvoiceTerms: helpers.resolveValue(\r\n\t\t\t\tnull,\r\n\t\t\t\torder.invoiceTermsId,\r\n\t\t\t\torder.invoiceTermsName)\r\n\t\t};\r\n\t}\r\n\r\n\tformatSavedOrderLines(orderLines) {\r\n\t\tlet formattedOrderLines = _.map(orderLines, item => {\r\n\t\t\tlet newShape = {\r\n\t\t\t\tid: item.id,\r\n\t\t\t\trugShape: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.rugShapeId,\r\n\t\t\t\t\titem.rugShapeName),\r\n\t\t\t\tparentOrderLineId: item.parentOrderLineId,\r\n\t\t\t\torderId: item.orderId,\r\n\t\t\t\torderLineType: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.orderLineTypeId,\r\n\t\t\t\t\titem.orderLineTypeName),\r\n\t\t\t\tdsc: item.dsc,\r\n\t\t\t\tcost: _.round(item.cost, 2).toFixed(2),\r\n\t\t\t\tprice: _.round(item.price, 2).toFixed(2),\r\n\t\t\t\tcmsnRate: _.round(item.cmsnRate, 2).toFixed(2),\r\n\t\t\t\tcmsn: _.round(item.cmsn, 2).toFixed(2),\r\n\t\t\t\tcreditCardSurchargeRate: item.creditCardSurchargeRate !== null ? _.round(item.creditCardSurchargeRate, 2) : \"\",\r\n\t\t\t\ttaxRate: _.round(item.taxRate, 2).toFixed(2),\r\n\t\t\t\tisHidden: item.isHidden,\r\n\t\t\t\tproduct: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.productId,\r\n\t\t\t\t\t`${item.productDCName} ${item.productDCNumber ? item.productDCNumber : null}`\r\n\t\t\t\t\t// item.productDCName\r\n\t\t\t\t),\r\n\t\t\t\tproductColor: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.productColorId,\r\n\t\t\t\t\t`${item.productColorName} ${item.productColorNumber ? item.productColorNumber : null}`\r\n\t\t\t\t\t// item.productColorName\r\n\t\t\t\t),\r\n\t\t\t\twidth: item.widthId\r\n\t\t\t\t\t? {\r\n\t\t\t\t\t\tvalue: item.widthId,\r\n\t\t\t\t\t\tlabel: item.widthName,\r\n\t\t\t\t\t\twidthNumericFeet: item.widthNumericFeet\r\n\t\t\t\t\t}\r\n\t\t\t\t\t: item.widthFeet && { value: 0, label: item.widthFeet, widthNumericFeet: item.widthFeet },\r\n\t\t\t\tunitCost: _.round(item.unitCost, 2).toFixed(2),\r\n\t\t\t\tunitPrice: _.round(item.unitPrice, 2).toFixed(2),\r\n\t\t\t\t// lengthFeet: item.lengthFeet !== null ? item.lengthFeet.toString() : \"\",\r\n\t\t\t\tlengthFeet: item.lengthFeet !== null ? _.round(item.lengthFeet, 2).toFixed(2) : \"\",\r\n\t\t\t\torderLineStatus: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.orderLineStatusId,\r\n\t\t\t\t\titem.orderLineStatusName),\r\n\t\t\t\tpriceUnitType: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.priceUnitTypeId,\r\n\t\t\t\t\titem.priceUnitTypeName),\r\n\t\t\t\tqty: item.qty !== null ? item.qty.toString() : \"\",\r\n\t\t\t\tcartonCount: helpers.nullableString(item.cartonCount),\r\n\t\t\t\tsquareFeetPerCarton: helpers.nullableString(item.productSquareFeetPerCarton), // retrieved from product info, but not currently saved in orderLine table\r\n\t\t\t\tperContainer: helpers.nullableString(item.productPerContainer), // retrieved from product info, but not currently saved in orderLine table\r\n\t\t\t\tsquareFeetRequired: item.squareFeetRequired,\r\n\t\t\t\tfreightCarrier: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.freightCarrierId,\r\n\t\t\t\t\titem.freightCarrierName),\r\n\t\t\t\tfreightSidemark: helpers.nullableString(item.freightSidemark),\r\n\t\t\t\tfreightInvoiceNumber: helpers.nullableString(item.freightInvoiceNumber),\r\n\t\t\t\tfreightBolNumber: helpers.nullableString(item.freightBolNumber),\r\n\t\t\t\tfreightTerms: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.freightTermsId,\r\n\t\t\t\t\titem.freightTermsName),\r\n\t\t\t\tfreightDsc: item.freightDsc ? item.freightDsc : \"Freight Charges\",\t// used to be: helpers.nullableString(item.freightDsc),\r\n\t\t\t\tfreightCost: item.freightCost ? _.round(item.freightCost, 2).toFixed(2) : \"0\",\r\n\t\t\t\tfreightPrice: item.freightPrice ? _.round(item.freightPrice, 2).toFixed(2) : \"0\",\r\n\t\t\t\trugSize: item.rugSize,\r\n\t\t\t\tfinishedSize: item.finishedSize ? _.find(FINISHED_RUG_SIZES, sz => sz.label == item.finishedSize) || {value: 1, label: \"Custom\"} : {value: 1, label: \"Custom\"},\r\n\t\t\t\trepeatDsc: item.repeatDsc && item.repeatDsc != \"\" ? item.repeatDsc : \"0.0\\\"x0.0\\\"\",\r\n\t\t\t\trepeatNumeric: item.repeatNumeric,\r\n\t\t\t\trun: item.run,\r\n\t\t\t\tborderLetter: helpers.nullableString(item.borderLetter),\r\n\t\t\t\tborderWidth: item.borderWidth,\r\n\t\t\t\trugLengthFeet: item.rugLengthFeet != null ? item.rugLengthFeet : \"\",\r\n\t\t\t\trugLengthInches: item.rugLengthInches != null ? item.rugLengthInches : \"\",\r\n\t\t\t\trugWidthFeet: item.rugWidthFeet != null ? item.rugWidthFeet : \"\",\r\n\t\t\t\trugWidthInches: item.rugWidthInches != null ? item.rugWidthInches : \"\",\r\n\t\t\t\trugType: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.rugTypeId,\r\n\t\t\t\t\titem.rugTypeName),\r\n\t\t\t\trugIntlCollection: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.rugIntlCollectionId,\r\n\t\t\t\t\titem.rugIntlCollectionName),\r\n\t\t\t\trugIntlSize: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.rugIntlSizeId,\r\n\t\t\t\t\titem.rugIntlSizeDsc),\r\n\t\t\t\tstContactFirstName: helpers.nullableString(item.stContactFirstName),\r\n\t\t\t\tstContactLastName: helpers.nullableString(item.stContactLastName),\r\n\t\t\t\tstContactEmail: helpers.nullableString(item.stContactEmail),\r\n\t\t\t\tstAddressLine1: helpers.nullableString(item.stAddressLine1),\r\n\t\t\t\tstAddressLine2: helpers.nullableString(item.stAddressLine2),\r\n\t\t\t\tstAddressLine3: helpers.nullableString(item.stAddressLine3),\r\n\t\t\t\tstAddressLine4: helpers.nullableString(item.stAddressLine4),\r\n\t\t\t\tstCity: helpers.nullableString(item.stCity),\r\n\t\t\t\tstState: helpers.nullableString(item.stState),\r\n\t\t\t\tstZip: helpers.nullableString(item.stZip),\r\n\t\t\t\tstPhone: helpers.nullableString(item.stPhone),\r\n\t\t\t\trugStyle: item.rugStyle,\r\n\t\t\t\tfinishedEdge: item.finishedEdge,\r\n\t\t\t\tlaborCost: item.laborCost,\r\n\t\t\t\ttotalAgreedCharges: item.totalAgreedCharges,\r\n\t\t\t\tforOutdoorUse: item.forOutdoorUse,\r\n\t\t\t\tdeactivatedAt: item.deactivatedAt,\r\n\t\t\t\torderLineComments: _.map(item.orderLineComments, comment => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...comment,\r\n\t\t\t\t\t\t//createdAt: \"asdf\", createdAt is whats rendered in line item comments not updated\r\n\t\t\t\t\t\tlocal_id: -1 * (item.orderLineComments.indexOf(comment) + 1),\r\n\t\t\t\t\t\tcommentType: helpers.resolveValue(null, comment.commentTypeId, comment.commentTypeName)\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tcommentCount: item.orderLineComments ? item.orderLineComments.length : 0 // for temporary use only\r\n\t\t\t}\r\n\t\t\tif (item.orderLineTypeId === constants.ORDER_LINE_TYPE.RUG_FIELD.value) {\r\n\t\t\t\tnewShape.fieldLengthFeet = newShape.rugLengthFeet.toString();\r\n\t\t\t\tnewShape.fieldLengthInches = newShape.rugLengthInches.toString();\r\n\t\t\t}\r\n\t\t\treturn newShape;\r\n\t\t});\r\n\r\n\t\t// same function updated to take into account freight lines that have a rug field as a parent order line // still testing\r\n\t\t// rearrange orderlines to take into account custom rug orderlines with component orderlines\r\n\t\tlet rugOrderLines = _.filter(formattedOrderLines, function (orderLine) {\r\n\t\t\treturn orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CUSTOM_RUG.value\r\n\t\t});\r\n\r\n\t\trugOrderLines = _.map(rugOrderLines, function (rugOrderLine) {\r\n\t\t\tlet componentLines = _.filter(formattedOrderLines, function (orderLine) {\r\n\t\t\t\tlet parentOrderLine = null;\r\n\t\t\t\tif (orderLine.parentOrderLineId) {\r\n\t\t\t\t\tparentOrderLine = _.find(formattedOrderLines, fol => fol.id === orderLine.parentOrderLineId);\r\n\t\t\t\t}\r\n\t\t\t\treturn orderLine.parentOrderLineId === rugOrderLine.id\r\n\t\t\t\t\t|| (orderLine.orderLineType\r\n\t\t\t\t\t\t&& orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.FREIGHT.value\r\n\t\t\t\t\t\t&& parentOrderLine\r\n\t\t\t\t\t\t&& parentOrderLine.orderLineType\r\n\t\t\t\t\t\t&& parentOrderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_FIELD.value\r\n\t\t\t\t\t\t&& parentOrderLine.parentOrderLineId === rugOrderLine.id)\r\n\t\t\t});\r\n\t\t\t_.forEach(componentLines, function (componentLine) { // remove componentLines from formattedOrderLines\r\n\t\t\t\tformattedOrderLines = _.reject(formattedOrderLines, function (orderLine) {\r\n\t\t\t\t\treturn orderLine.id === componentLine.id\r\n\t\t\t\t})\r\n\t\t\t});\r\n\t\t\treturn {\r\n\t\t\t\t...rugOrderLine,\r\n\t\t\t\tcomponentLines: componentLines\r\n\t\t\t}\r\n\t\t});\r\n\t\t_.forEach(rugOrderLines, function (rugOrderLine) {\r\n\t\t\tformattedOrderLines = _.map(formattedOrderLines, function (orderLine) {\r\n\t\t\t\tif (orderLine.id === rugOrderLine.id) {\r\n\t\t\t\t\treturn rugOrderLine\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn orderLine\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tformattedOrderLines = _.map(formattedOrderLines, line => {\r\n\t\t\tif (line.orderLineType.value === constants.ORDER_LINE_TYPE.CUSTOM_RUG.value) {\r\n\t\t\t\t// let list = _.filter(formattedOrderLines, l => { return l.parentOrderLineId === line.id })\r\n\t\t\t\tline.price = _.round(_.sumBy(line.componentLines, p => { return parseFloat(p.price); }), 2).toFixed(2);\r\n\t\t\t\tline.cost = _.round(_.sumBy(line.componentLines, c => { return parseFloat(c.cost); }), 2).toFixed(2);\r\n\t\t\t}\r\n\t\t\treturn line;\r\n\t\t})\r\n\r\n\t\treturn formattedOrderLines;\r\n\t}\r\n\r\n\tformatSavedOrderPayments(orderPayments) {\r\n\t\tconst formattedOrderPayments = _.map(orderPayments, item => {\r\n\t\t\treturn {\r\n\t\t\t\tid: item.id,\r\n\t\t\t\torderId: item.orderId,\r\n\t\t\t\tcustomerPaymentStatus: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.customerPaymentStatusId,\r\n\t\t\t\t\titem.customerPaymentStatusName),\r\n\t\t\t\tpaymentType: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.paymentTypeId,\r\n\t\t\t\t\titem.paymentTypeName),\r\n\t\t\t\treferenceNumber: helpers.nullableString(item.referenceNumber),\r\n\t\t\t\tpayToName: helpers.nullableString(item.payToName),\r\n\t\t\t\tcheckNumber: helpers.nullableString(item.checkNumber),\r\n\t\t\t\t// amountDue: item.amountDue,\r\n\t\t\t\tamountPaid: _.round(item.amountPaid, 2).toFixed(2),\r\n\t\t\t\t// balance: item.balance,\r\n\t\t\t\tforWhat: helpers.nullableString(item.forWhat),\r\n\t\t\t\tinvoiceNumber: helpers.nullableString(item.invoiceNumber),\r\n\t\t\t\tdateReceived: date_helpers.dateFormatForClient(item.dateReceived),\r\n\t\t\t\texpDate: item.expDate,\r\n\t\t\t\tcardNumber: helpers.nullableString(item.cardNumber),\r\n\t\t\t\tbillingName: helpers.nullableString(item.billingName),\r\n\t\t\t\tbillingZip: helpers.nullableString(item.billingZip),\r\n\t\t\t\tcomment: helpers.nullableString(item.comment),\r\n\t\t\t\tcreditCardType: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.creditCardTypeId,\r\n\t\t\t\t\titem.creditCardTypeName),\r\n\t\t\t\tcreatedAt: item.createdAt,\r\n\t\t\t\tcreatedByUserId: item.createdByUserId,\r\n\t\t\t\tdeactivatedAt: item.deactivatedAt,\r\n\t\t\t\tdeactivatedByUserId: item.deactivatedByUserId\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn formattedOrderPayments\r\n\t}\r\n\r\n\tformatSavedOrderFulfillments(orderFulfillments) {\r\n\t\tconst formattedOrderFulfillments = _.map(orderFulfillments, item => {\r\n\t\t\treturn {\r\n\t\t\t\t...item,\r\n\t\t\t\tamountDue: _.round(item.amountDue, 2).toFixed(2),\r\n\t\t\t\tamountPosted: _.round(item.amountPosted, 2).toFixed(2),\r\n\t\t\t\torderFulfillmentOrderLines: _.map(item.orderFulfillmentOrderLines, ol => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...ol,\r\n\t\t\t\t\t\torderLineCost: _.round(ol.orderLineCost, 2).toFixed(2)\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\torderFulfillmentStatus: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.orderFulfillmentStatusId,\r\n\t\t\t\t\titem.orderFulfillmentStatusName),\r\n\t\t\t\tsupplier: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.supplierId,\r\n\t\t\t\t\titem.supplierName),\r\n\t\t\t\tfreightCarrier: helpers.resolveValue(\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\titem.freightCarrierId,\r\n\t\t\t\t\titem.freightCarrierName),\r\n\t\t\t\treferenceNumber: helpers.nullableString(item.referenceNumber),\r\n\t\t\t\tinvoiceNumber: helpers.nullableString(item.invoiceNumber),\r\n\t\t\t\tcheckNumber: helpers.nullableString(item.checkNumber),\r\n\t\t\t\tnotes: helpers.nullableString(item.notes),\r\n\t\t\t\tbillDate: date_helpers.dateFormatForClient(item.billDate),\r\n\t\t\t\tdueDate: date_helpers.dateFormatForClient(item.dueDate),\r\n\t\t\t\tpayDate: date_helpers.dateFormatForClient(item.payDate)\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn formattedOrderFulfillments\r\n\t}\r\n\r\n\t//General Functions:\r\n\ttoggle(tab) {\r\n\t\tif (this.state.activeTab !== tab) {\r\n\t\t\tthis.setState(\r\n\t\t\t\t{ activeTab: tab }\r\n\t\t\t\t, () => {\r\n\t\t\t\t\tif (tab === 6) { // Invoice Print\r\n\t\t\t\t\t\tthis.getOverallStatus();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tonClickCancelButton() {\r\n\t\tthis.setState({\r\n\t\t\tshowCancelOrderModal: true\r\n\t\t});\r\n\t}\r\n\r\n\tyesCancelOrder() {\r\n\t\tthis.setState({\r\n\t\t\tredirectToOrders: true\r\n\t\t});\r\n\t}\r\n\r\n\tnoCancelOrder() {\r\n\t\tthis.setState({\r\n\t\t\tshowCancelOrderModal: false\r\n\t\t});\r\n\t}\r\n\r\n\t//Order Entry General Information:\r\n\thandleOrderStatusSelectChange(selection) {\r\n\t\tthis.setState({\r\n\t\t\torder: {\r\n\t\t\t\t...this.state.order,\r\n\t\t\t\torderStatus: selection\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thandleCreatedAtInputChange(date) {\r\n\t\tthis.setState({\r\n\t\t\torder: {\r\n\t\t\t\t...this.state.order,\r\n\t\t\t\tcreatedAt: date\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tsetMonth(date) {\r\n\t\tthis.setState(prevState => ({\r\n\t\t\t...prevState,\r\n\t\t\torder: {\r\n\t\t\t\t...prevState.order,\r\n\t\t\t\tmth: date\r\n\t\t\t}\r\n\t\t}));\r\n\t}\r\n\r\n\thandleTakenBySelectChange(selection) {\r\n\t\tthis.setState({\r\n\t\t\torder: {\r\n\t\t\t\t...this.state.order,\r\n\t\t\t\tcreatedByUser: selection\r\n\t\t\t\t// updatedByUser: selection\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thandleOnPlacedByInputChange(e) {\r\n\t\tthis.setState({\r\n\t\t\torder: {\r\n\t\t\t\t...this.state.order,\r\n\t\t\t\tplacedBy: e.target.value\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tonToggleCustomerSearchModal() {\r\n\t\tthis.setState({ showCustomerSearchModal: !this.state.showCustomerSearchModal })\r\n\t}\r\n\r\n\tonCustomerSelectedFromSearchModal(customerId, customerName) {\r\n\t\tthis.setState({\r\n\t\t\tshowCustomerSearchModal: false,\r\n\t\t}, () => this.handleCustomerSelectChange(helpers.resolveValue(null, customerId, customerName)));\r\n\t}\r\n\r\n\thandleCustomerSelectChange(selection) {\r\n\t\tapi.fetch(`Customer/GetActiveContacts/${selection.value}`)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet customerInfo = response.data.customer;\r\n\t\t\t\tlet customerContacts = response.data.contacts;\r\n\t\t\t\tlet customerAddresses = _.chain(response.data.customerAddresses)\r\n\t\t\t\t\t.filter(ca => { return ca.addressTypeId === constants.ADDRESS_TYPE.BILL_TO})\r\n\t\t\t\t\t.map(a => {\r\n\t\t\t\t\ta.value = a.id;\r\n\t\t\t\t\ta.label = helpers.formatAddressLabel(a)\r\n\t\t\t\t\treturn a;\r\n\t\t\t\t}).value();\r\n\t\t\t\tconst customerShipToAddresses = _.chain(response.data.customerAddresses)\r\n\t\t\t\t.filter(ca => { return ca.addressTypeId === constants.ADDRESS_TYPE.SHIP_TO })\r\n\t\t\t\t.map(a => {\r\n\t\t\t\t\ta.value = a.id;\r\n\t\t\t\t\ta.label = helpers.formatAddressLabel(a, '* ')\r\n\t\t\t\t\treturn a;\r\n\t\t\t\t}).value();\r\n\t\t\t\tcustomerContacts.map(c => {\r\n\t\t\t\t\t// remove deactivated phones and addresses for each contact\r\n\t\t\t\t\tconst addresses = _.filter(c.addresses, a => a.deactivatedAt === null);\r\n\t\t\t\t\tconst phoneNumbers = _.filter(c.phoneNumbers, p => p.deactivatedAt === null);\r\n\t\t\t\t\tc.expanded = false;\r\n\t\t\t\t\tc.addresses = addresses;\r\n\t\t\t\t\tc.phoneNumbers = phoneNumbers;\r\n\r\n\t\t\t\t\t// set value and label for select\r\n\t\t\t\t\tc.label = `${c.firstName} ${c.lastName}`;\r\n\t\t\t\t\tc.value = c.id;\r\n\t\t\t\t\treturn c;\r\n\t\t\t\t});\r\n\t\t\t\tlet customerCredits = _.map(response.data.customerCredits, c => {\r\n\t\t\t\t\tc.value = c.id;\r\n\t\t\t\t\tc.label = `${c.displayAmount} ${c.comment} - Given on ${moment(c.givenOn).format(\"MM/DD/YYYY\")}`;\r\n\t\t\t\t\t// c.amount = c.amount !== 0 && c.amount !== '' ? c.amount / 100 : null;\r\n\t\t\t\t\tc.amount = c.amount;\r\n\t\t\t\t\treturn c;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tcustomerInfo: customerInfo,\r\n\t\t\t\t\tcustomerContacts: customerContacts,\r\n\t\t\t\t\tcustomerOutstandingCredits: customerCredits,\r\n\t\t\t\t\tcustomerAddressList: customerAddresses,\r\n\t\t\t\t\tcustomerShipToAddresses: customerShipToAddresses,\r\n\t\t\t\t\torder: {\r\n\t\t\t\t\t\t...this.state.order,\r\n\t\t\t\t\t\tcustomer: selection,\r\n\t\t\t\t\t\tagent: (customerInfo.agentId && customerInfo.agentName) ? helpers.resolveValue(null, customerInfo.agentId, customerInfo.agentName) : null,\r\n\t\t\t\t\t\tbtAddressLine1: null,\r\n\t\t\t\t\t\tbtAddressLine2: null,\r\n\t\t\t\t\t\tbtAddressLine3: null,\r\n\t\t\t\t\t\tbtAddressLine4: null,\r\n\t\t\t\t\t\tbtCity: null,\r\n\t\t\t\t\t\tbtState: null,\r\n\t\t\t\t\t\tbtZip: null\r\n\t\t\t\t\t},\r\n\t\t\t\t\tselectedBillingAddress: null\r\n\t\t\t\t}, () => {\r\n\t\t\t\t\tif(customerAddresses.length == 1) {\r\n\t\t\t\t\t\tthis.setSelectedBillingAddress(customerAddresses[0])\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\thandleAgentSelectChange(selection) {\r\n\t\tthis.setState({\r\n\t\t\torder: {\r\n\t\t\t\t...this.state.order,\r\n\t\t\t\tagent: selection\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tonReferencesOrderChange(e) {\r\n\t\tthis.setState({\r\n\t\t\torder: {\r\n\t\t\t\t...this.state.order,\r\n\t\t\t\treferencesOrder: e.target.value\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thandleOrderInputChange(fieldName, value) {\r\n\t\tthis.setState(prevState => ({\r\n\t\t\t...prevState,\r\n\t\t\torder: {\r\n\t\t\t\t...prevState.order,\r\n\t\t\t\t[fieldName]: value\r\n\t\t\t}\r\n\t\t}));\r\n\t}\r\n\r\n\tisGeneralInfoFormValid() {\r\n\t\tconst warnings = [];\r\n\t\tif (!this.state.order.orderStatus.value) {\r\n\t\t\twarnings.push(\"Order Status is required.\");\r\n\t\t}\r\n\t\tif (!this.state.order.mth) {\r\n\t\t\twarnings.push(\"Order Month is required.\");\r\n\t\t}\r\n\t\t// if (!this.state.order.orderYear.value) {\r\n\t\t// warnings.push(\"Order Year is required.\");\r\n\t\t// }\r\n\t\tif (!this.state.order.createdAt) {\r\n\t\t\twarnings.push(\"Created at is required.\");\r\n\t\t}\r\n\t\t{/* Tracy wanted the name of this field changed to Sold To */ }\r\n\t\tif (!this.state.order.placedBy) {\r\n\t\t\twarnings.push(\"Order Sold To is required.\");\r\n\t\t}\r\n\t\tif (!this.state.order.createdByUser.value || !this.state.order.createdByUser.label) {\r\n\t\t\twarnings.push(\"Order Entered By is required.\");\r\n\t\t}\r\n\t\t// if (!this.state.order.updatedByUser.value || !this.state.order.updatedByUser.label) {\r\n\t\t// \twarnings.push(\"Order Entered By is required.\");\r\n\t\t// }\r\n\t\tif (!this.state.order.customer || !this.state.order.customer.value) {\r\n\t\t\twarnings.push(\"Account is required.\");\r\n\t\t}\r\n\t\tif (!this.state.order.agent || !this.state.order.agent.value) {\r\n\t\t\twarnings.push(\"Agent is required.\");\r\n\t\t}\r\n\t\tif (!this.state.order.referencesOrder &&\r\n\t\t\t(this.state.order.isReplacementOrder || this.state.order.isCreditOrder)) {\r\n\t\t\twarnings.push(\"This is a Replacement or Credit order: References Order is required. \");\r\n\t\t}\r\n\t\tif (warnings.length) {\r\n\t\t\tthis.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n\t\t}\r\n\t\treturn warnings.length === 0;\r\n\t}\r\n\r\n\tsaveOrderEntryGeneralInfo() {\r\n\t\tif (!this.isGeneralInfoFormValid()) return;\r\n\t\tconst order = this.state.order;\r\n\t\tconst data = {\r\n\t\t\tId: order.id ? order.id : 0,\r\n\t\t\tCustomerId: order.customer.value,\r\n\t\t\tAgentId: order.agent.value,\r\n\t\t\tOrderStatusId: order.orderStatus.value,\r\n\t\t\tPlacedBy: order.placedBy,\r\n\t\t\tCreatedAt: order.createdAt,\r\n\t\t\tCreatedByUserId: order.createdByUser.value,\t// Entered By field\r\n\t\t\t// UpdatedByUserId: order.updatedByUser.value,\t// Entered By field\r\n\t\t\tMth: date_helpers.formatDateForServer(order.mth),\r\n\t\t\tIsReplacementOrder: order.isReplacementOrder,\r\n\t\t\tIsDistinctiveOrder: order.isDistinctiveOrder,\r\n\t\t\tIsCreditOrder: order.isCreditOrder,\r\n\t\t\tReferencesOrderId: order.referencesOrder ? Number(order.referencesOrder) : null,\r\n\t\t\tCustomerPONumber: order.customerPONumber,\r\n\t\t\tInvoiceTermsId: order.id && order.invoiceTerms ? order.invoiceTerms.value : this.state.customerInfo.invoiceTermsId, // if new order, get invoiceTerms from customer\r\n\t\t\tBTContactFirstName: order.btContactFirstName,\r\n BTContactLastName: order.btContactLastName,\r\n BTContactEmail: order.btContactEmail,\r\n BTAddressLine1: order.btAddressLine1,\r\n BTAddressLine2: order.btAddressLine2,\r\n BTAddressLine3: order.btAddressLine3,\r\n BTAddressLine4: order.btAddressLine4,\r\n BTCity: order.btCity,\r\n BTState: order.btState,\r\n BTZip: order.btZip\r\n\t\t};\r\n\t\tapi.post('Order/SaveOrderGeneralInformation', data)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torder: this.formatSavedOrder(response.data),\r\n\t\t\t\t\torderId: response.data.id,\r\n\t\t\t\t\tsetGeneralOrderSavedFlag: true,\r\n\t\t\t\t\tactiveTab: TABS.LINE_ITEMS,\r\n\t\t\t\t\tmessage: null,\r\n\t\t\t\t\tmessageFlavor: null\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\t// Order Line Entry:\r\n\r\n\tgetOrderLineCorrespondingProductType(value) {\r\n\t\tlet productType;\r\n\t\tswitch (value.toString()) {\r\n\t\t\tcase constants.ORDER_LINE_TYPE.CARPET.value.toString():\r\n\t\t\tcase constants.ORDER_LINE_TYPE.RUG_FIELD.value.toString():\r\n\t\t\tcase constants.ORDER_LINE_TYPE.RUG_BORDER.value.toString():\r\n\t\t\t\tproductType = constants.PRODUCT_TYPE.CARPET.value;\r\n\t\t\t\tbreak;\r\n\t\t\tcase constants.ORDER_LINE_TYPE.MISCELLANEOUS.value.toString():\r\n\t\t\t\tproductType = constants.PRODUCT_TYPE.MISCELLANEOUS.value;\r\n\t\t\t\tbreak;\r\n\t\t\tcase constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value.toString():\r\n\t\t\t\tproductType = constants.PRODUCT_TYPE.RUG_COMPONENT.value;\r\n\t\t\t\tbreak;\r\n\t\t\tcase constants.ORDER_LINE_TYPE.RUG_PAD.value.toString():\r\n\t\t\t\tproductType = constants.PRODUCT_TYPE.RUG_PAD.value;\r\n\t\t\t\tbreak;\r\n\t\t\tcase constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value.toString():\r\n\t\t\t\tproductType = constants.PRODUCT_TYPE.INTL_RUG.value;\r\n\t\t\t\tbreak;\r\n\t\t\tcase constants.ORDER_LINE_TYPE.HARD_SURFACE.value.toString():\r\n\t\t\t\tproductType = constants.PRODUCT_TYPE.HARD_SURFACE.value;\r\n\t\t\t\tbreak;\r\n\t\t\tcase constants.ORDER_LINE_TYPE.ROLL_RUNNER.value.toString():\r\n\t\t\t\tproductType = constants.PRODUCT_TYPE.ROLL_RUNNER.value;\r\n\t\t\t\tbreak;\r\n\t\t\tcase constants.ORDER_LINE_TYPE.BINDING.value.toString():\r\n\t\t\t\tproductType = constants.PRODUCT_TYPE.BORDER_OR_BINDING.value;\r\n\t\t\t\tbreak;\r\n\t\t\tcase constants.ORDER_LINE_TYPE.CARPET_TILE.value.toString():\r\n\t\t\t\tproductType = constants.PRODUCT_TYPE.CARPET_TILE.value;\r\n\t\t\t\tbreak;\r\n\t\t\tcase constants.ORDER_LINE_TYPE.SAMPLE.value.toString():\r\n\t\t\t\tproductType = constants.PRODUCT_TYPE.SAMPLE.value;\r\n\t\t\t\tbreak;\r\n\t\t};\r\n\t\treturn productType;\r\n\t}\r\n\r\n\tonAddNewOrderLine(orderLineType = null) {\r\n\t\tlet productType;\r\n\t\tif (orderLineType) {\r\n\t\t\tproductType = this.getOrderLineCorrespondingProductType(orderLineType.value);\r\n\t\t} else {\r\n\t\t\tproductType = constants.PRODUCT_TYPE.CARPET.value;\r\n\t\t}\r\n\r\n\t\t// Fetch products for default new rug component line type first\r\n\t\t// api.fetch(`Order/GetProductsOfProductType/${constants.PRODUCT_TYPE.CARPET.value}`)\r\n\t\tapi.fetch(`Order/GetProductsOfProductType/${productType}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\t//if response success\r\n\t\t\t\tif (this.state.customRugToViewEdit) {\r\n\t\t\t\t\tlet { sqFt, finishedEdgeFt } = calc.calculateSqFeetAndFinEdgeFt(\r\n\t\t\t\t\t\tthis.state.customRugToViewEdit.rugLengthFeet,\r\n\t\t\t\t\t\tthis.state.customRugToViewEdit.rugLengthInches,\r\n\t\t\t\t\t\tthis.state.customRugToViewEdit.rugWidthFeet,\r\n\t\t\t\t\t\tthis.state.customRugToViewEdit.rugWidthInches);\r\n\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tshowOrderLineForm: true,\r\n\t\t\t\t\t\tmessage: null,\r\n\t\t\t\t\t\tmessageFlavor: null,\r\n\t\t\t\t\t\tproductsList: response.data,\r\n\t\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t\t...emptyOrderLine,\r\n\t\t\t\t\t\t\tcmsnRate: this.state.order.currentAgentCmsnRate,\r\n\t\t\t\t\t\t\tfieldCmsnRate: this.state.order.currentAgentCmsnRate,\r\n\t\t\t\t\t\t\tborderCmsnRate: this.state.order.currentAgentCmsnRate,\r\n\t\t\t\t\t\t\tparentOrderLineId: this.state.customRugToViewEdit.id,\r\n\t\t\t\t\t\t\torderLineType: orderLineType ? orderLineType : constants.ORDER_LINE_TYPE.RUG_FIELD,\r\n\t\t\t\t\t\t\tsqFt: sqFt,\r\n\t\t\t\t\t\t\tfinishedEdgeFt: finishedEdgeFt,\r\n\t\t\t\t\t\t\trugLengthFeet: this.state.customRugToViewEdit.rugLengthFeet,\t\t\t// needed for local fuctions to work\r\n\t\t\t\t\t\t\trugLengthInches: this.state.customRugToViewEdit.rugLengthInches, // needed for local fuctions to work\r\n\t\t\t\t\t\t\trugWidthFeet: this.state.customRugToViewEdit.rugWidthFeet,\t\t\t\t// needed for local fuctions to work\r\n\t\t\t\t\t\t\trugWidthInches: this.state.customRugToViewEdit.rugWidthInches, \t\t// needed for local fuctions to work\r\n\t\t\t\t\t\t\trugDsc: this.state.customRugToViewEdit.dsc,\t\t\t\t\t\t\t\t\t\t\t\t// needed for local fuctions to work\r\n\t\t\t\t\t\t\tshippingAddresses: this.state.customerShipToAddresses\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tshowOrderLineForm: true,\r\n\t\t\t\t\t\tmessage: null,\r\n\t\t\t\t\t\tmessageFlavor: null,\r\n\t\t\t\t\t\tproductsList: response.data,\r\n\t\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t\t...emptyOrderLine,\r\n\t\t\t\t\t\t\tcmsnRate: this.state.order.currentAgentCmsnRate,\r\n\t\t\t\t\t\t\tfieldCmsnRate: this.state.order.currentAgentCmsnRate,\r\n\t\t\t\t\t\t\tborderCmsnRate: this.state.order.currentAgentCmsnRate,\r\n\t\t\t\t\t\t\torderLineType: constants.ORDER_LINE_TYPE.CARPET,\r\n\t\t\t\t\t\t\tshippingAddresses: this.state.customerShipToAddresses\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t}\r\n\r\n\tasync handleOrderLineTypeChange(selection) {\r\n\t\tif (selection.value === constants.ORDER_LINE_TYPE.RUG_BORDER.value || selection.value === constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value) {\r\n\t\t\tthis.onAddNewOrderLine(selection);\r\n\t\t} else if (selection.value === constants.ORDER_LINE_TYPE.CUSTOM_RUG.value) {\r\n\t\t\tlet padProductsList;\r\n\t\t\tlet rugBindingList;\r\n\t\t\tlet inboundFreightProductList;\r\n\t\t\tlet customRugComponentProducts;\r\n\t\t\tawait api.fetch(`Order/GetProductsOfProductType/${constants.PRODUCT_TYPE.RUG_PAD.value}`)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tpadProductsList = response.data;\r\n\t\t\t\t});\r\n\t\t\tawait api.fetch(`Order/GetProductsOfProductType/${constants.PRODUCT_TYPE.BORDER_OR_BINDING.value}`)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\trugBindingList = response.data;\r\n\t\t\t\t});\r\n\t\t\tawait api.fetch(`Order/GetProductsOfProductType/${constants.PRODUCT_TYPE.RUG_COMPONENT.value}`)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tinboundFreightProductList = _.filter(response.data, p => _.includes(p.label, 'Inbound'))\r\n\t\t\t\t});\r\n\t\t\tawait api.fetch(`Order/GetCustomRugComponentProducts/`)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tcustomRugComponentProducts = {\r\n\t\t\t\t\t\tDefaultCutChargeProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultCutChargeProduct),\r\n\t\t\t\t\t\tDefaultRugEndArmorProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultRugEndArmorProduct),\r\n\t\t\t\t\t\tDefaultInboundFreightProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultInboundFreightProduct),\r\n\t\t\t\t\t\tDefaultBackingProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultBackingProduct),\r\n\t\t\t\t\t\tDefaultPadCutChargeProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultPadCutChargeProduct),\r\n\t\t\t\t\t\tUnder30SFPadCutChargeProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.Under30SFPadCutChargeProduct),\r\n\t\t\t\t\t\tDefaultClippedCornersProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultClippedCornersProduct),\r\n\t\t\t\t\t\tDefaultLaborCutoutProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultLaborCutoutProduct),\r\n\t\t\t\t\t\tDefaultLaborRoundProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultLaborRoundProduct),\r\n\t\t\t\t\t\tDefaultFabricationChargeProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultFabricationChargeProduct),\r\n\t\t\t\t\t\tDefaultUVSergingChargeProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultUVSergingChargeProduct),\r\n\t\t\t\t\t\tDefaultWoolSergingChargeProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultWoolSergingChargeProduct),\r\n\t\t\t\t\t\tDefaultPremiumWoolSergingChargeProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultPremiumWoolSergingChargeProduct),\r\n\t\t\t\t\t\tDefaultWoolSergingChargeNProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultWoolSergingChargeNProduct),\r\n\t\t\t\t\t\tDefaultAppliedMachineBordersProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultAppliedMachineBordersProduct),\r\n\t\t\t\t\t\tDefaultMiteredProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultMiteredProduct),\r\n\t\t\t\t\t\tDefaultRugPadLuxFeltCustomSizeProduct: _.find(response.data, x => x.configName === constants.CUSTOM_RUG_CONFIG_NAMES.DefaultRugPadLuxFeltCustomSizeProduct)\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tconst emptyRugLine = emptyRugOrderLine(customRugComponentProducts, this.state.order.currentAgentCmsnRate);\r\n\t\t\tconst sergingList = [\r\n\t\t\t\tcustomRugComponentProducts.DefaultWoolSergingChargeProduct,\r\n\t\t\t\tcustomRugComponentProducts.DefaultPremiumWoolSergingChargeProduct,\r\n\t\t\t\tcustomRugComponentProducts.DefaultWoolSergingChargeNProduct,\r\n\t\t\t\tcustomRugComponentProducts.DefaultUVSergingChargeProduct\r\n\t\t\t];\r\n\t\t\tconst mSergingList = [customRugComponentProducts.DefaultAppliedMachineBordersProduct];\r\n\t\t\tconst hsSergingList = [customRugComponentProducts.DefaultMiteredProduct];\r\n\t\t\tthis.setState({\r\n\t\t\t\torderLine: {\r\n\t\t\t\t\t...emptyRugLine,\r\n\t\t\t\t\tcmsnRate: this.state.order.currentAgentCmsnRate,\r\n\t\t\t\t\torderLineType: selection,\r\n\t\t\t\t\tid: this.state.orderLine.id,\r\n\t\t\t\t\t//freight:\r\n\t\t\t\t\tfreightCarrier: this.state.orderLine.freightCarrier,\r\n\t\t\t\t\tfreightSidemark: this.state.orderLine.freightSidemark,\r\n\t\t\t\t\tfreightInvoiceNumber: this.state.orderLine.freightInvoiceNumber,\r\n\t\t\t\t\tfreightBolNumber: this.state.orderLine.freightBolNumber,\r\n\t\t\t\t\tfreightDsc: this.state.orderLine.freightDsc,\r\n\t\t\t\t\tfreightTerms: this.state.orderLine.freightTerms,\r\n\t\t\t\t\tfreightCost: this.state.orderLine.freightCost,\r\n\t\t\t\t\tfreightPrice: this.state.orderLine.freightPrice,\r\n\t\t\t\t\tstContactFirstName: this.state.orderLine.stContactFirstName,\r\n\t\t\t\t\tstContactLastName: this.state.orderLine.stContactLastName,\r\n\t\t\t\t\tstContactEmail: this.state.orderLine.stContactEmail,\r\n\t\t\t\t\tstAddressLine1: this.state.orderLine.stAddressLine1,\r\n\t\t\t\t\tstAddressLine2: this.state.orderLine.stAddressLine2,\r\n\t\t\t\t\tstAddressLine3: this.state.orderLine.stAddressLine3,\r\n\t\t\t\t\tstAddressLine4: this.state.orderLine.stAddressLine4,\r\n\t\t\t\t\tstCity: this.state.orderLine.stCity,\r\n\t\t\t\t\tstState: this.state.orderLine.stState,\r\n\t\t\t\t\tstZip: this.state.orderLine.stZip,\r\n\t\t\t\t\tstPhone: this.state.orderLine.stPhone\r\n\t\t\t\t},\r\n\t\t\t\tpadProductsList: padProductsList,\r\n\t\t\t\trugBindingList: rugBindingList,\r\n\t\t\t\tinboundFreightProductList: inboundFreightProductList,\r\n\t\t\t\tcustomRugComponentProducts: customRugComponentProducts,\r\n\t\t\t\tsergingList: sergingList,\r\n\t\t\t\tmSergingList: mSergingList,\r\n\t\t\t\thsSergingList: hsSergingList,\r\n\t\t\t}, () => {\r\n\t\t\t\tthis.initializeRugOrder();\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tlet productType = this.getOrderLineCorrespondingProductType(selection.value);\r\n\t\t\tlet productsList = [];\r\n\t\t\t// let collectionList = [];\r\n\t\t\t// if (selection.value !== constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value) {\r\n\t\t\t\tawait api.fetch(`Order/GetProductsOfProductType/${productType}`)\r\n\t\t\t\t\t.then(response => {\r\n\t\t\t\t\t\tproductsList = response.data;\r\n\t\t\t\t\t});\r\n\t\t\t// } else {\r\n\t\t\t// \t// For Intl Coll rugs, collection must be selected before product\r\n\t\t\t// \tawait api.fetch(\"Order/GetRugIntlCollectionList\")\r\n\t\t\t// \t\t.then(response => {\r\n\t\t\t// \t\t\tcollectionList = response.data;\r\n\t\t\t// \t\t});\r\n\t\t\t// }\r\n\r\n\t\t\tthis.setState({\r\n\t\t\t\torderLine: {\r\n\t\t\t\t\t...emptyOrderLine,\r\n\t\t\t\t\tcmsnRate: this.state.order.currentAgentCmsnRate,\r\n\t\t\t\t\tfieldCmsnRate: this.state.order.currentAgentCmsnRate,\r\n\t\t\t\t\tborderCmsnRate: this.state.order.currentAgentCmsnRate,\r\n\t\t\t\t\torderLineType: selection,\r\n\t\t\t\t\tid: this.state.orderLine.id,\r\n\t\t\t\t\t//freight:\r\n\t\t\t\t\tfreightCarrier: this.state.orderLine.freightCarrier,\r\n\t\t\t\t\tfreightSidemark: this.state.orderLine.freightSidemark,\r\n\t\t\t\t\tfreightInvoiceNumber: this.state.orderLine.freightInvoiceNumber,\r\n\t\t\t\t\tfreightBolNumber: this.state.orderLine.freightBolNumber,\r\n\t\t\t\t\tfreightDsc: this.state.orderLine.freightDsc,\r\n\t\t\t\t\tfreightTerms: this.state.orderLine.freightTerms,\r\n\t\t\t\t\tfreightCost: this.state.orderLine.freightCost,\r\n\t\t\t\t\tfreightPrice: this.state.orderLine.freightPrice,\r\n\t\t\t\t\tstContactFirstName: this.state.orderLine.stContactFirstName,\r\n\t\t\t\t\tstContactLastName: this.state.orderLine.stContactLastName,\r\n\t\t\t\t\tstContactEmail: this.state.orderLine.stContactEmail,\r\n\t\t\t\t\tstAddressLine1: this.state.orderLine.stAddressLine1,\r\n\t\t\t\t\tstAddressLine2: this.state.orderLine.stAddressLine2,\r\n\t\t\t\t\tstAddressLine3: this.state.orderLine.stAddressLine3,\r\n\t\t\t\t\tstAddressLine4: this.state.orderLine.stAddressLine4,\r\n\t\t\t\t\tstCity: this.state.orderLine.stCity,\r\n\t\t\t\t\tstState: this.state.orderLine.stState,\r\n\t\t\t\t\tstZip: this.state.orderLine.stZip,\r\n\t\t\t\t\tstPhone: this.state.orderLine.stPhone\r\n\t\t\t\t},\r\n\t\t\t\t// rugIntlCollectionList: collectionList,\r\n\t\t\t\tproductsList: productsList\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tasync setSelectedProduct(option) {\r\n\t\tawait api.fetch(`Order/GetActiveProductColors/${option.value}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tproductColorsList: response.data,\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\tproduct: option,\r\n\t\t\t\t\t\tproductColor: response.data.length > 0 ? response.data[0] : null\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\tawait api.fetch(`Product/GetProductWidths/${option.value}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tconst widths = _.map(response.data, w => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tvalue: w.widthId,\r\n\t\t\t\t\t\tlabel: w.widthName,\r\n\t\t\t\t\t\twidthNumericFeet: w.widthNumericFeet\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\t//widthsList: widths,\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\twidthsList: widths,\r\n\t\t\t\t\t\twidth: widths.length > 0 ? widths[0] : null\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value) {\r\n\t\t\tawait api.fetch(`Product/GetRugIntlSizes/${option.value}`)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tconst rugSizes = _.map(response.data, sz => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tvalue: sz.id,\r\n\t\t\t\t\t\t\tlabel: sz.dsc,\r\n\t\t\t\t\t\t\tcost: _.round(sz.cost, 2).toFixed(2),\r\n\t\t\t\t\t\t\tprice: _.round(sz.price, 2).toFixed(2)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\trugIntlSizeList: rugSizes,\r\n\t\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\t\trugIntlSize: rugSizes.length > 0 ? rugSizes[0] : null,\r\n\t\t\t\t\t\t\tunitCost: rugSizes.length > 0 ? rugSizes[0].cost : this.state.orderLine.unitCost,\r\n\t\t\t\t\t\t\tunitPrice: rugSizes.length > 0 ? rugSizes[0].price : this.state.orderLine.unitPrice\r\n\t\t\t\t\t\t\t// unitCost: response.data.length > 0 ? _.round(response.data[0].cost, 2).toFixed(2) : this.state.orderLine.unitCost,\r\n\t\t\t\t\t\t\t// unitPrice: response.data.length > 0 ? _.round(response.data[0].price, 2).toFixed(2) : this.state.orderLine.unitPrice,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t}\r\n\t\tconsole.log(`right here, ${option.value}, ${this.state.activeOrderId}`);\r\n\t\tawait api.fetch(`Product/GetProductWithOrder/${option.value}/${this.state.orderId}`)\r\n\t\t.then(response => {\r\n\t\t\tthis.setState({\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\t\tunitCost: this.state.orderLine.orderLineType.value !== constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value ? _.round(response.data.unitCost, 2).toFixed(2) : this.state.orderLine.unitCost,\r\n\t\t\t\t\t\t\tunitPrice: this.state.orderLine.orderLineType.value !== constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value ? _.round(response.data.unitPrice, 2).toFixed(2) : this.state.orderLine.unitPrice,\r\n\t\t\t\t\t\t\tvolumeCost: _.round(response.data.volumeCost, 2).toFixed(2),\t\t\t// not saved on orderline, only used for volume calculations\r\n\t\t\t\t\t\t\tvolumePrice: _.round(response.data.volumePrice, 2).toFixed(2),\t\t// not saved on orderline, only used for volume calculations\r\n\t\t\t\t\t\t\trollSize: response.data.rollSize, \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// not saved on orderline, only used for volume calculations\r\n\t\t\t\t\t\t\tpriceUnitType: helpers.resolveValue(\r\n\t\t\t\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\t\t\t\tresponse.data.priceUnitTypeId,\r\n\t\t\t\t\t\t\t\t\tresponse.data.priceUnitTypeName),\r\n\t\t\t\t\t\t\tperContainer: helpers.nullableString(response.data.perContainer),\r\n\t\t\t\t\t\t\tsquareFeetPerCarton: helpers.nullableString(response.data.squareFeetPerCarton),\r\n\t\t\t\t\t\t\tproductAllowCommission: response.data.allowCommission\r\n\t\t\t\t\t},\r\n\t\t\t\t\tnonVolumeUnitCost: _.round(response.data.unitCost, 2).toFixed(2),\r\n\t\t\t\t\tnonVolumeUnitPrice: _.round(response.data.unitPrice, 2).toFixed(2)\r\n\t\t\t}, () => {\r\n\t\t\t\t\tthis.calculateFigures()\r\n\t\t\t});\r\n\t\t})\r\n\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\t// setSelectedCollection(option) {\r\n\t// \t// Fetch products that belong to collection and are INTL_RUG product types\r\n\t// \tapi.fetch(`Order/GetActiveCollectionProducts/${option.value}`)\r\n\t// \t\t.then(response => {\r\n\t// \t\t\tthis.setState({\r\n\t// \t\t\t\tcollectionProductsList: response.data,\r\n\t// \t\t\t\torderLine: {\r\n\t// \t\t\t\t\t...this.state.orderLine,\r\n\t// \t\t\t\t\trugIntlCollection: option,\r\n\t// \t\t\t\t\tproduct: response.data.length > 0 ? response.data[0] : null\r\n\t// \t\t\t\t}\r\n\t// \t\t\t}, () => {\r\n\t// \t\t\t\tif (response.data.length > 0) {\r\n\t// \t\t\t\t\tthis.setSelectedProduct(response.data[0])\r\n\t// \t\t\t\t}\r\n\t// \t\t\t});\r\n\t// \t\t})\r\n\t// \t\t.catch(helpers.catchHandler);\r\n\t// }\r\n\r\n\thandleFormSelectChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t[elementName]: selection\r\n\t\t\t},\r\n\t\t\tshowOrderLineStatusModal:\r\n\t\t\t\t(selection.label === constants.ORDER_LINE_STATUS.BACKORDER.label\r\n\t\t\t\t|| selection.label === constants.ORDER_LINE_STATUS.SHIPPED.label)\r\n\t\t\t\t? true : false\r\n\t\t}, () => {\r\n\t\t\tif (elementName === \"productColor\") {\r\n\t\t\t\tthis.calculateFigures();\r\n\t\t\t\t}\r\n\t\t});\r\n\t}\r\n\thandleRugShapeSelectChange(elementName, selection) {\r\n\t\tlet newRugDsc = this.state.orderLine.rugDsc;\r\n\t\tif(selection.label === constants.CUSTOM_RUG_SHAPE_LIST.ROUND.label){\r\n\t\t\tnewRugDsc = newRugDsc.replace(\"Custom Rug\", \"Round Custom Rug\")\r\n\t\t}else{\r\n\t\t\tnewRugDsc = newRugDsc.replace( \"Round Custom Rug\", \"Custom Rug\")\r\n\t\t} \r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t[elementName]: selection,\r\n\t\t\t\trugDsc: newRugDsc\r\n\t\t\t},\r\n\t\t\tshowOrderLineStatusModal:\r\n\t\t\t\t(selection.label === constants.ORDER_LINE_STATUS.BACKORDER.label\r\n\t\t\t\t|| selection.label === constants.ORDER_LINE_STATUS.SHIPPED.label)\r\n\t\t\t\t? true : false\r\n\t\t}, () => {\r\n\t\t\tif (elementName === \"productColor\") {\r\n\t\t\t\tthis.calculateFigures();\r\n\t\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thandleWidthSelectChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t[elementName]: selection\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tthis.calculateFigures();\r\n\t\t});\r\n\t}\r\n\r\n\thandleRugIntlSizeChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t[elementName]: selection,\r\n\t\t\t\tunitCost: selection.cost,\r\n\t\t\t\tunitPrice: selection.price\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tthis.calculateFigures();\r\n\t\t});\r\n\t}\r\n\r\n\thandleOrderLineStateChange(fieldName, value) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t[fieldName]: value\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tupdateOrderLineRateOrCurrencyField(fieldName, value) {\r\n\t\tif (value) {\r\n\t\t\tthis.setState({\r\n\t\t\t\torderLine: {\r\n\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t[fieldName]: _.round(value, 2).toFixed(2)\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tonChangeOrderLineComment(fieldName, value) {\r\n\t\tthis.setState({\r\n\t\t\tnewOrderLineComment: {\r\n\t\t\t\t...this.state.newOrderLineComment,\r\n\t\t\t\t[fieldName]: value\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\thandleOrderLineCommentSelectionChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\tnewOrderLineComment: {\r\n\t\t\t\t...this.state.newOrderLineComment,\r\n\t\t\t\t[elementName]: {\r\n\t\t\t\t\tvalue: selection.value,\r\n\t\t\t\t\tlabel: selection.label\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tisOrderLineCommentValid() {\r\n\t\tconst warnings = [];\r\n\t\tif (!this.state.newOrderLineComment.dsc) {\r\n\t\t\twarnings.push(\"Comment required in order to add.\");\r\n\t\t}\r\n\t\tif (!this.state.newOrderLineComment.commentType) {\r\n\t\t\twarnings.push(\"To add comment, please select what comment applies to.\");\r\n\t\t}\r\n\t\tif (warnings.length) {\r\n\t\t\twindow.scroll(0, 0);\r\n\t\t\tthis.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n\t\t}\r\n\t\treturn warnings.length === 0;\r\n\t}\r\n\r\n\tonSaveNote(forOrderLineStatus) {\r\n\t\tconst notes = this.state.orderLineCommentList.slice();\r\n\t\tlet commentToSave = Object.assign({}, this.state.newOrderLineComment);\r\n\t\tif (forOrderLineStatus) {\r\n\t\t\tcommentToSave = emptyOrderLineComment;\r\n\t\t\tcommentToSave = {\r\n\t\t\t\t...commentToSave,\r\n\t\t\t\tdsc: `${this.state.orderLine.orderLineStatus.label} on ${moment(this.state.backOrderOrShippedDate).format(\"M/DD/YY\")}`,\r\n\t\t\t\tcommentType: _.find(this.state.commentTypeList, c => c.label === \"Customer\"),\r\n\t\t\t\tisPrivate: false,\r\n\t\t\t\tlocal_id: -1 * (this.state.orderLine.commentCount + 1)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (!this.isOrderLineCommentValid()) return;\r\n\t\t\tcommentToSave = {\r\n\t\t\t\t...commentToSave,\r\n\t\t\t\tlocal_id: -1 * (this.state.orderLine.commentCount + 1)\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tnewOrderLineComment: emptyOrderLineComment,\r\n\t\t\torderLineCommentList: [...notes, commentToSave],\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tcommentCount: this.state.orderLine.commentCount + 1\r\n\t\t\t},\r\n\t\t\tshowOrderLineStatusModal: false,\r\n\t\t\tbackOrderOrShippedDate: null\r\n\t\t});\r\n\t}\r\n\r\n\tonEditComment(commentId) {\r\n\t\tconst indexToEdit = _.findIndex(this.state.orderLineCommentList, { local_id: commentId });\r\n\t\tlet tempList = _.cloneDeep(this.state.orderLineCommentList);\r\n\t\tconst snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n\t\ttempList[indexToEdit].isEditing = true;\r\n\t\ttempList[indexToEdit].pristine = snapshotItem;\r\n\t\tthis.setState({\r\n\t\t\torderLineCommentList: tempList\r\n\t\t});\r\n\t}\r\n\r\n\tupdateCommentDscField(fieldName, value, commentId) {\r\n\t\tconst tempList = this.state.orderLineCommentList.slice();\r\n\t\tconst comment = _.find(tempList, x => x.local_id === commentId);\r\n\t\tcomment[fieldName] = value;\r\n\t\tthis.setState({\r\n\t\t\torderLineCommentList: tempList\r\n\t\t});\r\n\t}\r\n\r\n\tupdateCommentTypeField(selection, commentId) {\r\n\t\tconst tempList = this.state.orderLineCommentList.slice();\r\n\t\tconst comment = _.find(tempList, x => x.local_id === commentId);\r\n\t\tcomment.commentType = {\r\n\t\t\tvalue: selection.value,\r\n\t\t\tlabel: selection.label\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\torderLineCommentList: tempList\r\n\t\t});\r\n\t}\r\n\r\n\tupdateCommentIsPrivateField(value, commentId) {\r\n\t\tconst tempList = this.state.orderLineCommentList.slice();\r\n\t\tconst comment = _.find(tempList, x => x.local_id === commentId);\r\n\t\tcomment.isPrivate = !comment.isPrivate;\r\n\t\tthis.setState({\r\n\t\t\torderLineCommentList: tempList\r\n\t\t});\r\n\t}\r\n\r\n\tonSaveEditedComment(commentId) {\r\n\t\tconst indexToEdit = _.findIndex(this.state.orderLineCommentList, { local_id: commentId });\r\n\t\tlet tempList = this.state.orderLineCommentList.slice();\r\n\t\ttempList[indexToEdit].isEditing = false;\r\n\t\tthis.setState({\r\n\t\t\torderLineCommentList: tempList,\r\n\t\t\tmessage: null,\r\n\t\t\tmessageFlavor: null\r\n\t\t});\r\n\t}\r\n\r\n\tonCancelEditComment(commentId) {\r\n\t\tconst indexToEdit = _.findIndex(this.state.orderLineCommentList, { local_id: commentId });\r\n\t\tlet tempList = this.state.orderLineCommentList.slice();\r\n\t\ttempList[indexToEdit] = Object.assign({}, tempList[indexToEdit].pristine);\r\n\t\tthis.setState({\r\n\t\t\torderLineCommentList: tempList,\r\n\t\t\tmessage: null,\r\n\t\t\tmessageFlavor: null\r\n\t\t});\r\n\t}\r\n\r\n\tonDeleteComment(commentId) {\r\n\t\tconst indexToEdit = _.findIndex(this.state.orderLineCommentList, { local_id: commentId });\r\n\t\tlet tempList = _.cloneDeep(this.state.orderLineCommentList);\r\n\t\ttempList[indexToEdit].markedForDeletion = true;\r\n\t\tthis.setState({\r\n\t\t\torderLineCommentList: tempList\r\n\t\t});\r\n\t}\r\n\r\n\tcancelAddOrUpdateOrderLine() {\r\n\t\tthis.setState({\r\n\t\t\torderLine: emptyOrderLine, // not updating agent's commission rate if add or update orderline is cancelled\r\n\t\t\torderLineCommentList: [],\r\n\t\t\tshowOrderLineForm: false,\r\n\t\t\teditingFreight: false,\r\n\t\t\teditingNotes: false,\r\n\t\t\tmessage: null,\r\n\t\t\tmessageFlavor: null\r\n\t\t});\r\n\t}\r\n\r\n\tisOrderLineFormValid() {\r\n\t\tconst warnings = [];\r\n\t\tif (!this.state.orderLine.orderLineType.value) {\r\n\t\t\twarnings.push(\"Line Type is required.\");\r\n\t\t}\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CREDIT_CARD_SURCHARGE.value) {\r\n\t\t\tconst alreadyExists = _.find(this.state.orderLines, function (orderLine) {\r\n\t\t\t\treturn (orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CREDIT_CARD_SURCHARGE.value &&\r\n\t\t\t\t\torderLine.deactivatedAt === null && orderLine.id)\r\n\t\t\t})\r\n\t\t\tif (alreadyExists && alreadyExists.id !== this.state.orderLine.id) {\r\n\t\t\t\twarnings.push(\"Credit Surcharge has already been applied.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.creditCardSurchargeRate) {\r\n\t\t\t\twarnings.push(\"Credit Card Surcharge rate is required.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.SALES_TAX.value) {\r\n\t\t\tconst alreadyExists = _.find(this.state.orderLines, function (orderLine) {\r\n\t\t\t\treturn (orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.SALES_TAX.value &&\r\n\t\t\t\t\torderLine.deactivatedAt === null && orderLine.id)\r\n\t\t\t})\r\n\t\t\tif (alreadyExists && alreadyExists.id !== this.state.orderLine.id) {\r\n\t\t\t\twarnings.push(\"Sales tax has already been applied.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.taxRate) {\r\n\t\t\t\twarnings.push(\"Sales tax rate is required.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CARPET.value\r\n\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.BINDING.value\r\n\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.HARD_SURFACE.value\r\n\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CARPET_TILE.value\r\n\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_PAD.value\r\n\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.MISCELLANEOUS.value\r\n\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.SAMPLE.value\r\n\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.ROLL_RUNNER.value\r\n\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value) {\r\n\t\t\tif (!this.state.orderLine.product) {\r\n\t\t\t\twarnings.push(\"Product is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.dsc) {\r\n\t\t\t\twarnings.push(\"Description is required.\");\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CARPET.value\r\n\t\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_PAD.value) {\r\n\t\t\t\tif (!this.state.orderLine.width) {\r\n\t\t\t\t\twarnings.push(\"Width is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif ((this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CARPET.value && this.state.orderLine.priceUnitType.value !== constants.PRICE_UNIT_TYPE.EACH.value)\r\n\t\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.BINDING.value\r\n\t\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.ROLL_RUNNER.value\r\n\t\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_PAD.value) {\r\n\t\t\t\tif (!this.state.orderLine.lengthFeet) {\r\n\t\t\t\t\twarnings.push(\"Length (ft.) is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.MISCELLANEOUS.value\r\n\t\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.SAMPLE.value) {\r\n\t\t\t\tif (!this.state.orderLine.qty) {\r\n\t\t\t\t\twarnings.push(\"Qty is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.HARD_SURFACE.value ||\r\n\t\t\t\tthis.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CARPET_TILE.value) {\r\n\t\t\t\tif (!this.state.orderLine.squareFeetRequired) {\r\n\t\t\t\t\twarnings.push(\"Sq. Units Required is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.cartonCount) {\r\n\t\t\t\t\twarnings.push(\"# Items is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.unitCost) {\r\n\t\t\t\twarnings.push(\"Unit Cost is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.cost) {\r\n\t\t\t\twarnings.push(\"Total Cost is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.unitPrice) {\r\n\t\t\t\twarnings.push(\"Unit Price is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.price) {\r\n\t\t\t\twarnings.push(\"Price is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.cmsnRate) {\r\n\t\t\t\twarnings.push(\"Commission Rate is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.cmsn) {\r\n\t\t\t\twarnings.push(\"Commission is required.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.state.editingFreight) {\r\n\t\t\tif (!this.state.orderLine.freightDsc) {\r\n\t\t\t\twarnings.push(\"Freight Description is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.freightCarrier) {\r\n\t\t\t\twarnings.push(\"Freight Carrier is required.\");\r\n\t\t\t}\r\n\t\t\t// if (!this.state.orderLine.freightTerms) {\r\n\t\t\t// warnings.push(\"Freight Terms is required.\");\r\n\t\t\t// }\r\n\t\t\t// if (!this.state.orderLine.freightSidemark) {\r\n\t\t\t// warnings.push(\"Freight Sidemark is required.\");\r\n\t\t\t// }\r\n\t\t\t// if (!this.state.orderLine.freightInvoiceNumber) {\r\n\t\t\t// warnings.push(\"Freight Invoice Number is required.\");\r\n\t\t\t// }\r\n\t\t\t// if (!this.state.orderLine.freightBolNumber) {\r\n\t\t\t// warnings.push(\"Freigh Bol Number is required.\");\r\n\t\t\t// }\r\n\t\t\tif (!this.state.orderLine.freightCost) {\r\n\t\t\t\twarnings.push(\"Freight Cost is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.freightPrice) {\r\n\t\t\t\twarnings.push(\"Freight Price is required.\");\r\n\t\t\t}\r\n\t\t\t// if (!this.state.orderLine.stContactEmail) {\r\n\t\t\t// \twarnings.push(\"Ship to email is not valid\");\r\n\t\t\t// }\r\n\t\t\t// if item is the parent to a deactivated freightOrderLine\r\n\t\t\t// const childItem = _.find(this.state.orderLines, (x) => {return (x.parentOrderLineId === this.state.orderLine.id && x.deactivatedAt !== null)});\r\n\t\t\t// if (childItem) {\r\n\t\t\t// warnings.push(\"This order line already has a freight order line associated with it. To edit it, please revive it first.\");\r\n\t\t\t// }\r\n\t\t}\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_FIELD.value\r\n\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_BORDER.value\r\n\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value) {\r\n\t\t\t\tif (!this.state.orderLine.rugDsc) {\r\n\t\t\t\t\twarnings.push(\"Rug Description is required.\");\r\n\t\t\t\t}\r\n\t\t}\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_FIELD.value) {\r\n\t\t\tif (!this.state.orderLine.selectedField) {\r\n\t\t\t\twarnings.push(\"Field Style is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.dsc) {\r\n\t\t\t\twarnings.push(\"Description is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.fieldCostPer) {\r\n\t\t\t\twarnings.push(\"Unit Cost is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.totalFieldCost) {\r\n\t\t\t\twarnings.push(\"Total Cost is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.fieldPricePer) {\r\n\t\t\t\twarnings.push(\"Unit Price is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.totalFieldPrice) {\r\n\t\t\t\twarnings.push(\"Price is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.fieldCmsnRate) {\r\n\t\t\t\twarnings.push(\"Commission Rate is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.fieldCmsn) {\r\n\t\t\t\twarnings.push(\"Commission is required.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_BORDER.value) {\r\n\t\t\tif (!this.state.orderLine.selectedBorder) {\r\n\t\t\t\twarnings.push(\"Border Style is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.dsc) {\r\n\t\t\t\twarnings.push(\"Description is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.borderLengthFeet) {\r\n\t\t\t\twarnings.push(\"Border Length Feet is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.borderLengthInches) {\r\n\t\t\t\twarnings.push(\"Border Length Inches is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.borderCostPer) {\r\n\t\t\t\twarnings.push(\"Unit Cost is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.totalBorderCost) {\r\n\t\t\t\twarnings.push(\"Total Cost is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.borderPricePer) {\r\n\t\t\t\twarnings.push(\"Unit Price is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.totalBorderPrice) {\r\n\t\t\t\twarnings.push(\"Price is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.borderCmsnRate) {\r\n\t\t\t\twarnings.push(\"Commission Rate is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.borderCmsn) {\r\n\t\t\t\twarnings.push(\"Commission is required.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (warnings.length) {\r\n\t\t\tthis.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n\t\t}\r\n\t\treturn warnings.length === 0;\r\n\t}\r\n\r\n\tformatOrderLineForDto(orderLine) {\r\n\t\tlet formattedOrderLineForDto = {\r\n\t\t\tId: orderLine.id,\r\n\t\t\tOrderId: this.state.orderId,\r\n\t\t\tParentOrderLineId: null, // should always be null if not a freight order line?\r\n\t\t\tOrderLineTypeId: orderLine.orderLineType.value,\r\n\t\t\tDsc: orderLine.dsc,\r\n\t\t\tUnitCost: Number(orderLine.unitCost),\r\n\t\t\tCost: Number(orderLine.cost),\r\n\t\t\tUnitPrice: Number(orderLine.unitPrice),\r\n\t\t\tPrice: Number(orderLine.price),\r\n\t\t\tCmsnRate: orderLine.productAllowCommission ? Number(orderLine.cmsnRate) : 0,\r\n\t\t\tCmsn: orderLine.productAllowCommission ? Number(orderLine.cmsn) : 0,\r\n\t\t\tIsHidden: orderLine.isHidden,\r\n\t\t\tProductId: orderLine.product ? orderLine.product.value : null,\r\n\t\t\tProductColorId: orderLine.productColor ? orderLine.productColor.value : null,\r\n\t\t\tWidthId: orderLine.width ? orderLine.width.value : null,\r\n\t\t\tLengthFeet: orderLine.lengthFeet || orderLine.lengthFeet === 0 ? Number(orderLine.lengthFeet) : null,\r\n\t\t\tOrderLineStatusId: orderLine.orderLineStatus ? orderLine.orderLineStatus.value : constants.ORDER_LINE_STATUS.NA.value,\r\n\t\t\tPriceUnitTypeId: orderLine.priceUnitType ? orderLine.priceUnitType.value : null,\r\n\t\t\tSquareFeetRequired: orderLine.squareFeetRequired ? Number(orderLine.squareFeetRequired) : null,\r\n\t\t\tRugSize: orderLine.rugSize,\r\n\t\t\tFinishedSize: orderLine.finishedSize.label,\r\n\t\t\tRugLengthFeet: orderLine.RugLengthFeet ? Number(orderLine.rugLengthFeet) : null,\r\n\t\t\tRugLengthInches: orderLine.RugLengthInches ? Number(orderLine.rugLengthInches) : null,\r\n\t\t\tRugWidthFeet: orderLine.RugWidthFeet ? Number(orderLine.rugWidthFeet) : null,\r\n\t\t\tRugWidthInches: orderLine.RugWidthInches ? Number(orderLine.rugWidthInches) : null,\r\n\t\t\tRugTypeId: orderLine.rugType ? orderLine.rugType.value : null,\r\n\t\t\tRugIntlCollectionId: orderLine.rugIntlCollection ? orderLine.rugIntlCollection.value : null,\r\n\t\t\tRugIntlSizeId: orderLine.rugIntlSize ? orderLine.rugIntlSize.value : null,\r\n\t\t\tCreatedAt: moment(),\r\n\t\t\tCreatedByUserId: this.props.currentUser.id,\r\n\t\t\tCreditCardSurchargeRate: orderLine.CreditCardSurchargeRate ? Number(orderLine.creditCardSurchargeRate) : null,\r\n\t\t\tTaxRate: Number(orderLine.taxRate),\r\n\t\t\tQty: orderLine.qty ? Number(orderLine.qty) : null,\r\n\t\t\tcartonCount: orderLine.cartonCount ? Number(orderLine.cartonCount) : null\r\n\t\t};\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CREDIT_CARD_SURCHARGE.value) {\r\n\t\t\tlet surchargePrice = parseFloat(this.state.totalWithoutCreditCardSurcharge) * (parseFloat(orderLine.creditCardSurchargeRate) / 100.0);\r\n\t\t\tformattedOrderLineForDto = {\r\n\t\t\t\t...formattedOrderLineForDto,\r\n\t\t\t\tUnitCost: 0,\r\n\t\t\t\tCost: 0,\r\n\t\t\t\tUnitPrice: 0,\r\n\t\t\t\tPrice: Number(surchargePrice), //Number(this.state.orderLine.price), 114.0675\r\n\t\t\t\tCmsnRate: 0,\r\n\t\t\t\tCmsn: 0,\r\n\t\t\t\tTaxRate: 0,\r\n\t\t\t\tCreditCardSurchargeRate: Number(orderLine.creditCardSurchargeRate),\r\n\t\t\t\tDsc: 'Credit Card Surcharge'\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.SALES_TAX.value) {\r\n\t\t\tlet taxRatePrice = (parseFloat(orderLine.taxRate) / 100.0) * parseFloat(this.state.sumOfTaxableItems);\r\n\t\t\tformattedOrderLineForDto = {\r\n\t\t\t\t...formattedOrderLineForDto,\r\n\t\t\t\tUnitCost: 0,\r\n\t\t\t\tCost: Number(taxRatePrice), //0,\r\n\t\t\t\tUnitPrice: 0,\r\n\t\t\t\tPrice: Number(taxRatePrice), //Number(this.state.orderLine.price),\r\n\t\t\t\tCmsnRate: 0,\r\n\t\t\t\tCmsn: 0,\r\n\t\t\t\tTaxRate: Number(orderLine.taxRate),\r\n\t\t\t\tCreditCardSurchargeRate: 0,\r\n\t\t\t\tDsc: 'Sales Tax'\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn formattedOrderLineForDto;\r\n\t}\r\n\r\n\tformatFreightOrderLineForDto(orderLine) {\r\n\t\tconst formattedOrderLineForDto = {\r\n\t\t\tId: orderLine.freightOrderLineId,\r\n\t\t\tOrderId: this.state.orderId,\r\n\t\t\tParentOrderLineId: orderLine.parentOrderLineId\r\n\t\t\t\t? COMPONENT_ORDER_LINE_TYPES.includes(orderLine.orderLineType.value)\r\n\t\t\t\t\t? orderLine.id\r\n\t\t\t\t\t: orderLine.parentOrderLineId\r\n\t\t\t\t: null, // null if parent order line being created at same time\r\n\t\t\tOrderLineTypeId: constants.ORDER_LINE_TYPE.FREIGHT.value,\r\n\t\t\tDsc: orderLine.freightDsc,\r\n\t\t\tUnitCost: 0,\r\n\t\t\tCost: Number(orderLine.freightCost),\r\n\t\t\tUnitPrice: 0,\r\n\t\t\tPrice: Number(orderLine.freightPrice),\r\n\t\t\tCmsnRate: 0,\r\n\t\t\tCmsn: 0,\r\n\t\t\tIsHidden: orderLine.isHidden,\r\n\t\t\tCreatedAt: moment(),\r\n\t\t\tCreatedByUserId: this.props.currentUser.id,\r\n\t\t\tTaxRate: Number(orderLine.taxRate),\r\n\t\t\tFreightCarrierId: orderLine.freightCarrier ? orderLine.freightCarrier.value : null,\r\n\t\t\tFreightSidemark: orderLine.freightSidemark,\r\n\t\t\tFreightInvoiceNumber: orderLine.freightInvoiceNumber,\r\n\t\t\tFreightBolNumber: orderLine.freightBolNumber,\r\n\t\t\tFreightTermsId: orderLine.freightTerms ? orderLine.freightTerms.value : null,\r\n\t\t\tSTContactFirstName: orderLine.stContactFirstName,\r\n\t\t\tSTContactLastName: orderLine.stContactLastName,\r\n\t\t\tSTContactEmail: orderLine.stContactEmail,\r\n\t\t\tSTAddressLine1: orderLine.stAddressLine1,\r\n\t\t\tSTAddressLine2: orderLine.stAddressLine2,\r\n\t\t\tSTAddressLine3: orderLine.stAddressLine3,\r\n\t\t\tSTAddressLine4: orderLine.stAddressLine4,\r\n\t\t\tSTCity: orderLine.stCity,\r\n\t\t\tSTState: orderLine.stState,\r\n\t\t\tSTZip: orderLine.stZip,\r\n\t\t\tSTPhone: orderLine.stPhone\r\n\t\t}\r\n\t\treturn formattedOrderLineForDto;\r\n\t}\r\n\r\n\tformatOrderLineCommentsForDto(orderLineComments, orderLineId) {\r\n\t\tconst orderLineCommentList = [];\r\n\t\t_.map(orderLineComments,\r\n\t\t\tx => {\r\n\t\t\t\tconst comment = {\r\n\t\t\t\t\tId: x.id,\r\n\t\t\t\t\tDsc: x.dsc,\r\n\t\t\t\t\tOrderLineId: orderLineId,\r\n\t\t\t\t\tTypeOfComment: x.commentType.value,\r\n\t\t\t\t\t// CommentTypeId: x.commentType.value,\r\n\t\t\t\t\tIsPrivate: x.isPrivate,\r\n\t\t\t\t\tCreatedAt: moment(),\r\n\t\t\t\t\tCreatedByUserId: this.props.currentUser.id,\r\n\t\t\t\t\tMarkedForDeletion: x.markedForDeletion\r\n\t\t\t\t};\r\n\t\t\t\torderLineCommentList.push(comment);\r\n\t\t\t});\r\n\t\treturn orderLineCommentList;\r\n\t}\r\n\r\n\tasync saveOrderLine() {\r\n\t\twindow.scroll(0, 0);\r\n\t\tif (this.state.customRugToViewEdit) { // orderLine to update is a custom rug component\r\n\t\t\tif (!this.isOrderLineFormValid()) return;\r\n\t\t\tlet orderLine;\r\n\t\t\tswitch (this.state.orderLine.orderLineType.value) {\r\n\t\t\t\tcase constants.ORDER_LINE_TYPE.RUG_FIELD.value:\r\n\t\t\t\t\torderLine = this.parseFieldLine().OrderLine;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase constants.ORDER_LINE_TYPE.RUG_BORDER.value:\r\n\t\t\t\t\torderLine = this.parseBorderLine().OrderLine;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value:\r\n\t\t\t\t\tlet productId = this.state.orderLine && this.state.orderLine.product ? this.state.orderLine.product.value : 0;\r\n\t\t\t\t\torderLine = this.parseMiscLine(\r\n\t\t\t\t\t\tthis.state.orderLine.unitCost,\r\n\t\t\t\t\t\tthis.state.orderLine.cost,\r\n\t\t\t\t\t\tthis.state.orderLine.unitPrice,\r\n\t\t\t\t\t\tthis.state.orderLine.price,\r\n\t\t\t\t\t\tthis.state.orderLine.cmsn,\r\n\t\t\t\t\t\tthis.state.orderLine.cmsnRate,\r\n\t\t\t\t\t\tthis.state.orderLine.dsc,\r\n\t\t\t\t\t\tproductId,\r\n\t\t\t\t\t\tthis.state.orderLine.qty).OrderLine;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tconsole.log('unknown rug component type: ', this.state.orderLine.orderLineType.value);\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tlet freightOrderLine = null;\r\n\t\t\tif (this.state.editingFreight) {\r\n\t\t\t\tfreightOrderLine = this.formatFreightOrderLineForDto(this.state.orderLine);\r\n\t\t\t} else {\r\n\t\t\t\tconst childItem = _.find(this.state.customRugToViewEdit.componentLines, function (x) { return (x.parentOrderLineId === orderLine.Id && x.deactivatedAt === null) });\r\n\t\t\t\tif (childItem) { // if item is the parent to a freightOrderLine\r\n\t\t\t\t\tapi.post(`Order/DeleteOrderLine/${childItem.id}`)\r\n\t\t\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tconst orderLineComments = this.formatOrderLineCommentsForDto(this.state.orderLineCommentList, orderLine.id);\r\n\t\t\tconst componentOrderLine = {\r\n\t\t\t\tOrderLine: orderLine,\r\n\t\t\t\tOrderLineComments: orderLineComments,\r\n\t\t\t\tFreightOrderLine: freightOrderLine\r\n\t\t\t};\r\n\t\t\tconst rugOrderLine = {\r\n\t\t\t\tOrderLine: {\r\n\t\t\t\t\tId: this.state.customRugToViewEdit.id,\r\n\t\t\t\t\tOrderId: this.state.orderId,\r\n\t\t\t\t\tParentOrderLineId: null,\r\n\t\t\t\t\tOrderLineTypeId: constants.ORDER_LINE_TYPE.CUSTOM_RUG.value,\r\n\t\t\t\t\tDsc: this.state.orderLine.rugDsc,\r\n\t\t\t\t\tIsHidden: false,\r\n\t\t\t\t\tCreatedAt: moment(),\r\n\t\t\t\t\tCreatedByUserId: this.props.currentUser.id,\r\n\t\t\t\t\tCmsnRate: 0,\r\n\t\t\t\t\tCmsn: 0,\r\n\t\t\t\t\tUnitCost: 0,\r\n\t\t\t\t\tCost: 0,\r\n\t\t\t\t\tPriceUnitTypeId: constants.PRICE_UNIT_TYPE.EACH.value,\r\n\t\t\t\t\tUnitPrice: 0,\r\n\t\t\t\t\tPrice: 0,\r\n\t\t\t\t\tRugLengthFeet: Number(this.state.orderLine.rugLengthFeet),\r\n\t\t\t\t\tRugLengthInches: Number(this.state.orderLine.rugLengthInches),\r\n\t\t\t\t\tRugWidthFeet: Number(this.state.orderLine.rugWidthFeet),\r\n\t\t\t\t\tRugWidthInches: Number(this.state.orderLine.rugWidthInches),\r\n\t\t\t\t\tFinishedSize: this.state.orderLine.finishedSize \r\n\t\t\t\t\t\t? this.state.orderLine.finishedSize.label\r\n\t\t\t\t\t\t: null,\r\n\t\t\t\t\t// FinishedSize: this.state.orderLine.rugWidthFeet + \"\\' \" + this.state.orderLine.rugWidthInches + \"\\\" x \" + this.state.orderLine.rugLengthFeet + \"\\' \" + this.state.orderLine.rugLengthInches + \"\\\"\" // should this be from presets?\r\n\t\t\t\t\tRugShapeId: this.state.orderLine.rugShape \r\n\t\t\t\t\t\t? this.state.orderLine.rugShape.value \r\n\t\t\t\t\t\t: null,\r\n\t\t\t\t\tForOutdoorUse: this.state.orderLine.forOutdoorUse\r\n\t\t\t\t},\r\n\t\t\t\tFreightOrderLine: null,\r\n\t\t\t\tOrderLineComments: []\r\n\t\t\t};\r\n\t\t\tconst payload = {\r\n\t\t\t\tRugOrderLine: rugOrderLine,\r\n\t\t\t\tComponentOrderLine: componentOrderLine\r\n\t\t\t};\r\n\t\t\tapi.post(\"Order/SaveCustomRugComponent\", payload)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tif (response.data.success) {\r\n\t\t\t\t\t\tthis.getOrderLines(this.state.orderId);\r\n\t\t\t\t\t\tthis.getOrderFulfillments(this.state.orderId);\r\n\t\t\t\t\t\tthis.cancelAddOrUpdateOrderLine();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t} else {\r\n\t\t\tif (!this.isOrderLineFormValid()) return;\r\n\t\t\tlet isSaving = true;\r\n\t\t\tawait this.calculateFigures(isSaving);\r\n\t\t\tconst orderLine = this.formatOrderLineForDto(this.state.orderLine);\r\n\t\t\tlet freightOrderLine = null;\r\n\t\t\tif (this.state.editingFreight) {\r\n\t\t\t\tfreightOrderLine = this.formatFreightOrderLineForDto(this.state.orderLine);\r\n\t\t\t} else {\r\n\t\t\t\tconst childItem = _.find(this.state.orderLines, function (x) { return (x.parentOrderLineId === orderLine.Id && x.deactivatedAt === null) });\r\n\t\t\t\tif (childItem) { // if item is the parent to a freightOrderLine\r\n\t\t\t\t\tapi.post(`Order/DeleteOrderLine/${childItem.id}`)\r\n\t\t\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tconst orderLineComments = this.formatOrderLineCommentsForDto(this.state.orderLineCommentList, orderLine.id);\r\n\t\t\tconst payload = {\r\n\t\t\t\tOrderLine: orderLine,\r\n\t\t\t\tOrderLineComments: orderLineComments,\r\n\t\t\t\tFreightOrderLine: freightOrderLine\r\n\t\t\t};\r\n\t\t\tapi.post(\"Order/SaveOrderLine\", payload)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tif (response.data.success) {\r\n\t\t\t\t\t\tthis.getOrderLines(this.state.orderId);\r\n\t\t\t\t\t\tthis.getOrderFulfillments(this.state.orderId);\r\n\t\t\t\t\t\tthis.cancelAddOrUpdateOrderLine();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t}\r\n\t}\r\n\r\n\tmergeOrderLine(item, parentItem) {\r\n\t\tconst mergedOrderLine = {\r\n\t\t\tid: item.parentOrderLineId,\r\n\t\t\tfreightOrderLineId: item.id,\r\n\t\t\torderId: parentItem.orderId,\r\n\t\t\t// parentOrderLineId: parentItem.orderLineType.value == constants.ORDER_LINE_TYPE.RUG_FIELD.value ? parentItem.parentOrderLineId : parentItem.id,\r\n\t\t\tparentOrderLineId: COMPONENT_ORDER_LINE_TYPES.includes(parentItem.orderLineType.value) ? parentItem.parentOrderLineId : parentItem.id,\r\n\t\t\t// parentOrderLineId: parentItem.id,\r\n\t\t\torderLineType: parentItem.orderLineType,\r\n\t\t\tdsc: parentItem.dsc,\r\n\t\t\tunitCost: parentItem.unitCost,\r\n\t\t\tcost: parentItem.cost,\r\n\t\t\tunitPrice: parentItem.unitPrice,\r\n\t\t\tprice: parentItem.price,\r\n\t\t\tcmsnRate: parentItem.cmsnRate,\r\n\t\t\tcmsn: parentItem.cmsn,\r\n\t\t\tisHidden: parentItem.isHidden,\r\n\t\t\tproduct: parentItem.product,\r\n\t\t\tproductColor: parentItem.productColor,\r\n\t\t\tlengthFeet: parentItem.lengthFeet,\r\n\t\t\torderLineStatus: parentItem.orderLineStatus,\r\n\t\t\tpriceUnitType: parentItem.priceUnitType,\r\n\t\t\tsquareFeetRequired: parentItem.squareFeetRequired,\r\n\t\t\tcreditCardSurchargeRate: null,\r\n\t\t\ttaxRate: parentItem.taxRate,\r\n\t\t\trugIntlCollection: parentItem.rugIntlCollection,\r\n\t\t\trugIntlSize: parentItem.rugIntlSize,\r\n\t\t\tcreatedAt: parentItem.createdAt,\r\n\t\t\tcreatedByUserId: parentItem.createdByUserId,\r\n\t\t\tupdatedByUserId: parentItem.updatedByUserId,\r\n\t\t\twidth: parentItem.width,\r\n\t\t\tqty: parentItem.qty,\r\n\t\t\tcartonCount: parentItem.cartonCount,\r\n\t\t\tsquareFeetPerCarton: parentItem.squareFeetPerCarton,\r\n\t\t\tperContainer: parentItem.perContainer,\r\n\t\t\t// custom rug stuff:\r\n\t\t\trugSize: parentItem.rugSize,\r\n\t\t\tfinishedSize: parentItem.finishedSize,\r\n\t\t\trugLengthFeet: parentItem.rugLengthFeet,\r\n\t\t\trugLengthInches: parentItem.rugLengthInches,\r\n\t\t\trugWidthFeet: parentItem.rugWidthFeet,\r\n\t\t\trugWidthInches: parentItem.rugWidthInches,\r\n\t\t\trugDsc: parentItem.rugDsc,\r\n\t\t\tsqFt: parentItem.sqFt,\r\n\t\t\tfinishedEdgeFt: parentItem.finishedEdgeFt,\r\n\t\t\trugType: parentItem.rugType,\r\n\t\t\t// field stuff (used for local calculations):\r\n\t\t\tfieldLengthFeet: parentItem.fieldLengthFeet,\r\n\t\t\tfieldLengthInches: parentItem.fieldLengthInches,\r\n\t\t\tselectedField: parentItem.selectedField,\r\n\t\t\tselectedFieldColor: parentItem.selectedFieldColor,\r\n\t\t\tselectedFieldWidth: parentItem.selectedFieldWidth,\r\n\t\t\t// fieldDsc: parentItem.dsc,\r\n\t\t\tfieldCmsnRate: parentItem.cmsnRate,\r\n\t\t\tfieldCmsn: parentItem.cmsn,\r\n\t\t\tfieldCostPer: parentItem.unitCost,\r\n\t\t\ttotalFieldCost: parentItem.cost,\r\n\t\t\tfieldPricePer: parentItem.unitPrice,\r\n\t\t\ttotalFieldPrice: parentItem.price,\r\n\t\t\tfieldPriceUnitType: parentItem.priceUnitType,\r\n\t\t\ttotalFieldUnits: parentItem.qty,\r\n\t\t\tfieldRun: parentItem.run,\r\n\t\t\tappliedFieldRepeat: parentItem.repeatNumeric,\r\n\t\t\trepeatDsc: parentItem.repeatDsc,\r\n\t\t\t//freight:\r\n\t\t\tfreightCarrier: item.freightCarrier,\r\n\t\t\tfreightSidemark: item.freightSidemark,\r\n\t\t\tfreightInvoiceNumber: item.freightInvoiceNumber,\r\n\t\t\tfreightBolNumber: item.freightBolNumber,\r\n\t\t\tfreightDsc: item.dsc,\r\n\t\t\tfreightTerms: item.freightTerms,\r\n\t\t\tfreightCost: item.cost,\r\n\t\t\tfreightPrice: item.price,\r\n\t\t\tstContactFirstName: item.stContactFirstName,\r\n\t\t\tstContactLastName: item.stContactLastName,\r\n\t\t\tstContactEmail: item.stContactEmail,\r\n\t\t\tstAddressLine1: item.stAddressLine1,\r\n\t\t\tstAddressLine2: item.stAddressLine2,\r\n\t\t\tstAddressLine3: item.stAddressLine3,\r\n\t\t\tstAddressLine4: item.stAddressLine4,\r\n\t\t\tstCity: item.stCity,\r\n\t\t\tstState: item.stState,\r\n\t\t\tstZip: item.stZip,\r\n\t\t\tstPhone: item.stPhone,\r\n\t\t\tcommentCount: parentItem.commentCount,\r\n\t\t\trugShape: parentItem.rugShape,\r\n\t\t\tforOutdoorUse: parentItem.forOutdoorUse\r\n\t\t}\r\n\t\treturn mergedOrderLine\r\n\t}\r\n\r\n\tupdateOrderLine(item) {\r\n\t\twindow.scroll(0, 0);\r\n\t\tif (this.state.customRugToViewEdit) { // orderLine to update is a custom rug component\r\n\t\t\tif (item.orderLineType.value !== constants.ORDER_LINE_TYPE.FREIGHT.value) {\r\n\t\t\t\titem = this.transformItemToRugComponentOrderLine(item);\r\n\t\t\t}\r\n\r\n\t\t\tlet mergedOrderLine;\r\n\t\t\tlet orderLineCommentList = item.orderLineComments.slice();\r\n\r\n\t\t\t// if item is the parent to a freightOrderLine\r\n\t\t\tconst childItem = _.find(this.state.customRugToViewEdit.componentLines, function (x) { return (x.parentOrderLineId === item.id && x.deactivatedAt === null) });\r\n\t\t\tif (childItem) {\r\n\t\t\t\tconst parentItem = Object.assign({}, item);\r\n\t\t\t\tmergedOrderLine = Object.assign({}, this.mergeOrderLine(childItem, parentItem));\r\n\t\t\t}\r\n\r\n\t\t\t// if item is a freightOrderLine and has a parent orderLine associated with it\r\n\t\t\tif (item.parentOrderLineId && item.orderLineType.value === constants.ORDER_LINE_TYPE.FREIGHT.value) {\r\n\t\t\t\tlet parentItem = _.find(this.state.customRugToViewEdit.componentLines, function (x) { return x.id === item.parentOrderLineId });\r\n\t\t\t\tif (parentItem) {\r\n\t\t\t\t\tparentItem = this.transformItemToRugComponentOrderLine(parentItem);\r\n\t\t\t\t\tmergedOrderLine = Object.assign({}, this.mergeOrderLine(item, parentItem));\r\n\t\t\t\t\torderLineCommentList = parentItem.orderLineComments.slice();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.setState({\r\n\t\t\t\torderLine: mergedOrderLine ? mergedOrderLine : item,\r\n\t\t\t\torderLineCommentList: orderLineCommentList,\r\n\t\t\t\tshowOrderLineForm: true,\r\n\t\t\t\teditingFreight: (item.parentOrderLineId && item.orderLineType.value === constants.ORDER_LINE_TYPE.FREIGHT.value || childItem) ? true : false,\t// display Freight section if order line has freight info saved\r\n\t\t\t\teditingNotes: orderLineCommentList.length > 0 ? true : false, \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// display Notes section if order line has notes saved\r\n\t\t\t}, () => {\r\n\t\t\t\tthis.fetchAppropiateDataForSelects(mergedOrderLine ? mergedOrderLine : item);\r\n\t\t\t});\r\n\r\n\r\n\t\t} else { // orderLine to update does not belong to a custom rug\r\n\t\t\tlet mergedOrderLine;\r\n\t\t\tlet orderLineCommentList = item.orderLineComments.slice();\r\n\r\n\t\t\t// if item is the parent to a freightOrderLine\r\n\t\t\tconst childItem = _.find(this.state.orderLines, function (x) { return (x.parentOrderLineId === item.id && x.deactivatedAt === null) });\r\n\t\t\tif (childItem) {\r\n\t\t\t\tconst parentItem = Object.assign({}, item);\r\n\t\t\t\tmergedOrderLine = Object.assign({}, this.mergeOrderLine(childItem, parentItem));\r\n\t\t\t}\r\n\r\n\t\t\t// if item is a freightOrderLine and has a parent orderLine associated with it\r\n\t\t\tif (item.parentOrderLineId) {\r\n\t\t\t\tconst parentItem = _.find(this.state.orderLines, function (x) { return x.id === item.parentOrderLineId });\r\n\t\t\t\tmergedOrderLine = Object.assign({}, this.mergeOrderLine(item, parentItem));\r\n\t\t\t\torderLineCommentList = parentItem.orderLineComments.slice();\r\n\t\t\t}\r\n\r\n\t\t\tthis.setState({\r\n\t\t\t\torderLine: mergedOrderLine ? mergedOrderLine : item,\r\n\t\t\t\torderLineCommentList: orderLineCommentList,\r\n\t\t\t\tshowOrderLineForm: true,\r\n\t\t\t\teditingFreight: (item.parentOrderLineId || childItem) ? true : false,\t\t// display Freight section if order line has freight info saved\r\n\t\t\t\teditingNotes: orderLineCommentList.length > 0 ? true : false,\t\t\t\t\t\t\t// display Notes section if order line has notes saved\r\n\t\t\t}, () => {\r\n\t\t\t\tthis.fetchAppropiateDataForSelects(mergedOrderLine ? mergedOrderLine : item);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\r\n\ttransformItemToRugComponentOrderLine(item) {\r\n\t\tlet { sqFt, finishedEdgeFt } = calc.calculateSqFeetAndFinEdgeFt(\r\n\t\t\tthis.state.customRugToViewEdit.rugLengthFeet,\r\n\t\t\tthis.state.customRugToViewEdit.rugLengthInches,\r\n\t\t\tthis.state.customRugToViewEdit.rugWidthFeet,\r\n\t\t\tthis.state.customRugToViewEdit.rugWidthInches);\r\n\t\titem.sqFt = sqFt;\r\n\t\titem.finishedEdgeFt = finishedEdgeFt;\r\n\t\titem.rugLengthFeet = this.state.customRugToViewEdit.rugLengthFeet.toString();\t\t\t// needed for local fuctions to work\r\n\t\titem.rugLengthInches = this.state.customRugToViewEdit.rugLengthInches.toString(); // needed for local fuctions to work\r\n\t\titem.rugWidthFeet = this.state.customRugToViewEdit.rugWidthFeet.toString();\t\t\t\t// needed for local fuctions to work\r\n\t\titem.rugWidthInches = this.state.customRugToViewEdit.rugWidthInches.toString();\t\t// needed for local fuctions to work\r\n\t\titem.rugShape = this.state.customRugToViewEdit.rugShape;\r\n\t\titem.forOutdoorUse = this.state.customRugToViewEdit.forOutdoorUse;\r\n\t\titem.rugDsc = this.state.customRugToViewEdit.dsc;\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// needed for local fuctions to work\r\n\r\n\t\tswitch (item.orderLineType.value) {\r\n\t\t\tcase constants.ORDER_LINE_TYPE.RUG_FIELD.value:\r\n\t\t\tcase constants.ORDER_LINE_TYPE.FREIGHT.value:\r\n\t\t\t\t// item.fieldLengthFeet = Math.floor(item.lengthFeet);\r\n\t\t\t\t// item.fieldLengthInches = Math.round((item.fieldLengthInches ? item.fieldLengthInches : 0 * 12) % 1) // this is calculated elsewhere but not on orderline load so\r\n\r\n\t\t\t\titem.fieldLengthFeet = Math.floor(item.lengthFeet);\r\n\t\t\t\tlet inchesDec = item.lengthFeet - item.fieldLengthFeet;\r\n\t\t\t\titem.fieldLengthInches = (inchesDec * 12).toFixed(0); // this is calculated elsewhere but not on orderline load so\r\n\t\t\t\titem.selectedField = Object.assign({}, item.product);\r\n\t\t\t\titem.selectedFieldColor = item.productColor ? Object.assign({}, item.productColor) : null;\r\n\t\t\t\titem.selectedFieldWidth = Object.assign({}, item.width);\r\n\t\t\t\t// item.fieldDsc = helpers.nullableString(item.dsc);\r\n\t\t\t\titem.fieldCmsnRate = item.cmsnRate;\r\n\t\t\t\titem.fieldCmsn = item.cmsn;\r\n\t\t\t\titem.fieldCostPer = item.unitCost;\r\n\t\t\t\titem.totalFieldCost = item.cost;\r\n\t\t\t\titem.fieldPricePer = item.unitPrice;\r\n\t\t\t\titem.totalFieldPrice = item.price;\r\n\t\t\t\titem.fieldPriceUnitType = item.priceUnitType ? Object.assign({}, item.priceUnitType) : null;\r\n\t\t\t\titem.totalFieldUnits = item.qty;\r\n\t\t\t\titem.fieldRun = item.run;\r\n\t\t\t\titem.appliedFieldRepeat = item.repeatNumeric;\r\n\t\t\tcase constants.ORDER_LINE_TYPE.RUG_BORDER.value:\r\n\t\t\tcase constants.ORDER_LINE_TYPE.FREIGHT.value:\r\n\t\t\t\titem.borderLengthFeet = Math.floor(item.lengthFeet);\r\n\t\t\t\tlet inchesDec2 = item.lengthFeet - item.borderLengthFeet;\r\n\t\t\t\titem.borderLengthInches = (inchesDec2 * 12).toFixed(0); // this is calculated elsewhere but not on orderline load so\r\n\t\t\t\titem.selectedBorder = Object.assign({}, item.product);\r\n\t\t\t\titem.selectedBorderColor = Object.assign({}, item.productColor);\r\n\t\t\t\titem.selectedBorderWidth = Object.assign({}, item.width);\r\n\t\t\t\t// item.borderDsc = helpers.nullableString(item.dsc);\r\n\t\t\t\titem.borderCmsnRate = item.cmsnRate;\r\n\t\t\t\titem.borderCmsn = item.cmsn;\r\n\t\t\t\titem.borderCostPer = item.unitCost;\r\n\t\t\t\titem.totalBorderCost = item.cost;\r\n\t\t\t\titem.borderPricePer = item.unitPrice;\r\n\t\t\t\titem.totalBorderPrice = item.price;\r\n\t\t\t\titem.borderPriceUnitType = item.priceUnitType ? Object.assign({}, item.priceUnitType) : null;\r\n\t\t\t\titem.totalBorderUnits = item.qty;\r\n\t\t\t\t// item.borderRun = item.run;\r\n\t\t\t\t// item.appliedBorderRepeat = item.repeatNumeric;\r\n\t\t\t\tbreak;\r\n\t\t\tcase constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value:\r\n\t\t\t// break;\r\n\t\t\tdefault:\r\n\t\t\t// code block\r\n\t\t}\r\n\t\treturn item;\r\n\t}\r\n\r\n\tasync fetchAppropiateDataForSelects(orderLine) { // fetch appropriate data for selects for product to be updated\r\n\t\tlet productAllowCommission;\r\n\t\tlet volumeCost;\r\n\t\tlet volumePrice;\r\n\t\tlet nonVolumeUnitCost;\r\n\t\tlet nonVolumeUnitPrice;\r\n\t\tlet rollSize;\r\n\t\tlet productsList = [];\r\n\t\tlet productColorsList = [];\r\n\t\tlet widthsList = [];\r\n\t\t// let collectionList = [];\r\n\t\t// let collectionProductsList = [];\r\n\t\tlet rugIntlSizeList = [];\r\n\t\tlet repeatLength = 0;\r\n\t\tlet repeatWidth = 0;\r\n\t\tlet repeatDsc = \"\";\r\n\t\tlet productType = this.getOrderLineCorrespondingProductType(orderLine.orderLineType.value);\r\n\t\tif (orderLine.product) {\r\n\t\t\tawait api.fetch(`Product/GetProductWithOrder/${orderLine.product.value}/${this.state.orderId}`) // TODO: make new api to fetch only this property\r\n\t\t\t.then(response => {\r\n\t\t\t\tproductAllowCommission = response.data.allowCommission;\r\n\t\t\t\tvolumeCost = _.round(response.data.volumeCost, 2).toFixed(2);\t\t// not saved on orderline, only used for volume calculations\r\n\t\t\t\tvolumePrice = _.round(response.data.volumePrice, 2).toFixed(2);\r\n\t\t\t\tnonVolumeUnitCost= _.round(response.data.unitCost, 2).toFixed(2);\r\n\t\t\t\tnonVolumeUnitPrice= _.round(response.data.unitPrice, 2).toFixed(2);\r\n\t\t\t\tnonVolumeUnitCost= _.round(response.data.unitCost, 2).toFixed(2);\r\n\t\t\t\tnonVolumeUnitPrice= _.round(response.data.unitPrice, 2).toFixed(2);\r\n\t\t\t\trepeatLength = _.round(response.data.repeatLength, 2).toFixed(2);\r\n\t\t\t\trepeatWidth = _.round(response.data.repeatWidth, 2).toFixed(2);\r\n\t\t\t\trollSize = response.data.rollSize;\r\n\t\t\t\trepeatDsc = response.data.repeat;\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t\t}\r\n\t\tif (orderLine.orderLineType.value !== constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value) {\r\n\t\t\tawait api.fetch(`Order/GetProductsOfProductType/${productType}`)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tproductsList = response.data;\r\n\t\t\t\t});\r\n\r\n\t\t\tif (orderLine.product) { // some orderLines don't have a product apparently\r\n\t\t\t\tawait api.fetch(`Product/GetProductWidths/${orderLine.product.value}`)\r\n\t\t\t\t\t.then(response => {\r\n\t\t\t\t\t\twidthsList = _.map(response.data, w => {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\tvalue: w.widthId,\r\n\t\t\t\t\t\t\t\tlabel: w.widthName,\r\n\t\t\t\t\t\t\t\twidthNumericFeet: w.widthNumericFeet\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\t\t\tawait api.fetch(`Order/GetActiveProductColors/${orderLine.product.value}`)\r\n\t\t\t\t\t.then(response => {\r\n\t\t\t\t\t\tproductColorsList = response.data;\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t\t}\r\n\t\t\tthis.setState({\r\n\t\t\t\tproductsList: productsList,\r\n\t\t\t\tproductColorsList: productColorsList ? productColorsList : null,\r\n\t\t\t\torderLine: {\r\n\t\t\t\t\t...orderLine,\r\n\t\t\t\t\twidthsList: widthsList ? widthsList : null,\r\n\t\t\t\t\tproductAllowCommission: productAllowCommission,\r\n\t\t\t\t\tvolumeCost: volumeCost,\r\n\t\t\t\t\tvolumePrice: volumePrice,\r\n\t\t\t\t\trollSize: rollSize\r\n\t\t\t\t},\r\n\t\t\t\tnonVolumeUnitCost: nonVolumeUnitCost, \r\n\t\t\t\tnonVolumeUnitPrice: nonVolumeUnitPrice\t\r\n\t\t\t\t//widthsList: widthsList\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\t// await api.fetch(\"Order/GetRugIntlCollectionList\")\r\n\t\t\t// \t.then(response => {\r\n\t\t\t// \t\tcollectionList = response.data;\r\n\t\t\t// \t})\r\n\t\t\t// \t.catch(helpers.catchHandler);;\r\n\r\n\t\t\t// await api.fetch(`Order/GetActiveCollectionProducts/${orderLine.rugIntlCollection.value}`)\r\n\t\t\t// \t.then(response => {\r\n\t\t\t// \t\tcollectionProductsList = response.data;\r\n\t\t\t// \t})\r\n\t\t\t// \t.catch(helpers.catchHandler);\r\n\r\n\t\t\tawait api.fetch(`Order/GetProductsOfProductType/${productType}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tproductsList = response.data;\r\n\t\t\t});\r\n\r\n\t\t\tawait api.fetch(`Order/GetActiveProductColors/${orderLine.product.value}`)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tproductColorsList = response.data;\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\t\tawait api.fetch(`Product/GetRugIntlSizes/${orderLine.product.value}`)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\trugIntlSizeList = _.map(response.data, sz => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tvalue: sz.id,\r\n\t\t\t\t\t\t\tlabel: sz.dsc,\r\n\t\t\t\t\t\t\tcost: sz.cost,\r\n\t\t\t\t\t\t\tprice: sz.price\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t\tproductColorsList.unshift({ label: \"No color selected\", value: null });\r\n\t\t\tthis.setState({\r\n\t\t\t\t// rugIntlCollectionList: collectionList,\r\n\t\t\t\t// collectionProductsList: collectionProductsList,\r\n\t\t\t\tproductsList: productsList,\r\n\t\t\t\tproductColorsList: productColorsList,\r\n\t\t\t\trugIntlSizeList: rugIntlSizeList,\r\n\t\t\t\torderLine: {\r\n\t\t\t\t\t...orderLine,\r\n\t\t\t\t\tproductAllowCommission: productAllowCommission\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tonToggleFreight() {\r\n\t\tthis.setState({\r\n\t\t\teditingFreight: !this.state.editingFreight,\r\n\t\t\tmessage: null,\r\n\t\t\tmessageFlavor: null\r\n\t\t}, () => {\r\n\t\t\tif (this.state.editingFreight\r\n\t\t\t\t&& this.state.orderLine\r\n\t\t\t\t&& (!this.state.orderLine.shippingAddresses \r\n\t\t\t\t\t\t|| this.state.orderLine.shippingAddresses.length < this.state.customerShipToAddresses.length))\r\n\t\t\t{\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\tshippingAddresses: this.state.customerShipToAddresses\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tonToggleNotes() {\r\n\t\tlet tempList = _.cloneDeep(this.state.orderLineCommentList);\r\n\t\tif (this.state.editingNotes) {\r\n\t\t\ttempList = _.map(this.state.orderLineCommentList, comment => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...comment,\r\n\t\t\t\t\tmarkedForDeletion: true\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\ttempList = _.map(this.state.orderLineCommentList, comment => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...comment,\r\n\t\t\t\t\tmarkedForDeletion: false\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\teditingNotes: !this.state.editingNotes,\r\n\t\t\torderLineCommentList: tempList\r\n\r\n\t\t});\r\n\t}\r\n\r\n\tapplyVolumePricingIfNecessary() {\r\n\t\tlet unitCost = _.round(this.state.orderLine.unitCost, 2).toFixed(2);\r\n\t\tlet unitPrice =_.round(this.state.orderLine.unitPrice, 2).toFixed(2);\r\n\t\tlet volumePricingApplied = this.state.orderLine.volumePricingApplied;\r\n\t\tconst lengthFeet = this.state.orderLine.lengthFeet ? _.round(this.state.orderLine.lengthFeet, 2).toFixed(2) : \"\";\r\n\t\tconst squareFeetRequired = this.state.orderLine.squareFeetRequired ?_.round(this.state.orderLine.squareFeetRequired, 2).toFixed(2) : \"\";\r\n\t\tif (lengthFeet || squareFeetRequired) { // lengthFeet for carpets and rug pads. squareFeetRequired for Wood items\r\n\t\t\tlet hasQualifyingVolume = \r\n\t\t\t\t(Number(this.state.orderLine.rollSize) > 0 \r\n\t\t\t\t\t&& (Number(lengthFeet) > Number(this.state.orderLine.rollSize) || Number(squareFeetRequired) > Number(this.state.orderLine.rollSize))) ? true : false;\r\n\t\t\tif (hasQualifyingVolume) {\r\n\t\t\t\t\tif(window.confirm('Apply volume pricing?')) {\r\n\t\t\t\t\t\tunitCost = _.round(this.state.orderLine.volumeCost, 2).toFixed(2);\r\n\t\t\t\t\t\tunitPrice = _.round(this.state.orderLine.volumePrice, 2).toFixed(2);\r\n\t\t\t\t\t\tvolumePricingApplied = true;\r\n\t\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (volumePricingApplied && window.confirm('Apply non volume pricing?')) {\r\n\t\t\t\t\tunitCost =_.round(this.state.nonVolumeUnitCost, 2).toFixed(2);\r\n\t\t\t\t\tunitPrice = _.round(this.state.nonVolumeUnitPrice, 2).toFixed(2);\r\n\t\t\t\t\tvolumePricingApplied = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tunitCost: unitCost,\r\n\t\t\t\tunitPrice: unitPrice,\r\n\t\t\t\tvolumePricingApplied: volumePricingApplied\r\n\t\t\t}\r\n\t\t}, () => this.calculateFigures());\r\n\t}\r\n\r\n\tasync calculateFigures(isSaving = false) {\r\n\t\tconst orderLine = this.state.orderLine;\r\n\t\tif (!orderLine.product) return;\r\n\r\n\t\tconst orderLineType = orderLine.orderLineType.value;\r\n\t\tif (orderLineType === constants.ORDER_LINE_TYPE.CARPET.value || orderLineType === constants.ORDER_LINE_TYPE.RUG_PAD.value) {\r\n\t\t\tlet updatedOrderLine = Object.assign({}, orderLine);\r\n\t\t\tupdatedOrderLine.unitCost = _.round(orderLine.unitCost, 2).toFixed(2);\t\t\t// round entered value even if no calculations are made\r\n\t\t\tupdatedOrderLine.unitPrice = _.round(orderLine.unitPrice, 2).toFixed(2);\t\t// round entered value even if no calculations are made\r\n\t\t\tupdatedOrderLine.cmsnRate = _.round(orderLine.cmsnRate, 2).toFixed(2);\t\t\t// round entered value even if no calculations are made\r\n\r\n\t\t\tconst lengthFeet = orderLine.lengthFeet ? _.round(orderLine.lengthFeet, 2).toFixed(2) : \"\";\r\n\t\t\tconst widthNumericFeet = orderLine.width && orderLine.width.widthNumericFeet;\r\n\t\t\tlet payload = {\r\n\t\t\t\torderLineTypeId: orderLine.orderLineType.value,\r\n\t\t\t\tlengthFeet: lengthFeet ? Number(lengthFeet) : null,\r\n\t\t\t\twidthNumericFeet: Number(widthNumericFeet),\r\n\t\t\t\tqty: Number(orderLine.qty),\r\n\t\t\t\tunitCost: Number(updatedOrderLine.unitCost),\r\n\t\t\t\tunitPrice: Number(updatedOrderLine.unitPrice),\r\n\t\t\t\tcmsnRate: Number(_.round(orderLine.cmsnRate, 2).toFixed(2)),\r\n\t\t\t\tpriceUnitTypeName: orderLine.priceUnitType ? orderLine.priceUnitType.label : '' // should send Id,\r\n\t\t\t}\r\n\t\t\tif (payload.widthNumericFeet && (payload.lengthFeet || payload.qty) &&\r\n\t\t\t\tpayload.unitCost && payload.unitPrice) {\r\n\t\t\t\tawait api.post(\"Order/CalculateFigures\", payload)\r\n\t\t\t\t\t.then(response => {\r\n\t\t\t\t\t\tupdatedOrderLine.unitCost = _.round(response.data.unitCost, 2).toFixed(2);\r\n\t\t\t\t\t\tupdatedOrderLine.unitPrice = _.round(response.data.unitPrice, 2).toFixed(2);\r\n\t\t\t\t\t\tupdatedOrderLine.cmsnRate = _.round(response.data.cmsnRate, 2).toFixed(2);\r\n\t\t\t\t\t\tupdatedOrderLine.lengthFeet = lengthFeet;\r\n\t\t\t\t\t\tupdatedOrderLine.widthNumericFeet = widthNumericFeet;\r\n\t\t\t\t\t\tupdatedOrderLine.qty = _.round(response.data.qty, 2).toFixed(2);\r\n\t\t\t\t\t\tupdatedOrderLine.cost = _.round(response.data.cost, 2).toFixed(2);\r\n\t\t\t\t\t\tupdatedOrderLine.price = _.round(response.data.price, 2).toFixed(2);\r\n\t\t\t\t\t\tupdatedOrderLine.cmsn = _.round(response.data.cmsn, 2).toFixed(2);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t\t} else {\r\n\t\t\t\tupdatedOrderLine.qty = '';\r\n\t\t\t\tupdatedOrderLine.cost = '';\r\n\t\t\t\tupdatedOrderLine.price = '';\r\n\t\t\t\tupdatedOrderLine.cmsn = '';\r\n\t\t\t\tupdatedOrderLine.dsc = '';\r\n\t\t\t}\r\n\r\n\t\t\tconst productDsc = orderLine.product.label;\r\n\t\t\tconst productColorDsc = orderLine.productColor ? orderLine.productColor.label : '';\r\n\t\t\tconst widthDsc = orderLine.width ? orderLine.width.label : '';\r\n\t\t\tconst lengthDsc = orderLine.lengthFeet || updatedOrderLine.qty || orderLine.qty;\r\n\t\t\tconst qtyDsc = updatedOrderLine.qty || orderLine.qty;\r\n\t\t\tconst priceUnitDsc = orderLine.priceUnitType ? orderLine.priceUnitType.label : '';\r\n\r\n\t\t\t// before was blank if api call didn't go through, now still displays dsc\r\n\t\t\tif (!isSaving && orderLine.width && (orderLine.lengthFeet || updatedOrderLine.qty || orderLine.qty)) {\r\n\t\t\t\tupdatedOrderLine.dsc = `${productDsc}, ${productColorDsc} (${widthDsc} X ${lengthDsc}) = ${qtyDsc} ${priceUnitDsc}`\r\n\t\t\t}\r\n\t\t\tthis.setState({\r\n\t\t\t\torderLine: updatedOrderLine\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.MISCELLANEOUS.value\r\n\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.SAMPLE.value\r\n\t\t\t|| this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value) {\r\n\t\t\tlet updatedOrderLine = Object.assign({}, this.state.orderLine);\r\n\r\n\t\t\tupdatedOrderLine.cmsnRate = _.round(this.state.orderLine.cmsnRate, 2).toFixed(2);\r\n\t\t\tif (!isSaving && this.state.orderLine.qty && this.state.orderLine.product) {\r\n\t\t\t\tlet dsc;\r\n\t\t\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.SAMPLE.value && this.state.orderLine.productColor) {\r\n\t\t\t\t\tdsc = `${this.state.orderLine.qty} X ${this.state.orderLine.product.label}, ${this.state.orderLine.productColor.label}`\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdsc = `${this.state.orderLine.qty} X ${this.state.orderLine.product.label}`\r\n\t\t\t\t}\r\n\t\t\t\tupdatedOrderLine.dsc = dsc;\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.qty &&\r\n\t\t\t\tthis.state.orderLine.unitCost && this.state.orderLine.unitPrice && updatedOrderLine.cmsnRate) {\r\n\t\t\t\tconst payload = {\r\n\t\t\t\t\torderLineTypeId: this.state.orderLine.orderLineType.value,\r\n\t\t\t\t\tqty: Number(this.state.orderLine.qty),\r\n\t\t\t\t\tunitCost: Number(_.round(this.state.orderLine.unitCost, 2).toFixed(2)),\r\n\t\t\t\t\tunitPrice: Number(_.round(this.state.orderLine.unitPrice, 2).toFixed(2)),\r\n\t\t\t\t\tcmsnRate: Number(_.round(this.state.orderLine.cmsnRate, 2).toFixed(2))\r\n\t\t\t\t}\r\n\t\t\t\tawait api.post(\"Order/CalculateFigures\", payload)\r\n\t\t\t\t\t.then(response => {\r\n\t\t\t\t\t\t// if (response.data.success) {\r\n\t\t\t\t\t\tupdatedOrderLine = {\r\n\t\t\t\t\t\t\t...updatedOrderLine,\r\n\t\t\t\t\t\t\tcost: _.round(response.data.cost, 2).toFixed(2),\r\n\t\t\t\t\t\t\tprice: _.round(response.data.price, 2).toFixed(2),\r\n\t\t\t\t\t\t\tcmsn: _.round(response.data.cmsn, 2).toFixed(2)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t\t} else {\r\n\t\t\t\tupdatedOrderLine = {\r\n\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\tcost: '',\r\n\t\t\t\t\tprice: '',\r\n\t\t\t\t\tcmsn: '',\r\n\t\t\t\t\tdsc: ''\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.setState({\r\n\t\t\t\torderLine: updatedOrderLine\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.BINDING.value ||\r\n\t\t\tthis.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.ROLL_RUNNER.value) {\r\n\t\t\tlet updatedOrderLine = Object.assign({}, this.state.orderLine);\r\n\t\t\tupdatedOrderLine = {\r\n\t\t\t\t...updatedOrderLine,\r\n\t\t\t\tunitCost: _.round(this.state.orderLine.unitCost, 2).toFixed(2),\t\t\t// round entered value even if no calculations are made\r\n\t\t\t\tunitPrice: _.round(this.state.orderLine.unitPrice, 2).toFixed(2),\t\t// round entered value even if no calculations are made\r\n\t\t\t\tcmsnRate: _.round(this.state.orderLine.cmsnRate, 2).toFixed(2)\t\t\t// round entered value even if no calculations are made\r\n\t\t\t}\r\n\t\t\tif (!isSaving && this.state.orderLine.product && this.state.orderLine.lengthFeet) {\r\n\t\t\t\tupdatedOrderLine = {\r\n\t\t\t\t\t...updatedOrderLine,\r\n\t\t\t\t\tdsc: `${this.state.orderLine.product.label}, ${this.state.orderLine.productColor ? this.state.orderLine.productColor.label : ''} - ${this.state.orderLine.lengthFeet} Lin Ft`\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.lengthFeet &&\r\n\t\t\t\tthis.state.orderLine.unitCost && this.state.orderLine.unitPrice && updatedOrderLine.cmsnRate) {\r\n\t\t\t\tconst lengthFeet = this.state.orderLine.lengthFeet ? _.round(this.state.orderLine.lengthFeet, 2).toFixed(2) : \"\";\r\n\t\t\t\tconst payload = {\r\n\t\t\t\t\torderLineTypeId: this.state.orderLine.orderLineType.value,\r\n\t\t\t\t\tlengthFeet: lengthFeet ? Number(lengthFeet) : null,\r\n\t\t\t\t\tunitCost: Number(_.round(this.state.orderLine.unitCost, 2).toFixed(2)),\r\n\t\t\t\t\tunitPrice: Number(_.round(this.state.orderLine.unitPrice, 2).toFixed(2)),\r\n\t\t\t\t\tcmsnRate: Number(_.round(this.state.orderLine.cmsnRate, 2).toFixed(2))\r\n\t\t\t\t}\r\n\t\t\t\tawait api.post(\"Order/CalculateFigures\", payload)\r\n\t\t\t\t\t.then(response => {\r\n\t\t\t\t\t\t// if (response.data.success) {\r\n\t\t\t\t\t\tupdatedOrderLine = {\r\n\t\t\t\t\t\t\t...updatedOrderLine,\r\n\t\t\t\t\t\t\tlengthFeet: lengthFeet,\r\n\t\t\t\t\t\t\tqty: _.round(response.data.qty, 2).toFixed(2),\r\n\t\t\t\t\t\t\tcost: _.round(response.data.cost, 2).toFixed(2),\r\n\t\t\t\t\t\t\tprice: _.round(response.data.price, 2).toFixed(2),\r\n\t\t\t\t\t\t\tcmsn: _.round(response.data.cmsn, 2).toFixed(2)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t\t} else {\r\n\t\t\t\tupdatedOrderLine = {\r\n\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\tqty: '',\r\n\t\t\t\t\tcost: '',\r\n\t\t\t\t\tprice: '',\r\n\t\t\t\t\tcmsn: '',\r\n\t\t\t\t\tdsc: ''\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.setState({\r\n\t\t\t\torderLine: updatedOrderLine\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.HARD_SURFACE.value ||\r\n\t\t\tthis.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CARPET_TILE.value) {\r\n\t\t\tlet updatedOrderLine = Object.assign({}, this.state.orderLine);\r\n\t\t\tupdatedOrderLine = {\r\n\t\t\t\t...updatedOrderLine,\r\n\t\t\t\tunitCost: _.round(this.state.orderLine.unitCost, 2).toFixed(2),\t\t\t// round entered value even if no calculations are made\r\n\t\t\t\tunitPrice: _.round(this.state.orderLine.unitPrice, 2).toFixed(2),\t\t// round entered value even if no calculations are made\r\n\t\t\t\tcmsnRate: _.round(this.state.orderLine.cmsnRate, 2).toFixed(2)\t\t\t// round entered value even if no calculations are made\r\n\t\t\t}\r\n\r\n\t\t\tif (this.state.orderLine.squareFeetRequired &&\r\n\t\t\t\t\tthis.state.orderLine.unitCost && this.state.orderLine.unitPrice && updatedOrderLine.cmsnRate &&\r\n\t\t\t\t\tthis.state.orderLine.squareFeetPerCarton) {\r\n\t\t\t\tconst squareFeetRequired = _.round(this.state.orderLine.squareFeetRequired, 2).toFixed(2);\r\n\t\t\t\tconst payload = {\r\n\t\t\t\t\torderLineTypeId: this.state.orderLine.orderLineType.value,\r\n\t\t\t\t\tsquareFeetRequired: Number(squareFeetRequired),\r\n\t\t\t\t\tsquareFeetPerCarton: Number(_.round(this.state.orderLine.squareFeetPerCarton, 2).toFixed(2)),\r\n\t\t\t\t\tunitCost: Number(updatedOrderLine.unitCost),\r\n\t\t\t\t\tunitPrice: Number(updatedOrderLine.unitPrice),\r\n\t\t\t\t\tcmsnRate: Number(_.round(this.state.orderLine.cmsnRate, 2).toFixed(2))\r\n\t\t\t\t}\r\n\t\t\t\tawait api.post(\"Order/CalculateFigures\", payload)\r\n\t\t\t\t\t.then(response => {\r\n\t\t\t\t\t\t// if (response.data.success) {\r\n\t\t\t\t\t\tlet dsc;\r\n\t\t\t\t\t\tlet cartonOrCartonsString = response.data.cartonCount > 1 ? 'Cartons' : 'Carton';\r\n\t\t\t\t\t\tif (!isSaving && this.state.orderLine.product && this.state.orderLine.squareFeetRequired) {\r\n\t\t\t\t\t\t\tdsc = `${this.state.orderLine.product.label}, ${this.state.orderLine.productColor ? this.state.orderLine.productColor.label : ''} ` +\r\n\t\t\t\t\t\t\t\t`${response.data.cartonCount} ${cartonOrCartonsString} ` +\r\n\t\t\t\t\t\t\t\t`(${_.round(response.data.qty, 2).toFixed(2)} ${this.state.orderLine.priceUnitType.label})`\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tupdatedOrderLine = {\r\n\t\t\t\t\t\t\t...updatedOrderLine,\r\n\t\t\t\t\t\t\tsquareFeetRequired: squareFeetRequired,\r\n\t\t\t\t\t\t\tcartonCount: response.data.cartonCount,\r\n\t\t\t\t\t\t\tqty: _.round(response.data.qty, 2).toFixed(2),\r\n\t\t\t\t\t\t\tcost: _.round(response.data.cost, 2).toFixed(2),\r\n\t\t\t\t\t\t\tprice: _.round(response.data.price, 2).toFixed(2),\r\n\t\t\t\t\t\t\tcmsn: _.round(response.data.cmsn, 2).toFixed(2),\r\n\t\t\t\t\t\t\tdsc: dsc ? dsc : this.state.orderLine.dsc\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tupdatedOrderLine = {\r\n\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\tcartonCount: '',\r\n\t\t\t\t\tqty: '',\r\n\t\t\t\t\tcost: '',\r\n\t\t\t\t\tprice: '',\r\n\t\t\t\t\tcmsn: '',\r\n\t\t\t\t\tdsc: ''\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.setState({\r\n\t\t\t\torderLine: updatedOrderLine\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value) {\r\n\t\t\tlet updatedOrderLine = Object.assign({}, this.state.orderLine);\r\n\t\t\tif (this.state.orderLine.rugIntlSize) {\r\n\t\t\t\tupdatedOrderLine = {\r\n\t\t\t\t\t...updatedOrderLine,\r\n\t\t\t\t\tunitCost: _.round(this.state.orderLine.unitCost, 2).toFixed(2),\r\n\t\t\t\t\tunitPrice: _.round(this.state.orderLine.unitPrice, 2).toFixed(2),\r\n\t\t\t\t\tcmsnRate: _.round(this.state.orderLine.cmsnRate, 2).toFixed(2)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (!isSaving && this.state.orderLine.qty && this.state.orderLine.product && this.state.orderLine.rugIntlSize) {\r\n\t\t\t\tlet dsc;\r\n\t\t\t\tif (this.state.orderLine.productColor) {\r\n\t\t\t\t\tdsc = `${this.state.orderLine.qty} X ${this.state.orderLine.product.label}, ${this.state.orderLine.productColor.label} (${this.state.orderLine.rugIntlSize.label})`\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdsc = `${this.state.orderLine.qty} X ${this.state.orderLine.product.label} (${this.state.orderLine.rugIntlSize.label})`\r\n\t\t\t\t}\r\n\t\t\t\tupdatedOrderLine = {\r\n\t\t\t\t\t...updatedOrderLine,\r\n\t\t\t\t\tdsc: dsc\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.qty &&\r\n\t\t\t\tthis.state.orderLine.unitCost && this.state.orderLine.unitPrice && updatedOrderLine.cmsnRate) {\r\n\t\t\t\tconst payload = {\r\n\t\t\t\t\torderLineTypeId: this.state.orderLine.orderLineType.value,\r\n\t\t\t\t\tqty: Number(this.state.orderLine.qty),\r\n\t\t\t\t\tunitCost: Number(_.round(this.state.orderLine.unitCost, 2).toFixed(2)),\r\n\t\t\t\t\tunitPrice: Number(_.round(this.state.orderLine.unitPrice, 2).toFixed(2)),\r\n\t\t\t\t\tcmsnRate: Number(_.round(this.state.orderLine.cmsnRate, 2).toFixed(2))\r\n\t\t\t\t}\r\n\t\t\t\tawait api.post(\"Order/CalculateFigures\", payload)\r\n\t\t\t\t\t.then(response => {\r\n\t\t\t\t\t\t// if (response.data.success) {\r\n\t\t\t\t\t\tupdatedOrderLine = {\r\n\t\t\t\t\t\t\t...updatedOrderLine,\r\n\t\t\t\t\t\t\tcost: _.round(response.data.cost, 2).toFixed(2),\r\n\t\t\t\t\t\t\tprice: _.round(response.data.price, 2).toFixed(2),\r\n\t\t\t\t\t\t\tcmsn: _.round(response.data.cmsn, 2).toFixed(2)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tupdatedOrderLine = {\r\n\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\tcost: '',\r\n\t\t\t\t\tprice: '',\r\n\t\t\t\t\tcmsn: '',\r\n\t\t\t\t\tdsc: ''\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.setState({\r\n\t\t\t\torderLine: updatedOrderLine\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CREDIT_CARD_SURCHARGE.value) {\r\n\t\t\tconst creditCardSurchargeRate = _.round(this.state.orderLine.creditCardSurchargeRate, 2).toFixed(2);\r\n\t\t\tconst payload = {\r\n\t\t\t\torderLineTypeId: this.state.orderLine.orderLineType.value,\r\n\t\t\t\tcreditCardSurchargeRate: Number(creditCardSurchargeRate),\r\n\t\t\t\ttotalOrderCost: Number(this.state.totalOrderCost),\r\n\t\t\t\ttotalWithoutCreditCardSurcharge: Number(this.state.totalWithoutCreditCardSurcharge),\r\n\t\t\t}\r\n\t\t\tapi.post(\"Order/CalculateFigures\", payload)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\t// if (response.data.success) {\r\n\t\t\t\t\tthis.setState(prevState => ({\r\n\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t\t...prevState.orderLine,\r\n\t\t\t\t\t\t\tcreditCardSurchargeRate: creditCardSurchargeRate,\r\n\t\t\t\t\t\t\tprice: _.round(response.data.price, 2).toFixed(2)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}));\r\n\t\t\t\t\t// }\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t}\r\n\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.SALES_TAX.value) {\r\n\t\t\tconst taxRate = _.round(this.state.orderLine.taxRate, 2).toFixed(2);\r\n\t\t\tconst payload = {\r\n\t\t\t\torderLineTypeId: this.state.orderLine.orderLineType.value,\r\n\t\t\t\ttaxRate: Number(taxRate),\r\n\t\t\t\ttotalOrderCost: Number(this.state.totalOrderCost),\r\n\t\t\t\tsumOfTaxableItems: Number(this.state.sumOfTaxableItems),\r\n\t\t\t}\r\n\t\t\tapi.post(\"Order/CalculateFigures\", payload)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\t// if (response.data.success) {\r\n\t\t\t\t\tthis.setState(prevState => ({\r\n\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t\t...prevState.orderLine,\r\n\t\t\t\t\t\t\ttaxRate: taxRate,\r\n\t\t\t\t\t\t\tprice: _.round(response.data.price, 2).toFixed(2)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}));\r\n\t\t\t\t\t// }\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t}\r\n\t}\r\n\r\n\tasync setSelectedShippingContact(option) {\r\n\t\tlet phoneNumber = await _.find(option.phoneNumbers, x => x.typeOfPhone === constants.PHONE_TYPE.SHIP_TO);\r\n\t\tif (!phoneNumber) {\r\n\t\t\tphoneNumber = await _.find(option.phoneNumbers, x => x.isPrimary === true);\r\n\t\t}\r\n\t\tconst shippingAddresses = this.state.customerShipToAddresses.concat(\r\n\t\t\t_.map(_.filter(option.addresses, x => x.typeOfAddress === constants.ADDRESS_TYPE.SHIP_TO),\r\n\t\t\t\tad => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...ad,\r\n\t\t\t\t\t\tvalue: ad.id,\r\n\t\t\t\t\t\tlabel: helpers.formatAddressLabel(ad)\r\n\t\t\t\t\t}\r\n\t\t\t\t}));\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tstContactFirstName: option.firstName,\r\n\t\t\t\tstContactLastName: option.lastName,\r\n\t\t\t\tstContactEmail: helpers.nullableString(option.email),\r\n\t\t\t\tstPhone: phoneNumber ? phoneNumber.number : \"\",\r\n\t\t\t\tshippingAddresses: shippingAddresses\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tsetSelectedShippingAddress(option) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tstAddressLine1: helpers.nullableString(option.ln1),\r\n\t\t\t\tstAddressLine2: helpers.nullableString(option.ln2),\r\n\t\t\t\tstAddressLine3: helpers.nullableString(option.ln3),\r\n\t\t\t\tstAddressLine4: helpers.nullableString(option.ln4),\r\n\t\t\t\tstCity: helpers.nullableString(option.city),\r\n\t\t\t\tstState: helpers.nullableString(option.state),\r\n\t\t\t\tstZip: helpers.nullableString(option.zip),\r\n\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tasync setSelectedBillingContact(option) {\r\n\t\t// let phoneNumber = await _.find(option.phoneNumbers, x => x.typeOfPhone === constants.PHONE_TYPE.CELL); // No BILL_TO phone type currently available\r\n\t\tlet phoneNumber = await _.find(option.phoneNumbers, x => x.isPrimary === true); // Should default to primary phone?\r\n\t\tlet faxNumber = await _.find(option.faxNumbers, x => x.typeOfPhone === constants.PHONE_TYPE.FAX);\r\n\t\tlet billingAddresses = _.filter(option.addresses, x => x.typeOfAddress === constants.ADDRESS_TYPE.BILL_TO);\r\n\t\tthis.setState({\r\n\t\t\torder: {\r\n\t\t\t\t...this.state.order,\r\n\t\t\t\tbtContactFirstName: option.firstName,\r\n\t\t\t\tbtContactLastName: option.lastName,\r\n\t\t\t\tbtContactEmail: helpers.nullableString(option.email),\r\n\t\t\t\tbtPhone: phoneNumber ? phoneNumber.number : \"\",\r\n\t\t\t\tbtFax: faxNumber ? faxNumber.number : \"\",\r\n\t\t\t\tbillingAddresses: _.map(billingAddresses, ad => { // only used temporarily, not persisted\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...ad,\r\n\t\t\t\t\t\tvalue: ad.id,\r\n\t\t\t\t\t\tlabel: helpers.formatAddressLabel(ad)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tsetSelectedBillingAddress(option) {\r\n\t\tthis.setState({\r\n\t\t\torder: {\r\n\t\t\t\t...this.state.order,\r\n\t\t\t\tbtAddressLine1: helpers.nullableString(option.ln1),\r\n\t\t\t\tbtAddressLine2: helpers.nullableString(option.ln2),\r\n\t\t\t\tbtAddressLine3: helpers.nullableString(option.ln3),\r\n\t\t\t\tbtAddressLine4: helpers.nullableString(option.ln4),\r\n\t\t\t\tbtCity: helpers.nullableString(option.city),\r\n\t\t\t\tbtState: helpers.nullableString(option.state),\r\n\t\t\t\tbtZip: helpers.nullableString(option.zip)\r\n\t\t\t},\r\n\t\t\tselectedBillingAddress: option\r\n\t\t})\r\n\t}\r\n\r\n\tshowOrderLineDeleteConfirmationModal(orderLineId, orderLineType, orderLineComponentLines) {\r\n\t\tif (this.state.confirmationModalOrderLineId) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tconfirmationModalOrderLineId: null,\r\n\t\t\t\tconfirmationModalType: null,\r\n\t\t\t\tconfirmationModalComponentLines: null\r\n\t\t\t});\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.setState({\r\n\t\t\t\tconfirmationModalOrderLineId: orderLineId,\r\n\t\t\t\tconfirmationModalType: orderLineType,\r\n\t\t\t\tconfirmationModalComponentLines: orderLineComponentLines\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\thandleDeleteConfirmationCancel() {\r\n\t\tthis.setState({ confirmationModalOrderLineId: null });\r\n\t}\r\n\r\n\tasync handleOrderLineDelete(orderLineId) {\r\n\t\tconst childItem = _.find(this.state.orderLines, function (x) { return (x.parentOrderLineId === orderLineId && x.deactivatedAt === null) });\r\n\t\tif (childItem) { // if item is the parent to a freightOrderLine\r\n\t\t\tawait api.post(`Order/DeleteOrderLine/${childItem.id}`)\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t}\r\n\r\n\t\tapi.post(`Order/DeleteOrderLine/${orderLineId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.getOrderLines(this.state.orderId);\r\n\t\t\t\tthis.getOrderFulfillments(this.state.orderId);\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\tthis.setState({ confirmationModalOrderLineId: null });\r\n\t}\r\n\r\n\thandleOrderLineUndelete(orderLineId) {\r\n\t\tapi\r\n\t\t\t.post(`Order/ReviveOrderLine/${orderLineId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.getOrderLines(this.state.orderId);\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tasync handleCustomRugOrderLineDelete(rugOrderLineId, componentLines) {\r\n\t\tlet componentLineIds = _.map(componentLines, cl => {\r\n\t\t\treturn cl.id\r\n\t\t});\r\n\t\tcomponentLineIds.push(rugOrderLineId);\r\n\t\tconst payload = {\r\n\t\t\tlinesToDeleteIds: componentLineIds\r\n\t\t}\r\n\r\n\t\tapi.post(`Order/DeleteCustomRugOrderLine`, payload)\r\n\t\t\t.then(response => {\r\n\t\t\t\tif (response.data.success) {\r\n\t\t\t\t\tthis.getOrderLines(this.state.orderId);\r\n\t\t\t\t\tthis.getOrderFulfillments(this.state.orderId);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\tthis.setState({ confirmationModalOrderLineId: null });\r\n\t}\r\n\r\n\t//Order Payments:\r\n\tonAddNewPayment() {\r\n\t\tthis.setState({\r\n\t\t\taddUpdatePayment: true,\r\n\t\t\tmessage: null,\r\n\t\t\tmessageFlavor: null\r\n\t\t});\r\n\t}\r\n\r\n\tcancelAddOrUpdatePayment() {\r\n\t\tthis.setState({\r\n\t\t\torderPayment: emptyOrderPayment,\r\n\t\t\taddUpdatePayment: false,\r\n\t\t\tmessage: null,\r\n\t\t\tmessageFlavor: null\r\n\t\t});\r\n\t}\r\n\r\n\thandleOrderPaymentStateUpdate(fieldName, value) {\r\n\t\tthis.setState({\r\n\t\t\torderPayment: {\r\n\t\t\t\t...this.state.orderPayment,\r\n\t\t\t\t[fieldName]: value\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tupdateOrderPaymentRateOrCurrencyField(fieldName, value) {\r\n\t\tif (value) {\r\n\t\t\tthis.setState({\r\n\t\t\t\torderPayment: {\r\n\t\t\t\t\t...this.state.orderPayment,\r\n\t\t\t\t\t[fieldName]: _.round(value, 2).toFixed(2)\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\thandlePaymentTypeChange(elementName, selection) {\r\n\t\t// If updating a payment, and payment type is changed, all fields\r\n\t\t// for old payment type need to be cleared out. Keep Id though.\r\n\t\tthis.setState({\r\n\t\t\torderPayment: {\r\n\t\t\t\t...emptyOrderPayment,\r\n\t\t\t\tid: this.state.orderPayment.id,\r\n\t\t\t\t[elementName]: selection\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thandleDateReceivedChange(date) {\r\n\t\tthis.setState({\r\n\t\t\torderPayment: {\r\n\t\t\t\t...this.state.orderPayment,\r\n\t\t\t\tdateReceived: date\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thandleCreditCardTypeChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\torderPayment: {\r\n\t\t\t\t...this.state.orderPayment,\r\n\t\t\t\t[elementName]: selection\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thandleOutstandingCreditChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\torderPayment: {\r\n\t\t\t\t...this.state.orderPayment,\r\n\t\t\t\t[elementName]: selection\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tsetSelectedCustomer(option) {\r\n\t\tthis.setState(prevState => ({\r\n\t\t\t...prevState,\r\n\t\t\tpayment: {\r\n\t\t\t\t...prevState.payment,\r\n\t\t\t\tcustomer: option\r\n\t\t\t}\r\n\t\t}));\r\n\t}\r\n\r\n\tisBillingInfoFormValid() {\r\n\t\tconst warnings = [];\r\n\t\tif (!this.state.order.btAddressLine1) {\r\n\t\t\twarnings.push(\"Bill To Name is required.\");\r\n\t\t}\r\n\t\tif (!this.state.order.btAddressLine3) {\r\n\t\t\twarnings.push(\"Billing Address is required.\");\r\n\t\t}\r\n\t\tif (!this.state.order.btCity) {\r\n\t\t\twarnings.push(\"City is required.\");\r\n\t\t}\r\n\t\tif (!this.state.order.btState) {\r\n\t\t\twarnings.push(\"State is required.\");\r\n\t\t}\r\n\t\tif (!this.state.order.btZip) {\r\n\t\t\twarnings.push(\"Zip is required.\");\r\n\t\t}\r\n\t\tif (warnings.length) {\r\n\t\t\tthis.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n\t\t}\r\n\t\treturn warnings.length === 0;\r\n\t}\r\n\r\n\tformatBillingInfoPayload() {\r\n\t\tconst formattedBillingInfo = {\r\n\t\t\tOrderId: this.state.orderId,\r\n\t\t\tCustomerPONumber: this.state.order.customerPONumber,\r\n\t\t\tBTContactFirstName: this.state.order.btContactFirstName,\r\n\t\t\tBTContactLastName: this.state.order.btContactLastName,\r\n\t\t\tBTContactEmail: this.state.order.btContactEmail,\r\n\t\t\tBTAddressLine1: this.state.order.btAddressLine1,\r\n\t\t\tBTAddressLine2: this.state.order.btAddressLine2,\r\n\t\t\tBTAddressLine3: this.state.order.btAddressLine3,\r\n\t\t\tBTAddressLine4: this.state.order.btAddressLine4,\r\n\t\t\tBTCity: this.state.order.btCity,\r\n\t\t\tBTState: this.state.order.btState,\r\n\t\t\tBTZip: this.state.order.btZip,\r\n\t\t\tBTPhone: this.state.order.btPhone,\r\n\t\t\tBTFax: this.state.order.btFax,\r\n\t\t\tInvoiceTermsId: this.state.order.invoiceTerms.value\r\n\t\t};\r\n\t\treturn formattedBillingInfo;\r\n\t}\r\n\r\n\tsaveBillingInfo() {\r\n\t\twindow.scroll(0, 0);\r\n\t\tif (!this.isBillingInfoFormValid()) return;\r\n\t\tconst BillingInfoDto = this.formatBillingInfoPayload();\r\n\t\tapi.post(\"Order/SaveBillingInfo\", BillingInfoDto)\r\n\t\t\t.then(response => {\r\n\t\t\t\tif (response.data.success) {\r\n\t\t\t\t\tAlert.success(\"Billing info saved\");\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tmessage: null,\r\n\t\t\t\t\t\tmessageFlavor: null\r\n\t\t\t\t\t},\r\n\t\t\t\t\t\t// () => this.getCustomer(this.state.order.customer.value)\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tisOrderPaymentFormValid() {\r\n\t\tconst warnings = [];\r\n\t\t// if (!this.state.order.btAddressLine1) {\r\n\t\t// \twarnings.push(\"Bill To Name is required.\");\r\n\t\t// }\r\n\t\t// if (!this.state.order.btAddressLine3) {\r\n\t\t// \twarnings.push(\"Billing Address is required.\");\r\n\t\t// }\r\n\t\t// if (!this.state.order.btCity) {\r\n\t\t// \twarnings.push(\"City is required.\");\r\n\t\t// }\r\n\t\t// if (!this.state.order.btState) {\r\n\t\t// \twarnings.push(\"State is required.\");\r\n\t\t// }\r\n\t\t// if (!this.state.order.btZip) {\r\n\t\t// \twarnings.push(\"Zip is required.\");\r\n\t\t// }\r\n\t\tif (!this.state.orderPayment.paymentType) {\r\n\t\t\twarnings.push(\"Payment Type is required.\");\r\n\t\t}\r\n\t\tif (this.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.CASH.value) {\r\n\t\t\tif (!this.state.orderPayment.amountPaid) {\r\n\t\t\t\twarnings.push(\"Cash Amount is required.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.CHECK.value) {\r\n\t\t\tif (!this.state.orderPayment.amountPaid) {\r\n\t\t\t\twarnings.push(\"Check Amount is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderPayment.checkNumber) {\r\n\t\t\t\twarnings.push(\"Check Number is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderPayment.dateReceived) {\r\n\t\t\t\twarnings.push(\"Date Received is required.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.CREDIT_CARD.value) {\r\n\t\t\tif (!this.state.orderPayment.creditCardType || !this.state.orderPayment.creditCardType.value) {\r\n\t\t\t\twarnings.push(\"Credit Card Type is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderPayment.amountPaid) {\r\n\t\t\t\twarnings.push(\"Charge Amount is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderPayment.dateReceived) {\r\n\t\t\t\twarnings.push(\"Date Received is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderPayment.expDate) {\r\n\t\t\t\twarnings.push(\"Expiration Date is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderPayment.cardNumber) {\r\n\t\t\t\twarnings.push(\"Card Number is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderPayment.billingName) {\r\n\t\t\t\twarnings.push(\"Billing Name is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderPayment.billingZip) {\r\n\t\t\t\twarnings.push(\"Billing Zip is required.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.EXTENDED_CREDIT.value) {\r\n\t\t\tif (!this.state.orderPayment.amountPaid) {\r\n\t\t\t\twarnings.push(\"Credit Amount is required.\");\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tif (this.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.REBATE.value) {\r\n\t\t\tif (!this.state.orderPayment.amountPaid) {\r\n\t\t\t\twarnings.push(\"Rebate Amount is required.\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (warnings.length) {\r\n\t\t\tthis.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n\t\t}\r\n\t\treturn warnings.length === 0;\r\n\t}\r\n\r\n\tformatOrderPaymentPayload() {\r\n\t\tconst orderPayment = Object.assign({}, this.state.orderPayment);\r\n\t\tconst formattedOrderPayment = {\r\n\t\t\tId: orderPayment.id ? orderPayment.id : 0,\r\n\t\t\tOrderId: this.state.orderId,\r\n\t\t\t// OrderLineId: null,\r\n\t\t\tCustomerPaymentStatusId: null,\r\n\t\t\tCustomerPaymentStatusName: null,\r\n\t\t\tSampleBookId: null,\r\n\t\t\tReferenceNumber: orderPayment.referenceNumber,\r\n\t\t\tPayToName: orderPayment.payToName,\r\n\t\t\tCheckNumber: orderPayment.checkNumber,\r\n\t\t\tAmountPaid: Number(orderPayment.amountPaid),\r\n\t\t\tForWhat: orderPayment.forWhat,\r\n\t\t\t// InvoiceNumber: orderPayment.invoiceNumber,\r\n\t\t\tComment: orderPayment.comment,\r\n\t\t\tPaymentTypeId: orderPayment.paymentType.value,\r\n\t\t\tCreatedAt: new Date(),\r\n\t\t\tCreatedByUserId: this.props.currentUser.id,\r\n\t\t\tDateReceived: orderPayment.dateReceived,\r\n\t\t\tExpDate: orderPayment.expDate,\r\n\t\t\tCardNumber: orderPayment.cardNumber,\r\n\t\t\tBillingName: orderPayment.billingName,\r\n\t\t\tBillingZip: orderPayment.billingZip,\r\n\t\t\tCreditCardTypeId: orderPayment.creditCardType ? orderPayment.creditCardType.value : null,\r\n\t\t\tCreditCardTypeName: orderPayment.creditCardType ? orderPayment.creditCardType.label : null,\r\n\t\t\tDeactivatedAt: null,\r\n\t\t\tDeactivatedByUserId: null,\r\n\t\t\tCustomerCreditId: orderPayment.customerOutstandingCredit ? orderPayment.customerOutstandingCredit.value : null\r\n\t\t};\r\n\t\treturn formattedOrderPayment;\r\n\t}\r\n\r\n\tsaveOrderPayment() {\r\n\t\twindow.scroll(0, 0);\r\n\t\tif (!this.isOrderPaymentFormValid()) return;\r\n\t\tconst OrderPaymentDto = this.formatOrderPaymentPayload();\r\n\t\tapi.post(\"Order/SaveOrderPayment\", OrderPaymentDto)\r\n\t\t\t.then(response => {\r\n\t\t\t\tif (response.data.success) {\r\n\t\t\t\t\tthis.getOrderPayments(this.state.orderId);\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\torderPayment: emptyOrderPayment,\r\n\t\t\t\t\t\taddUpdatePayment: false,\r\n\t\t\t\t\t\tmessage: null,\r\n\t\t\t\t\t\tmessageFlavor: null\r\n\t\t\t\t\t}, () => this.getCustomer(this.state.order.customer.value));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tupdateOrderPayment(orderPayment) {\r\n\t\tthis.setState({\r\n\t\t\torderPayment: orderPayment,\r\n\t\t\taddUpdatePayment: true\r\n\t\t});\r\n\t}\r\n\r\n\thandleDelete(orderPaymentId) {\r\n\t\tapi\r\n\t\t\t.post(`Order/DeleteOrderPayment/${orderPaymentId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.getOrderPayments(this.state.orderId);\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\thandleUndelete(orderPaymentId) {\r\n\t\tapi\r\n\t\t\t.post(`Order/ReviveOrderPayment/${orderPaymentId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.getOrderPayments(this.state.orderId);\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\t//Order Fulfillments:\r\n\tcreateInitialOrderFulfillments() {\r\n\t\tapi.fetch(`Order/CreateInitialOrderFulfillments/${this.state.orderId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderFulfillments: response.data\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\taddNewFulfillment() {\r\n\t\tthis.setState({\r\n\t\t\torderFulfillment: emptyOrderFulfillment,\r\n\t\t\taddNewFulfillment: !this.state.addNewFulfillment\r\n\t\t});\r\n\t}\r\n\r\n\thandleOrderFullfillmentSelectChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\torderFulfillment: {\r\n\t\t\t\t...this.state.orderFulfillment,\r\n\t\t\t\t[elementName]: selection\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thandleFulfillmentStateUpdate(fieldName, value) {\r\n\t\tthis.setState(prevState => ({\r\n\t\t\t...prevState,\r\n\t\t\torderFulfillment: {\r\n\t\t\t\t...prevState.orderFulfillment,\r\n\t\t\t\t[fieldName]: value\r\n\t\t\t}\r\n\t\t}));\r\n\t}\r\n\r\n\teditOrderFulfillment(orderFulfillmentId) {\r\n\t\tconst indexToEdit = _.findIndex(this.state.orderFulfillments, { id: orderFulfillmentId });\r\n\t\tlet tempList = this.state.orderFulfillments.slice();\r\n\t\tconst snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n\t\ttempList[indexToEdit].isEditing = true;\r\n\t\ttempList[indexToEdit].pristine = snapshotItem;\r\n\t\tthis.setState({\r\n\t\t\torderFulfillments: tempList\r\n\t\t});\r\n\t}\r\n\r\n\tupdateOrderFulfillmentStatus(selection, orderFulfillmentId) {\r\n\t\tconst tempList = this.state.orderFulfillments.slice();\r\n\t\tconst fulfillment = _.find(tempList, x => x.id === orderFulfillmentId);\r\n\t\tfulfillment.orderFulfillmentStatus = {\r\n\t\t\tvalue: selection.value,\r\n\t\t\tlabel: selection.label\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\torderFulfillments: tempList\r\n\t\t});\r\n\t}\r\n\r\n\r\n\thandleEditFulfillmentStateUpdate(fieldName, value, orderFulfillmentId) {\r\n\t\tconst orderFulfillments = this.state.orderFulfillments.slice();\r\n\t\tconst orderFulfillment = _.find(orderFulfillments, x => x.id === orderFulfillmentId);\r\n\t\torderFulfillment[fieldName] = value;\r\n\t\tthis.setState({\r\n\t\t\torderFulfillments: orderFulfillments\r\n\t\t});\r\n\t}\r\n\r\n\teditFulfillmentDateChange(fieldName, orderFulfillmentId, date) {\r\n\t\tconst orderFulfillments = this.state.orderFulfillments.slice();\r\n\t\tconst orderFulfillment = _.find(orderFulfillments, x => x.id === orderFulfillmentId);\r\n\t\torderFulfillment[fieldName] = date;\r\n\t\tthis.setState({\r\n\t\t\torderFulfillments: orderFulfillments\r\n\t\t});\r\n\t}\r\n\r\n\tonCancelEditOrderFulfillment(orderFulfillmentId) {\r\n\t\tconst indexToEdit = _.findIndex(this.state.orderFulfillments, { id: orderFulfillmentId });\r\n\t\tlet tempList = this.state.orderFulfillments.slice();\r\n\t\ttempList[indexToEdit] = tempList[indexToEdit].pristine;\r\n\t\tthis.setState({\r\n\t\t\torderFulfillments: tempList,\r\n\t\t\tmessage: null,\r\n\t\t\tmessageFlavor: null\r\n\t\t});\r\n\t}\r\n\r\n\tisOrderFulfillmentFormValid(fulfillment) {\r\n\t\tconst warnings = [];\r\n\t\tif (!fulfillment.orderFulfillmentStatus) {\r\n\t\t\twarnings.push(\"Fulfillment status is required.\");\r\n\t\t}\r\n\t\tif (!fulfillment.supplier && !fulfillment.freightCarrier) {\r\n\t\t\twarnings.push(\"Pay To is required.\");\r\n\t\t}\r\n\t\tif (isNaN(Number(fulfillment.amountDue)) || fulfillment.amountDue === '') {\r\n\t\t\twarnings.push(\"Amount Due is required.\");\r\n\t\t}\r\n\t\tif (warnings.length) {\r\n\t\t\tthis.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n\t\t}\r\n\t\treturn warnings.length === 0;\r\n\t}\r\n\r\n\tformatOrderFulfillmentForPayload(orderFulfillment) {\r\n\t\tconst formattedOrderFulfillment = {\r\n\t\t\tId: orderFulfillment.id ? orderFulfillment.id : 0,\r\n\t\t\tOrderId: this.state.orderId,\r\n\t\t\tOrderFulfillmentStatusId: orderFulfillment.orderFulfillmentStatus ? orderFulfillment.orderFulfillmentStatus.value : orderFulfillment.orderFulfillmentStatusId,\r\n\t\t\tSupplierId: orderFulfillment.supplier ? orderFulfillment.supplier.value : orderFulfillment.supplierId,\r\n\t\t\tFreightCarrierId: orderFulfillment.freightCarrier ? orderFulfillment.freightCarrier.value : orderFulfillment.freightCarrierId,\r\n\t\t\tReferenceNumber: orderFulfillment.referenceNumber,\r\n\t\t\tInvoiceNumber: orderFulfillment.invoiceNumber,\r\n\t\t\tCheckNumber: orderFulfillment.checkNumber,\r\n\t\t\tAmountDue: Number(orderFulfillment.amountDue),\r\n\t\t\tAmountPosted: Number(orderFulfillment.amountPosted),\r\n\t\t\tNotes: orderFulfillment.notes,\r\n\t\t\tBillDate: orderFulfillment.billDate,\r\n\t\t\tDueDate: orderFulfillment.dueDate,\r\n\t\t\tPayDate: orderFulfillment.payDate,\r\n\t\t\tCreatedAt: moment(),\r\n\t\t\tCreatedByUserId: this.props.currentUser.id\r\n\t\t};\r\n\t\treturn formattedOrderFulfillment;\r\n\t}\r\n\r\n\tsaveOrderFulfillment(orderFulfillment) {\r\n\t\twindow.scroll(0, 0);\r\n\t\tif (!this.isOrderFulfillmentFormValid(orderFulfillment)) return;\r\n\t\tconst payload = this.formatOrderFulfillmentForPayload(orderFulfillment);\r\n\t\tapi.post(\"Order/SaveOrderFulfillment\", payload)\r\n\t\t\t.then(response => {\r\n\t\t\t\tif (response.data.success) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\torderFulfillment: emptyOrderFulfillment,\r\n\t\t\t\t\t\taddNewFulfillment: false,\r\n\t\t\t\t\t\tmessage: null,\r\n\t\t\t\t\t\tmessageFlavor: null\r\n\t\t\t\t\t}, () => this.getOrderFulfillments(this.state.orderId));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tdeleteOrderFulfillment(orderFulfillmentId) {\r\n\t\tif (!window.confirm('This is a permanent delete. Are you sure?')) return;\r\n\t\tapi.post(`Order/DeleteOrderFulfillment/${orderFulfillmentId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.getOrderFulfillments(this.state.orderId);\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\treviveOrderFulfillment(orderFulfillmentId) {\r\n\t\tapi.post(`Order/ReviveOrderFulfillment/${orderFulfillmentId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.getOrderFulfillments(this.state.orderId);\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\r\n\t// rug component stuff\r\n\ttoggleCutCharge() {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\trugHasCutCharge: !this.state.orderLine.rugHasCutCharge\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\ttoggleArmor() {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\trugHasEndArmor: !this.state.orderLine.rugHasEndArmor\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\ttoggleInboundFreight() {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\trugHasInboundFreight: !this.state.orderLine.rugHasInboundFreight\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\ttoggleBacking() {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\trugHasBacking: !this.state.orderLine.rugHasBacking\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\ttogglePad() {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\trugHasPad: !this.state.orderLine.rugHasPad\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tthis.setRugValidity()\r\n\t\t})\r\n\t}\r\n\r\n\ttoggleClippedCorners() {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\trugHasClippedCorners: !this.state.orderLine.rugHasClippedCorners\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\ttoggleLaborCutout() {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\trugHasLaborCutout: !this.state.orderLine.rugHasLaborCutout\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\ttoggleLaborRound() {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\trugHasLaborRound: !this.state.orderLine.rugHasLaborRound\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\ttoggleEdgeOptions() {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tedgeOptionsOpen: !this.state.orderLine.edgeOptionsOpen\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tsetRugEdge(rugEdgeName) {\r\n\t\t// refreshRugDescription\r\n\t\tlet edgeSuffix;\r\n\t\tif (rugEdgeName === EDGE_TYPES.MITERED) {\r\n\t\t\tedgeSuffix = 'Serged to Match Background';\r\n\t\t} else {\r\n\t\t\tedgeSuffix = 'Serged';\r\n\t\t}\r\n\t\tlet rugDescription = this.state.orderLine.rugWidthFeet + \"\\' \" + this.state.orderLine.rugWidthInches + \"\\\" x \" + this.state.orderLine.rugLengthFeet + \"\\' \" + this.state.orderLine.rugLengthInches + \"\\\" Custom Rug-\" + edgeSuffix;\r\n\t\tthis.setState({\r\n\t\t\tselectedRugEdge: rugEdgeName,\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\trugDsc: rugDescription\t\t\t// Doesn't work\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tthis.setRugValidity();\r\n\t\t})\r\n\t}\r\n\r\n\t// Set rug properties\r\n\tasync initializeRugOrder() {\r\n\t\tawait this.rugSizeChange();\r\n\t\tawait this.setSelectedPad(this.state.orderLine.selectedPad);\t// Already set to default pad\r\n\t\tconst selectedSerging = this.state.sergingList[0];\r\n\t\tconst selectedMSerging = this.state.mSergingList[0];\r\n\t\tconst selectedHSSerging = this.state.hsSergingList[0];\r\n\t\tthis.sergingSelected(selectedSerging);\r\n\t\tthis.mSergingSelected(selectedMSerging);\r\n\t\tthis.hsSergingSelected(selectedHSSerging);\r\n\t}\r\n\r\n\tasync sergingSelected(selection) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tselectedSerging: selection,\r\n\t\t\t\tsergingCostPer: _.round(selection.unitCost, 2).toFixed(2),\r\n\t\t\t\tsergingPricePer: _.round(selection.unitPrice, 2).toFixed(2)\r\n\t\t\t}\r\n\t\t}, () => { this.updateSergingTotals() })\r\n\t}\r\n\r\n\tasync updateSergingTotals() {\r\n\t\tconst totalSergingPrice = this.state.orderLine.sergingPricePer * this.state.orderLine.finishedEdgeFt;\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tsergingCostPer: _.round(this.state.orderLine.sergingCostPer, 2).toFixed(2),\r\n\t\t\t\tsergingPricePer: _.round(this.state.orderLine.sergingPricePer, 2).toFixed(2),\r\n\t\t\t\tsergingCmsnRate: _.round(this.state.orderLine.sergingCmsnRate, 2).toFixed(2),\r\n\t\t\t\ttotalSergingPrice: _.round(totalSergingPrice, 2).toFixed(2),\r\n\t\t\t\ttotalSergingCost: _.round(this.state.orderLine.sergingCostPer * this.state.orderLine.finishedEdgeFt, 2).toFixed(2),\r\n\t\t\t\tsergingCmsn: _.round((this.state.orderLine.sergingCmsnRate / 100.0) * totalSergingPrice, 2).toFixed(2)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tasync mSergingSelected(selection) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tselectedMSerging: selection,\r\n\t\t\t\tmSergingCostPer: _.round(selection.unitCost, 2).toFixed(2),\r\n\t\t\t\tmSergingPricePer: _.round(selection.unitPrice, 2).toFixed(2)\r\n\t\t\t}\r\n\t\t}, () => { this.updateMSergingTotals() })\r\n\t}\r\n\r\n\tasync updateMSergingTotals() {\r\n\t\tconst totalMSergingPrice = this.state.orderLine.mSergingPricePer * this.state.orderLine.finishedEdgeFt;\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tmSergingCostPer: _.round(this.state.orderLine.mSergingCostPer, 2).toFixed(2),\r\n\t\t\t\tmSergingPricePer: _.round(this.state.orderLine.mSergingPricePer, 2).toFixed(2),\r\n\t\t\t\tmSergingCmsnRate: _.round(this.state.orderLine.mSergingCmsnRate, 2).toFixed(2),\r\n\t\t\t\ttotalMSergingPrice: _.round(totalMSergingPrice, 2).toFixed(2),\r\n\t\t\t\ttotalMSergingCost: _.round(this.state.orderLine.mSergingCostPer * this.state.orderLine.finishedEdgeFt, 2).toFixed(2),\r\n\t\t\t\tmSergingCmsn: _.round((this.state.orderLine.mSergingCmsnRate / 100.0) * totalMSergingPrice, 2).toFixed(2)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tasync hsSergingSelected(selection) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tselectedHSSerging: selection,\r\n\t\t\t\thsSergingCostPer: _.round(selection.unitCost, 2).toFixed(2),\r\n\t\t\t\thsSergingPricePer: _.round(selection.unitPrice, 2).toFixed(2)\r\n\t\t\t}\r\n\t\t}, () => { this.updateHSSergingTotals() })\r\n\t}\r\n\r\n\tupdateHSSergingTotals() {\r\n\t\tconst totalHSSergingPrice = this.state.orderLine.hsSergingPricePer * this.state.orderLine.finishedEdgeFt;\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\thsSergingCostPer: _.round(this.state.orderLine.hsSergingCostPer, 2).toFixed(2),\r\n\t\t\t\thsSergingPricePer: _.round(this.state.orderLine.hsSergingPricePer, 2).toFixed(2),\r\n\t\t\t\thsSergingCmsnRate: _.round(this.state.orderLine.hsSergingCmsnRate, 2).toFixed(2),\r\n\t\t\t\ttotalHSSergingPrice: _.round(totalHSSergingPrice, 2).toFixed(2),\r\n\t\t\t\ttotalHSSergingCost: _.round(this.state.orderLine.hsSergingCostPer * this.state.orderLine.finishedEdgeFt, 2).toFixed(2),\r\n\t\t\t\thsSergingCmsn: _.round((this.state.orderLine.hsSergingCmsnRate / 100.0) * totalHSSergingPrice, 2).toFixed(2),\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\trefreshRugDescription() {\r\n\t\tlet edgeSuffix;\r\n\t\tif (this.state.selectedRugEdge === EDGE_TYPES.MITERED) {\r\n\t\t\tedgeSuffix = 'Serged to Match Background';\r\n\t\t} else {\r\n\t\t\tedgeSuffix = 'Serged';\r\n\t\t}\r\n\t\tconst rugDsc = this.state.orderLine.rugWidthFeet + \"\\' \" + this.state.orderLine.rugWidthInches + \"\\\" x \" + this.state.orderLine.rugLengthFeet + \"\\' \" + this.state.orderLine.rugLengthInches + \"\\\" Custom Rug-\" + edgeSuffix;\r\n\t\treturn rugDsc;\r\n\t}\r\n\r\n\tcalculateFieldDsc() {\r\n\t\tlet dsc;\r\n\t\tif (this.state.orderLine.selectedField) {\r\n\t\t\tdsc = calc.getFieldDescription(this.state.orderLine.selectedField.label, this.state.orderLine.selectedFieldColor); // ${this.state.orderLine.totalFieldUnits ? this.state.orderLine.totalFieldUnits : ''} ${this.state.orderLine.fieldPriceUnitType ? this.state.orderLine.fieldPriceUnitType.label : ''}\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tdsc: dsc\r\n\t\t\t}\r\n\t\t}, () => \tthis.setRugValidity());\r\n\t}\r\n\r\n\tsetFinishedRugSize(option) {\r\n\t\t\tthis.setState({\r\n\t\t\t\torderLine: {\r\n\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\tfinishedSize: option,\r\n\t\t\t\t\trugWidthFeet: option.rugWidthFeet,\r\n\t\t\t\t\trugWidthInches: option.rugWidthInches,\r\n\t\t\t\t\trugLengthFeet: option.rugLengthFeet,\r\n\t\t\t\t\trugLengthInches: option.rugLengthInches\r\n\t\t\t\t}\r\n\t\t\t}, () => this.rugSizeChange());\r\n\t}\r\n\r\n onChangeAdditionalRugField(line, fieldName, value) {\r\n \tlet payload = {\r\n\t\t\tid: line.id,\r\n\t\t\trugStyle: line.rugStyle,\r\n\t\t\tfinishedEdge: line.finishedEdge,\r\n\t\t\tlaborCost: line.laborCost,\r\n\t\t\ttotalAgreedCharges: line.totalAgreedCharges,\r\n\t\t\tsendScrap: line.sendScrap\r\n\t\t};\r\n\t\tpayload[fieldName] = value;\r\n\t\tapi.post('order/SaveAdditionalRugLineFields', payload).then(r => {\r\n\t\t\tif (r.data.success) {\r\n\t\t\t\tlet newLines = this.state.orderLines.slice();\r\n\t\t\t\tconst idx = _.findIndex(newLines, ln => ln.id === line.id);\r\n\t\t\t\tnewLines[idx][fieldName] = value;\r\n\t\t\t\tthis.setState({orderLines: newLines});\r\n\t\t\t} else {\r\n\t\t\t\tAlert.error(`Failed to save the ${fieldName} value!`);\r\n\t\t\t}\r\n\t\t}).catch(error => {\r\n\t\t\tconsole.error(error);\r\n\t\t\tAlert.error(\"There was an error saving the rug line \" + fieldName);\r\n\t\t});\r\n }\r\n\r\n // renderSignOffForm(lineId) {\r\n\t// \tif (!this.state.orderId) {\r\n\t// \t\tconsole.warn(\"orderId is empty\");\r\n\t// \t\treturn;\r\n\t// \t}\r\n\t// \t/*\r\n\t// \tthe following fields may need to be captured, remembered and defaulted for orderline with a dialog:\r\n\t// \t\tContactFullName, OverallSize, FinishedEdge, RugCost, PadCost, OtherCost, TotalCost\r\n\t// \t*/\r\n\t// \tthis.setState({ printing: true }, () => {\r\n\t// \t\tconst pdfWindow = window.open();\r\n\t// \t\tapi.post_get_blob(`order/GetRugSignOffPDF/${this.state.orderId}/${lineId}`, {}).then(r => {\r\n\t// \t\t\tif (r.status !== 200) {\r\n\t// \t\t\t\tthrow new Error(\"Error rendering document\");\r\n\t// \t\t\t}\r\n\t// \t\t\tconst file = new Blob([r.data], { type: \"application/pdf\" });\r\n\t// \t\t\tconst fileURL = URL.createObjectURL(file);\r\n\t// \t\t\tpdfWindow.location.href = fileURL;\r\n\t// \t\t}).catch(error => {\r\n\t// \t\t\tconsole.log(error);\r\n\t// \t\t\tAlert.error(\"There was an error downloading the document\");\r\n\t// \t\t\tpdfWindow.close();\r\n\t// \t\t}).finally(() => this.setState({ printing: false }))\r\n\t// \t});\r\n // }\r\n\r\n renderWorkorderForm(lineId) {\r\n\t\tif (!this.state.orderId) {\r\n\t\t\tconsole.warn(\"orderId is empty\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.setState({ printing: true }, () => {\r\n\t\t\tconst pdfWindow = window.open();\r\n\t\t\tapi.post_get_blob(`order/GetRugWorkOrderPDF/${this.state.orderId}/${lineId}`, {}).then(r => {\r\n\t\t\t\tif (r.status !== 200) {\r\n\t\t\t\t\tthrow new Error(\"Error rendering document\");\r\n\t\t\t\t}\r\n\t\t\t\tconst file = new Blob([r.data], { type: \"application/pdf\" });\r\n\t\t\t\tconst fileURL = URL.createObjectURL(file);\r\n\t\t\t\tpdfWindow.location.href = fileURL;\r\n\t\t\t}).catch(error => {\r\n\t\t\t\tconsole.log(error);\r\n\t\t\t\tAlert.error(\"There was an error downloading the document\");\r\n\t\t\t\tpdfWindow.close();\r\n\t\t\t}).finally(() => this.setState({ printing: false }))\r\n\t\t});\r\n }\r\n\r\n\tasync rugSizeChange() {\r\n\t\tlet rugDsc = this.refreshRugDescription();\r\n\t\tlet { sqFt, finishedEdgeFt } = calc.calculateSqFeetAndFinEdgeFt(\r\n\t\t\tthis.state.orderLine.rugLengthFeet,\r\n\t\t\tthis.state.orderLine.rugLengthInches,\r\n\t\t\tthis.state.orderLine.rugWidthFeet,\r\n\t\t\tthis.state.orderLine.rugWidthInches);\r\n\t\tlet {\r\n\t\t\ttotalRugBackingPrice,\r\n\t\t\ttotalRugBackingCost,\r\n\t\t\trugBackingCmsn,\r\n\t\t\ttotalSergingPrice,\r\n\t\t\ttotalSergingCost,\r\n\t\t\tsergingCmsn,\r\n\t\t\ttotalMSergingPrice,\r\n\t\t\ttotalMSergingCost,\r\n\t\t\tmSergingCmsn,\r\n\t\t\ttotalHSSergingPrice,\r\n\t\t\ttotalHSSergingCost,\r\n\t\t\thsSergingCmsn\r\n\t\t} = calc.calculateRugExtraCosts(this.state.orderLine, sqFt, finishedEdgeFt);\r\n\t\tawait this.setFieldDefaultSize();\r\n\t\tawait this.defaultPadRequired();\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tsqFt: sqFt,\r\n\t\t\t\trugDsc: rugDsc,\r\n\t\t\t\tfinishedEdgeFt: finishedEdgeFt,\r\n\t\t\t\ttotalRugBackingUnits: sqFt,\r\n\t\t\t\ttotalRugBackingPrice: _.round(totalRugBackingPrice, 2).toFixed(2),\r\n\t\t\t\ttotalRugBackingCost: _.round(totalRugBackingCost, 2).toFixed(2),\r\n\t\t\t\trugBackingCmsn: _.round(rugBackingCmsn, 2).toFixed(2),\r\n\t\t\t\ttotalSergingPrice: _.round(totalSergingPrice, 2).toFixed(2),\r\n\t\t\t\ttotalSergingCost: _.round(totalSergingCost, 2).toFixed(2),\r\n\t\t\t\tsergingCmsn: _.round(sergingCmsn, 2).toFixed(2),\r\n\t\t\t\ttotalMSergingPrice: _.round(totalMSergingPrice, 2).toFixed(2),\r\n\t\t\t\ttotalMSergingCost: _.round(totalMSergingCost, 2).toFixed(2),\r\n\t\t\t\tmSergingCmsn: _.round(mSergingCmsn, 2).toFixed(2),\r\n\t\t\t\ttotalHSSergingPrice: _.round(totalHSSergingPrice, 2).toFixed(2),\r\n\t\t\t\ttotalHSSergingCost: _.round(totalHSSergingCost, 2).toFixed(2),\r\n\t\t\t\thsSergingCmsn: _.round(hsSergingCmsn, 2).toFixed(2)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tasync setSelectedField(option) {\r\n\t\tawait api.fetch(`Order/GetActiveProductColors/${option.value}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tproductColorsList: response.data,\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\tselectedFieldColor: response.data.length > 0 ? response.data[0] : null\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\tawait api.fetch(`Product/GetProductWidths/${option.value}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tconst widths = _.map(response.data, w => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tvalue: w.widthId,\r\n\t\t\t\t\t\tlabel: w.widthName,\r\n\t\t\t\t\t\twidthNumericFeet: w.widthNumericFeet\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\twidthsList: widths,\r\n\t\t\t\t\t\tselectedFieldWidth: widths.length > 0 ? widths[0] : null\r\n\t\t\t\t\t\t//width: widths.length > 0 ? widths[0] : null\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\tawait\tapi.fetch(`Product/GetProductWithOrder/${option.value}/${this.state.orderId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\tselectedField: option,\r\n\t\t\t\t\t\tfieldCostPer: _.round(response.data.unitCost, 2).toFixed(2),\r\n\t\t\t\t\t\tfieldPricePer: _.round(response.data.unitPrice, 2).toFixed(2),\r\n\t\t\t\t\t\tfieldRepeatWidth: _.round(response.data.repeatWidth, 3).toFixed(3),\r\n\t\t\t\t\t\tfieldRepeatLength: _.round(response.data.repeatLength, 3).toFixed(3),\r\n\t\t\t\t\t\tfieldPriceUnitType: helpers.resolveValue(\r\n\t\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\t\tresponse.data.priceUnitTypeId,\r\n\t\t\t\t\t\t\tresponse.data.priceUnitTypeName),\r\n\t\t\t\t\t\trepeatDsc: _.round(response.data.repeatWidth, 3).toFixed(3) + ' x ' + _.round(response.data.repeatLength, 3).toFixed(3),\r\n\t\t\t\t\t\tfieldRun: response.data.run,\r\n\t\t\t\t\t\tproductAllowCommission: response.data.allowCommission,\r\n\t\t\t\t\t}\r\n\t\t\t\t}, this.setFieldDefaultSize);\r\n\t\t\t}).catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tasync setFieldDefaultSize() {\r\n\t\tlet orderLine = Object.assign({}, this.state.orderLine);\r\n\t\tconsole.log('orderLine', orderLine);\r\n\t\tconst {\r\n\t\t\tselectedField,\r\n\t\t\tfieldRepeatLength,\r\n\t\t\tfieldRepeatWidth\t\r\n\t\t} = orderLine;\r\n\t\tif (orderLine && orderLine.selectedField) {\r\n\t\t\tconst payload = {\r\n\t\t\t\tCustomWidth: Number(parseFloat(orderLine.rugWidthFeet) + parseFloat(orderLine.rugWidthInches / 12.0)),\r\n\t\t\t\tCustomLength: Number(parseFloat(orderLine.rugLengthFeet) + parseFloat(orderLine.rugLengthInches / 12.0)),\r\n\t\t\t\tProductId: Number(orderLine.selectedField.value)\r\n\t\t\t}\r\n\t\t\tlet resp = await calc.getDefaultFieldSize(payload, selectedField, fieldRepeatLength, fieldRepeatWidth);\r\n\t\t\tthis.applyDefaultSizes(resp);\r\n\t\t}\r\n\t}\r\n\r\n\tapplyDefaultSizes(results) {\r\n\t\tconst {\r\n\t\t appliedFieldRepeat, fieldLengthFeet, fieldLengthInches, widthFeetName\r\n\t\t} = results;\r\n\t\tvar width = _.find(this.state.orderLine.widthsList, w => { return w.label === widthFeetName });\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tappliedFieldRepeat: appliedFieldRepeat,\r\n\t\t\t\tfieldLengthFeet: fieldLengthFeet,\r\n\t\t\t\tfieldLengthInches: fieldLengthInches ? fieldLengthInches : 0,\r\n\t\t\t\tselectedFieldWidth: width\r\n\t\t\t}\r\n\t\t}, this.fieldSizeChange);\r\n\t}\r\n\r\n\tfieldSizeChange() {\r\n\t let totalFieldUnits;\r\n\t if (this.state.orderLine && this.state.orderLine.selectedFieldWidth) {\r\n\t\t\ttotalFieldUnits = calc.calculateFieldUnits(\r\n\t\t\t this.state.orderLine.selectedFieldWidth.widthNumericFeet,\r\n\t\t\t this.state.orderLine.fieldLengthFeet,\r\n\t\t\t this.state.orderLine.fieldLengthInches,\r\n\t\t\t this.state.orderLine.fieldPriceUnitType && this.state.orderLine.fieldPriceUnitType.label\r\n\t\t\t);\r\n\t }\r\n\t if (totalFieldUnits) {\r\n\t\t\tthis.setState({\r\n\t\t\t orderLine: {\r\n\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\ttotalFieldUnits: totalFieldUnits\r\n\t\t\t }\r\n\t\t\t}, this.updateFieldTotals);\r\n\t }\r\n\t}\r\n\r\n\tupdateFieldTotals() {\r\n\t\tlet totalFieldPrice = this.state.orderLine.fieldPricePer * this.state.orderLine.totalFieldUnits;\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tfieldCostPer: _.round(this.state.orderLine.fieldCostPer, 2).toFixed(2),\r\n\t\t\t\tfieldPricePer: _.round(this.state.orderLine.fieldPricePer, 2).toFixed(2),\r\n\t\t\t\tfieldCmsnRate: _.round(this.state.orderLine.fieldCmsnRate, 2).toFixed(2),\r\n\t\t\t\ttotalFieldPrice: _.round(totalFieldPrice, 2).toFixed(2),\r\n\t\t\t\ttotalFieldCost: _.round(this.state.orderLine.fieldCostPer * this.state.orderLine.totalFieldUnits, 2).toFixed(2),\r\n\t\t\t\tfieldCmsn: _.round((this.state.orderLine.fieldCmsnRate / 100.0) * totalFieldPrice, 2).toFixed(2)\r\n\t\t\t}\r\n\t\t}, this.calculateFieldDsc);\r\n\t}\r\n\r\n\tasync updateRugBackingTotals() {\r\n\t\tlet totalRugBackingPrice = this.state.orderLine.rugBackingPricePer * this.state.orderLine.totalRugBackingUnits;\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\trugBackingCostPer: _.round(this.state.orderLine.rugBackingCostPer, 2).toFixed(2),\r\n\t\t\t\trugBackingPricePer: _.round(this.state.orderLine.rugBackingPricePer, 2).toFixed(2),\r\n\t\t\t\trugBackingCmsnRate: _.round(this.state.orderLine.rugBackingCmsnRate, 2).toFixed(2),\r\n\t\t\t\ttotalRugBackingPrice: _.round(totalRugBackingPrice, 2).toFixed(2),\r\n\t\t\t\ttotalRugBackingCost: _.round(this.state.orderLine.rugBackingCostPer * this.state.orderLine.totalRugBackingUnits, 2).toFixed(2),\r\n\t\t\t\trugBackingCmsn: _.round((this.state.orderLine.rugBackingCmsnRate / 100.0) * totalRugBackingPrice, 2).toFixed(2)\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tsetSelectedPad(option) {\r\n\t\tapi.fetch(`Product/GetProductWidths/${option.value}`).then(response => {\r\n\t\t\t\tconst widths = _.map(response.data, w => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tvalue: w.widthId,\r\n\t\t\t\t\t\tlabel: w.widthName,\r\n\t\t\t\t\t\twidthNumericFeet: w.widthNumericFeet\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tpadWidthList: widths,\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\tselectedPadWidth: widths.length > 0 ? widths[0] : null\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\tapi.fetch(`Product/GetProductWithOrder/${option.value}/${this.state.orderId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\tselectedPad: option,\r\n\t\t\t\t\t\tpadCostPer: _.round(response.data.unitCost, 2).toFixed(2),\r\n\t\t\t\t\t\tpadPricePer: _.round(response.data.unitPrice, 2).toFixed(2),\r\n\t\t\t\t\t\tpadPriceUnitType: helpers.resolveValue(\r\n\t\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\t\tresponse.data.priceUnitTypeId,\r\n\t\t\t\t\t\t\tresponse.data.priceUnitTypeName)\r\n\t\t\t\t\t}\r\n\t\t\t\t}, () => {\r\n\t\t\t\t\tthis.defaultPadRequired();\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tasync defaultPadRequired() {\r\n\t\t// default pad length to meet sq ft requirements\r\n\t\tlet padLengthFeet = \"0\";\r\n\t\tif (this.state.orderLine.selectedPadWidth) {\r\n\t\t\tlet dimA = (this.state.orderLine.rugWidthInches / 12.0) + parseFloat(this.state.orderLine.rugWidthFeet.toString());\r\n\t\t\tlet dimB = (this.state.orderLine.rugLengthInches / 12.0) + parseFloat(this.state.orderLine.rugLengthFeet.toString());\r\n\t\t\tlet longer = dimA > dimB ? dimA : dimB;\r\n\t\t\tlet shorter = dimA > dimB ? dimB : dimA;\r\n\t\t\t// let minLen = this.sqFt / this.selectedPadWidth.widthNumericFeet;\r\n\t\t\tif (longer <= this.state.orderLine.selectedPadWidth.widthNumericFeet) {\r\n\t\t\t\tpadLengthFeet = Math.ceil(shorter);\r\n\t\t\t} else {\r\n\t\t\t\tpadLengthFeet = Math.ceil(longer);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tpadLengthFeet: padLengthFeet\r\n\t\t\t}\r\n\t\t}, () => this.padSizeChange())\r\n\t}\r\n\r\n\r\n\tpadSizeChange() {\r\n\t\tlet totalPadUnits;\r\n\t\tlet message;\r\n\t\tlet messageFlavor;\r\n\t\tif (!this.state.orderLine.selectedPadWidth || !this.state.orderLine.padLengthFeet) return;\r\n\t\tlet lngth = parseFloat(this.state.orderLine.padLengthFeet.toString());\r\n\t\tif (isNaN(lngth)) return;\r\n\t\tlet widthNumericFeet = parseFloat(this.state.orderLine.selectedPadWidth.widthNumericFeet.toString());\r\n\t\tif (this.state.orderLine.padPriceUnitType.label === \"Sq Yds\") {\r\n\t\t\tlet sqYds = ((widthNumericFeet / 3.0) * lngth) / 3.0;\r\n\t\t\tif (isNaN(sqYds)) return;\r\n\t\t\ttotalPadUnits = sqYds;\r\n\t\t} else if (this.state.orderLine.padPriceUnitType.label === \"Sq Ft\") {\r\n\t\t\ttotalPadUnits = widthNumericFeet * lngth;\r\n\t\t} else {\r\n\t\t\ttotalPadUnits = 0.0;\r\n\t\t\tmessage = \"Cannot calculate required material for this pad's price unit: \" + this.state.orderLine.padPriceUnitType.label + \". Unknown Price Units\";\r\n\t\t\tmessageFlavor = \"danger\";\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\ttotalPadUnits: _.round(totalPadUnits, 2).toFixed(2),\r\n\t\t\t},\r\n\t\t\tmessage: message,\r\n\t\t\tmessageFlavor: messageFlavor\r\n\t\t}, () => this.updatePadTotals())\r\n\t}\r\n\r\n\tupdatePadTotals() {\r\n\t\tlet totalPadPrice = this.state.orderLine.padPricePer * this.state.orderLine.totalPadUnits;\r\n\t\tlet padCutCost;\r\n\t\tlet padCutPrice;\r\n\r\n\t\tif ( (parseFloat(this.state.orderLine.totalPadUnits) <= 30 && this.state.orderLine.padPriceUnitType.value == constants.PRICE_UNIT_TYPE.SQ_FT.value)\r\n\t\t\t\t\t|| (parseFloat(this.state.orderLine.totalPadUnits) <= 30/9 && this.state.orderLine.padPriceUnitType.value == constants.PRICE_UNIT_TYPE.SQ_YARDS.value) ) {\r\n\t\t\tpadCutCost = this.state.customRugComponentProducts.Under30SFPadCutChargeProduct.unitCost\r\n\t\t\tpadCutPrice = this.state.customRugComponentProducts.Under30SFPadCutChargeProduct.unitPrice\r\n\t\t} else {\r\n\t\t\tpadCutCost = this.state.customRugComponentProducts.DefaultPadCutChargeProduct.unitCost\r\n\t\t\tpadCutPrice = this.state.customRugComponentProducts.DefaultPadCutChargeProduct.unitPrice\r\n\t\t}\r\n\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tpadCostPer: _.round(this.state.orderLine.padCostPer, 2).toFixed(2),\r\n\t\t\t\tpadPricePer: _.round(this.state.orderLine.padPricePer, 2).toFixed(2),\r\n\t\t\t\tpadCmsnRate: _.round(this.state.orderLine.padCmsnRate, 2).toFixed(2),\r\n\t\t\t\ttotalPadPrice: _.round(totalPadPrice, 2).toFixed(2),\r\n\t\t\t\ttotalPadCost: _.round(this.state.orderLine.padCostPer * this.state.orderLine.totalPadUnits, 2).toFixed(2),\r\n\t\t\t\tpadCmsn: _.round((this.state.orderLine.padCmsnRate / 100.0) * totalPadPrice, 2).toFixed(2), \r\n\t\t\t\tpadCutCost: _.round(padCutCost, 2).toFixed(2),\r\n\t\t\t\tpadCutPrice: _.round(padCutPrice, 2).toFixed(2)\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tthis.setRugValidity();\r\n\t\t})\r\n\t}\r\n\r\n\tsetSelectedInboundFreight(option) {\r\n\t\tapi.fetch(`Product/GetProductWithOrder/${option.value}/${this.state.orderId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\tselectedInboundFreight: option,\r\n\t\t\t\t\t\trugInboundFreightCost: _.round(response.data.unitCost, 2).toFixed(2),\r\n\t\t\t\t\t\trugInboundFreightPrice: _.round(response.data.unitPrice, 2).toFixed(2)\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\t// rugBindingStyleSelected in original app\r\n\tsetSelectedRugBindingStyle(option) {\r\n\t\tapi.fetch(`Order/GetActiveProductColors/${option.value}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\trugBindingColorList: response.data,\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\tselectedRugBindingColor: response.data.length > 0 ? response.data[0] : null\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\tapi.fetch(`Product/GetProductWithOrder/${option.value}/${this.state.orderId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\tselectedRugBindingStyle: option,\r\n\t\t\t\t\t\trugBindingCostPer: _.round(response.data.unitCost, 2).toFixed(2),\r\n\t\t\t\t\t\trugBindingPricePer: _.round(response.data.unitPrice, 2).toFixed(2)\r\n\t\t\t\t\t}\r\n\t\t\t\t}, () => {\r\n\t\t\t\t\tthis.updateRugBindingTotals();\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tupdateRugBindingTotals() {\r\n\t\tlet totalRugBindingPrice = this.state.orderLine.rugBindingPricePer * this.state.orderLine.finishedEdgeFt;\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\trugBindingCostPer: _.round(this.state.orderLine.rugBindingCostPer, 2).toFixed(2),\r\n\t\t\t\trugBindingPricePer: _.round(this.state.orderLine.rugBindingPricePer, 2).toFixed(2),\r\n\t\t\t\trugBindingCmsnRate: _.round(this.state.orderLine.rugBindingCmsnRate, 2).toFixed(2),\r\n\t\t\t\ttotalRugBindingPrice: _.round(totalRugBindingPrice, 2).toFixed(2),\r\n\t\t\t\ttotalRugBindingCost: _.round(this.state.orderLine.rugBindingCostPer * this.state.orderLine.finishedEdgeFt, 2).toFixed(2),\r\n\t\t\t\trugBindingCmsn: _.round((this.state.orderLine.rugBindingCmsnRate / 100.0) * totalRugBindingPrice, 2).toFixed(2)\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tthis.setRugValidity();\r\n\t\t});\r\n\t}\r\n\r\n\thandleRugOrderLineStateChange(elementName, value) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t[elementName]: value\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thandleRugFormSelectChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t[elementName]: selection,\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tif (elementName === \"selectedFieldColor\") {\r\n\t\t\t\tthis.calculateFieldDsc();\r\n\t\t\t}\r\n\t\t\tif (elementName === \"selectedBorderColor\") {\r\n\t\t\t\tthis.calculateBorderDsc();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thandleFieldWidthSelectChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t[elementName]: selection\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tthis.fieldSizeChange();\r\n\t\t});\r\n\t}\r\n\r\n\thandlePadWidthSelectChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t[elementName]: selection\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tthis.defaultPadRequired();\r\n\t\t});\r\n\t}\r\n\r\n\tonHasPadCutChargeChange() {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\thasPadCutCharge: !this.state.orderLine.hasPadCutCharge\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tasync setSelectedBorder(option) {\r\n\t\tawait api.fetch(`Order/GetActiveProductColors/${option.value}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tborderColorList: response.data,\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\tselectedBorderColor: response.data.length > 0 ? response.data[0] : null\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\tawait api.fetch(`Product/GetProductWidths/${option.value}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tconst widths = _.map(response.data, w => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tvalue: w.widthId,\r\n\t\t\t\t\t\tlabel: w.widthName,\r\n\t\t\t\t\t\twidthNumericFeet: w.widthNumericFeet\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\twidthsList: widths,\r\n\t\t\t\t\t\tselectedBorderWidth: widths.length > 0 ? widths[0] : null\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\r\n\t\tawait\tapi.fetch(`Product/GetProductWithOrder/${option.value}/${this.state.orderId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t\t\tselectedBorder: option,\r\n\t\t\t\t\t\tborderCostPer: _.round(response.data.unitCost, 2).toFixed(2),\r\n\t\t\t\t\t\tborderPricePer: _.round(response.data.unitPrice, 2).toFixed(2),\r\n\t\t\t\t\t\t// borderRepeatWidth: _.round(response.data.repeatWidth, 3).toFixed(3),\r\n\t\t\t\t\t\t// borderRepeatLength: _.round(response.data.repeatLength, 3).toFixed(3),\r\n\t\t\t\t\t\tborderPriceUnitType: helpers.resolveValue(\r\n\t\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\t\tresponse.data.priceUnitTypeId,\r\n\t\t\t\t\t\t\tresponse.data.priceUnitTypeName),\r\n\t\t\t\t\t\t// repeatDsc: _.round(response.data.repeatWidth, 3).toFixed(3) + ' x ' + _.round(response.data.repeatLength, 3).toFixed(3),\r\n\t\t\t\t\t\t// fieldRun: response.data.run,\r\n\t\t\t\t\t\tproductAllowCommission: response.data.allowCommission,\r\n\t\t\t\t\t}\r\n\t\t\t\t}, () => {\r\n\t\t\t\t\tthis.borderSizeChange();\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(helpers.catchHandler);\r\n\t}\r\n\r\n\tcalculateBorderDsc() {\r\n\t\tlet dsc;\r\n\t\tif (this.state.orderLine.selectedBorder) {\r\n\t\t\t// dsc = `Field (A): ${this.state.orderLine.totalFieldUnits ? this.state.orderLine.totalFieldUnits : ''} ${this.state.orderLine.fieldPriceUnitType ? this.state.orderLine.fieldPriceUnitType.label : ''} ${this.state.orderLine.selectedField ? this.state.orderLine.selectedField.label : ''} ${this.state.orderLine.selectedFieldColor ? this.state.orderLine.selectedFieldColor.label : ''}`\r\n\t\t\tdsc = `${this.state.orderLine.borderLetter ? this.state.orderLine.borderLetter + \":\" : \"\"} ${this.state.orderLine.selectedBorder ? this.state.orderLine.selectedBorder.label : \"\"} ${this.state.orderLine.selectedBorderColor ? \", \" + this.state.orderLine.selectedBorderColor.label : ''}`\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tdsc: dsc\r\n\t\t\t}\r\n\t\t}, () => \tthis.setRugValidity());\r\n\t}\r\n\r\n\thandleBorderWidthSelectChange(elementName, selection) {\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\t[elementName]: selection\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tthis.borderSizeChange();\r\n\t\t});\r\n\t}\r\n\r\n\tborderSizeChange() {\r\n\t\tlet totalBorderUnits;\r\n\t\tif (this.state.orderLine && this.state.orderLine.selectedBorderWidth) {\r\n\t\t\tlet lngth = 0;\r\n\t\t\tif ((this.state.orderLine.borderLengthFeet !== '' || this.state.orderLine.borderLengthFeet !== null)\r\n\t\t\t\t&& (this.state.orderLine.borderLengthInches !== \"\" || this.state.orderLine.borderLengthInches !== null)) {\r\n\t\t\t\tlngth = parseFloat(this.state.orderLine.borderLengthFeet.toString()) + (parseFloat(this.state.orderLine.borderLengthInches.toString()) / 12.0)\r\n\t\t\t}\r\n\t\t\tif (lngth === 0) {this.calculateBorderDsc()};\r\n\t\t\tlet widthNumericFeet = 0;\r\n\t\t\t//if (this.state.orderLine && this.state.orderLine.selectedBorderWidth) {\r\n\t\t\t\twidthNumericFeet = this.state.orderLine.selectedBorderWidth.widthNumericFeet;\r\n\t\t\t//}\r\n\t\t\tif (this.state.orderLine.borderPriceUnitType && this.state.orderLine.borderPriceUnitType.label === \"Sq Yds\") {\r\n\t\t\t\tlet sqYds = ((widthNumericFeet / 3.0) * lngth) / 3.0;\r\n\t\t\t\tif (isNaN(sqYds)) {this.calculateBorderDsc()};\r\n\t\t\t\ttotalBorderUnits = sqYds;\r\n\t\t\t} else if (this.state.orderLine.borderPriceUnitType && this.state.orderLine.borderPriceUnitType.label === \"Sq Ft\") {\r\n\t\t\t\ttotalBorderUnits = widthNumericFeet * lngth\r\n\t\t\t} else {\r\n\t\t\t\ttotalBorderUnits = \"0.0\"\r\n\t\t\t\t// message = \"Cannot calculate required material for this price unit: \" + this.state.orderLine.priceUnitType.label + \". Unknown Price Units\",\r\n\t\t\t\t// messageFlavor = \"danger\"\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\ttotalBorderUnits: _.round(totalBorderUnits, 3).toFixed(3)\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tthis.updateBorderTotals()\r\n\t\t})\r\n\t}\r\n\r\n\tupdateBorderTotals() {\r\n\t\tlet totalBorderPrice = this.state.orderLine.borderPricePer * this.state.orderLine.totalBorderUnits;\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\tborderCostPer: _.round(this.state.orderLine.borderCostPer, 2).toFixed(2),\r\n\t\t\t\tborderPricePer: _.round(this.state.orderLine.borderPricePer, 2).toFixed(2),\r\n\t\t\t\tborderCmsnRate: _.round(this.state.orderLine.borderCmsnRate, 2).toFixed(2),\r\n\t\t\t\ttotalBorderPrice: _.round(totalBorderPrice, 2).toFixed(2),\r\n\t\t\t\ttotalBorderCost: _.round(this.state.orderLine.borderCostPer * this.state.orderLine.totalBorderUnits, 2).toFixed(2),\r\n\t\t\t\tborderCmsn: _.round((this.state.orderLine.borderCmsnRate / 100.0) * totalBorderPrice, 2).toFixed(2)\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tthis.calculateBorderDsc();\r\n\t\t})\r\n\t}\r\n\r\n\tupdateCustomRug(customRugOrderLine) {\r\n\t\twindow.scroll(0, 0);\r\n\t\tthis.setState({\r\n\t\t\tshowOrderLineForm: false,\r\n\t\t\tcustomRugToViewEdit: customRugOrderLine\r\n\t\t});\r\n\t}\r\n\r\n\treturnToMainOrderLineScreen() {\r\n\t\twindow.scroll(0, 0);\r\n\t\tthis.setState({\r\n\t\t\tshowOrderLineForm: false,\r\n\t\t\tcustomRugToViewEdit: null\r\n\t\t}, () => this.cancelAddOrUpdateOrderLine());\r\n\t}\r\n\r\n\tisCustomRugOrderLineFormValid() { // quotes only -- angular app\r\n\t\tconst warnings = [];\r\n\t\tif (this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CUSTOM_RUG.value) {\r\n\t\t\tif (!this.state.orderLine.rugDsc) {\r\n\t\t\t\twarnings.push(\"Rug Description is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.rugWidthFeet) {\r\n\t\t\t\twarnings.push(\"Rug Width Feet is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.rugWidthInches) {\r\n\t\t\t\twarnings.push(\"Rug Width Inches is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.rugLengthFeet) {\r\n\t\t\t\twarnings.push(\"Rug Length Feet is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.rugLengthInches) {\r\n\t\t\t\twarnings.push(\"Rug Length Inches required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.selectedField) {\r\n\t\t\t\twarnings.push(\"Field is required.\");\r\n\t\t\t}\r\n\t\t\t// if (!this.state.orderLine.selectedFieldColor) {\r\n\t\t\t// \twarnings.push(\"Field Color is required.\");\r\n\t\t\t// }\r\n\t\t\tif (!this.state.orderLine.selectedFieldWidth) {\r\n\t\t\t\twarnings.push(\"Field Width is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.fieldLengthFeet) {\r\n\t\t\t\twarnings.push(\"Field Length Feet is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.fieldLengthInches && !this.state.fieldInches === 0) {\r\n\t\t\t\t//zero is a valid number of inches\r\n\t\t\t\twarnings.push(\"Field Length Inches is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.fieldPricePer) {\r\n\t\t\t\twarnings.push(\"Field Unit Price is required.\");\r\n\t\t\t}\r\n\t\t\tif (!this.state.orderLine.fieldCmsnRate) {\r\n\t\t\t\twarnings.push(\"Field Commission Rate is required.\");\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasCutCharge) {\r\n\t\t\t\tif (!this.state.orderLine.rugCutChargeCost) {\r\n\t\t\t\t\twarnings.push(\"Cut Charge Cost is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.rugCutChargePrice) {\r\n\t\t\t\t\twarnings.push(\"Cut Charge Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasEndArmor) {\r\n\t\t\t\tif (!this.state.orderLine.rugArmorCost) {\r\n\t\t\t\t\twarnings.push(\"End Armor Cost is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.rugArmorPrice) {\r\n\t\t\t\t\twarnings.push(\"End Armor Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasInboundFreight) {\r\n\t\t\t\tif (!this.state.orderLine.rugInboundFreightCost) {\r\n\t\t\t\t\twarnings.push(\"Inbound Freight Cost is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.rugInboundFreightCost) {\r\n\t\t\t\t\twarnings.push(\"Inbound Freight Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasBacking) {\r\n\t\t\t\tif (!this.state.orderLine.totalRugBackingUnits) {\r\n\t\t\t\t\twarnings.push(\"Backing Sq Ft is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.rugBackingPricePer) {\r\n\t\t\t\t\twarnings.push(\"Backing Unit Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.rugBackingCmsnRate) {\r\n\t\t\t\t\twarnings.push(\"Backing Cmsn % is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasPad && this.state.orderLine.hasPadCutCharge) {\r\n\t\t\t\tif (!this.state.orderLine.padCutCost) {\r\n\t\t\t\t\twarnings.push(\"Pad Cut Charge Cost is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.padCutPrice) {\r\n\t\t\t\t\twarnings.push(\"Pad Cut Charge Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasClippedCorners) {\r\n\t\t\t\tif (!this.state.orderLine.rugClippedCornersCost) {\r\n\t\t\t\t\twarnings.push(\"Clipped Corners Cost is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.rugClippedCornersPrice) {\r\n\t\t\t\t\twarnings.push(\"Clipped Corners Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasLaborCutout) {\r\n\t\t\t\tif (!this.state.orderLine.rugLaborCutoutCost) {\r\n\t\t\t\t\twarnings.push(\"Cutout Labor Cost is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.rugLaborCutoutPrice) {\r\n\t\t\t\t\twarnings.push(\"Cutout Labor Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasLaborRound) {\r\n\t\t\t\tif (!this.state.orderLine.rugLaborRoundCost) {\r\n\t\t\t\t\twarnings.push(\"Round/Oval Labor Cost is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.rugLaborRoundPrice) {\r\n\t\t\t\t\twarnings.push(\"Round/Oval Labor Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasPad) {\r\n\t\t\t\tif (!this.state.orderLine.selectedPad) {\r\n\t\t\t\t\twarnings.push(\"Please select a pad or remove pad.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.selectedPadWidth) {\r\n\t\t\t\t\twarnings.push(\"Pad Width is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.padLengthFeet) {\r\n\t\t\t\t\twarnings.push(\"Pad Length Feet is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.padPricePer) {\r\n\t\t\t\t\twarnings.push(\"Pad Unit Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.padCmsnRate) {\r\n\t\t\t\t\twarnings.push(\"Pad Commission Rate is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.selectedRugEdge === EDGE_TYPES.MACHINED) {\r\n\t\t\t\tif (!this.state.orderLine.selectedMSerging) {\r\n\t\t\t\t\twarnings.push(\"Edge Style is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.mSergingPricePer) {\r\n\t\t\t\t\twarnings.push(\"Edge Unit Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.mSergingCmsnRate) {\r\n\t\t\t\t\twarnings.push(\"Edge Commission Rate is required.\");\r\n\t\t\t\t}\r\n\t\t\t} else if (this.state.selectedRugEdge === EDGE_TYPES.MITERED) {\r\n\t\t\t\tif (!this.state.orderLine.selectedHSSerging) {\r\n\t\t\t\t\twarnings.push(\"Edge Style is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.hsSergingPricePer) {\r\n\t\t\t\t\twarnings.push(\"Edge Unit Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.hsSergingCmsnRate) {\r\n\t\t\t\t\twarnings.push(\"Edge Commission Rate is required.\");\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (!this.state.orderLine.selectedSerging) {\r\n\t\t\t\t\twarnings.push(\"Edge Style is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.sergingPricePer) {\r\n\t\t\t\t\twarnings.push(\"Edge Unit Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.sergingCmsnRate) {\r\n\t\t\t\t\twarnings.push(\"Edge Commission Rate is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.selectedRugEdge === EDGE_TYPES.MACHINED\r\n\t\t\t\t|| this.state.selectedRugEdge === EDGE_TYPES.MITERED) {\r\n\t\t\t\tif (!this.state.orderLine.selectedRugBindingStyle) {\r\n\t\t\t\t\twarnings.push(\"Binding Style is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.selectedRugBindingColor) {\r\n\t\t\t\t\twarnings.push(\"Binding Color is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.rugBindingPricePer) {\r\n\t\t\t\t\twarnings.push(\"Binding Unit Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.rugBindingCmsnRate) {\r\n\t\t\t\t\twarnings.push(\"Field Commission Rate is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.state.editingFreight) {\r\n\t\t\t\tif (!this.state.orderLine.freightDsc) {\r\n\t\t\t\t\twarnings.push(\"Freight Description is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.freightCarrier) {\r\n\t\t\t\t\twarnings.push(\"Freight Carrier is required.\");\r\n\t\t\t\t}\r\n\t\t\t\t// if (!this.state.orderLine.freightTerms) {\r\n\t\t\t\t// warnings.push(\"Freight Terms is required.\");\r\n\t\t\t\t// }\r\n\t\t\t\t// if (!this.state.orderLine.freightSidemark) {\r\n\t\t\t\t// warnings.push(\"Freight Sidemark is required.\");\r\n\t\t\t\t// }\r\n\t\t\t\t// if (!this.state.orderLine.freightInvoiceNumber) {\r\n\t\t\t\t// warnings.push(\"Freight Invoice Number is required.\");\r\n\t\t\t\t// }\r\n\t\t\t\t// if (!this.state.orderLine.freightBolNumber) {\r\n\t\t\t\t// warnings.push(\"Freigh Bol Number is required.\");\r\n\t\t\t\t// }\r\n\t\t\t\tif (!this.state.orderLine.freightCost) {\r\n\t\t\t\t\twarnings.push(\"Freight Cost is required.\");\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.state.orderLine.freightPrice) {\r\n\t\t\t\t\twarnings.push(\"Freight Price is required.\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (warnings.length) {\r\n\t\t\tthis.setState({ message: warnings.join(' '), messageFlavor: \"danger\" });\r\n\t\t}\r\n\t\treturn warnings.length === 0;\r\n\t}\r\n\r\n\tsaveCustomRugOrderLine() {\r\n\t\twindow.scroll(0, 0);\r\n\t\tif (!this.isCustomRugOrderLineFormValid()) return;\r\n\t\tsetTimeout(() => {\r\n\t\t\tlet componentLines = [];\r\n\t\t\tcomponentLines.push(\r\n\t\t\t\tthis.parseFieldLine())\r\n\t\t\tif (this.state.orderLine.rugHasCutCharge) {\r\n\t\t\t\tcomponentLines.push(\r\n\t\t\t\t\tthis.parseMiscLine(this.state.orderLine.rugCutChargeCost, this.state.orderLine.rugCutChargeCost, this.state.orderLine.rugCutChargePrice, this.state.orderLine.rugCutChargePrice, 0, 0, \"1 X Cut Charge\", this.state.customRugComponentProducts.DefaultCutChargeProduct.value, 1)); // 1133 // was -1 //supplierProductId = -1?\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasEndArmor) {\r\n\t\t\t\tcomponentLines.push(\r\n\t\t\t\t\tthis.parseMiscLine(this.state.orderLine.rugArmorCost, this.state.orderLine.rugArmorCost, this.state.orderLine.rugArmorPrice, this.state.orderLine.rugArmorPrice, 0, 0, \"1 X 8 Rug Ends Armor Charge\", this.state.customRugComponentProducts.DefaultRugEndArmorProduct.value, 1)); // 3907 // was 4025 //legacy supplierProductId = 4649\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasInboundFreight) {\r\n\t\t\t\tcomponentLines.push(\r\n\t\t\t\t\tthis.parseMiscLine(\r\n\t\t\t\t\t\tthis.state.orderLine.rugInboundFreightCost, \r\n\t\t\t\t\t\tthis.state.orderLine.rugInboundFreightCost, \r\n\t\t\t\t\t\tthis.state.orderLine.rugInboundFreightPrice, \r\n\t\t\t\t\t\tthis.state.orderLine.rugInboundFreightPrice, \r\n\t\t\t\t\t\t0, \r\n\t\t\t\t\t\t0, \r\n\t\t\t\t\t\t`1 X ${this.state.orderLine.selectedInboundFreight.label}`,\t\r\n\t\t\t\t\t\tthis.state.orderLine.selectedInboundFreight.value,\t// this.state.customRugComponentProducts.DefaultInboundFreightProduct.value, \r\n\t\t\t\t\t\t1\r\n\t\t\t\t\t)\r\n\t\t\t\t); //2530 // was 2645 //legacy supplierProductId = 3070\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasBacking) {\r\n\t\t\t\tcomponentLines.push(\r\n\t\t\t\t\tthis.parseMiscLine(this.state.orderLine.rugBackingCostPer, this.state.orderLine.totalRugBackingCost, this.state.orderLine.rugBackingPricePer, this.state.orderLine.totalRugBackingPrice, this.state.orderLine.rugBackingCmsn, this.state.orderLine.rugBackingCmsnRate, `${this.state.orderLine.totalRugBackingUnits} X 1 Rug Backing Custom Rug`, this.state.customRugComponentProducts.DefaultBackingProduct.value, this.state.orderLine.totalRugBackingUnits)); // 2391 // was 2505 //legacy supplierProductId = 2908\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasPad && this.state.orderLine.hasPadCutCharge) {\r\n\t\t\t\tcomponentLines.push(\r\n\t\t\t\t\tthis.parseMiscLine(\r\n\t\t\t\t\t\tthis.state.orderLine.padCutCost,\r\n\t\t\t\t\t\tthis.state.orderLine.padCutCost,\r\n\t\t\t\t\t\tthis.state.orderLine.padCutPrice,\r\n\t\t\t\t\t\tthis.state.orderLine.padCutPrice,\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\"1 X 6 Rug Pad Cut Fee Over 31SF\",\r\n\t\t\t\t\t\t(parseFloat(this.state.orderLine.totalPadUnits) <= 30 && this.state.orderLine.padPriceUnitType.value == constants.PRICE_UNIT_TYPE.SQ_FT.value)\r\n\t\t\t\t\t\t\t|| (parseFloat(this.state.orderLine.totalPadUnits) <= 30/9 && this.state.orderLine.padPriceUnitType.value == constants.PRICE_UNIT_TYPE.SQ_YARDS.value)\r\n\t\t\t\t\t\t\t\t ? this.state.customRugComponentProducts.Under30SFPadCutChargeProduct.value\r\n\t\t\t\t\t\t\t\t : this.state.customRugComponentProducts.DefaultPadCutChargeProduct.value,\r\n\t\t\t\t\t\t1\r\n\t\t\t\t\t)\r\n\t\t\t\t); // 2384 // was 2498 //legacy supplierProductId = 2901\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasClippedCorners) {\r\n\t\t\t\tcomponentLines.push(\r\n\t\t\t\t\tthis.parseMiscLine(this.state.orderLine.rugClippedCornersCost, this.state.orderLine.rugClippedCornersCost, this.state.orderLine.rugClippedCornersPrice, this.state.orderLine.rugClippedCornersPrice, 0, 0, \"1 X Applied (1) Clipped Corner\", this.state.customRugComponentProducts.DefaultClippedCornersProduct.value, 1)); // 2573 // was 2688 //legacy supplierProductId = 3116\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasLaborCutout) {\r\n\t\t\t\tcomponentLines.push(\r\n\t\t\t\t\tthis.parseMiscLine(this.state.orderLine.rugLaborCutoutCost, this.state.orderLine.rugLaborCutoutCost, this.state.orderLine.rugLaborCutoutPrice, this.state.orderLine.rugLaborCutoutPrice, 0, 0, \"1 X Applied Labor Cutout/ Fireplace\", this.state.customRugComponentProducts.DefaultLaborCutoutProduct.value, 1)); //2581 // was 2696 //legacy supplierProductId = 3127\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.rugHasLaborRound) {\r\n\t\t\t\tcomponentLines.push(\r\n\t\t\t\t\tthis.parseMiscLine(this.state.orderLine.rugLaborRoundCost, this.state.orderLine.rugLaborRoundCost, this.state.orderLine.rugLaborRoundPrice, this.state.orderLine.rugLaborRoundPrice, 0, 0, \"1 X Applied Labor Round/Oval/Octagon shape\", this.state.customRugComponentProducts.DefaultLaborRoundProduct.value, 1)); //2574 // was 2689 //legacy supplierProductId = 3117\r\n\t\t\t}\r\n\t\t\tif (this.state.orderLine.finishedEdgeFt < 15.0) {\r\n\t\t\t\tcomponentLines.push(\r\n\t\t\t\t\tthis.parseMiscLine(\r\n\t\t\t\t\t\tthis.state.customRugComponentProducts.DefaultFabricationChargeProduct.unitCost,\r\n\t\t\t\t\t\tthis.state.customRugComponentProducts.DefaultFabricationChargeProduct.unitCost,\r\n\t\t\t\t\t\tthis.state.customRugComponentProducts.DefaultFabricationChargeProduct.unitPrice,\r\n\t\t\t\t\t\tthis.state.customRugComponentProducts.DefaultFabricationChargeProduct.unitPrice,\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\"xFabrication Charge minn\",\r\n\t\t\t\t\t\tthis.state.customRugComponentProducts.DefaultFabricationChargeProduct.value,\r\n\t\t\t\t\t\t1\r\n\t\t\t\t\t)\r\n\t\t\t\t); //2535 //legacy supplierProductId = 3075\r\n\t\t\t}\r\n\t\t\tcomponentLines.push(this.parseEdgeLine());\r\n\r\n\t\t\t// let rugShapeId = this.state.orderLine.rugHasLaborRound \r\n\t\t\t// \t? rugShapeId = 1 // 1 - Round Oval\r\n\t\t\t// \t: rugShapeId = 2; // 2 - Rectangular\r\n\t\t\t// _.forEach(componentLines, cl => {\r\n\t\t\t// \tcl.OrderLine = Object.assign({}, {...cl.OrderLine, RugShapeId: rugShapeId});\r\n\t\t\t// })\r\n\t\t\tlet padOrderLine;\r\n\t\t\tlet bindingOrderLine;\r\n\t\t\tlet freightOrderLine;\r\n\t\t\tif (this.state.orderLine.rugHasPad) {\r\n\t\t\t\tpadOrderLine = this.parsePadLine();\r\n\t\t\t}\r\n\t\t\tif (this.state.selectedRugEdge === EDGE_TYPES.MACHINED\r\n\t\t\t\t|| this.state.selectedRugEdge === EDGE_TYPES.MITERED) {\r\n\t\t\t\tbindingOrderLine = this.parseBindingLine();\r\n\t\t\t}\r\n\t\t\tif (this.state.editingFreight) {\r\n\t\t\t\tfreightOrderLine = this.formatFreightOrderLineForDto(this.state.orderLine);\r\n\t\t\t}\r\n\t\t\tconst orderLineComments = this.formatOrderLineCommentsForDto(this.state.orderLineCommentList, this.state.orderLine.id);\r\n\t\t\tconst rugOrderLine = {\r\n\t\t\t\tOrderLine: {\r\n\t\t\t\t\tId: this.state.orderLine.id,\r\n\t\t\t\t\tOrderId: this.state.orderId,\r\n\t\t\t\t\tParentOrderLineId: null,\r\n\t\t\t\t\tOrderLineTypeId: constants.ORDER_LINE_TYPE.CUSTOM_RUG.value, //this.state.orderLine.orderLineType.value,\r\n\t\t\t\t\tDsc: this.state.orderLine.rugDsc,\r\n\t\t\t\t\tIsHidden: false,\r\n\t\t\t\t\tCreatedAt: moment(),\r\n\t\t\t\t\tCreatedByUserId: this.props.currentUser.id,\r\n\t\t\t\t\tCmsnRate: 0,\r\n\t\t\t\t\tCmsn: 0,\r\n\t\t\t\t\tUnitCost: 0,\r\n\t\t\t\t\tPriceUnitTypeId: constants.PRICE_UNIT_TYPE.EACH.value,\r\n\t\t\t\t\tUnitPrice: 0,\r\n\t\t\t\t\tRugLengthFeet: Number(this.state.orderLine.rugLengthFeet),\r\n\t\t\t\t\tRugLengthInches: Number(this.state.orderLine.rugLengthInches),\r\n\t\t\t\t\tRugWidthFeet: Number(this.state.orderLine.rugWidthFeet),\r\n\t\t\t\t\tRugWidthInches: Number(this.state.orderLine.rugWidthInches),\r\n\t\t\t\t\tFinishedSize: this.state.orderLine.finishedSize.label,\r\n\t\t\t\t\tRugShapeId: this.state.orderLine.rugShape \r\n\t\t\t\t\t\t? this.state.orderLine.rugShape.value \r\n\t\t\t\t\t\t: null,\r\n\t\t\t\t\tForOutdoorUse: this.state.orderLine.forOutdoorUse\r\n\t\t\t\t},\r\n\t\t\t\tFreightOrderLine: freightOrderLine,\r\n\t\t\t\tOrderLineComments: orderLineComments\r\n\t\t\t};\r\n\t\t\tconst payload = {\r\n\t\t\t\tRugOrderLine: rugOrderLine,\r\n\t\t\t\tComponentLines: componentLines,\r\n\t\t\t\tPadOrderLine: padOrderLine ? padOrderLine : null,\r\n\t\t\t\tBindingOrderLine: bindingOrderLine ? bindingOrderLine : null\r\n\t\t\t};\r\n\t\t\tapi.post(\"Order/SaveCustomRugOrderLine\", payload)\r\n\t\t\t\t.then(response => {\r\n\t\t\t\t\tif (response.data.success) {\r\n\t\t\t\t\t\tthis.getOrderLines(this.state.orderId);\r\n\t\t\t\t\t\tthis.getOrderFulfillments(this.state.orderId);\r\n\t\t\t\t\t\t// this.getOrderTotals(this.state.orderLIn)\r\n\t\t\t\t\t\tthis.cancelAddOrUpdateOrderLine();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(helpers.catchHandler);\r\n\t\t}, 300);\r\n\t}\r\n\r\n\tparseFieldLine() {\r\n\t\tconsole.log(\"Orderline on state\", this.state.orderLine);\r\n\t\tconst fieldLine = {\r\n\t\t\tOrderLine: {\r\n\t\t\t\tId: this.state.orderLine.id ? this.state.orderLine.id : 0,\r\n\t\t\t\tOrderId: this.state.orderId,\r\n\t\t\t\tParentOrderLineId: this.state.orderLine.parentOrderLineId ? this.state.orderLine.parentOrderLineId : null, // rugOrderLineId (added on backend after parent custom rug has been created)\r\n\t\t\t\tOrderLineTypeId: constants.ORDER_LINE_TYPE.RUG_FIELD.value,\r\n\t\t\t\tCreatedAt: this.state.orderLine.createdAt ? this.state.orderLine.createdAt : moment(),\r\n\t\t\t\tCreatedByUserId: this.props.currentUser.id,\r\n\t\t\t\tCmsnRate: this.state.orderLine.productAllowCommission ? Number(this.state.orderLine.fieldCmsnRate) : 0,\r\n\t\t\t\tCmsn: this.state.orderLine.productAllowCommission ? Number(this.state.orderLine.fieldCmsn) : 0,\r\n\t\t\t\tUnitCost: Number(this.state.orderLine.fieldCostPer),\r\n\t\t\t\tCost: Number(this.state.orderLine.totalFieldCost), // Cost: Math.round(this.state.orderLine.totalFieldCost * 100) / 100,\r\n\t\t\t\tDsc: this.state.orderLine.dsc ? this.state.orderLine.dsc : calc.getFieldDescription(this.state.orderLine.selectedField.label, this.state.orderLine.selectedFieldColor), // rug quote does not allow dsc to be entered, so default\r\n\t\t\t\tIsHidden: true,\r\n\t\t\t\tUnitPrice: Number(this.state.orderLine.fieldPricePer),\r\n\t\t\t\tPrice: Number(this.state.orderLine.totalFieldPrice), // Price: Math.round(this.state.orderLine.totalFieldPrice * 100) / 100,\r\n\t\t\t\tPriceUnitTypeId: this.state.orderLine.fieldPriceUnitType.value,\r\n\t\t\t\tQty: Number(this.state.orderLine.totalFieldUnits), // SquareYards: Math.round(this.state.orderLine.totalFieldUnits * 100) / 100,\r\n\t\t\t\tOrderLineStatusId: this.state.orderLine.orderLineStatus ? this.state.orderLine.orderLineStatus.value : constants.ORDER_LINE_STATUS.NA.value,\r\n\t\t\t\tProductId: this.state.orderLine.selectedField.value,\r\n\t\t\t\tProductColorId: this.state.orderLine.selectedFieldColor ? this.state.orderLine.selectedFieldColor.value : null,\r\n\t\t\t\t// LengthInches: Number(this.state.orderLine.fieldLengthInches), no such thing on backend\r\n\t\t\t\tLengthFeet: Number(this.state.orderLine.fieldLengthFeet) + (Number(this.state.orderLine.fieldLengthInches) / 12.0),\r\n\t\t\t\tWidthFeet: Number(this.state.orderLine.selectedFieldWidth.widthNumericFeet),\r\n\t\t\t\tRepeatDsc: this.state.orderLine.repeatDsc, //this.state.orderLine.fieldRepeatWidth + ' x ' + this.state.orderLine.fieldRepeatLength,\r\n\t\t\t\tRepeatNumeric: Number(this.state.orderLine.appliedFieldRepeat),\r\n\t\t\t\tRun: this.state.orderLine.fieldRun,\r\n\t\t\t\tBorderLetter: \"A\",\r\n\t\t\t\tWidthId: this.state.orderLine.selectedFieldWidth ? this.state.orderLine.selectedFieldWidth.value : null,\r\n\t\t\t\t// RugShape: this.state.orderLine.rugShape ? this.state.orderLine.rugShape : null\r\n\t\t\t},\r\n\t\t\tFreightOrderLine: null,\r\n\t\t\tOrderLineComments: []\r\n\t\t}\r\n\t\treturn fieldLine;\r\n\t}\r\n\r\n\tparseBorderLine() {\r\n\t\tconst borderLine = {\r\n\t\t\tOrderLine: {\r\n\t\t\t\tId: this.state.orderLine.id ? this.state.orderLine.id : 0,\r\n\t\t\t\tOrderId: this.state.orderId,\r\n\t\t\t\tParentOrderLineId: this.state.orderLine.parentOrderLineId ? this.state.orderLine.parentOrderLineId : null, // rugOrderLineId (added on backend after parent custom rug has been created)\r\n\t\t\t\tOrderLineTypeId: constants.ORDER_LINE_TYPE.RUG_BORDER.value,\r\n\t\t\t\tCreatedAt: moment(),\r\n\t\t\t\tCreatedByUserId: this.props.currentUser.id,\r\n\t\t\t\tCmsnRate: this.state.orderLine.productAllowCommission ? Number(this.state.orderLine.borderCmsnRate) : 0,\r\n\t\t\t\tCmsn: this.state.orderLine.productAllowCommission ? Number(this.state.orderLine.borderCmsn) : 0, // Cmsn: Math.round(this.state.orderLine.borderCmsn * 100) / 100,\r\n\t\t\t\tUnitCost: Number(this.state.orderLine.borderCostPer),\r\n\t\t\t\tCost: Number(this.state.orderLine.totalBorderCost), // Cost: Math.round(this.state.orderLine.totalBorderCost * 100) / 100,\r\n\t\t\t\tDsc: this.state.orderLine.dsc,\r\n\t\t\t\tIsHidden: true,\r\n\t\t\t\tUnitPrice: Number(this.state.orderLine.borderPricePer),\r\n\t\t\t\tPrice: Number(this.state.orderLine.totalBorderPrice), // Price: Math.round(this.state.orderLine.totalBorderPrice * 100) / 100,\r\n\t\t\t\tPriceUnitTypeId: this.state.orderLine.borderPriceUnitType.value,\r\n\t\t\t\tQty: Number(this.state.orderLine.totalBorderUnits), // SquareYards: Math.round(this.state.orderLine.totalBorderUnits * 100) / 100,\r\n\t\t\t\tOrderLineStatusId: this.state.orderLine.orderLineStatus ? this.state.orderLine.orderLineStatus.value : constants.ORDER_LINE_STATUS.NA.value,\r\n\t\t\t\tProductId: this.state.orderLine.selectedBorder.value,\r\n\t\t\t\tProductColorId: this.state.orderLine.selectedBorderColor.value,\r\n\t\t\t\t// LengthInches: Number(this.state.orderLine.borderLengthInches), no such thing on backend\r\n\t\t\t\tLengthFeet: Number(this.state.orderLine.borderLengthFeet) + (Number(this.state.orderLine.borderLengthInches) / 12.0),\r\n\t\t\t\tWidthFeet: Number(this.state.orderLine.selectedBorderWidth.widthNumericFeet),\r\n\t\t\t\tBorderLetter: this.state.orderLine.borderLetter,\r\n\t\t\t\tBorderWidth: this.state.orderLine.borderWidth,\r\n\t\t\t\tWidthId: this.state.orderLine.selectedBorderWidth ? this.state.orderLine.selectedBorderWidth.value : null\r\n\t\t\t},\r\n\t\t\tFreightOrderLine: null,\r\n\t\t\tOrderLineComments: []\r\n\t\t}\r\n\t\treturn borderLine;\r\n\t}\r\n\r\n\tparseMiscLine(unitCost, cost, unitPrice, price, cmsn=0, cmsnRate=0, dsc, productId=0, qty=1) {\r\n\t\tconst miscLine = {\r\n\t\t\tOrderLine: {\r\n\t\t\t\tId: this.state.orderLine.id ? this.state.orderLine.id : 0,\r\n\t\t\t\tOrderId: this.state.orderId,\r\n\t\t\t\tParentOrderLineId: this.state.orderLine.parentOrderLineId ? this.state.orderLine.parentOrderLineId : null, // rugOrderLineId (added on backend after parent custom rug has been created)\r\n\t\t\t\tCreatedAt: moment(),\r\n\t\t\t\tCreatedByUserId: this.props.currentUser.id,\r\n\t\t\t\tCmsnRate: this.state.orderLine.productAllowCommission ? Number(cmsnRate) : 0,\r\n\t\t\t\tCmsn: this.state.orderLine.productAllowCommission ? Number(cmsn) : 0,\r\n\t\t\t\tUnitCost: Number(unitCost),\r\n\t\t\t\tCost: Number(cost),\r\n\t\t\t\tDsc: dsc,\r\n\t\t\t\tQty: Number(qty),\r\n\t\t\t\tHidden: true,\r\n\t\t\t\tOrderLineTypeId: constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n\t\t\t\tUnitPrice: Number(unitPrice),\r\n\t\t\t\tPrice: Number(price),\r\n\t\t\t\tPriceUnitTypeId: constants.PRICE_UNIT_TYPE.EACH.value,\r\n\t\t\t\tOrderLineStatusId: constants.ORDER_LINE_STATUS.NA.value, // No misc rug component orderlines had status in old system\r\n\t\t\t\tProductId: productId\r\n\t\t\t},\r\n\t\t\tFreightOrderLine: null,\r\n\t\t\tOrderLineComments: []\r\n\t\t}\r\n\t\treturn miscLine\r\n\t}\r\n\r\n\tparsePadLine() {\r\n\t\tconst padLine = {\r\n\t\t\tOrderLine: {\r\n\t\t\t\tId: 0,\r\n\t\t\t\tOrderId: this.state.orderId,\r\n\t\t\t\tParentOrderLineId: null,\r\n\t\t\t\tCreatedAt: moment(),\r\n\t\t\t\tCreatedByUserId: this.props.currentUser.id,\r\n\t\t\t\tCmsnRate: this.state.orderLine.productAllowCommission ? Number(this.state.orderLine.padCmsnRate) : 0,\r\n\t\t\t\tCmsn: this.state.orderLine.productAllowCommission ? Number(this.state.orderLine.padCmsn): 0, \t\t\t// Cmsn: Math.round(this.state.orderLine.padCmsn * 100) / 100,\r\n\t\t\t\tUnitCost: Number(this.state.orderLine.padCostPer),\r\n\t\t\t\tCost: Number(this.state.orderLine.totalPadCost),\r\n\t\t\t\tDsc: this.state.orderLine.selectedPad.label,\r\n\t\t\t\tHidden: false,\r\n\t\t\t\tOrderLineTypeId: constants.ORDER_LINE_TYPE.RUG_PAD.value,\r\n\t\t\t\tUnitPrice: Number(this.state.orderLine.padPricePer),\r\n\t\t\t\tPrice: Number(this.state.orderLine.totalPadPrice),\r\n\t\t\t\tPriceUnitTypeId: this.state.orderLine.padPriceUnitType.value,\r\n\t\t\t\tQty: Number(this.state.orderLine.totalPadUnits), \t\t\t\t// Math.round(this.state.orderLine.totalFieldUnits * 100) / 100,\r\n\t\t\t\tOrderLineStatusId: constants.ORDER_LINE_STATUS.MAT_EMERY_PARK.value, //should this be constant?\r\n\t\t\t\tProductId: this.state.orderLine.selectedPad.value,\r\n\t\t\t\tLengthFeet: Number(this.state.orderLine.padLengthFeet),\r\n\t\t\t\tWidthId: this.state.orderLine.selectedPadWidth ? this.state.orderLine.selectedPadWidth.value : null,\r\n\t\t\t\tRugSize: this.state.orderLine.rugWidthFeet + \"\\' \" + this.state.orderLine.rugWidthInches + \"\\\" x \" + this.state.orderLine.rugLengthFeet + \"\\' \" + this.state.orderLine.rugLengthInches + \"\\\"\"\r\n\t\t\t},\r\n\t\t\tFreightOrderLine: null,\r\n\t\t\tOrderLineComments: []\r\n\t\t}\r\n\t\treturn padLine;\r\n\t}\r\n\r\n\tparseBindingLine() {\r\n\t\tconst bindingLine = {\r\n\t\t\tOrderLine: {\r\n\t\t\t\tId: 0,\r\n\t\t\t\tOrderId: this.state.orderId,\r\n\t\t\t\tParentOrderLineId: null, // save as separate order line or as part of custom rug order line?\r\n\t\t\t\tCreatedAt: moment(),\r\n\t\t\t\tCreatedByUserId: this.props.currentUser.id,\r\n\t\t\t\tCmsnRate: this.state.orderLine.productAllowCommission ? Number(this.state.orderLine.rugBindingCmsnRate) : 0,\r\n\t\t\t\tCmsn: this.state.orderLine.productAllowCommission ? Number(this.state.orderLine.rugBindingCmsn) : 0,\r\n\t\t\t\tUnitCost: Number(this.state.orderLine.rugBindingCostPer),\r\n\t\t\t\tCost: Number(this.state.orderLine.totalRugBindingCost),\r\n\t\t\t\tDsc: this.state.orderLine.selectedRugBindingStyle.label + ' - ' + this.state.orderLine.selectedRugBindingColor.label,\r\n\t\t\t\tHidden: false,\r\n\t\t\t\tOrderLineTypeId: constants.ORDER_LINE_TYPE.BINDING.value,\r\n\t\t\t\tUnitPrice: Number(this.state.orderLine.rugBindingPricePer),\r\n\t\t\t\tPrice: Number(this.state.orderLine.totalRugBindingPrice),\r\n\t\t\t\tPriceUnitTypeId: constants.PRICE_UNIT_TYPE.LIN_FT.value,\r\n\t\t\t\tOrderLineStatusId: constants.ORDER_LINE_STATUS.IN_STOCK.value, //should this be constant?,\r\n\t\t\t\tProductId: this.state.orderLine.selectedRugBindingStyle.value,\r\n\t\t\t\tProductColorId: this.state.orderLine.selectedRugBindingColor.value,\r\n\t\t\t\tLengthFeet: Number(this.state.orderLine.finishedEdgeFt) \t\t\t// should be saved in Qty\r\n\t\t\t},\r\n\t\t\tFreightOrderLine: null,\r\n\t\t\tOrderLineComments: []\r\n\t\t}\r\n\t\treturn bindingLine;\r\n\t}\r\n\r\n\tparseEdgeLine() {\r\n\t\tlet CmsnRate;\r\n\t\tlet Cmsn;\r\n\t\tlet UnitCost;\r\n\t\tlet Cost;\r\n\t\tlet Dsc;\r\n\t\tlet UnitPrice;\r\n\t\tlet Price;\r\n\t\tlet SupplierProductId;\r\n\t\tif (this.state.selectedRugEdge === EDGE_TYPES.MACHINED) {\r\n\t\t\tCmsnRate = this.state.orderLine.productAllowCommission ? this.state.orderLine.mSergingCmsnRate : 0;\r\n\t\t\tCmsn = this.state.orderLine.productAllowCommission ? this.state.orderLine.mSergingCmsn : 0;\r\n\t\t\tUnitCost = this.state.orderLine.mSergingCostPer;\r\n\t\t\tCost = this.state.orderLine.totalMSergingCost;\r\n\t\t\tDsc = this.state.orderLine.finishedEdgeFt + ' x Applied Labor Borders (Machine) 2-3/4 & 4-3/4';\r\n\t\t\tUnitPrice = this.state.orderLine.mSergingPricePer;\r\n\t\t\tPrice = this.state.orderLine.totalMSergingPrice;\r\n\t\t\tSupplierProductId = this.state.orderLine.selectedMSerging.value;\r\n\t\t} else if (this.state.selectedRugEdge === EDGE_TYPES.MITERED) {\r\n\t\t\tCmsnRate = this.state.orderLine.productAllowCommission ? this.state.orderLine.hsSergingCmsnRate : 0;\r\n\t\t\tCmsn = this.state.orderLine.productAllowCommission ? this.state.orderLine.hsSergingCmsn : 0;\r\n\t\t\tUnitCost = this.state.orderLine.hsSergingCostPer;\r\n\t\t\tCost = this.state.orderLine.totalHSSergingCost;\r\n\t\t\tDsc = this.state.orderLine.finishedEdgeFt + ' x ' + MITERED_PRODUCT_NAME;\r\n\t\t\tUnitPrice = this.state.orderLine.hsSergingPricePer;\r\n\t\t\tPrice = this.state.orderLine.totalHSSergingPrice;\r\n\t\t\tSupplierProductId = this.state.orderLine.selectedHSSerging.value;\r\n\t\t} else {\r\n\t\t\tCmsnRate = this.state.orderLine.productAllowCommission ? this.state.orderLine.sergingCmsnRate : 0;\r\n\t\t\tCmsn = this.state.orderLine.productAllowCommission ? this.state.orderLine.sergingCmsn : 0;\r\n\t\t\tUnitCost = this.state.orderLine.sergingCostPer;\r\n\t\t\tCost = this.state.orderLine.totalSergingCost;\r\n\t\t\tDsc = this.state.orderLine.finishedEdgeFt + ' x ' + this.state.orderLine.selectedSerging.label;\r\n\t\t\tUnitPrice = this.state.orderLine.sergingPricePer;\r\n\t\t\tPrice = this.state.orderLine.totalSergingPrice;\r\n\t\t\tSupplierProductId = this.state.orderLine.selectedSerging.value;\r\n\t\t}\r\n\t\tlet edgeLine = {\r\n\t\t\tOrderLine: {\r\n\t\t\t\tId: 0,\r\n\t\t\t\tOrderId: this.state.orderId,\r\n\t\t\t\t// ParentOrderLineId: null, // rugOrderLineId (added on backend after parent custom rug has been created)\r\n\t\t\t\tCreatedAt: moment(),\r\n\t\t\t\tCreatedByUserId: this.props.currentUser.id,\r\n\t\t\t\tOrderLineTypeId: constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n\t\t\t\tQty: Number(this.state.orderLine.finishedEdgeFt),\r\n\t\t\t\tHidden: true,\r\n\t\t\t\tPriceUnitTypeId: constants.PRICE_UNIT_TYPE.EACH.value,\r\n\t\t\t\tOrderLineStatusId: constants.ORDER_LINE_STATUS.NA.value,\r\n\t\t\t\t// dsc2: 'EDGE: ' + this.selectedRugEdge,\r\n\t\t\t\tCmsnRate: this.state.orderLine.productAllowCommission ? Number(CmsnRate) : 0,\r\n\t\t\t\tCmsn: this.state.orderLine.productAllowCommission ? Number(Cmsn) : 0,\r\n\t\t\t\tUnitCost: Number(UnitCost),\r\n\t\t\t\tCost: Number(Cost),\r\n\t\t\t\tDsc: Dsc,\r\n\t\t\t\tUnitPrice: Number(UnitPrice),\r\n\t\t\t\tPrice: Number(Price),\r\n\t\t\t\tProductId: SupplierProductId\r\n\t\t\t},\r\n\t\t\tFreightOrderLine: null,\r\n\t\t\tOrderLineComments: []\r\n\t\t}\r\n\t\treturn edgeLine;\r\n\t}\r\n\r\n\tsetRugValidity() {\r\n\t\tlet isValid = (this.state.orderLine.selectedField !== null);\r\n\t\tif (isValid && this.state.orderLine.rugHasPad) {\r\n\t\t\tisValid = this.state.orderLine.selectedPad !== null && this.state.orderLine.selectedPadWidth !== null;\r\n\t\t}\r\n\t\tif (isValid && (this.state.selectedRugEdge === EDGE_TYPES.MACHINED || this.state.selectedRugEdge === EDGE_TYPES.MITERED)) {\r\n\t\t\tisValid = this.state.orderLine.selectedRugBindingStyle !== null && this.state.orderLine.selectedRugBindingColor !== null;\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\torderLine: {\r\n\t\t\t\t...this.state.orderLine,\r\n\t\t\t\trugEditsValid: isValid\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tonNoColorSelected() {\r\n\t\tlet lineOrder = Object.assign({}, this.state.orderLine);\r\n\t\tif (lineOrder !== null) {\r\n\t\t\tlineOrder.productColor = null\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\torderLine: lineOrder,\r\n\t\t\tcolorOptOut: !this.state.colorOptOut\r\n\t\t});\r\n\t}\r\n\r\n\tdownloadExport = (data, fileName, mime) => {\r\n\t\tif (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n\t\t\twindow.navigator.msSaveOrOpenBlob(data, fileName);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconst file = new Blob([data], { type: mime });\r\n\t\t\tvar anchor = window.document.createElement('a');\r\n\t\t\tanchor.download = fileName;\r\n\t\t\tanchor.href = (window.webkitURL || window.URL).createObjectURL(file);\r\n\t\t\tanchor.dataset.downloadurl = [mime, anchor.download, anchor.href].join(':');\r\n\t\t\tanchor.click();\r\n\t\t}\r\n\t}\r\n\r\n\tdownloadReprint(isSignOffForm = false) {\r\n\t\tif (!this.state.orderId) {\r\n\t\t\tconsole.warn(\"orderId is empty\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.setState({ printing: true }, () => {\r\n\t\t\tconst payload = {\r\n\t\t\t\tOrderId: this.state.orderId,\r\n\t\t\t\tInvoiceTypeId: this.state.invoiceType.value,\r\n\t\t\t\tInvoiceDate: date_helpers.getSelectedDate(this.state.invoiceDate || moment()).format(date_helpers.YMD),\r\n\t\t\t\tDueDate: date_helpers.getSelectedDate(this.state.dueDate || moment()).format(date_helpers.YMD),\r\n\t\t\t\tCustomDescription: this.state.customDescription,\r\n\t\t\t\tCustomDescription2: this.state.customDescription2,\r\n\t\t\t\tIsSignOffForm: isSignOffForm\r\n\t\t\t};\r\n\t\t\tconst pdfWindow = window.open();\r\n\t\t\tapi.post_get_blob(\"order/GetOrderPDF\", payload).then(r => {\r\n\t\t\t\tif (r.status !== 200)\r\n\t\t\t\t\t\tthrow new Error(\"Error rendering document\");\r\n\r\n\t\t\t\t\tconst file = new Blob([r.data], { type: \"application/pdf\" });\r\n\t\t\t\t\tconst fileURL = URL.createObjectURL(file);\r\n\t\t\t\t\tpdfWindow.location.href = fileURL;\r\n\t\t\t}).catch(error => {\r\n\t\t\t\t\tconsole.error(error);\r\n\t\t\t\t\tAlert.error(\"There was an error downloading the document\");\r\n\t\t\t\t\tpdfWindow.close();\r\n\t\t\t}).finally(() => this.setState({ printing: false }))\r\n\t\t})\r\n\t}\r\n\r\n\thandleStatusOrderCancel() {\r\n\t\tthis.setState({ showOrderLineStatusModal: false, backOrderOrShippedDate: null})\r\n\t}\r\n\r\n\trecalculateSalesTaxAndSurcharge() {\r\n\t\tapi.post(`Order/CalculateSalesTaxSurcharge/${this.state.orderId}`)\r\n\t\t\t.then(response => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tmessage: \"Sales Tax and Surcharge recalculated\",\r\n\t\t\t\t\tmessageFlavor: \"success\",\r\n\r\n\t\t\t\t}, () => {\r\n\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\tmessage: null,\r\n\t\t\t\t\t\t\t\tmessageFlavor: null,\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}, 400);\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t}\r\n\r\n\tgetOverallStatus() {\r\n\t\tlet overallStatus;\r\n\t\tlet lBackorderDate;\r\n\t\tlet unShipCnt=0;\r\n\t\tlet shipCnt=0;\r\n\t\tlet orderStatus = this.state.order.orderStatus;\r\n\t\tif (orderStatus.value === constants.ORDER_STATUS.MEMO_BLD.value)\r\n\t\t{\r\n\t\t\toverallStatus = \"MEMO BLD\";\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\toverallStatus = \"IN-STOCK\";\r\n\t\t\t_.forEach(this.state.orderLines, (ol) => {\r\n\t\t\t\tif (ol.orderLineType.value === constants.ORDER_LINE_TYPE.CARPET.value) {\r\n\t\t\t\t\tif (ol.orderLineStatus && ol.orderLineStatus.value === constants.ORDER_LINE_STATUS.BACKORDER.value) {\r\n\t\t\t\t\t\toverallStatus = \"BACKORDER\";\r\n\t\t\t\t\t\ttry\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t_.forEach(ol.orderLineComments, c => {\r\n\t\t\t\t\t\t\t\tif (c.dsc.toString().substring(0,9) == \"BACKORDER\")\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tlBackorderDate = c.dsc.toString().substring(13);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcatch {}\r\n\t\t\t\t\t}\telse {\r\n\t\t\t\t\t\tif (ol.orderLineStatus && ol.orderLineStatus.value === constants.ORDER_LINE_STATUS.SHIPPED.value)\r\n\t\t\t\t\t\t\tshipCnt++;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\tunShipCnt++;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (ol.orderLineType.value === constants.ORDER_LINE_TYPE.HARD_SURFACE.value) {\r\n\t\t\t\t\tif (ol.orderLineStatus && ol.orderLineStatus.value === constants.ORDER_LINE_STATUS.BACKORDER.value) {\r\n\t\t\t\t\t\toverallStatus = \"BACKORDER\";\r\n\t\t\t\t\t\ttry\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t_.forEach(ol.orderLineComments, c => {\r\n\t\t\t\t\t\t\t\tif (c.dsc.toString().substring(0,9) == \"BACKORDER\")\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tlBackorderDate = c.dsc.toString().substring(13);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcatch {}\r\n\t\t\t\t\t}\telse {\r\n\t\t\t\t\t\tif (ol.orderLineStatus && ol.orderLineStatus.value === constants.ORDER_LINE_STATUS.SHIPPED.value)\r\n\t\t\t\t\t\t\tshipCnt++;\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\tunShipCnt++;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (ol.orderLineType.value === constants.ORDER_LINE_TYPE.CUSTOM_RUG.value) {\r\n\t\t\t\t\t_.forEach(ol.componentLines, cl => {\r\n\t\t\t\t\t\tif (cl.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_BORDER.value) {\r\n\t\t\t\t\t\t\tif (cl.orderLineStatus && cl.orderLineStatus.value === constants.ORDER_LINE_STATUS.BACKORDER.value) {\r\n\t\t\t\t\t\t\t\toverallStatus = \"BACKORDER\";\r\n\t\t\t\t\t\t\t\ttry\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t_.forEach(cl.orderLineComments, c => {\r\n\t\t\t\t\t\t\t\t\t\tif (c.dsc.toString().substring(0,9) == \"BACKORDER\")\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\tlBackorderDate = c.dsc.toString().substring(13);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tcatch {}\r\n\t\t\t\t\t\t\t}\telse {\r\n\t\t\t\t\t\t\t\tif (cl.orderLineStatus && cl.orderLineStatus.value === constants.ORDER_LINE_STATUS.SHIPPED.value)\r\n\t\t\t\t\t\t\t\t\tshipCnt++;\r\n\t\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\t\tunShipCnt++;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\telse {\r\n\t\t\t\t\t\t\tif (cl.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_FIELD.value) {\r\n\t\t\t\t\t\t\t\tif (cl.orderLineStatus && cl.orderLineStatus.value === constants.ORDER_LINE_STATUS.BACKORDER.value) {\r\n\t\t\t\t\t\t\t\t\toverallStatus = \"BACKORDER\";\r\n\t\t\t\t\t\t\t\t\ttry\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t_.forEach(cl.orderLineComments, c => {\r\n\t\t\t\t\t\t\t\t\t\t\tif (c.dsc.toString().substring(0,9) == \"BACKORDER\")\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tlBackorderDate = c.dsc.toString().substring(13);\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tcatch {}\r\n\t\t\t\t\t\t\t\t}\telse {\r\n\t\t\t\t\t\t\t\t\tif (cl.orderLineStatus && cl.orderLineStatus.value === constants.ORDER_LINE_STATUS.SHIPPED.value)\r\n\t\t\t\t\t\t\t\t\t\tshipCnt++;\r\n\t\t\t\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t\t\t\tunShipCnt++;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\t// shipped status only if all carpet,rug,wood lines come back as shipped\r\n\t\t// backorder status if any line comes back as backorder\r\n\t\t// in-stock for a mix of non-backorder lines\r\n\t\tif (overallStatus==\"IN-STOCK\")\r\n\t\t{\r\n\t\t\tif (unShipCnt==0 && shipCnt>0)\r\n\t\t\t\toverallStatus = \"SHIPPED\";\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\toverallStatus: overallStatus,\r\n\t\t\tlBackorderDate: lBackorderDate\r\n\t\t}, () => this.loadInvoiceDynamicDsc());\r\n\t}\r\n\r\n\tasync loadInvoiceDynamicDsc() {\r\n\t\tawait api.fetch('Order/GetInvoiceDynamicDscBoilerPlate/' + this.state.orderId).then(response => {\r\n\t\t\tthis.setState({customDescription2: response.data});\r\n\t\t}).catch(helpers.catchHandler);\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst {\r\n\t\t\tsquarespace\r\n\t\t} = this.props;\r\n\t\tlet orderLinesToMapOver = this.state.customRugToViewEdit ? this.state.customRugToViewEdit.componentLines : this.state.orderLines;\r\n\t\tif (this.state.redirectToOrders) {\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t this.onClickCancelButton()}>\r\n\t\t\t\t\tProvide a {this.state.orderLine.orderLineStatus ? this.state.orderLine.orderLineStatus.label : ''} Date\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t this.setState({backOrderOrShippedDate: e})}\r\n\t\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\r\n\t\t\t\t this.onClickCancelButton()}>\r\n\t\t\t\t\tCancel Order\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\r\n\t\t\t\t this.showOrderLineDeleteConfirmationModal()}>\r\n\t\t\t\t\tDelete Order Line\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{squarespace ? \"Custom Rug Quote\" :\r\n\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t{this.state.activeTab === TABS.GENERAL_INFORMATION ? 'Order Entry : General Information' :\r\n\t\t\t\t\t\t\t\t\t\tthis.state.activeTab === TABS.LINE_ITEMS ? 'Order Entry : Line Items' :\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeTab === TABS.PAYMENT ? 'Order Entry : Payment' :\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.activeTab === TABS.FULLFILLMENT ? 'Order Entry : Fullfillment' :\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.activeTab === TABS.FINAL_REVIEW ? 'Order Entry : Final Review' :\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.activeTab === TABS.PRINT ? 'Order Entry : Print' : null\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{this.state.order.id &&\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\tOrder #\r\n\t\t\t\t\t\t\t\t{this.state.order.orderNumber}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{this.state.message\r\n\t\t\t\t\t\t\t\t\t\t\t? {this.state.message}\r\n\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tOrder Status\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tMonth\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.setMonth(date)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdateFormat=\"MMMM yyyy\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowMonthYearPicker\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tEntered At\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tEntered By\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tOrdered By\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Tracy wanted the name of this field changed to Sold To */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tAccount {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleCustomerSelectChange(e)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tisMulti={false}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcustomer={this.state.order.customer}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tAgent (to receive commission)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.order.id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t&& !this.state.order.isCreditOrder\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t&& !this.state.order.isReplacementOrder\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t&& this.state.order.relatedReplacementOrders === '' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.generateReplacementCredit()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.generatingReplacement}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tGen Replacement/Credit {this.state.generatingReplacement ? : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tReplacement order\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState(prevState => ({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torder: {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState.order,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisReplacementOrder: !value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\tCredit order\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState(prevState => ({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torder: {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState.order,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisCreditOrder: !value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{(this.state.order && this.state.order.id > 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t&& (this.state.order.isReplacementOrder\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t|| this.state.order.isCreditOrder\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t|| this.state.order.relatedReplacementOrders !== '')) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.order.relatedReplacementOrders === '' ? \"References Order\" : \"Related Replacement Orders\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{this.state.customerInfo && !this.state.customerInfo.hasTaxCertificate &&\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tMISSING sales certificate - charge sales tax!\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.saveOrderEntryGeneralInfo()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t Save\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t Cancel\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t this.setState({ showCustomerSearchModal: false })}\r\n\t\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{this.state.message && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{this.state.message}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{this.state.showOrderLineForm\r\n\t\t\t\t\t\t\t\t\t? null\r\n\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.onAddNewOrderLine()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Add line item\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t {this.state.customRugToViewEdit ? 'Add Rug Component' : 'Add Line Item'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.orderLineType.value !== constants.ORDER_LINE_TYPE.CREDIT_CARD_SURCHARGE.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.orderLine.orderLineType.value !== constants.ORDER_LINE_TYPE.SALES_TAX.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CARPET.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Type {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Status\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tProduct {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedProduct(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tProduct Color{\" \"} this.onNoColorSelected()} />No Color Selected\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWidth {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.priceUnitType\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&& this.state.orderLine.priceUnitType.value === constants.PRICE_UNIT_TYPE.EACH.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? Qty\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: Length (ft.) {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.applyVolumePricingIfNecessary()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.priceUnitType\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&& this.state.orderLine.priceUnitType.value !== constants.PRICE_UNIT_TYPE.EACH.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&& this.state.orderLine.priceUnitType.value !== constants.PRICE_UNIT_TYPE.LIN_FT.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.priceUnitType\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&& (this.state.orderLine.priceUnitType.value === constants.PRICE_UNIT_TYPE.SQ_YARDS.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|| this.state.orderLine.priceUnitType.value === constants.PRICE_UNIT_TYPE.LIN_FT.value)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `Sq. Yds.`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `Sq. Ft`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCost/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTotal Cost {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCmsn% {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCommission {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_PAD.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Type {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Status\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tProduct {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedProduct(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWidth {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLength (ft.) {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// onBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.applyVolumePricingIfNecessary()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSq. Ft.\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCost/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{console.log(\"order line on state\", this.state.orderLine)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTotal Cost {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCmsn% {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCommission {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{(this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.MISCELLANEOUS.value ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.SAMPLE.value) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Type {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Status\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tProduct {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedProduct(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.SAMPLE.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tProduct Color\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tQty\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCost/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTotal Cost {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCmsn% {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCommission {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{(this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.HARD_SURFACE.value ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CARPET_TILE.value) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Type {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Status\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tProduct {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedProduct(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tProduct Color\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSq. Units Required {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.applyVolumePricingIfNecessary()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t# Items {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.squareFeetPerCarton\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `${this.state.orderLine.squareFeetPerCarton} ${this.state.orderLine.priceUnitType.label}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.perContainer\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `${this.state.orderLine.perContainer} per`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSq. Ft.\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCost/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTotal Cost {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCmsn% {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCommission {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{(this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.BINDING.value ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.ROLL_RUNNER.value) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Type {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Status\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tProduct {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedProduct(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tProduct Color\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLength (ft.) {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCost/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTotal Cost {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCmsn% {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCommission {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Type {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Status\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* Collection {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedCollection(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tProduct {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedProduct(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tProduct Color\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSize\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tQty\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCost/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTotal Cost {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCmsn% {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCommission {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{COMPONENT_ORDER_LINE_TYPES.includes(this.state.orderLine.orderLineType.value) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setFinishedRugSize(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.rugSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> ' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.rugSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t X \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.rugSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> ' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.rugSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> \" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_FIELD.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Status\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* The following two fields are saved with the parent rug orderline, not the field line (parent rug orderline has the truth for these two fields) */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRug Shape\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFor outdoor use\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState(prevState => ({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState.orderLine,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tforOutdoorUse: !value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedField(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"L'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.fieldSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> ' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder='L\"'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.fieldSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> \" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateFieldTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateFieldTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateFieldTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_BORDER.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Status\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedBorder(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"L'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.borderSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> ' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder='L\"'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.borderSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> \" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateBorderTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateBorderTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateBorderDsc()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* {this.state.orderLine.orderLineType.label !== \"MISCELLANEOUS (RUG COMPONENT)\" && */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tProduct {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedProduct(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* } */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tQty\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCost/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTotal Cost {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice/Unit {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCmsn% {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCommission {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CUSTOM_RUG.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setFinishedRugSize(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.rugSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> ' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.rugSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t X \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.rugSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> ' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.rugSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> \" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedField(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"L'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.fieldSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> ' \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder='L\"'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.fieldSizeChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> \" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateFieldTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateFieldTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* The following two fields are saved with the parent rug orderline, not the field line (parent rug orderline has the truth for these two fields) */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRug Shape\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFor outdoor use\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState(prevState => ({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torderLine: {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState.orderLine,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tforOutdoorUse: !value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tOptions :\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCut Charge\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tEnd Armor\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tInbound Freight\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tBacking\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPad\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tClipped Corners\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCutout\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRound/Oval\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tEdge: {this.state.selectedRugEdge}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setRugEdge('Serging')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSerging\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setRugEdge('Applied Machine Border')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tApplied Machine Border\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setRugEdge('Hidden Stitch Mitered Corners')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tHidden Stitch Mitered Corners\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.rugHasCutCharge &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCut Charge\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.rugHasEndArmor &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tEnd Armor\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.rugHasInboundFreight &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tInbound Freight\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedInboundFreight(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname=\"selectedPad\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.rugHasBacking &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tBacking\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateRugBackingTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateRugBackingTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateRugBackingTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.rugHasPad &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPad\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedPad(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname=\"selectedPad\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.hasPadCutCharge &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.padSizeChange()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequired\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={this.state.orderLine.padLengthFeet}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"L'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updatePadTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updatePadTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.rugHasClippedCorners &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tClipped Corners\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.rugHasLaborCutout &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCutout Labor\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.rugHasLaborRound &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRound/Oval Labor\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.selectedRugEdge === 'Serging' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tEdge: {this.state.selectedRugEdge}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateSergingTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateSergingTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.selectedRugEdge === 'Applied Machine Border' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tEdge: {this.state.selectedRugEdge}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateMSergingTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateMSergingTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.selectedRugEdge === 'Hidden Stitch Mitered Corners' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tEdge: {this.state.selectedRugEdge}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateHSSergingTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateHSSergingTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(this.state.selectedRugEdge === 'Hidden Stitch Mitered Corners' || this.state.selectedRugEdge === 'Applied Machine Border') &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedRugBindingStyle(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname=\"selectedRugBindingStyle\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.selectedRugEdge === 'Hidden Stitch Mitered Corners' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRemember to choose a binding wide enough!\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateRugBindingTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleRugOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.updateRugBindingTotals()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!this.state.orderLine.productAllowCommission}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.editingFreight && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Freight
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFreight Carrier {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFreight Terms\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSidemark\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"50\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFreight Inv. #\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"20\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tBOL #\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"20\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCost {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPrice {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderLineRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSelect Ship To Contact\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSelect Ship To Address\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tContact First Name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"25\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tContact Last Name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"25\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tContact Phone Number\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"20\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tContact Email\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"150\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tShip To Name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"100\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAdditional Name (Optional)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"100\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tShipping Address\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"100\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAddress Line 2\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"100\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCity\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"35\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tState\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"5\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tZip\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"10\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.editingNotes && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Notes
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tComment {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onChangeOrderLineComment(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tIs Private\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState(prevState => ({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewOrderLineComment: {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState.newOrderLineComment,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisPrivate: !value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onSaveNote()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLineCommentList.map(c => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* ? c.id : create_UUID()}> */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.isEditing\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.deactivatedAt || c.markedForDeletion\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Applies ToDescriptionIs Private?
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.updateCommentTypeField(e, c.local_id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.updateCommentDscField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tc.local_id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.updateCommentIsPrivateField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tc.local_id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onSaveEditedComment(c.local_id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Save\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onCancelEditComment(c.local_id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Cancel\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.commentType.label}{c.dsc}{c.isPrivate ? \"Yes\" : \"No\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.deactivatedAt ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Revive\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!ORDER_LINE_TYPES_DONT_SHOW_FREIGHT.includes(this.state.orderLine.orderLineType.value) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onToggleFreight()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.editingFreight ? 'Remove Freight' : 'Add Freight'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.orderLineType.value !== constants.ORDER_LINE_TYPE.CUSTOM_RUG.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onToggleNotes()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.editingNotes ? 'Remove Notes' : 'Add Notes'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.saveCustomRugOrderLine()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: () => this.saveOrderLine()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Save Line Item\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.cancelAddOrUpdateOrderLine()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Cancel\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.CREDIT_CARD_SURCHARGE.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tLine Type {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCredit Card Surcharge Rate (%) {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.saveOrderLine()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Save Line Item\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.cancelAddOrUpdateOrderLine()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Cancel\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t{this.state.orderLine.orderLineType.value === constants.ORDER_LINE_TYPE.SALES_TAX.value &&\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tLine Type {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tTax Rate (%) {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderLineStateChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={this.calculateFigures}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//onBlur={() => this.calculateFigures()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.saveOrderLine()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Save Line Item\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.cancelAddOrUpdateOrderLine()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Cancel\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.customRugToViewEdit ? 'Current Saved Custom Rug Components' : 'Current Saved Line Items'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.customRugToViewEdit &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.returnToMainOrderLineScreen()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t Back\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{orderLinesToMapOver && orderLinesToMapOver.map(orderLine => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{orderLine.componentLines &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{orderLine.componentLines.map(componentLine => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
{this.state.customRugToViewEdit ? 'Component Type' : 'Line Type'}DescriptionTotal CostTotal Price
{orderLine.id}{orderLine.orderLineType.label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{orderLine.dsc}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{orderLine.orderLineComments && orderLine.orderLineComments.length > 0 ?\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_.filter(orderLine.orderLineComments, oc => { return !oc.isPrivate}).map(c => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{c.dsc} - added @ {moment(c.createdAt).format(\"M/DD/YY h:mm a\")}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{helpers.formatCurrency(orderLine.cost)}{helpers.formatCurrency(orderLine.price)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!orderLine.deactivatedAt ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Revive\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{componentLine.orderLineType.label}{componentLine.dsc}${componentLine.cost}${componentLine.price}
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{this.state.message\r\n\t\t\t\t\t\t\t\t\t? {this.state.message}\r\n\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
Billing Info
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t

{this.state.customerInfo ? this.state.customerInfo.name : ''}

\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t

Account Credit Line:\r\n\t\t\t\t\t\t\t\t\t\t\t${this.state.customerInfo ? this.state.customerInfo.creditLine : ''}\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tAccount PO#\r\n\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"20\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/*\r\n\t\t\t\t\t\t\t\t\tSelect Bill To Contact\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tSelect Bill To Address\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t*/}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tSelect Bill To Address\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tBill To Name {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"100\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tAdditional Name\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tBilling Address {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tAddress Line 2\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"250\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tCity {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"35\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tState {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"5\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tZip {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"10\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.saveBillingInfo()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t Save Billing Info\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{/*\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tContact First Name {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"25\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tContact Last Name {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"25\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tContact Phone Number {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"20\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tContact Fax\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"20\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tContact Email {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderInputChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"150\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t*/}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
Total Due
\r\n\t\t\t\t\t\t\t\t\t\t\t\t

{this.state.totalOrderPrice}

\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
Total Posted
\r\n\t\t\t\t\t\t\t\t\t\t\t\t

{this.state.sumOfPayments}

\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
Balance
\r\n\t\t\t\t\t\t\t\t\t\t\t\t

{this.state.balance}

\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Payment Info
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tPayment Type {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.CREDIT.value ?\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(Credit Amount {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderPaymentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderPaymentRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tInvoice Terms\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.CASH.value && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCash Amount {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderPaymentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderPaymentRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.EXTENDED_CREDIT.value && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCredit Amount {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderPaymentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderPaymentRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCredit Type {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCredit Line {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.CREDIT_CARD.value && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCharge Amount {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderPaymentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderPaymentRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCard Type {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDate Received {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tExp Date {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderPaymentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"7\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCard Number {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderPaymentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"25\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tBilling Name {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderPaymentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"255\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tBilling Zip {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderPaymentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"11\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.REBATE.value && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRebate Amount {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderPaymentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderPaymentRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAvailable Rebates\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.CHECK.value && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCheck Amount {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderPaymentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(event) => this.updateOrderPaymentRateOrCurrencyField(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCheck Number {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderPaymentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"50\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDate Received\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.EXTENDED_CREDIT.value ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.CHECK.value ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.orderPayment.paymentType.value === constants.PAYMENT_TYPE.CREDIT.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNotes\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleOrderPaymentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"300\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.saveOrderPayment()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Save Payment\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.cancelAddOrUpdatePayment()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Cancel\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tCurrent Saved Payments\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{this.state.addUpdatePayment\r\n\t\t\t\t\t\t\t\t\t\t\t? null\r\n\t\t\t\t\t\t\t\t\t\t\t: this.onAddNewPayment()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.addUpdatePayment}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Add new payment\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Add Payment\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderPayments.map(p => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{p.deactivatedAt \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
TypeReceivedAmount\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{p.paymentType ? p.paymentType.label : \"\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{p.dateReceived\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? date_helpers.dateTimeFormat(p.dateReceived, \"MM/DD/YYYY hh:mm A\")\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: date_helpers.dateTimeFormat(p.createdAt, \"MM/DD/YYYY hh:mm A\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{p.paymentType ? p.paymentType.value === constants.PAYMENT_TYPE.CREDIT.value && \"-\" : \"\"}{helpers.formatCurrency(p.amountPaid)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{p.deactivatedAt ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// \t\t Revive\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// \t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{this.state.message\r\n\t\t\t\t\t\t\t\t\t? {this.state.message}\r\n\t\t\t\t\t\t\t\t\t: null}\r\n\t\t\t\t\t\t\t\t{this.state.addNewFulfillment\r\n\t\t\t\t\t\t\t\t\t? null\r\n\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t this.addNewFulfillment()}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t Add Fulfillment Line\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState(prevState => ({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torderFulfillment: {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState.orderFulfillment,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisPayToSupplier: !value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tStatus\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPay To {this.state.orderFulfillment.isPayToSupplier ? \"Supplier\" : \"Freight Carrier\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderFulfillment.isPayToSupplier ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tRef#\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleFulfillmentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"255\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tInv#\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleFulfillmentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"255\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tChk#\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleFulfillmentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"255\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tAmt\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleFulfillmentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tNotes\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleFulfillmentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"255\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.saveOrderFulfillment(this.state.orderFulfillment)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Save\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.addNewFulfillment()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Cancel\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.orderFulfillments.map(fulfillment => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
StatusPay To / Line DscRef#Inv#Chk#Amt DueAmt PostDatesNotes\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fulfillment.isEditing ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.updateOrderFulfillmentStatus(e, fulfillment.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfulfillment.orderFulfillmentStatus.label\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{fulfillment.supplierPayToName || fulfillment.freightCarrierName}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fulfillment.orderFulfillmentOrderLines.map(ol => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{ol.orderLineDsc} - ${ol.orderLineCost}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fulfillment.isEditing ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleEditFulfillmentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfulfillment.id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"255\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfulfillment.referenceNumber\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fulfillment.isEditing ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleEditFulfillmentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfulfillment.id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"255\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfulfillment.invoiceNumber\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fulfillment.isEditing ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleEditFulfillmentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfulfillment.id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"255\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfulfillment.checkNumber\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fulfillment.isEditing ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleEditFulfillmentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfulfillment.id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`${helpers.formatCurrency(fulfillment.amountDue)}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fulfillment.isEditing ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleEditFulfillmentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfulfillment.id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`${fulfillment.amountPosted !== null ? helpers.formatCurrency(fulfillment.amountPosted) : 0}`\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fulfillment.isEditing\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{date_helpers.toMDYDateString(fulfillment.billDate)}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{date_helpers.toMDYDateString(fulfillment.dueDate)}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{date_helpers.toMDYDateString(fulfillment.payDate)}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fulfillment.isEditing ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.handleEditFulfillmentStateUpdate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.name,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfulfillment.id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"255\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfulfillment.notes\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!fulfillment.isEditing ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.editOrderFulfillment(fulfillment.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fulfillment.deactivatedAt\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? this.reviveOrderFulfillment(fulfillment.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Revive fulfillment item\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Revive\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.deleteOrderFulfillment(fulfillment.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.saveOrderFulfillment(fulfillment)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Save\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onCancelEditOrderFulfillment(fulfillment.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t Cancel\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tTotal Due:\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tTotal Posted:\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tBalance:\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{this.state.message\r\n\t\t\t\t\t\t\t\t\t\t\t? {this.state.message}\r\n\t\t\t\t\t\t\t\t\t\t\t: null}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{this.state.order.customer\r\n\t\t\t\t\t\t\t\t\t? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t

{this.state.order.orderStatus.label}

\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{this.state.order.customer.label} {this.state.order.customer.number}
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
Agent: {this.state.order.agent ? this.state.order.agent.label : null}
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
)\r\n\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLines.map(line => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{line.orderLineType.value === constants.ORDER_LINE_TYPE.CUSTOM_RUG.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRug Style:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onChangeAdditionalRugField(line, 'rugStyle', newValue)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={line.rugStyle}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"200\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFinished Edge:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onChangeAdditionalRugField(line, 'finishedEdge', newValue)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={line.finishedEdge}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"200\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tLabor Cost:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onChangeAdditionalRugField(line, 'laborCost', newValue)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={line.laborCost}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"100\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTotal Agreed Charges:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onChangeAdditionalRugField(line, 'totalAgreedCharges', newValue)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={line.totalAgreedCharges}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength=\"100\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSend Scrap:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.onChangeAdditionalRugField(line, 'sendScrap', !value)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.orderLines.map(line => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{line.orderLineType.value !== constants.ORDER_LINE_TYPE.CREDIT_CARD_SURCHARGE.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t&& line.orderLineType.value !== constants.ORDER_LINE_TYPE.SALES_TAX.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t&& line.orderLineType.value !== constants.ORDER_LINE_TYPE.FREIGHT.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.hasSalesTaxOrSurcharge &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
Summary
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{line.dsc}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{line.orderLineType.value === constants.ORDER_LINE_TYPE.CUSTOM_RUG.value\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{helpers.formatCurrency(line.price)}{helpers.formatCurrency(line.cost)}
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Invoice Total{this.state.totalOrderPrice}{this.state.totalOrderCost}
Estimated Gross Profit\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.estimatedGrossProfit}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{`${line.dsc} - Agent Commission`}({_.round(line.cmsnRate).toFixed(2)}%){helpers.formatCurrency(line.cmsn)}
Estimated Net Profit\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.estimatedNetProfit}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.verifications.map(v => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
Verifications
{v.warning}{v.message}{v.something}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tInvoice Type\r\n\t\t\t\t\t\t\t\t\t this.setState({invoiceType: v})}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tDescription 1\r\n\t\t\t\t\t\t\t\t\t\t this.setState({ customDescription: e.target.value })}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tDescription 2\r\n\t\t\t\t\t\t\t\t\t\t this.setState({ customDescription2: e.target.value })}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tInvoice Date\r\n\t\t\t\t\t\t\t\t\t\t this.setState({ invoiceDate: date })}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tDue Date\r\n\t\t\t\t\t\t\t\t\t\t this.setState({ dueDate: date })}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{this.state.printing ?\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t:\r\n\t\t\t\t\t\t\t\t\t\t this.downloadReprint(false)}\r\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ marginLeft: 15, marginTop: 5 }}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\tPrint\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n\r\n","import React, { Component, Fragment } from 'react';\r\nimport {\r\n Alert,\r\n Button,\r\n ButtonGroup,\r\n Card,\r\n CardBody,\r\n Row,\r\n Col,\r\n Table,\r\n Container,\r\n Spinner\r\n} from 'reactstrap';\r\nimport moment from 'moment';\r\nimport {\r\n filter_helpers,\r\n api,\r\n helpers,\r\n date_helpers,\r\n constants\r\n} from '../utils';\r\nimport {\r\n FilterSet,\r\n FilterSelect,\r\n FilterMultiSelect,\r\n FilterBoolean,\r\n FilterText,\r\n FilterDate,\r\n SortHeader,\r\n Pager\r\n} from '../components';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Link } from 'react-router-dom';\r\nimport _ from 'lodash';\r\n\r\nconst addAnyOption = (list) => {\r\n let newList = list.slice();\r\n newList.unshift({label: \"(Any)\", value: null});\r\n return newList;\r\n};\r\n\r\nexport default class Orders extends Component {\r\n constructor(props) {\r\n super(props);\r\n let lastOrderFilters = null;\r\n try {\r\n lastOrderFilters = localStorage.getItem('lastOrderFilters');\r\n } catch {}\r\n const defaultFilters = lastOrderFilters\r\n ? JSON.parse(lastOrderFilters)\r\n : [{filterName: \"createdAfter\", value: moment().add(-90, 'days').valueOf(), filteredDisplay: \"Created in the last 90 days\"}];\r\n _.each(defaultFilters, f => {\r\n if ((f.filterName === 'createdAfter' || f.filterName === 'createdBefore' || f.filterName === 'createdAt')) {\r\n f.value = date_helpers.getMomentFromString(f.value).valueOf();\r\n }\r\n });\r\n this.state = {\r\n pagedList: null,\r\n sortColumn: 'CreatedAt',\r\n sortDirection: constants.SORT_DIRECTION.descending,\r\n filters: defaultFilters,\r\n errorMessage: \"\",\r\n ordersList: null,\r\n orderId: null,\r\n fetching: false,\r\n orderStatusList: [],\r\n deletingRevivingId: null // for loading indicator because this operation is slow with a lot of rows\r\n };\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.setPage = this.setPage.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n api.fetch('Reference/GetOrderStatusList')\r\n .then(response => {\r\n this.setState({\r\n orderStatusList: response.data\r\n });\r\n })\r\n this.refreshList();\r\n }\r\n\r\n refreshList() {\r\n let payload = {\r\n page: this.state.pagedList && this.state.pagedList.pageNumber \r\n ? this.state.pagedList.pageNumber\r\n : 1,\r\n pageSize: this.state.pagedList && this.state.pagedList.pageSize\r\n ? this.state.pagedList.pageSize\r\n : 30,\r\n sortColumn: this.state.sortColumn,\r\n sortDirection: this.state.sortDirection,\r\n \r\n };\r\n _.each(this.state.filters, filter => {\r\n if (filter.value) {\r\n switch(filter.filterName) {\r\n case 'createdAfter':\r\n case 'createdBefore':\r\n case 'createdAt':\r\n payload[filter.filterName] = date_helpers.getMomentFromString(filter.value).format(date_helpers.YMD);\r\n // if (typeof filter.value === 'string') {\r\n // payload[filter.filterName] = filter.value;\r\n // } else if (Number.isInteger(filter.value)) {\r\n // payload[filter.filterName] = moment(filter.value).format();\r\n // } else {\r\n // payload[filter.filterName] = filter.value;\r\n // }\r\n break;\r\n default:\r\n payload[filter.filterName] = filter.value;\r\n break;\r\n }\r\n }\r\n });\r\n this.setState({fetching: true}, () => {\r\n api.post('Order/GetPaginatedList', payload).then((response) => {\r\n let pagedList = response.data;\r\n pagedList.list = _.map(pagedList.list, i => ({\r\n ...i,\r\n totalPrice: i.totalPriceCurrency\r\n }));\r\n this.setState({ pagedList: pagedList, deletingRevivingId: null });\r\n })\r\n .catch(helpers.catchHandler)\r\n .finally(() => this.setState({fetching: false}));\r\n });\r\n }\r\n\r\n doSort(field, direction) {\r\n switch(direction) {\r\n case \"desc\":\r\n direction = constants.SORT_DIRECTION.descending;\r\n break;\r\n case \"asc\":\r\n direction = constants.SORT_DIRECTION.ascending;\r\n break;\r\n }\r\n this.setState({ sortDirection: direction, sortColumn: field }, this.refreshList);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changedFilter);\r\n try {\r\n localStorage.setItem(\"lastOrderFilters\", JSON.stringify(filters));\r\n } catch {}\r\n this.setState({ filters: filters, pagedList: {...this.state.pagedList, pageNumber: 1}, clearValue: false }, this.refreshList);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n try {\r\n localStorage.setItem(\"lastOrderFilters\", JSON.stringify(filters));\r\n } catch {}\r\n this.setState({ filters: filters, pagedList: {...this.state.pagedList, pageNumber: 1}, clearValue: true }, this.refreshList);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n setPage(page) {\r\n const newPagedList = Object.assign({}, this.state.pagedList);\r\n newPagedList.pageNumber = page;\r\n this.setState({ pagedList: newPagedList }, this.refreshList);\r\n }\r\n\r\n handleDelete(orderId) {\r\n if (!window.confirm('This is a permanent delete. Are you sure?')) return;\r\n this.setState({ deletingRevivingId: orderId });\r\n api\r\n .post(`Order/DeleteOrder/${orderId}`)\r\n .then(response => {\r\n this.refreshList();\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(orderId) {\r\n this.setState({ deletingRevivingId: orderId });\r\n api\r\n .post(`Order/ReviveOrder/${orderId}`)\r\n .then(response => {\r\n this.refreshList();\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.errorMessage && (\r\n \r\n \r\n \r\n {this.state.errorMessage}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n New Order/Quote\r\n \r\n

Orders

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.fetching\r\n ? (
\r\n
\r\n \r\n
\r\n
) \r\n : null\r\n }\r\n \r\n \r\n {this.state.pagedList\r\n ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.pagedList && this.state.pagedList.list && this.state.pagedList.list.map(orderItem => (\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total
{orderItem.orderNumber}{date_helpers.dateTimeFormat(orderItem.createdAt, \"MM/DD/YYYY hh:mm A\")}{moment(orderItem.createdAt).format(date_helpers.MDY)}{orderItem.orderStatusName}{orderItem.customerName}{orderItem.createdByUserName}{orderItem.agentName}{orderItem.totalPrice}\r\n \r\n {!orderItem.deactivatedAt ? (\r\n \r\n \r\n \r\n \r\n \r\n {this.state.deletingRevivingId === orderItem.id \r\n ? \"Deleting\"\r\n : \r\n }\r\n \r\n \r\n ) : (\r\n \r\n {this.state.deletingRevivingId === orderItem.id \r\n ? \"Reviving\"\r\n : Revive\r\n }\r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n )\r\n : null\r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n","import React, { Component, Fragment } from \"react\";\r\nimport {\r\n Container,\r\n Card,\r\n CardBody,\r\n Table,\r\n Button,\r\n ButtonGroup,\r\n Label,\r\n Alert,\r\n Row,\r\n Col,\r\n Input,\r\n Collapse,\r\n} from \"reactstrap\";\r\nimport { api, helpers, date_helpers, filter_helpers } from \"../utils\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport Select from \"react-select\";\r\nimport _ from \"lodash\";\r\nimport moment from \"moment\";\r\nimport {\r\n FilterSet,\r\n SortHeader,\r\n FilterBoolean,\r\n FilterText,\r\n} from \"../components\";\r\n\r\nconst emptyPile = {\r\n name: \"\",\r\n seq: 0,\r\n};\r\n\r\nexport default class Pile extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n list: [],\r\n newPile: emptyPile,\r\n message: null,\r\n messageFlavor: null,\r\n fiberGroupList: [],\r\n addNewPile: false,\r\n filters: [\r\n {\r\n filterName: \"ActiveOnly\",\r\n value: true,\r\n filteredDisplay: \"Active Only: Active\",\r\n },\r\n ],\r\n sort_field: \"Name\",\r\n sort_dir: \"asc\",\r\n };\r\n\r\n this.addNewPile = this.addNewPile.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.refreshList = this.refreshList.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getFiberGroups = () => {\r\n return api\r\n .fetch(\"Reference/GetFiberGroupList\")\r\n .then((result) => {\r\n return {\r\n fiberGroupList: result.data,\r\n };\r\n })\r\n .catch(helpers.catchHandler);\r\n };\r\n Promise.all([getFiberGroups()]).then((aggResults) => {\r\n const newStatus = {};\r\n aggResults.forEach((r) => Object.assign(newStatus, r));\r\n this.setState(newStatus, () => this.refreshList());\r\n });\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n const filterList = filters || this.state.filters;\r\n const payload = {\r\n SortField: sortField || this.state.sort_field,\r\n SortDir: sortDirection || this.state.sort_dir,\r\n };\r\n\r\n _.each(filterList, (filter) => (payload[filter.filterName] = filter.value));\r\n\r\n api\r\n .post(\"Pile/GetList\", payload)\r\n .then((response) => {\r\n let list = response.data;\r\n if (this.state.fiberGroupList && this.state.fiberGroupList.length > 0) {\r\n list = _.map(response.data, item => {\r\n item.fiberGroup = _.find(this.state.fiberGroupList, opt => { return opt.value === item.fiberGroupId })\r\n return item;\r\n });\r\n };\r\n this.setState({\r\n list: list,\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n addNewPile() {\r\n this.setState({\r\n addNewPile: !this.state.addNewPile,\r\n newPile: emptyPile,\r\n message: null,\r\n messageFlavor: null,\r\n });\r\n }\r\n\r\n handleNewPileStateChange(fieldName, value) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n newPile: {\r\n ...prevState.newPile,\r\n [fieldName]: value,\r\n },\r\n }));\r\n }\r\n\r\n onBlurNewNumericFeetField(fieldName, value) {\r\n if (value) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n newPile: {\r\n ...prevState.newPile,\r\n [fieldName]: _.round(value, 4),\r\n },\r\n }));\r\n }\r\n }\r\n\r\n // getSelectedYarnBrand(yarnBrandId) {\r\n // if (!yarnBrandId) {\r\n // return null;\r\n // }\r\n // return _.find(this.state.yarnBrandList, x => x.id === yarnBrandId);\r\n // }\r\n\r\n // setSelectedYarnBrand(option) {\r\n // this.setState(prevState => ({\r\n // ...prevState,\r\n // newPile: {\r\n // ...prevState.newPile,\r\n // yarnBrand: {\r\n // value: option ? option.value : null,\r\n // label: option ? option.label : null\r\n // }\r\n // }\r\n // }));\r\n // }\r\n\r\n onEdit(pileId) {\r\n const indexToEdit = _.findIndex(this.state.list, { id: pileId });\r\n let tempList = this.state.list.slice();\r\n const snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n tempList[indexToEdit].isEditing = true;\r\n tempList[indexToEdit].pristine = snapshotItem;\r\n this.setState({\r\n fullList: tempList,\r\n });\r\n }\r\n\r\n onCancelEdit(pileId) {\r\n const indexToEdit = _.findIndex(this.state.list, { id: pileId });\r\n let tempList = this.state.list.slice();\r\n tempList[indexToEdit] = tempList[indexToEdit].pristine;\r\n this.setState({\r\n list: tempList,\r\n message: null,\r\n messageFlavor: null,\r\n });\r\n }\r\n\r\n updatePileState(fieldName, value, pileId) {\r\n const piles = this.state.list.slice();\r\n const pile = _.find(piles, (x) => x.id === pileId);\r\n pile[fieldName] = value;\r\n this.setState({\r\n list: piles,\r\n });\r\n }\r\n\r\n // editSelectedYarnBrand(option, pileId) {\r\n // const piles = this.state.list.slice();\r\n // const pile = _.find(piles, x => x.id === pileId);\r\n // pile.yarnBrandId = option ? option.value : null;\r\n // pile.yarnBrandName = option ? option.label : null;\r\n // this.setState({\r\n // list: piles\r\n // });\r\n // }\r\n\r\n isFormValid(item) {\r\n const warnings = [];\r\n if (!item.Name || item.Name < 2) {\r\n warnings.push(\"Description is required.\");\r\n }\r\n // if (!item.Seq) {\r\n // warnings.push(\"Sequence is required.\");\r\n // }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(\" \"),\r\n messageFlavor: \"danger\",\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n saveNewPile() {\r\n const pile = this.state.newPile;\r\n const data = {\r\n Id: 0,\r\n Name: pile.name,\r\n Seq: pile.seq === \"\" ? \"\" : Number(pile.seq),\r\n FiberGroupId: pile.fiberGroup ? pile.fiberGroup.value : null,\r\n CreatedByUserId: this.props.currentUser.id,\r\n CreatedAt: moment.utc().format(),\r\n };\r\n if (!this.isFormValid(data)) return;\r\n\r\n api\r\n .post(\"Pile/SaveNewPile\", data)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.addNewPile();\r\n this.refreshList();\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n updatePile(pile) {\r\n const data = {\r\n Id: pile.id,\r\n Name: pile.name,\r\n Seq: pile.seq === \"\" ? \"\" : Number(pile.seq),\r\n FiberGroupId: pile.fiberGroup ? pile.fiberGroup.value : null,\r\n CreatedByUserId: this.props.currentUser.id,\r\n CreatedAt: date_helpers.formatDateForServer(moment()),\r\n };\r\n if (!this.isFormValid(data)) return;\r\n\r\n api\r\n .post(\"Pile/UpdatePile\", data)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.refreshList();\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api\r\n .delete(`Pile/${id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.refreshList();\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api\r\n .post(`Pile/Undelete/${id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.refreshList();\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sort_dir: direction, sort_field: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(\r\n this.state.filters,\r\n changedFilter\r\n );\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find((f) => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return \"\";\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

Maintain Fiber

\r\n \r\n
\r\n \r\n \r\n this.addNewPile()}\r\n >\r\n Add Fiber\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Add New Fiber
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n this.handleNewPileStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n name=\"name\"\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.saveNewPile()}\r\n >\r\n Save\r\n \r\n this.addNewPile()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.list.map((p) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n Group\r\n
\r\n {p.isEditing ? (\r\n \r\n this.updatePileState(\r\n event.target.name,\r\n event.target.value,\r\n p.id\r\n )\r\n }\r\n name=\"name\"\r\n maxLength=\"50\"\r\n />\r\n ) : (\r\n p.name\r\n )}\r\n \r\n {p.isEditing ? (\r\n \r\n this.updatePileState(\r\n \"fiberGroup\",\r\n selection,\r\n p.id\r\n )\r\n }\r\n />\r\n ) : (\r\n p.fiberGroup ? p.fiberGroup.label : null\r\n )}\r\n \r\n \r\n {p.isEditing ? (\r\n \r\n this.updatePile(p)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelEdit(p.id)}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n ) : (\r\n \r\n {p.deactivatedAt === null ? (\r\n \r\n this.onEdit(p.id)}\r\n size=\"sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Fragment } from \"react\";\r\nimport {\r\n TabContent,\r\n TabPane,\r\n Nav,\r\n NavItem,\r\n NavLink,\r\n Card,\r\n Row,\r\n Col,\r\n Container,\r\n CardBody,\r\n Alert,\r\n Button,\r\n ButtonGroup,\r\n Input,\r\n Label,\r\n} from \"reactstrap\";\r\nimport classnames from \"classnames\";\r\nimport { api, helpers, date_helpers, constants } from \"../utils\";\r\nimport { DropzoneUploader } from \"../components\";\r\nimport EditProductColorsWidths from \"./EditProductColorsWidths\";\r\nimport EditProductMemoInventory from \"./EditProductMemoInventory\";\r\nimport _ from \"lodash\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport Select from \"react-select\";\r\nimport moment from \"moment\";\r\nimport ToggleButton from \"react-toggle-button\";\r\n\r\nlet emptyProduct = {\r\n id: null,\r\n dcName: \"\",\r\n dcNumber: \"\",\r\n supplierName: \"\",\r\n supplierNumber: \"\",\r\n webCategories: [],\r\n webProductDescription: \"\",\r\n standardCustomRugDsc: \"\",\r\n supplier: null,\r\n yarnBrand: null,\r\n productType: {\r\n value: \"1\",\r\n label: \"CARPET\",\r\n },\r\n pileType: null,\r\n // rugIntlCollection: null,\r\n // rugShape: null,\r\n // rugComplexity: null,\r\n memoSize: null,\r\n unitCost: \"0\",\r\n rawCost: \"0\",\r\n unitPrice: \"0\",\r\n volumeCost: \"0\",\r\n volumePrice: \"0\",\r\n netVolumeCost: \"0\",\r\n useCost: {\r\n value: \"1\",\r\n label: \"CUT\",\r\n },\r\n specPrice: \"\",\r\n margin: \"\",\r\n priceUnitType: {\r\n value: constants.PRICE_UNIT_TYPE.SQ_YARDS.value,\r\n label: constants.PRICE_UNIT_TYPE.SQ_YARDS.label,\r\n },\r\n productStatus: null,\r\n constructionType: null,\r\n carpetProductType: null,\r\n colorAndGrainType: null,\r\n installGrade: null,\r\n installMethod: [],\r\n patternMatch: \"\",\r\n faceWeight: \"\",\r\n rollSize: \"0\",\r\n run: \"\",\r\n repeat: \"\",\r\n warranties: \"\",\r\n repeatLength: \"0\",\r\n repeatWidth: \"0\",\r\n thickness: \"\",\r\n ply: 0,\r\n itemWidth: \"\",\r\n itemLength: \"\",\r\n edge: \"\",\r\n perContainer: \"\",\r\n squareFeetPerCarton: \"0.00\",\r\n memoShelfNumber: \"\",\r\n collectionSeq: null,\r\n basicSpecs: \"\",\r\n pileHeight: \"\",\r\n orderByDC: true,\r\n showOnWeb: false,\r\n salableAsStandardCustomRug: false,\r\n showSampleInventory: false,\r\n isCustomRugProduct: false,\r\n hasRemoteInventory: false,\r\n comment: \"\",\r\n allowCommission: false,\r\n cleaningComment: \"\",\r\n backingType: null,\r\n isRugQuotable: true,\r\n};\r\n\r\nconst emptyMiscProduct = {\r\n id: null,\r\n dcName: \"\",\r\n dcNumber: \"\",\r\n supplierName: \"\",\r\n supplierNumber: \"\",\r\n webCategories: [],\r\n webProductDescription: \"\",\r\n standardCustomRugDsc: \"\",\r\n supplier: null,\r\n yarnBrand: null,\r\n pileType: {\r\n value: \"5\",\r\n label: \"UNKNOWN\",\r\n },\r\n // rugIntlCollection: null,\r\n // rugShape: null,\r\n // rugComplexity: null,\r\n memoSize: null,\r\n unitCost: \"0\",\r\n rawCost: \"0\",\r\n unitPrice: \"0\",\r\n volumeCost: \"0\",\r\n volumePrice: \"0\",\r\n netVolumeCost: \"0\",\r\n priceUnitType: null,\r\n productStatus: null,\r\n constructionType: null,\r\n carpetProductType: null,\r\n colorAndGrainType: null,\r\n installGrade: null,\r\n installMethod: [],\r\n patternMatch: \"\",\r\n faceWeight: \"\",\r\n rollSize: \"0\",\r\n run: \"\",\r\n repeat: \"\",\r\n warranties: \"\",\r\n repeatLength: \"0\",\r\n repeatWidth: \"0\",\r\n thickness: \"\",\r\n ply: 0,\r\n itemWidth: \"\",\r\n itemLength: \"\",\r\n edge: \"\",\r\n perContainer: \"\",\r\n squareFeetPerCarton: \"0.00\",\r\n memoShelfNumber: \"\",\r\n collectionSeq: null,\r\n basicSpecs: \"\",\r\n pileHeight: \"\",\r\n orderByDC: true,\r\n showOnWeb: false,\r\n salableAsStandardCustomRug: false,\r\n showSampleInventory: false,\r\n isCustomRugProduct: false,\r\n hasRemoteInventory: false,\r\n comment: \"\",\r\n cleaningComment: \"\",\r\n};\r\n\r\nconst emptyIntlRugProduct = {\r\n id: null,\r\n dcName: \"\",\r\n dcNumber: \"\",\r\n supplierName: \"\",\r\n supplierNumber: \"\",\r\n webCategories: [],\r\n webProductDescription: \"\",\r\n standardCustomRugDsc: \"\",\r\n supplier: null,\r\n yarnBrand: null,\r\n pileType: null,\r\n // rugIntlCollection: null,\r\n // rugShape: null,\r\n // rugComplexity: null,\r\n memoSize: null,\r\n unitCost: \"0\",\r\n rawCost: \"0\",\r\n unitPrice: \"0\",\r\n volumeCost: \"0\",\r\n volumePrice: \"0\",\r\n netVolumeCost: \"0\",\r\n priceUnitType: null,\r\n productStatus: null,\r\n constructionType: null,\r\n carpetProductType: null,\r\n colorAndGrainType: null,\r\n installGrade: null,\r\n installMethod: [],\r\n patternMatch: \"\",\r\n faceWeight: \"\",\r\n rollSize: \"0\",\r\n run: \"\",\r\n repeat: \"\",\r\n warranties: \"\",\r\n repeatLength: \"0\",\r\n repeatWidth: \"0\",\r\n thickness: \"\",\r\n ply: 0,\r\n itemWidth: \"\",\r\n itemLength: \"\",\r\n edge: \"\",\r\n perContainer: \"\",\r\n squareFeetPerCarton: \"0.00\",\r\n memoShelfNumber: \"\",\r\n collectionSeq: null,\r\n basicSpecs: \"\",\r\n pileHeight: \"\",\r\n orderByDC: true,\r\n showOnWeb: false,\r\n salableAsStandardCustomRug: false,\r\n showSampleInventory: false,\r\n isCustomRugProduct: false,\r\n hasRemoteInventory: false,\r\n comment: \"\",\r\n cleaningComment: \"\",\r\n};\r\n\r\nconst emptyContact = {\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n phoneNumber: \"\",\r\n};\r\n\r\nexport default class ProductDetailsContainer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n routeProductId:\r\n props.location.state && props.location.state.productId\r\n ? props.location.state.productId\r\n : null,\r\n activeTab: \"1\",\r\n unbrandedYarnBrand: null,\r\n priceUnitEach: null,\r\n productTypeList: [],\r\n priceUnitTypeList: [],\r\n // rugComplexityList: [],\r\n // rugShapeList: [],\r\n sampleBookList: [],\r\n constructionTypeList: [],\r\n yarnBrandList: [],\r\n backingTypeList: [],\r\n // rugIntlCollectionList: [],\r\n memoSizeList: [],\r\n webCategoryList: [],\r\n pileTypeList: [],\r\n carpetProductTypeList: [],\r\n productStatusList: [],\r\n colorAndGrainTypeList: [],\r\n colorFamilyList: [],\r\n widthsList: [],\r\n // tradeSizesList: [],\r\n suppliersList: [],\r\n productAttachmentTypeList: [],\r\n product: emptyProduct,\r\n supplier: {\r\n accountNumber: \"\",\r\n contact: emptyContact,\r\n },\r\n sampleBookProducts: [],\r\n selectedSampleBook: {\r\n value: \"\",\r\n label: \"\",\r\n },\r\n addingImage: false,\r\n files: [],\r\n // this approach was flawed and would not ever work correctly\r\n isClone: false, // props.location.state ? props.location.state.clone : false,\r\n productColors: [],\r\n productWidths: [],\r\n rugIntlSizes: [],\r\n productMemoSizes: [],\r\n // productImages: [],\r\n productAttachments: [],\r\n installGradeList: [],\r\n isMessageVisible: false,\r\n message: null,\r\n messageFlavor: null,\r\n productDetailsAttachmentTypes: [],\r\n };\r\n this.toggle = this.toggle.bind(this);\r\n this.getProductToEdit = this.getProductToEdit.bind(this);\r\n this.getProductSelectsData = this.getProductSelectsData.bind(this);\r\n this.updateProductState = this.updateProductState.bind(this);\r\n this.updateCurrencyField = this.updateCurrencyField.bind(this);\r\n this.handleFormSelectionChange = this.handleFormSelectionChange.bind(this);\r\n this.handleMultiFormSelectionChange =\r\n this.handleMultiFormSelectionChange.bind(this);\r\n // this.handleFiberSelectionChange = this.handleFiberSelectionChange.bind(this);\r\n this.handleCheckboxChange = this.handleCheckboxChange.bind(this);\r\n this.calcSpecialPriceMargin = this.calcSpecialPriceMargin.bind(this);\r\n this.onSupplierChange = this.onSupplierChange.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.toggleImages = this.toggleImages.bind(this);\r\n this.onBookSelect = this.onBookSelect.bind(this);\r\n this.saveNewProduct = this.saveNewProduct.bind(this);\r\n this.removeBook = this.removeBook.bind(this);\r\n this.onClone = this.onClone.bind(this);\r\n this.getProductAttachments = this.getProductAttachments.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.routeProductId) {\r\n this.getProductToEdit(this.state.routeProductId, false); // this.state.isClone);\r\n }\r\n this.getProductSelectsData();\r\n }\r\n\r\n getProductToEdit(productId, isClone) {\r\n api\r\n .fetch(`Product/GetProduct/${productId}`)\r\n .then((response) => {\r\n const product = {\r\n id: isClone ? null : response.data.id,\r\n createdByUserName: isClone\r\n ? `${this.props.currentUser.firstName} ${this.props.currentUser.lastName}`\r\n : response.data.createdByUserName,\r\n createdByUserId: isClone\r\n ? this.props.currentUser.id\r\n : response.data.createdByUserId,\r\n createdAt: isClone\r\n ? moment().format(\"MM/DD/YY\")\r\n : response.data.createdAt,\r\n dcName: response.data.dcName,\r\n dcNumber: isClone ? \"\" : response.data.dcNumber,\r\n supplierName: response.data.supplierName,\r\n supplierNumber: isClone ? \"\" : response.data.supplierNumber,\r\n webProductDescription: isClone\r\n ? \"\"\r\n : response.data.webProductDescription,\r\n standardCustomRugDsc: response.data.standardCustomRugDsc,\r\n unitCost: _.round(response.data.unitCost, 2).toFixed(2),\r\n rawCost: _.round(response.data.rawCost, 2).toFixed(2),\r\n unitPrice: _.round(response.data.unitPrice, 2).toFixed(2),\r\n netVolumeCost: _.round(response.data.netVolumeCost, 2).toFixed(2),\r\n volumeCost: _.round(response.data.volumeCost, 2).toFixed(2),\r\n volumePrice: _.round(response.data.volumePrice, 2).toFixed(2),\r\n patternMatch: response.data.patternMatch,\r\n faceWeight: response.data.faceWeight,\r\n rollSize: response.data.rollSize,\r\n run: response.data.run,\r\n repeat: response.data.repeat,\r\n warranties: response.data.warranties,\r\n repeatLength: _.round(response.data.repeatLength, 3).toFixed(3),\r\n repeatWidth: _.round(response.data.repeatWidth, 3).toFixed(3),\r\n thickness: response.data.thickness,\r\n ply: response.data.ply,\r\n itemWidth: response.data.itemWidth,\r\n itemLength: response.data.itemLength,\r\n edge: response.data.edge,\r\n perContainer: response.data.perContainer,\r\n squareFeetPerCarton: response.data.squareFeetPerCarton,\r\n memoShelfNumber: response.data.memoShelfNumber,\r\n collectionSeq: isClone\r\n ? null\r\n : response.data.collectionSeq\r\n ? response.data.collectionSeq\r\n : null,\r\n basicSpecs: response.data.basicSpecs,\r\n cleaningComment: response.data.cleaningComment,\r\n isRugQuotable: response.data.isRugQuotable,\r\n pileHeight: response.data.pileHeight,\r\n orderByDC: response.data.orderByDC,\r\n showOnWeb: isClone ? false : response.data.showOnWeb,\r\n salableAsStandardCustomRug: response.data.salableAsStandardCustomRug,\r\n showSampleInventory: response.data.showSampleInventory,\r\n allowCommission: response.data.allowCommission,\r\n isCustomRugProduct: response.data.isCustomRugProduct,\r\n hasRemoteInventory: response.data.hasRemoteInventory,\r\n comment: isClone ? \"\" : response.data.comment,\r\n webCategories:\r\n response.data.webCategories &&\r\n response.data.webCategories.length > 0\r\n ? _.map(response.data.webCategories, (cat) => {\r\n return helpers.resolveValue(null, cat.id, cat.name);\r\n })\r\n : [],\r\n supplier: helpers.resolveValue(\r\n null,\r\n response.data.supplierId,\r\n response.data.supplierLabel\r\n ),\r\n yarnBrand: helpers.resolveValue(\r\n null,\r\n response.data.yarnBrandId,\r\n response.data.yarnBrandName\r\n ),\r\n productType: helpers.resolveValue(\r\n null,\r\n response.data.productTypeId,\r\n response.data.productTypeName\r\n ),\r\n pileType: helpers.resolveValue(\r\n null,\r\n response.data.pileTypeId,\r\n response.data.pileTypeName\r\n ),\r\n rugIntlCollection: helpers.resolveValue(\r\n // no longer used, keep old value if it exists for now\r\n null,\r\n response.data.rugIntlCollectionId,\r\n response.data.rugIntlCollectionName\r\n ),\r\n memoSize: helpers.resolveValue(\r\n null,\r\n response.data.defaultMemoSizeId,\r\n response.data.defaultMemoSizeName\r\n ),\r\n rugShape: helpers.resolveValue(\r\n // no longer used, keep old value if it exists for now\r\n null,\r\n response.data.rugShapeId,\r\n response.data.rugShapeName\r\n ),\r\n rugComplexity: helpers.resolveValue(\r\n // no longer used, keep old value if it exists for now\r\n null,\r\n response.data.rugComplexityId,\r\n response.data.rugComplexityName\r\n ),\r\n priceUnitType: helpers.resolveValue(\r\n null,\r\n response.data.priceUnitTypeId,\r\n response.data.priceUnitTypeName\r\n ),\r\n productStatus: helpers.resolveValue(\r\n null,\r\n response.data.productStatusId,\r\n response.data.productStatusName\r\n ),\r\n constructionType: helpers.resolveValue(\r\n null,\r\n response.data.constructionTypeId,\r\n response.data.constructionTypeName\r\n ),\r\n carpetProductType: helpers.resolveValue(\r\n null,\r\n response.data.carpetProductTypeId,\r\n response.data.carpetProductTypeName\r\n ),\r\n installGrade: helpers.resolveValue(\r\n null,\r\n response.data.installGradeId,\r\n response.data.installGradeName\r\n ),\r\n colorAndGrainType: helpers.resolveValue(\r\n null,\r\n response.data.colorAndGrainTypeId,\r\n response.data.colorAndGrainTypeName\r\n ),\r\n installMethod: response.data.installMethod,\r\n useCost: {\r\n value: \"1\",\r\n label: \"CUT\",\r\n },\r\n specPrice: \"\",\r\n margin: \"\",\r\n backingType: helpers.resolveValue(\r\n null,\r\n response.data.backingTypeId,\r\n response.data.backingTypeName\r\n ),\r\n };\r\n const rugIntlSizes = _.map(response.data.rugIntlSizes, (item) => {\r\n return {\r\n ...item,\r\n cost: _.round(item.cost, 2).toFixed(2),\r\n price: _.round(item.price, 2).toFixed(2),\r\n seq: item.seq.toString(),\r\n };\r\n });\r\n this.setState(\r\n {\r\n product: product,\r\n productAttachments: response.data.productAttachments,\r\n sampleBookProducts: response.data.sampleBooks,\r\n productColors: response.data.productColors,\r\n productWidths: response.data.productWidths,\r\n rugIntlSizes: rugIntlSizes,\r\n productMemoSizes: response.data.productMemoSizes,\r\n },\r\n () => {\r\n this.onSupplierChange(product.supplier);\r\n }\r\n );\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n getProductSelectsData() {\r\n api.fetch(\"Product/GetProductSelectsData\").then((response) => {\r\n if (response && response.data) {\r\n const ybList = response.data.yarnBrandList;\r\n let newState = {\r\n productTypeList: _.reject(\r\n response.data.productTypeList,\r\n (t) => t.value == constants.PRODUCT_TYPE.RUG.value\r\n ),\r\n priceUnitTypeList: response.data.priceUnitTypeList,\r\n // rugComplexityList: response.data.rugComplexityList,\r\n // rugShapeList: response.data.rugShapeList,\r\n sampleBookList: response.data.sampleBookList,\r\n constructionTypeList: response.data.constructionTypeList,\r\n yarnBrandList: ybList,\r\n // rugIntlCollectionList: response.data.rugIntlCollectionList,\r\n memoSizeList: response.data.memoSizeList,\r\n webCategoryList: response.data.webCategoryList,\r\n pileTypeList: response.data.pileTypeList,\r\n carpetProductTypeList: response.data.carpetProductTypeList,\r\n productStatusList: response.data.productStatusList,\r\n colorAndGrainTypeList: response.data.colorAndGrainTypeList,\r\n colorFamilyList: response.data.colorFamilyList,\r\n widthsList: response.data.widthsList,\r\n // tradeSizesList: response.data.tradeSizesList,\r\n suppliersList: response.data.suppliersList,\r\n productAttachmentTypeList: response.data.productAttachmentTypeList,\r\n installGradeList: response.data.installGradeList,\r\n backingTypeList: response.data.backingTypeList,\r\n };\r\n if (!this.state.routeProductId) {\r\n newState.unbrandedYarnBrand = _.find(\r\n ybList,\r\n (yb) => yb.label === \"Unbranded\"\r\n );\r\n newState.priceUnitEach = _.find(\r\n newState.priceUnitTypeList,\r\n (x) => x.label.toUpperCase() === \"EACH\"\r\n );\r\n newState.product = {\r\n ...this.state.product,\r\n yarnBrand: newState.unbrandedYarnBrand,\r\n };\r\n }\r\n this.setState(newState);\r\n this.setState({\r\n productDetailsAttachmentTypes:\r\n helpers.filterProductAttachmentTypeList(\r\n this.state.productAttachmentTypeList,\r\n constants.PRODUCT_DETAILS_EXCLUDED_FILTERS\r\n ),\r\n });\r\n }\r\n });\r\n }\r\n\r\n toggle(tab) {\r\n if (this.state.activeTab !== tab) {\r\n this.setState({\r\n activeTab: tab,\r\n });\r\n }\r\n }\r\n\r\n updateProductState(fieldName, value) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n [fieldName]: value,\r\n },\r\n }));\r\n }\r\n\r\n updateCurrencyField(fieldName, value) {\r\n if (value) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n [fieldName]: _.round(value, 2), // parseFloat(value).toFixed(2)\r\n },\r\n }));\r\n }\r\n }\r\n\r\n handleFormSelectionChange(elementName, selection) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n [elementName]: selection,\r\n },\r\n }));\r\n }\r\n\r\n handleMultiFormSelectionChange(elementName, selection) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n [elementName]: selection,\r\n },\r\n }));\r\n }\r\n // handleFiberSelectionChange(elementName, selection) {\r\n // api.fetch(`Pile/GetOne/${selection.value}`)\r\n // .then((response) => {\r\n // this.setState(prevState => ({\r\n // ...prevState,\r\n // product: {\r\n // ...prevState.product,\r\n // [elementName]: {\r\n // value: selection.value,\r\n // label: selection.label\r\n // },\r\n // yarnBrand: response.data.yarnBrandId\r\n // ? helpers.resolveValue(\r\n // null,\r\n // response.data.yarnBrandId,\r\n // response.data.yarnBrandName)\r\n // : null,\r\n // }\r\n // }));\r\n // })\r\n // .catch(helpers.catchHandler);\r\n // }\r\n\r\n handleCheckboxChange(installMethodId, checked) {\r\n let installMethodList = this.state.product.installMethod.slice();\r\n if (_.includes(this.state.product.installMethod, installMethodId)) {\r\n if (!checked) {\r\n _.remove(installMethodList, (x) => x === installMethodId);\r\n }\r\n } else {\r\n if (checked) {\r\n installMethodList.push(installMethodId);\r\n }\r\n }\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n installMethod: installMethodList,\r\n },\r\n }));\r\n }\r\n\r\n calcSpecialPriceMargin() {\r\n let cost = 0.0;\r\n if (this.state.product.useCost.label === \"ROLL\") {\r\n cost = this.state.product.netVolumeCost;\r\n } else {\r\n cost = this.state.product.unitCost;\r\n }\r\n let specialPrice = parseFloat(this.state.product.specPrice);\r\n let margin = Math.round(100.0 * ((specialPrice - cost) / specialPrice));\r\n this.setState({\r\n product: {\r\n ...this.state.product,\r\n margin: `${margin}%`,\r\n },\r\n });\r\n }\r\n\r\n onSupplierChange(selection) {\r\n // this.setState(prevState => ({\r\n // ...prevState,\r\n // product: {\r\n // ...prevState.product,\r\n // supplier: {\r\n // value: selection.value,\r\n // label: selection.label\r\n // }\r\n // }\r\n // }));\r\n\r\n api\r\n .fetch(`Supplier/GetSupplier/${selection.value}`)\r\n .then((response) => {\r\n // let contact = _.find(response.data.contacts, x => x.typeOfContactName === \"Rep\");\r\n // if (contact) {\r\n // const phoneNumber = _.find(contact.phoneNumbers, x => x.isPrimary === true);\r\n // contact.phoneNumber = phoneNumber ? phoneNumber : \"\";\r\n // } else {\r\n // contact = emptyContact;\r\n // }\r\n this.setState({\r\n // supplier: {\r\n // ...response.data.supplier,\r\n // // contact: contact\r\n // },\r\n supplier: response.data.supplier,\r\n product: {\r\n ...this.state.product,\r\n supplier: {\r\n value: selection.value,\r\n label: selection.label,\r\n },\r\n },\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onBookSelect(option) {\r\n const selectedSampleBookProducts = this.state.sampleBookProducts.slice();\r\n const alreadyExists = _.find(\r\n selectedSampleBookProducts,\r\n (item) => item.sampleBookId === option.value\r\n );\r\n if (alreadyExists) {\r\n return;\r\n } else {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n selectedSampleBook: {\r\n value: option.value,\r\n label: option.label,\r\n },\r\n sampleBookProducts: _.concat(this.state.sampleBookProducts, option),\r\n }));\r\n }\r\n }\r\n\r\n removeBook(book) {\r\n if (!window.confirm(\"Are you sure?\")) return;\r\n if (book.id) {\r\n const books = this.state.sampleBookProducts.slice();\r\n const filtered = _.filter(books, (x) => x.id !== book.id);\r\n\r\n api\r\n .post(`Product/DeleteSampleBookProduct/${book.id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.setState({\r\n sampleBookProducts: filtered,\r\n });\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n isMessageVisible: true,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n return null;\r\n } else {\r\n const books = this.state.sampleBookProducts.slice();\r\n const filtered = _.filter(books, (x) => x.value !== book.value);\r\n this.setState({\r\n sampleBookProducts: filtered,\r\n });\r\n }\r\n }\r\n\r\n removeProductAttachment(attachment) {\r\n if (!window.confirm(\"This is a permanent delete. Are you sure?\")) return;\r\n const attachments = this.state.productAttachments.slice();\r\n const filtered = _.filter(attachments, (x) => x.id !== attachment.id);\r\n\r\n api\r\n .post(`Product/DeleteProductAttachment/${attachment.id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.setState({\r\n productAttachments: filtered,\r\n });\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n isMessageVisible: true,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n return null;\r\n }\r\n\r\n onCancel() {\r\n this.setState({ redirect: true });\r\n }\r\n\r\n toggleImages() {\r\n this.setState({\r\n addingImage: !this.state.addingImage,\r\n });\r\n }\r\n\r\n isFormValid() {\r\n let warnings = [];\r\n if (!this.state.product.supplier) {\r\n warnings.push(\"Supplier required.\");\r\n }\r\n if (!this.state.product.productType) {\r\n warnings.push(\"Product Type required.\");\r\n }\r\n if (\r\n !this.state.product.carpetProductType &&\r\n this.state.product.productType.value !==\r\n constants.PRODUCT_TYPE.MISCELLANEOUS.value &&\r\n this.state.product.productType.value !==\r\n constants.PRODUCT_TYPE.RUG_COMPONENT.value\r\n ) {\r\n warnings.push(\"Product Category required.\");\r\n }\r\n if (!this.state.product.productStatus) {\r\n warnings.push(\"Product Status required.\");\r\n }\r\n if (\r\n !this.state.product.supplierName ||\r\n this.state.product.supplierName.length < 2\r\n ) {\r\n warnings.push(\"Supplier Product Name required.\");\r\n }\r\n if (!this.state.product.supplierNumber) {\r\n warnings.push(\"Supplier Style # required.\");\r\n }\r\n if (!this.state.product.dcName || this.state.product.dcName.length < 2) {\r\n warnings.push(\"Valid DC Name required.\");\r\n }\r\n if (!this.state.product.dcNumber) {\r\n warnings.push(\"DC Style # required.\");\r\n }\r\n if (!this.state.product.unitCost && this.state.product.unitCost != \"0\") {\r\n warnings.push(\"Net Cut Cost required.\");\r\n }\r\n if (this.state.product.unitCost < 0) {\r\n warnings.push(\"Net Cut Cost must be 0 or greater.\");\r\n }\r\n if (!this.state.product.rawCost && this.state.product.rawCost != \"0\") {\r\n warnings.push(\"Raw Cut Cost required.\");\r\n }\r\n if (this.state.product.rawCost < 0) {\r\n warnings.push(\"Raw Cut Cost must be 0 or greater.\");\r\n }\r\n if (!this.state.product.unitPrice && this.state.product.unitPrice != \"0\") {\r\n warnings.push(\"Sale Cut Price required.\");\r\n }\r\n if (this.state.product.unitPrice < 0) {\r\n warnings.push(\"Sale Cut Price must be 0 or greater.\");\r\n }\r\n if (\r\n !this.state.product.netVolumeCost &&\r\n this.state.product.netVolumeCost != \"0\"\r\n ) {\r\n warnings.push(\"Net Roll Cost required.\");\r\n }\r\n if (this.state.product.netVolumeCost < 0) {\r\n warnings.push(\"Net Roll Cost must be a positive number.\");\r\n }\r\n if (\r\n !this.state.product.volumeCost &&\r\n this.state.product.volumeCost != \"0\"\r\n ) {\r\n warnings.push(\"Raw Roll Cost required.\");\r\n }\r\n if (this.state.product.volumeCost < 0) {\r\n warnings.push(\"Raw Roll Cost must be a positive number.\");\r\n }\r\n if (\r\n !this.state.product.volumePrice &&\r\n this.state.product.volumePrice != \"0\"\r\n ) {\r\n warnings.push(\"Sale Roll Price required.\");\r\n }\r\n if (this.state.product.volumePrice < 0) {\r\n warnings.push(\"Sale Roll Price must be a positive number.\");\r\n }\r\n if (\r\n this.state.product.productType.value !==\r\n constants.PRODUCT_TYPE.MISCELLANEOUS.value &&\r\n this.state.product.productType.value !==\r\n constants.PRODUCT_TYPE.INTL_RUG.value &&\r\n this.state.product.productType.value !==\r\n constants.PRODUCT_TYPE.RUG_COMPONENT.value &&\r\n this.state.product.productType.value !==\r\n constants.PRODUCT_TYPE.RUG_PAD.value &&\r\n this.state.product.productType.value !==\r\n constants.PRODUCT_TYPE.HARD_SURFACE.value &&\r\n this.state.product.productType.value !==\r\n constants.PRODUCT_TYPE.BORDER_OR_BINDING.value\r\n ) {\r\n // if (!this.state.product.rugIntlCollection) {\r\n // warnings.push(\"Collection required.\");\r\n // }\r\n if (\r\n !this.state.product.run &&\r\n this.state.product.productType.value ==\r\n constants.PRODUCT_TYPE.CARPET.value\r\n ) {\r\n warnings.push(\"Run required.\");\r\n }\r\n if (!this.state.product.rollSize && this.state.product.rollSize != \"0\") {\r\n warnings.push(\"Roll Size required.\");\r\n }\r\n if (this.state.product.rollSize < 0) {\r\n warnings.push(\"Roll Size must be a positive number.\");\r\n }\r\n if (!this.state.product.pileType) {\r\n warnings.push(\"Fiber required.\");\r\n }\r\n if (!this.state.product.yarnBrand) {\r\n warnings.push(\"Fiber Brand required.\");\r\n }\r\n if (\r\n !this.state.product.repeatWidth &&\r\n this.state.product.repeatWidth != \"0\"\r\n ) {\r\n warnings.push(\"Repeat Width required.\");\r\n }\r\n if (this.state.product.repeatWidth < 0) {\r\n warnings.push(\"Repeat Width must be a positive number.\");\r\n }\r\n if (\r\n !this.state.product.repeatLength &&\r\n this.state.product.repeatLength != \"0\"\r\n ) {\r\n warnings.push(\"Repeat Length is required.\");\r\n }\r\n if (this.state.product.repeatLength < 0) {\r\n warnings.push(\"Repeat Length must be a positive number.\");\r\n }\r\n // if (_.some(this.state.files, file => !file.imageType.value)) {\r\n // warnings.push(\"Image Type required on all images to be uploaded.\")\r\n // }\r\n }\r\n if (\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.RUG_PAD.value ||\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.HARD_SURFACE.value ||\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.BORDER_OR_BINDING.value\r\n ) {\r\n if (!this.state.product.pileType) {\r\n warnings.push(\"Fiber required.\");\r\n }\r\n }\r\n\r\n if (\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.INTL_RUG.value\r\n ) {\r\n // if (!this.state.product.rugIntlCollection.value) {\r\n // warnings.push(\"Collection required.\");\r\n // }\r\n if (!this.state.product.pileType) {\r\n warnings.push(\"Fiber required.\");\r\n }\r\n // if (!this.state.product.rugShape.value) {\r\n // warnings.push(\"Rug Shape required.\");\r\n // }\r\n // if (_.some(this.state.files, file => !file.imageType.value)) {\r\n // warnings.push(\"Image Type required on all images to be uploaded.\")\r\n // }\r\n }\r\n if (_.some(this.state.files, (file) => !file.imageType.value)) {\r\n warnings.push(\"Image Type required on all images to be uploaded.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(\" \"),\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true,\r\n });\r\n } else {\r\n this.setState({ message: null, isMessageVisible: false });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n formatProductPayload(product) {\r\n const payload = {\r\n Id: product.id ? product.id : 0,\r\n DCName: product.dcName,\r\n DCNumber: product.dcNumber,\r\n SupplierName: product.supplierName,\r\n SupplierNumber: product.supplierNumber,\r\n WebProductDescription: product.webProductDescription,\r\n StandardCustomRugDsc: product.standardCustomRugDsc,\r\n SupplierId: Number(product.supplier.value),\r\n YarnBrandId: Number(product.yarnBrand.value),\r\n ProductTypeId: Number(product.productType.value),\r\n PileTypeId: Number(product.pileType.value),\r\n RugIntlCollectionId: product.rugIntlCollection\r\n ? Number(product.rugIntlCollection.value)\r\n : null, // no longer used, keep old value if it exists for now\r\n DefaultMemoSizeId: product.memoSize\r\n ? Number(product.memoSize.value)\r\n : null,\r\n RugShapeId: product.rugShape ? Number(product.rugShape.value) : null, // no longer used, keep old value if it exists for now\r\n RugComplexityId: product.rugComplexity\r\n ? Number(product.rugComplexity.value)\r\n : null, // no longer used, keep old value if it exists for now\r\n UnitCost: Number(product.unitCost),\r\n RawCost: Number(product.rawCost),\r\n UnitPrice: Number(product.unitPrice),\r\n NetVolumeCost: Number(product.netVolumeCost),\r\n VolumeCost: Number(product.volumeCost),\r\n VolumePrice: Number(product.volumePrice),\r\n PriceUnitTypeId: product.priceUnitType\r\n ? Number(product.priceUnitType.value)\r\n : Number(product.priceUnitTypeId),\r\n ProductStatusId: Number(product.productStatus.value),\r\n ConstructionTypeId: product.constructionType\r\n ? Number(product.constructionType.value)\r\n : null,\r\n CarpetProductTypeId: product.carpetProductType\r\n ? Number(product.carpetProductType.value)\r\n : null,\r\n ColorAndGrainTypeId: product.colorAndGrainType\r\n ? Number(product.colorAndGrainType.value)\r\n : null,\r\n PatternMatch: product.patternMatch,\r\n FaceWeight: product.faceWeight,\r\n RollSize: Number(product.rollSize),\r\n Run: product.run,\r\n Repeat: product.repeat,\r\n Warranties: product.warranties,\r\n RepeatLength: Number(product.repeatLength),\r\n RepeatWidth: Number(product.repeatWidth),\r\n Thickness: product.thickness,\r\n Ply: Number(product.ply),\r\n ItemWidth: product.itemWidth,\r\n ItemLength: product.itemLength,\r\n Edge: product.edge,\r\n PerContainer: product.perContainer,\r\n SquareFeetPerCarton: Number(product.squareFeetPerCarton), //\r\n MemoShelfNumber: product.memoShelfNumber,\r\n InstallGradeId: product.installGrade\r\n ? Number(product.installGrade.value)\r\n : null,\r\n CollectionSeq: Number(product.collectionSeq),\r\n BasicSpecs: product.basicSpecs,\r\n CleaningComment: product.cleaningComment,\r\n PileHeight: product.pileHeight,\r\n // OrderByDC: product.orderByDC,\r\n ShowOnWeb: product.showOnWeb,\r\n // SalableAsStandardCustomRug: product.salableAsStandardCustomRug,\r\n ShowSampleInventory: product.showSampleInventory,\r\n IsCustomRugProduct: product.isCustomRugProduct,\r\n HasRemoteInventory: product.hasRemoteInventory,\r\n Comment: product.comment,\r\n CreatedAt: date_helpers.formatDateForServer(moment()),\r\n CreatedByUserId: product.createdByUserId\r\n ? product.createdByUserId\r\n : this.props.currentUser.id,\r\n InstallMethod: product.installMethod,\r\n AllowCommission: product.allowCommission,\r\n IsRugQuotable: product.isRugQuotable,\r\n BackingTypeId: product.backingType\r\n ? Number(product.backingType.value)\r\n : null,\r\n };\r\n return payload;\r\n }\r\n\r\n formatSampleBookProductsPayload(sampleBookProducts) {\r\n const formatted = [];\r\n _.map(sampleBookProducts, (x) => {\r\n const sampleBookProduct = {\r\n Id: x.id ? x.id : 0,\r\n SampleBookId: x.value ? x.value : x.sampleBookId,\r\n ProductId: this.state.routeProductId ? this.state.routeProductId : 0,\r\n CreatedAt: date_helpers.formatDateForServer(moment()),\r\n CreatedByUserId: this.props.currentUser.id,\r\n };\r\n formatted.push(sampleBookProduct);\r\n });\r\n return formatted;\r\n }\r\n\r\n formatProductAttachmentsPayload(files) {\r\n const formatted = [];\r\n _.map(files, (x) => {\r\n const file = {\r\n Id: 0,\r\n ProductAttachmentTypeId: x.imageType.value,\r\n ProductId: this.state.routeProductId ? this.state.routeProductId : 0,\r\n Base64EncodedPhoto: x.base64EncodedPhoto,\r\n MimeType: x.type,\r\n AssetName: x.name,\r\n // Content: []\r\n };\r\n formatted.push(file);\r\n });\r\n return formatted;\r\n }\r\n\r\n saveNewProduct() {\r\n window.scroll(0, 0);\r\n if (!this.isFormValid()) return;\r\n const product = Object.assign({}, this.state.product);\r\n const Product = this.formatProductPayload(product);\r\n const WebCategories =\r\n product.webCategories && product.webCategories.length > 0\r\n ? _.map(product.webCategories, (cat) => {\r\n return Number(cat.value);\r\n })\r\n : null;\r\n const SampleBookProducts = this.formatSampleBookProductsPayload(\r\n this.state.sampleBookProducts\r\n );\r\n const ProductAttachments = this.state.addingImage\r\n ? this.formatProductAttachmentsPayload(this.state.files)\r\n : [];\r\n const payload = {\r\n Product: Product,\r\n SampleBookProducts: SampleBookProducts,\r\n ProductAttachments: ProductAttachments,\r\n WebCategories: WebCategories,\r\n };\r\n api\r\n .post(\"Product/SaveNewProduct\", payload)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.setState(\r\n (prevState) => ({\r\n ...prevState,\r\n productId: parseInt(response.data.message),\r\n addingImage: false,\r\n message: `Product saved.`,\r\n messageFlavor: \"success\",\r\n isMessageVisible: true,\r\n isClone: false,\r\n product: {\r\n ...prevState.product,\r\n id: parseInt(response.data.message),\r\n },\r\n }),\r\n () => this.getProductAttachments(parseInt(response.data.message))\r\n );\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n isMessageVisible: true,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n updateProduct() {\r\n window.scroll(0, 0);\r\n if (!this.isFormValid()) return;\r\n const product = this.state.product;\r\n const Product = this.formatProductPayload(product);\r\n const WebCategories =\r\n product.webCategories && product.webCategories.length > 0\r\n ? _.map(product.webCategories, (cat) => {\r\n return Number(cat.value);\r\n })\r\n : null;\r\n const SampleBookProducts = this.formatSampleBookProductsPayload(\r\n this.state.sampleBookProducts\r\n );\r\n const ProductAttachments = this.state.addingImage\r\n ? this.formatProductAttachmentsPayload(this.state.files)\r\n : [];\r\n const payload = {\r\n Product: Product,\r\n SampleBookProducts: SampleBookProducts,\r\n ProductAttachments: ProductAttachments,\r\n WebCategories: WebCategories,\r\n };\r\n api\r\n .upload(\"put\", \"Product/\", payload)\r\n .then((response) => {\r\n if (response.data.success) {\r\n // const productAttachments = this.state.productAttachments.slice();\r\n // const newList = _.concat(productAttachments, ProductAttachments);\r\n this.setState(\r\n {\r\n // productAttachments: newList,\r\n addingImage: false,\r\n message: `Product saved.`,\r\n messageFlavor: \"success\",\r\n isMessageVisible: true,\r\n },\r\n () => this.getProductAttachments(this.state.product.id)\r\n );\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n isMessageVisible: true,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n getProductAttachments(productId) {\r\n api\r\n .fetch(`Product/GetProductAttachments/${productId}`)\r\n .then((response) => {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n productAttachments: response.data,\r\n }));\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleProductTypeChange(selection) {\r\n let tempEmptyProduct;\r\n if (\r\n selection.value === constants.PRODUCT_TYPE.MISCELLANEOUS.value ||\r\n selection.value === constants.PRODUCT_TYPE.RUG_COMPONENT.value\r\n ) {\r\n tempEmptyProduct = Object.assign({}, emptyMiscProduct);\r\n tempEmptyProduct.priceUnitType = this.state.priceUnitEach;\r\n tempEmptyProduct.yarnBrand = this.state.unbrandedYarnBrand;\r\n } else if (selection.value === constants.PRODUCT_TYPE.INTL_RUG.value) {\r\n tempEmptyProduct = Object.assign({}, emptyIntlRugProduct);\r\n tempEmptyProduct.priceUnitType = this.state.priceUnitEach;\r\n tempEmptyProduct.yarnBrand = this.state.unbrandedYarnBrand;\r\n } else {\r\n tempEmptyProduct = Object.assign({}, emptyProduct);\r\n tempEmptyProduct.yarnBrand = this.state.unbrandedYarnBrand;\r\n if (selection.value === constants.PRODUCT_TYPE.SQUARE_FOOT_RUG.value) {\r\n tempEmptyProduct.priceUnitType = _.find(\r\n this.state.priceUnitTypeList.slice(),\r\n (u) => {\r\n return u.value === constants.PRICE_UNIT_TYPE.SQ_FT.value;\r\n }\r\n );\r\n // tempEmptyProduct.rugIntlCollection = _.find(this.state.rugIntlCollectionList.slice(),\r\n // r => {return r.label === constants.NONE_INTERNATIONAL_RUG_COLLECTION}\r\n // )\r\n } else {\r\n tempEmptyProduct.priceUnitType = emptyProduct.priceUnitType;\r\n }\r\n\r\n if (selection.value === constants.PRODUCT_TYPE.HARD_SURFACE.value) {\r\n tempEmptyProduct.priceUnitType = _.find(\r\n this.state.priceUnitTypeList,\r\n (u) => {\r\n return u.value === constants.PRICE_UNIT_TYPE.CARTON.value;\r\n }\r\n );\r\n }\r\n if (selection.value === constants.PRODUCT_TYPE.CARPET_TILE.value) {\r\n tempEmptyProduct.priceUnitType = _.find(\r\n this.state.priceUnitTypeList,\r\n (u) => {\r\n return u.value === constants.PRICE_UNIT_TYPE.SQ_FT.value;\r\n }\r\n );\r\n }\r\n if (selection.value === constants.PRODUCT_TYPE.CARPET.value) {\r\n tempEmptyProduct.priceUnitType = _.find(\r\n this.state.priceUnitTypeList,\r\n (u) => {\r\n return u.value === constants.PRICE_UNIT_TYPE.SQ_YARDS.value;\r\n }\r\n );\r\n }\r\n }\r\n\r\n this.setState({\r\n product: {\r\n ...tempEmptyProduct,\r\n productType: selection,\r\n supplier: this.state.product.supplier,\r\n },\r\n });\r\n }\r\n\r\n onDismiss() {\r\n this.setState({\r\n isMessageVisible: !this.state.isMessageVisible,\r\n message: null,\r\n messageColor: null,\r\n });\r\n }\r\n\r\n onClone() {\r\n api\r\n .post(\"Product/Clone/\" + this.state.routeProductId)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.setState(\r\n {\r\n // isClone: true,\r\n routeProductId: parseInt(response.data.message, 10),\r\n message:\r\n \"Product cloned (and saved) - continue to edit your new product here\",\r\n messageFlavor: \"info\",\r\n isMessageVisible: true,\r\n },\r\n () => {\r\n this.getProductToEdit(this.state.routeProductId, false);\r\n }\r\n );\r\n } else {\r\n this.setState({\r\n message: \"Product cloned failed: \" + response.data.message,\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n if (this.state.redirect === true) {\r\n return ;\r\n }\r\n const previewStyle = {\r\n display: \"inline\",\r\n width: 200,\r\n height: 200,\r\n };\r\n const SaveCancelButtons = () => {\r\n return (\r\n \r\n \r\n \r\n {this.state.routeProductId === null || this.state.isClone ? (\r\n this.saveNewProduct()}\r\n >\r\n Save\r\n \r\n ) : (\r\n \r\n this.updateProduct()}\r\n >\r\n Update\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n return (\r\n \r\n \r\n \r\n {this.state.message && (\r\n \r\n \r\n this.onDismiss()}\r\n >\r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

Product Administration

\r\n \r\n \r\n
\r\n {this.state.product.dcName}\r\n
\r\n \r\n {SaveCancelButtons()}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.activeTab === \"1\" && (\r\n \r\n \r\n \r\n

Product Details

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {this.state.supplier.accountNumber}\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {/* {helpers.formatPhoneNumber(\r\n this.state.supplier.contact.phoneNumber ?\r\n this.state.supplier.contact.phoneNumber.number :\r\n \"\")} */}\r\n {helpers.formatPhoneNumber(\r\n this.state.supplier.supplierPhoneNo\r\n ? this.state.supplier\r\n .supplierPhoneNo\r\n : \"\"\r\n )}\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {/* {this.state.supplier.contact.firstName} {this.state.supplier.contact.lastName} */}\r\n {this.state.supplier.millAgentName}\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {this.state.supplier.contact.email} */}\r\n {this.state.supplier.millAgentEmail}\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {this.state.supplier.contact.phoneNumber.number} */}\r\n {helpers.formatPhoneNumber(\r\n this.state.supplier.millAgentPhone\r\n ? this.state.supplier.millAgentPhone\r\n : \"\"\r\n )}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.product.createdAt !== null\r\n ? moment(\r\n this.state.product.createdAt\r\n ).format(\"MM/DD/YY\")\r\n : moment(Date.now()).format(\"MM/DD/YY\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* TODO: Needs to be fixed to get name for saved CreatedByUserId field */}\r\n {/*{`${this.props.currentUser.firstName} ${this.props.currentUser.lastName}`}*/}\r\n {this.state.product.createdByUserName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0} // updating product\r\n />\r\n \r\n \r\n {this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.MISCELLANEOUS.value ||\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.RUG_COMPONENT\r\n .value ? null : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n allowCommission: !value,\r\n },\r\n }));\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {this.state.product.productType.value !==\r\n constants.PRODUCT_TYPE.MISCELLANEOUS.value &&\r\n this.state.product.productType.value !==\r\n constants.PRODUCT_TYPE.INTL_RUG.value &&\r\n this.state.product.productType.value !==\r\n constants.PRODUCT_TYPE.RUG_COMPONENT.value ? (\r\n \r\n \r\n \r\n \r\n \r\n {/*Supplier Product Name and Number are save in DB as SupplierName and SupplierNumber*/}\r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.supplierName}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.supplierNumber}\r\n maxLength=\"10\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.dcName}\r\n maxLength=\"50\"\r\n placeholder=\"DC Name\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.dcNumber}\r\n maxLength=\"10\"\r\n placeholder=\"DC Style #\"\r\n />\r\n \r\n \r\n {this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.RUG_PAD.value ||\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.BORDER_OR_BINDING\r\n .value ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={\r\n this.state.product.productType\r\n .value ===\r\n constants.PRODUCT_TYPE.RUG_PAD\r\n .value ||\r\n this.state.product.productType\r\n .value ===\r\n constants.PRODUCT_TYPE\r\n .BORDER_OR_BINDING.value\r\n ? this.state.product.unitCost\r\n : this.state.product.rawCost\r\n }\r\n onBlur={(event) =>\r\n this.updateCurrencyField(\r\n event.target.name,\r\n this.state.product.productType\r\n .value ===\r\n constants.PRODUCT_TYPE.RUG_PAD\r\n .value ||\r\n this.state.product.productType\r\n .value ===\r\n constants.PRODUCT_TYPE\r\n .BORDER_OR_BINDING.value\r\n ? this.state.product.unitCost\r\n : this.state.product.rawCost\r\n )\r\n }\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.unitPrice}\r\n onBlur={(event) =>\r\n this.updateCurrencyField(\r\n event.target.name,\r\n this.state.product.unitPrice\r\n )\r\n }\r\n min=\"0\"\r\n />\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.unitCost}\r\n onBlur={(event) =>\r\n this.updateCurrencyField(\r\n event.target.name,\r\n this.state.product.unitCost\r\n )\r\n }\r\n min={0}\r\n />\r\n \r\n {this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.HARD_SURFACE\r\n .value ? null : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.rawCost}\r\n onBlur={(event) =>\r\n this.updateCurrencyField(\r\n event.target.name,\r\n this.state.product.rawCost\r\n )\r\n }\r\n min=\"0\"\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.unitPrice}\r\n onBlur={(event) =>\r\n this.updateCurrencyField(\r\n event.target.name,\r\n this.state.product.unitPrice\r\n )\r\n }\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n {this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.HARD_SURFACE\r\n .value ? null : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={\r\n this.state.product.netVolumeCost\r\n }\r\n onBlur={(event) =>\r\n this.updateCurrencyField(\r\n event.target.name,\r\n this.state.product\r\n .netVolumeCost\r\n )\r\n }\r\n min=\"0\"\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.volumeCost}\r\n onBlur={(event) =>\r\n this.updateCurrencyField(\r\n event.target.name,\r\n this.state.product.volumeCost\r\n )\r\n }\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.volumePrice}\r\n onBlur={(event) =>\r\n this.updateCurrencyField(\r\n event.target.name,\r\n this.state.product.volumePrice\r\n )\r\n }\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {/*The fields in this row are not stored in the database...*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.specPrice}\r\n onBlur={this.calcSpecialPriceMargin}\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n {this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.RUG_PAD.value ||\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.HARD_SURFACE.value ||\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.BORDER_OR_BINDING\r\n .value ? null : (\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.rollSize}\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.run}\r\n maxLength=\"1\"\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.memoShelfNumber}\r\n maxLength=\"10\"\r\n />\r\n \r\n \r\n \r\n {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n showSampleInventory: !value,\r\n },\r\n }));\r\n }}\r\n />\r\n \r\n {this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.HARD_SURFACE.value ||\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.CARPET_TILE\r\n .value ? null : (\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.repeat}\r\n maxLength=\"45\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.repeatWidth}\r\n step=\"0.001\"\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={\r\n this.state.product.repeatLength\r\n }\r\n step=\"0.001\"\r\n min=\"0\"\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.RUG_PAD.value ||\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.HARD_SURFACE.value ||\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.BORDER_OR_BINDING\r\n .value ? null : (\r\n \r\n {/* \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n isRugQuotable: !value,\r\n },\r\n }));\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.pileHeight}\r\n maxLength=\"20\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.faceWeight}\r\n maxLength=\"6\"\r\n />\r\n \r\n \r\n )}\r\n \r\n {this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.CARPET_TILE.value ||\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.HARD_SURFACE.value ? (\r\n \r\n \r\n \r\n {\" \"}\r\n Edge\r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.edge}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n {\" \"}\r\n Item Width\r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.itemWidth}\r\n maxLength=\"25\"\r\n />\r\n \r\n \r\n {\" \"}\r\n Item Length\r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.itemLength}\r\n maxLength=\"25\"\r\n />\r\n \r\n \r\n # Per Sold Unit\r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={\r\n this.state.product.perContainer\r\n }\r\n maxLength=\"25\"\r\n />\r\n \r\n \r\n Ft Per Sold Unit\r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={\r\n this.state.product\r\n .squareFeetPerCarton\r\n }\r\n step=\"0.01\"\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n Install Methods\r\n \r\n \r\n \r\n this.handleCheckboxChange(\r\n 1,\r\n event.target.checked\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n this.handleCheckboxChange(\r\n 2,\r\n event.target.checked\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n this.handleCheckboxChange(\r\n 3,\r\n event.target.checked\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n this.handleCheckboxChange(\r\n 4,\r\n event.target.checked\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n Install Grade\r\n \r\n \r\n \r\n Ply\r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.ply}\r\n step=\"1\"\r\n min=\"0\"\r\n max=\"32767\"\r\n />\r\n \r\n \r\n Thickness\r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.thickness}\r\n maxLength=\"5\"\r\n />\r\n \r\n \r\n {\" \"}\r\n Color & Grain\r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.basicSpecs}\r\n maxLength=\"200\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={\r\n this.state.product.cleaningComment\r\n }\r\n maxLength=\"500\"\r\n style={{ height: \"75px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.comment}\r\n maxLength=\"1000\"\r\n style={{ height: \"235px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleMultiFormSelectionChange(\r\n \"webCategories\",\r\n selection\r\n );\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n showOnWeb: !value,\r\n },\r\n }));\r\n }}\r\n />\r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n orderByDC: !value\r\n }\r\n }));\r\n }}\r\n />\r\n \r\n */}\r\n {/* \r\n \r\n \r\n \r\n \r\n {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n isCustomRugProduct: !value\r\n }\r\n }));\r\n }}\r\n />\r\n \r\n */}\r\n {/* \r\n \r\n \r\n \r\n \r\n {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n salableAsStandardCustomRug: !value\r\n }\r\n }));\r\n }}\r\n />\r\n \r\n */}\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={\r\n this.state.product.webProductDescription\r\n }\r\n maxLength=\"1000\"\r\n style={{ height: \"150px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onBookSelect(option)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.sampleBookProducts\r\n .length > 0 &&\r\n this.state.sampleBookProducts.map(\r\n (sb) => (\r\n \r\n \r\n {sb.label\r\n ? sb.label\r\n : sb.sampleBookName}\r\n \r\n \r\n \r\n this.removeBook(sb)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {this.state.addingImage ? (\r\n \r\n ) : (\r\n \r\n )}{\" \"}\r\n Images\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {this.state.addingImage && (\r\n
\r\n {this.state.errorMessage ? (\r\n \r\n {this.state.errorMessage}\r\n \r\n ) : null}\r\n \r\n this.setState({ files: files })\r\n }\r\n productAttachmentTypeList={\r\n this.state\r\n .productDetailsAttachmentTypes\r\n }\r\n />\r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n {this.state.productAttachments.map(\r\n (pa) => (\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n this.removeProductAttachment(\r\n pa\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {pa.productAttachmentTypeName ===\r\n \"Detailed Specs\" ? (\r\n \r\n window.open(\r\n pa.url,\r\n \"_blank\"\r\n )\r\n }\r\n >\r\n \r\n \r\n ) : (\r\n \r\n window.open(\r\n pa.url,\r\n \"_blank\"\r\n )\r\n }\r\n />\r\n )}\r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Warranties {helpers.requiredStar()}\r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value)}\r\n value={this.state.product.warranties}\r\n maxLength=\"100\"\r\n />\r\n */}\r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.MISCELLANEOUS.value ||\r\n this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.RUG_COMPONENT.value ? (\r\n \r\n \r\n \r\n \r\n \r\n {/*Supplier Product Name and Number are save in DB as SupplierName and SupplierNumber*/}\r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.supplierName}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.supplierNumber}\r\n maxLength=\"10\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.dcName}\r\n maxLength=\"50\"\r\n placeholder=\"DC Name\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.dcNumber}\r\n maxLength=\"10\"\r\n placeholder=\"DC Style #\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.unitCost}\r\n onBlur={(event) =>\r\n this.updateCurrencyField(\r\n event.target.name,\r\n this.state.product.unitCost\r\n )\r\n }\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.unitPrice}\r\n onBlur={(event) =>\r\n this.updateCurrencyField(\r\n event.target.name,\r\n this.state.product.unitPrice\r\n )\r\n }\r\n min=\"0\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.comment}\r\n maxLength=\"1000\"\r\n style={{ height: \"195px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {this.state.product.productType.value ===\r\n constants.PRODUCT_TYPE.INTL_RUG.value ? (\r\n \r\n \r\n \r\n \r\n \r\n {/*Supplier Product Name and Number are save in DB as SupplierName and SupplierNumber*/}\r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.supplierName}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.supplierNumber}\r\n maxLength=\"10\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.dcName}\r\n maxLength=\"50\"\r\n placeholder=\"DC Name\"\r\n />\r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.dcNumber}\r\n maxLength=\"10\"\r\n placeholder=\"DC Style #\"\r\n />\r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.memoShelfNumber}\r\n maxLength=\"10\"\r\n />\r\n \r\n \r\n \r\n {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n showSampleInventory: !value,\r\n },\r\n }));\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.basicSpecs}\r\n maxLength=\"200\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={\r\n this.state.product.cleaningComment\r\n }\r\n maxLength=\"500\"\r\n style={{ height: \"75px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={this.state.product.comment}\r\n maxLength=\"1000\"\r\n style={{ height: \"235px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleMultiFormSelectionChange(\r\n \"webCategories\",\r\n selection\r\n );\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n product: {\r\n ...prevState.product,\r\n showOnWeb: !value,\r\n },\r\n }));\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateProductState(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n value={\r\n this.state.product.webProductDescription\r\n }\r\n maxLength=\"1000\"\r\n style={{ height: \"150px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onBookSelect(option)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.sampleBookProducts\r\n .length > 0 &&\r\n this.state.sampleBookProducts.map(\r\n (sb) => (\r\n \r\n \r\n {sb.label\r\n ? sb.label\r\n : sb.sampleBookName}\r\n \r\n \r\n \r\n this.removeBook(sb)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {this.state.addingImage ? (\r\n \r\n ) : (\r\n \r\n )}{\" \"}\r\n Images\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {this.state.addingImage && (\r\n
\r\n {this.state.errorMessage ? (\r\n \r\n {this.state.errorMessage}\r\n \r\n ) : null}\r\n \r\n this.setState({ files: files })\r\n }\r\n productAttachmentTypeList={\r\n this.state\r\n .productDetailsAttachmentTypes\r\n }\r\n />\r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n {this.state.productAttachments.map(\r\n (pa) => (\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n this.removeProductAttachment(\r\n pa\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n window.open(\r\n pa.url,\r\n \"_blank\"\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {SaveCancelButtons()}\r\n
\r\n )}\r\n \r\n \r\n {this.state.activeTab === \"2\" &&\r\n this.state.routeProductId && (\r\n \r\n )}\r\n \r\n \r\n {this.state.activeTab === \"3\" && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Button,\r\n Container,\r\n Label,\r\n Card,\r\n CardBody,\r\n Row,\r\n Col,\r\n Alert,\r\n Input,\r\n ButtonGroup,\r\n} from \"reactstrap\";\r\nimport api from \"../utils/api\";\r\nimport helpers from \"../utils/helpers\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport default class Profile extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n editItem: props.currentUser,\r\n message: null,\r\n };\r\n this.onChangeHandler = this.onChangeHandler.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n }\r\n\r\n onChangeHandler(event) {\r\n this.setState({\r\n editItem: {\r\n ...this.state.editItem,\r\n [event.target.name]: event.target.value,\r\n },\r\n });\r\n }\r\n\r\n onCancel() {\r\n setTimeout(() => {\r\n this.setState({ redirect: true });\r\n }, 1000);\r\n }\r\n\r\n isFormValid() {\r\n let warnings = [];\r\n if (\r\n !this.state.editItem.firstName ||\r\n this.state.editItem.firstName.length < 2\r\n ) {\r\n warnings.push(\"Please provide a first name\");\r\n }\r\n if (\r\n !this.state.editItem.lastName ||\r\n this.state.editItem.lastName.length < 2\r\n ) {\r\n warnings.push(\"Please provide a last name\");\r\n }\r\n if (!this.state.editItem.email) {\r\n warnings.push(\"Please provide an e-mail address\");\r\n }\r\n if (\r\n !this.state.editItem.mobileNumber ||\r\n this.state.editItem.mobileNumber.length < 7\r\n ) {\r\n warnings.push(\r\n \"Please provide a valid telephone number including area code\"\r\n );\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(\",\"),\r\n messageFlavor: \"danger\",\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n handleSubmit(event) {\r\n if (!this.isFormValid()) return;\r\n event.preventDefault();\r\n const payload = {\r\n id: this.state.editItem.id,\r\n firstName: this.state.editItem.firstName,\r\n lastName: this.state.editItem.lastName,\r\n email: this.state.editItem.email,\r\n mobileNumber: this.state.editItem.mobileNumber,\r\n };\r\n api\r\n .put(\"Account\", payload)\r\n .then((response) => {\r\n if (response.data.success === true) {\r\n this.setState({\r\n messageFlavor: \"success\",\r\n message:\r\n \"You have successfully updated your profile. We're now redirecting you to the home screen.\",\r\n });\r\n this.props.setCurrentUser(this.state.editItem);\r\n setTimeout(() => {\r\n this.setState({ redirect: true });\r\n }, 3000);\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: \"Profile update failed. Please try again.\",\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n if (this.state.redirect === true) {\r\n return ;\r\n }\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

Edit Profile

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Update\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport { Container, Col, Row, Card, CardBody, Alert, Button, Label, Input } from 'reactstrap';\r\nimport helpers from '../utils/helpers';\r\nimport api from '../utils/api';\r\nimport DCLogo from '../assets/img/dc-logo.jpg';\r\n\r\nexport default class ResetPassword extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const resetToken = props.match && props.match.params && props.match.params.resetToken\r\n ? props.match.params.resetToken\r\n : null;\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n redirect: false,\r\n resetToken: resetToken,\r\n password: '',\r\n password_again: '',\r\n };\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.handlePassword = this.handlePassword.bind(this);\r\n this.handlePasswordAgain = this.handlePasswordAgain.bind(this);\r\n }\r\n\r\n handlePassword(event) {\r\n this.setState({ password: event.target.value });\r\n }\r\n\r\n handlePasswordAgain(event) {\r\n this.setState({ password_again: event.target.value });\r\n }\r\n\r\n isFormValid() {\r\n let warnings = [];\r\n if (!this.state.password || this.state.password.length < 8) {\r\n warnings.push(\"Password is required and must be at least 8 characters long.\");\r\n }\r\n if (this.state.password !== this.state.password_again) {\r\n warnings.push(\"The password and password confirmation do not match.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\"\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n handleSubmit() {\r\n if (!this.isFormValid()) return;\r\n api.post('Public/SetPassword', {\r\n token: this.state.resetToken,\r\n oldPassword: this.state.password,\r\n newPassword: this.state.password_again\r\n })\r\n .then((response) => {\r\n if (response.data.success === true) {\r\n this.setState({\r\n messageFlavor: \"success\",\r\n message: \"You have successfully reset your password. We're now redirecting you to the home screen.\"\r\n })\r\n setTimeout(() => {\r\n this.setState({ redirect: true });\r\n }, 3000);\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n }).catch(helpers.catchHandler);\r\n };\r\n\r\n render() {\r\n if (this.state.redirect === true) {\r\n return ;\r\n }\r\n return (\r\n \r\n \r\n \r\n \"DC\r\n \r\n \r\n \r\n \r\n
\r\n Return to Login Screen\r\n
\r\n
\r\n {this.state.message !== null\r\n ? {this.state.message}\r\n : null\r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport React, { Fragment } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n Container,\r\n Table,\r\n Card,\r\n Row,\r\n Col,\r\n CardBody\r\n} from 'reactstrap';\r\nimport {\r\n api,\r\n helpers,\r\n date_helpers\r\n} from '../utils';\r\nimport MemoStockOrders from './MemoStockOrders';\r\nimport _ from \"lodash\";\r\n\r\nexport default class ShippingConsole extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n pendingMemoOrders: [],\r\n backorderedMemoOrders: [],\r\n pendingMemoOrderLines: []\r\n };\r\n this.toggleCollapse = this.toggleCollapse.bind(this);\r\n this.getPendingMemoOrderLines = this.getPendingMemoOrderLines.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n api.fetch(`MemoOrder/GetPendingAndBackOrderedMemoOrders`)\r\n .then((response) => {\r\n this.setState({\r\n pendingMemoOrders: _.map(response.data.pendingMemoOrders, pmo => { pmo.collapse = false; pmo.pendingMemoOrderLines = []; return pmo;}),\r\n backorderedMemoOrders: response.data.backorderedMemoOrderLines\r\n });\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n getPendingMemoOrderLines(memoOrderId) {\r\n let list = this.state.pendingMemoOrders.slice();\r\n let index = _.findIndex(list, o => { return o.id === memoOrderId });\r\n list[index].collapse = !list[index].collapse;\r\n\r\n if (list[index].collapse) {\r\n api.fetch(`MemoOrder/GetPendingMemoOrderLines/${memoOrderId}`)\r\n .then((response) => {\r\n list[index].pendingMemoOrderLines = response.data;\r\n this.setState({\r\n pendingMemoOrders: list,\r\n });\r\n }).catch(helpers.catchHandler);\r\n\r\n } else {\r\n list[index].pendingMemoOrderLines = [];\r\n this.setState({\r\n pendingMemoOrders: list\r\n })\r\n }\r\n }\r\n\r\n toggleCollapse(memoOrderId) {\r\n let list = this.state.pendingMemoOrders.slice();\r\n let index = _.findIndex(list, o => { return o.id === memoOrderId });\r\n list[index].collapse = !list[index].collapse;\r\n this.setState({\r\n pendingMemoOrders: list\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n

Shipping Console

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n

Memo Orders Pending Shipment

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.pendingMemoOrders.map(pmo => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pmo.collapse ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n ))}\r\n \r\n
Memo Order #Account #Account NameEntered DateEntered By
\r\n \r\n {pmo.id}\r\n \r\n {pmo.customerNumber}{pmo.customerName}{date_helpers.formatDateToShortDate(pmo.createdAt)}{pmo.createdByUserName}\r\n this.getPendingMemoOrderLines(pmo.id)}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pmo.pendingMemoOrderLines && pmo.pendingMemoOrderLines.length ?\r\n pmo.pendingMemoOrderLines.map((pmol, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )) : null}\r\n \r\n
SizeShelf #Supplier ProductDC ProductColor
{pmol.memoSizeName}{pmol.productMemoShelfNumber}{pmol.supplierName}{pmol.dcName}\r\n {pmol.productColorName}\r\n {\" \"}\r\n {pmol.productColorNumber}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Backordered Memo Orders

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.backorderedMemoOrders.map(bmo => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Memo Order #Placed OnSizeShelf #Supplier ProductDC ProductColor
\r\n \r\n {bmo.memoOrderId}\r\n \r\n {date_helpers.formatDateToShortDate(bmo.createdAt)}{bmo.memoSizeName}{bmo.productMemoShelfNumber}{bmo.supplierName}{bmo.dcName}\r\n {bmo.productColorName}\r\n {\" \"}\r\n {bmo.productColorNumber}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React from \"react\";\r\nimport { Alert, Form, Row, Col, Container } from \"reactstrap\";\r\nimport { Link, Redirect } from \"react-router-dom\";\r\n// import UserAdmin from '../pages/UserAdmin';\r\n// import DCLogo from \"../assets/img/dc-logo.jpg\";\r\nimport DCLogo from '../assets/img/logo_with_rugs.jpg';\r\nimport { api, helpers } from \"../utils\";\r\n\r\nexport default class SignIn extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n let lastUsername = \"\";\r\n try {\r\n const tmp = localStorage.getItem('lastUsername');\r\n if (tmp) {\r\n lastUsername = tmp;\r\n }\r\n } catch {}\r\n this.state = {\r\n username: lastUsername,\r\n password: \"\",\r\n //emailCaptured: false,\r\n message: null,\r\n messageFlavor: null,\r\n // touched: {\r\n // username: false,\r\n // password: false\r\n // }\r\n redirectTo: null\r\n };\r\n this.handlesBlur = this.handlesBlur.bind(this);\r\n }\r\n\r\n validateForm() {\r\n return this.state.username.length > 0 && this.state.password.length > 0;\r\n }\r\n\r\n handlesBlur = (field) => (e) => {\r\n this.setState({\r\n touched: { ...this.state.touched, [field]: true },\r\n });\r\n };\r\n\r\n handleUsername(event) {\r\n this.setState({ username: event.target.value });\r\n }\r\n\r\n handlePassword(event) {\r\n this.setState({ password: event.target.value });\r\n }\r\n\r\n handleSubmit(e) {\r\n e.preventDefault();\r\n api.post(\"public/authenticate\", {\r\n Username: this.state.username,\r\n Password: this.state.password,\r\n }).then((response) => {\r\n if (response.data.success) {\r\n try {\r\n localStorage.setItem('lastUsername', this.state.username);\r\n } catch {}\r\n this.setState({\r\n messageFlavor: \"success\",\r\n message: \"Log-In Successful!\",\r\n });\r\n this.props.setCurrentUser(\r\n response.data.user,\r\n response.data.user.token\r\n );\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n const {\r\n redirectTo\r\n } = this.state;\r\n if (redirectTo) {\r\n\t\t\treturn ;\r\n }\r\n return (\r\n \r\n \r\n \r\n \"DC\r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Sign In\r\n \r\n
\r\n
\r\n \r\n Misplaced your password?\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport {\r\n Button,\r\n ButtonGroup,\r\n Col,\r\n Row,\r\n Table,\r\n Container,\r\n Form,\r\n Card,\r\n Alert as Alert2,\r\n CardBody,\r\n Input\r\n} from 'reactstrap';\r\nimport { Alert } from \"react-s-alert\";\r\nimport api from '../utils/api';\r\nimport Select from 'react-select';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Link } from 'react-router-dom';\r\nimport _ from 'lodash';\r\nimport helpers from '../utils/helpers';\r\nimport filterHelpers from '../utils/filter_helpers';\r\nimport { ContactList } from './';\r\nimport {\r\n FilterSet,\r\n FilterText,\r\n FilterBoolean,\r\n SortHeader\r\n} from '../components';\r\n\r\n\r\nexport default class Suppliers extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n suppliers: [], \r\n messageFlavor: null,\r\n message: null,\r\n isMessageVisible: false,\r\n sortField: 'Name',\r\n sortDir: 'asc',\r\n filters: [{\r\n filterName: \"ActiveOnly\",\r\n value: true,\r\n filteredDisplay: \"Active Only: Yes\"\r\n }],\r\n clearValue: false,\r\n // supplierGroupList: [],\r\n contactTypeList: [],\r\n contactAddressTypeList: [],\r\n contacts: [],\r\n contactList: [],\r\n };\r\n\r\n this.refreshList = this.refreshList.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n // this.setPage = this.setPage.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n // const getSupplierGroups = api.fetch(\"Reference/GetSupplierGroupList\")\r\n // .then((response) => {\r\n // return { supplierGroupList: response.data };\r\n // })\r\n // .catch(helpers.catchHandler);\r\n\r\n // Promise.all([\r\n // getSupplierGroups\r\n // ])\r\n // .then((aggregateResults) => {\r\n // const newStatus = {};\r\n // aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n // this.setState(newStatus, () =>\r\n // this.refreshList());\r\n // })\r\n // .catch(helpers.catchHandler);\r\n this.refreshList();\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n const filterList = filters || this.state.filters;\r\n const payload = {\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir,\r\n };\r\n\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n\r\n api.post('Supplier/GetPaginatedList', payload)\r\n .then((response) => {\r\n this.setState({\r\n suppliers: response.data.list\r\n });\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filterHelpers.get_filters(this.state.filters, changedFilter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n // setPage(page) {\r\n // const newPagedList = Object.assign({}, this.state.pagedList);\r\n // newPagedList.pageNumber = page;\r\n // this.setState({ pagedList: newPagedList }, () => this.refreshList());\r\n // }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) return filterElement.value;\r\n return '';\r\n }\r\n\r\n handleDelete(id) {\r\n api.delete(`Supplier/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.setState({ messageFlavor: \"success\", message: \"Supplier was deleted\", isMessageVisible: true }, ()=>this.refreshList());\r\n \r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message, isMessageVisible: true });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api.post(`Supplier/undelete/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n //Alert.success(\"Supplier was revived\")\r\n this.setState({ messageFlavor: \"success\", message: \"Supplier was revived\", isMessageVisible: true }, () => this.refreshList());\r\n \r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message, isMessageVisible: true });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onDismiss() {\r\n this.setState({\r\n isMessageVisible: !this.state.isMessageVisible,\r\n message: null,\r\n messageColor: null\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n this.onDismiss()}>\r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

Manage Suppliers

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Add Supplier\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.suppliers.map(s => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{s.name}{s.accountNumber}{s.samplesEmail}\r\n \r\n {s.deactivatedAt === null\r\n ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { Container, Col, Row, Card, CardBody, Alert, Button, Label, Input, ButtonGroup } from 'reactstrap';\r\nimport helpers from '../utils/helpers';\r\nimport api from '../utils/api';\r\n\r\nexport default class UpdatePassword extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n redirect: false,\r\n password: '',\r\n change_password: '',\r\n change_password_again: '',\r\n };\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.handlePassword = this.handlePassword.bind(this);\r\n this.onUpdatePassword = this.onUpdatePassword.bind(this);\r\n this.onUpdatePasswordAgain = this.onUpdatePasswordAgain.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n }\r\n\r\n handlePassword(event) {\r\n this.setState({ ...this.state.item, password: event.target.value });\r\n }\r\n\r\n onUpdatePassword(event) {\r\n this.setState({ ...this.state.item, change_password: event.target.value });\r\n }\r\n\r\n onUpdatePasswordAgain(event) {\r\n this.setState({ ...this.state.item, change_password_again: event.target.value });\r\n }\r\n\r\n isFormValid() {\r\n let warnings = [];\r\n if (!this.state.password) {\r\n warnings.push(\"All password fields required.\");\r\n }\r\n if (this.state.change_password !== this.state.change_password_again) {\r\n warnings.push(\"The new password & new password confirmation do not match.\");\r\n }\r\n if (!this.state.change_password || this.state.change_password.length < 8) {\r\n warnings.push(\"New password is required to be at least 8 characters long.\");\r\n }\r\n if (this.state.password === this.state.change_password) {\r\n warnings.push(\"The original & new passwords must be different.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(','),\r\n messageFlavor: \"danger\"\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onCancel() {\r\n setTimeout(() => {\r\n this.setState({ redirect: true });\r\n }, 1000);\r\n }\r\n\r\n handleSubmit() {\r\n if (!this.isFormValid()) return;\r\n api.post(\"Account/UpdatePassword\", {\r\n OldPassword: this.state.password,\r\n NewPassword: this.state.change_password\r\n }).then((response) => {\r\n if (response.data.success === false) {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } else {\r\n this.setState({\r\n messageFlavor: \"success\",\r\n message: \"You have successfully updated your password. We're now redirecting you to the home screen.\"\r\n });\r\n let user = this.props.currentUser;\r\n user.must_change_password = false;\r\n this.props.setCurrentUser(user);\r\n setTimeout(() => {\r\n this.setState({ redirect: true });\r\n }, 3000);\r\n }\r\n }).catch(helpers.catchHandler);\r\n };\r\n\r\n render() {\r\n if (this.state.redirect === true) {\r\n return ;\r\n }\r\n return (\r\n \r\n

Update Profile

\r\n \r\n \r\n \r\n \r\n
\r\n {this.state.message !== null\r\n ? {this.state.message}\r\n : null\r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport {\r\n Alert, Button, ButtonGroup, Card, Col, Container, Input, Label,\r\n Modal, ModalHeader, ModalBody, ModalFooter, Row, Table, CardBody\r\n} from 'reactstrap';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport _ from 'lodash';\r\nimport Select from 'react-select';\r\nimport makeAnimated from \"react-select/animated\";\r\n// import helpers from '../utils/helpers';\r\nimport filterHelpers from '../utils/filter_helpers';\r\n// import api from '../utils/api';\r\nimport { api, constants, helpers } from '../utils';\r\nimport { FilterBoolean, FilterMultiSelect, FilterSet, FilterText, Pager, SortHeader } from '../components';\r\n\r\nconst apiUrl = 'Admin/';\r\n\r\nconst emptyUser = {\r\n id: 0,\r\n firstName: '',\r\n lastName: '',\r\n username: '',\r\n email: '',\r\n mobileNumber: '',\r\n agent: {},\r\n roles: [],\r\n isOfficeStaff: false,\r\n RoleSelection: []\r\n};\r\n\r\nconst inputMaxLengths = {\r\n // change these numbers to match the length of the fields in the database\r\n firstName: 25,\r\n lastName: 25,\r\n username: 150,\r\n email: 150,\r\n mobileNumber: 15\r\n};\r\n\r\nconst getUserRoleNameCSV = (roleIdList) => {\r\n if (!roleIdList) return \"\";\r\n return _.map(_.filter(constants.USER_ROLES, role => {\r\n return _.some(roleIdList, rid => { return role.id === rid; });\r\n }), role => role.name).join(', ');\r\n};\r\n\r\n// const getRoleJson = (roleList) => {\r\n// let array = _.map(roleList, x => {\r\n// return {Role: x, Selected: true};\r\n// });\r\n// return array;\r\n// };\r\n\r\nclass EditUser extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n pagedList: {\r\n pageSize: 100, //setting all lists to 100\r\n },\r\n message: null,\r\n messageFlavor: 'danger',\r\n editItem: props.editItem || emptyUser,\r\n agentList: props.agentList\r\n };\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleFormInputChange = this.handleFormInputChange.bind(this);\r\n this.handleIsOfficeChange = this.handleIsOfficeChange.bind(this);\r\n this.onSelectChange = this.onSelectChange.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.checkboxHandler = this.checkboxHandler.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n }\r\n\r\n // componentDidUpdate(prevProps, prevState) {\r\n // if (prevProps.editingItem !== this.props.editingItem) {\r\n // this.setState({user: this.props.editingItem});\r\n // } \r\n // }\r\n\r\n handleFormInputChange(event) {\r\n this.setState({ editItem: { ...this.state.editItem, [event.target.name]: event.target.value } });\r\n }\r\n\r\n handleIsOfficeChange(event) {\r\n this.setState({ editItem: { ...this.state.editItem, isOfficeStaff: event.target.checked } });\r\n }\r\n\r\n onSelectChange(event) {\r\n this.setState({\r\n editItem: {\r\n ...this.state.editItem,\r\n agent: event,\r\n agentId: event.value,\r\n agentName: event.label\r\n }\r\n })\r\n }\r\n\r\n checkboxHandler(e) {\r\n let userRoles = this.state.editItem.roles.slice();\r\n //makes sure e.target.value is an integer\r\n let value = +e.target.value;\r\n\r\n if (e.target.checked) {\r\n userRoles.push(value);\r\n } else {\r\n userRoles.splice(_.indexOf(userRoles, value), 1);\r\n }\r\n const sorted = _.sortBy(userRoles, x => x);\r\n this.setState({ editItem: { ...this.state.editItem, roles: sorted } });\r\n }\r\n\r\n isChecked(id, userRoles) {\r\n return _.findIndex(userRoles, x => x === id) !== -1;\r\n }\r\n\r\n isFormValid() {\r\n let warnings = [];\r\n if (!this.state.editItem.firstName || this.state.editItem.firstName.length < 2) {\r\n warnings.push('Please provide a valid first name.')\r\n }\r\n if (!this.state.editItem.lastName || this.state.editItem.lastName.length < 2) {\r\n warnings.push('Please provide a valid last name.')\r\n }\r\n if (!this.state.editItem.username) {\r\n warnings.push('Please provide a username.')\r\n }\r\n if ((!this.state.editItem.password || this.state.editItem.password.length < 8) && this.state.editItem.id === 0) {\r\n warnings.push('Please provide a password of at least 8 characters.')\r\n }\r\n if (!this.state.editItem.email || this.state.editItem.email.length < 2|| !helpers.emailIsValid(this.state.editItem.email)) {\r\n warnings.push('Please provide a valid email.')\r\n }\r\n // if (!this.state.editItem.mobileNumber || this.state.editItem.email.length < 2) {\r\n // warnings.push('Please provide a valid mobile number.')\r\n // }\r\n if (!this.state.editItem.roles || this.state.editItem.roles.length < 1) {\r\n warnings.push('Please select a role for the user.')\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: 'danger'\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmit() {\r\n window.scroll(0, 0);\r\n if (!this.isFormValid()) return;\r\n const payload = {\r\n ...this.state.editItem,\r\n initialPassword: this.state.editItem.password,\r\n agentId: this.state.editItem.agent.value || null\r\n }\r\n if (!payload.id) { delete payload.id; }\r\n if (!this.isChecked(5, this.state.editItem.roles)) { delete payload.agentId; } // if agent isn't one of the roles, don't set agent on user\r\n \r\n api.post(apiUrl + \"SaveUser\", payload)\r\n .then(response => {\r\n if (response.data.success) {\r\n // this.setState({ messageFlavor: \"success\", message: \"The user record was updated.\" });\r\n this.props.onCancel();\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onCancel() {\r\n this.setState({ editItem: emptyUser }, () => this.props.onCancel());\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n
{this.state.editItem.id ? 'Edit' : 'Add'} Staff
\r\n
\r\n \r\n {this.state.message ? {this.state.message} : null}\r\n \r\n First Name {helpers.requiredStar()}\r\n \r\n \r\n Last Name {helpers.requiredStar()}\r\n \r\n \r\n \r\n \r\n Username {helpers.requiredStar()}\r\n {this.state.editItem.id === 0\r\n ? \r\n : \r\n }\r\n \r\n {this.state.editItem.id === 0\r\n ? Password {helpers.requiredStar()}\r\n \r\n \r\n : \r\n }\r\n \r\n \r\n E-Mail {helpers.requiredStar()}\r\n \r\n \r\n Mobile Number\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {constants.USER_ROLES.map(r =>\r\n \r\n \r\n \r\n )}\r\n \r\n {this.isChecked(5, this.state.editItem.roles) &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default class UserAdmin extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n pagedList: {\r\n list: [],\r\n pageNumber: 1\r\n },\r\n messageFlavor: 'danger',\r\n message: null,\r\n editItem: null,\r\n sortField: 'LastName',\r\n sortDir: 'asc',\r\n filters: [],\r\n clearValue: false\r\n };\r\n\r\n this.refreshList = this.refreshList.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.setPage = this.setPage.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.renderEditButtons = this.renderEditButtons.bind(this);\r\n this.onAdd = this.onAdd.bind(this);\r\n this.toggleActivation = this.toggleActivation.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getAgents = api.fetch('Reference/GetAgentList/')\r\n .then((response) => {\r\n return { agentList: response.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n Promise.all([getAgents])\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, () =>\r\n this.refreshList());\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n let filterList = filters || this.state.filters;\r\n let payload = {\r\n page: this.state.pagedList.pageNumber,\r\n pageSize: this.state.pagedList.pageSize,\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir\r\n }\r\n\r\n // change it into the format C# is expecting and add to payload\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n api.post(apiUrl + 'GetList', payload)\r\n .then((response) => {\r\n this.setState({\r\n pagedList:\r\n {\r\n ...response.data,\r\n list: _.map(response.data.list, user => {\r\n // prepare for react-select\r\n return {\r\n ...user,\r\n agent: { label: user.agentName, value: user.agentId },\r\n }\r\n })\r\n }\r\n })\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filterHelpers.get_filters(this.state.filters, changedFilter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n setPage(page) {\r\n const newPagedList = Object.assign({}, this.state.pagedList);\r\n newPagedList.pageNumber = page;\r\n this.setState({ pagedList: newPagedList }, () => this.refreshList());\r\n }\r\n\r\n toggleActivation(id) { // Handle Delete and Revive\r\n api.post(apiUrl + `ToggleUserActive/${id}`)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({ message: null });\r\n \r\n } else {\r\n this.setState({ message: response.data.message });\r\n }\r\n this.refreshList();\r\n })\r\n .catch(error => error);\r\n }\r\n\r\n onAdd() {\r\n this.setState({ editItem: emptyUser });\r\n }\r\n\r\n onEdit(user) {\r\n this.setState({ editItem: user })\r\n }\r\n\r\n onCancel() {\r\n this.setState({ editItem: null });\r\n this.refreshList();\r\n }\r\n\r\n renderEditButtons(user) {\r\n if (user.id !== 0) {\r\n return (\r\n \r\n {user.isActive ?\r\n \r\n this.onEdit(user)} size=\"sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n Revive\r\n \r\n }\r\n \r\n );\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n

Staff Administration

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Add Staff\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {_.map(this.state.pagedList.list, u =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Agent\r\n \r\n Staff Roles\r\n \r\n \r\n
{u.firstName}{u.lastName}{u.username}{u.email}{u.mobileNumber}{u.agent.value}{getUserRoleNameCSV(u.roles)}{u.isOfficeStaff ? : null}\r\n {this.renderEditButtons(u)}\r\n
\r\n \r\n {this.state.editItem\r\n ? \r\n : null\r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Table, Button, Row, Col, Input, \r\n Modal, ModalHeader, ModalBody, ButtonGroup, Alert} from 'reactstrap';\r\nimport _ from 'lodash';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport helpers from '../utils/helpers';\r\nimport api from '../utils/api';\r\nimport makeAnimated from \"react-select/animated\";\r\nimport Select from 'react-select';\r\n\r\n\r\nconst emptyContact= {\r\n Id: null,\r\n FirstName:'',\r\n LastName:'',\r\n Email:'',\r\n IsPrimary: false,\r\n PhoneList: [],\r\n AddressList: [],\r\n}; \r\n\r\nconst emptyPhone= {\r\n Id: null,\r\n Number: '',\r\n TypeOfPhone: null,\r\n DeactivatedAt: null\r\n};\r\n\r\nconst emptyAddress= {\r\n Id: null,\r\n Ln1:\"\",\r\n Ln2:\"\",\r\n Ln3:\"\",\r\n Ln4:\"\",\r\n City:\"\",\r\n State:\"\",\r\n Zip:\"\",\r\n TypeOfAddress: null,\r\n DeactivatedAt: null\r\n} \r\n\r\nlet addId= 0;\r\n\r\nconst getAddId=() => {\r\n addId--;\r\n return addId;\r\n}; \r\n\r\nclass EditAddress extends React.Component{\r\n constructor(props) {\r\n super(props);\r\n this.state= {\r\n contact: props.contact,\r\n addressTypeList: [],\r\n showAddressEdit: true,\r\n errorMessage: null,\r\n Ln1: props.editAddress.Ln1,\r\n Ln2: props.editAddress.Ln2,\r\n Ln3: props.editAddress.Ln3,\r\n Ln4: props.editAddress.Ln4,\r\n City: props.editAddress.City,\r\n State: props.editAddress.State,\r\n Zip: props.editAddress.Zip,\r\n TypeOfAddress: props.editAddress.TypeOfAddress\r\n };\r\n\r\n this.onLn1Change=this.onLn1Change.bind(this);\r\n this.onLn2Change=this.onLn2Change.bind(this);\r\n this.onLn3Change=this.onLn3Change.bind(this);\r\n this.onLn4Change=this.onLn4Change.bind(this);\r\n this.onCityChange=this.onCityChange.bind(this);\r\n this.onStateChange=this.onStateChange.bind(this);\r\n this.onZipChange=this.onZipChange.bind(this);\r\n this.onTypeOfAddressSelection=this.onTypeOfAddressSelection.bind(this);\r\n this.onAddressSave = this.onAddressSave.bind(this);\r\n this.onAddressCancel = this.onAddressCancel.bind(this);\r\n } \r\n\r\n componentDidMount(){\r\n api.fetch(`${this.props.apiPath}GetContactAddressType`)\r\n .then((result) => {\r\n let list = result.data.map(function (t){\r\n return {\r\n label: t.name,\r\n value: t.id\r\n };\r\n });\r\n this.setState({addressTypeList: list });\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevProps.contact !== this.props.contact) {\r\n this.setState({ contact: this.props.contact });\r\n }\r\n }\r\n\r\n changeAddressProperty(propertyName, newValue){\r\n let newState = Object.assign({}, this.state);\r\n newState[propertyName] = newValue;\r\n this.setState(newState);\r\n }\r\n\r\n onAddressSave() {\r\n this.props.onAddressSave({\r\n Id: this.props.editAddress.Id,\r\n Ln1: this.state.Ln1,\r\n Ln2: this.state.Ln2,\r\n Ln3: this.state.Ln3,\r\n Ln4: this.state.Ln4,\r\n City: this.state.City,\r\n State: this.state.State,\r\n Zip: this.state.Zip,\r\n TypeOfAddress: this.state.TypeOfAddress\r\n });\r\n\r\n }\r\n\r\n onAddressCancel() {\r\n this.props.onAddressCancel(this.props.editAddress.Id);\r\n }\r\n\r\n onLn1Change(event){\r\n this.changeAddressProperty(\"Ln1\", event.target.value);\r\n }\r\n\r\n onLn2Change(event){\r\n this.changeAddressProperty(\"Ln2\", event.target.value);\r\n }\r\n\r\n onLn3Change(event){\r\n this.changeAddressProperty(\"Ln3\", event.target.value);\r\n }\r\n\r\n onLn4Change(event){\r\n this.changeAddressProperty(\"Ln4\", event.target.value);\r\n }\r\n\r\n onCityChange(event){\r\n this.changeAddressProperty(\"City\", event.target.value);\r\n }\r\n\r\n onStateChange(event){\r\n this.changeAddressProperty(\"State\", event.target.value);\r\n }\r\n \r\n onZipChange(event){\r\n this.changeAddressProperty(\"Zip\", event.target.value);\r\n }\r\n\r\n onTypeOfAddressSelection(selection){\r\n this.changeAddressProperty(\"TypeOfAddress\", selection);\r\n }\r\n\r\n render() {\r\n return ( \r\n \r\n Add New Address for {this.state.contact.FirstName}\r\n \r\n {this.state.errorMessage !== null\r\n ? {this.state.errorMessage}\r\n : null\r\n }\r\n \r\n Address \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n City\r\n \r\n \r\n State\r\n \r\n \r\n Zip Code\r\n \r\n \r\n \r\n \r\n Address Type \r\n \r\n \r\n Last Name\r\n \r\n \r\n E-Mail\r\n \r\n \r\n Primary? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Phone\r\n \r\n \r\n \r\n {this.state.contact.PhoneList.map(c => \r\n (\r\n {c.editing ? \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n } \r\n \r\n )\r\n )}\r\n \r\n
Phone\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {c.Number}{c.TypeOfPhone.label}\r\n \r\n \r\n {c.deactivatedAt\r\n ? ()\r\n : () \r\n }\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.contact.AddressList.map(a =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
Address\r\n \r\n \r\n \r\n
{a.Ln1}{a.Ln2}{a.Ln3}{a.Ln4}{a.City}{a.State}{a.Zip}{a.TypeOfAddress ? a.TypeOfAddress.label : null }\r\n {a.Id === null ? null\r\n : \r\n \r\n {a.deactivatedAt === null\r\n ? ()\r\n : ()\r\n }\r\n \r\n }\r\n
\r\n {(this.state.showAddressEdit === true) &&\r\n \r\n }\r\n \r\n \r\n \r\n );\r\n}\r\n}\r\n\r\nexport default class ContactList extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state= {\r\n contactList: props.contactList,\r\n showAddressEdit: false,\r\n contact: emptyContact,\r\n editing: false, \r\n redirect: false,\r\n message: null,\r\n messageFlavor: null,\r\n };\r\n\r\n this.showAdd = this.showAdd.bind(this);\r\n this.isEditingAny = this.isEditingAny.bind(this); \r\n this.onContactSave=this.onContactSave.bind(this); \r\n }\r\n\r\ncomponentDidUpdate(prevProps, prevState) {\r\n if (prevProps.contactList !== this.props.contactList) {\r\n this.setState({ contactList: this.props.contactList });\r\n }\r\n}\r\n showAdd(){\r\n const newList = this.state.contactList.slice();\r\n let newContact = Object.assign({}, emptyContact);\r\n newContact.Id = getAddId();\r\n newContact.editing = true;\r\n newList.unshift(newContact);\r\n this.setState({ contactList: newList });\r\n }\r\n\r\n isEditingAny() {\r\n return _.find(this.state.contactList, function(c){ return c.editing; }) !== undefined;\r\n }\r\n\r\n onContactSave(newContactInfo){\r\n let saveList = this.state.contactList.slice();\r\n let existingIdx = _.findIndex(this.state.contactList, function(c){\r\n return c.Id === newContactInfo.Id;\r\n });\r\n if(existingIdx === -1)\r\n { \r\n console.error(\"could not find contact that should have existed \"+ newContactInfo.Id );\r\n }\r\n else {\r\n\r\n newContactInfo.editing = false;\r\n saveList[existingIdx] = newContactInfo;\r\n this.setState({contactList: saveList});\r\n this.props.onListChanged(saveList);\r\n }\r\n }\r\n\r\n onEditContact(contactid, event){\r\n let editList = this.state.contactList.slice();\r\n let indexToEdit = _.findIndex(editList, {Id: contactid});\r\n editList[indexToEdit].pristine = Object.assign({}, editList[indexToEdit]);\r\n editList[indexToEdit].editing = true;\r\n this.setState({contactList: editList});\r\n }\r\n\r\n onContactDelete(contactId, event){\r\n let editList = this.state.contactList.slice();\r\n let indexToEdit = _.findIndex(editList, {Id: contactId});\r\n let currentContact = editList[indexToEdit];\r\n if (currentContact.Id > 0) {\r\n api.delete(`${this.props.apiPath}Contact/${contactId}`).then(r => {\r\n if (r.data.success === false) {\r\n this.setState({messageFlavor: \"danger\", message: r.data.message});\r\n } else {\r\n editList[indexToEdit].deactivatedAt = new Date();\r\n this.setState({ contactList: editList});\r\n this.props.onListChanged(editList);\r\n }\r\n }).catch(helpers.catchHandler);\r\n } else {\r\n editList.splice(indexToEdit, 1);\r\n this.setState({ contactList: editList});\r\n this.props.onListChanged(editList);\r\n }\r\n}\r\n\r\n render() {\r\n // if (this.state.redirect === true){\r\n // return ;\r\n // }\r\n return (\r\n
\r\n {this.state.message !== null\r\n ?{this.state.message}\r\n :null\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.contactList.map(c =>\r\n ({c.editing ? \r\n \r\n : \r\n \r\n \r\n \r\n \r\n \r\n }\r\n )\r\n )}\r\n \r\n
NameEmailIs Primary? \r\n {!this.isEditingAny()\r\n ? \r\n : null\r\n } \r\n
{c.FirstName} {c.LastName} {c.Email} {c.IsPrimary ? \"yes\" : null} \r\n \r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Button, Card, CardBody, Col, Row, Container, Table } from 'reactstrap';\r\nimport api from '../utils/api';\r\nimport { Link } from 'react-router-dom';\r\nimport helpers from '../utils/helpers';\r\nimport _ from 'lodash';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nlet nextNumber = 0;\r\n\r\nconst gimmeNextNumber = () => {\r\n nextNumber++;\r\n return nextNumber;\r\n};\r\n\r\nconst DataRow = props => {\r\n return (\r\n \r\n \r\n {props.header}:\r\n \r\n \r\n {props.data || \"\"}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default class ViewSupplier extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n const activeSupplierId = props.location && props.location.state ? props.location.state.supplierId : null; \r\n\r\n this.state = {\r\n contactInfo: [],\r\n supplierInfo: [],\r\n supplierContactList: [],\r\n supplierId: activeSupplierId,\r\n supplierList: props.supplierList\r\n }\r\n\r\n this.togglePhoneInfo = this.togglePhoneInfo.bind(this);\r\n }\r\n\r\n componentDidMount(){\r\n api.fetch(`Supplier/GetSupplier/${this.state.supplierId}`)\r\n .then((result) => {\r\n this.setState({ \r\n contactInfo: result.data.contacts,\r\n supplierInfo: result.data.supplier\r\n });\r\n });\r\n }\r\n\r\n togglePhoneInfo(selectedContactId){\r\n const crIndex = _.findIndex(this.state.contactInfo, function(x){return x.id === selectedContactId});\r\n const list = this.state.contactInfo.slice();\r\n list[crIndex].expanded = !list[crIndex].expanded;\r\n this.setState({ contactInfo: list});\r\n }\r\n\r\n render() {\r\n const s = this.state.supplierInfo;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n

Contact Details for {s.name}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.contactInfo.map(i => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {i.expanded &&\r\n \r\n \r\n \r\n \r\n \r\n {i.phoneNumbers.map(p => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {i.addresses.map(a => (\r\n \r\n {line};\r\n })}\r\n \r\n \r\n \r\n ))}\r\n\r\n \r\n }\r\n \r\n ))}\r\n \r\n
Contact NameE-MailType of Contact
{i.firstName} {i.lastName}{i.email ? i.email : \"\"} {i.typeOfContactName ? i.typeOfContactName : \"\"}\r\n \r\n \r\n Show More \r\n \r\n
Phone #Phone Type
{p.number ? helpers.formatPhoneNumber(p.number) : \"\"}{p.typeOfPhoneName ? p.typeOfPhoneName : \"\"}
AddressAddress Type
\r\n {helpers.formatAddress(a).map(line => {\r\n return
{a.typeOfAddressName ? a.typeOfAddressName : \"\"}
\r\n \r\n
*/}\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport {\r\n Container,\r\n Card,\r\n CardBody,\r\n Table,\r\n Button,\r\n ButtonGroup,\r\n Label,\r\n Alert,\r\n Row,\r\n Col,\r\n Input,\r\n Collapse\r\n} from 'reactstrap';\r\nimport {\r\n api,\r\n helpers,\r\n date_helpers,\r\n filter_helpers\r\n} from '../utils';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Select from 'react-select';\r\nimport _ from \"lodash\";\r\nimport moment from 'moment';\r\nimport {\r\n FilterSet,\r\n SortHeader,\r\n FilterBoolean,\r\n FilterText\r\n} from '../components';\r\n\r\nconst emptyWidth = {\r\n name: \"\",\r\n numericFeet: \"\",\r\n // tradeSizeType: {\r\n // value: \"\",\r\n // label: \"\"\r\n // }\r\n};\r\n\r\nclass Width extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n widths: [],\r\n newWidth: emptyWidth,\r\n message: null,\r\n messageFlavor: null,\r\n // tradeSizeList: [],\r\n addNewWidth: false,\r\n filters: [{filterName: \"ActiveOnly\", value: true, filteredDisplay: \"Active Only: Active\"}],\r\n sort_field: 'Name',\r\n sort_dir: 'asc',\r\n };\r\n\r\n this.addNewWidth = this.addNewWidth.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.refreshList = this.refreshList.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n // api\r\n // .fetch(\"Reference/GetTradeSizeList\")\r\n // .then((result) => {\r\n // this.setState({\r\n // tradeSizeList: result.data\r\n // });\r\n // this.refreshList();\r\n // })\r\n // .catch(helpers.catchHandler);\r\n this.refreshList();\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n const filterList = filters || this.state.filters;\r\n const payload = {\r\n SortField: sortField || this.state.sort_field,\r\n SortDir: sortDirection || this.state.sort_dir,\r\n };\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n\r\n api.post('Width/GetList', payload)\r\n .then((response) => {\r\n this.setState({\r\n widths: response.data,\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n addNewWidth() {\r\n this.setState({\r\n addNewWidth: !this.state.addNewWidth,\r\n newWidth: emptyWidth,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n handleNewWidthStateChange(fieldName, value) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n newWidth: {\r\n ...prevState.newWidth,\r\n [fieldName]: value\r\n }\r\n }));\r\n }\r\n\r\n onBlurNewNumericFeetField(fieldName, value) {\r\n if (value) {\r\n this.setState(prevState => ({\r\n ...prevState,\r\n newWidth: {\r\n ...prevState.newWidth,\r\n [fieldName]: _.round(value, 4)\r\n }\r\n }));\r\n }\r\n }\r\n\r\n // getSelectedTradeSize(tradeSizeId) {\r\n // if (!tradeSizeId) {\r\n // return null;\r\n // }\r\n // return _.find(this.state.tradeSizeList, x => x.id === tradeSizeId);\r\n // }\r\n\r\n // setSelectedTradeSize(option) {\r\n // this.setState(prevState => ({\r\n // ...prevState,\r\n // newWidth: {\r\n // ...prevState.newWidth,\r\n // tradeSizeType: {\r\n // value: option.value,\r\n // label: option.label\r\n // }\r\n // }\r\n // }));\r\n // }\r\n\r\n onEdit(widthId) {\r\n const indexToEdit = _.findIndex(this.state.widths, {id: widthId});\r\n let tempList = this.state.widths.slice();\r\n const snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n tempList[indexToEdit].isEditing = true;\r\n tempList[indexToEdit].pristine = snapshotItem;\r\n this.setState({\r\n fullList: tempList\r\n });\r\n }\r\n\r\n onCancelEdit(widthId) {\r\n const indexToEdit = _.findIndex(this.state.widths, {id: widthId});\r\n let tempList = this.state.widths.slice();\r\n tempList[indexToEdit] = tempList[indexToEdit].pristine;\r\n this.setState({\r\n widths: tempList, \r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n \r\n\r\n updateWidthState(fieldName, value, widthId) {\r\n const widths = this.state.widths.slice();\r\n const width = _.find(widths, x => x.id === widthId);\r\n width[fieldName] = value;\r\n this.setState({\r\n widths: widths\r\n });\r\n }\r\n\r\n onBlurUpdatedNumericFeetField(fieldName, value, widthId) {\r\n if (value) {\r\n const widths = this.state.widths.slice();\r\n const width = _.find(widths, x => x.id === widthId);\r\n width[fieldName] = _.round(value, 4)\r\n this.setState({\r\n widths: widths\r\n });\r\n }\r\n }\r\n\r\n // editSelectedTradeSize(option, widthId) {\r\n // const widths = this.state.widths.slice();\r\n // const width = _.find(widths, x => x.id === widthId);\r\n // width.tradeSizeId = option.value;\r\n // width.tradeSizeDsc = option.label;\r\n // this.setState({\r\n // widths: widths\r\n // });\r\n // }\r\n\r\n isFormValid(item) {\r\n const warnings = [];\r\n if (!item.Name || item.Name < 2) {\r\n warnings.push(\"Description is required.\");\r\n }\r\n if (!item.NumericFeet) {\r\n warnings.push(\"Numeric Feet is required.\");\r\n }\r\n if (item.NumericFeet < 0) {\r\n warnings.push(\"Numeric feet must be greater than zero.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\"\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n saveNewWidth() {\r\n const width = this.state.newWidth;\r\n const data = {\r\n Id: 0,\r\n Name: width.name,\r\n NumericFeet: width.numericFeet,\r\n // TradeSizeId: width.tradeSizeType.value,\r\n CreatedByUserId: this.props.currentUser.id,\r\n CreatedAt: moment.utc().format()\r\n };\r\n if (!this.isFormValid(data)) return;\r\n\r\n api.post(\"Width/SaveNewWidth\", data).then(response => {\r\n if (response.data.success) { \r\n this.addNewWidth()\r\n this.refreshList();\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n updateWidth(width) {\r\n const data = {\r\n Id: width.id,\r\n Name: width.name,\r\n NumericFeet: width.numericFeet,\r\n // TradeSizeId: width.tradeSizeId,\r\n CreatedByUserId: this.props.currentUser.id,\r\n CreatedAt: date_helpers.formatDateForServer(moment())\r\n };\r\n if (!this.isFormValid(data)) return;\r\n\r\n api.post(\"Width/UpdateWidth\", data)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api\r\n .delete(`Width/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api\r\n .post(`Width/Undelete/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sort_dir: direction, sort_field: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changedFilter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

Maintain Widths

\r\n \r\n
\r\n \r\n \r\n this.addNewWidth()}\r\n >\r\n Add Width\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Add New Width
\r\n \r\n
\r\n \r\n \r\n \r\n this.handleNewWidthStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n name=\"name\"\r\n maxLength=\"20\"\r\n />\r\n \r\n \r\n \r\n this.handleNewWidthStateChange(\r\n event.target.name,\r\n event.target.value\r\n )}\r\n onBlur={(event) => this.onBlurNewNumericFeetField(\r\n event.target.name,\r\n event.target.value)}\r\n min=\"0\"\r\n />\r\n \r\n {/*\r\n \r\n \r\n this.setSelectedTradeSize(option)}\r\n />\r\n \r\n */}\r\n \r\n \r\n \r\n \r\n this.saveNewWidth()}\r\n >\r\n Save\r\n \r\n this.addNewWidth()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*\r\n \r\n */}\r\n \r\n \r\n \r\n {this.state.widths.map(w => (\r\n \r\n \r\n \r\n {/*\r\n \r\n */}\r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {w.isEditing ? (\r\n this.updateWidthState(\r\n event.target.name,\r\n event.target.value,\r\n w.id\r\n )}\r\n name=\"name\"\r\n maxLength=\"20\"\r\n />\r\n ) : w.name}\r\n \r\n {w.isEditing ? (\r\n this.updateWidthState(\r\n event.target.name,\r\n event.target.value,\r\n w.id\r\n )}\r\n onBlur={(event) => this.onBlurUpdatedNumericFeetField(\r\n event.target.name,\r\n event.target.value, \r\n w.id\r\n )}\r\n min=\"0\"\r\n />\r\n ) : w.numericFeet}\r\n \r\n {w.isEditing ? (\r\n this.editSelectedTradeSize(option, w.id)}\r\n />\r\n ) : w.tradeSizeDsc}\r\n \r\n \r\n {w.isEditing ? (\r\n \r\n this.updateWidth(w)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelEdit(w.id)}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n ) : (\r\n
\r\n {w.deactivatedAt === null ? (\r\n \r\n this.onEdit(w.id)}\r\n size=\"sm\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Width;\r\n","import React, { Component, Fragment } from 'react';\r\nimport _ from 'lodash';\r\nimport {\r\n Label, Form, Button, ButtonGroup, Alert, Table, Input, Row, Col,\r\n Modal, ModalHeader, ModalBody, ModalFooter, Card, CardBody,\r\n Container, Collapse\r\n} from 'reactstrap';\r\nimport filter_helpers from '../utils/filter_helpers';\r\nimport api from '../utils/api';\r\nimport helpers from '../utils/helpers';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Select from 'react-select';\r\nimport {\r\n FilterSet,\r\n FilterBoolean,\r\n FilterText,\r\n SortHeader\r\n} from '../components';\r\n\r\nconst emptyYarnSupplier = {\r\n id: null,\r\n name: \"\",\r\n includeInReport: false\r\n}\r\n\r\nclass YarnSupplierBrand extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n yarnSuppliers: [],\r\n sortField: 'Name',\r\n sortDir: 'asc',\r\n filters: [{filterName: \"ActiveOnly\", value: true, filteredDisplay: \"Active Only: Yes\" }],\r\n message: null,\r\n messageFlavor: null,\r\n editYarnBrandForSupplier: null,\r\n yarnSupplier: emptyYarnSupplier,\r\n addNewYarnSupplier: false\r\n };\r\n this.onAdd = this.onAdd.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.refreshList = this.refreshList.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n // this.setPage = this.setPage.bind(this);\r\n this.onSupplierNameChange = this.onSupplierNameChange.bind(this);\r\n this.onIncludeInReportChange = this.onIncludeInReportChange.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.onSubmitAdd = this.onSubmitAdd.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshList();\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n const filterList = filters || this.state.filters;\r\n const payload = {\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir,\r\n };\r\n\r\n _.each(filterList, filter => payload[filter.filterName] = filter.value);\r\n\r\n api.post('YarnSupplier/GetList', payload)\r\n .then((response) => {\r\n this.setState({\r\n yarnSuppliers: response.data,\r\n yarnSupplier: null,\r\n editYarnBrandForSupplier: null\r\n });\r\n }).catch(error => error);\r\n }\r\n\r\n onAdd() {\r\n this.setState({\r\n yarnSupplier: emptyYarnSupplier,\r\n addNewYarnSupplier: true\r\n });\r\n }\r\n\r\n onAddOrEditBrands(item) {\r\n this.setState({ editYarnBrandForSupplier: item });\r\n }\r\n\r\n onCancel() {\r\n this.setState({\r\n addNewYarnSupplier: false,\r\n yarnSupplier: emptyYarnSupplier,\r\n editYarnBrandForSupplier: null,\r\n message: null, \r\n messageFlavor: null\r\n });\r\n }\r\n\r\n handleDelete(id) {\r\n api.delete(`YarnSupplier/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleRevive(id) {\r\n api.post(`YarnSupplier/Undelete/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find(f => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return '';\r\n }\r\n\r\n filterChange(changed_filter) {\r\n const filters = filter_helpers.get_filters(this.state.filters, changed_filter);\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n // setPage(page) {\r\n // const newPagedList = Object.assign({}, this.state.pagedList);\r\n // newPagedList.pageNumber = page;\r\n // this.setState({ pagedList: newPagedList }, () => this.refreshList());\r\n // }\r\n\r\n isFormValid(item) {\r\n let warnings = [];\r\n if (!item.Name) {\r\n warnings.push(\"Yarn Supplier Name Required.\");\r\n }\r\n if (item.IncludeInReport === undefined) {\r\n warnings.push(\"Include in Report Required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\"\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmitAdd() {\r\n window.scroll(0,0);\r\n // e.preventDefault();\r\n const payload = {\r\n Name: this.state.yarnSupplier.name,\r\n IncludeInReport: this.state.yarnSupplier.includeInReport\r\n };\r\n if (!this.isFormValid(payload)) return;\r\n api.upload('post', 'YarnSupplier', payload)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n addNewYarnSupplier: false,\r\n yarnSupplier: emptyYarnSupplier\r\n }, () => this.refreshList());\r\n }\r\n else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n onSubmitEdit(e, yarnSupplier) {\r\n window.scroll(0,0);\r\n e.preventDefault();\r\n const payload = {\r\n Name: yarnSupplier.name,\r\n IncludeInReport: yarnSupplier.includeInReport,\r\n Id: yarnSupplier.id\r\n };\r\n if (!this.isFormValid(payload)) return;\r\n api.upload('put',`YarnSupplier/${yarnSupplier.id}`, payload)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.setState({\r\n addNewYarnSupplier: false,\r\n yarnSupplier: emptyYarnSupplier\r\n }, () => this.refreshList());\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n onSupplierNameChange(e) {\r\n this.setState({ yarnSupplier: { ...this.state.yarnSupplier, name: e.target.value } });\r\n }\r\n\r\n onIncludeInReportChange(newInclude) {\r\n this.setState({ yarnSupplier: { ...this.state.yarnSupplier, includeInReport: newInclude.value } });\r\n }\r\n\r\n onEdit(yarnSupplierId) {\r\n const indexToEdit = _.findIndex(this.state.yarnSuppliers, {id: yarnSupplierId});\r\n let tempList = this.state.yarnSuppliers.slice();\r\n const snapshotItem = Object.assign({}, tempList[indexToEdit]);\r\n tempList[indexToEdit].isEditing = true;\r\n tempList[indexToEdit].pristine = snapshotItem;\r\n this.setState({\r\n yarnSuppliers: tempList\r\n });\r\n }\r\n\r\n onCancelEdit(yarnSupplierId) {\r\n const indexToEdit = _.findIndex(this.state.yarnSuppliers, {id: yarnSupplierId});\r\n let tempList = this.state.yarnSuppliers.slice();\r\n tempList[indexToEdit] = tempList[indexToEdit].pristine;\r\n this.setState({\r\n yarnSuppliers: tempList,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n updateYarnSupplierState(fieldName, value, yarnSupplierId) {\r\n const tempList = this.state.yarnSuppliers.slice();\r\n const yarnSupplier = _.find(tempList, x => x.id === yarnSupplierId);\r\n yarnSupplier[fieldName] = value;\r\n this.setState({\r\n yarnSuppliers: tempList\r\n });\r\n }\r\n\r\n editIncludeInReportChange(option, yarnSupplierId) {\r\n const tempList = this.state.yarnSuppliers.slice();\r\n const yarnSupplier = _.find(tempList, x => x.id === yarnSupplierId);\r\n yarnSupplier.includeInReport = option.value;\r\n this.setState({\r\n yarnSuppliers: tempList\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Fiber Brand Suppliers & Descriptions

\r\n \r\n
\r\n \r\n \r\n \r\n this.onAdd()}\r\n >\r\n Add Supplier\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Add New Fiber Brand Supplier
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.yarnSuppliers.map(item => (\r\n \r\n {item.isEditing\r\n ? \r\n \r\n \r\n \r\n \r\n \r\n : \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n Include in Report?\r\n Brands
\r\n this.updateYarnSupplierState(\r\n event.target.name,\r\n event.target.value,\r\n item.id\r\n )}\r\n autoFocus={true}\r\n placeholder=\"Enter Yarn Supplier Name\"\r\n maxLength=\"50\"\r\n />\r\n \r\n this.editIncludeInReportChange(option, item.id)}\r\n defaultValues={true}\r\n />\r\n \r\n \r\n Brands\r\n \r\n \r\n \r\n this.onSubmitEdit(e, item)}\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelEdit(item.id)}\r\n size=\"sm\"\r\n >\r\n Cancel\r\n \r\n \r\n
{item.name}\r\n {item.includeInReport ?\r\n \r\n \r\n \r\n : null}\r\n \r\n \r\n Brands\r\n \r\n \r\n \r\n {item.deactivatedAt === null ? (\r\n \r\n this.onEdit(item.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n {this.state.editYarnBrandForSupplier\r\n ? ()\r\n : null\r\n }\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass AddOrEditBrands extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n errorMessage: null,\r\n relatedSupplier: props.relatedSupplier,\r\n newBrandName: '',\r\n list: [],\r\n editBrandName: '',\r\n id: 0\r\n };\r\n this.refreshBrandList = this.refreshBrandList.bind(this);\r\n this.onNewBrandNameChange = this.onNewBrandNameChange.bind(this);\r\n this.saveNewBrand = this.saveNewBrand.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshBrandList();\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevProps.relatedSupplier !== this.props.relatedSupplier) {\r\n this.setState({ relatedSupplier: this.props.relatedSupplier },\r\n () => this.refreshBrandList());\r\n }\r\n }\r\n\r\n refreshBrandList() {\r\n api.fetch(`YarnSupplier/YarnBrands/${this.state.relatedSupplier.id}`)\r\n .then((response) => {\r\n const tempList = _.map(response.data.list, function (item) {\r\n item.editing = false;\r\n return item;\r\n });\r\n this.setState({ list: tempList });\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n isFormValid(brandName) {\r\n if (brandName.length > 2) {\r\n return true;\r\n }\r\n else {\r\n this.setState({ messageFlavor: \"danger\", errorMessage: \"Please Provide a Valid Brand Name\" });\r\n return false;\r\n }\r\n }\r\n\r\n saveNewBrand(e) {\r\n e.preventDefault();\r\n if (this.isFormValid(this.state.newBrandName)) {\r\n api.post('YarnSupplier/AddBrand', {\r\n Id: 0, // 0 means new one\r\n Name: this.state.newBrandName,\r\n YarnSupplierId: this.state.relatedSupplier.id\r\n }).then(response => {\r\n if (response.data.success) {\r\n this.refreshBrandList();\r\n this.setState({ newBrandName: '', errorMessage: null });\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n }\r\n\r\n saveEditedBrand(id, name) {\r\n this.setState({ id: id, editBrandName: name }, () => {\r\n if (this.isFormValid(this.state.editBrandName)) {\r\n const payload = {\r\n Id: this.state.id, // 0 means new one\r\n Name: this.state.editBrandName,\r\n YarnSupplierId: this.state.relatedSupplier.id\r\n };\r\n api.put(`YarnSupplier/UpdateBrand/${id}`, payload)\r\n .then(response => {\r\n if (response.data.success) {\r\n //this.refreshBrandList();\r\n let tempList = this.state.list.slice();\r\n const indexToEdit = _.findIndex(tempList, { id: id });\r\n tempList[indexToEdit].name = this.state.editBrandName;\r\n tempList[indexToEdit].editing = false;\r\n this.setState({ list: tempList });\r\n this.setState({ editBrandName: '', errorMessage: null });\r\n }\r\n else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n });\r\n }\r\n\r\n saveTempBrandName(id) {\r\n let tempList = this.state.list.slice();\r\n const indexToEdit = _.findIndex(this.state.list, { id: id });\r\n tempList[indexToEdit].oldBrandName = tempList[indexToEdit].name;\r\n tempList[indexToEdit].name = this.state.editBrandName;\r\n this.setState({ list: tempList });\r\n }\r\n\r\n showEdit(id, name) {\r\n this.setState({ errorMessage: null, id: id, editBrandName: name });\r\n let tempList = this.state.list.slice();\r\n const indexToEdit = _.findIndex(this.state.list, { id: id });\r\n tempList[indexToEdit].editing = true;\r\n this.setState({ list: tempList });\r\n }\r\n\r\n onNewBrandNameChange(e) {\r\n this.setState({ newBrandName: e.target.value });\r\n }\r\n\r\n onEditBrandNameChange(id, e) {\r\n this.setState({ editBrandName: e.target.value, id: id });\r\n }\r\n\r\n cancel(id) {\r\n this.setState({ errorMessage: null });\r\n let tempList = this.state.list.slice();\r\n const indexToEdit = _.findIndex(tempList, { id: id });\r\n tempList[indexToEdit].editing = false;\r\n tempList[indexToEdit].name = tempList[indexToEdit].oldBrandName;\r\n this.setState({ list: tempList });\r\n }\r\n\r\n handleDelete(id) {\r\n this.setState({ errorMessage: null });\r\n api.delete(`YarnSupplier/DeleteBrand/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshBrandList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleRevive(id) {\r\n this.setState({ errorMessage: null });\r\n api.post(`YarnSupplier/UndeleteBrand/${id}`)\r\n .then(response => {\r\n if (response.data.success) { \r\n this.refreshBrandList()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } \r\n }) \r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n Fiber Brands for {this.state.relatedSupplier.name}\r\n \r\n {this.state.errorMessage &&\r\n {this.state.errorMessage}\r\n }\r\n
\r\n \r\n \r\n Add Brand\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.list.map(i =>\r\n \r\n {i.editing\r\n ? (\r\n \r\n \r\n )\r\n : (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n Cancel\r\n \r\n \r\n {i.name}\r\n \r\n \r\n \r\n \r\n {i.deactivatedAt === null ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n Revive\r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default YarnSupplierBrand;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport {\r\n Card,\r\n Button,\r\n CardBody,\r\n Row,\r\n Col,\r\n Label,\r\n ButtonGroup,\r\n Input,\r\n Modal, ModalHeader, ModalBody, ModalFooter\r\n} from \"reactstrap\";\r\nimport Switch from \"react-switch\";\r\nimport Select from \"react-select\";\r\nimport AsyncSelect from \"react-select/async\";\r\nimport moment from \"moment\";\r\nimport _ from \"underscore\";\r\nimport { DropzoneUploader } from '../components';\r\nimport DatePicker from \"react-datepicker\";\r\nimport { api, helpers, date_helpers, constants } from \"../utils\";\r\nimport Alert from \"react-s-alert\";\r\n\r\nconst renderExtension = (typeOfRender) => {\r\n switch(typeOfRender) {\r\n case constants.RENDER_TYPES.Excel:\r\n return \".xlsx\";\r\n case constants.RENDER_TYPES.CSV:\r\n return \".csv\";\r\n case constants.RENDER_TYPES.PDF:\r\n return \".pdf\";\r\n default:\r\n return \"\";\r\n }\r\n};\r\n\r\nconst renderMimeType = (typeOfRender) => {\r\n switch(typeOfRender) {\r\n case constants.RENDER_TYPES.Excel:\r\n return constants.MIME_XLSX;\r\n case constants.RENDER_TYPES.CSV:\r\n return constants.MIME_CSV;\r\n case constants.RENDER_TYPES.PDF:\r\n return constants.MIME_PDF;\r\n default:\r\n return \"application/octet-stream\";\r\n }\r\n};\r\n\r\nconst blobToDataURL = (blob, callback) => {\r\n var a = new FileReader();\r\n a.onload = function(e) {callback(e.target.result);}\r\n a.readAsDataURL(blob);\r\n};\r\n\r\nexport default class Reports extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n reportGroups: [],\r\n flatReports: [],\r\n parameters: [],\r\n displayTemplateModal: false,\r\n templateFile: null,\r\n // defaultParameters: [],\r\n selectedReport: null\r\n };\r\n\r\n this.saveReportTemplate = this.saveReportTemplate.bind(this);\r\n this.showTemplateModal = this.showTemplateModal.bind(this);\r\n this.generateReport = this.generateReport.bind(this);\r\n this.onReportSelect = this.onReportSelect.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.parseParameters = this.parseParameters.bind(this);\r\n this.setParameterValue = this.setParameterValue.bind(this);\r\n this.loadApiListOptions = this.loadApiListOptions.bind(this);\r\n this.onDropdownSelection = this.onDropdownSelection.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n api.fetch(\"report/reports\").then(response => {\r\n const reportGroups = _.map(response.data, rg => {\r\n return {\r\n ...rg,\r\n reports: _.map(_.filter(rg.reports, r => r.enabled), r => {\r\n return {\r\n ...r,\r\n groupName: rg.name,\r\n label: r.name, // ${r.description}`,\r\n value: r.name\r\n };\r\n }),\r\n label: rg.name,\r\n value: rg.name\r\n };\r\n });\r\n let flatReports = [];\r\n _.each(reportGroups, rg => {\r\n _.each(rg.reports, rpt => {\r\n flatReports.push(rpt);\r\n });\r\n });\r\n this.setState({ reportGroups: reportGroups, flatReports: _.sortBy(flatReports, r => r.label)});\r\n }).catch((error) => console.error(error));\r\n }\r\n\r\n isFormValid(report, params) {\r\n let warnings = [];\r\n _.each(report.parameters, rp => {\r\n if (!rp.hidden && rp.required) {\r\n switch(rp.parameterType) {\r\n case constants.REPORT_PARAMETER_TYPES.Text:\r\n if (!rp.value) {\r\n warnings.push(`Enter a ${rp.prompts[0]} value`);\r\n }\r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.DateRange:\r\n if (!rp.value || !rp.value.length) {\r\n warnings.push('Select valid date from and date through values');\r\n // } else if (!moment.isMoment(rp.value[0].value) || !moment.isMoment(rp.value[1].value)) {\r\n // warnings.push('Date from and date through must be valid dates');\r\n } else if (date_helpers.getMomentFromString(rp.value[0]).isAfter(date_helpers.getMomentFromString(rp.value[1]))) {\r\n warnings.push('Date from cannot be after date through');\r\n }\r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.Date:\r\n if (!rp.value) {\r\n warnings.push(`Select a valid ${rp.prompts[0]} value`);\r\n }\r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.ApiList:\r\n if (rp.multi) {\r\n if (!rp.value || !rp.value.length) {\r\n warnings.push(`Select one or more ${rp.prompts[0]} values`);\r\n }\r\n } else {\r\n if (!rp.value || !rp.value.value) {\r\n warnings.push(`Select a ${rp.prompts[0]} value`);\r\n }\r\n }\r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.Integer:\r\n if (!rp.value || isNaN(parseInt(rp.value.value, 10))) {\r\n warnings.push(`Provide a valid ${rp.prompts[0]} value`);\r\n }\r\n break;\r\n default:\r\n console.error(`UNKNOWN parameter type [${rp.parameterType}] !!!!`)\r\n break;\r\n }\r\n }\r\n });\r\n if (warnings.length) {\r\n //TODO: something better here\r\n alert(warnings.join(\"\\n\"));\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n parseParameters(report, params) {\r\n let rawParameters = {};\r\n _.each(report.parameters, rp => {\r\n if (!rp.hidden) {\r\n switch(rp.parameterType) {\r\n case constants.REPORT_PARAMETER_TYPES.Text:\r\n rawParameters[rp.names[0]] = {label: \"\", value: (rp.value || \"\")};\r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.DateRange:\r\n if (rp.value) {\r\n // due to validation we know that these are valid moment values now\r\n rawParameters.date_range = {\r\n label: `${rp.value[0]} - ${rp.value[1]}`,\r\n value: [\r\n {label: \"Date From\", value: rp.value[0]}, \r\n {label: \"Date Through\", value: rp.value[1]}\r\n ] \r\n // date_helpers.formatDateForServer(rp.value) + \"|\" + date_helpers.formatDateForServer(params[rp.names[1]])\r\n };\r\n } else {\r\n rawParameters.date_range = {\r\n label: 'Date Range not set',\r\n value: [null, null] \r\n };\r\n }\r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.Date:\r\n rawParameters[rp.names[0]] = {label: \"\", value: rp.value};\r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.ApiList:\r\n if (rp.value) {\r\n if (rp.multi) {\r\n if (rp.value.length) \r\n {\r\n rawParameters[rp.names[0]] = {\r\n label: _.map(rp.value, x => x[rp.apiValueAttribute]).join(','), \r\n value: _.map(rp.value, x => ({label: x[rp.apiValueAttribute], value: x[rp.apiKeyAttribute]}))\r\n \r\n };\r\n }\r\n } else {\r\n rawParameters[rp.names[0]] = {label: rp.value[rp.apiValueAttribute], value: rp.value[rp.apiKeyAttribute]};\r\n }\r\n } else {\r\n rawParameters[rp.names[0]] = null; // {label: \"\", value: null};\r\n }\r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.Integer:\r\n if (rp.value) {\r\n rawParameters[rp.names[0]] = {label: \"\", value: parseInt(rp.value, 10)};\r\n } else {\r\n rawParameters[rp.names[0]] = {label: \"\", value: null};\r\n }\r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.Boolean:\r\n rawParameters[rp.names[0]] = {label: \"\", value: (rp.value === true)};\r\n break;\r\n default:\r\n console.error(`UNKNOWN parameter type [${rp.parameterType}] !!!!`)\r\n break;\r\n }\r\n }\r\n });\r\n return rawParameters;\r\n }\r\n\r\n showTemplateModal() {\r\n this.setState({displayTemplateModal: true});\r\n }\r\n\r\n saveReportTemplate() {\r\n if (!this.state.templateFile) return;\r\n let payload = new FormData();\r\n payload.append('reportName', this.state.selectedReport.name);\r\n payload.append('templateFile', this.state.templateFile);\r\n api.post(\"report/SetTemplate\", payload).then(response => {\r\n if (response.data.success) {\r\n Alert.success(`The new template for ${this.state.selectedReport.name} has been applied.`);\r\n this.setState({displayTemplateModal: false, templateFile: null});\r\n } else {\r\n Alert.error(response.data.message); \r\n }\r\n }).catch((e) => {\r\n console.error(e);\r\n Alert.error(\"There was an error applying the report template\");\r\n });\r\n }\r\n\r\n generateReport() {\r\n if (!this.isFormValid(this.state.selectedReport, this.state.parameters)) return;\r\n const payload = {\r\n reportName: this.state.selectedReport.value, \r\n parameters: this.parseParameters(this.state.selectedReport, this.state.parameters),\r\n // TODO: allow user to select this...\r\n typeOfRender: constants.RENDER_TYPES.Excel\r\n };\r\n // const xlsWindow = window.open();\r\n //if (payload.typeOfRender === constants.RENDER_TYPES.CSV) {\r\n api.post(\"report/execute\", payload, \"blob\").then(response => {\r\n const ext = renderExtension(payload.typeOfRender);\r\n const fileName = `report_${new Date().getTime()}.${ext}`;\r\n // if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n // window.navigator.msSaveOrOpenBlob(response.data, fileName);\r\n // } else {\r\n const file = new Blob([response.data], { type: constants.MIME_XLSX });\r\n blobToDataURL(file, (dataurl) => {\r\n var link = document.createElement(\"a\");\r\n link.style = \"visibility:hidden\";\r\n link.download = fileName;\r\n link.href = dataurl;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n // xlsWindow.location.name = fileName;\r\n // xlsWindow.location.href = dataurl; \r\n });\r\n // }\r\n }).catch((e) => {\r\n console.error(e);\r\n Alert.error(\"There was an error generating the report\");\r\n // xlsWindow.close();\r\n });\r\n // } else {\r\n // api.post_form_data_get_blob(\"report/execute\", payload).then(response => {\r\n // helpers.downloadExport(response.data, `report_${new Date().getTime()}.${renderExtension(payload.typeOfRender)}`, renderMimeType(payload.typeOfRender));\r\n // }).catch((error) => console.error(error));\r\n // }\r\n }\r\n\r\n cancel() {\r\n this.setState({\r\n parameters: this.state.defaultParameters,\r\n selectedReport: null\r\n });\r\n }\r\n\r\n onReportSelect(report) {\r\n let fetches = [];\r\n _.each(_.filter(report.parameters, p => p.parameterType === constants.REPORT_PARAMETER_TYPES.ApiList && !p.typeahead), p => {\r\n fetches.push(() => {\r\n return api.fetch_raw(p.apiRoute, {}).then(response => {\r\n return {\r\n [`${p.names[0]}_options`]: _.map(response.data, x => ({\r\n ...x,\r\n value: x[p.apiKeyAttribute],\r\n label: x[p.apiValueAttribute]\r\n }))\r\n };\r\n }).catch((error) => console.error(error));\r\n });\r\n });\r\n if (fetches.length) {\r\n Promise.all(_.map(fetches, f => (f()))).then((aggregateResults) => {\r\n let newStatus = { selectedReport: report };\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus);\r\n }).catch((error) => console.error(error));\r\n } else {\r\n this.setState({ selectedReport: report });\r\n }\r\n }\r\n\r\n // loadOptions={_.debounce((inputValue, callBack) => \r\n // this.loadApiListOptions(inputValue, callBack, p.apiRoute, p.apiKeyAttribute, p.apiValueAttribute), \r\n // 500)}\r\n loadApiListOptions(inputValue, callBack, apiRoute, valueAttribute, labelAttribute) {\r\n //if (!inputValue || !inputValue.length || inputValue.length < 2) return;\r\n let sampleBooks = [];\r\n \r\n api.fetch_raw(apiRoute, { inputValue }).then(response => {\r\n callBack(_.map(response.data, x => ({\r\n ...x,\r\n value: x[valueAttribute],\r\n label: x[labelAttribute],\r\n })));\r\n }).catch((error) => console.error(error));\r\n }\r\n\r\n setParameterValue(parameterName, value, parameterIndex = null) {\r\n let r = Object.assign({}, this.state.selectedReport);\r\n const paramToChangeIndex = _.findIndex(r.parameters, p => p.names.includes(parameterName));\r\n let paramToChange = r.parameters[paramToChangeIndex];\r\n if (parameterIndex !== null) \r\n {\r\n if (!paramToChange.value || paramToChange.value.constructor !== Array) \r\n {\r\n paramToChange.value = [null, null];\r\n }\r\n paramToChange.value[parameterIndex] = value;\r\n } else {\r\n paramToChange.value = value;\r\n }\r\n this.setState({selectedReport: r});\r\n }\r\n\r\n onDropdownSelection(parameterName, selection) {\r\n let r = Object.assign({}, this.state.selectedReport);\r\n const paramToChangeIndex = _.findIndex(r.parameters, p => p.names.includes(parameterName));\r\n let paramToChange = r.parameters[paramToChangeIndex];\r\n let newState = {};\r\n if (selection) \r\n {\r\n paramToChange.value = selection;\r\n } \r\n else \r\n {\r\n paramToChange.value = null;\r\n newState[`${parameterName}_input_value`] = \"\";\r\n }\r\n newState.selectedReport = r;\r\n this.setState(newState);\r\n }\r\n\r\n renderParameters = (paramList) => {\r\n let segments = [];\r\n _.each(paramList, p => {\r\n const segmentKey = `${p.names[0]}_param`;\r\n switch(p.parameterType) {\r\n case constants.REPORT_PARAMETER_TYPES.Boolean:\r\n segments.push((\r\n \r\n \r\n \r\n \r\n this.setParameterValue(p.names[0], e)}\r\n checked={p.value || false}\r\n />\r\n \r\n )); \r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.Integer:\r\n case constants.REPORT_PARAMETER_TYPES.Text:\r\n segments.push((\r\n \r\n \r\n \r\n \r\n this.setParameterValue(p.names[0], e.target.value)}\r\n className=\"form-control\"\r\n maxLength=\"50\"\r\n />\r\n \r\n )); \r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.Date:\r\n segments.push((\r\n \r\n \r\n \r\n \r\n this.setParameterValue(p.names[0], date_helpers.formatDateForServer(e))}\r\n className=\"form-control\"\r\n // onKeyDown={(event) => helpers.onDatePickerKeyDown(event, e => this.setParameterValue(p.names[0], e))}\r\n />\r\n \r\n )); \r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.DateRange:\r\n segments.push((\r\n \r\n \r\n \r\n \r\n \r\n this.setParameterValue(p.names[0], date_helpers.formatDateForServer(e), 0)}\r\n className=\"form-control\"\r\n // onKeyDown={(event) => helpers.onDatePickerKeyDown(event, e => this.setParameterValue(p.names[0], e, 0))}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setParameterValue(p.names[1], date_helpers.formatDateForServer(e), 1)}\r\n className=\"form-control\"\r\n // onKeyDown={(event) => helpers.onDatePickerKeyDown(event, e => this.setParameterValue(p.names[1], e, 1))}\r\n />\r\n \r\n \r\n )); \r\n break;\r\n case constants.REPORT_PARAMETER_TYPES.ApiList:\r\n if (p.typeahead) {\r\n segments.push((\r\n \r\n \r\n \r\n \r\n \r\n this.loadApiListOptions(inputValue, callBack, p.apiRoute, p.apiKeyAttribute, p.apiValueAttribute), \r\n 500)}\r\n placeholder=\"Type Search Value\"\r\n defaultOptions={true}\r\n //options={this.state[`${p.names[0]}_options`]}\r\n onChange={(e) => this.onDropdownSelection(p.names[0], e)}\r\n inputValue={this.state[`${p.names[0]}_input_value`]}\r\n onInputChange={(e) => this.setState({ [`${p.names[0]}_input_value`]: e })}\r\n value={this.state[`${p.names[0]}_selection`]}\r\n isMulti={p.multi}\r\n isDisabled={false}\r\n isClearable={true}\r\n />\r\n \r\n ));\r\n } else {\r\n segments.push((\r\n \r\n \r\n \r\n \r\n this.onDropdownSelection(p.names[0], e)}\r\n options={this.state[`${p.names[0]}_options`]}\r\n isMulti={p.multi}\r\n isDisabled={false}\r\n isClearable={true}\r\n />\r\n \r\n ));\r\n }\r\n break;\r\n default: \r\n console.error('unknown param type to render: ', p);\r\n break;\r\n }\r\n });\r\n return (\r\n {segments.map(x => (x))}\r\n ); \r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onReportSelect(e)}\r\n options={this.state.flatReports}\r\n />\r\n \r\n \r\n {this.state.selectedReport && (\r\n \r\n \r\n \r\n {this.state.selectedReport.description}\r\n \r\n \r\n
\r\n {this.renderParameters(this.state.selectedReport.parameters)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {this.state.displayTemplateModal\r\n ? ( this.setState({displayTemplateModal: false})}\r\n >\r\n \r\n this.setState({ templateFile: files[0] })}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n : null\r\n }\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport {\r\n Button,\r\n ButtonGroup,\r\n Col,\r\n Row,\r\n Table,\r\n Container,\r\n Form,\r\n Card,\r\n Alert,\r\n CardBody,\r\n Input\r\n} from 'reactstrap';\r\nimport api from '../utils/api';\r\nimport Select from 'react-select';\r\nimport Switch from \"react-switch\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Link,Redirect } from 'react-router-dom';\r\nimport _ from 'lodash';\r\nimport helpers from '../utils/helpers';\r\nimport { ContactList } from './';\r\n\r\nconst emptySupplier = {\r\n id: 0,\r\n name: '',\r\n accountNumber: '',\r\n comment: '',\r\n supplierGroupId: null,\r\n payToName: '',\r\n samplesEmail: '',\r\n isActive: true, \r\n contactTypeId: null,\r\n firstName: '',\r\n lastName: '',\r\n email: '',\r\n millAgentName: '',\r\n millAgentPhone: '',\r\n millAgentEmail: '', \r\n supplierPhoneNo: ''\r\n};\r\n\r\nconst cleanBadIds = (contactList) => {\r\n // this poorly named function also sets up the data so the API likes it\r\n return _.map(contactList, function (c) {\r\n c.id = c.id > 0 ? c.id : 0; // clean any 'new' ids\r\n c.typeOfContactName = c.typeOfContact.label;\r\n c.typeOfContact = c.typeOfContact.value;\r\n c.phoneNumbers = _.map(c.phoneNumbers, function (p) {\r\n p.id = p.id > 0 ? p.id : 0; // clean any 'new' ids\r\n p.typeOfPhoneName = p.typeOfPhone.label;\r\n p.typeOfPhone = p.typeOfPhone.value;\r\n return p;\r\n });\r\n c.addresses = _.map(c.addresses, function (a) {\r\n a.id = a.id > 0 ? a.id : 0; // clean any 'new' ids\r\n a.typeOfAddressName = a.typeOfAddress.label;\r\n a.typeOfAddress = a.typeOfAddress.value;\r\n return a;\r\n });\r\n return c;\r\n });\r\n};\r\n\r\nexport default class EditSupplier extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n suppliers: [],\r\n messageFlavor: null,\r\n message: null,\r\n isMessageVisible: false,\r\n editItem: null,\r\n sortField: 'id',\r\n sortDir: 'asc',\r\n filters: [],\r\n clearValue: false,\r\n showEdit: false,\r\n added_count: 0,\r\n added_order_count: 0,\r\n editSupplier: Object.assign({}, emptySupplier),\r\n supplierGroupList: [],\r\n contactTypeList: [],\r\n contactAddressTypeList: [],\r\n contacts: [],\r\n supplierIdCaptured: false,\r\n supplier: null,\r\n isContactEditing: false,\r\n redirect: false\r\n };\r\n\r\n this.loadSupplier = this.loadSupplier.bind(this);\r\n // this.onContactSave = this.onContactSave.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.onSupplierGroupSelected = this.onSupplierGroupSelected.bind(this);\r\n this.onIsActive = this.onIsActive.bind(this);\r\n this.onContactListChanged = this.onContactListChanged.bind(this);\r\n this.toggleContactEditing = this.toggleContactEditing.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getSupplierGroups = api.fetch(\"Reference/GetSupplierGroupList\")\r\n .then((response) => {\r\n return { supplierGroupList: response.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n Promise.all([\r\n getSupplierGroups\r\n ])\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, () =>\r\n this.loadSupplier());\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n loadSupplier(newSupplierId) {\r\n let supplierId = newSupplierId ? newSupplierId : this.props.computedMatch.params.id;\r\n if (supplierId === \"new\") {\r\n this.setState({ supplier: Object.assign({}, emptySupplier) });\r\n } else if (supplierId > 0) {\r\n api.fetch(`Supplier/GetSupplier/${supplierId}`)\r\n .then(response => {\r\n if (response.data) {\r\n let supplier = response.data.supplier;\r\n supplier.supplierGroup = helpers.resolveValue(null, supplier.supplierGroupId, supplier.supplierGroupName);\r\n supplier.isActive = !supplier.deactivatedAt;\r\n const contactList = _.map(_.filter(response.data.contacts, c => !c.deactivatedAt),\r\n contact => {\r\n return {\r\n addresses: _.map(contact.addresses,\r\n address => {\r\n return {\r\n city: address.city,\r\n id: address.id,\r\n isPrimary: address.isPrimary,\r\n ln1: address.ln1,\r\n ln2: address.ln2,\r\n ln3: address.ln3,\r\n ln4: address.ln4,\r\n state: address.state,\r\n typeOfAddress: {\r\n label: address.typeOfAddressName,\r\n value: address.typeOfAddress\r\n },\r\n zip: address.zip,\r\n deactivatedAt: address.deactivatedAt\r\n };\r\n }),\r\n email: contact.email,\r\n firstName: contact.firstName,\r\n id: contact.id,\r\n isPrimary: contact.isPrimary,\r\n lastName: contact.lastName,\r\n phoneNumbers: _.map(contact.phoneNumbers,\r\n phone => {\r\n return {\r\n id: phone.id,\r\n number: phone.number,\r\n typeOfPhone: {\r\n label: phone.typeOfPhoneName,\r\n value: phone.typeOfPhone\r\n },\r\n deactivatedAt: phone.deactivatedAt,\r\n isPrimary: phone.isPrimary\r\n };\r\n }),\r\n typeOfContact: { label: contact.typeOfContactName, value: contact.typeOfContact },\r\n deactivatedAt: contact.deactivatedAt\r\n };\r\n });\r\n this.setState({\r\n supplier: supplier,\r\n contacts: contactList\r\n })\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n }\r\n\r\n onTextChange(fieldName, e) {\r\n const supplier = this.state.supplier;\r\n supplier[fieldName] = e.target.value;\r\n this.setState({\r\n supplier: supplier\r\n });\r\n }\r\n\r\n onSupplierGroupSelected(newSupplierGroup) {\r\n this.setState({\r\n supplier: {\r\n ...this.state.supplier,\r\n supplierGroup: newSupplierGroup\r\n }\r\n });\r\n }\r\n\r\n onIsActive() {\r\n this.setState({\r\n supplier: {\r\n ...this.state.supplier,\r\n isActive: !this.state.supplier.isActive\r\n }\r\n });\r\n }\r\n\r\n onContactListChanged(contactList) {\r\n this.setState({\r\n contacts: contactList\r\n });\r\n }\r\n\r\n toggleContactEditing(isEditing) {\r\n this.setState({\r\n isContactEditing: isEditing\r\n });\r\n }\r\n\r\n isFormValid() {\r\n const warnings = [];\r\n const supplier = Object.assign({}, this.state.supplier);\r\n if (!supplier.name) {\r\n warnings.push(\"Supplier Name is required.\");\r\n }\r\n if (!supplier.payToName) {\r\n warnings.push(\"Pay To Name is required.\");\r\n }\r\n if (supplier.id === 0 && !supplier.millAgentName) {\r\n warnings.push(\"Supplier Agent Name is required.\");\r\n }\r\n if (supplier.id === 0 && (!supplier.millAgentEmail || !helpers.emailIsValid(supplier.millAgentEmail))) {\r\n warnings.push(\"Valid Supplier Agent Email is required.\");\r\n }\r\n if (supplier.id === 0 && !supplier.millAgentPhone) {\r\n warnings.push(\"Supplier Agent Phone Number is required.\");\r\n }\r\n //if (supplier.id === 0 && contactList.length === 0) {\r\n // warnings.push(\"Contact information is required\");\r\n //}\r\n //if (supplier.id === 0 && contactList.length > 0){\r\n // let hasMillRep = _.find(contactList, l => {\r\n // return l.typeOfContact.label === \"Mill Representative\"\r\n // }) !== undefined;\r\n // if (supplier.id === 0 && !hasMillRep) {\r\n // warnings.push(\"Mill Representative contact is required\")\r\n // }\r\n // let hasCustomerServiceRep = _.find(contactList, l => {\r\n // return l.typeOfContact.label === \"Customer Service\"\r\n // }) !== undefined;\r\n // if (supplier.id === 0 && !hasCustomerServiceRep) {\r\n // warnings.push(\"Customer Service contact is required\")\r\n // }\r\n //}\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmit(event) {\r\n if (!this.isFormValid()) return;\r\n const exorcisedContacts = cleanBadIds(this.state.contacts.slice());\r\n event.preventDefault();\r\n\r\n let supplierDto = {\r\n Name: this.state.supplier.name,\r\n AccountNumber: this.state.supplier.accountNumber,\r\n Comment: this.state.supplier.comment,\r\n SupplierGroupId: this.state.supplier.supplierGroupId\r\n ? this.state.supplier.supplierGroupId\r\n : _.find(this.state.supplierGroupList, g => { return g.label === \"Default\"; }).value,\r\n PayToName: this.state.supplier.payToName,\r\n SamplesEmail: this.state.supplier.samplesEmail,\r\n IsHidden: this.state.supplier.isActive, //terrible name needs to change \r\n SupplierId: this.state.supplier.id,\r\n ContactTypeId: this.state.supplier.contactType,\r\n FirstName: this.state.supplier.firstName,\r\n LastName: this.state.supplier.lastName,\r\n Email: this.state.supplier.email,\r\n MillAgentEmail: this.state.supplier.millAgentEmail,\r\n MillAgentName: this.state.supplier.millAgentName,\r\n MillagentPhone: this.state.supplier.millAgentPhone,\r\n SupplierPhoneNo: this.state.supplier.supplierPhoneNo\r\n };\r\n if (this.state.supplier.id > 0) {\r\n supplierDto.Id = this.state.supplier.id;\r\n }\r\n api.upload('post', 'Supplier', { Supplier: supplierDto, Contacts: exorcisedContacts })\r\n .then(response => {\r\n if (response.data.success) {\r\n if (this.state.supplier.id > 0) {\r\n this.setState({\r\n messageFlavor: \"success\",\r\n message: \"Supplier was updated\",\r\n //supplier: emptySupplier,\r\n //editSupplier: emptySupplier,\r\n showEdit: false\r\n }, () => this.loadSupplier());\r\n } else {\r\n this.setState({ messageFlavor: \"success\", message: \"Supplier was saved. You will be redirected momentarily.\", isMessageVisible: true },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({ redirect: true })\r\n }, 3000);\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n isMessageVisible: true\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api.delete(`Supplier/${id}`)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.loadSupplier()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message, isMessageVisible: true });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api.post(`Supplier/undelete/${id}`)\r\n .then(response => {\r\n if (response.data.success) {\r\n this.loadSupplier()\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message, isMessageVisible: true });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n if (this.state.redirect) { return }\r\n const s = this.state.supplier;\r\n const GroupedButtons = () => {\r\n return (\r\n \r\n \r\n Save Supplier\r\n \r\n \r\n Cancel\r\n \r\n \r\n )}\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n {s && \r\n \r\n \r\n \r\n

{s && s.id ? 'Edit' : 'Add New'} Supplier

\r\n \r\n {GroupedButtons()}\r\n
\r\n \r\n \r\n
\r\n \r\n Supplier Name {helpers.requiredStar()}\r\n \r\n \r\n Pay To Name {helpers.requiredStar()}\r\n \r\n \r\n\r\n Account Number\r\n \r\n \r\n \r\n \r\n {/*Supplier Group {helpers.requiredStar()}\r\n \r\n */}\r\n Supplier Agent Name {this.state.supplier.id === 0 ? helpers.requiredStar() : null}\r\n \r\n \r\n Supplier Agent Email {this.state.supplier.id === 0 ? helpers.requiredStar() : null}\r\n \r\n \r\n Supplier Agent Phone {this.state.supplier.id === 0 ? helpers.requiredStar() : null}\r\n \r\n \r\n \r\n \r\n Supplier Phone \r\n \r\n \r\n Samples Email\r\n \r\n \r\n Active? {helpers.requiredStar()}\r\n
\r\n this.onIsActive()}\r\n checked={s.isActive}\r\n />\r\n
\r\n \r\n
\r\n \r\n Comments\r\n \r\n \r\n \r\n
\r\n {this.state.contacts && (\r\n \r\n \r\n {GroupedButtons()}\r\n \r\n )} \r\n \r\n
\r\n
\r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container, Card, CardBody, Row, Col, Alert, Table, Input, ButtonGroup, Button, InputGroup, InputGroupAddon } from 'reactstrap';\r\nimport DatePicker from \"react-datepicker\";\r\nimport Select from \"react-select\";\r\nimport _ from \"lodash\";\r\nimport { api, helpers, date_helpers} from '../utils';\r\nimport { SortHeader } from '../components';\r\n\r\nexport default class MultiOrderPayable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false,\r\n supplierList: [],\r\n ordersList: [],\r\n orderId: null,\r\n selectedSupplier: null,\r\n selectAll: false,\r\n checkNumber: null,\r\n datePaid: new Date(),\r\n sortField: '', // use default sort - invoice date, then invoice number\r\n sortDir: 'asc',\r\n };\r\n this.onSelectionChange = this.onSelectionChange.bind(this);\r\n this.getAccountOrders = this.getAccountOrders.bind(this);\r\n this.onTextChange = this.onTextChange.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.onSave = this.onSave.bind(this);\r\n this.onDatePaidChange = this.onDatePaidChange.bind(this);\r\n this.onDismiss = this.onDismiss.bind(this);\r\n this.refresh = this.refresh.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.refresh();\r\n }\r\n\r\n onDismiss() {\r\n this.setState({\r\n isMessageVisible: !this.state.isMessageVisible,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n refresh() {\r\n api.fetch(\"Order/GetOrderFulfillmentSuppliers\")\r\n .then(response => {\r\n if (response && response.data) {\r\n this.setState({\r\n supplierList: _.map(response.data, d => {\r\n d.label = `${d.name} ${d.type}`;\r\n d.value = d.id;\r\n return d;\r\n })\r\n })\r\n }\r\n });\r\n }\r\n\r\n getAccountOrders() {\r\n let payload = {\r\n // Id: this.state.selectedSupplier.value,\r\n // IsSupplier: this.state.selectedSupplier.isSupplier\r\n SupplierName: this.state.selectedSupplier.name,\r\n SortDir: this.state.sortDir, \r\n SortField: this.state.sortField\r\n }\r\n api.post(`Order/GetOrderPayables`, payload)\r\n .then(response => {\r\n if (response && response.data) {\r\n this.setState({\r\n ordersList: _.map(response.data, d => {\r\n d.paymentAmount = null;\r\n d.amountPosted = parseFloat(d.amountDue, 10).toFixed(2);\r\n return d;\r\n })\r\n })\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ \r\n sortDir: direction, \r\n sortField: field \r\n }, () => this.getAccountOrders());\r\n // this.refreshList(field, direction);\r\n}\r\n\r\n onSelectionChange(selection) {\r\n this.setState({\r\n selectedSupplier: selection,\r\n sortDir: \"asc\",\r\n sortField: \"\", // use default sort - invoice date, then invoice number\r\n }, () => {this.getAccountOrders(selection.value) });\r\n }\r\n\r\n onTextChange(fieldName, e, index) {\r\n let list = this.state.ordersList.slice();\r\n if (fieldName === \"isChecked\") {\r\n list[index][fieldName] = !list[index][fieldName]\r\n } else {\r\n list[index][fieldName] = e.target.value;\r\n }\r\n this.setState({ ordersList: list });\r\n }\r\n\r\n onCancel() {\r\n this.setState({\r\n ordersList: [],\r\n selectedSupplier: null,\r\n selectAll: false,\r\n checkNumber: null\r\n })\r\n }\r\n\r\n isFormValid() {\r\n let warnings = [];\r\n let list = _.filter(this.state.ordersList.slice(), l => l.isChecked);\r\n\r\n if (_.find(list, l => { return !l.amountPosted }) !== undefined) {\r\n warnings.push(\"Amount is required.\");\r\n }\r\n if (_.find(list, l => { return !l.checkNumber }) !== undefined) {\r\n warnings.push(\"Check Number is required.\");\r\n }\r\n // if (_.find(list, l => { return !l.referenceNumber }) !== undefined) {\r\n // warnings.push(\"Supplier reference number is required.\");\r\n // }\r\n if (_.find(list, l => { return !l.invoiceNumber }) !== undefined) {\r\n warnings.push(\"Supplier invoice number is required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSave() {\r\n if (!this.isFormValid()) return;\r\n\r\n let list = this.state.ordersList.slice();\r\n const payload = {\r\n OrderPayables: _.map(_.filter(list, l => l.isChecked), l => {\r\n return {\r\n Id: l.id,\r\n OrderId: l.orderId,\r\n ReferenceNumber: l.referenceNumber || \"\",\r\n InvoiceNumber: l.invoiceNumber,\r\n CheckNumber: l.checkNumber,\r\n PayDate: l.datePaid,\r\n AmountDue: Number(l.amountDue),\r\n AmountPosted: Number(l.amountPosted)\r\n };\r\n })\r\n };\r\n api.post(\"Order/SaveOrderFullfillmentPayable\", payload).then(response => {\r\n if (response && response.data.success) {\r\n this.setState({\r\n message: \"Order fulfillment saved\",\r\n messageFlavor: \"success\",\r\n isMessageVisible: true,\r\n selectedSupplier: null,\r\n ordersList: [],\r\n checkNumber: null\r\n }, this.refresh);\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n onDatePaidChange(e) {\r\n this.setState({\r\n datePaid: e\r\n });\r\n }\r\n\r\n onCheckNumberChange(e) {\r\n this.setState({\r\n checkNumber: e.target.value\r\n });\r\n }\r\n\r\n onApplyCheckNumber() {\r\n let list = this.state.ordersList.slice();\r\n list = _.map(list, l => {\r\n if (l.isChecked) {\r\n l.checkNumber = this.state.checkNumber;\r\n l.datePaid = this.state.datePaid;\r\n }\r\n return l;\r\n });\r\n this.setState({\r\n ordersList: list\r\n });\r\n }\r\n\r\n onSelectAll() {\r\n let list = this.state.ordersList.slice();\r\n list = _.map(list, l => {\r\n l.isChecked = !this.state.selectAll;\r\n return l;\r\n });\r\n this.setState({\r\n ordersList: list,\r\n selectAll: !this.state.selectAll\r\n });\r\n }\r\n\r\n render() {\r\n const { selectedSupplier, ordersList, selectAll, checkNumber, supplierList, message, messageFlavor, isMessageVisible} = this.state;\r\n const selectedTotalDue = ordersList && ordersList.length\r\n ? _.chain(ordersList).filter(o => o.isChecked).sumBy(o => parseFloat(o.amountDue)).value()\r\n : 0; \r\n const selectedTotalAmount = ordersList && ordersList.length\r\n ? _.chain(ordersList).filter(o => o.isChecked).sumBy(o => parseFloat(o.amountPosted)).value()\r\n : 0; \r\n return (\r\n \r\n \r\n \r\n {message && (\r\n \r\n \r\n this.onDismiss()}>{message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Multi Order Payables

\r\n \r\n \r\n \r\n\r\n {ordersList && ordersList.length > 0 &&\r\n \r\n \r\n \r\n Date Paid\r\n
\r\n this.onDatePaidChange(e)}\r\n className=\"form-control\"\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n this.onCheckNumberChange(e)} />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {ordersList && ordersList.length > 0 &&\r\n ordersList.map((o, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n {selectedTotalAmount\r\n ? (\r\n \r\n \r\n \r\n )\r\n : null\r\n }\r\n \r\n
\r\n {ordersList && ordersList.length > 0 &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Using AmountPosted here to sort will bring unexpected results, as value is automatically changed to amount due*/}\r\n \r\n \r\n \r\n
this.onTextChange(\"isChecked\", e, index) } />{o.orderId}{o.customerName}{date_helpers.formatDateToShortDate(o.billDate)} this.onTextChange(\"referenceNumber\", e, index)} /> this.onTextChange(\"invoiceNumber\", e, index)} /> this.onTextChange(\"checkNumber\", e, index)}/> this.onTextChange(\"amountPosted\", e, index)} />{helpers.formatCurrency(o.amountDue)}
{helpers.formatCurrency(selectedTotalAmount)}{helpers.formatCurrency(selectedTotalDue)}
\r\n {ordersList && ordersList.length > 0 &&\r\n \r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component, Fragment } from \"react\";\r\nimport {\r\n Container,\r\n Card,\r\n CardBody,\r\n Alert,\r\n Row,\r\n Col,\r\n Table,\r\n Button,\r\n ButtonGroup,\r\n Input\r\n} from \"reactstrap\";\r\nimport api from '../utils/api';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport _ from 'lodash';\r\nimport {helpers, date_helpers} from '../utils';\r\nimport Select from 'react-select';\r\nimport makeAnimated from \"react-select/animated\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport {\r\n SortHeader,\r\n} from '../components';\r\n\r\nconst emptyAgentSampleBook = {\r\n id: -1,\r\n sampleBook: null,\r\n quantity: null,\r\n editing: true,\r\n shipDate: new Date(),\r\n};\r\n\r\nexport default class AgentSampleBookInventory extends Component{\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n messageFlavor: null,\r\n message: null,\r\n isMessageVisible: false,\r\n agentId: props.agentId,\r\n sampleBookList: [],\r\n bookList: [],\r\n pristineItem: null,\r\n pagedList: {\r\n list: [],\r\n pageSize: 100,\r\n pageNumber: 1\r\n },\r\n sortField: 'Name',\r\n sortDir: 'asc',\r\n\r\n };\r\n this.onDismiss = this.onDismiss.bind(this);\r\n this.onInputChange = this.onInputChange.bind(this);\r\n this.onSave = this.onSave.bind(this);\r\n this.onBookSelection = this.onBookSelection.bind(this);\r\n this.onShipDateChange = this.onShipDateChange.bind(this);\r\n this.onAddNew = this.onAddNew.bind(this);\r\n this.onEdit = this.onEdit.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getAgents = api.fetch('Reference/GetAgentList')\r\n .then((result) => {\r\n return { agentList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n const getBooks = api.fetch('Reference/GetSampleBookList')\r\n .then((result) => {\r\n return { bookList: result.data };\r\n })\r\n .catch(helpers.catchHandler);\r\n Promise.all([\r\n getAgents,\r\n getBooks,\r\n ])\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, ()=>this.refresh())\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n refresh(sortField, sortDirection) {\r\n let payload = {\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir \r\n }\r\n api.post(`SampleBook/GetAgentSampleBooks/${this.props.agentId}`, payload)\r\n .then(response => {\r\n if (response && response.data) {\r\n this.setState({\r\n pagedList: {\r\n ...this.state.pagedList,\r\n list: _.map(response.data, b => {\r\n b.sampleBook = { label: b.sampleBookName, value: b.sampleBookId};\r\n b.editing = false;\r\n b.shipDate = date_helpers.getMomentFromString(b.shipDate);\r\n return b;\r\n })\r\n }\r\n })\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n onDismiss() {\r\n this.setState({ message: null, messageFlavor: null, isMessageVisible: false });\r\n }\r\n\r\n onBookSelection(selection, index) {\r\n let list = this.state.pagedList.list.slice();\r\n list[index].sampleBook = selection;\r\n this.setState({ pagedList: { ...this.state.pagedList, list: list } });\r\n }\r\n\r\n onInputChange(e, fieldName, index) {\r\n let list = this.state.pagedList.list.slice();\r\n list[index][fieldName] = e.target.value;\r\n this.setState({ pagedList: { ...this.state.pagedList, list: list } });\r\n }\r\n\r\n onShipDateChange(date, index) {\r\n let list = this.state.pagedList.list.slice();\r\n list[index].shipDate = date;\r\n this.setState({ pagedList: { ...this.state.pagedList, list: list } });\r\n }\r\n\r\n onAddNew() {\r\n let list = this.state.pagedList.list.slice();\r\n list.unshift(emptyAgentSampleBook);\r\n this.setState({ pagedList: { ...this.state.pagedList, list: list } });\r\n }\r\n\r\n onEdit(index) {\r\n let list = this.state.pagedList.list.slice();\r\n const pristine = Object.assign({}, list[index]);\r\n list[index].editing = true;\r\n this.setState({ pagedList: { ...this.state.pagedList, list: list }, pristineItem: pristine });\r\n }\r\n\r\n onCancel(index) {\r\n let list = this.state.pagedList.list.slice();\r\n if (list[index].id > 0) {\r\n list[index] = this.state.pristineItem;\r\n list[index].editing = false;\r\n } else {\r\n list = _.reject(list, (l, idx) => { return idx === index; });\r\n }\r\n this.setState({ pagedList: { ...this.state.pagedList, list: list }, pristineItem: null });\r\n }\r\n\r\n isFormValid(sampleToSave) {\r\n console.log('sampleToSave', sampleToSave);\r\n let warnings = [];\r\n if (!sampleToSave.quantity) {\r\n warnings.push(\"Quantity is required.\");\r\n }\r\n if (!sampleToSave.sampleBook) {\r\n warnings.push(\"Sample Book is required.\");\r\n }\r\n if (sampleToSave.id < 0 && sampleToSave.sampleBook && sampleToSave.sampleBook.value &&\r\n _.find(this.state.pagedList.list, b => { return b.sampleBook.value === sampleToSave.sampleBook.value && b.id > 0}) !== undefined) {\r\n warnings.push(\"This sample book already exist in agent inventory. Please adjust existing quantity.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(' '),\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refresh(field, direction);\r\n}\r\n\r\n onSave(index) {\r\n let list = this.state.pagedList.list.slice();\r\n let agentSampleBook = _.find(list, (s, idx) => { return idx === index });\r\n if (!this.isFormValid(agentSampleBook)) return;\r\n\r\n let payload = {\r\n Id: agentSampleBook.id > 0 ? agentSampleBook.id : 0,\r\n AgentId: this.state.agentId,\r\n SampleBookId: agentSampleBook.sampleBook && agentSampleBook.sampleBook.value ? agentSampleBook.sampleBook.value : null,\r\n Quantity: parseInt(agentSampleBook.quantity, 10),\r\n ShipDate: agentSampleBook.shipDate\r\n };\r\n api.post(\"SampleBook/SaveAgentSampleBook\", payload)\r\n .then(response => {\r\n if (response && response.data.success) {\r\n this.setState({\r\n message: \"Sample book details saved.\",\r\n messageFlavor: \"success\",\r\n isMessageVisible: true,\r\n }, ()=> this.refresh())\r\n } else {\r\n this.setState({\r\n message: \"An error occurred.\",\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n })\r\n }\r\n })\r\n }\r\n\r\n render() {\r\n const {\r\n message,\r\n messageFlavor,\r\n isMessageVisible,\r\n pagedList,\r\n bookList,\r\n } = this.state;\r\n return (\r\n \r\n \r\n \r\n {message && (\r\n \r\n \r\n {message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Sample Book Inventory

\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pagedList && pagedList.list && pagedList.list.length > 0 ?\r\n pagedList.list.map((b, index) => (\r\n \r\n {b.editing ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n : \r\n \r\n \r\n \r\n \r\n }\r\n \r\n )) : }\r\n \r\n
Name\r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.onBookSelection(e, index)}\r\n defaultValues={true}\r\n />\r\n \r\n this.onShipDateChange(date, index)}\r\n className=\"form-control\"\r\n />\r\n this.onInputChange(e, \"quantity\", index)} value={b.quantity} />\r\n \r\n \r\n \r\n \r\n {b.sampleBookName}
{b.sampleBookTypeName}
{date_helpers.formatDateToShortDate(b.shipDate)}{b.quantity}\r\n \r\n \r\n {/**/}\r\n \r\n
No records found
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}","import React, { Component, Fragment } from \"react\";\r\nimport api from '../utils/api';\r\nimport _ from 'lodash';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport Select from 'react-select';\r\nimport ToggleButton from 'react-toggle-button';\r\n\r\nimport helpers from '../utils/helpers';\r\nimport {\r\n Alert,\r\n Row,\r\n Col,\r\n Button,\r\n ButtonGroup,\r\n Table,\r\n Card,\r\n CardBody,\r\n CardDeck,\r\n Input,\r\n Label\r\n} from \"reactstrap\";\r\n\r\nconst emptyPhone = {\r\n id: 0,\r\n number: '',\r\n typeOfPhone: null,\r\n isPrimary: false,\r\n editing: true\r\n};\r\n\r\nconst emptyAddress = {\r\n id: 0,\r\n ln1: '',\r\n ln2: '',\r\n ln3: '',\r\n ln4: '',\r\n city: '',\r\n state: '',\r\n zip: '',\r\n typeOfAddress: null,\r\n isPrimary: false,\r\n editing: true\r\n};\r\n\r\nexport default class AgentContact extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false,\r\n agentId: props.agentId,\r\n addressTypeList: [],\r\n phoneTypeList: [],\r\n addressList: [],\r\n phoneList: [],\r\n pristineAddress: null,\r\n pristinePhone: null,\r\n editingAddress: false,\r\n editingPhone: false \r\n };\r\n this.loadContacts = this.loadContacts.bind(this);\r\n this.addressValid = this.addressValid.bind(this);\r\n this.phoneValid = this.phoneValid.bind(this);\r\n this.onSaveContact = this.onSaveContact.bind(this);\r\n this.onAddressCancel = this.onAddressCancel.bind(this);\r\n this.onDeleteAddress = this.onDeleteAddress.bind(this);\r\n this.onDeletePhone = this.onDeletePhone.bind(this);\r\n this.onAddressTextChange = this.onAddressTextChange.bind(this);\r\n this.onPhoneTextChange = this.onPhoneTextChange.bind(this);\r\n this.onAddressEdit = this.onAddressEdit.bind(this);\r\n this.onPhoneEdit = this.onPhoneEdit.bind(this);\r\n this.onDismiss = this.onDismiss.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getPhoneType = api.fetch('Reference/GetPhoneTypeList')\r\n .then((result) => {\r\n return { phoneTypeList: result.data };\r\n }).catch(helpers.catchHandler);\r\n\r\n const getAddressType = api.fetch('Reference/GetAddressTypeList')\r\n .then((result) => {\r\n return{ addressTypeList: result.data };\r\n }).catch(helpers.catchHandler);\r\n \r\n Promise.all([\r\n getPhoneType,\r\n getAddressType\r\n ])\r\n .then((aggregateResults) => {\r\n const newStatus = {};\r\n aggregateResults.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus, () => {\r\n this.loadContacts();\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n onDismiss() {\r\n this.setState({\r\n message: null,\r\n messageFlavor: null,\r\n isMessageVisible: false\r\n });\r\n }\r\n\r\n loadContacts() {\r\n api.fetch(`Agent/GetAgentContact/${this.state.agentId}`)\r\n .then(response => {\r\n if (response.data) {\r\n this.setState({\r\n addressList:\r\n _.map(\r\n response.data.addresses, a => {\r\n a.typeOfAddress = _.find(this.state.addressTypeList, t => { return t.value === a.addressTypeId; });\r\n a.editing = false;\r\n return a;\r\n }),\r\n phoneList:\r\n _.map(\r\n response.data.phoneNumbers, p => {\r\n p.typeOfPhone = _.find(this.state.phoneTypeList, t => { return t.value === p.phoneTypeId; });\r\n p.editing = false;\r\n return p;\r\n }),\r\n pristineAddress: null,\r\n pristinePhone: null,\r\n editingAddress: false,\r\n editingPhone: false\r\n })\r\n }\r\n }).catch(helpers.catchHandler);\r\n\r\n }\r\n\r\n onAddNewAddress() {\r\n let list = this.state.addressList.slice();\r\n list.unshift(emptyAddress)\r\n this.setState({addressList: list, editingAddress: true});\r\n }\r\n\r\n onDeleteAddress(index) {\r\n let list = this.state.addressList.slice();\r\n if (list[index].id > 0) {\r\n api.delete(`Agent/DeleteAgentAddress/${list[index].id}`).then(response => {\r\n if (response.data.success) {\r\n this.loadContacts();\r\n } else {\r\n this.setState({\r\n message: \"An error occurred, address could not be deleted.\",\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n });\r\n }\r\n });\r\n } else {\r\n list = _.reject(list, (a, indx) => { return indx === index });\r\n this.setState({\r\n addressList: list,\r\n message: \"Address saved.\",\r\n messageFlavor: \"success\",\r\n isMessageVisible: true\r\n });\r\n }\r\n }\r\n\r\n onAddressTextChange(e, index, fieldName) {\r\n let list = this.state.addressList.slice();\r\n list[index][fieldName] = e.target.value;\r\n this.setState({ addressList: list });\r\n }\r\n\r\n onAddressCancel(index) {\r\n let list = this.state.addressList.slice();\r\n if (list[index].id > 0) {\r\n list[index] = this.state.pristineAddress;\r\n list[index].editing = false\r\n } else {\r\n list = _.reject(list, (a, indx) => { return indx === index;})\r\n }\r\n this.setState({ addressList: list, pristineAddress: null, editingAddress: false });\r\n }\r\n\r\n addressValid(address) {\r\n let warnings = [];\r\n\r\n if (address.ln1 === \"\") {\r\n warnings.push(\"Please enter company name\")\r\n }\r\n //if (address.ln2 === \"\") {\r\n // warnings.push(\"Please enter Attention\")\r\n //}\r\n if (address.ln3 === \"\") {\r\n warnings.push(\"Please enter Address Line 1\")\r\n }\r\n //if (address.ln4 === \"\") {\r\n // warnings.push(\"Please enter Address Line 2\")\r\n //}\r\n if (address.city === \"\") {\r\n warnings.push(\"Please enter City\")\r\n }\r\n if (address.state === \"\") {\r\n warnings.push(\"Please enter State\")\r\n }\r\n if (address.zip === \"\") {\r\n warnings.push(\"Please enter Zip\")\r\n }\r\n if (!address.typeOfAddress) {\r\n warnings.push(\"Address type is required\")\r\n }\r\n const agentHasExistingPrimaryAddress = _.find(this.state.addressList, a => { return a.isPrimary === true && a.id !== address.id})\r\n if (address.isPrimary && agentHasExistingPrimaryAddress !== undefined) {\r\n warnings.push(\"A primary address already exist.\")\r\n }\r\n\r\n if (warnings.length > 0) {\r\n this.setState({ message: warnings.join(\", \"), messageFlavor: \"danger\", isMessageVisible: true });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n onSaveAddress(index) {\r\n let list = this.state.addressList.slice();\r\n let address = list[index];\r\n if (!this.addressValid(address)) return;\r\n\r\n const addressToSave = {\r\n Id: address.id,\r\n Ln1: address.ln1 || \"\",\r\n Ln2: address.ln2 || \"\",\r\n Ln3: address.ln3 || \"\",\r\n Ln4: address.ln4 || \"\",\r\n City: address.city || \"\",\r\n State: address.state || \"\",\r\n Zip: address.zip || \"\",\r\n AddressTypeId: address.typeOfAddress ? parseInt(address.typeOfAddress.value) : null,\r\n IsPrimary: address.isPrimary,\r\n }\r\n\r\n this.onSaveContact([addressToSave], null);\r\n }\r\n\r\n onSaveContact(addressList, phoneList) {\r\n const payload = {\r\n AgentId: this.state.agentId,\r\n Addresses: addressList,\r\n PhoneNumbers: phoneList\r\n }\r\n\r\n api.post(\"Agent/SaveAgentContact\", payload)\r\n .then(response => {\r\n if (response && response.data.success) {\r\n this.setState({\r\n message: \"Contact information was saved\",\r\n messageFlavor: \"success\",\r\n isMessageVisible: true\r\n }, () => this.loadContacts());\r\n } else {\r\n this.setState({\r\n message: \"An error occurred, address cannot be saved at this time.\",\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n });\r\n\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n onAddressEdit(index) {\r\n let list = this.state.addressList.slice();\r\n const pristine = Object.assign({}, list[index]);\r\n list[index].editing = true;\r\n this.setState({ addressList: list, pristineAddress: pristine, editingAddress: true });\r\n }\r\n\r\n onSelectAddressTypeChange(selection, index, fieldName) {\r\n let list = this.state.addressList.slice();\r\n list[index][fieldName] = selection;\r\n this.setState({ addressList: list });\r\n }\r\n\r\n onAddressPrimaryChange(e, index) {\r\n let list = this.state.addressList.slice();\r\n list[index].isPrimary = !list[index].isPrimary;\r\n this.setState({ addressList: list });\r\n\r\n }\r\n\r\n onAddNewPhone() {\r\n let list = this.state.phoneList.slice();\r\n list.unshift(emptyPhone)\r\n this.setState({ phoneList: list, editingPhone: true });\r\n }\r\n\r\n onDeletePhone(index) {\r\n let list = this.state.phoneList.slice();\r\n if (list[index].id > 0) {\r\n api.delete(`Agent/DeleteAgentPhone/${list[index].id}`).then(response => {\r\n if (response.data.success) {\r\n this.loadContacts();\r\n } else {\r\n this.setState({\r\n message: \"An error occurred, phone cannot be deleted at this time.\",\r\n messageFlavor: \"danger\",\r\n isMessageVisible: true\r\n });\r\n }\r\n }).catch(helpers.catchHandler);\r\n } else {\r\n list = _.reject(list, (p, indx) => { return indx === index });\r\n this.setState({\r\n phoneList: list,\r\n message: \"Phone Number saved.\",\r\n messageFlavor: \"success\",\r\n isMessageVisible: true\r\n });\r\n }\r\n }\r\n\r\n onPhoneEdit(index) {\r\n let list = this.state.phoneList.slice();\r\n const pristine = Object.assign({}, list[index]);\r\n list[index].editing = true;\r\n this.setState({ phoneList: list, pristinePhone: pristine, editingPhone: true });\r\n }\r\n\r\n onPhoneCancel(index) {\r\n let list = this.state.phoneList.slice();\r\n if (list[index].id > 0) {\r\n list[index] = this.state.pristinePhone;\r\n list[index].editing = false\r\n } else {\r\n list = _.reject(list, (a, indx) => { return indx === index; })\r\n }\r\n this.setState({ phoneList: list, pristineAddress: null, editingPhone: false });\r\n }\r\n\r\n onSelectPhoneTypeChange(selection, index, fieldName) {\r\n let list = this.state.phoneList.slice();\r\n list[index][fieldName] = selection;\r\n this.setState({ phoneList: list });\r\n }\r\n\r\n onPhoneTextChange(e, index, fieldName) {\r\n let list = this.state.phoneList.slice();\r\n list[index][fieldName] = e.target.value;\r\n this.setState({ phoneList: list });\r\n }\r\n\r\n onPhonePrimaryChange(e, index) {\r\n let list = this.state.phoneList.slice();\r\n list[index].isPrimary = !list[index].isPrimary;\r\n this.setState({ phoneList: list });\r\n }\r\n\r\n phoneValid(phone) {\r\n let warnings = [];\r\n\r\n if (phone.number === \"\") {\r\n warnings.push(\"Please enter a phone number\")\r\n }\r\n if (!phone.typeOfPhone) {\r\n warnings.push(\"Phone type is required\")\r\n }\r\n const agentHasExistingPrimaryPhone = _.find(this.state.phoneList, p => { return p.isPrimary === true && p.id !== phone.id })\r\n if (phone.isPrimary && agentHasExistingPrimaryPhone !== undefined) {\r\n warnings.push(\"A primary phone number already exist.\")\r\n }\r\n\r\n if (warnings.length > 0) {\r\n this.setState({ message: warnings.join(\", \"), messageFlavor: \"danger\", isMessageVisible: true });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n onSavePhone(index) {\r\n let list = this.state.phoneList.slice();\r\n let phone = list[index];\r\n if (!this.phoneValid(phone)) return;\r\n\r\n const phoneToSave = {\r\n Id: phone.id,\r\n Number: phone.number,\r\n PhoneTypeId: phone.typeOfPhone ? phone.typeOfPhone.value : null,\r\n IsPrimary: phone.isPrimary,\r\n }\r\n this.onSaveContact(null, [phoneToSave]);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this.state.message &&\r\n \r\n { this.state.message}\r\n \r\n }\r\n \r\n \r\n \r\n

Addresses

\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.addressList && this.state.addressList.length > 0 ?\r\n this.state.addressList.map((address, index) => (\r\n \r\n {address.editing ? (\r\n \r\n this.onAddressTextChange(e, index, \"city\")} maxLength={35} placeholder=\"City\" />\r\n this.onAddressTextChange(e, index, \"state\")} maxLength={5} placeholder=\"State\" />\r\n this.onAddressTextChange(e, index, \"zip\")} maxLength={10} placeholder=\"Zip\" />\r\n \r\n
\r\n this.onSelectAddressTypeChange(e, index, \"typeOfAddress\")}\r\n />\r\n
\r\n
\r\n \r\n this.onAddressPrimaryChange(e, index)}\r\n />\r\n
\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )) : null}\r\n \r\n
AddressTypeIsPrimary?
\r\n
this.onAddressTextChange(e, index, \"ln1\")} maxLength={100} placeholder=\"Company Name\"/ >
\r\n
this.onAddressTextChange(e, index, \"ln2\")} maxLength={100} placeholder=\"Attention\"/>
\r\n
this.onAddressTextChange(e, index, \"ln3\")} maxLength={100} placeholder=\"Address Line 1\"/>
\r\n
this.onAddressTextChange(e, index, \"ln4\")} maxLength={100} placeholder=\"Address Line 2\"/>
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
{address.ln1}
\r\n
{address.ln2}
\r\n
{address.ln3}
\r\n
{address.ln4}
\r\n
\r\n {address.city} {address.state} {address.zip}\r\n
\r\n
{address.typeOfAddress.label}{address.isPrimary && }\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n

Phone Numbers

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.phoneList && this.state.phoneList.length > 0 ?\r\n this.state.phoneList.map((phone, index) => (\r\n \r\n {phone.editing ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )) : null}\r\n \r\n
NumberTypeIs Primary
this.onPhoneTextChange(e, index, \"number\")} maxLength={100} placeholder=\"(xxx)xxx-xxxx\" />\r\n this.onSelectPhoneTypeChange(e, index, \"typeOfPhone\")}\r\n />\r\n \r\n this.onPhonePrimaryChange(e, index)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {phone.number}{phone.typeOfPhone ? phone.typeOfPhone.label : null}{phone.isPrimary ? : null}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Alert, Button, ButtonGroup, Card, CardBody, Col, Container, Label, Row, Input } from 'reactstrap';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { api, date_helpers, helpers } from '../utils';\r\nimport _ from 'underscore';\r\nimport Select from 'react-select';\r\nimport makeAnimated from \"react-select/animated\";\r\nimport DatePicker from 'react-datepicker';\r\nimport { Link } from 'react-router-dom';\r\nimport AgentContact from './AgentContact';\r\n\r\nconst apiUrl = 'Agent/';\r\n\r\nconst emptyAgent = {\r\n id: null,\r\n mobileNumber: '', // not used, but col in database does not allow nulls\r\n comment: ''\r\n};\r\n\r\nconst inputMaxLengths = {\r\n firstName: 25,\r\n lastName: 25,\r\n idTag: 5,\r\n ssn: 11,\r\n comment: 300,\r\n payToName: 100,\r\n email: 150,\r\n mobileNumber: 15\r\n};\r\n\r\nexport default class EditAgent extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n messageFlavor: 'danger',\r\n message: null,\r\n isMessageVisible: false,\r\n editItem: null,\r\n agentId: props.agentId,\r\n areaList: []\r\n };\r\n this.loadAgent = this.loadAgent.bind(this);\r\n this.onTextChange = this.onTextChange.bind(this);\r\n this.onSelectChange = this.onSelectChange.bind(this);\r\n this.onDateChange = this.onDateChange.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.onDismiss = this.onDismiss.bind(this);\r\n this.formatSSN = this.formatSSN.bind(this);\r\n }\r\n componentDidMount() {\r\n api.fetch(\"Reference/GetAreaList\").then(response => {\r\n this.setState({\r\n areaList: response.data\r\n }, this.loadAgent)\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n loadAgent() {\r\n if (this.state.agentId > 0) {\r\n api.fetch(`Agent/GetAgent/${this.state.agentId}`).then(response => {\r\n if (response && response.data) {\r\n let agent = response.data;\r\n agent.ssn = agent.ssn.replace(/(\\d{3})(\\d{2})(\\d{4})/, \"$1-$2-$3\");\r\n agent.homeArea = helpers.resolveValue(null, agent.homeAreaId, agent.homeAreaName);\r\n this.setState({\r\n editItem: response.data\r\n })\r\n }\r\n }).catch(helpers.catchHandler);\r\n } else {\r\n this.setState({ editItem: emptyAgent });\r\n }\r\n }\r\n\r\n onDismiss() {\r\n this.setState({\r\n isMessageVisible: !this.state.isMessageVisible,\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n formatSSN() {\r\n let agent = Object.assign({}, this.state.editItem);\r\n agent.ssn = agent.ssn.replace(/(\\d{3})(\\d{3})(\\d+)/, '$1-$2-$3');\r\n this.setState({\r\n editItem: agent\r\n })\r\n }\r\n\r\n onTextChange(fieldName, value) {\r\n const editItem = Object.assign({}, this.state.editItem);\r\n editItem[fieldName] = value;\r\n this.setState({ editItem: editItem });\r\n }\r\n\r\n onDateChange(name, date) {\r\n this.setState({ editItem: { ...this.state.editItem, [name]: date } });\r\n }\r\n\r\n onSelectChange(event) {\r\n this.setState({\r\n editItem: {\r\n ...this.state.editItem,\r\n homeArea: event,\r\n homeAreaId: event.value,\r\n homeAreaName: event.label\r\n }\r\n });\r\n }\r\n\r\n isFormValid() {\r\n const warnings = [];\r\n if (!this.state.editItem.firstName) {\r\n warnings.push(\"First Name is required.\");\r\n }\r\n if (!this.state.editItem.lastName) {\r\n warnings.push(\"Last Name is required.\");\r\n }\r\n if (!this.state.editItem.email || this.state.editItem.email.length < 1 || !helpers.emailIsValid(this.state.editItem.email)) {\r\n warnings.push(\"Valid email is required.\");\r\n }\r\n if (!this.state.editItem.hiredOn) {\r\n warnings.push(\"Hired On date is required.\");\r\n }\r\n if ((!this.state.editItem.ssn && !this.state.editItem.ein)) {\r\n warnings.push(\"SSN or EIN is required.\");\r\n }\r\n if (!this.state.editItem.homeAreaId) {\r\n warnings.push(\"Home Area is required.\");\r\n }\r\n if (!this.state.editItem.idTag || this.state.editItem.idTag.length < 1) {\r\n warnings.push(\"ID Tag is required.\");\r\n }\r\n if (this.state.editItem.cmsnRate.length < 1) {\r\n warnings.push(\"Commission Rate is required.\");\r\n }\r\n if (!this.state.editItem.payToName || this.state.editItem.payToName.length < 1) {\r\n warnings.push(\"Pay To Name is required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({ message: warnings.join(' '), messageFlavor: \"danger\", isMessageVisible: true });\r\n } else {\r\n this.setState({ message: null, isMessageVisible: false });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmit() {\r\n window.scroll(0, 0);\r\n if (!this.isFormValid()) return;\r\n const payload = {\r\n ...this.state.editItem,\r\n ssn: this.state.editItem.ssn.replaceAll(\"-\", \"\"),\r\n hiredOn: date_helpers.formatDateForServer(this.state.editItem.hiredOn),\r\n departureDate: date_helpers.formatDateForServer(this.state.editItem.departureDate),\r\n cmsnRate: Number(this.state.editItem.cmsnRate)\r\n };\r\n delete payload.homeArea;\r\n delete payload.homeAreaName;\r\n if (!payload.id) { delete payload.id; }\r\n const verb = this.state.editItem.id > 0 ? \"put\" : \"post\";\r\n api.upload(verb, apiUrl, payload)\r\n .then(result => {\r\n if (result.data.success) {\r\n this.setState({ \r\n messageFlavor: \"success\",\r\n message: payload.id ? \"Record Updated\" : \"Record Saved\",\r\n isMessageVisible: true\r\n }, () => this.loadAgent());\r\n } else {\r\n this.setState({ messageFlavor: \"danger\", message: result.data.message, isMessageVisible: true });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n const SaveButton = () => {\r\n return (\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n Close\r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n \r\n \r\n {this.state.editItem &&\r\n
\r\n {this.state.message !== null && (\r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n )}\r\n \r\n \r\n

\r\n {this.state.editItem.id && this.state.editItem.id > 0 ? 'Edit' : 'Add New'} Agent\r\n

\r\n \r\n \r\n {SaveButton()}\r\n \r\n
\r\n\r\n \r\n \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.firstName || \"\"}\r\n maxLength={inputMaxLengths.firstName}\r\n />\r\n \r\n \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.lastName || \"\"}\r\n maxLength={inputMaxLengths.lastName}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.email || \"\"}\r\n maxLength={inputMaxLengths.email}\r\n />\r\n \r\n \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.mobileNumber || \"\"}\r\n maxLength={inputMaxLengths.mobileNumber}\r\n />\r\n \r\n \r\n \r\n
\r\n this.onDateChange(\"hiredOn\", e)}\r\n selected={date_helpers.dateFormatForClient(this.state.editItem.hiredOn)}\r\n className=\"form-control\"\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n this.onDateChange(\"departureDate\", e)}\r\n selected={date_helpers.dateFormatForClient(this.state.editItem.departureDate)}\r\n className=\"form-control\"\r\n />\r\n
\r\n \r\n {/* \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.mobileNumber || \"\"}\r\n maxLength={inputMaxLengths.mobileNumber}\r\n />\r\n */}\r\n
\r\n \r\n \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.ssn || \"\"}\r\n maxLength={inputMaxLengths.ssn}\r\n onBlur={this.formatSSN}\r\n />\r\n \r\n \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.ein || \"\"}\r\n maxLength=\"15\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.idTag || \"\"}\r\n maxLength={inputMaxLengths.idTag}\r\n />\r\n \r\n \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.cmsnRate || \"0\"}\r\n maxLength={inputMaxLengths.cmsnRate}\r\n />\r\n \r\n \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.payToName || \"\"}\r\n maxLength={inputMaxLengths.payToName}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onTextChange(event.target.name, event.target.value)}\r\n value={this.state.editItem.comment || \"\"}\r\n maxLength={inputMaxLengths.comment}\r\n />\r\n \r\n \r\n\r\n \r\n {SaveButton()}\r\n
\r\n }\r\n
\r\n
\r\n
);\r\n }\r\n}\r\n","import React from 'react';\r\nimport {\r\n Container, TabContent, TabPane, Nav, NavItem, NavLink,\r\n Card, Row, Col, CardBody\r\n} from 'reactstrap';\r\nimport classnames from 'classnames';\r\nimport AgentSampleBookInventory from './AgentSampleBookInventory';\r\nimport EditAgent from './EditAgent';\r\n\r\nexport default class AgentAdminContainer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const activeAgentId = props.location && props.location.state ? props.location.state.agentId : null;\r\n this.state = {\r\n activeTab: '1',\r\n agentId: activeAgentId\r\n };\r\n this.toggle = this.toggle.bind(this);\r\n }\r\n\r\n toggle(tab) {\r\n if (this.state.activeTab !== tab) {\r\n this.setState({\r\n activeTab: tab\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n

Agent Administration

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.activeTab === \"1\" &&\r\n \r\n }\r\n \r\n \r\n {this.state.activeTab === \"2\" &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React from \"react\";\r\nimport {\r\n Alert,\r\n Form,\r\n Row,\r\n Col,\r\n Container,\r\n TabContent,\r\n TabPane,\r\n Nav,\r\n NavItem,\r\n NavLink,\r\n} from \"reactstrap\";\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport classnames from \"classnames\";\r\nimport { api, helpers } from \"../utils\";\r\n//import _ from \"lodash\";\r\n\r\nconst tabs = {\r\n login: \"Log In\",\r\n register: \"Register\",\r\n};\r\n\r\nexport default class SqSignIn extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n accountNo: \"\",\r\n password: \"\",\r\n webFirstName: \"\",\r\n webLastName: \"\",\r\n existingAccountNo: \"\",\r\n webEmail: \"\",\r\n newPassword: \"\",\r\n newPasswordAgain: \"\",\r\n message: null,\r\n messageFlavor: null,\r\n redirectTo: null,\r\n activeTab: tabs.login,\r\n accountVerified: false,\r\n accountAlreadyRegistered: false,\r\n registering: false,\r\n emailAlreadyRegistered: false,\r\n emailVerified: false\r\n };\r\n this.handlesBlur = this.handlesBlur.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.toggleTab = this.toggleTab.bind(this);\r\n this.handleRegister = this.handleRegister.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.validateLoginForm = this.validateLoginForm.bind(this);\r\n this.redirectToScreen = this.redirectToScreen.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (window.location.pathname === '/sq/logout') {\r\n this.props.SquarespaceLogout()\r\n }\r\n }\r\n\r\n toggleTab(tab) {\r\n this.setState({ activeTab: tab });\r\n }\r\n\r\n validateLoginForm() {\r\n return this.state.accountNo.length > 0 && this.state.password.length > 0;\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({ [event.target.id]: event.target.value });\r\n };\r\n\r\n handlesBlur = (field) => (e) => {\r\n this.setState({\r\n touched: { ...this.state.touched, [field]: true },\r\n });\r\n };\r\n\r\n handleSubmit(e) {\r\n e.preventDefault();\r\n if (!this.validateLoginForm()) return;\r\n api\r\n .post(\"web/CustomerAuthenticate\", {\r\n Number: parseInt(this.state.accountNo, 10),\r\n Password: this.state.password,\r\n })\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.setState(\r\n {\r\n messageFlavor: \"success\",\r\n message: \"Log-In Successful!\",\r\n },\r\n () => {\r\n this.props.setCurrentCustomer(\r\n response.data.customer,\r\n response.data.customer.token\r\n );\r\n }\r\n );\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleRegister(e) {\r\n e.preventDefault();\r\n let {\r\n webFirstName,\r\n webLastName,\r\n webEmail,\r\n newPassword,\r\n newPasswordAgain,\r\n existingAccountNo,\r\n accountAlreadyRegistered,\r\n } = this.state;\r\n this.setState({\r\n registering: true\r\n }, () => {\r\n let warnings = [];\r\n let accountVerified = null;\r\n api\r\n .post('web/checkAccountNumber', {\r\n AccountNo: parseInt(existingAccountNo, 10),\r\n WebEmail: webEmail\r\n })\r\n .then((response) => {\r\n if (response.data.success) {\r\n accountAlreadyRegistered = false;\r\n } else {\r\n accountAlreadyRegistered = true;\r\n }\r\n accountVerified = true;\r\n })\r\n .catch(helpers.catchHandler)\r\n .finally(() => {\r\n if (accountAlreadyRegistered) {\r\n warnings.push(\"This account has already been registered.\");\r\n }\r\n if (\r\n !accountVerified ||\r\n !existingAccountNo ||\r\n existingAccountNo.length < 2\r\n ) {\r\n warnings.push(\"Please enter your customer account number to proceed.\");\r\n }\r\n if (webFirstName === \"\" || webFirstName.length < 2) {\r\n warnings.push(\"Please enter your first name.\");\r\n }\r\n if (webLastName === \"\" || webLastName.length < 2) {\r\n warnings.push(\"Please enter your last name.\");\r\n }\r\n if (\r\n newPassword === \"\" ||\r\n newPassword.length < 8 ||\r\n newPassword === \"password\"\r\n ) {\r\n warnings.push(\"Please enter a secure password of 8 characters or more.\");\r\n }\r\n if (\r\n newPasswordAgain === \"\" ||\r\n newPasswordAgain.length < 8 ||\r\n newPasswordAgain === \"password\" ||\r\n newPasswordAgain !== newPassword\r\n ) {\r\n warnings.push(\r\n \"The second password doesn't match the first. Please re-type.\"\r\n );\r\n }\r\n if (\r\n !webEmail ||\r\n webEmail === \"\" ||\r\n webEmail.length < 2 ||\r\n !helpers.emailIsValid(webEmail)\r\n ) {\r\n warnings.push(\"Please enter a valid email address.\");\r\n }\r\n const isValid = warnings.length === 0;\r\n if (isValid) {\r\n api\r\n .post(\"web/register\", {\r\n WebFirstName: webFirstName,\r\n WebLastName: webLastName,\r\n WebEmail: webEmail,\r\n Password: newPassword,\r\n Number: parseInt(existingAccountNo, 10),\r\n })\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.setState({\r\n messageFlavor: \"success\",\r\n message: \"Registration was Successful!\",\r\n });\r\n this.props.setCurrentCustomer(\r\n response.data.customer,\r\n response.data.customer.token\r\n );\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n this.setState({\r\n messageFlavor: \"warning\",\r\n message: warnings.join(\", \"),\r\n });\r\n })\r\n .finally(() => this.setState({ registering: false }))\r\n })\r\n }\r\n\r\n redirectToScreen() {\r\n let redirectUrl;\r\n if (this.props\r\n && this.props.location\r\n && this.props.location.state\r\n && this.props.location.state.successRedirect) {\r\n redirectUrl = this.props.location.state.successRedirect;\r\n } else {\r\n redirectUrl = '/all-carpet';\r\n }\r\n api.redirectToSquarespacePage(redirectUrl);\r\n }\r\n\r\n render() {\r\n const { redirectTo } = this.state;\r\n let customer = null;\r\n let cookieToken = null;\r\n let cookieCustomer = null;\r\n try {\r\n customer = localStorage.getItem('currentCustomer');\r\n cookieToken = api.getCookie(\"SQ_TOKEN\");\r\n cookieCustomer = api.getCookie(\"SQ_CUSTOMER\");\r\n } catch (e) {\r\n console.log('probably just in development mode', e)\r\n }\r\n if (cookieToken && cookieCustomer && customer) {\r\n this.redirectToScreen();\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Sign In\r\n \r\n
\r\n
\r\n \r\n Misplaced your password?\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Register\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Redirect } from 'react-router-dom';\r\nimport {\r\n Row,\r\n Col,\r\n Container,\r\n Spinner\r\n} from \"reactstrap\";\r\n\r\nexport default class SqLogout extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.currentCustomer) {\r\n this.props.SquarespaceLogout();\r\n } \r\n }\r\n\r\n render() {\r\n if (!this.props.currentCustomer) {\r\n return \r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n
Logging out now...
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport {\r\n Container,\r\n Col,\r\n Row,\r\n Card,\r\n CardBody,\r\n Alert,\r\n Button,\r\n Label,\r\n Input,\r\n} from \"reactstrap\";\r\nimport api from \"../utils/api\";\r\nimport helpers from \"../utils/helpers\";\r\n\r\nexport default class SqForgotPassword extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n redirect: false,\r\n webEmail: null,\r\n accountNo: null,\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n }\r\n\r\n handleChange(event) {\r\n this.setState({ [event.target.id]: event.target.value });\r\n }\r\n\r\n isFormValid() {\r\n let warnings = [];\r\n if (!this.state.webEmail && !this.state.accountNo) {\r\n warnings.push(\"An email address or an account number is required\");\r\n }\r\n if (\r\n this.state.webEmail &&\r\n this.state.webEmail.length > 0 &&\r\n this.state.accountNo &&\r\n this.state.accountNo.length > 0\r\n ) {\r\n warnings.push(\r\n \"Please enter either an email address or an account number\"\r\n );\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(\",\"),\r\n messageFlavor: \"danger\",\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n handleSubmit() {\r\n if (!this.isFormValid()) return;\r\n api\r\n .post(\"web/accountForgotPassword\", {\r\n WebEmail: this.state.webEmail || null,\r\n AccountNo:\r\n this.state.accountNo && this.state.accountNo.length > 0\r\n ? parseInt(this.state.accountNo)\r\n : null,\r\n })\r\n .then((response) => {\r\n if (response.data.success === true) {\r\n this.setState({\r\n messageFlavor: \"success\",\r\n message:\r\n \"If we have an account with information, we've just sent a reset link to email on file!\",\r\n });\r\n setTimeout(() => {\r\n api.redirectToSquarespacePage(\"/\");\r\n }, 5000);\r\n } else {\r\n this.setState({ message: response.data.message });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Wait, I already have an account - take me to log in!\r\n \r\n
\r\n
\r\n {this.state.message !== null ? (\r\n \r\n {this.state.message}\r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Reset Password\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport {\r\n Container,\r\n Col,\r\n Row,\r\n Card,\r\n CardBody,\r\n Alert,\r\n Button,\r\n Label,\r\n Input\r\n} from \"reactstrap\";\r\nimport helpers from \"../utils/helpers\";\r\nimport api from \"../utils/api\";\r\n\r\nexport default class SqResetPassword extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const resetToken =\r\n props.match && props.match.params && props.match.params.resetToken\r\n ? props.match.params.resetToken\r\n : null;\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n redirect: false,\r\n resetToken: resetToken,\r\n password: \"\",\r\n password_again: \"\",\r\n };\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.handlePassword = this.handlePassword.bind(this);\r\n this.handlePasswordAgain = this.handlePasswordAgain.bind(this);\r\n }\r\n\r\n handlePassword(event) {\r\n this.setState({ password: event.target.value });\r\n }\r\n\r\n handlePasswordAgain(event) {\r\n this.setState({ password_again: event.target.value });\r\n }\r\n\r\n isFormValid() {\r\n let warnings = [];\r\n if (!this.state.password || this.state.password.length < 8) {\r\n warnings.push(\r\n \"Password is required and must be at least 8 characters long.\"\r\n );\r\n }\r\n if (this.state.password !== this.state.password_again) {\r\n warnings.push(\"The password and password confirmation do not match.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({\r\n message: warnings.join(\" \"),\r\n messageFlavor: \"danger\",\r\n });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n handleSubmit() {\r\n if (!this.isFormValid()) return;\r\n api\r\n .post(\"web/setAccountPassword\", {\r\n token: this.state.resetToken,\r\n oldPassword: this.state.password,\r\n newPassword: this.state.password_again,\r\n })\r\n .then((response) => {\r\n if (response.data.success === true) {\r\n this.setState({\r\n messageFlavor: \"success\",\r\n message:\r\n \"You have successfully reset your password. We're now redirecting you to the home screen.\",\r\n });\r\n setTimeout(() => {\r\n api.redirectToSquarespacePage(\"/log-in-sign-up\")\r\n }, 3000);\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n Return to Login Screen\r\n
\r\n
\r\n {this.state.message !== null ? (\r\n \r\n {this.state.message}\r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Confirm Password Reset\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Fragment, Component} from \"react\";\r\nimport {\r\n Row,\r\n Col,\r\n Container,\r\n} from \"reactstrap\";\r\nimport _ from \"lodash\";\r\nimport { api, helpers, constants } from \"../utils\";\r\n\r\nexport default class SqSalesRepScreen extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n salesRepList: null\r\n };\r\n this.fetchAgentList = this.fetchAgentList.bind(this);\r\n this.redirectToContactScreen = this.redirectToContactScreen.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchAgentList();\r\n }\r\n\r\n redirectToContactScreen(){\r\n window.location.pathname = '/contact-us'\r\n };\r\n\r\n fetchAgentList(e) {\r\n const payload = {\r\n filters: []\r\n };\r\n api\r\n .post(\"web/GetSalesReps\", payload)\r\n .then((response) => {\r\n if (response && response.data) {\r\n let agents = [];\r\n _.map(response.data, agent => {\r\n let agentName = `${agent.firstName} ${agent.lastName}`;\r\n agent.FullName = agentName;\r\n if (agent.email !== \"\") {\r\n agents.push(agent);\r\n }\r\n })\r\n let agentsGroupedByState = _.groupBy(agents, agent => agent.state)\r\n let stateSections = _.chain(constants.STATES_LIST)\r\n .map(stOption => {\r\n const stateRepsList = _.find(agentsGroupedByState, (_repList, stateKey) => stOption.value === stateKey.trim())\r\n if (stateRepsList) {\r\n return {\r\n key: `statekKey${stOption.value}`,\r\n stateName: stOption.label,\r\n repList: stateRepsList\r\n };\r\n } else {\r\n return null;\r\n }\r\n })\r\n .filter(stOption => { return stOption && stOption.stateName })\r\n .value();\r\n\r\n const length = stateSections && stateSections.length;\r\n let sections = [];\r\n if (length && length > 0) {\r\n const columnGroupSize = Math.ceil(length / 2)\r\n const set = _.chunk(stateSections, columnGroupSize)\r\n sections = set;\r\n }\r\n this.setState({ salesRepList: sections });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n const {\r\n salesRepList\r\n } = this.state;\r\n return (\r\n \r\n \r\n \r\n \r\n {salesRepList\r\n && salesRepList.length\r\n ? _.map(salesRepList, (colGroup, i) => {\r\n return (\r\n \r\n {_.map(colGroup, stateList => { return (\r\n \r\n \r\n \r\n
{stateList.stateName}
\r\n \r\n
\r\n \r\n \r\n {_.map(stateList.repList, rep => {\r\n return (\r\n \r\n \r\n {rep.FullName}: \r\n {rep.email}\r\n \r\n \r\n )\r\n })}\r\n \r\n \r\n
\r\n ) })}\r\n \r\n )\r\n })\r\n : null}\r\n
\r\n \r\n \r\n

Don't see an agent in your area?

\r\n \r\n \r\n \r\n Contact Us\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container, Card, CardBody, Row, Col, Alert, Table, Input, ButtonGroup, Button, InputGroup, InputGroupAddon } from 'reactstrap';\r\nimport Select from \"react-select\";\r\nimport _ from \"lodash\";\r\nimport { api, helpers, date_helpers, constants } from '../utils';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nexport default class SalesTransfer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n selectedArea: null,\r\n selectedAgent: null,\r\n areaList: [],\r\n agentList: []\r\n };\r\n this.onDismiss = this.onDismiss.bind(this);\r\n this.onExecute = this.onExecute.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const getAgents = () => api.fetch('Reference/GetAgentList').then(result => ({ agentList: result.data }));\r\n const getAreas = () => api.fetch('Reference/GetAreaList').then(result => ({ areaList: result.data }));\r\n Promise.all([getAgents(), getAreas()]).then(aggResult => {\r\n let newStatus = {};\r\n aggResult.forEach(r => Object.assign(newStatus, r));\r\n this.setState(newStatus);\r\n }).catch(e => console.error(e));\r\n }\r\n\r\n onExecute() {\r\n if (!this.state.selectedAgent || !this.state.selectedArea) {\r\n this.setState({message: 'Select both an area and an agent in order to transfer.', messageFlavor: 'warning'});\r\n return;\r\n }\r\n api.post(`Admin/SalesTransfer/${this.state.selectedArea.value}/${this.state.selectedAgent.value}`, {}).then((result) => {\r\n if (result.data.success) {\r\n this.setState({message: `All sales from area ${this.state.selectedArea.label} have now been transferred to ${this.state.selectedAgent.label}`, messageFlavor: 'success'});\r\n } else {\r\n this.setState({message: 'An unexpected error occurred: ' + result.data.message, messageFlavor: 'danger'});\r\n }\r\n }).catch(helpers.catchHandler);\r\n }\r\n\r\n onDismiss() {\r\n this.setState({\r\n message: null,\r\n messageFlavor: null\r\n });\r\n }\r\n\r\n render() {\r\n const { message, messageFlavor, areaList, selectedArea, agentList, selectedAgent } = this.state;\r\n return (\r\n \r\n \r\n \r\n {message && (\r\n \r\n \r\n {message}\r\n \r\n \r\n )}\r\n \r\n \r\n

Sales Transfer

\r\n \r\n
\r\n \r\n \r\n this.setState({selectedArea: a})}\r\n placeholder=\"Select Area\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.setState({selectedAgent: a})}\r\n placeholder=\"Select Agent\"\r\n />\r\n \r\n \r\n Transfer Now\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component, Fragment } from \"react\";\r\nimport {\r\n Alert,\r\n Container,\r\n Table,\r\n Button,\r\n ButtonGroup,\r\n CardBody,\r\n Row,\r\n Col,\r\n Card,\r\n Input,\r\n Label,\r\n Collapse,\r\n} from \"reactstrap\";\r\nimport { api, helpers, filter_helpers } from \"../utils\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n FilterBoolean,\r\n FilterSet,\r\n FilterText,\r\n SortHeader,\r\n} from \"../components\";\r\nimport _ from \"lodash\";\r\n\r\nconst apiUrl = \"Reference/\";\r\n\r\nconst emptyFiberGroup = {\r\n id: 0,\r\n name: \"\",\r\n seq: \"\",\r\n};\r\n\r\nexport default class FiberGroupAdmin extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n list: [],\r\n item: emptyFiberGroup,\r\n newItem: emptyFiberGroup,\r\n filters: [],\r\n message: null,\r\n messageFlavor: null,\r\n showAddNew: false,\r\n sortField: \"Seq\",\r\n sortDir: \"asc\",\r\n };\r\n this.refreshList = this.refreshList.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.handleNewItemFormInput = this.handleNewItemFormInput.bind(this);\r\n this.handleFormInput = this.handleFormInput.bind(this);\r\n this.toggleAddNewCollapse = this.toggleAddNewCollapse.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.handleUnDelete = this.handleUnDelete.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.onEdit = this.onEdit.bind(this);\r\n this.onCancelEdit = this.onCancelEdit.bind(this);\r\n this.isFormValid = this.isFormValid.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshList();\r\n }\r\n\r\n refreshList(sortField, sortDirection, filters) {\r\n let filterList = filters || this.state.filters;\r\n let payload = {\r\n SortField: sortField || this.state.sortField,\r\n SortDir: sortDirection || this.state.sortDir,\r\n };\r\n\r\n _.each(filterList, (filter) => (payload[filter.filterName] = filter.value));\r\n\r\n api\r\n .post(apiUrl + \"GetFiberGroupPaginatedList\", payload)\r\n .then((response) => {\r\n this.setState({\r\n list: response.data.list,\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n doSort(field, direction) {\r\n this.setState({ sortDir: direction, sortField: field });\r\n this.refreshList(field, direction);\r\n }\r\n\r\n filterChange(changedFilter) {\r\n const filters = filter_helpers.get_filters(\r\n this.state.filters,\r\n changedFilter\r\n );\r\n this.setState({ filters: filters, clearValue: false });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n clearFilters() {\r\n const filters = [];\r\n this.setState({ filters: filters, clearValue: true });\r\n this.refreshList(null, null, filters);\r\n }\r\n\r\n currentFilterValue(name) {\r\n const filterElement = this.state.filters.find((f) => f.filterName === name);\r\n if (filterElement) {\r\n if (filterElement.value) {\r\n return filterElement.value;\r\n }\r\n return filterElement.values;\r\n }\r\n return \"\";\r\n }\r\n\r\n toggleAddNewCollapse() {\r\n this.setState({\r\n showAddNew: !this.state.showAddNew,\r\n newItem: emptyFiberGroup,\r\n message: null,\r\n messageFlavor: null,\r\n });\r\n }\r\n\r\n handleNewItemFormInput(event) {\r\n this.setState({\r\n newItem: {\r\n ...this.state.newItem,\r\n [event.target.name]: event.target.value,\r\n },\r\n });\r\n }\r\n\r\n handleFormInput(event) {\r\n this.setState({\r\n item: { ...this.state.item, [event.target.name]: event.target.value },\r\n });\r\n }\r\n\r\n onEdit(item) {\r\n this.setState({ item: item });\r\n }\r\n\r\n onCancelEdit() {\r\n this.setState({ item: emptyFiberGroup });\r\n }\r\n\r\n isFormValid(item) {\r\n let warnings = [];\r\n if (!item.name || item.name.length < 1) {\r\n warnings.push(\"Please provide a valid name entry.\");\r\n }\r\n if (!item.seq) {\r\n warnings.push(\"Sequence is required.\");\r\n }\r\n if (warnings.length) {\r\n this.setState({ message: warnings.join(\" \"), messageFlavor: \"danger\" });\r\n } else {\r\n this.setState({ message: null });\r\n }\r\n return warnings.length === 0;\r\n }\r\n\r\n onSubmit(e, item) {\r\n if (!this.isFormValid(item)) return;\r\n const payload = {\r\n id: item.id,\r\n name: item.name,\r\n Seq: item.seq === \"\" ? \"\" : Number(item.seq),\r\n };\r\n api\r\n .post(\"Reference/SaveFiberGroup\", payload)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.setState(\r\n {\r\n showAddNew: item.id\r\n ? this.state.showAddNew\r\n : !this.state.showAddNew,\r\n newItem: emptyFiberGroup,\r\n item: emptyFiberGroup,\r\n message: null,\r\n messageFlavor: null,\r\n },\r\n () => this.refreshList()\r\n );\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleUnDelete(id) {\r\n api\r\n .post(`Reference/ReviveFiberGroupItem/${id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.refreshList();\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleDelete(id) {\r\n api\r\n .post(`Reference/DeleteFiberGroupItem/${id}`)\r\n .then((response) => {\r\n if (response.data.success) {\r\n this.refreshList();\r\n } else {\r\n this.setState({\r\n messageFlavor: \"danger\",\r\n message: response.data.message,\r\n });\r\n }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.state.message !== null && (\r\n \r\n \r\n \r\n {this.state.message}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

\r\n Fiber Group Administration\r\n

\r\n \r\n
\r\n \r\n \r\n {this.state.showAddNew ? null : (\r\n \r\n this.toggleAddNewCollapse()}\r\n title=\"Add New Fiber Group\"\r\n >\r\n Add Fiber Group\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Add New Fiber Group
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onSubmit(e, this.state.newItem)}\r\n >\r\n Save\r\n \r\n this.toggleAddNewCollapse()}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.list.length > 0 &&\r\n this.state.list.map((item) => (\r\n \r\n {this.state.item.id !== null &&\r\n item.id === this.state.item.id ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onSubmit(e, this.state.item)\r\n }\r\n size=\"sm\"\r\n >\r\n Save\r\n \r\n this.onCancelEdit()}\r\n size=\"sm\"\r\n >\r\n {\" \"}\r\n Cancel\r\n \r\n \r\n
{item.name}{item.seq}\r\n \r\n {item.deactivatedAt ? (\r\n \r\n this.handleUnDelete(item.id)\r\n }\r\n >\r\n Revive\r\n \r\n ) : (\r\n \r\n this.onEdit(item)}\r\n size=\"sm\"\r\n >\r\n \r\n \r\n \r\n this.handleDelete(item.id)\r\n }\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component, Fragment } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { Link, Redirect, NavLink as DomNavLink } from \"react-router-dom\";\r\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\r\nimport Alert from \"react-s-alert\";\r\nimport makeAnimated from \"react-select/animated\";\r\nimport { DebounceInput } from \"react-debounce-input\";\r\nimport Sidebar from \"react-sidebar\";\r\nimport Switch from \"react-switch\";\r\nimport moment from \"moment\";\r\nimport axios from \"axios\";\r\n// will implement this when I change to all the product colors being single elements on the page\r\nimport { PinterestShareButton } from \"react-simple-share\";\r\nimport queryString from \"query-string\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Button,\r\n ButtonGroup,\r\n Label,\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n CardFooter,\r\n CardImg,\r\n CardColumns,\r\n CardSubtitle,\r\n Alert as AlertStrap,\r\n Input,\r\n Modal,\r\n FormGroup,\r\n Form,\r\n Nav,\r\n Navbar,\r\n NavItem,\r\n Spinner,\r\n Table,\r\n Carousel,\r\n CarouselCaption,\r\n CarouselItem,\r\n CarouselControl,\r\n CarouselIndicators,\r\n NavLink,\r\n TabContent,\r\n TabPane,\r\n CardDeck,\r\n Pagination,\r\n PaginationItem,\r\n PaginationLink,\r\n} from \"reactstrap\";\r\nimport classnames from \"classnames\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport _ from \"lodash\";\r\nimport {\r\n api,\r\n helpers,\r\n filter_helpers,\r\n constants,\r\n date_helpers,\r\n calc,\r\n} from \"../utils\";\r\nimport { FilterText, FilterMultiSelect, SortHeader, FilterSet } from \"../components\";\r\nimport Select from \"react-select\";\r\nimport { data } from \"jquery\";\r\nimport { object } from \"underscore\";\r\n\r\nexport default class SqOrders extends Component {\r\n constructor(props){\r\n super(props);\r\n const token = api.customerToken();\r\n let lastOrderFilters = null;\r\n try {\r\n lastOrderFilters = localStorage.getItem('lastOrderFilters');\r\n } catch {}\r\n const defaultFilters = lastOrderFilters\r\n ? JSON.parse(lastOrderFilters)\r\n : [{filterName: \"createdAfter\", value: moment().add(-90, 'days').valueOf(), filteredDisplay: \"Created in the last 90 days\"}];\r\n _.each(defaultFilters, f => {\r\n if ((f.filterName === 'createdAfter' || f.filterName === 'createdBefore' || f.filterName === 'createdAt')) {\r\n f.value = date_helpers.getMomentFromString(f.value).valueOf();\r\n }\r\n });\r\n this.state = {\r\n pagedList: true, //change back to null later!!!\r\n sortColumn: 'CreatedAt',\r\n sortDirection: constants.SORT_DIRECTION.descending,\r\n filters: defaultFilters,\r\n errorMessage: \"\",\r\n ordersList: null,\r\n orderId: null,\r\n fetching: false,\r\n orderStatusList: [],\r\n deletingRevivingId: null // for loading indicator because this operation is slow with a lot of rows\r\n };\r\n this.filterChange = this.filterChange.bind(this);\r\n this.clearFilters = this.clearFilters.bind(this);\r\n this.currentFilterValue = this.currentFilterValue.bind(this);\r\n this.doSort = this.doSort.bind(this);\r\n this.setPage = this.setPage.bind(this);\r\n }\r\n\r\n componentDidMount(){\r\n api.fetch('Reference/GetOrderStatusList')\r\n .then(response => {\r\n this.setState({\r\n orderStatusList: response.data\r\n });\r\n })\r\n this.refreshList();\r\n }\r\n\r\n refreshList(){\r\n let payload = {\r\n page: this.state.pagedList && this.state.pagedList.pageNumber\r\n ? this.state.pagedList.pageNumber\r\n : 1,\r\n pageSize: this.state.pagedList && this.state.pagedList.pageSize\r\n ? this.state.pagedList.pageSize\r\n : 30,\r\n sortColumn: this.state.sortColumn,\r\n sortDirection: this.state.sortDirection \r\n };\r\n _.each(this.state.filters, filter => {\r\n if(filter.value){\r\n switch(filter.filterName){\r\n case 'createdAfter':\r\n case 'createdBefore':\r\n case 'createdAt':\r\n payload[filter.filterName] = date_helpers.getMomentFromString(filter.value).format(date_helpers.YMD);\r\n break;\r\n default:\r\n payload[filter.filterName] = filter.value;\r\n break;\r\n }\r\n }\r\n });\r\n this.setState({fetching: true}, ()=>{\r\n api.post('Order/GetPublicOrderList', payload).then((response) =>{\r\n let pagedList = response.data;\r\n pagedList.list = _.map(pagedList.list, i => ({\r\n ...i,\r\n totalPrice: i.totalPriceCurrency\r\n }));\r\n this.setState({pagedList: pagedList, deletingRevivingId: null});\r\n })\r\n .catch(helpers.catchHandler)\r\n .finally(() => this.setState({fetching: false}));\r\n });\r\n }\r\n\r\n render(){\r\n return(\r\n \r\n
Public Order Page
\r\n \r\n \r\n {this.state.errorMessage &&(\r\n \r\n \r\n {this.state.errorMessage}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.pagedList ?\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.pagedList && this.state.pagedList.list && this.state.pagedList.list.map(orderItem => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total
{orderItem.orderNumber}{moment(orderItem.createdAt).format(date_helpers.MDY)}{orderItem.orderStatusName}{orderItem.customerName}{orderItem.totalPrice}\r\n \r\n {!orderItem.deactivatedAt ? (\r\n \r\n \r\n \r\n \r\n \r\n ): null}\r\n \r\n
\r\n
)\r\n :null}\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from \"react\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport {\r\n Card,\r\n CardBody,\r\n Row,\r\n Col,\r\n Container,\r\n Label,\r\n ButtonGroup,\r\n Button,\r\n Alert as Alert2,\r\n Input,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem,\r\n InputGroup,\r\n InputGroupAddon,\r\n InputGroupText,\r\n InputGroupButtonDropdown,\r\n} from \"reactstrap\";\r\nimport Alert from \"react-s-alert\";\r\nimport { api, helpers, constants, date_helpers, calc } from \"../utils\";\r\nimport Select from \"react-select\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport _ from \"lodash\";\r\nimport moment from \"moment\";\r\n\r\nconst EDGE_TYPES = {\r\n MITERED: \"Hidden Stitch Mitered Corners\",\r\n MACHINED: \"Applied Machine Border\",\r\n};\r\nconst FINISHED_RUG_SIZES = constants.FINISHED_RUG_SIZES;\r\n\r\nconst COMPONENT_ORDER_LINE_TYPES = [\r\n constants.ORDER_LINE_TYPE.RUG_FIELD.value,\r\n constants.ORDER_LINE_TYPE.RUG_BORDER.value,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value,\r\n];\r\n\r\nconst rugComponentTypeList = [\r\n constants.ORDER_LINE_TYPE.RUG_FIELD,\r\n constants.ORDER_LINE_TYPE.RUG_BORDER,\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS,\r\n];\r\n\r\nconst {\r\n RUG_BACKING_PRICE_PER,\r\n RUG_BACKING_COST_PER,\r\n PAD_CUT_COST,\r\n PAD_CUT_PRICE,\r\n} = constants.CUSTOM_RUG_DEFAULT_PRICES;\r\n\r\nconst emptyOrder = {\r\n id: null,\r\n orderNumber: null,\r\n orderStatus: {\r\n // default value\r\n value: constants.ORDER_STATUS.OPEN.value,\r\n label: constants.ORDER_STATUS.OPEN.label,\r\n },\r\n mth: new Date(),\r\n isDistinctiveOrder: true,\r\n createdAt: new Date(),\r\n placedBy: \"\",\r\n customer: null,\r\n agent: null,\r\n isReplacementOrder: false,\r\n isCreditOrder: false,\r\n referencesOrder: \"\",\r\n // billing info\r\n btContactFirstName: \"\",\r\n btContactLastName: \"\",\r\n btContactEmail: \"\",\r\n btAddressLine1: \"\",\r\n btAddressLine2: \"\",\r\n btAddressLine3: \"\",\r\n btAddressLine4: \"\",\r\n btCity: \"\",\r\n btState: \"\",\r\n btZip: \"\",\r\n btPhone: \"\",\r\n btFax: \"\",\r\n invoiceTerms: null,\r\n customerPONumber: \"\",\r\n relatedReplacementOrders: \"\",\r\n};\r\n\r\nconst emptyOrderLine = {\r\n id: 0,\r\n orderId: null,\r\n parentOrderLineId: null,\r\n orderLineType: {\r\n // default value\r\n value: constants.ORDER_LINE_TYPE.CARPET.value,\r\n label: constants.ORDER_LINE_TYPE.CARPET.label,\r\n },\r\n dsc: \"\",\r\n unitCost: \"\",\r\n cost: \"\",\r\n unitPrice: \"\",\r\n price: \"\",\r\n cmsnRate: \"10.00\",\r\n cmsn: \"\",\r\n isHidden: false,\r\n product: null,\r\n productColor: null,\r\n width: null,\r\n lengthFeet: \"\",\r\n orderLineStatus: {\r\n // default value\r\n value: constants.ORDER_LINE_STATUS.NA.value,\r\n label: constants.ORDER_LINE_STATUS.NA.label,\r\n },\r\n priceUnitType: \"Sq Yds\",\r\n squareFeetRequired: \"\",\r\n creditCardSurchargeRate: \"0\",\r\n taxRate: \"0\", // not nullable in db\r\n rugSize: \"\",\r\n finishedSize: { value: 1, label: \"Custom\" },\r\n rugLengthFeet: \"0\",\r\n rugLengthInches: \"0\",\r\n rugWidthFeet: \"8\",\r\n rugWidthInches: \"0\",\r\n rugType: null,\r\n rugIntlCollection: null,\r\n rugIntlSize: null,\r\n qty: \"\",\r\n cartonCount: \"\",\r\n squareFeetPerCarton: \"\", // does not belong to orderLine schema, but set for wood and carpet tile product calculations\r\n // freight:\r\n freightCarrier: null,\r\n freightSidemark: \"\",\r\n freightInvoiceNumber: \"\",\r\n freightBolNumber: \"\",\r\n freightDsc: \"Freight Charges\",\r\n freightTerms: null,\r\n freightCost: \"0.00\",\r\n freightPrice: \"0.00\",\r\n stContactFirstName: \"\",\r\n stContactLastName: \"\",\r\n stContactEmail: \"\",\r\n stAddressLine1: \"\",\r\n stAddressLine2: \"\",\r\n stAddressLine3: \"\",\r\n stAddressLine4: \"\",\r\n stCity: \"\",\r\n stState: \"\",\r\n stZip: \"\",\r\n stPhone: \"\",\r\n createdAt: null,\r\n createdByUserId: null,\r\n width: { widthNumericFeet: 0 },\r\n commentCount: 0, // for temporary use only\r\n productAllowCommission: null,\r\n\r\n // custom rug component specific\r\n rugWidthFeet: \"8\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"10\",\r\n rugLengthInches: \"0\",\r\n rugDsc: \"\",\r\n sqFt: \"0.0\",\r\n finishedEdgeFt: \"0.0\",\r\n selectedField: null,\r\n appliedFieldRepeat: \"0.0\",\r\n selectedFieldColor: null,\r\n selectedFieldWidth: null,\r\n fieldWidthList: [],\r\n bindingList: [],\r\n selectedBinding: null,\r\n fieldRepeatWidth: \"0.0\",\r\n fieldRepeatLength: \"0.0\",\r\n repeatDsc: \"\",\r\n fieldLengthFeet: \"0\",\r\n fieldLengthInches: \"0\",\r\n fieldCostPer: \"0.0\",\r\n totalFieldCost: \"0.00\",\r\n fieldPricePer: \"0.00\",\r\n totalFieldUnits: \"0.0\",\r\n totalFieldPrice: \"0.00\",\r\n fieldCmsnRate: \"10.00\",\r\n fieldCmsn: \"0.00\",\r\n fieldPriceUnitType: \"\",\r\n selectedBorder: null,\r\n selectedBorderColor: null,\r\n selectedBorderWidth: null,\r\n borderWidthList: [],\r\n bindingList: [],\r\n borderLengthFeet: \"\",\r\n borderLengthInches: \"\",\r\n borderCostPer: \"0.0\",\r\n totalBorderCost: \"0.00\",\r\n borderPricePer: \"0.00\",\r\n totalBorderUnits: \"0.0\",\r\n totalBorderPrice: \"0.00\",\r\n borderCmsnRate: \"10.00\",\r\n borderCmsn: \"0.00\",\r\n borderPriceUnitType: \"\",\r\n};\r\n\r\nconst emptyOrderLineComment = {\r\n id: 0,\r\n dsc: \"\",\r\n commentType: null,\r\n isPrivate: false,\r\n markedForDeletion: false,\r\n};\r\n\r\nconst emptyRugOrderLine = (customRugComponentProducts) => {\r\n return {\r\n // for custom rug quotes only (from angular app)\r\n ...emptyOrderLine,\r\n rugEditsValid: false,\r\n rugHasClippedCorners: false,\r\n rugClippedCornersCost:\r\n customRugComponentProducts.DefaultClippedCornersProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultClippedCornersProduct.unitCost,\r\n 2\r\n ).toFixed(2)\r\n : \"5.00\",\r\n rugClippedCornersPrice:\r\n customRugComponentProducts.DefaultClippedCornersProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultClippedCornersProduct.unitPrice,\r\n 2\r\n ).toFixed(2)\r\n : \"15.00\",\r\n rugHasLaborCutout: false,\r\n rugLaborCutoutCost: customRugComponentProducts.DefaultLaborCutoutProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultLaborCutoutProduct.unitCost,\r\n 2\r\n ).toFixed(2)\r\n : \"75.00\",\r\n rugLaborCutoutPrice: customRugComponentProducts.DefaultLaborCutoutProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultLaborCutoutProduct.unitPrice,\r\n 2\r\n ).toFixed(2)\r\n : \"100.00\",\r\n rugHasLaborRound: false,\r\n rugLaborRoundCost: customRugComponentProducts.DefaultLaborRoundProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultLaborRoundProduct.unitCost,\r\n 2\r\n ).toFixed(2)\r\n : \"25.00\",\r\n rugLaborRoundPrice: customRugComponentProducts.DefaultLaborRoundProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultLaborRoundProduct.unitPrice,\r\n 2\r\n ).toFixed(2)\r\n : \"30.00\",\r\n rugHasCutCharge: false,\r\n rugCutChargeCost: customRugComponentProducts.DefaultCutChargeProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultCutChargeProduct.unitCost,\r\n 2\r\n ).toFixed(2)\r\n : \"0.00\",\r\n rugCutChargePrice: customRugComponentProducts.DefaultCutChargeProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultCutChargeProduct.unitPrice,\r\n 2\r\n ).toFixed(2)\r\n : \"25.00\",\r\n rugHasEndArmor: false,\r\n rugArmorCost: customRugComponentProducts.DefaultRugEndArmorProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultRugEndArmorProduct.unitCost,\r\n 2\r\n ).toFixed(2)\r\n : \"8.00\",\r\n rugArmorPrice: customRugComponentProducts.DefaultRugEndArmorProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultRugEndArmorProduct.unitPrice,\r\n 2\r\n ).toFixed(2)\r\n : \"10.00\",\r\n rugHasInboundFreight: false,\r\n selectedInboundFreight:\r\n customRugComponentProducts.DefaultInboundFreightProduct\r\n ? customRugComponentProducts.DefaultInboundFreightProduct\r\n : null,\r\n rugInboundFreightCost:\r\n customRugComponentProducts.DefaultInboundFreightProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultInboundFreightProduct.unitCost,\r\n 2\r\n ).toFixed(2)\r\n : \"45.00\",\r\n rugInboundFreightPrice:\r\n customRugComponentProducts.DefaultInboundFreightProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultInboundFreightProduct.unitPrice,\r\n 2\r\n ).toFixed(2)\r\n : \"45.00\",\r\n rugHasBacking: false,\r\n rugHasPad: false,\r\n rugSerged: true,\r\n rugMachineSerged: true,\r\n rugHiddenStitch: true,\r\n rugWidthFeet: \"8\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"10\",\r\n rugLengthInches: \"0\",\r\n rugDsc: \"\",\r\n finishedSize: { value: 1, label: \"Custom\" },\r\n // selectedRugEdge: \"Serging\",\r\n sqFt: \"0.0\",\r\n finishedEdgeFt: \"0.0\",\r\n orderLines: [],\r\n selectedField: null,\r\n searchingProduct: false,\r\n searchProductFailed: false,\r\n // hideSearchingProductWhenUnsubscribed: new Observable(() => () => this.searchingProduct = false),\r\n appliedFieldRepeat: \"0.0\",\r\n selectedFieldColor: null,\r\n selectedFieldWidth: null,\r\n fieldWidthList: [],\r\n bindingList: [],\r\n selectedBinding: null,\r\n fieldRepeatWidth: \"0.0\",\r\n fieldRepeatLength: \"0.0\",\r\n repeatDsc: \"\",\r\n fieldLengthFeet: \"0.0\",\r\n fieldLengthInches: \"0.0\",\r\n fieldCostPer: \"0.0\",\r\n totalFieldCost: \"0.00\",\r\n fieldPricePer: \"0.00\",\r\n totalFieldUnits: \"0.0\",\r\n totalFieldPrice: \"0.00\",\r\n fieldCmsnRate: \"10.00\",\r\n fieldCmsn: \"0.00\",\r\n fieldPriceUnitType: \"\",\r\n // fieldDsc: \"\",\r\n\r\n totalRugBackingPrice: \"0.00\",\r\n rugBackingPricePer: customRugComponentProducts.DefaultBackingProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultBackingProduct.unitPrice,\r\n 2\r\n ).toFixed(2)\r\n : RUG_BACKING_PRICE_PER,\r\n totalRugBackingUnits: \"0.0\",\r\n totalRugBackingCost: \"0.00\",\r\n rugBackingCostPer: customRugComponentProducts.DefaultBackingProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultBackingProduct.unitCost,\r\n 2\r\n ).toFixed(2)\r\n : RUG_BACKING_COST_PER,\r\n rugBackingCmsn: \"0.00\",\r\n rugBackingCmsnRate: \"10.00\",\r\n\r\n selectedPad:\r\n customRugComponentProducts.DefaultRugPadLuxFeltCustomSizeProduct\r\n ? customRugComponentProducts.DefaultRugPadLuxFeltCustomSizeProduct\r\n : null,\r\n padList: [],\r\n hasPadCutCharge: true,\r\n padCutCost: customRugComponentProducts.DefaultPadCutChargeProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultPadCutChargeProduct.unitCost,\r\n 2\r\n ).toFixed(2)\r\n : PAD_CUT_COST,\r\n padCutPrice: customRugComponentProducts.DefaultPadCutChargeProduct\r\n ? _.round(\r\n customRugComponentProducts.DefaultPadCutChargeProduct.unitPrice,\r\n 2\r\n ).toFixed(2)\r\n : PAD_CUT_PRICE,\r\n selectedPadWidth: null,\r\n padWidthList: [],\r\n totalPadUnits: \"0.0\",\r\n padLengthFeet: \"0.0\",\r\n padCostPer: \"0.00\",\r\n totalPadCost: \"0.00\",\r\n padPricePer: \"0.00\",\r\n totalPadPrice: \"0.00\",\r\n padCmsnRate: \"10.00\",\r\n padCmsn: \"0.00\",\r\n padPriceUnitType: \"\",\r\n\r\n selectedSerging: null,\r\n\r\n sergingCostPer: \"0.00\",\r\n totalSergingCost: \"0.00\",\r\n sergingPricePer: \"0.00\",\r\n totalSergingPrice: \"0.00\",\r\n sergingCmsnRate: \"10.00\",\r\n sergingCmsn: \"0.00\",\r\n\r\n selectedMSerging: null,\r\n mSergingCostPer: \"0.00\",\r\n totalMSergingCost: \"0.00\",\r\n mSergingPricePer: \"0.00\",\r\n totalMSergingPrice: \"0.00\",\r\n mSergingCmsnRate: \"10.00\",\r\n mSergingCmsn: \"0.00\",\r\n\r\n selectedHSSerging: null,\r\n hsSergingCostPer: \"0.00\",\r\n totalHSSergingCost: \"0.00\",\r\n hsSergingPricePer: \"0.00\",\r\n totalHSSergingPrice: \"0.00\",\r\n hsSergingCmsnRate: \"10.00\",\r\n hsSergingCmsn: \"0.00\",\r\n\r\n selectedRugBindingStyle: null,\r\n rugBindingList: [],\r\n selectedRugBindingColor: null,\r\n rugBindingColorList: [],\r\n rugBindingCostPer: \"0.00\",\r\n totalRugBindingCost: \"0.00\",\r\n rugBindingPricePer: \"0.00\",\r\n totalRugBindingPrice: \"0.00\",\r\n rugBindingCmsnRate: \"10.00\",\r\n rugBindingCmsn: \"0.00\",\r\n };\r\n};\r\n\r\nconst emptyOrderPayment = {\r\n id: null,\r\n paymentType: {\r\n // default value\r\n value: constants.PAYMENT_TYPE.EXTENDED_CREDIT.value,\r\n label: constants.PAYMENT_TYPE.EXTENDED_CREDIT.label,\r\n },\r\n customerPaymentStatus: null,\r\n referenceNumber: \"\",\r\n payToName: \"\",\r\n checkNumber: \"\",\r\n amountDue: \"\", // remove this not nullable field eventually?\r\n amountPaid: \"\",\r\n billOn: \"\",\r\n dueOn: \"\",\r\n paidOn: \"\",\r\n forWhat: \"\", // remove this not nullable field eventually?\r\n invoiceNumber: \"\",\r\n comment: \"\",\r\n dateReceived: new Date(),\r\n expDate: \"\",\r\n cardNumber: \"\",\r\n billingName: \"\",\r\n billingZip: \"\",\r\n creditCardType: null,\r\n creditCardSurchargeRate: \"\",\r\n taxRate: \"\",\r\n};\r\n\r\nconst emptyOrderFulfillment = {\r\n id: 0,\r\n orderFulfillmentStatus: null,\r\n supplier: null,\r\n freightCarrier: null,\r\n referenceNumber: \"\",\r\n invoiceNumber: \"\",\r\n checkNumber: \"\",\r\n amountDue: \"\",\r\n amountPosted: \"0\",\r\n notes: \"\",\r\n billDate: new Date(),\r\n dueDate: new Date(),\r\n payDate: new Date(),\r\n isPayToSupplier: true,\r\n};\r\n\r\nconst invoiceOptions = _.map(constants.TYPE_OF_INVOICE, (v, k) => {\r\n return { label: k, value: v };\r\n});\r\n\r\n// const CUSTOM_DSC =\r\n// \t`Please inspect this merchandise for style, size and color to insure you have received proper product.\r\n// \tMill will not honor any complaints on visible defects after merchandise has been cut or installed. By\r\n// \taccepting shipment of this material the bill to agrees to pay all attorney, court, and collection fees if\r\n// \tplaced for collections on this invoice. Freight Claims: Title of Carpet transfers to the purchaser when\r\n// \taccepted by Freight carrier. You have 14 days to report concealed Damage. ALL CARPETS MUST BE\r\n// \tPROFESSIONALLY CLEANED EVERY 18 MONTHS TO MAINTAIN YOUR WARRANTY! IF YOU USE A\r\n// \tCYCLONIC ACTION VACUUM ON ANY OF OUR CARPETS IT COULD VOID YOUR WARRANTY.`;\r\n\r\nconst CUSTOM_DSC2 = ``;\r\n\r\nlet CustomRugProducts;\r\n\r\nconst TABS = {\r\n GENERAL_INFORMATION: 1,\r\n LINE_ITEMS: 2,\r\n PAYMENT: 3,\r\n FULLFILLMENT: 4,\r\n FINAL_REVIEW: 5,\r\n PRINT: 6,\r\n};\r\n\r\nexport default class OrderEntry extends Component {\r\n constructor(props) {\r\n const date = new Date();\r\n\r\n super(props);\r\n this.state = {\r\n order: {\r\n ...emptyOrder,\r\n createdByUser: {\r\n value: props.customerId,\r\n label: \"\",\r\n },\r\n },\r\n customerId: props.customerId,\r\n rugShapeList: [],\r\n message: null,\r\n messageFlavor: null,\r\n monthList: constants.monthList,\r\n yearList: constants.yearList,\r\n orderStatusList: [],\r\n userList: [],\r\n agentList: [],\r\n productsList: [],\r\n // collectionProductsList: [], // used for Intl Rug order lines\r\n widthsList: [],\r\n freightCarrierList: [],\r\n commentTypeList: [],\r\n freightTermsList: [],\r\n customerPaymentStatusList: [],\r\n credtiCardTypeList: [],\r\n orderFulfillmentStatusList: [],\r\n supplierList: [],\r\n totalOrderCost: \"\",\r\n totalOrderPrice: \"\",\r\n orderLines: [],\r\n orderFulfillments: [],\r\n orderPayments: [],\r\n verifications: [],\r\n orderId: props.orderId,\r\n orderFulfillment: emptyOrderFulfillment,\r\n addNewFulfillment: false,\r\n orderPayment: emptyOrderPayment,\r\n paymentTypeList: [],\r\n selectedCustomer: [],\r\n creditCardTypeList: [],\r\n sumOfPayments: \"\",\r\n balance: \"\",\r\n orderLine: emptyOrderLine,\r\n newOrderLineComment: emptyOrderLineComment,\r\n orderLineCommentList: [],\r\n showOrderLineForm: false,\r\n orderLineCount: 0,\r\n editingFreight: false,\r\n editingNotes: false,\r\n notesList: null,\r\n orderLineTypeList: [],\r\n orderLineStatusList: [],\r\n colorFamilyList: [],\r\n areaList: [],\r\n addUpdatePayment: false,\r\n orderFulfillmentsTotalDue: \"\",\r\n orderFulfillmentsTotalPosted: \"\",\r\n orderFulfillmentsBalance: \"\",\r\n customRugToViewEdit: null,\r\n confirmationModalOrderLineId: null,\r\n confirmationModalType: null,\r\n confirmationModalComponentLines: null,\r\n showCustomerSearchModal: false,\r\n colorOptOut: false,\r\n generatingReplacement: false,\r\n showOrderLineStatusModal: false,\r\n backOrderOrShippedDate: null,\r\n hasSalesTaxOrSurcharge: false,\r\n // rug related\r\n selectedRugEdge: \"Serging\",\r\n sergingList: [],\r\n mSergingList: [],\r\n hsSergingList: [],\r\n invoiceDate: date,\r\n dueDate: date,\r\n customDescription: \"\",\r\n customDescription2: CUSTOM_DSC2,\r\n invoiceType: invoiceOptions[0],\r\n customerAddressList: [],\r\n customerShipToAddresses: [],\r\n productPatternMatch: \"\"\r\n };\r\n this.getCustomer = this.getCustomer.bind(this);\r\n this.setSelectedBillingAddress = this.setSelectedBillingAddress.bind(this);\r\n this.transformItemToRugComponentOrderLine =\r\n this.transformItemToRugComponentOrderLine.bind(this);\r\n\r\n // rug component stuff\r\n this.toggleCutCharge = this.toggleCutCharge.bind(this);\r\n this.toggleArmor = this.toggleArmor.bind(this);\r\n this.toggleInboundFreight = this.toggleInboundFreight.bind(this);\r\n this.toggleBacking = this.toggleBacking.bind(this);\r\n this.togglePad = this.togglePad.bind(this);\r\n this.toggleClippedCorners = this.toggleClippedCorners.bind(this);\r\n this.toggleLaborCutout = this.toggleLaborCutout.bind(this);\r\n this.toggleLaborRound = this.toggleLaborRound.bind(this);\r\n this.toggleEdgeOptions = this.toggleEdgeOptions.bind(this);\r\n this.initializeRugOrder = this.initializeRugOrder.bind(this);\r\n this.refreshRugDescription = this.refreshRugDescription.bind(this);\r\n this.rugSizeChange = this.rugSizeChange.bind(this);\r\n this.fieldSizeChange = this.fieldSizeChange.bind(this);\r\n this.setRugEdge = this.setRugEdge.bind(this);\r\n this.onHasPadCutChargeChange = this.onHasPadCutChargeChange.bind(this);\r\n this.borderSizeChange = this.borderSizeChange.bind(this);\r\n\r\n this.applyVolumePricingIfNecessary =\r\n this.applyVolumePricingIfNecessary.bind(this);\r\n this.calculateFigures = this.calculateFigures.bind(this);\r\n this.renderWorkorderForm = this.renderWorkorderForm.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n this.getOrderSelectsData();\r\n let CUSTOM_DSC = \"\";\r\n await api\r\n .fetch(\"Order/GetInvoiceBoilerPlate\")\r\n .then((response) => {\r\n _.forEach(response.data, (x) => {\r\n CUSTOM_DSC = CUSTOM_DSC + x.dsc + \" \";\r\n });\r\n this.setState({ customDescription: CUSTOM_DSC });\r\n })\r\n .catch(helpers.catchHandler);\r\n this.getCustomer(this.state.customerId);\r\n await api\r\n .fetch(\r\n `Order/GetProductsOfProductType/${constants.PRODUCT_TYPE.CARPET.value}`\r\n )\r\n .then((response) => {\r\n this.setState({productsList: response.data});\r\n });\r\n }\r\n\r\n getOrderSelectsData() {\r\n api\r\n .fetch(\"Order/GetOrderSelectsData\")\r\n .then((response) => {\r\n CustomRugProducts = response.data.customRugProducts;\r\n this.setState({\r\n orderStatusTypeList: response.data.orderStatusTypeList,\r\n orderLineTypeList: this.formatOrderLineTypeList(\r\n response.data.orderLineTypeList\r\n ),\r\n orderLineStatusList: response.data.orderLineStatusList,\r\n paymentTypeList: response.data.paymentTypeList,\r\n colorFamilyList: response.data.colorFamilyList,\r\n agentList: response.data.agentList,\r\n areaList: response.data.areaList,\r\n orderStatusList: response.data.orderStatusList,\r\n userList: response.data.userList,\r\n freightCarrierList: response.data.freightCarrierList,\r\n commentTypeList: response.data.commentTypeList,\r\n freightTermsList: response.data.freightTermsList,\r\n customerPaymentStatusList: response.data.customerPaymentStatusList,\r\n creditCardTypeList: response.data.creditCardTypeList,\r\n orderFulfillmentStatusList: response.data.orderFulfillmentStatusList,\r\n supplierList: response.data.supplierList,\r\n rugShapeList: response.data.rugShapeList,\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n async getCustomer(customerId) {\r\n api\r\n .fetch(`Customer/GetActiveContacts/${customerId}`)\r\n .then((response) => {\r\n let customerInfo = response.data.customer;\r\n let customerContacts = response.data.contacts;\r\n let customerAddresses = _.chain(response.data.customerAddresses)\r\n .filter((ca) => {\r\n return ca.addressTypeId === constants.ADDRESS_TYPE.BILL_TO;\r\n })\r\n .map((a) => {\r\n a.value = a.id;\r\n a.label = helpers.formatAddressLabel(a);\r\n return a;\r\n })\r\n .value();\r\n const customerShipToAddresses = _.chain(response.data.customerAddresses)\r\n .filter((ca) => {\r\n return ca.addressTypeId === constants.ADDRESS_TYPE.SHIP_TO;\r\n })\r\n .map((a) => {\r\n a.value = a.id;\r\n a.label = helpers.formatAddressLabel(a, \"* \");\r\n return a;\r\n })\r\n .value();\r\n customerContacts.map((c) => {\r\n // remove deactivated phones and addresses for each contact\r\n const addresses = _.filter(\r\n c.addresses,\r\n (a) => a.deactivatedAt === null\r\n );\r\n const phoneNumbers = _.filter(\r\n c.phoneNumbers,\r\n (p) => p.deactivatedAt === null\r\n );\r\n c.expanded = false;\r\n c.addresses = addresses;\r\n c.phoneNumbers = phoneNumbers;\r\n\r\n // set value and label for select\r\n c.label = `${c.firstName} ${c.lastName}`;\r\n c.value = c.id;\r\n return c;\r\n });\r\n let customerCredits = _.map(response.data.customerCredits, (c) => {\r\n c.value = c.id;\r\n c.label = `${c.displayAmount} ${c.comment} - Given on ${moment(\r\n c.givenOn\r\n ).format(\"MM/DD/YYYY\")}`;\r\n // c.amount = c.amount !== 0 && c.amount !== '' ? c.amount / 100 : null;\r\n c.amount = c.amount;\r\n return c;\r\n });\r\n this.setState(\r\n {\r\n customerInfo: customerInfo,\r\n customerContacts: customerContacts,\r\n customerOutstandingCredits: customerCredits,\r\n customerAddressList: customerAddresses,\r\n customerShipToAddresses: customerShipToAddresses,\r\n },\r\n () => {\r\n if (customerAddresses.length == 1) {\r\n this.setSelectedBillingAddress(customerAddresses[0]);\r\n }\r\n }\r\n );\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n formatOrderLineTypeList(orderLineTypeList) {\r\n const formattedOrderLineTypeList = _.reject(orderLineTypeList, (item) => {\r\n return (\r\n item.value === constants.ORDER_LINE_TYPE.FREIGHT.value ||\r\n item.value === constants.ORDER_LINE_TYPE.RUG_FIELD.value ||\r\n item.value === constants.ORDER_LINE_TYPE.RUG_BORDER.value ||\r\n item.value === constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value ||\r\n item.value === constants.ORDER_LINE_TYPE.CREDIT_CARD_SURCHARGE.value ||\r\n item.value === constants.ORDER_LINE_TYPE.MISCELLANEOUS.value ||\r\n item.value === constants.ORDER_LINE_TYPE.SALES_TAX.value || \r\n item.value === constants.ORDER_LINE_TYPE.CUSTOM_RUG.value ||\r\n item.value === constants.ORDER_LINE_TYPE.SAMPLE.value\r\n );\r\n });\r\n return formattedOrderLineTypeList;\r\n }\r\n\r\n getOrderLineCorrespondingProductType(value) {\r\n let productType;\r\n switch (value.toString()) {\r\n case constants.ORDER_LINE_TYPE.CARPET.value.toString():\r\n case constants.ORDER_LINE_TYPE.RUG_FIELD.value.toString():\r\n case constants.ORDER_LINE_TYPE.RUG_BORDER.value.toString():\r\n productType = constants.PRODUCT_TYPE.CARPET.value;\r\n break;\r\n case constants.ORDER_LINE_TYPE.MISCELLANEOUS.value.toString():\r\n productType = constants.PRODUCT_TYPE.MISCELLANEOUS.value;\r\n break;\r\n case constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value.toString():\r\n productType = constants.PRODUCT_TYPE.RUG_COMPONENT.value;\r\n break;\r\n case constants.ORDER_LINE_TYPE.RUG_PAD.value.toString():\r\n productType = constants.PRODUCT_TYPE.RUG_PAD.value;\r\n break;\r\n case constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value.toString():\r\n productType = constants.PRODUCT_TYPE.INTL_RUG.value;\r\n break;\r\n case constants.ORDER_LINE_TYPE.HARD_SURFACE.value.toString():\r\n productType = constants.PRODUCT_TYPE.HARD_SURFACE.value;\r\n break;\r\n case constants.ORDER_LINE_TYPE.ROLL_RUNNER.value.toString():\r\n productType = constants.PRODUCT_TYPE.ROLL_RUNNER.value;\r\n break;\r\n case constants.ORDER_LINE_TYPE.BINDING.value.toString():\r\n productType = constants.PRODUCT_TYPE.BORDER_OR_BINDING.value;\r\n break;\r\n case constants.ORDER_LINE_TYPE.CARPET_TILE.value.toString():\r\n productType = constants.PRODUCT_TYPE.CARPET_TILE.value;\r\n break;\r\n case constants.ORDER_LINE_TYPE.SAMPLE.value.toString():\r\n productType = constants.PRODUCT_TYPE.SAMPLE.value;\r\n break;\r\n }\r\n return productType;\r\n }\r\n\r\n onAddNewOrderLine(orderLineType = null) {\r\n let productType;\r\n if (orderLineType) {\r\n productType = this.getOrderLineCorrespondingProductType(\r\n orderLineType.value\r\n );\r\n } else {\r\n productType = constants.PRODUCT_TYPE.CARPET.value;\r\n }\r\n\r\n // Fetch products for default new rug component line type first\r\n // api.fetch(`Order/GetProductsOfProductType/${constants.PRODUCT_TYPE.CARPET.value}`)\r\n api\r\n .fetch(`Order/GetProductsOfProductType/${productType}`)\r\n .then((response) => {\r\n //if response success\r\n if (this.state.customRugToViewEdit) {\r\n let { sqFt, finishedEdgeFt } = calc.calculateSqFeetAndFinEdgeFt(\r\n this.state.customRugToViewEdit.rugLengthFeet,\r\n this.state.customRugToViewEdit.rugLengthInches,\r\n this.state.customRugToViewEdit.rugWidthFeet,\r\n this.state.customRugToViewEdit.rugWidthInches\r\n );\r\n\r\n this.setState({\r\n showOrderLineForm: true,\r\n message: null,\r\n messageFlavor: null,\r\n productsList: response.data,\r\n orderLine: {\r\n ...emptyOrderLine,\r\n parentOrderLineId: this.state.customRugToViewEdit.id,\r\n orderLineType: orderLineType\r\n ? orderLineType\r\n : constants.ORDER_LINE_TYPE.RUG_FIELD,\r\n sqFt: sqFt,\r\n finishedEdgeFt: finishedEdgeFt,\r\n rugLengthFeet: this.state.customRugToViewEdit.rugLengthFeet, // needed for local fuctions to work\r\n rugLengthInches: this.state.customRugToViewEdit.rugLengthInches, // needed for local fuctions to work\r\n rugWidthFeet: this.state.customRugToViewEdit.rugWidthFeet, // needed for local fuctions to work\r\n rugWidthInches: this.state.customRugToViewEdit.rugWidthInches, // needed for local fuctions to work\r\n rugDsc: this.state.customRugToViewEdit.dsc, // needed for local fuctions to work\r\n shippingAddresses: this.state.customerShipToAddresses,\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n showOrderLineForm: true,\r\n message: null,\r\n messageFlavor: null,\r\n productsList: response.data,\r\n orderLine: {\r\n ...emptyOrderLine,\r\n orderLineType: constants.ORDER_LINE_TYPE.CARPET,\r\n shippingAddresses: this.state.customerShipToAddresses,\r\n },\r\n });\r\n }\r\n });\r\n }\r\n\r\n async handleOrderLineTypeChange(selection) {\r\n if (\r\n selection.value === constants.ORDER_LINE_TYPE.RUG_BORDER.value ||\r\n selection.value === constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value\r\n ) {\r\n this.onAddNewOrderLine(selection);\r\n } else if (selection.value === constants.ORDER_LINE_TYPE.CUSTOM_RUG.value) {\r\n let padProductsList;\r\n let rugBindingList;\r\n let inboundFreightProductList;\r\n let customRugComponentProducts;\r\n await api\r\n .fetch(\r\n `Order/GetProductsOfProductType/${constants.PRODUCT_TYPE.RUG_PAD.value}`\r\n )\r\n .then((response) => {\r\n padProductsList = response.data;\r\n });\r\n await api\r\n .fetch(\r\n `Order/GetProductsOfProductType/${constants.PRODUCT_TYPE.BORDER_OR_BINDING.value}`\r\n )\r\n .then((response) => {\r\n rugBindingList = response.data;\r\n });\r\n await api\r\n .fetch(\r\n `Order/GetProductsOfProductType/${constants.PRODUCT_TYPE.RUG_COMPONENT.value}`\r\n )\r\n .then((response) => {\r\n inboundFreightProductList = _.filter(response.data, (p) =>\r\n _.includes(p.label, \"Inbound\")\r\n );\r\n });\r\n await api\r\n .fetch(`Order/GetCustomRugComponentProducts/`)\r\n .then((response) => {\r\n customRugComponentProducts = {\r\n DefaultCutChargeProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES.DefaultCutChargeProduct\r\n ),\r\n DefaultRugEndArmorProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES.DefaultRugEndArmorProduct\r\n ),\r\n DefaultInboundFreightProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES.DefaultInboundFreightProduct\r\n ),\r\n DefaultBackingProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES.DefaultBackingProduct\r\n ),\r\n DefaultPadCutChargeProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES.DefaultPadCutChargeProduct\r\n ),\r\n Under30SFPadCutChargeProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES.Under30SFPadCutChargeProduct\r\n ),\r\n DefaultClippedCornersProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES.DefaultClippedCornersProduct\r\n ),\r\n DefaultLaborCutoutProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES.DefaultLaborCutoutProduct\r\n ),\r\n DefaultLaborRoundProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES.DefaultLaborRoundProduct\r\n ),\r\n DefaultFabricationChargeProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES\r\n .DefaultFabricationChargeProduct\r\n ),\r\n DefaultUVSergingChargeProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES.DefaultUVSergingChargeProduct\r\n ),\r\n DefaultWoolSergingChargeProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES\r\n .DefaultWoolSergingChargeProduct\r\n ),\r\n DefaultPremiumWoolSergingChargeProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES\r\n .DefaultPremiumWoolSergingChargeProduct\r\n ),\r\n DefaultWoolSergingChargeNProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES\r\n .DefaultWoolSergingChargeNProduct\r\n ),\r\n DefaultAppliedMachineBordersProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES\r\n .DefaultAppliedMachineBordersProduct\r\n ),\r\n DefaultMiteredProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES.DefaultMiteredProduct\r\n ),\r\n DefaultRugPadLuxFeltCustomSizeProduct: _.find(\r\n response.data,\r\n (x) =>\r\n x.configName ===\r\n constants.CUSTOM_RUG_CONFIG_NAMES\r\n .DefaultRugPadLuxFeltCustomSizeProduct\r\n ),\r\n };\r\n });\r\n const emptyRugLine = emptyRugOrderLine(customRugComponentProducts);\r\n const sergingList = [\r\n customRugComponentProducts.DefaultWoolSergingChargeProduct,\r\n customRugComponentProducts.DefaultPremiumWoolSergingChargeProduct,\r\n customRugComponentProducts.DefaultWoolSergingChargeNProduct,\r\n customRugComponentProducts.DefaultUVSergingChargeProduct,\r\n ];\r\n const mSergingList = [\r\n customRugComponentProducts.DefaultAppliedMachineBordersProduct,\r\n ];\r\n const hsSergingList = [customRugComponentProducts.DefaultMiteredProduct];\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...emptyRugLine,\r\n orderLineType: selection,\r\n id: this.state.orderLine.id,\r\n //freight:\r\n freightCarrier: this.state.orderLine.freightCarrier,\r\n freightSidemark: this.state.orderLine.freightSidemark,\r\n freightInvoiceNumber: this.state.orderLine.freightInvoiceNumber,\r\n freightBolNumber: this.state.orderLine.freightBolNumber,\r\n freightDsc: this.state.orderLine.freightDsc,\r\n freightTerms: this.state.orderLine.freightTerms,\r\n freightCost: this.state.orderLine.freightCost,\r\n freightPrice: this.state.orderLine.freightPrice,\r\n stContactFirstName: this.state.orderLine.stContactFirstName,\r\n stContactLastName: this.state.orderLine.stContactLastName,\r\n stContactEmail: this.state.orderLine.stContactEmail,\r\n stAddressLine1: this.state.orderLine.stAddressLine1,\r\n stAddressLine2: this.state.orderLine.stAddressLine2,\r\n stAddressLine3: this.state.orderLine.stAddressLine3,\r\n stAddressLine4: this.state.orderLine.stAddressLine4,\r\n stCity: this.state.orderLine.stCity,\r\n stState: this.state.orderLine.stState,\r\n stZip: this.state.orderLine.stZip,\r\n stPhone: this.state.orderLine.stPhone,\r\n },\r\n padProductsList: padProductsList,\r\n rugBindingList: rugBindingList,\r\n inboundFreightProductList: inboundFreightProductList,\r\n customRugComponentProducts: customRugComponentProducts,\r\n sergingList: sergingList,\r\n mSergingList: mSergingList,\r\n hsSergingList: hsSergingList,\r\n },\r\n () => {\r\n this.initializeRugOrder();\r\n }\r\n );\r\n } else {\r\n let productType = this.getOrderLineCorrespondingProductType(\r\n selection.value\r\n );\r\n let productsList = [];\r\n // let collectionList = [];\r\n // if (selection.value !== constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value) {\r\n await api\r\n .fetch(`Order/GetProductsOfProductType/${productType}`)\r\n .then((response) => {\r\n productsList = response.data;\r\n });\r\n // } else {\r\n // \t// For Intl Coll rugs, collection must be selected before product\r\n // \tawait api.fetch(\"Order/GetRugIntlCollectionList\")\r\n // \t\t.then(response => {\r\n // \t\t\tcollectionList = response.data;\r\n // \t\t});\r\n // }\r\n\r\n this.setState({\r\n orderLine: {\r\n ...emptyOrderLine,\r\n orderLineType: selection,\r\n id: this.state.orderLine.id,\r\n //freight:\r\n freightCarrier: this.state.orderLine.freightCarrier,\r\n freightSidemark: this.state.orderLine.freightSidemark,\r\n freightInvoiceNumber: this.state.orderLine.freightInvoiceNumber,\r\n freightBolNumber: this.state.orderLine.freightBolNumber,\r\n freightDsc: this.state.orderLine.freightDsc,\r\n freightTerms: this.state.orderLine.freightTerms,\r\n freightCost: this.state.orderLine.freightCost,\r\n freightPrice: this.state.orderLine.freightPrice,\r\n stContactFirstName: this.state.orderLine.stContactFirstName,\r\n stContactLastName: this.state.orderLine.stContactLastName,\r\n stContactEmail: this.state.orderLine.stContactEmail,\r\n stAddressLine1: this.state.orderLine.stAddressLine1,\r\n stAddressLine2: this.state.orderLine.stAddressLine2,\r\n stAddressLine3: this.state.orderLine.stAddressLine3,\r\n stAddressLine4: this.state.orderLine.stAddressLine4,\r\n stCity: this.state.orderLine.stCity,\r\n stState: this.state.orderLine.stState,\r\n stZip: this.state.orderLine.stZip,\r\n stPhone: this.state.orderLine.stPhone,\r\n },\r\n // rugIntlCollectionList: collectionList,\r\n productsList: productsList,\r\n });\r\n }\r\n }\r\n\r\n async setSelectedProduct(option) {\r\n await api\r\n .fetch(`Order/GetActiveProductColors/${option.value}`)\r\n .then((response) => {\r\n this.setState({\r\n productColorsList: response.data,\r\n orderLine: {\r\n ...this.state.orderLine,\r\n product: option,\r\n productColor: response.data.length > 0 ? response.data[0] : null,\r\n },\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n await api\r\n .fetch(`Product/GetProductWidths/${option.value}`)\r\n .then((response) => {\r\n const widths = _.map(response.data, (w) => {\r\n return {\r\n value: w.widthId,\r\n label: w.widthName,\r\n widthNumericFeet: w.widthNumericFeet,\r\n };\r\n });\r\n this.setState({\r\n //widthsList: widths,\r\n orderLine: {\r\n ...this.state.orderLine,\r\n widthsList: widths,\r\n width: widths.length > 0 ? widths[0] : null,\r\n },\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n if (\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value\r\n ) {\r\n await api\r\n .fetch(`Product/GetRugIntlSizes/${option.value}`)\r\n .then((response) => {\r\n const rugSizes = _.map(response.data, (sz) => {\r\n return {\r\n value: sz.id,\r\n label: sz.dsc,\r\n cost: _.round(sz.cost, 2).toFixed(2),\r\n price: _.round(sz.price, 2).toFixed(2),\r\n };\r\n });\r\n this.setState({\r\n rugIntlSizeList: rugSizes,\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugIntlSize: rugSizes.length > 0 ? rugSizes[0] : null,\r\n unitCost:\r\n rugSizes.length > 0\r\n ? rugSizes[0].cost\r\n : this.state.orderLine.unitCost,\r\n unitPrice:\r\n rugSizes.length > 0\r\n ? rugSizes[0].price\r\n : this.state.orderLine.unitPrice,\r\n // unitCost: response.data.length > 0 ? _.round(response.data[0].cost, 2).toFixed(2) : this.state.orderLine.unitCost,\r\n // unitPrice: response.data.length > 0 ? _.round(response.data[0].price, 2).toFixed(2) : this.state.orderLine.unitPrice,\r\n },\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n await api\r\n .fetch(\r\n `Product/GetProductWithOrderWithCustomerId/${option.value}/${this.state.customerId}`\r\n )\r\n .then((response) => {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n unitCost:\r\n this.state.orderLine.orderLineType.value !==\r\n constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value\r\n ? _.round(response.data.unitCost, 2).toFixed(2)\r\n : this.state.orderLine.unitCost,\r\n unitPrice:\r\n this.state.orderLine.orderLineType.value !==\r\n constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value\r\n ? _.round(response.data.unitPrice, 2).toFixed(2)\r\n : this.state.orderLine.unitPrice,\r\n volumeCost: _.round(response.data.volumeCost, 2).toFixed(2), // not saved on orderline, only used for volume calculations\r\n volumePrice: _.round(response.data.volumePrice, 2).toFixed(2), // not saved on orderline, only used for volume calculations\r\n rollSize: response.data.rollSize, // not saved on orderline, only used for volume calculations\r\n priceUnitType: helpers.resolveValue(\r\n null,\r\n response.data.priceUnitTypeId,\r\n response.data.priceUnitTypeName\r\n ),\r\n perContainer: helpers.nullableString(response.data.perContainer),\r\n squareFeetPerCarton: helpers.nullableString(\r\n response.data.squareFeetPerCarton\r\n ),\r\n productAllowCommission: response.data.allowCommission,\r\n },\r\n nonVolumeUnitCost: _.round(response.data.unitCost, 2).toFixed(2),\r\n nonVolumeUnitPrice: _.round(response.data.unitPrice, 2).toFixed(2),\r\n productPatternMatch: response.data.repeat\r\n },\r\n () => {\r\n this.calculateFigures();\r\n }\r\n );\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n handleFormSelectChange(elementName, selection) {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n [elementName]: selection,\r\n },\r\n showOrderLineStatusModal:\r\n selection.label === constants.ORDER_LINE_STATUS.BACKORDER.label ||\r\n selection.label === constants.ORDER_LINE_STATUS.SHIPPED.label\r\n ? true\r\n : false,\r\n },\r\n () => {\r\n if (elementName === \"productColor\") {\r\n this.calculateFigures();\r\n }\r\n }\r\n );\r\n }\r\n handleRugShapeSelectChange(elementName, selection) {\r\n let newRugDsc = this.state.orderLine.rugDsc;\r\n if (selection.label === constants.CUSTOM_RUG_SHAPE_LIST.ROUND.label) {\r\n newRugDsc = newRugDsc.replace(\"Custom Rug\", \"Round Custom Rug\");\r\n } else {\r\n newRugDsc = newRugDsc.replace(\"Round Custom Rug\", \"Custom Rug\");\r\n }\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n [elementName]: selection,\r\n rugDsc: newRugDsc,\r\n },\r\n showOrderLineStatusModal:\r\n selection.label === constants.ORDER_LINE_STATUS.BACKORDER.label ||\r\n selection.label === constants.ORDER_LINE_STATUS.SHIPPED.label\r\n ? true\r\n : false,\r\n },\r\n () => {\r\n if (elementName === \"productColor\") {\r\n this.calculateFigures();\r\n }\r\n }\r\n );\r\n }\r\n\r\n handleWidthSelectChange(elementName, selection) {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n [elementName]: selection,\r\n },\r\n },\r\n () => {\r\n this.calculateFigures();\r\n }\r\n );\r\n }\r\n\r\n handleRugIntlSizeChange(elementName, selection) {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n [elementName]: selection,\r\n unitCost: selection.cost,\r\n unitPrice: selection.price,\r\n },\r\n },\r\n () => {\r\n this.calculateFigures();\r\n }\r\n );\r\n }\r\n\r\n handleOrderLineStateChange(fieldName, value) {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n [fieldName]: value,\r\n },\r\n });\r\n }\r\n\r\n updateOrderLineRateOrCurrencyField(fieldName, value) {\r\n if (value) {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n [fieldName]: _.round(value, 2).toFixed(2),\r\n },\r\n });\r\n }\r\n }\r\n\r\n mergeOrderLine(item, parentItem) {\r\n const mergedOrderLine = {\r\n id: item.parentOrderLineId,\r\n freightOrderLineId: item.id,\r\n orderId: parentItem.orderId,\r\n // parentOrderLineId: parentItem.orderLineType.value == constants.ORDER_LINE_TYPE.RUG_FIELD.value ? parentItem.parentOrderLineId : parentItem.id,\r\n parentOrderLineId: COMPONENT_ORDER_LINE_TYPES.includes(\r\n parentItem.orderLineType.value\r\n )\r\n ? parentItem.parentOrderLineId\r\n : parentItem.id,\r\n // parentOrderLineId: parentItem.id,\r\n orderLineType: parentItem.orderLineType,\r\n dsc: parentItem.dsc,\r\n unitCost: parentItem.unitCost,\r\n cost: parentItem.cost,\r\n unitPrice: parentItem.unitPrice,\r\n price: parentItem.price,\r\n cmsnRate: parentItem.cmsnRate,\r\n cmsn: parentItem.cmsn,\r\n isHidden: parentItem.isHidden,\r\n product: parentItem.product,\r\n productColor: parentItem.productColor,\r\n lengthFeet: parentItem.lengthFeet,\r\n orderLineStatus: parentItem.orderLineStatus,\r\n priceUnitType: parentItem.priceUnitType,\r\n squareFeetRequired: parentItem.squareFeetRequired,\r\n creditCardSurchargeRate: null,\r\n taxRate: parentItem.taxRate,\r\n rugIntlCollection: parentItem.rugIntlCollection,\r\n rugIntlSize: parentItem.rugIntlSize,\r\n createdAt: parentItem.createdAt,\r\n createdByUserId: parentItem.createdByUserId,\r\n updatedByUserId: parentItem.updatedByUserId,\r\n width: parentItem.width,\r\n qty: parentItem.qty,\r\n cartonCount: parentItem.cartonCount,\r\n squareFeetPerCarton: parentItem.squareFeetPerCarton,\r\n perContainer: parentItem.perContainer,\r\n // custom rug stuff:\r\n rugSize: parentItem.rugSize,\r\n finishedSize: parentItem.finishedSize,\r\n rugLengthFeet: parentItem.rugLengthFeet,\r\n rugLengthInches: parentItem.rugLengthInches,\r\n rugWidthFeet: parentItem.rugWidthFeet,\r\n rugWidthInches: parentItem.rugWidthInches,\r\n rugDsc: parentItem.rugDsc,\r\n sqFt: parentItem.sqFt,\r\n finishedEdgeFt: parentItem.finishedEdgeFt,\r\n rugType: parentItem.rugType,\r\n // field stuff (used for local calculations):\r\n fieldLengthFeet: parentItem.fieldLengthFeet,\r\n fieldLengthInches: parentItem.fieldLengthInches,\r\n selectedField: parentItem.selectedField,\r\n selectedFieldColor: parentItem.selectedFieldColor,\r\n selectedFieldWidth: parentItem.selectedFieldWidth,\r\n // fieldDsc: parentItem.dsc,\r\n fieldCmsnRate: parentItem.cmsnRate,\r\n fieldCmsn: parentItem.cmsn,\r\n fieldCostPer: parentItem.unitCost,\r\n totalFieldCost: parentItem.cost,\r\n fieldPricePer: parentItem.unitPrice,\r\n totalFieldPrice: parentItem.price,\r\n fieldPriceUnitType: parentItem.priceUnitType,\r\n totalFieldUnits: parentItem.qty,\r\n fieldRun: parentItem.run,\r\n appliedFieldRepeat: parentItem.repeatNumeric,\r\n repeatDsc: parentItem.repeatDsc,\r\n //freight:\r\n freightCarrier: item.freightCarrier,\r\n freightSidemark: item.freightSidemark,\r\n freightInvoiceNumber: item.freightInvoiceNumber,\r\n freightBolNumber: item.freightBolNumber,\r\n freightDsc: item.dsc,\r\n freightTerms: item.freightTerms,\r\n freightCost: item.cost,\r\n freightPrice: item.price,\r\n stContactFirstName: item.stContactFirstName,\r\n stContactLastName: item.stContactLastName,\r\n stContactEmail: item.stContactEmail,\r\n stAddressLine1: item.stAddressLine1,\r\n stAddressLine2: item.stAddressLine2,\r\n stAddressLine3: item.stAddressLine3,\r\n stAddressLine4: item.stAddressLine4,\r\n stCity: item.stCity,\r\n stState: item.stState,\r\n stZip: item.stZip,\r\n stPhone: item.stPhone,\r\n commentCount: parentItem.commentCount,\r\n rugShape: parentItem.rugShape,\r\n };\r\n return mergedOrderLine;\r\n }\r\n\r\n updateOrderLine(item) {\r\n window.scroll(0, 0);\r\n if (this.state.customRugToViewEdit) {\r\n // orderLine to update is a custom rug component\r\n if (\r\n item.orderLineType.value !== constants.ORDER_LINE_TYPE.FREIGHT.value\r\n ) {\r\n item = this.transformItemToRugComponentOrderLine(item);\r\n }\r\n\r\n let mergedOrderLine;\r\n let orderLineCommentList = item.orderLineComments.slice();\r\n\r\n // if item is the parent to a freightOrderLine\r\n const childItem = _.find(\r\n this.state.customRugToViewEdit.componentLines,\r\n function (x) {\r\n return x.parentOrderLineId === item.id && x.deactivatedAt === null;\r\n }\r\n );\r\n if (childItem) {\r\n const parentItem = Object.assign({}, item);\r\n mergedOrderLine = Object.assign(\r\n {},\r\n this.mergeOrderLine(childItem, parentItem)\r\n );\r\n }\r\n\r\n // if item is a freightOrderLine and has a parent orderLine associated with it\r\n if (\r\n item.parentOrderLineId &&\r\n item.orderLineType.value === constants.ORDER_LINE_TYPE.FREIGHT.value\r\n ) {\r\n let parentItem = _.find(\r\n this.state.customRugToViewEdit.componentLines,\r\n function (x) {\r\n return x.id === item.parentOrderLineId;\r\n }\r\n );\r\n if (parentItem) {\r\n parentItem = this.transformItemToRugComponentOrderLine(parentItem);\r\n mergedOrderLine = Object.assign(\r\n {},\r\n this.mergeOrderLine(item, parentItem)\r\n );\r\n orderLineCommentList = parentItem.orderLineComments.slice();\r\n }\r\n }\r\n this.setState(\r\n {\r\n orderLine: mergedOrderLine ? mergedOrderLine : item,\r\n orderLineCommentList: orderLineCommentList,\r\n showOrderLineForm: true,\r\n editingFreight:\r\n (item.parentOrderLineId &&\r\n item.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.FREIGHT.value) ||\r\n childItem\r\n ? true\r\n : false, // display Freight section if order line has freight info saved\r\n editingNotes: orderLineCommentList.length > 0 ? true : false, // display Notes section if order line has notes saved\r\n },\r\n () => {\r\n this.fetchAppropiateDataForSelects(\r\n mergedOrderLine ? mergedOrderLine : item\r\n );\r\n }\r\n );\r\n } else {\r\n // orderLine to update does not belong to a custom rug\r\n let mergedOrderLine;\r\n let orderLineCommentList = item.orderLineComments.slice();\r\n\r\n // if item is the parent to a freightOrderLine\r\n const childItem = _.find(this.state.orderLines, function (x) {\r\n return x.parentOrderLineId === item.id && x.deactivatedAt === null;\r\n });\r\n if (childItem) {\r\n const parentItem = Object.assign({}, item);\r\n mergedOrderLine = Object.assign(\r\n {},\r\n this.mergeOrderLine(childItem, parentItem)\r\n );\r\n }\r\n\r\n // if item is a freightOrderLine and has a parent orderLine associated with it\r\n if (item.parentOrderLineId) {\r\n const parentItem = _.find(this.state.orderLines, function (x) {\r\n return x.id === item.parentOrderLineId;\r\n });\r\n mergedOrderLine = Object.assign(\r\n {},\r\n this.mergeOrderLine(item, parentItem)\r\n );\r\n orderLineCommentList = parentItem.orderLineComments.slice();\r\n }\r\n\r\n this.setState(\r\n {\r\n orderLine: mergedOrderLine ? mergedOrderLine : item,\r\n orderLineCommentList: orderLineCommentList,\r\n showOrderLineForm: true,\r\n editingFreight: item.parentOrderLineId || childItem ? true : false, // display Freight section if order line has freight info saved\r\n editingNotes: orderLineCommentList.length > 0 ? true : false, // display Notes section if order line has notes saved\r\n },\r\n () => {\r\n this.fetchAppropiateDataForSelects(\r\n mergedOrderLine ? mergedOrderLine : item\r\n );\r\n }\r\n );\r\n }\r\n }\r\n\r\n transformItemToRugComponentOrderLine(item) {\r\n let { sqFt, finishedEdgeFt } = calc.calculateSqFeetAndFinEdgeFt(\r\n this.state.customRugToViewEdit.rugLengthFeet,\r\n this.state.customRugToViewEdit.rugLengthInches,\r\n this.state.customRugToViewEdit.rugWidthFeet,\r\n this.state.customRugToViewEdit.rugWidthInches\r\n );\r\n item.sqFt = sqFt;\r\n item.finishedEdgeFt = finishedEdgeFt;\r\n item.rugLengthFeet =\r\n this.state.customRugToViewEdit.rugLengthFeet.toString(); // needed for local fuctions to work\r\n item.rugLengthInches =\r\n this.state.customRugToViewEdit.rugLengthInches.toString(); // needed for local fuctions to work\r\n item.rugWidthFeet = this.state.customRugToViewEdit.rugWidthFeet.toString(); // needed for local fuctions to work\r\n item.rugWidthInches =\r\n this.state.customRugToViewEdit.rugWidthInches.toString(); // needed for local fuctions to work\r\n item.rugShape = this.state.customRugToViewEdit.rugShape;\r\n item.rugDsc = this.state.customRugToViewEdit.dsc; // needed for local fuctions to work\r\n\r\n switch (item.orderLineType.value) {\r\n case constants.ORDER_LINE_TYPE.RUG_FIELD.value:\r\n case constants.ORDER_LINE_TYPE.FREIGHT.value:\r\n // item.fieldLengthFeet = Math.floor(item.lengthFeet);\r\n // item.fieldLengthInches = Math.round((item.fieldLengthInches ? item.fieldLengthInches : 0 * 12) % 1) // this is calculated elsewhere but not on orderline load so\r\n\r\n item.fieldLengthFeet = Math.floor(item.lengthFeet);\r\n let inchesDec = item.lengthFeet - item.fieldLengthFeet;\r\n item.fieldLengthInches = (inchesDec * 12).toFixed(0); // this is calculated elsewhere but not on orderline load so\r\n item.selectedField = Object.assign({}, item.product);\r\n item.selectedFieldColor = item.productColor\r\n ? Object.assign({}, item.productColor)\r\n : null;\r\n item.selectedFieldWidth = Object.assign({}, item.width);\r\n // item.fieldDsc = helpers.nullableString(item.dsc);\r\n item.fieldCmsnRate = item.cmsnRate;\r\n item.fieldCmsn = item.cmsn;\r\n item.fieldCostPer = item.unitCost;\r\n item.totalFieldCost = item.cost;\r\n item.fieldPricePer = item.unitPrice;\r\n item.totalFieldPrice = item.price;\r\n item.fieldPriceUnitType = item.priceUnitType\r\n ? Object.assign({}, item.priceUnitType)\r\n : null;\r\n item.totalFieldUnits = item.qty;\r\n item.fieldRun = item.run;\r\n item.appliedFieldRepeat = item.repeatNumeric;\r\n case constants.ORDER_LINE_TYPE.RUG_BORDER.value:\r\n case constants.ORDER_LINE_TYPE.FREIGHT.value:\r\n item.borderLengthFeet = Math.floor(item.lengthFeet);\r\n let inchesDec2 = item.lengthFeet - item.borderLengthFeet;\r\n item.borderLengthInches = (inchesDec2 * 12).toFixed(0); // this is calculated elsewhere but not on orderline load so\r\n item.selectedBorder = Object.assign({}, item.product);\r\n item.selectedBorderColor = Object.assign({}, item.productColor);\r\n item.selectedBorderWidth = Object.assign({}, item.width);\r\n // item.borderDsc = helpers.nullableString(item.dsc);\r\n item.borderCmsnRate = item.cmsnRate;\r\n item.borderCmsn = item.cmsn;\r\n item.borderCostPer = item.unitCost;\r\n item.totalBorderCost = item.cost;\r\n item.borderPricePer = item.unitPrice;\r\n item.totalBorderPrice = item.price;\r\n item.borderPriceUnitType = item.priceUnitType\r\n ? Object.assign({}, item.priceUnitType)\r\n : null;\r\n item.totalBorderUnits = item.qty;\r\n // item.borderRun = item.run;\r\n // item.appliedBorderRepeat = item.repeatNumeric;\r\n break;\r\n case constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value:\r\n // break;\r\n default:\r\n // code block\r\n }\r\n return item;\r\n }\r\n\r\n async fetchAppropiateDataForSelects(orderLine) {\r\n // fetch appropriate data for selects for product to be updated\r\n let productAllowCommission;\r\n let volumeCost;\r\n let volumePrice;\r\n let nonVolumeUnitCost;\r\n let nonVolumeUnitPrice;\r\n let rollSize;\r\n let productsList = [];\r\n let productColorsList = [];\r\n let widthsList = [];\r\n // let collectionList = [];\r\n // let collectionProductsList = [];\r\n let rugIntlSizeList = [];\r\n let repeatLength = 0;\r\n let repeatWidth = 0;\r\n let repeatDsc = \"\";\r\n let productPatternMatch = \"\";\r\n let productType = this.getOrderLineCorrespondingProductType(\r\n orderLine.orderLineType.value\r\n );\r\n if (orderLine.product) {\r\n await api\r\n .fetch(\r\n `Product/GetProductWithOrderWithCustomerId/${orderLine.product.value}/${this.state.customerId}`\r\n ) // TODO: make new api to fetch only this property\r\n .then((response) => {\r\n productAllowCommission = response.data.allowCommission;\r\n volumeCost = _.round(response.data.volumeCost, 2).toFixed(2); // not saved on orderline, only used for volume calculations\r\n volumePrice = _.round(response.data.volumePrice, 2).toFixed(2);\r\n nonVolumeUnitCost = _.round(response.data.unitCost, 2).toFixed(2);\r\n nonVolumeUnitPrice = _.round(response.data.unitPrice, 2).toFixed(2);\r\n nonVolumeUnitCost = _.round(response.data.unitCost, 2).toFixed(2);\r\n nonVolumeUnitPrice = _.round(response.data.unitPrice, 2).toFixed(2);\r\n repeatLength = _.round(response.data.repeatLength, 2).toFixed(2);\r\n repeatWidth = _.round(response.data.repeatWidth, 2).toFixed(2);\r\n rollSize = response.data.rollSize;\r\n repeatDsc = response.data.repeat;\r\n productPatternMatch = response.data.repeat;\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n if (\r\n orderLine.orderLineType.value !==\r\n constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value\r\n ) {\r\n await api\r\n .fetch(`Order/GetProductsOfProductType/${productType}`)\r\n .then((response) => {\r\n productsList = response.data;\r\n });\r\n\r\n if (orderLine.product) {\r\n // some orderLines don't have a product apparently\r\n await api\r\n .fetch(`Product/GetProductWidths/${orderLine.product.value}`)\r\n .then((response) => {\r\n widthsList = _.map(response.data, (w) => {\r\n return {\r\n value: w.widthId,\r\n label: w.widthName,\r\n widthNumericFeet: w.widthNumericFeet,\r\n };\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n await api\r\n .fetch(`Order/GetActiveProductColors/${orderLine.product.value}`)\r\n .then((response) => {\r\n productColorsList = response.data;\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n this.setState({\r\n productsList: productsList,\r\n productColorsList: productColorsList ? productColorsList : null,\r\n orderLine: {\r\n ...orderLine,\r\n widthsList: widthsList ? widthsList : null,\r\n productAllowCommission: productAllowCommission,\r\n volumeCost: volumeCost,\r\n volumePrice: volumePrice,\r\n rollSize: rollSize,\r\n },\r\n nonVolumeUnitCost: nonVolumeUnitCost,\r\n nonVolumeUnitPrice: nonVolumeUnitPrice,\r\n productPatternMatch: productPatternMatch\r\n //widthsList: widthsList\r\n });\r\n } else {\r\n // await api.fetch(\"Order/GetRugIntlCollectionList\")\r\n // \t.then(response => {\r\n // \t\tcollectionList = response.data;\r\n // \t})\r\n // \t.catch(helpers.catchHandler);;\r\n\r\n // await api.fetch(`Order/GetActiveCollectionProducts/${orderLine.rugIntlCollection.value}`)\r\n // \t.then(response => {\r\n // \t\tcollectionProductsList = response.data;\r\n // \t})\r\n // \t.catch(helpers.catchHandler);\r\n\r\n await api\r\n .fetch(`Order/GetProductsOfProductType/${productType}`)\r\n .then((response) => {\r\n productsList = response.data;\r\n });\r\n\r\n await api\r\n .fetch(`Order/GetActiveProductColors/${orderLine.product.value}`)\r\n .then((response) => {\r\n productColorsList = response.data;\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n await api\r\n .fetch(`Product/GetRugIntlSizes/${orderLine.product.value}`)\r\n .then((response) => {\r\n rugIntlSizeList = _.map(response.data, (sz) => {\r\n return {\r\n value: sz.id,\r\n label: sz.dsc,\r\n cost: sz.cost,\r\n price: sz.price,\r\n };\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n productColorsList.unshift({ label: \"No color selected\", value: null });\r\n this.setState({\r\n // rugIntlCollectionList: collectionList,\r\n // collectionProductsList: collectionProductsList,\r\n productsList: productsList,\r\n productColorsList: productColorsList,\r\n rugIntlSizeList: rugIntlSizeList,\r\n orderLine: {\r\n ...orderLine,\r\n productAllowCommission: productAllowCommission,\r\n },\r\n });\r\n }\r\n }\r\n\r\n applyVolumePricingIfNecessary() {\r\n let unitCost = _.round(this.state.orderLine.unitCost, 2).toFixed(2);\r\n let unitPrice = _.round(this.state.orderLine.unitPrice, 2).toFixed(2);\r\n let volumePricingApplied = this.state.orderLine.volumePricingApplied;\r\n const lengthFeet = this.state.orderLine.lengthFeet\r\n ? _.round(this.state.orderLine.lengthFeet, 2).toFixed(2)\r\n : \"\";\r\n const squareFeetRequired = this.state.orderLine.squareFeetRequired\r\n ? _.round(this.state.orderLine.squareFeetRequired, 2).toFixed(2)\r\n : \"\";\r\n if (lengthFeet || squareFeetRequired) {\r\n // lengthFeet for carpets and rug pads. squareFeetRequired for Wood items\r\n let hasQualifyingVolume =\r\n Number(this.state.orderLine.rollSize) > 0 &&\r\n (Number(lengthFeet) > Number(this.state.orderLine.rollSize) ||\r\n Number(squareFeetRequired) > Number(this.state.orderLine.rollSize))\r\n ? true\r\n : false;\r\n if (hasQualifyingVolume) {\r\n if (window.confirm(\"Apply volume pricing?\")) {\r\n unitCost = _.round(this.state.orderLine.volumeCost, 2).toFixed(2);\r\n unitPrice = _.round(this.state.orderLine.volumePrice, 2).toFixed(2);\r\n volumePricingApplied = true;\r\n }\r\n } else {\r\n if (\r\n volumePricingApplied &&\r\n window.confirm(\"Apply non volume pricing?\")\r\n ) {\r\n unitCost = _.round(this.state.nonVolumeUnitCost, 2).toFixed(2);\r\n unitPrice = _.round(this.state.nonVolumeUnitPrice, 2).toFixed(2);\r\n volumePricingApplied = false;\r\n }\r\n }\r\n }\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n unitCost: unitCost,\r\n unitPrice: unitPrice,\r\n volumePricingApplied: volumePricingApplied,\r\n },\r\n },\r\n () => this.calculateFigures()\r\n );\r\n }\r\n\r\n async calculateFigures(isSaving = false) {\r\n const orderLine = this.state.orderLine;\r\n if (!orderLine.product) return;\r\n\r\n const orderLineType = orderLine.orderLineType.value;\r\n if (\r\n orderLineType === constants.ORDER_LINE_TYPE.CARPET.value ||\r\n orderLineType === constants.ORDER_LINE_TYPE.RUG_PAD.value\r\n ) {\r\n let updatedOrderLine = Object.assign({}, orderLine);\r\n updatedOrderLine.unitCost = _.round(orderLine.unitCost, 2).toFixed(2); // round entered value even if no calculations are made\r\n updatedOrderLine.unitPrice = _.round(orderLine.unitPrice, 2).toFixed(2); // round entered value even if no calculations are made\r\n updatedOrderLine.cmsnRate = _.round(orderLine.cmsnRate, 2).toFixed(2); // round entered value even if no calculations are made\r\n\r\n const lengthFeet = orderLine.lengthFeet\r\n ? _.round(orderLine.lengthFeet, 2).toFixed(2)\r\n : \"\";\r\n const widthNumericFeet =\r\n orderLine.width && orderLine.width.widthNumericFeet;\r\n let payload = {\r\n orderLineTypeId: orderLine.orderLineType.value,\r\n lengthFeet: lengthFeet ? Number(lengthFeet) : null,\r\n widthNumericFeet: Number(widthNumericFeet),\r\n qty: Number(orderLine.qty),\r\n unitCost: Number(updatedOrderLine.unitCost),\r\n unitPrice: Number(updatedOrderLine.unitPrice),\r\n cmsnRate: Number(_.round(orderLine.cmsnRate, 2).toFixed(2)),\r\n priceUnitTypeName: orderLine.priceUnitType\r\n ? orderLine.priceUnitType.label\r\n : \"\", // should send Id,\r\n };\r\n if (\r\n payload.widthNumericFeet &&\r\n (payload.lengthFeet || payload.qty) &&\r\n payload.unitCost &&\r\n payload.unitPrice\r\n ) {\r\n await api\r\n .post(\"Order/CalculateFigures\", payload)\r\n .then((response) => {\r\n updatedOrderLine.unitCost = _.round(\r\n response.data.unitCost,\r\n 2\r\n ).toFixed(2);\r\n updatedOrderLine.unitPrice = _.round(\r\n response.data.unitPrice,\r\n 2\r\n ).toFixed(2);\r\n updatedOrderLine.cmsnRate = _.round(\r\n response.data.cmsnRate,\r\n 2\r\n ).toFixed(2);\r\n updatedOrderLine.lengthFeet = lengthFeet;\r\n updatedOrderLine.widthNumericFeet = widthNumericFeet;\r\n updatedOrderLine.qty = _.round(response.data.qty, 2).toFixed(2);\r\n updatedOrderLine.cost = _.round(response.data.cost, 2).toFixed(2);\r\n updatedOrderLine.price = _.round(response.data.price, 2).toFixed(2);\r\n updatedOrderLine.cmsn = _.round(response.data.cmsn, 2).toFixed(2);\r\n })\r\n .catch(helpers.catchHandler);\r\n } else {\r\n updatedOrderLine.qty = \"\";\r\n updatedOrderLine.cost = \"\";\r\n updatedOrderLine.price = \"\";\r\n updatedOrderLine.cmsn = \"\";\r\n updatedOrderLine.dsc = \"\";\r\n }\r\n\r\n const productDsc = orderLine.product.label;\r\n const productColorDsc = orderLine.productColor\r\n ? orderLine.productColor.label\r\n : \"\";\r\n const widthDsc = orderLine.width ? orderLine.width.label : \"\";\r\n const lengthDsc =\r\n orderLine.lengthFeet || updatedOrderLine.qty || orderLine.qty;\r\n const qtyDsc = updatedOrderLine.qty || orderLine.qty;\r\n const priceUnitDsc = orderLine.priceUnitType\r\n ? orderLine.priceUnitType.label\r\n : \"\";\r\n\r\n // before was blank if api call didn't go through, now still displays dsc\r\n if (\r\n !isSaving &&\r\n orderLine.width &&\r\n (orderLine.lengthFeet || updatedOrderLine.qty || orderLine.qty)\r\n ) {\r\n updatedOrderLine.dsc = `${productDsc}, ${productColorDsc} (${widthDsc} X ${lengthDsc}) = ${qtyDsc} ${priceUnitDsc}`;\r\n }\r\n this.setState({\r\n orderLine: updatedOrderLine,\r\n });\r\n }\r\n if (\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.MISCELLANEOUS.value ||\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.SAMPLE.value ||\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value\r\n ) {\r\n let updatedOrderLine = Object.assign({}, this.state.orderLine);\r\n\r\n updatedOrderLine.cmsnRate = _.round(\r\n this.state.orderLine.cmsnRate,\r\n 2\r\n ).toFixed(2);\r\n if (\r\n !isSaving &&\r\n this.state.orderLine.qty &&\r\n this.state.orderLine.product\r\n ) {\r\n let dsc;\r\n if (\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.SAMPLE.value &&\r\n this.state.orderLine.productColor\r\n ) {\r\n dsc = `${this.state.orderLine.qty} X ${this.state.orderLine.product.label}, ${this.state.orderLine.productColor.label}`;\r\n } else {\r\n dsc = `${this.state.orderLine.qty} X ${this.state.orderLine.product.label}`;\r\n }\r\n updatedOrderLine.dsc = dsc;\r\n }\r\n if (\r\n this.state.orderLine.qty &&\r\n this.state.orderLine.unitCost &&\r\n this.state.orderLine.unitPrice &&\r\n this.state.orderLine.cmsnRate\r\n ) {\r\n const payload = {\r\n orderLineTypeId: this.state.orderLine.orderLineType.value,\r\n qty: Number(this.state.orderLine.qty),\r\n unitCost: Number(\r\n _.round(this.state.orderLine.unitCost, 2).toFixed(2)\r\n ),\r\n unitPrice: Number(\r\n _.round(this.state.orderLine.unitPrice, 2).toFixed(2)\r\n ),\r\n cmsnRate: Number(\r\n _.round(this.state.orderLine.cmsnRate, 2).toFixed(2)\r\n ),\r\n };\r\n await api\r\n .post(\"Order/CalculateFigures\", payload)\r\n .then((response) => {\r\n // if (response.data.success) {\r\n updatedOrderLine = {\r\n ...updatedOrderLine,\r\n cost: _.round(response.data.cost, 2).toFixed(2),\r\n price: _.round(response.data.price, 2).toFixed(2),\r\n cmsn: _.round(response.data.cmsn, 2).toFixed(2),\r\n };\r\n // }\r\n })\r\n .catch(helpers.catchHandler);\r\n } else {\r\n updatedOrderLine = {\r\n ...this.state.orderLine,\r\n cost: \"\",\r\n price: \"\",\r\n cmsn: \"\",\r\n dsc: \"\",\r\n };\r\n }\r\n this.setState({\r\n orderLine: updatedOrderLine,\r\n });\r\n }\r\n if (\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.BINDING.value ||\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.ROLL_RUNNER.value\r\n ) {\r\n let updatedOrderLine = Object.assign({}, this.state.orderLine);\r\n updatedOrderLine = {\r\n ...updatedOrderLine,\r\n unitCost: _.round(this.state.orderLine.unitCost, 2).toFixed(2), // round entered value even if no calculations are made\r\n unitPrice: _.round(this.state.orderLine.unitPrice, 2).toFixed(2), // round entered value even if no calculations are made\r\n cmsnRate: _.round(this.state.orderLine.cmsnRate, 2).toFixed(2), // round entered value even if no calculations are made\r\n };\r\n if (\r\n !isSaving &&\r\n this.state.orderLine.product &&\r\n this.state.orderLine.lengthFeet\r\n ) {\r\n updatedOrderLine = {\r\n ...updatedOrderLine,\r\n dsc: `${this.state.orderLine.product.label}, ${\r\n this.state.orderLine.productColor\r\n ? this.state.orderLine.productColor.label\r\n : \"\"\r\n } - ${this.state.orderLine.lengthFeet} Lin Ft`,\r\n };\r\n }\r\n if (\r\n this.state.orderLine.lengthFeet &&\r\n this.state.orderLine.unitCost &&\r\n this.state.orderLine.unitPrice &&\r\n this.state.orderLine.cmsnRate\r\n ) {\r\n const lengthFeet = this.state.orderLine.lengthFeet\r\n ? _.round(this.state.orderLine.lengthFeet, 2).toFixed(2)\r\n : \"\";\r\n const payload = {\r\n orderLineTypeId: this.state.orderLine.orderLineType.value,\r\n lengthFeet: lengthFeet ? Number(lengthFeet) : null,\r\n unitCost: Number(\r\n _.round(this.state.orderLine.unitCost, 2).toFixed(2)\r\n ),\r\n unitPrice: Number(\r\n _.round(this.state.orderLine.unitPrice, 2).toFixed(2)\r\n ),\r\n cmsnRate: Number(\r\n _.round(this.state.orderLine.cmsnRate, 2).toFixed(2)\r\n ),\r\n };\r\n await api\r\n .post(\"Order/CalculateFigures\", payload)\r\n .then((response) => {\r\n // if (response.data.success) {\r\n updatedOrderLine = {\r\n ...updatedOrderLine,\r\n lengthFeet: lengthFeet,\r\n qty: _.round(response.data.qty, 2).toFixed(2),\r\n cost: _.round(response.data.cost, 2).toFixed(2),\r\n price: _.round(response.data.price, 2).toFixed(2),\r\n cmsn: _.round(response.data.cmsn, 2).toFixed(2),\r\n };\r\n // }\r\n })\r\n .catch(helpers.catchHandler);\r\n } else {\r\n updatedOrderLine = {\r\n ...this.state.orderLine,\r\n qty: \"\",\r\n cost: \"\",\r\n price: \"\",\r\n cmsn: \"\",\r\n dsc: \"\",\r\n };\r\n }\r\n this.setState({\r\n orderLine: updatedOrderLine,\r\n });\r\n }\r\n if (\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.HARD_SURFACE.value ||\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.CARPET_TILE.value\r\n ) {\r\n let updatedOrderLine = Object.assign({}, this.state.orderLine);\r\n updatedOrderLine = {\r\n ...updatedOrderLine,\r\n unitCost: _.round(this.state.orderLine.unitCost, 2).toFixed(2), // round entered value even if no calculations are made\r\n unitPrice: _.round(this.state.orderLine.unitPrice, 2).toFixed(2), // round entered value even if no calculations are made\r\n cmsnRate: _.round(this.state.orderLine.cmsnRate, 2).toFixed(2), // round entered value even if no calculations are made\r\n };\r\n\r\n if (\r\n this.state.orderLine.squareFeetRequired &&\r\n this.state.orderLine.unitCost &&\r\n this.state.orderLine.unitPrice &&\r\n this.state.orderLine.cmsnRate &&\r\n this.state.orderLine.squareFeetPerCarton\r\n ) {\r\n const squareFeetRequired = _.round(\r\n this.state.orderLine.squareFeetRequired,\r\n 2\r\n ).toFixed(2);\r\n const payload = {\r\n orderLineTypeId: this.state.orderLine.orderLineType.value,\r\n squareFeetRequired: Number(squareFeetRequired),\r\n squareFeetPerCarton: Number(\r\n _.round(this.state.orderLine.squareFeetPerCarton, 2).toFixed(2)\r\n ),\r\n unitCost: Number(updatedOrderLine.unitCost),\r\n unitPrice: Number(updatedOrderLine.unitPrice),\r\n cmsnRate: Number(\r\n _.round(this.state.orderLine.cmsnRate, 2).toFixed(2)\r\n ),\r\n };\r\n await api\r\n .post(\"Order/CalculateFigures\", payload)\r\n .then((response) => {\r\n // if (response.data.success) {\r\n let dsc;\r\n let cartonOrCartonsString =\r\n response.data.cartonCount > 1 ? \"Cartons\" : \"Carton\";\r\n if (\r\n !isSaving &&\r\n this.state.orderLine.product &&\r\n this.state.orderLine.squareFeetRequired\r\n ) {\r\n dsc =\r\n `${this.state.orderLine.product.label}, ${\r\n this.state.orderLine.productColor\r\n ? this.state.orderLine.productColor.label\r\n : \"\"\r\n } ` +\r\n `${response.data.cartonCount} ${cartonOrCartonsString} ` +\r\n `(${_.round(response.data.qty, 2).toFixed(2)} ${\r\n this.state.orderLine.priceUnitType.label\r\n })`;\r\n }\r\n updatedOrderLine = {\r\n ...updatedOrderLine,\r\n squareFeetRequired: squareFeetRequired,\r\n cartonCount: response.data.cartonCount,\r\n qty: _.round(response.data.qty, 2).toFixed(2),\r\n cost: _.round(response.data.cost, 2).toFixed(2),\r\n price: _.round(response.data.price, 2).toFixed(2),\r\n cmsn: _.round(response.data.cmsn, 2).toFixed(2),\r\n dsc: dsc ? dsc : this.state.orderLine.dsc,\r\n };\r\n // }\r\n })\r\n .catch(helpers.catchHandler);\r\n } else {\r\n updatedOrderLine = {\r\n ...this.state.orderLine,\r\n cartonCount: \"\",\r\n qty: \"\",\r\n cost: \"\",\r\n price: \"\",\r\n cmsn: \"\",\r\n dsc: \"\",\r\n };\r\n }\r\n this.setState({\r\n orderLine: updatedOrderLine,\r\n });\r\n }\r\n if (\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value\r\n ) {\r\n let updatedOrderLine = Object.assign({}, this.state.orderLine);\r\n if (this.state.orderLine.rugIntlSize) {\r\n updatedOrderLine = {\r\n ...updatedOrderLine,\r\n unitCost: _.round(this.state.orderLine.unitCost, 2).toFixed(2),\r\n unitPrice: _.round(this.state.orderLine.unitPrice, 2).toFixed(2),\r\n cmsnRate: _.round(this.state.orderLine.cmsnRate, 2).toFixed(2),\r\n };\r\n }\r\n if (\r\n !isSaving &&\r\n this.state.orderLine.qty &&\r\n this.state.orderLine.product &&\r\n this.state.orderLine.rugIntlSize\r\n ) {\r\n let dsc;\r\n if (this.state.orderLine.productColor) {\r\n dsc = `${this.state.orderLine.qty} X ${this.state.orderLine.product.label}, ${this.state.orderLine.productColor.label} (${this.state.orderLine.rugIntlSize.label})`;\r\n } else {\r\n dsc = `${this.state.orderLine.qty} X ${this.state.orderLine.product.label} (${this.state.orderLine.rugIntlSize.label})`;\r\n }\r\n updatedOrderLine = {\r\n ...updatedOrderLine,\r\n dsc: dsc,\r\n };\r\n }\r\n if (\r\n this.state.orderLine.qty &&\r\n this.state.orderLine.unitCost &&\r\n this.state.orderLine.unitPrice &&\r\n this.state.orderLine.cmsnRate\r\n ) {\r\n const payload = {\r\n orderLineTypeId: this.state.orderLine.orderLineType.value,\r\n qty: Number(this.state.orderLine.qty),\r\n unitCost: Number(\r\n _.round(this.state.orderLine.unitCost, 2).toFixed(2)\r\n ),\r\n unitPrice: Number(\r\n _.round(this.state.orderLine.unitPrice, 2).toFixed(2)\r\n ),\r\n cmsnRate: Number(\r\n _.round(this.state.orderLine.cmsnRate, 2).toFixed(2)\r\n ),\r\n };\r\n await api\r\n .post(\"Order/CalculateFigures\", payload)\r\n .then((response) => {\r\n // if (response.data.success) {\r\n updatedOrderLine = {\r\n ...updatedOrderLine,\r\n cost: _.round(response.data.cost, 2).toFixed(2),\r\n price: _.round(response.data.price, 2).toFixed(2),\r\n cmsn: _.round(response.data.cmsn, 2).toFixed(2),\r\n };\r\n // }\r\n })\r\n .catch(helpers.catchHandler);\r\n } else {\r\n updatedOrderLine = {\r\n ...this.state.orderLine,\r\n cost: \"\",\r\n price: \"\",\r\n cmsn: \"\",\r\n dsc: \"\",\r\n };\r\n }\r\n this.setState({\r\n orderLine: updatedOrderLine,\r\n });\r\n }\r\n if (\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.CREDIT_CARD_SURCHARGE.value\r\n ) {\r\n const creditCardSurchargeRate = _.round(\r\n this.state.orderLine.creditCardSurchargeRate,\r\n 2\r\n ).toFixed(2);\r\n const payload = {\r\n orderLineTypeId: this.state.orderLine.orderLineType.value,\r\n creditCardSurchargeRate: Number(creditCardSurchargeRate),\r\n totalOrderCost: Number(this.state.totalOrderCost),\r\n totalWithoutCreditCardSurcharge: Number(\r\n this.state.totalWithoutCreditCardSurcharge\r\n ),\r\n };\r\n api\r\n .post(\"Order/CalculateFigures\", payload)\r\n .then((response) => {\r\n // if (response.data.success) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n orderLine: {\r\n ...prevState.orderLine,\r\n creditCardSurchargeRate: creditCardSurchargeRate,\r\n price: _.round(response.data.price, 2).toFixed(2),\r\n },\r\n }));\r\n // }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n if (\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.SALES_TAX.value\r\n ) {\r\n const taxRate = _.round(this.state.orderLine.taxRate, 2).toFixed(2);\r\n const payload = {\r\n orderLineTypeId: this.state.orderLine.orderLineType.value,\r\n taxRate: Number(taxRate),\r\n totalOrderCost: Number(this.state.totalOrderCost),\r\n sumOfTaxableItems: Number(this.state.sumOfTaxableItems),\r\n };\r\n api\r\n .post(\"Order/CalculateFigures\", payload)\r\n .then((response) => {\r\n // if (response.data.success) {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n orderLine: {\r\n ...prevState.orderLine,\r\n taxRate: taxRate,\r\n price: _.round(response.data.price, 2).toFixed(2),\r\n },\r\n }));\r\n // }\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n }\r\n\r\n setSelectedBillingAddress(option) {\r\n this.setState({\r\n order: {\r\n ...this.state.order,\r\n btAddressLine1: helpers.nullableString(option.ln1),\r\n btAddressLine2: helpers.nullableString(option.ln2),\r\n btAddressLine3: helpers.nullableString(option.ln3),\r\n btAddressLine4: helpers.nullableString(option.ln4),\r\n btCity: helpers.nullableString(option.city),\r\n btState: helpers.nullableString(option.state),\r\n btZip: helpers.nullableString(option.zip),\r\n },\r\n selectedBillingAddress: option,\r\n });\r\n }\r\n\r\n // rug component stuff\r\n toggleCutCharge() {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugHasCutCharge: !this.state.orderLine.rugHasCutCharge,\r\n },\r\n });\r\n }\r\n\r\n toggleArmor() {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugHasEndArmor: !this.state.orderLine.rugHasEndArmor,\r\n },\r\n });\r\n }\r\n\r\n toggleInboundFreight() {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugHasInboundFreight: !this.state.orderLine.rugHasInboundFreight,\r\n },\r\n });\r\n }\r\n\r\n toggleBacking() {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugHasBacking: !this.state.orderLine.rugHasBacking,\r\n },\r\n });\r\n }\r\n\r\n togglePad() {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugHasPad: !this.state.orderLine.rugHasPad,\r\n },\r\n },\r\n () => {\r\n this.setRugValidity();\r\n }\r\n );\r\n }\r\n\r\n toggleClippedCorners() {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugHasClippedCorners: !this.state.orderLine.rugHasClippedCorners,\r\n },\r\n });\r\n }\r\n\r\n toggleLaborCutout() {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugHasLaborCutout: !this.state.orderLine.rugHasLaborCutout,\r\n },\r\n });\r\n }\r\n\r\n toggleLaborRound() {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugHasLaborRound: !this.state.orderLine.rugHasLaborRound,\r\n },\r\n });\r\n }\r\n\r\n toggleEdgeOptions() {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n edgeOptionsOpen: !this.state.orderLine.edgeOptionsOpen,\r\n },\r\n });\r\n }\r\n\r\n setRugEdge(rugEdgeName) {\r\n // refreshRugDescription\r\n let edgeSuffix;\r\n if (rugEdgeName === EDGE_TYPES.MITERED) {\r\n edgeSuffix = \"Serged to Match Background\";\r\n } else {\r\n edgeSuffix = \"Serged\";\r\n }\r\n let rugDescription =\r\n this.state.orderLine.rugWidthFeet +\r\n \"' \" +\r\n this.state.orderLine.rugWidthInches +\r\n '\" x ' +\r\n this.state.orderLine.rugLengthFeet +\r\n \"' \" +\r\n this.state.orderLine.rugLengthInches +\r\n '\" Custom Rug-' +\r\n edgeSuffix;\r\n this.setState(\r\n {\r\n selectedRugEdge: rugEdgeName,\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugDsc: rugDescription, // Doesn't work\r\n },\r\n },\r\n () => {\r\n this.setRugValidity();\r\n }\r\n );\r\n }\r\n\r\n // Set rug properties\r\n async initializeRugOrder() {\r\n await this.rugSizeChange();\r\n await this.setSelectedPad(this.state.orderLine.selectedPad); // Already set to default pad\r\n const selectedSerging = this.state.sergingList[0];\r\n const selectedMSerging = this.state.mSergingList[0];\r\n const selectedHSSerging = this.state.hsSergingList[0];\r\n this.sergingSelected(selectedSerging);\r\n this.mSergingSelected(selectedMSerging);\r\n this.hsSergingSelected(selectedHSSerging);\r\n }\r\n\r\n async sergingSelected(selection) {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n selectedSerging: selection,\r\n sergingCostPer: _.round(selection.unitCost, 2).toFixed(2),\r\n sergingPricePer: _.round(selection.unitPrice, 2).toFixed(2),\r\n },\r\n },\r\n () => {\r\n this.updateSergingTotals();\r\n }\r\n );\r\n }\r\n\r\n async updateSergingTotals() {\r\n const totalSergingPrice =\r\n this.state.orderLine.sergingPricePer *\r\n this.state.orderLine.finishedEdgeFt;\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n sergingCostPer: _.round(this.state.orderLine.sergingCostPer, 2).toFixed(\r\n 2\r\n ),\r\n sergingPricePer: _.round(\r\n this.state.orderLine.sergingPricePer,\r\n 2\r\n ).toFixed(2),\r\n sergingCmsnRate: _.round(\r\n this.state.orderLine.sergingCmsnRate,\r\n 2\r\n ).toFixed(2),\r\n totalSergingPrice: _.round(totalSergingPrice, 2).toFixed(2),\r\n totalSergingCost: _.round(\r\n this.state.orderLine.sergingCostPer *\r\n this.state.orderLine.finishedEdgeFt,\r\n 2\r\n ).toFixed(2),\r\n sergingCmsn: _.round(\r\n (this.state.orderLine.sergingCmsnRate / 100.0) * totalSergingPrice,\r\n 2\r\n ).toFixed(2),\r\n },\r\n });\r\n }\r\n\r\n async mSergingSelected(selection) {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n selectedMSerging: selection,\r\n mSergingCostPer: _.round(selection.unitCost, 2).toFixed(2),\r\n mSergingPricePer: _.round(selection.unitPrice, 2).toFixed(2),\r\n },\r\n },\r\n () => {\r\n this.updateMSergingTotals();\r\n }\r\n );\r\n }\r\n\r\n async updateMSergingTotals() {\r\n const totalMSergingPrice =\r\n this.state.orderLine.mSergingPricePer *\r\n this.state.orderLine.finishedEdgeFt;\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n mSergingCostPer: _.round(\r\n this.state.orderLine.mSergingCostPer,\r\n 2\r\n ).toFixed(2),\r\n mSergingPricePer: _.round(\r\n this.state.orderLine.mSergingPricePer,\r\n 2\r\n ).toFixed(2),\r\n mSergingCmsnRate: _.round(\r\n this.state.orderLine.mSergingCmsnRate,\r\n 2\r\n ).toFixed(2),\r\n totalMSergingPrice: _.round(totalMSergingPrice, 2).toFixed(2),\r\n totalMSergingCost: _.round(\r\n this.state.orderLine.mSergingCostPer *\r\n this.state.orderLine.finishedEdgeFt,\r\n 2\r\n ).toFixed(2),\r\n mSergingCmsn: _.round(\r\n (this.state.orderLine.mSergingCmsnRate / 100.0) * totalMSergingPrice,\r\n 2\r\n ).toFixed(2),\r\n },\r\n });\r\n }\r\n\r\n async hsSergingSelected(selection) {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n selectedHSSerging: selection,\r\n hsSergingCostPer: _.round(selection.unitCost, 2).toFixed(2),\r\n hsSergingPricePer: _.round(selection.unitPrice, 2).toFixed(2),\r\n },\r\n },\r\n () => {\r\n this.updateHSSergingTotals();\r\n }\r\n );\r\n }\r\n\r\n updateHSSergingTotals() {\r\n const totalHSSergingPrice =\r\n this.state.orderLine.hsSergingPricePer *\r\n this.state.orderLine.finishedEdgeFt;\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n hsSergingCostPer: _.round(\r\n this.state.orderLine.hsSergingCostPer,\r\n 2\r\n ).toFixed(2),\r\n hsSergingPricePer: _.round(\r\n this.state.orderLine.hsSergingPricePer,\r\n 2\r\n ).toFixed(2),\r\n hsSergingCmsnRate: _.round(\r\n this.state.orderLine.hsSergingCmsnRate,\r\n 2\r\n ).toFixed(2),\r\n totalHSSergingPrice: _.round(totalHSSergingPrice, 2).toFixed(2),\r\n totalHSSergingCost: _.round(\r\n this.state.orderLine.hsSergingCostPer *\r\n this.state.orderLine.finishedEdgeFt,\r\n 2\r\n ).toFixed(2),\r\n hsSergingCmsn: _.round(\r\n (this.state.orderLine.hsSergingCmsnRate / 100.0) *\r\n totalHSSergingPrice,\r\n 2\r\n ).toFixed(2),\r\n },\r\n });\r\n }\r\n\r\n refreshRugDescription() {\r\n let edgeSuffix;\r\n if (this.state.selectedRugEdge === EDGE_TYPES.MITERED) {\r\n edgeSuffix = \"Serged to Match Background\";\r\n } else {\r\n edgeSuffix = \"Serged\";\r\n }\r\n const rugDsc =\r\n this.state.orderLine.rugWidthFeet +\r\n \"' \" +\r\n this.state.orderLine.rugWidthInches +\r\n '\" x ' +\r\n this.state.orderLine.rugLengthFeet +\r\n \"' \" +\r\n this.state.orderLine.rugLengthInches +\r\n '\" Custom Rug-' +\r\n edgeSuffix;\r\n return rugDsc;\r\n }\r\n\r\n calculateFieldDsc() {\r\n let dsc;\r\n if (this.state.orderLine.selectedField) {\r\n dsc = calc.getFieldDescription(\r\n this.state.orderLine.selectedField.label,\r\n this.state.orderLine.selectedFieldColor\r\n ); // ${this.state.orderLine.totalFieldUnits ? this.state.orderLine.totalFieldUnits : ''} ${this.state.orderLine.fieldPriceUnitType ? this.state.orderLine.fieldPriceUnitType.label : ''}\r\n }\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n dsc: dsc,\r\n },\r\n },\r\n () => this.setRugValidity()\r\n );\r\n }\r\n\r\n setFinishedRugSize(option) {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n finishedSize: option,\r\n rugWidthFeet: option.rugWidthFeet,\r\n rugWidthInches: option.rugWidthInches,\r\n rugLengthFeet: option.rugLengthFeet,\r\n rugLengthInches: option.rugLengthInches,\r\n },\r\n },\r\n () => this.rugSizeChange()\r\n );\r\n }\r\n\r\n renderWorkorderForm(lineId) {\r\n if (!this.state.orderId) {\r\n console.warn(\"orderId is empty\");\r\n return;\r\n }\r\n this.setState({ printing: true }, () => {\r\n const pdfWindow = window.open();\r\n api\r\n .post_get_blob(\r\n `order/GetRugWorkOrderPDF/${this.state.orderId}/${lineId}`,\r\n {}\r\n )\r\n .then((r) => {\r\n if (r.status !== 200) {\r\n throw new Error(\"Error rendering document\");\r\n }\r\n const file = new Blob([r.data], { type: \"application/pdf\" });\r\n const fileURL = URL.createObjectURL(file);\r\n pdfWindow.location.href = fileURL;\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n Alert.error(\"There was an error downloading the document\");\r\n pdfWindow.close();\r\n })\r\n .finally(() => this.setState({ printing: false }));\r\n });\r\n }\r\n\r\n async rugSizeChange() {\r\n let rugDsc = this.refreshRugDescription();\r\n let { sqFt, finishedEdgeFt } = calc.calculateSqFeetAndFinEdgeFt(\r\n this.state.orderLine.rugLengthFeet,\r\n this.state.orderLine.rugLengthInches,\r\n this.state.orderLine.rugWidthFeet,\r\n this.state.orderLine.rugWidthInches\r\n );\r\n let {\r\n totalRugBackingPrice,\r\n totalRugBackingCost,\r\n rugBackingCmsn,\r\n totalSergingPrice,\r\n totalSergingCost,\r\n sergingCmsn,\r\n totalMSergingPrice,\r\n totalMSergingCost,\r\n mSergingCmsn,\r\n totalHSSergingPrice,\r\n totalHSSergingCost,\r\n hsSergingCmsn,\r\n } = calc.calculateRugExtraCosts(this.state.orderLine, sqFt, finishedEdgeFt);\r\n await this.setFieldDefaultSize();\r\n await this.defaultPadRequired();\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n sqFt: sqFt,\r\n rugDsc: rugDsc,\r\n finishedEdgeFt: finishedEdgeFt,\r\n totalRugBackingUnits: sqFt,\r\n totalRugBackingPrice: _.round(totalRugBackingPrice, 2).toFixed(2),\r\n totalRugBackingCost: _.round(totalRugBackingCost, 2).toFixed(2),\r\n rugBackingCmsn: _.round(rugBackingCmsn, 2).toFixed(2),\r\n totalSergingPrice: _.round(totalSergingPrice, 2).toFixed(2),\r\n totalSergingCost: _.round(totalSergingCost, 2).toFixed(2),\r\n sergingCmsn: _.round(sergingCmsn, 2).toFixed(2),\r\n totalMSergingPrice: _.round(totalMSergingPrice, 2).toFixed(2),\r\n totalMSergingCost: _.round(totalMSergingCost, 2).toFixed(2),\r\n mSergingCmsn: _.round(mSergingCmsn, 2).toFixed(2),\r\n totalHSSergingPrice: _.round(totalHSSergingPrice, 2).toFixed(2),\r\n totalHSSergingCost: _.round(totalHSSergingCost, 2).toFixed(2),\r\n hsSergingCmsn: _.round(hsSergingCmsn, 2).toFixed(2),\r\n },\r\n });\r\n }\r\n\r\n async setSelectedField(option) {\r\n await api\r\n .fetch(`Order/GetActiveProductColors/${option.value}`)\r\n .then((response) => {\r\n this.setState({\r\n productColorsList: response.data,\r\n orderLine: {\r\n ...this.state.orderLine,\r\n selectedFieldColor:\r\n response.data.length > 0 ? response.data[0] : null,\r\n },\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n await api\r\n .fetch(`Product/GetProductWidths/${option.value}`)\r\n .then((response) => {\r\n const widths = _.map(response.data, (w) => {\r\n return {\r\n value: w.widthId,\r\n label: w.widthName,\r\n widthNumericFeet: w.widthNumericFeet,\r\n };\r\n });\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n widthsList: widths,\r\n selectedFieldWidth: widths.length > 0 ? widths[0] : null,\r\n //width: widths.length > 0 ? widths[0] : null\r\n },\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n await api\r\n .fetch(\r\n `Product/GetProductWithOrderWithCustomerId/${option.value}/${this.state.customerId}`\r\n )\r\n .then((response) => {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n selectedField: option,\r\n fieldCostPer: _.round(response.data.unitCost, 2).toFixed(2),\r\n fieldPricePer: _.round(response.data.unitPrice, 2).toFixed(2),\r\n fieldRepeatWidth: _.round(response.data.repeatWidth, 3).toFixed(\r\n 3\r\n ),\r\n fieldRepeatLength: _.round(response.data.repeatLength, 3).toFixed(\r\n 3\r\n ),\r\n fieldPriceUnitType: helpers.resolveValue(\r\n null,\r\n response.data.priceUnitTypeId,\r\n response.data.priceUnitTypeName\r\n ),\r\n repeatDsc:\r\n _.round(response.data.repeatWidth, 3).toFixed(3) +\r\n \" x \" +\r\n _.round(response.data.repeatLength, 3).toFixed(3),\r\n fieldRun: response.data.run,\r\n productAllowCommission: response.data.allowCommission,\r\n },\r\n },\r\n this.setFieldDefaultSize\r\n );\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n async setFieldDefaultSize() {\r\n let orderLine = Object.assign({}, this.state.orderLine);\r\n const { selectedField, fieldRepeatLength, fieldRepeatWidth } = orderLine;\r\n if (orderLine && orderLine.selectedField) {\r\n const payload = {\r\n CustomWidth: Number(\r\n parseFloat(orderLine.rugWidthFeet) +\r\n parseFloat(orderLine.rugWidthInches / 12.0)\r\n ),\r\n CustomLength: Number(\r\n parseFloat(orderLine.rugLengthFeet) +\r\n parseFloat(orderLine.rugLengthInches / 12.0)\r\n ),\r\n ProductId: Number(orderLine.selectedField.value),\r\n };\r\n let resp = await calc.getDefaultFieldSize(\r\n payload,\r\n selectedField,\r\n fieldRepeatLength,\r\n fieldRepeatWidth\r\n );\r\n this.applyDefaultSizes(resp);\r\n }\r\n }\r\n\r\n applyDefaultSizes(results) {\r\n const {\r\n appliedFieldRepeat,\r\n fieldLengthFeet,\r\n fieldLengthInches,\r\n widthFeetName,\r\n } = results;\r\n var width = _.find(this.state.orderLine.widthsList, (w) => {\r\n return w.label === widthFeetName;\r\n });\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n appliedFieldRepeat: appliedFieldRepeat,\r\n fieldLengthFeet: fieldLengthFeet,\r\n fieldLengthInches: fieldLengthInches ? fieldLengthInches : 0,\r\n selectedFieldWidth: width,\r\n },\r\n },\r\n this.fieldSizeChange\r\n );\r\n }\r\n\r\n fieldSizeChange() {\r\n let totalFieldUnits;\r\n if (this.state.orderLine && this.state.orderLine.selectedFieldWidth) {\r\n totalFieldUnits = calc.calculateFieldUnits(\r\n this.state.orderLine.selectedFieldWidth.widthNumericFeet,\r\n this.state.orderLine.fieldLengthFeet,\r\n this.state.orderLine.fieldLengthInches,\r\n this.state.orderLine.fieldPriceUnitType &&\r\n this.state.orderLine.fieldPriceUnitType.label\r\n );\r\n }\r\n if (totalFieldUnits) {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n totalFieldUnits: totalFieldUnits,\r\n },\r\n },\r\n this.updateFieldTotals\r\n );\r\n }\r\n }\r\n\r\n updateFieldTotals() {\r\n let totalFieldPrice =\r\n this.state.orderLine.fieldPricePer * this.state.orderLine.totalFieldUnits;\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n fieldCostPer: _.round(this.state.orderLine.fieldCostPer, 2).toFixed(\r\n 2\r\n ),\r\n fieldPricePer: _.round(this.state.orderLine.fieldPricePer, 2).toFixed(\r\n 2\r\n ),\r\n fieldCmsnRate: _.round(this.state.orderLine.fieldCmsnRate, 2).toFixed(\r\n 2\r\n ),\r\n totalFieldPrice: _.round(totalFieldPrice, 2).toFixed(2),\r\n totalFieldCost: _.round(\r\n this.state.orderLine.fieldCostPer *\r\n this.state.orderLine.totalFieldUnits,\r\n 2\r\n ).toFixed(2),\r\n fieldCmsn: _.round(\r\n (this.state.orderLine.fieldCmsnRate / 100.0) * totalFieldPrice,\r\n 2\r\n ).toFixed(2),\r\n },\r\n },\r\n this.calculateFieldDsc\r\n );\r\n }\r\n\r\n async updateRugBackingTotals() {\r\n let totalRugBackingPrice =\r\n this.state.orderLine.rugBackingPricePer *\r\n this.state.orderLine.totalRugBackingUnits;\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugBackingCostPer: _.round(\r\n this.state.orderLine.rugBackingCostPer,\r\n 2\r\n ).toFixed(2),\r\n rugBackingPricePer: _.round(\r\n this.state.orderLine.rugBackingPricePer,\r\n 2\r\n ).toFixed(2),\r\n rugBackingCmsnRate: _.round(\r\n this.state.orderLine.rugBackingCmsnRate,\r\n 2\r\n ).toFixed(2),\r\n totalRugBackingPrice: _.round(totalRugBackingPrice, 2).toFixed(2),\r\n totalRugBackingCost: _.round(\r\n this.state.orderLine.rugBackingCostPer *\r\n this.state.orderLine.totalRugBackingUnits,\r\n 2\r\n ).toFixed(2),\r\n rugBackingCmsn: _.round(\r\n (this.state.orderLine.rugBackingCmsnRate / 100.0) *\r\n totalRugBackingPrice,\r\n 2\r\n ).toFixed(2),\r\n },\r\n });\r\n }\r\n\r\n setSelectedPad(option) {\r\n api\r\n .fetch(`Product/GetProductWidths/${option.value}`)\r\n .then((response) => {\r\n const widths = _.map(response.data, (w) => {\r\n return {\r\n value: w.widthId,\r\n label: w.widthName,\r\n widthNumericFeet: w.widthNumericFeet,\r\n };\r\n });\r\n this.setState({\r\n padWidthList: widths,\r\n orderLine: {\r\n ...this.state.orderLine,\r\n selectedPadWidth: widths.length > 0 ? widths[0] : null,\r\n },\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n api\r\n .fetch(\r\n `Product/GetProductWithOrderWithCustomerId/${option.value}/${this.state.customerId}`\r\n )\r\n .then((response) => {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n selectedPad: option,\r\n padCostPer: _.round(response.data.unitCost, 2).toFixed(2),\r\n padPricePer: _.round(response.data.unitPrice, 2).toFixed(2),\r\n padPriceUnitType: helpers.resolveValue(\r\n null,\r\n response.data.priceUnitTypeId,\r\n response.data.priceUnitTypeName\r\n ),\r\n },\r\n },\r\n () => {\r\n this.defaultPadRequired();\r\n }\r\n );\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n async defaultPadRequired() {\r\n // default pad length to meet sq ft requirements\r\n let padLengthFeet = \"0\";\r\n if (this.state.orderLine.selectedPadWidth) {\r\n let dimA =\r\n this.state.orderLine.rugWidthInches / 12.0 +\r\n parseFloat(this.state.orderLine.rugWidthFeet.toString());\r\n let dimB =\r\n this.state.orderLine.rugLengthInches / 12.0 +\r\n parseFloat(this.state.orderLine.rugLengthFeet.toString());\r\n let longer = dimA > dimB ? dimA : dimB;\r\n let shorter = dimA > dimB ? dimB : dimA;\r\n // let minLen = this.sqFt / this.selectedPadWidth.widthNumericFeet;\r\n if (longer <= this.state.orderLine.selectedPadWidth.widthNumericFeet) {\r\n padLengthFeet = Math.ceil(shorter);\r\n } else {\r\n padLengthFeet = Math.ceil(longer);\r\n }\r\n }\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n padLengthFeet: padLengthFeet,\r\n },\r\n },\r\n () => this.padSizeChange()\r\n );\r\n }\r\n\r\n padSizeChange() {\r\n let totalPadUnits;\r\n let message;\r\n let messageFlavor;\r\n if (\r\n !this.state.orderLine.selectedPadWidth ||\r\n !this.state.orderLine.padLengthFeet\r\n )\r\n return;\r\n let lngth = parseFloat(this.state.orderLine.padLengthFeet.toString());\r\n if (isNaN(lngth)) return;\r\n let widthNumericFeet = parseFloat(\r\n this.state.orderLine.selectedPadWidth.widthNumericFeet.toString()\r\n );\r\n if (this.state.orderLine.padPriceUnitType.label === \"Sq Yds\") {\r\n let sqYds = ((widthNumericFeet / 3.0) * lngth) / 3.0;\r\n if (isNaN(sqYds)) return;\r\n totalPadUnits = sqYds;\r\n } else if (this.state.orderLine.padPriceUnitType.label === \"Sq Ft\") {\r\n totalPadUnits = widthNumericFeet * lngth;\r\n } else {\r\n totalPadUnits = 0.0;\r\n message =\r\n \"Cannot calculate required material for this pad's price unit: \" +\r\n this.state.orderLine.padPriceUnitType.label +\r\n \". Unknown Price Units\";\r\n messageFlavor = \"danger\";\r\n }\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n totalPadUnits: _.round(totalPadUnits, 2).toFixed(2),\r\n },\r\n message: message,\r\n messageFlavor: messageFlavor,\r\n },\r\n () => this.updatePadTotals()\r\n );\r\n }\r\n\r\n updatePadTotals() {\r\n let totalPadPrice =\r\n this.state.orderLine.padPricePer * this.state.orderLine.totalPadUnits;\r\n let padCutCost;\r\n let padCutPrice;\r\n\r\n if (\r\n (parseFloat(this.state.orderLine.totalPadUnits) <= 30 &&\r\n this.state.orderLine.padPriceUnitType.value ==\r\n constants.PRICE_UNIT_TYPE.SQ_FT.value) ||\r\n (parseFloat(this.state.orderLine.totalPadUnits) <= 30 / 9 &&\r\n this.state.orderLine.padPriceUnitType.value ==\r\n constants.PRICE_UNIT_TYPE.SQ_YARDS.value)\r\n ) {\r\n padCutCost =\r\n this.state.customRugComponentProducts.Under30SFPadCutChargeProduct\r\n .unitCost;\r\n padCutPrice =\r\n this.state.customRugComponentProducts.Under30SFPadCutChargeProduct\r\n .unitPrice;\r\n } else {\r\n padCutCost =\r\n this.state.customRugComponentProducts.DefaultPadCutChargeProduct\r\n .unitCost;\r\n padCutPrice =\r\n this.state.customRugComponentProducts.DefaultPadCutChargeProduct\r\n .unitPrice;\r\n }\r\n\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n padCostPer: _.round(this.state.orderLine.padCostPer, 2).toFixed(2),\r\n padPricePer: _.round(this.state.orderLine.padPricePer, 2).toFixed(2),\r\n padCmsnRate: _.round(this.state.orderLine.padCmsnRate, 2).toFixed(2),\r\n totalPadPrice: _.round(totalPadPrice, 2).toFixed(2),\r\n totalPadCost: _.round(\r\n this.state.orderLine.padCostPer *\r\n this.state.orderLine.totalPadUnits,\r\n 2\r\n ).toFixed(2),\r\n padCmsn: _.round(\r\n (this.state.orderLine.padCmsnRate / 100.0) * totalPadPrice,\r\n 2\r\n ).toFixed(2),\r\n padCutCost: _.round(padCutCost, 2).toFixed(2),\r\n padCutPrice: _.round(padCutPrice, 2).toFixed(2),\r\n },\r\n },\r\n () => {\r\n this.setRugValidity();\r\n }\r\n );\r\n }\r\n\r\n setSelectedInboundFreight(option) {\r\n api\r\n .fetch(\r\n `Product/GetProductWithOrderWithCustomerId/${option.value}/${this.state.customerId}`\r\n )\r\n .then((response) => {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n selectedInboundFreight: option,\r\n rugInboundFreightCost: _.round(response.data.unitCost, 2).toFixed(\r\n 2\r\n ),\r\n rugInboundFreightPrice: _.round(response.data.unitPrice, 2).toFixed(\r\n 2\r\n ),\r\n },\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n // rugBindingStyleSelected in original app\r\n setSelectedRugBindingStyle(option) {\r\n api\r\n .fetch(`Order/GetActiveProductColors/${option.value}`)\r\n .then((response) => {\r\n this.setState({\r\n rugBindingColorList: response.data,\r\n orderLine: {\r\n ...this.state.orderLine,\r\n selectedRugBindingColor:\r\n response.data.length > 0 ? response.data[0] : null,\r\n },\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n api\r\n .fetch(\r\n `Product/GetProductWithOrderWithCustomerId/${option.value}/${this.state.customerId}`\r\n )\r\n .then((response) => {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n selectedRugBindingStyle: option,\r\n rugBindingCostPer: _.round(response.data.unitCost, 2).toFixed(2),\r\n rugBindingPricePer: _.round(response.data.unitPrice, 2).toFixed(\r\n 2\r\n ),\r\n },\r\n },\r\n () => {\r\n this.updateRugBindingTotals();\r\n }\r\n );\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n updateRugBindingTotals() {\r\n let totalRugBindingPrice =\r\n this.state.orderLine.rugBindingPricePer *\r\n this.state.orderLine.finishedEdgeFt;\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugBindingCostPer: _.round(\r\n this.state.orderLine.rugBindingCostPer,\r\n 2\r\n ).toFixed(2),\r\n rugBindingPricePer: _.round(\r\n this.state.orderLine.rugBindingPricePer,\r\n 2\r\n ).toFixed(2),\r\n rugBindingCmsnRate: _.round(\r\n this.state.orderLine.rugBindingCmsnRate,\r\n 2\r\n ).toFixed(2),\r\n totalRugBindingPrice: _.round(totalRugBindingPrice, 2).toFixed(2),\r\n totalRugBindingCost: _.round(\r\n this.state.orderLine.rugBindingCostPer *\r\n this.state.orderLine.finishedEdgeFt,\r\n 2\r\n ).toFixed(2),\r\n rugBindingCmsn: _.round(\r\n (this.state.orderLine.rugBindingCmsnRate / 100.0) *\r\n totalRugBindingPrice,\r\n 2\r\n ).toFixed(2),\r\n },\r\n },\r\n () => {\r\n this.setRugValidity();\r\n }\r\n );\r\n }\r\n\r\n handleRugOrderLineStateChange(elementName, value) {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n [elementName]: value,\r\n },\r\n });\r\n }\r\n\r\n handleRugFormSelectChange(elementName, selection) {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n [elementName]: selection,\r\n },\r\n },\r\n () => {\r\n if (elementName === \"selectedFieldColor\") {\r\n this.calculateFieldDsc();\r\n }\r\n if (elementName === \"selectedBorderColor\") {\r\n this.calculateBorderDsc();\r\n }\r\n }\r\n );\r\n }\r\n\r\n handleFieldWidthSelectChange(elementName, selection) {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n [elementName]: selection,\r\n },\r\n },\r\n () => {\r\n this.fieldSizeChange();\r\n }\r\n );\r\n }\r\n\r\n handlePadWidthSelectChange(elementName, selection) {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n [elementName]: selection,\r\n },\r\n },\r\n () => {\r\n this.defaultPadRequired();\r\n }\r\n );\r\n }\r\n\r\n onHasPadCutChargeChange() {\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n hasPadCutCharge: !this.state.orderLine.hasPadCutCharge,\r\n },\r\n });\r\n }\r\n\r\n async setSelectedBorder(option) {\r\n await api\r\n .fetch(`Order/GetActiveProductColors/${option.value}`)\r\n .then((response) => {\r\n this.setState({\r\n borderColorList: response.data,\r\n orderLine: {\r\n ...this.state.orderLine,\r\n selectedBorderColor:\r\n response.data.length > 0 ? response.data[0] : null,\r\n },\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n await api\r\n .fetch(`Product/GetProductWidths/${option.value}`)\r\n .then((response) => {\r\n const widths = _.map(response.data, (w) => {\r\n return {\r\n value: w.widthId,\r\n label: w.widthName,\r\n widthNumericFeet: w.widthNumericFeet,\r\n };\r\n });\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n widthsList: widths,\r\n selectedBorderWidth: widths.length > 0 ? widths[0] : null,\r\n },\r\n });\r\n })\r\n .catch(helpers.catchHandler);\r\n\r\n await api\r\n .fetch(\r\n `Product/GetProductWithOrderWithCustomerId/${option.value}/${this.state.customerId}`\r\n )\r\n .then((response) => {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n selectedBorder: option,\r\n borderCostPer: _.round(response.data.unitCost, 2).toFixed(2),\r\n borderPricePer: _.round(response.data.unitPrice, 2).toFixed(2),\r\n // borderRepeatWidth: _.round(response.data.repeatWidth, 3).toFixed(3),\r\n // borderRepeatLength: _.round(response.data.repeatLength, 3).toFixed(3),\r\n borderPriceUnitType: helpers.resolveValue(\r\n null,\r\n response.data.priceUnitTypeId,\r\n response.data.priceUnitTypeName\r\n ),\r\n // repeatDsc: _.round(response.data.repeatWidth, 3).toFixed(3) + ' x ' + _.round(response.data.repeatLength, 3).toFixed(3),\r\n // fieldRun: response.data.run,\r\n productAllowCommission: response.data.allowCommission,\r\n },\r\n },\r\n () => {\r\n this.borderSizeChange();\r\n }\r\n );\r\n })\r\n .catch(helpers.catchHandler);\r\n }\r\n\r\n calculateBorderDsc() {\r\n let dsc;\r\n if (this.state.orderLine.selectedBorder) {\r\n // dsc = `Field (A): ${this.state.orderLine.totalFieldUnits ? this.state.orderLine.totalFieldUnits : ''} ${this.state.orderLine.fieldPriceUnitType ? this.state.orderLine.fieldPriceUnitType.label : ''} ${this.state.orderLine.selectedField ? this.state.orderLine.selectedField.label : ''} ${this.state.orderLine.selectedFieldColor ? this.state.orderLine.selectedFieldColor.label : ''}`\r\n dsc = `${\r\n this.state.orderLine.borderLetter\r\n ? this.state.orderLine.borderLetter + \":\"\r\n : \"\"\r\n } ${\r\n this.state.orderLine.selectedBorder\r\n ? this.state.orderLine.selectedBorder.label\r\n : \"\"\r\n } ${\r\n this.state.orderLine.selectedBorderColor\r\n ? \", \" + this.state.orderLine.selectedBorderColor.label\r\n : \"\"\r\n }`;\r\n }\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n dsc: dsc,\r\n },\r\n },\r\n () => this.setRugValidity()\r\n );\r\n }\r\n\r\n handleBorderWidthSelectChange(elementName, selection) {\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n [elementName]: selection,\r\n },\r\n },\r\n () => {\r\n this.borderSizeChange();\r\n }\r\n );\r\n }\r\n\r\n borderSizeChange() {\r\n let totalBorderUnits;\r\n if (this.state.orderLine && this.state.orderLine.selectedBorderWidth) {\r\n let lngth = 0;\r\n if (\r\n (this.state.orderLine.borderLengthFeet !== \"\" ||\r\n this.state.orderLine.borderLengthFeet !== null) &&\r\n (this.state.orderLine.borderLengthInches !== \"\" ||\r\n this.state.orderLine.borderLengthInches !== null)\r\n ) {\r\n lngth =\r\n parseFloat(this.state.orderLine.borderLengthFeet.toString()) +\r\n parseFloat(this.state.orderLine.borderLengthInches.toString()) / 12.0;\r\n }\r\n if (lngth === 0) {\r\n this.calculateBorderDsc();\r\n }\r\n let widthNumericFeet = 0;\r\n //if (this.state.orderLine && this.state.orderLine.selectedBorderWidth) {\r\n widthNumericFeet =\r\n this.state.orderLine.selectedBorderWidth.widthNumericFeet;\r\n //}\r\n if (\r\n this.state.orderLine.borderPriceUnitType &&\r\n this.state.orderLine.borderPriceUnitType.label === \"Sq Yds\"\r\n ) {\r\n let sqYds = ((widthNumericFeet / 3.0) * lngth) / 3.0;\r\n if (isNaN(sqYds)) {\r\n this.calculateBorderDsc();\r\n }\r\n totalBorderUnits = sqYds;\r\n } else if (\r\n this.state.orderLine.borderPriceUnitType &&\r\n this.state.orderLine.borderPriceUnitType.label === \"Sq Ft\"\r\n ) {\r\n totalBorderUnits = widthNumericFeet * lngth;\r\n } else {\r\n totalBorderUnits = \"0.0\";\r\n // message = \"Cannot calculate required material for this price unit: \" + this.state.orderLine.priceUnitType.label + \". Unknown Price Units\",\r\n // messageFlavor = \"danger\"\r\n }\r\n }\r\n\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n totalBorderUnits: _.round(totalBorderUnits, 3).toFixed(3),\r\n },\r\n },\r\n () => {\r\n this.updateBorderTotals();\r\n }\r\n );\r\n }\r\n\r\n updateBorderTotals() {\r\n let totalBorderPrice =\r\n this.state.orderLine.borderPricePer *\r\n this.state.orderLine.totalBorderUnits;\r\n this.setState(\r\n {\r\n orderLine: {\r\n ...this.state.orderLine,\r\n borderCostPer: _.round(this.state.orderLine.borderCostPer, 2).toFixed(\r\n 2\r\n ),\r\n borderPricePer: _.round(\r\n this.state.orderLine.borderPricePer,\r\n 2\r\n ).toFixed(2),\r\n borderCmsnRate: _.round(\r\n this.state.orderLine.borderCmsnRate,\r\n 2\r\n ).toFixed(2),\r\n totalBorderPrice: _.round(totalBorderPrice, 2).toFixed(2),\r\n totalBorderCost: _.round(\r\n this.state.orderLine.borderCostPer *\r\n this.state.orderLine.totalBorderUnits,\r\n 2\r\n ).toFixed(2),\r\n borderCmsn: _.round(\r\n (this.state.orderLine.borderCmsnRate / 100.0) * totalBorderPrice,\r\n 2\r\n ).toFixed(2),\r\n },\r\n },\r\n () => {\r\n this.calculateBorderDsc();\r\n }\r\n );\r\n }\r\n\r\n setRugValidity() {\r\n let isValid = this.state.orderLine.selectedField !== null;\r\n if (isValid && this.state.orderLine.rugHasPad) {\r\n isValid =\r\n this.state.orderLine.selectedPad !== null &&\r\n this.state.orderLine.selectedPadWidth !== null;\r\n }\r\n if (\r\n isValid &&\r\n (this.state.selectedRugEdge === EDGE_TYPES.MACHINED ||\r\n this.state.selectedRugEdge === EDGE_TYPES.MITERED)\r\n ) {\r\n isValid =\r\n this.state.orderLine.selectedRugBindingStyle !== null &&\r\n this.state.orderLine.selectedRugBindingColor !== null;\r\n }\r\n this.setState({\r\n orderLine: {\r\n ...this.state.orderLine,\r\n rugEditsValid: isValid,\r\n },\r\n });\r\n }\r\n\r\n onNoColorSelected() {\r\n let lineOrder = Object.assign({}, this.state.orderLine);\r\n if (lineOrder !== null) {\r\n lineOrder.productColor = null;\r\n }\r\n this.setState({\r\n orderLine: lineOrder,\r\n colorOptOut: !this.state.colorOptOut,\r\n });\r\n }\r\n\r\n render() {\r\n const { squarespace } = this.props;\r\n let orderLinesToMapOver = this.state.customRugToViewEdit\r\n ? this.state.customRugToViewEdit.componentLines\r\n : this.state.orderLines;\r\n if (this.state.redirectToOrders) {\r\n return ;\r\n }\r\n return (\r\n \r\n \r\n \r\n {this.state.message && (\r\n \r\n {this.state.message}\r\n \r\n )}\r\n \r\n \r\n {this.state.orderLine.orderLineType.value !==\r\n constants.ORDER_LINE_TYPE.CREDIT_CARD_SURCHARGE.value &&\r\n this.state.orderLine.orderLineType.value !==\r\n constants.ORDER_LINE_TYPE.SALES_TAX.value && (\r\n \r\n {this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.CARPET.value && (\r\n
\r\n \r\n \r\n Line Type {helpers.requiredStar()}\r\n \r\n \r\n \r\n Pattern Match\r\n \r\n \r\n \r\n \r\n \r\n Description {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n \r\n \r\n Product {helpers.requiredStar()}\r\n \r\n this.setSelectedProduct(option)\r\n }\r\n />\r\n \r\n \r\n Product Color{\" \"}\r\n \r\n this.onNoColorSelected()}\r\n />\r\n No Color Selected\r\n \r\n \r\n \r\n \r\n Width {helpers.requiredStar()}\r\n \r\n \r\n {this.state.orderLine.priceUnitType &&\r\n this.state.orderLine.priceUnitType.value ===\r\n constants.PRICE_UNIT_TYPE.EACH.value ? (\r\n \r\n {\" \"}\r\n Qty\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n ) : (\r\n \r\n Length (ft.) {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() =>\r\n this.applyVolumePricingIfNecessary()\r\n }\r\n />\r\n \r\n )}\r\n \r\n {this.state.orderLine.priceUnitType &&\r\n this.state.orderLine.priceUnitType.value !==\r\n constants.PRICE_UNIT_TYPE.EACH.value &&\r\n this.state.orderLine.priceUnitType.value !==\r\n constants.PRICE_UNIT_TYPE.LIN_FT.value ? (\r\n \r\n {this.state.orderLine.priceUnitType &&\r\n (this.state.orderLine.priceUnitType.value ===\r\n constants.PRICE_UNIT_TYPE.SQ_YARDS.value ||\r\n this.state.orderLine.priceUnitType.value ===\r\n constants.PRICE_UNIT_TYPE.LIN_FT.value)\r\n ? `Sq. Yds.`\r\n : `Sq. Ft`}\r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n Cost/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Total Cost {helpers.requiredStar()}\r\n \r\n \r\n \r\n Price/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Price {helpers.requiredStar()}\r\n \r\n \r\n \r\n Cmsn% {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n disabled={\r\n !this.state.orderLine.productAllowCommission\r\n }\r\n />\r\n \r\n \r\n Commission {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n disabled={\r\n !this.state.orderLine.productAllowCommission\r\n }\r\n />\r\n \r\n \r\n
\r\n )}\r\n {this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.RUG_PAD.value && (\r\n
\r\n \r\n \r\n Line Type {helpers.requiredStar()}\r\n \r\n \r\n \r\n Pattern Match\r\n \r\n \r\n \r\n \r\n \r\n Description {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n \r\n \r\n Product {helpers.requiredStar()}\r\n \r\n this.setSelectedProduct(option)\r\n }\r\n />\r\n \r\n \r\n Width {helpers.requiredStar()}\r\n \r\n \r\n \r\n Length (ft.) {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n // onBlur={() => this.calculateFigures()}\r\n onBlur={() =>\r\n this.applyVolumePricingIfNecessary()\r\n }\r\n />\r\n \r\n \r\n Sq. Ft.\r\n \r\n \r\n \r\n \r\n \r\n Cost/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Total Cost {helpers.requiredStar()}\r\n \r\n \r\n \r\n Price/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Price {helpers.requiredStar()}\r\n \r\n \r\n \r\n Cmsn% {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n disabled={\r\n !this.state.orderLine.productAllowCommission\r\n }\r\n />\r\n \r\n \r\n Commission {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n disabled={\r\n !this.state.orderLine.productAllowCommission\r\n }\r\n />\r\n \r\n \r\n
\r\n )}\r\n {(this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.MISCELLANEOUS.value ||\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.SAMPLE.value) && (\r\n
\r\n \r\n \r\n Line Type {helpers.requiredStar()}\r\n \r\n \r\n \r\n Pattern Match\r\n \r\n \r\n \r\n \r\n \r\n Description {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n \r\n \r\n Product {helpers.requiredStar()}\r\n \r\n this.setSelectedProduct(option)\r\n }\r\n />\r\n \r\n {this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.SAMPLE.value && (\r\n \r\n Product Color\r\n \r\n \r\n )}\r\n \r\n Qty\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n \r\n \r\n Cost/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Total Cost {helpers.requiredStar()}\r\n \r\n \r\n \r\n Price/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Price {helpers.requiredStar()}\r\n \r\n \r\n \r\n Cmsn% {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n disabled={\r\n !this.state.orderLine.productAllowCommission\r\n }\r\n />\r\n \r\n \r\n Commission {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n disabled={\r\n !this.state.orderLine.productAllowCommission\r\n }\r\n />\r\n \r\n \r\n
\r\n )}\r\n {(this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.HARD_SURFACE.value ||\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.CARPET_TILE.value) && (\r\n
\r\n \r\n \r\n Line Type {helpers.requiredStar()}\r\n \r\n \r\n \r\n Pattern Match\r\n \r\n \r\n \r\n \r\n \r\n Description {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n \r\n \r\n Product {helpers.requiredStar()}\r\n \r\n this.setSelectedProduct(option)\r\n }\r\n />\r\n \r\n \r\n Product Color\r\n \r\n \r\n \r\n \r\n \r\n Sq. Units Required {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() =>\r\n this.applyVolumePricingIfNecessary()\r\n }\r\n />\r\n \r\n \r\n # Items {helpers.requiredStar()}\r\n \r\n \r\n \r\n
\r\n {this.state.orderLine.squareFeetPerCarton\r\n ? `${this.state.orderLine.squareFeetPerCarton} ${this.state.orderLine.priceUnitType.label}`\r\n : null}\r\n
\r\n
\r\n {this.state.orderLine.perContainer\r\n ? `${this.state.orderLine.perContainer} per`\r\n : null}\r\n
\r\n \r\n
\r\n \r\n \r\n Sq. Ft.\r\n \r\n \r\n \r\n Cost/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Total Cost {helpers.requiredStar()}\r\n \r\n \r\n \r\n Price/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Price {helpers.requiredStar()}\r\n \r\n \r\n \r\n Cmsn% {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n disabled={\r\n !this.state.orderLine.productAllowCommission\r\n }\r\n />\r\n \r\n \r\n Commission {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n disabled={\r\n !this.state.orderLine.productAllowCommission\r\n }\r\n />\r\n \r\n \r\n
\r\n )}\r\n {(this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.BINDING.value ||\r\n this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.ROLL_RUNNER.value) && (\r\n
\r\n \r\n \r\n Line Type {helpers.requiredStar()}\r\n \r\n \r\n \r\n Pattern Match\r\n \r\n \r\n \r\n \r\n \r\n Description {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n \r\n \r\n Product {helpers.requiredStar()}\r\n \r\n this.setSelectedProduct(option)\r\n }\r\n />\r\n \r\n \r\n Product Color\r\n \r\n \r\n \r\n Length (ft.) {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n \r\n \r\n Cost/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Total Cost {helpers.requiredStar()}\r\n \r\n \r\n \r\n Price/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Price {helpers.requiredStar()}\r\n \r\n \r\n \r\n Cmsn% {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n disabled={\r\n !this.state.orderLine.productAllowCommission\r\n }\r\n />\r\n \r\n \r\n Commission {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n disabled={\r\n !this.state.orderLine.productAllowCommission\r\n }\r\n />\r\n \r\n \r\n
\r\n )}\r\n {this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.INTL_COLL_RUG.value && (\r\n
\r\n \r\n \r\n Line Type {helpers.requiredStar()}\r\n \r\n \r\n \r\n Pattern Match\r\n \r\n \r\n \r\n \r\n \r\n Description {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n \r\n {/* Collection {helpers.requiredStar()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.setSelectedCollection(option)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t */}\r\n \r\n Product {helpers.requiredStar()}\r\n \r\n this.setSelectedProduct(option)\r\n }\r\n />\r\n \r\n \r\n Product Color\r\n \r\n \r\n \r\n Size\r\n \r\n \r\n \r\n Qty\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n \r\n \r\n Cost/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Total Cost {helpers.requiredStar()}\r\n \r\n \r\n \r\n Price/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Price {helpers.requiredStar()}\r\n \r\n \r\n \r\n Cmsn% {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n disabled={\r\n !this.state.orderLine.productAllowCommission\r\n }\r\n />\r\n \r\n \r\n Commission {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n disabled={\r\n !this.state.orderLine.productAllowCommission\r\n }\r\n />\r\n \r\n \r\n
\r\n )}\r\n\r\n {COMPONENT_ORDER_LINE_TYPES.includes(\r\n this.state.orderLine.orderLineType.value\r\n ) && (\r\n \r\n \r\n \r\n \r\n this.setFinishedRugSize(option)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={this.rugSizeChange}\r\n />\r\n \r\n {\" \"}\r\n '{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={this.rugSizeChange}\r\n />\r\n \r\n {\" \"}\r\n \"\r\n \r\n \r\n {\" \"}\r\n X{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={this.rugSizeChange}\r\n />\r\n \r\n {\" \"}\r\n '{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={this.rugSizeChange}\r\n />\r\n \r\n {\" \"}\r\n \"{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.RUG_FIELD.value && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Description {helpers.requiredStar()}\r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n Rug Shape\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setSelectedField(option)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n required\r\n placeholder=\"L'\"\r\n onBlur={this.fieldSizeChange}\r\n />\r\n \r\n {\" \"}\r\n '{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n required\r\n placeholder='L\"'\r\n onBlur={this.fieldSizeChange}\r\n />\r\n \r\n {\" \"}\r\n \"{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updateFieldTotals()}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updateFieldTotals()}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updateFieldTotals()}\r\n required\r\n />\r\n \r\n \r\n \r\n
\r\n )}\r\n {this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.RUG_BORDER.value && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Description {helpers.requiredStar()}\r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setSelectedBorder(option)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n required\r\n placeholder=\"L'\"\r\n onBlur={this.borderSizeChange}\r\n />\r\n \r\n {\" \"}\r\n '{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n required\r\n placeholder='L\"'\r\n onBlur={this.borderSizeChange}\r\n />\r\n \r\n {\" \"}\r\n \"{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updateBorderTotals()}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updateBorderTotals()}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateBorderDsc()}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.RUG_MISCELLANEOUS.value && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Description {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n {/* {this.state.orderLine.orderLineType.label !== \"MISCELLANEOUS (RUG COMPONENT)\" && */}\r\n \r\n \r\n Product {helpers.requiredStar()}\r\n \r\n this.setSelectedProduct(option)\r\n }\r\n />\r\n \r\n \r\n {/* } */}\r\n \r\n \r\n Qty\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Cost/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Total Cost {helpers.requiredStar()}\r\n \r\n \r\n \r\n Price/Unit {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Price {helpers.requiredStar()}\r\n \r\n \r\n \r\n Cmsn% {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.calculateFigures()}\r\n />\r\n \r\n \r\n Commission {helpers.requiredStar()}\r\n \r\n this.handleOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n
\r\n )}\r\n {this.state.orderLine.orderLineType.value ===\r\n constants.ORDER_LINE_TYPE.CUSTOM_RUG.value && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setFinishedRugSize(option)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={this.rugSizeChange}\r\n />\r\n \r\n {\" \"}\r\n '{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={this.rugSizeChange}\r\n />\r\n \r\n {\" \"}\r\n \"\r\n \r\n \r\n {\" \"}\r\n X{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={this.rugSizeChange}\r\n />\r\n \r\n {\" \"}\r\n '{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={this.rugSizeChange}\r\n />\r\n \r\n {\" \"}\r\n \"{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n maxLength=\"250\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setSelectedField(option)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n required\r\n placeholder=\"L'\"\r\n onBlur={this.fieldSizeChange}\r\n />\r\n \r\n {\" \"}\r\n '{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n required\r\n placeholder='L\"'\r\n onBlur={this.fieldSizeChange}\r\n />\r\n \r\n {\" \"}\r\n \"{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updateFieldTotals()}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updateFieldTotals()}\r\n required\r\n />\r\n \r\n \r\n \r\n Rug Shape\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Options :\r\n \r\n \r\n \r\n Cut Charge\r\n \r\n \r\n End Armor\r\n \r\n \r\n Inbound Freight\r\n \r\n \r\n Backing\r\n \r\n \r\n Pad\r\n \r\n \r\n Clipped Corners\r\n \r\n \r\n Cutout\r\n \r\n \r\n Round/Oval\r\n \r\n \r\n \r\n \r\n Edge: {this.state.selectedRugEdge}\r\n \r\n \r\n \r\n this.setRugEdge(\"Serging\")\r\n }\r\n >\r\n Serging\r\n \r\n \r\n this.setRugEdge(\r\n \"Applied Machine Border\"\r\n )\r\n }\r\n >\r\n Applied Machine Border\r\n \r\n \r\n this.setRugEdge(\r\n \"Hidden Stitch Mitered Corners\"\r\n )\r\n }\r\n >\r\n Hidden Stitch Mitered Corners\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.orderLine.rugHasCutCharge && (\r\n \r\n \r\n \r\n Cut Charge\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n )}\r\n {this.state.orderLine.rugHasEndArmor && (\r\n \r\n \r\n \r\n End Armor\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n )}\r\n {this.state.orderLine.rugHasInboundFreight && (\r\n \r\n \r\n \r\n Inbound Freight\r\n \r\n \r\n \r\n \r\n this.setSelectedInboundFreight(option)\r\n }\r\n name=\"selectedPad\"\r\n />\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n )}\r\n {this.state.orderLine.rugHasBacking && (\r\n \r\n \r\n \r\n Backing\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() =>\r\n this.updateRugBackingTotals()\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() =>\r\n this.updateRugBackingTotals()\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() =>\r\n this.updateRugBackingTotals()\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n )}\r\n {this.state.orderLine.rugHasPad && (\r\n \r\n \r\n \r\n Pad\r\n \r\n \r\n \r\n \r\n this.setSelectedPad(option)\r\n }\r\n name=\"selectedPad\"\r\n />\r\n \r\n \r\n \r\n {this.state.orderLine.hasPadCutCharge && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.padSizeChange()}\r\n required\r\n value={this.state.orderLine.padLengthFeet}\r\n placeholder=\"L'\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updatePadTotals()}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updatePadTotals()}\r\n />\r\n \r\n \r\n \r\n \r\n )}\r\n {this.state.orderLine.rugHasClippedCorners && (\r\n \r\n \r\n \r\n Clipped Corners\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n )}\r\n {this.state.orderLine.rugHasLaborCutout && (\r\n \r\n \r\n \r\n Cutout Labor\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n )}\r\n {this.state.orderLine.rugHasLaborRound && (\r\n \r\n \r\n \r\n Round/Oval Labor\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={(event) =>\r\n this.updateOrderLineRateOrCurrencyField(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n )}\r\n {this.state.selectedRugEdge === \"Serging\" && (\r\n \r\n \r\n \r\n Edge: {this.state.selectedRugEdge}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updateSergingTotals()}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updateSergingTotals()}\r\n />\r\n \r\n \r\n \r\n \r\n )}\r\n {this.state.selectedRugEdge ===\r\n \"Applied Machine Border\" && (\r\n \r\n \r\n \r\n Edge: {this.state.selectedRugEdge}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updateMSergingTotals()}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() => this.updateMSergingTotals()}\r\n />\r\n \r\n \r\n \r\n \r\n )}\r\n {this.state.selectedRugEdge ===\r\n \"Hidden Stitch Mitered Corners\" && (\r\n \r\n \r\n \r\n Edge: {this.state.selectedRugEdge}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() =>\r\n this.updateHSSergingTotals()\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() =>\r\n this.updateHSSergingTotals()\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n )}\r\n {(this.state.selectedRugEdge ===\r\n \"Hidden Stitch Mitered Corners\" ||\r\n this.state.selectedRugEdge ===\r\n \"Applied Machine Border\") && (\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n this.setSelectedRugBindingStyle(option)\r\n }\r\n name=\"selectedRugBindingStyle\"\r\n />\r\n {this.state.selectedRugEdge ===\r\n \"Hidden Stitch Mitered Corners\" && (\r\n \r\n Remember to choose a binding wide\r\n enough!\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() =>\r\n this.updateRugBindingTotals()\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.handleRugOrderLineStateChange(\r\n event.target.name,\r\n event.target.value\r\n )\r\n }\r\n onBlur={() =>\r\n this.updateRugBindingTotals()\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport _ from \"lodash\";\r\nimport { api } from \"../utils\";\r\n\r\nexport default class SqPriceList extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n // https://distinctive-carpets.squarespace.com/s/Carpet-Price-List-070122\r\n componentDidMount() {\r\n let [\r\n _ignore, // ==> app.distinctiveccarpets.com\r\n _page, // ==> /sq\r\n _path, // ==> /priceList\r\n downloadType, // ==> /Carpet , /Rug, /Hard-Surface\r\n ] = _.split(this.props.location.pathname, \"/\");\r\n if (\r\n this.props.currentCustomer &&\r\n this.props.currentCustomer.typeOfPricing === 1\r\n ) {\r\n api.redirectToSquarespacePage(`/s/${downloadType}-Price-List`);\r\n } else {\r\n api.redirectToSquarespacePage(`/s/${downloadType}-Price-List-Alt`);\r\n }\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport { Container, ButtonGroup, Button, Card, CardBody, Form, Col, Row, CardHeader, Input, InputGroup, InputGroupAddon, InputGroupText, Alert } from 'reactstrap';\r\nimport api from '../utils/api';\r\nimport helpers from '../utils/helpers'\r\n\r\nexport class Impersonate extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n message: null,\r\n messageFlavor: null,\r\n username: \"\",\r\n redirectToHome: false\r\n };\r\n this.onChangeUsername = this.onChangeUsername.bind(this);\r\n this.onSave = this.onSave.bind(this); \r\n }\r\n \r\n onChangeUsername(e) {\r\n this.setState({ username: e.target.value });\r\n }\r\n\r\n onSave(event) {\r\n event.preventDefault();\r\n if (this.state.username.trim() === '') {\r\n this.setState({message: \"Either enter a username to impersonate on choose to cancel.\", messageFlavor: \"danger\"})\r\n }\r\n api.fetch(`Admin/Impersonate/${this.state.username}`).then(response => {\r\n if (response.data.success === false) {\r\n this.setState({ messageFlavor: \"danger\", message: response.data.message });\r\n } else {\r\n this.props.setImpersonation(response.data.user, response.data.user.token);\r\n this.setState({ messageFlavor: \"success\", message: \"You are now \" + response.data.user.firstName + \" \" + response.data.user.lastName + \" and will be redirected momentarily!\" });\r\n setTimeout(function(component) {\r\n component.setState({redirectToHome: true});\r\n }, 3000, this);\r\n }\r\n }).catch(helpers.catchHandler);\r\n };\r\n\r\n render() {\r\n if (this.state.redirectToHome) {\r\n return ();\r\n }\r\n return (\r\n \r\n \r\n Impersonate\r\n \r\n \r\n \r\n {this.state.message === null\r\n ? null\r\n : ({this.state.message})\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n Become Username\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n };\r\n}\r\n","import \"@babel/polyfill\";\r\nimport React, { Component } from \"react\";\r\nimport {\r\n Route,\r\n Switch,\r\n BrowserRouter as Router,\r\n Redirect,\r\n} from \"react-router-dom\";\r\nimport Alert from \"react-s-alert\";\r\nimport \"react-s-alert/dist/s-alert-css-effects/stackslide.css\";\r\nimport \"react-s-alert/dist/s-alert-default.css\";\r\nimport { Alert as AlertStrap } from \"reactstrap\";\r\nimport _ from \"lodash\";\r\nimport {\r\n AddCustomersAndContacts,\r\n AgentAdmin,\r\n AgentAdminContainer,\r\n AreaAdmin,\r\n Claims,\r\n // Collections,\r\n ConfigurationSettingsAdmin,\r\n ContactList,\r\n ConstructionTypeAdmin,\r\n CustomerAdmin,\r\n CustomerAdminContainer,\r\n CustomerDetailsView,\r\n SqForgotPassword,\r\n SqResetPassword,\r\n ErrorMessage,\r\n Expense,\r\n EditClaim,\r\n EditExpense,\r\n EditSupplier,\r\n ExpenseCategory,\r\n ExpensePayToAdmin,\r\n ForgotPassword,\r\n FreightCarrierAdmin,\r\n Header,\r\n // Home,\r\n MaintainBooks,\r\n MaintainProduct,\r\n MaintainSamples,\r\n MemoOrders,\r\n MemoOrderLines,\r\n MemoSizes,\r\n MemoStockOrders,\r\n MillReserves,\r\n MultiOrderPayable,\r\n NotFound,\r\n Orders,\r\n OrderEntry,\r\n Pile,\r\n ProductDetailsContainer,\r\n Profile,\r\n Reports,\r\n ResetPassword,\r\n // RugComplexities,\r\n SalesTransfer,\r\n ShippingConsole,\r\n SignIn,\r\n SqSalesRepScreen,\r\n Squarespace,\r\n Suppliers,\r\n SqOrders,\r\n // TradeSize,\r\n UpdatePassword,\r\n UserAdmin,\r\n ViewSupplier,\r\n Width,\r\n YarnSupplierBrand,\r\n SqSignIn,\r\n SqLogout,\r\n FiberGroupAdmin,\r\n SqPriceList,\r\n Impersonate,\r\n} from \"./pages\";\r\nimport { api, helpers } from \"./utils\";\r\n\r\nconst CHECK_LAST_ACTIVITY = 300000; // five minutes\r\nconst SQUARESPACE_CHECK_LAST_ACTIVITY = 900000; // fifteen minutes\r\nconst INACTIVITY_TIMEOUT = 43200000; // 12 hours\r\nconst LOGIN_TIMEOUT = 43200000; // 12 hours\r\n\r\nconst LoginRoute = ({ ...extraProps }) => (\r\n {\r\n return extraProps.authenticated() ? (\r\n \r\n ) : (\r\n \r\n );\r\n //\r\n }}\r\n />\r\n);\r\n\r\nconst AuthRoute = ({\r\n component: Component,\r\n currentUser,\r\n app: rootComponent,\r\n ...extraProps\r\n}) => (\r\n {\r\n if (helpers.mustChangePassword(currentUser)) {\r\n return ;\r\n }\r\n if (!api.userToken()) {\r\n rootComponent.Logout(\r\n \"You are now logged out. Please sign in to continue.\"\r\n );\r\n return ;\r\n }\r\n return extraProps.authenticated() ? (\r\n \r\n ) : (\r\n \r\n );\r\n }}\r\n />\r\n);\r\n\r\nconst SQRoute = ({\r\n component: Component,\r\n currentCustomer,\r\n app: rootComponent,\r\n ...extraProps\r\n}) => {\r\n if (\r\n extraProps &&\r\n extraProps.location &&\r\n extraProps.location.pathname &&\r\n _.includes(extraProps.location.pathname, \"logout\")\r\n ) {\r\n if (currentCustomer) {\r\n rootComponent.SquarespaceLogout();\r\n return null;\r\n }\r\n }\r\n return (\r\n {\r\n return (\r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n\r\nconst nowTime = () => {\r\n return new Date().getTime();\r\n};\r\n\r\nexport default class App extends Component {\r\n constructor(props) {\r\n super(props);\r\n let token = null;\r\n try {\r\n token = localStorage.getItem(\"token\");\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n const squarespace =\r\n _.includes(window.location.href, \"/sq/\") ||\r\n _.includes(window.location.href, \"/all-carpet\") ||\r\n _.includes(window.location.href, \"/log-in-sign-up\") ||\r\n _.includes(window.location.href, \"/shopping-cart\");\r\n let currentUser = token\r\n ? JSON.parse(localStorage.getItem(\"currentUser\"))\r\n : null;\r\n let parsedCustomerCookie = api.getCookie(\"SQ_CUSTOMER\", true);\r\n let customerToken = api.getCookie(\"SQ_TOKEN\", false);\r\n let currentCustomer =\r\n parsedCustomerCookie && parsedCustomerCookie !== \"\"\r\n ? parsedCustomerCookie\r\n : null;\r\n // this is for local development\r\n if (!currentCustomer) {\r\n try {\r\n currentCustomer =\r\n (localStorage.getItem(\"currentCustomer\") &&\r\n JSON.parse(localStorage.getItem(\"currentCustomer\"))) ||\r\n null;\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n let loa = null;\r\n try {\r\n loa = localStorage.getItem('loggedOnAt\"');\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n const loggedOnAt = parseInt(loa) ? parseInt(loa) : 0;\r\n const adminToken = localStorage.getItem(\"adminToken\");\r\n this.state = {\r\n authenticationToken: token,\r\n currentUser: currentUser,\r\n loggedOnAt: loggedOnAt,\r\n logoutMessage: null,\r\n squarespace: squarespace,\r\n currentCustomer: currentCustomer,\r\n customerToken: customerToken,\r\n loggingOut: false,\r\n impersonating: adminToken === null ? false : true,\r\n ClearImpersonationMessage: null,\r\n ClearImpersonationMessageFlavor: null,\r\n };\r\n this.Logout = this.Logout.bind(this);\r\n this.StartTimer = this.StartTimer.bind(this);\r\n this.SetLastActivity = this.SetLastActivity.bind(this);\r\n this.SetCurrentUser = this.SetCurrentUser.bind(this);\r\n this.Authenticated = this.Authenticated.bind(this);\r\n this.onDismissSignInMessage = this.onDismissSignInMessage.bind(this);\r\n this.SetImpersonation = this.SetImpersonation.bind(this);\r\n this.ClearImpersonation = this.ClearImpersonation.bind(this);\r\n this.ClearImpersonationPersistence =\r\n this.ClearImpersonationPersistence.bind(this);\r\n\r\n // squarespace specific to utilize cookies instead of token / local storage authentication\r\n this.SquarespaceLogout = this.SquarespaceLogout.bind(this);\r\n this.SetCurrentCustomer = this.SetCurrentCustomer.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.addEventListener(\"click\", this.SetLastActivity);\r\n this.StartTimer();\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener(\"click\", this.SetLastActivity);\r\n clearInterval(this.intervalId);\r\n }\r\n\r\n StartTimer() {\r\n if (this.state.squarespace) {\r\n this.intervalId = setInterval(\r\n this.CompareSquarespaceLastActivity,\r\n SQUARESPACE_CHECK_LAST_ACTIVITY,\r\n this\r\n );\r\n this.VerifySquarespaceAuthentication(this);\r\n return;\r\n }\r\n this.intervalId = setInterval(\r\n this.CompareTimerToLastActivity,\r\n CHECK_LAST_ACTIVITY,\r\n this\r\n );\r\n this.VerifyAuthentication();\r\n }\r\n\r\n SetImpersonation(user, token) {\r\n if (this.state.impersonating) {\r\n return; // do not allow impersonation a 2nd time if we're already in that mode\r\n }\r\n // remember the admin user's details\r\n const adminUser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n const adminUserToken = localStorage.getItem(\"token\");\r\n // clear storage\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"currentUser\");\r\n // set the impersonation details\r\n // user = enhanceUser(user);\r\n localStorage.setItem(\"token\", token);\r\n localStorage.setItem(\"currentUser\", JSON.stringify(user));\r\n\r\n // remember the admin details for later\r\n localStorage.setItem(\"adminToken\", adminUserToken);\r\n localStorage.setItem(\"adminUser\", JSON.stringify(adminUser));\r\n this.setState({\r\n impersonating: true,\r\n currentUser: user,\r\n authenticationToken: token,\r\n });\r\n }\r\n\r\n ClearImpersonationPersistence() {\r\n if (localStorage.getItem(\"adminUser\")) {\r\n localStorage.removeItem(\"adminToken\");\r\n localStorage.removeItem(\"adminUser\");\r\n }\r\n }\r\n\r\n ClearImpersonation() {\r\n if (!this.state.impersonating) {\r\n return; // do not allow clear of the primary user if we're not impersonating\r\n }\r\n // get the original admin user\r\n const adminUser = JSON.parse(localStorage.getItem(\"adminUser\"));\r\n const adminUserToken = localStorage.getItem(\"adminToken\");\r\n // clear storage\r\n this.ClearImpersonationPersistence();\r\n // set the admin user back as primary\r\n localStorage.setItem(\"token\", adminUserToken);\r\n localStorage.setItem(\"currentUser\", JSON.stringify(adminUser));\r\n this.setState({\r\n impersonating: false,\r\n currentUser: adminUser,\r\n authenticationToken: adminUserToken,\r\n });\r\n this.setState({\r\n ClearImpersonationMessageFlavor: \"success\",\r\n ClearImpersonationMessage: \"You are now leaving Impersonation\",\r\n });\r\n setTimeout(() => window.location.reload(), 3000, this);\r\n }\r\n\r\n CompareTimerToLastActivity(rootComponent) {\r\n if (!localStorage.getItem(\"lastActivity\")) rootComponent.SetLastActivity();\r\n if (\r\n nowTime() - parseInt(localStorage.getItem(\"lastActivity\")) >\r\n INACTIVITY_TIMEOUT\r\n ) {\r\n rootComponent.Logout(\r\n \"You have been logged out due to inactivity. Please log back in to continue.\"\r\n );\r\n }\r\n rootComponent.VerifyAuthentication();\r\n }\r\n\r\n CompareSquarespaceLastActivity(rootComponent) {\r\n if (!localStorage.getItem(\"lastActivity\")) rootComponent.SetLastActivity();\r\n if (\r\n nowTime() - parseInt(localStorage.getItem(\"lastActivity\")) >\r\n INACTIVITY_TIMEOUT\r\n ) {\r\n rootComponent.SquarespaceLogout(\r\n \"You have been logged out due to inactivity. Please log back in to continue.\"\r\n );\r\n if (rootComponent.state.squarespace) {\r\n // window.location.pathname = \"/all-carpet\";\r\n }\r\n }\r\n rootComponent.VerifySquarespaceAuthentication(rootComponent);\r\n }\r\n\r\n VerifyAuthentication() {\r\n if (!this.state.authenticationToken) return; // not logged in, no need to verify anything\r\n if (nowTime() - this.state.loggedOnAt < LOGIN_TIMEOUT) return;\r\n api\r\n .fetch(\"Public/AuthCheck?nocache=\" + nowTime())\r\n .then((r) => {\r\n if (r.data.success === false) {\r\n this.Logout(\"Your session has timed out. Please log in.\");\r\n }\r\n })\r\n .catch((e) => {\r\n console.error(\"Failed auth check\", e);\r\n this.Logout(\"Your session has timed out. Please log in.\");\r\n });\r\n }\r\n\r\n VerifySquarespaceAuthentication(rootComponent) {\r\n if (!rootComponent.state.customerToken) return; // not logged in, no need to verify anything\r\n if (nowTime() - rootComponent.state.loggedOnAt < LOGIN_TIMEOUT) return;\r\n const tokenCookie = api.getCookieTimeout(\"SQ_TOKEN\", false);\r\n if (nowTime() - rootComponent.state.loggedOnAt < LOGIN_TIMEOUT) return;\r\n\r\n // NEED TO FIX\r\n // api.fetch(\"Web/AuthCheck?nocache=\" + nowTime()).then(r => {\r\n // if (r.data.success === false) {\r\n // this.SquarespaceLogout('Your session has timed out. Please log in.');\r\n // }\r\n // }).catch(e => {\r\n // console.error(\"Failed auth check\", e);\r\n // this.SquarespaceLogout('Your session has timed out. Please log in.');\r\n // });\r\n }\r\n\r\n SetLastActivity() {\r\n if (\r\n !this.state.authenticationToken ||\r\n (this.state.squarespace && !this.state.customerToken)\r\n )\r\n return; // not logged in\r\n localStorage.setItem(\"lastActivity\", nowTime());\r\n if (this.state.logoutMessage) {\r\n this.setState({ logoutMessage: null });\r\n }\r\n }\r\n\r\n Logout(logoutMessage = null) {\r\n if (this.state.impersonating) {\r\n this.ClearImpersonationPersistence();\r\n }\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"currentUser\");\r\n localStorage.removeItem(\"loggedOnAt\");\r\n localStorage.removeItem(\"lastActivity\");\r\n this.setState({\r\n impersonating: false,\r\n currentUser: null,\r\n authenticationToken: null,\r\n loggedOnAt: null,\r\n logoutMessage: logoutMessage,\r\n });\r\n }\r\n\r\n SquarespaceLogout(logoutMessage = null) {\r\n if (this.state.loggingOut) return;\r\n this.setState({ loggingOut: true }, () => {\r\n api\r\n .fetch(\"web/CustomerLogout\")\r\n .then((response) => {\r\n api.clearCookies();\r\n localStorage.removeItem(\"customerToken\");\r\n localStorage.removeItem(\"currentCustomer\");\r\n localStorage.removeItem(\"customRug\");\r\n localStorage.removeItem(\"orderCartItems\");\r\n localStorage.removeItem(\"sampleCartItems\");\r\n return response;\r\n })\r\n .then((response) => {\r\n if (response) {\r\n this.setState(\r\n {\r\n currentCustomer: null,\r\n customerToken: null,\r\n loggedOnAt: null,\r\n logoutMessage: logoutMessage,\r\n },\r\n () => {\r\n api.redirectToSquarespacePage(\"/log-in-sign-up\");\r\n }\r\n );\r\n }\r\n })\r\n .catch(helpers.catchHandler)\r\n .finally(() => this.setState({ loggingOut: false }));\r\n });\r\n }\r\n\r\n SetCurrentUser(user, token) {\r\n if (token) {\r\n localStorage.setItem(\"token\", token);\r\n }\r\n localStorage.setItem(\"currentUser\", JSON.stringify(user));\r\n let newState = { currentUser: user, authenticationToken: token };\r\n if (this.state.logoutMessage) {\r\n // if you just logged in and there's still a message set, clear it\r\n newState = { ...newState, logoutMessage: null };\r\n this.setState(newState);\r\n }\r\n this.setState({\r\n currentUser: user,\r\n authenticationToken: token,\r\n });\r\n }\r\n\r\n SetCurrentCustomer(customer, token) {\r\n try {\r\n if (token) {\r\n localStorage.setItem(\"customerToken\", token);\r\n }\r\n localStorage.setItem(\"currentCustomer\", JSON.stringify(customer));\r\n } catch (e) {\r\n console.log(\"setting current user\");\r\n }\r\n let newState = { currentCustomer: customer, customerToken: token };\r\n if (this.state.logoutMessage) {\r\n // if you just logged in and there's still a message set, clear it\r\n newState = { ...newState, logoutMessage: null };\r\n this.setState(newState);\r\n } else {\r\n try {\r\n localStorage.setItem(\"loggedOnAt\", nowTime());\r\n } catch (e) {\r\n console.log(\"setting logged in at\");\r\n }\r\n }\r\n this.setState({\r\n currentCustomer: customer,\r\n customerToken: token,\r\n });\r\n }\r\n\r\n onDismissSignInMessage() {\r\n this.setState({\r\n logoutMessage: null,\r\n });\r\n }\r\n\r\n Authenticated() {\r\n if (this.state.squarespace) {\r\n return this.state.customerToken !== null;\r\n }\r\n return this.state.authenticationToken !== null;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n \r\n {this.state.ClearImpersonationMessage === null ? null : (\r\n \r\n {this.state.ClearImpersonationMessage}\r\n \r\n )}\r\n \r\n {this.state.logoutMessage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { createBrowserHistory } from 'history';\r\n// import registerServiceWorker from './registerServiceWorker';\r\nimport { Router } from 'react-router-dom';\r\nimport ErrorBoundary from 'react-error-boundary';\r\nimport { Row, Col, Container, Button } from 'reactstrap';\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport 'react-datepicker/dist/react-datepicker.css';\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\nimport {\r\n faAngleUp, faAngleDown, faFilter, faExclamationTriangle, faSearch, faClipboardCheck, faArrowCircleRight, faCheckCircle,\r\n faPlusCircle, faEdit, faTimesCircle, faTrash, faRecycle, faUser, faFileUpload, faPrint, faAngleDoubleDown, faFileCsv,\r\n faComments, faImages, faSave, faHome, faEye, faCheck, faPlus, faBackspace, faMinus, faGripLines, faTimes, faTrashAlt,\r\n faInfoCircle, faReply, faSyncAlt, faExchangeAlt, faSignInAlt, faRetweet, faShare, faClone, faBars,\r\n faShoppingCart, faUserCircle, faCartPlus, faSpinner, faCut, faFileContract, faFileSignature, faCompress, faFilePdf,\r\n faAngleRight, faAngleLeft, faAngleDoubleRight, faAngleDoubleLeft, faLongArrowAltLeft\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n faFacebookF, faPinterestP, faTwitter\r\n} from '@fortawesome/free-brands-svg-icons';\r\nimport App from './App';\r\nimport './assets/css/index.scss';\r\n\r\n// add font awesome icons to be used in the app below\r\nlibrary.add(faEye, faAngleUp, faAngleDown, faFilter, faExclamationTriangle, faSearch, faClipboardCheck, faCheckCircle,\r\n faArrowCircleRight, faPlusCircle, faAngleDoubleDown, faFileCsv, faEdit, faTimesCircle, faTrash, faRecycle, faInfoCircle,\r\n faUser, faFileUpload, faPrint, faComments, faImages, faSave, faHome, faCheck, faPlus, faBackspace, faMinus, faGripLines, faTimes,\r\n faTrashAlt, faReply, faSyncAlt, faExchangeAlt, faSignInAlt, faRetweet, faShare, faClone, faFilePdf,\r\n faFacebookF, faPinterestP, faTwitter, faBars, faShoppingCart, faUserCircle, faCartPlus, faSpinner,\r\n faCut, faFileContract, faFileSignature, faCompress, faLongArrowAltLeft,\r\n faAngleRight, faAngleLeft, faAngleDoubleRight, faAngleDoubleLeft);\r\n\r\n// import registerServiceWorker from './registerServiceWorker';\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst history = createBrowserHistory({ basename: baseUrl });\r\n\r\n//ReactDOM.render(\r\n// (\r\n// \r\n// \r\n// \r\n// ), document.getElementById('root'),\r\n//);\r\n\r\n//if (module.hot) {\r\n// module.hot.accept('./App.js', () => {\r\n// const newApp = require('./App.js').default;\r\n// render(newApp);\r\n// });\r\n//}\r\n\r\n\r\nconst goBack = () => {\r\n window.history.back();\r\n};\r\n\r\nconst AppFallBackComponent = ({ componentStack, error }) => {\r\n console.log('componentStack :\\n', componentStack, '\\n\\n error : \\n\\n', error);\r\n return (\r\n \r\n \r\n \r\n

Something went wrong on our side.

\r\n \r\n
\r\n \r\n \r\n

Please use your browser's back button to return to the previous screen.

\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nconst rootElement = document.getElementById('root');\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n rootElement);\r\n// registerServiceWorker();\r\n","import React, { Component } from \"react\";\r\nimport AsyncSelect from \"react-select/async\";\r\nimport _ from \"lodash\";\r\nimport { api } from \"../utils\";\r\n\r\nconst resolveValues = (customer) => {\r\n if (!customer) return;\r\n return {\r\n customerId: customer.value,\r\n customer: customer,\r\n inputValue: customer.label\r\n };\r\n};\r\n\r\nexport default class CustomerTypeahead extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = Object.assign(\r\n { options: [] },\r\n resolveValues(props.customer)\r\n );\r\n this.onSelect = this.onSelect.bind(this);\r\n this.loadOptions = this.loadOptions.bind(this);\r\n this.onInputChange = this.onInputChange.bind(this);\r\n this.clearSelection = this.clearSelection.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.onChange) {\r\n console.warn(\"set onChange for customer typeahead\");\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.clearValue !== this.props.clearValue && this.props.clearValue) {\r\n this.clearSelection();\r\n } else if (this.props.customer !== undefined \r\n && this.props.customer !== null\r\n && this.props.customer.value\r\n && (!this.state.customer || (this.state.customer && (this.state.customer.value !== this.props.customer.value)))) {\r\n this.setState(resolveValues(this.props.customer));\r\n }\r\n }\r\n\r\n clearSelection() {\r\n this.setState({\r\n customerName: null,\r\n inputValue: \"\",\r\n customerId: null\r\n });\r\n if (this.props.onChange) {\r\n this.props.onChange({filterName: (this.props.name), value: null});\r\n }\r\n }\r\n\r\n onSelect(selection) {\r\n if (selection) {\r\n if (this.props.onChange) {\r\n this.props.onChange(selection);\r\n }\r\n this.setState({\r\n customer: selection\r\n });\r\n } else {\r\n this.clearSelection();\r\n }\r\n }\r\n\r\n loadOptions(inputValue, callBack) {\r\n if (!inputValue || !inputValue.length || inputValue.length < 3) return;\r\n api\r\n .fetch(`Customer/CustomerTypeahead/${inputValue}`)\r\n .then(response => {\r\n const options = _.map(response.data, x => {\r\n return {value: x.value, label: x.label}\r\n })\r\n callBack(options);\r\n })\r\n .catch(api.catchHanlder);\r\n }\r\n\r\n onInputChange(inputValue) {\r\n this.setState({ inputValue });\r\n return inputValue;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Container,\r\n Col,\r\n Row,\r\n Card,\r\n CardBody,\r\n CardTitle,\r\n Button,\r\n Label,\r\n} from \"reactstrap\";\r\nimport { helpers, constants } from \"../utils\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport _ from \"lodash\";\r\nimport Select from \"react-select\";\r\nimport moment from \"moment\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\n\r\nclass DropzoneUploader extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n files: [],\r\n file_to_upload: null,\r\n typeOptions:\r\n props.productAttachmentTypeList || props.customerAttachmentTypeList,\r\n };\r\n this.onDrop = this.onDrop.bind(this);\r\n this.removeFile = this.removeFile.bind(this);\r\n this.onDateChange = this.onDateChange.bind(this);\r\n }\r\n\r\n removeFile(e, file) {\r\n e.preventDefault();\r\n const currentState = this.state.files;\r\n const files = _.filter(currentState, (f) => f.name !== file.name);\r\n this.setState({ files: files }, () => {\r\n this.props.filesCallback(files);\r\n });\r\n }\r\n\r\n onDrop(files, rejectedFiles) {\r\n if (files && _.some(files, (f) => f.name && f.name.indexOf(\"%\") !== -1)) {\r\n alert(\"File names cannot contain the character %\");\r\n return;\r\n }\r\n if (rejectedFiles.length > 0) {\r\n alert(\"Images must be in JPEG/PNG/GIF/TIFF/PDF formats\");\r\n return;\r\n }\r\n const file = files[0];\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n let imageTypeSelection = { value: null, label: \"\" };\r\n if (\r\n this.props.defaultAttachmentType &&\r\n _.some(\r\n this.state.typeOptions,\r\n (x) => x.value === this.props.defaultAttachmentType.value\r\n )\r\n ) {\r\n imageTypeSelection = this.props.defaultAttachmentType;\r\n }\r\n file.base64EncodedPhoto = event.target.result;\r\n file.imageType = imageTypeSelection;\r\n file.dateReceived = new Date();\r\n const newFiles = _.concat(this.state.files, file);\r\n this.setState({ files: newFiles });\r\n this.props.filesCallback(newFiles);\r\n };\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n handleImageTypeSelect(selection, file) {\r\n const files = this.state.files.slice();\r\n const fileToUpdate = _.find(\r\n files,\r\n (x) => x.base64EncodedPhoto === file.base64EncodedPhoto\r\n );\r\n fileToUpdate.imageType = selection;\r\n this.setState({\r\n files: files,\r\n });\r\n }\r\n\r\n onDateChange(date, file) {\r\n const files = this.state.files.slice();\r\n const fileToUpdate = _.find(\r\n files,\r\n (x) => x.base64EncodedPhoto === file.base64EncodedPhoto\r\n );\r\n fileToUpdate.dateReceived = date;\r\n this.setState({\r\n files: files,\r\n });\r\n }\r\n\r\n render() {\r\n const previewStyle = {\r\n display: \"inline\",\r\n width: 200,\r\n height: 200,\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Drop file or click on the icon below\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Files to be uploaded\r\n \r\n \r\n \r\n {this.state.files.map((f) => (\r\n \r\n \r\n \r\n {f.name.toUpperCase().indexOf(\"PDF\") === -1 ? (\r\n \r\n ) : (\r\n \r\n ({f.name} )\r\n \r\n )}\r\n \r\n \r\n this.removeFile(e, f)}\r\n >\r\n \r\n \r\n \r\n \r\n {this.props.fileUploadOnly ? null : (\r\n \r\n \r\n \r\n this.onDateChange(e, f)}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n this.handleImageTypeSelect(option, f)\r\n }\r\n />\r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default DropzoneUploader;\r\n","import React, { Component } from 'react';\r\n\r\nclass FilterBoolean extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n filterName: props.filterName,\r\n displayName: props.displayName,\r\n value: props.value,\r\n yesOnly: props.yesOnly,\r\n onChangeCallback: props.onChangeCallback,\r\n clearValue: props.clearValue\r\n };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevProps.clearValue !== this.props.clearValue) {\r\n if (this.props.clearValue === true ) {\r\n this.setState({ value: '' });\r\n }\r\n }\r\n }\r\n\r\n onChange(selectedOption) {\r\n const filteredDisplay = (selectedOption.text)\r\n ? `${this.state.displayName}: ${selectedOption.text}`\r\n : '';\r\n let newValue = null;\r\n if (selectedOption.value === 'true') {\r\n newValue = true;\r\n } else if (selectedOption.value === 'false') {\r\n newValue = false;\r\n }\r\n this.state.onChangeCallback({\r\n filterName: this.state.filterName,\r\n value: newValue,\r\n filteredDisplay,\r\n });\r\n\r\n this.setState({ value: selectedOption.value });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.displayName}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FilterBoolean;\r\n","import React, { Component } from 'react';\r\nimport Select from 'react-select';\r\nimport makeAnimated from \"react-select/animated\";\r\nimport _ from 'lodash';\r\n\r\nclass FilterMultiSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n filterName: props.filterName,\r\n displayName: props.displayName,\r\n options: props.options,\r\n values: props.values,\r\n onChangeCallback: props.onChangeCallback\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.getValues = this.getValues.bind(this);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevProps.values !== this.props.values) {\r\n const appliedValues = this.props.values === \"\" ? null : this.props.values;\r\n this.setState({values: appliedValues});\r\n }\r\n if (prevProps.options !== this.props.options) {\r\n this.setState({options: this.props.options});\r\n }\r\n }\r\n\r\n onChange(selections) {\r\n\r\n if(!selections){\r\n this.state.onChangeCallback({\r\n filterName: this.state.filterName,\r\n values: [],\r\n labels: [],\r\n filteredDisplay: \"\"\r\n });\r\n return;\r\n }\r\n\r\n const values = selections.map(x => x.value);\r\n const labels = selections.map(x => x.label);\r\n let valuesDisplay = labels.join(', ');\r\n const filteredDisplay =\r\n valuesDisplay\r\n ? `${this.state.displayName}: ${valuesDisplay}`\r\n : '';\r\n\r\n this.state.onChangeCallback({\r\n filterName: this.state.filterName,\r\n labels: labels,\r\n filteredDisplay: filteredDisplay,\r\n value: values\r\n });\r\n }\r\n\r\n getValues() {\r\n if (!this.state.values || this.state.values.length === 0 ) {\r\n return null;\r\n }\r\n const vals = this.state.values;\r\n const selectedOptions = _.filter(this.state.options, function(x) {\r\n return _.includes(vals, x.value);\r\n });\r\n return selectedOptions;\r\n }\r\n\r\n render() {\r\n if (!this.props.options) {\r\n return null;\r\n }\r\n const selectedValues = this.getValues();\r\n return (\r\n \r\n {this.state.displayName}:\r\n {selectedValues === null // working around a deficiency in this select control for setting no items selected on a multiselect\r\n ? ()\r\n : ()\r\n }\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FilterMultiSelect;\r\n","import React, { Component } from 'react';\r\nimport Select from 'react-select';\r\nimport makeAnimated from \"react-select/animated\";\r\nimport _ from 'lodash';\r\n\r\nexport default class FilterSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n filterName: props.filterName,\r\n displayName: props.displayName,\r\n options: props.options,\r\n value: props.value,\r\n onChangeCallback: props.onChangeCallback,\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.getValues = this.getValues.bind(this);\r\n }\r\n\r\n onChange(selection) {\r\n const value = selection === null ? null : selection.value;\r\n const label = selection === null ? null : selection.label;\r\n const filteredDisplay = value === null\r\n ? ''\r\n : `${this.state.displayName}: ${label}`;\r\n\r\n this.state.onChangeCallback({\r\n filterName: this.state.filterName,\r\n value,\r\n label,\r\n filteredDisplay,\r\n });\r\n }\r\n\r\n getValues(value) {\r\n if (!value) return null;\r\n return _.find(this.state.options, x => x.value === value);\r\n }\r\n\r\n render() {\r\n if (!this.props.options) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {this.state.displayName}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport { Collapse, Row, Col, Button } from 'reactstrap';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nclass FilterSet extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n collapse: (props.open !== undefined ? props.open : false),\r\n clearFilters: props.clearFilters\r\n };\r\n this.toggleFilter = this.toggleFilter.bind(this);\r\n this.getFilterDisplay = this.getFilterDisplay.bind(this);\r\n }\r\n\r\n getFilterDisplay(filters) {\r\n if (!filters || !filters.length || filters.length === 0) {\r\n return null;\r\n }\r\n const filterDisplay = filters.map(x => (((x.value !== null && x.value !== undefined)\r\n || (x.values && x.values.length && x.values.length > 0) \r\n || x.startDate\r\n || x.endDate)\r\n ? x.filteredDisplay\r\n : null)).join(' | ');\r\n if (!filterDisplay) {\r\n return '';\r\n }\r\n return [Applied Filters: , filterDisplay];\r\n }\r\n\r\n toggleFilter() {\r\n this.setState({ collapse: !this.state.collapse });\r\n }\r\n\r\n render() {\r\n const filterDisplayText = this.getFilterDisplay(this.props.filters);\r\n return (\r\n \r\n \r\n Filters\r\n \r\n \r\n {filterDisplayText}\r\n \r\n {this.props.filters && this.props.filters.length !== 0 && filterDisplayText\r\n ? (\r\n \r\n {\" \"}\r\n Clear\r\n \r\n ) : null}\r\n \r\n \r\n \r\n {this.props.children}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FilterSet;","import React, { Component } from 'react';\r\nimport { DebounceInput } from 'react-debounce-input';\r\n\r\nclass FilterText extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: props.value,\r\n debounceTimeout: props.debounceTimeout || 500,\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevProps.value !== this.props.value) {\r\n this.setState({ value: this.props.value });\r\n }\r\n }\r\n\r\n onChange(value) {\r\n const filteredDisplay = value\r\n ? `${this.props.displayName} ${this.props.descriptionPrefix ? this.props.descriptionPrefix : \"contains\"} ${value}`\r\n : null;\r\n\r\n this.props.onChangeCallback({\r\n filterName: this.props.filterName,\r\n value,\r\n filteredDisplay,\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.displayName ? this.props.displayName : null}\r\n this.onChange(event.target.value)}\r\n placeholder={this.props.placeholder ? this.props.placeholder : null}\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FilterText;\r\n","import React, { Component } from \"react\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { date_helpers } from \"../utils\";\r\nimport moment from 'moment';\r\n\r\nexport default class FilterDate extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n filterName: props.filterName,\r\n displayName: props.displayName,\r\n value: props.value,\r\n onChangeCallback: props.onChangeCallback\r\n };\r\n\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n onChange(value) {\r\n const stringFormat = this.props.showMonthYearPicker ? \"MM/YYYY\" : \"MM/DD/YYYY\";\r\n const dateDisplay = value\r\n ? `${this.state.displayName}: ${date_helpers.getSelectedDate(value, stringFormat)}`\r\n : null;\r\n this.state.onChangeCallback({\r\n value: value,\r\n filterName: this.state.filterName,\r\n filteredDisplay: dateDisplay\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n {this.state.displayName}\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { DebounceInput } from 'react-debounce-input';\r\n\r\nexport default class InputDebounce extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: props.value || '',\r\n onChangeCallback: props.onChangeCallback,\r\n maxLength: props.maxLength || 255\r\n };\r\n // this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevProps.value !== this.props.value) {\r\n this.setState({value: this.props.value});\r\n }\r\n // if (prevProps.id !== this.props.id) {\r\n // this.setState({id: this.props.id});\r\n // }\r\n }\r\n\r\n onChange(value) {\r\n let resolvedValue = value;\r\n if (this.props.forceInteger) {\r\n resolvedValue = parseInt(value);\r\n if (isNaN(resolvedValue)) {\r\n resolvedValue = \"\";\r\n }\r\n }\r\n this.state.onChangeCallback({\r\n id: this.props.id,\r\n value: resolvedValue\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n this.onChange(event.target.value)}\r\n element={this.props.type}\r\n maxLength={this.state.maxLength}\r\n />\r\n );\r\n }\r\n}","import React, { Component, Fragment } from 'react';\r\nimport { Collapse, Row, Col, Button } from 'reactstrap';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nclass MobileFilterSet extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n collapse: (props.open !== undefined ? props.open : false),\r\n clearFilters: props.clearFilters\r\n };\r\n // this.toggleFilter = this.toggleFilter.bind(this);\r\n this.getFilterDisplay = this.getFilterDisplay.bind(this);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevProps.open !== this.props.open) {\r\n // if (this.props.clearValue === true ) {\r\n this.setState({ collapse: this.props.open});\r\n // }\r\n }\r\n }\r\n\r\n getFilterDisplay(filters) {\r\n if (!filters || !filters.length || filters.length === 0) {\r\n return null;\r\n }\r\n const filterDisplay = filters.map(x => (((x.value !== null && x.value !== undefined)\r\n || (x.values && x.values.length && x.values.length > 0) \r\n || x.startDate\r\n || x.endDate)\r\n ? x.filteredDisplay\r\n : null)).join(' | ');\r\n if (!filterDisplay) {\r\n return '';\r\n }\r\n return [Applied Filters: , filterDisplay];\r\n }\r\n\r\n // toggleFilter() {\r\n // this.setState({ collapse: !this.state.collapse });\r\n // }\r\n\r\n render() {\r\n const filterDisplayText = this.getFilterDisplay(this.props.filters);\r\n return (\r\n \r\n \r\n \r\n {/*
*/}\r\n \r\n Filters\r\n \r\n {this.state.collapse &&\r\n \r\n Done\r\n \r\n }\r\n {/*
*/}\r\n \r\n
\r\n \r\n \r\n \r\n {this.props.children}\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default MobileFilterSet;","import React from 'react';\r\nimport { Pagination, PaginationItem, PaginationLink } from 'reactstrap';\r\n\r\n//href={`${props.refPage}/#`}\r\n\r\nconst PagerLink = props => (\r\n \r\n props.callBack()}>\r\n {props.linkText}\r\n \r\n \r\n);\r\n\r\nconst Pager = (props) => {\r\n if (!props.callBack) {\r\n console.warn('Add a callBack function property on the pager that accepts a page param');\r\n }\r\n\r\n const showPager = (props.totalPages > 0);\r\n const previous = (props.pageNumber > 1);\r\n const next = (props.pageNumber !== props.totalPages) && (props.totalPages > 1);\r\n\r\n return (\r\n
\r\n {showPager &&\r\n \r\n {previous &&\r\n props.callBack(1)} refPage={props.refPage} />\r\n }\r\n {previous &&\r\n props.callBack(props.pageNumber - 1)} refPage={props.refPage} />\r\n }\r\n Page {props.pageNumber} of {props.totalPages}\r\n {next &&\r\n props.callBack(props.pageNumber + 1)} refPage={props.refPage} />\r\n }\r\n {next &&\r\n props.callBack(props.totalPages)} refPage={props.refPage} />\r\n }\r\n \r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default Pager;","import React from 'react';\r\nimport { constants } from '../utils';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nconst SortHeader = (props) => {\r\n if (!props.callBack) {\r\n console.warn('Add a callBack function property on the sort header that accepts field and direction params');\r\n }\r\n if (!props.field) {\r\n console.warn('Add a field property on the sort header that specifies the field');\r\n }\r\n if (!props.displayName) {\r\n console.warn('Add a displayName property on the sort header that specifies the field');\r\n }\r\n\r\n const dir = props.sortDir || 'desc';\r\n const callBackDir = dir === 'desc' || dir == constants.SORT_DIRECTION.descending ? 'asc' : 'desc';\r\n\r\n return (\r\n props.callBack(props.field, callBackDir)} className=\"sort-handle\">\r\n {props.displayName}\r\n {props.sorted && (dir === 'asc' || dir == constants.SORT_DIRECTION.ascending) && }\r\n {props.sorted && (dir === 'desc' || dir == constants.SORT_DIRECTION.descending) && }\r\n \r\n );\r\n};\r\n\r\nexport default SortHeader;\r\n","import React, { Component } from 'react';\r\n// import { basename } from 'path';\r\n// const base_url = 'api/Area/';\r\n\r\n\r\n\r\nexport default class Pagination extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handlePageClick = this.handlePageClick.bind(this);\r\n this.handleNextClick = this.handleNextClick.bind(this);\r\n this.handlePreviousClick = this.handlePreviousClick.bind(this);\r\n }\r\n\r\n \r\n\r\n handleNextClick(pageNumbers) {\r\n const currentPage = parseInt(this.props.currentPage, 10);\r\n\r\n if (currentPage < pageNumbers.length) {\r\n const nextPage = currentPage + 1;\r\n this.props.onPageChange(nextPage);\r\n }\r\n }\r\n\r\n handlePreviousClick() {\r\n if (this.props.currentPage > 1) {\r\n this.props.onPageChange(this.props.currentPage - 1);\r\n }\r\n }\r\n\r\n handlePageClick(e){\r\n this.props.onPageChange(e.target.id);\r\n }\r\n\r\n\r\n render() {\r\n const pageNumbers = [];\r\n const list = this.props.listOfItems;\r\n const perPage = this.props.itemsPerPage;\r\n\r\n for (let i = 1; i <= Math.ceil(list.length / perPage); i++) {\r\n pageNumbers.push(i);\r\n }\r\n\r\n const renderPageNumbers = pageNumbers.map(number => {\r\n return (\r\n //conditionally styling page number for current page\r\n this.props.currentPage !== number ?\r\n
  • \r\n {number}
  • \r\n :\r\n
  • \r\n {number}\r\n
  • \r\n );\r\n\r\n });\r\n\r\n return (\r\n
    \r\n\r\n
      \r\n
    • \r\n Pages:\r\n
    • \r\n {renderPageNumbers}\r\n
    \r\n \r\n {this.props.currentPage > 1 &&\r\n }\r\n  \r\n {this.props.currentPage < pageNumbers.length &&\r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\n//export default Pagination;\r\n","import React, { Component } from 'react';\r\nimport { Card, CardBody, CardTitle }from 'reactstrap';\r\nimport Dropzone from 'react-dropzone';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nconst initialState = () => ({\r\n files: [],\r\n});\r\n\r\nexport default class Upload extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = initialState();\r\n this.onDrop = this.onDrop.bind(this);\r\n }\r\n\r\n onDrop(acceptedFiles, rejectedFiles) {\r\n this.setState({ files: acceptedFiles });\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n Drop files or click on the icon below\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n ","import React, { Component } from \"react\";\r\nimport AsyncSelect from \"react-select/async\";\r\nimport _ from \"lodash\";\r\nimport { api } from \"../utils\";\r\n\r\nconst resolveValues = (supplier) => {\r\n if (!supplier) return;\r\n return {\r\n supplierId: supplier.value,\r\n supplier: supplier,\r\n inputValue: supplier.label\r\n };\r\n};\r\n\r\nexport default class SupplierTypeahead extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = Object.assign(\r\n { options: [] },\r\n resolveValues(props.supplier)\r\n );\r\n this.onSelect = this.onSelect.bind(this);\r\n this.loadOptions = this.loadOptions.bind(this);\r\n this.onInputChange = this.onInputChange.bind(this);\r\n this.clearSelection = this.clearSelection.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.onChange) {\r\n console.warn(\"set onChange for supplier typeahead\");\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.clearValue !== this.props.clearValue && this.props.clearValue) {\r\n this.clearSelection();\r\n } else if (this.props.supplier !== undefined\r\n && this.props.supplier !== null\r\n && this.props.supplier.value\r\n && (!this.state.supplier || (this.state.supplier && (this.state.supplier.value !== this.props.supplier.value)))) {\r\n this.setState(resolveValues(this.props.supplier));\r\n }\r\n }\r\n\r\n clearSelection() {\r\n this.setState({\r\n supplierName: null,\r\n inputValue: \"\",\r\n supplierId: null\r\n });\r\n if (this.props.onChange) {\r\n this.props.onChange({ filterName: (this.props.name), value: null });\r\n }\r\n }\r\n\r\n onSelect(selection) {\r\n if (selection) {\r\n if (this.props.onChange) {\r\n this.props.onChange(selection);\r\n }\r\n this.setState({\r\n supplier: selection\r\n });\r\n } else {\r\n this.clearSelection();\r\n }\r\n }\r\n\r\n loadOptions(inputValue, callBack) {\r\n if (!inputValue || !inputValue.length || inputValue.length < 3) return;\r\n api\r\n .fetch(`Supplier/SupplierTypeahead/${inputValue}`)\r\n .then(response => {\r\n const options = _.map(response.data, x => {\r\n return { value: x.value, label: x.label }\r\n })\r\n callBack(options);\r\n })\r\n .catch(api.catchHanlder);\r\n }\r\n\r\n onInputChange(inputValue) {\r\n this.setState({ inputValue });\r\n return inputValue;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import CustomerTypeahead from './CustomerTypeahead';\r\nimport DropzoneUploader from './DropzoneUploader';\r\nimport FilterBoolean from './FilterBoolean';\r\nimport FilterMultiSelect from './FilterMultiSelect';\r\nimport FilterSelect from './FilterSelect';\r\nimport FilterSet from './FilterSet';\r\nimport FilterText from './FilterText';\r\nimport FilterDate from './FilterDate';\r\nimport InputDebounce from './InputDebounce';\r\nimport MobileFilterSet from './MobileFilterSet';\r\nimport Pager from './Pager';\r\nimport Pagination from './Pagination';\r\nimport SortHeader from './SortHeader';\r\nimport Upload from './Upload';\r\nimport SupplierTypeahead from './SupplierTypeahead';\r\n\r\nexport {\r\n CustomerTypeahead,\r\n DropzoneUploader,\r\n FilterBoolean,\r\n FilterMultiSelect,\r\n FilterSelect,\r\n FilterSet,\r\n FilterText,\r\n FilterDate,\r\n InputDebounce,\r\n MobileFilterSet,\r\n Pager,\r\n Pagination,\r\n SortHeader,\r\n Upload,\r\n SupplierTypeahead\r\n};","const getYearList = () => {\r\n let results = [];\r\n let yr = 2000;\r\n while (yr <= 2040) {\r\n results.push({\r\n value: yr,\r\n label: yr + \"\",\r\n });\r\n yr++;\r\n }\r\n return results;\r\n};\r\n\r\nconst RENDER_TYPES = {\r\n CSV: 1,\r\n PDF: 2,\r\n Excel: 3,\r\n};\r\n\r\nconst REPORT_PARAMETER_TYPES = {\r\n Text: 0,\r\n DateRange: 1,\r\n Date: 2,\r\n ApiList: 3,\r\n Integer: 4,\r\n Boolean: 5,\r\n};\r\n\r\nconst MITERED_PRODUCT_NAME = \"Applied Binding (Hidden Stitch Mitered Corners)\";\r\n\r\nconst FINISHED_RUG_SIZES = [\r\n {\r\n value: 1,\r\n label: \"Custom\",\r\n rugWidthFeet: \"0\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"0\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 2,\r\n label: `2' X 3'`,\r\n rugWidthFeet: \"2\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"3\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 3,\r\n label: `18' X 18'`,\r\n rugWidthFeet: \"18\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"18\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 4,\r\n label: `9' X 9'`,\r\n rugWidthFeet: \"9\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"9\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 5,\r\n label: `2' X 4'`,\r\n rugWidthFeet: \"2\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"4\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 6,\r\n label: `3' X 5'`,\r\n rugWidthFeet: \"3\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"5\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 7,\r\n label: `4' X 6'`,\r\n rugWidthFeet: \"4\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"6\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 8,\r\n label: `5' X 8'`,\r\n rugWidthFeet: \"5\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"8\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 9,\r\n label: `6' X 9'`,\r\n rugWidthFeet: \"6\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"9\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 10,\r\n label: `8' X 10'`,\r\n rugWidthFeet: \"8\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"10\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 11,\r\n label: `8' X 11'`,\r\n rugWidthFeet: \"8\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"11\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 12,\r\n label: `9' X 12'`,\r\n rugWidthFeet: \"9\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"12\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 13,\r\n label: `10' X 14'`,\r\n rugWidthFeet: \"10\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"14\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 14,\r\n label: `12' X 15'`,\r\n rugWidthFeet: \"12\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"15\",\r\n rugLengthInches: \"0\",\r\n },\r\n {\r\n value: 15,\r\n label: `12' X 18'`,\r\n rugWidthFeet: \"12\",\r\n rugWidthInches: \"0\",\r\n rugLengthFeet: \"18\",\r\n rugLengthInches: \"0\",\r\n },\r\n];\r\n\r\nconst CUSTOM_RUG_SHAPES = {\r\n ROUND: \"Round\",\r\n RECTANGULAR: \"Rectangular\",\r\n SQUARE: \"Square\",\r\n};\r\n\r\nconst CUSTOM_RUG_SHAPE_LIST = {\r\n ROUND: { label: CUSTOM_RUG_SHAPES.ROUND, value: 1 },\r\n RECTANGULAR: { label: CUSTOM_RUG_SHAPES.RECTANGULAR, value: 2 },\r\n ODD_SHAPES: { label: \"Odd Shapes\", value: 3 },\r\n NOT_APPLICABLE: { label: \"N/A\", value: 4 },\r\n SQUARE: { lable: CUSTOM_RUG_SHAPES.SQUARE, value: 5 },\r\n};\r\n\r\nconst PRICING_TYPES = [\r\n { value: 1, label: \"Net Sales\" },\r\n { value: 2, label: \"Area Specific\" },\r\n];\r\n\r\nexport default {\r\n NONE_INTERNATIONAL_RUG_COLLECTION: \".NONE\",\r\n monthList: [\r\n { value: 0, label: \"JANUARY\" },\r\n { value: 1, label: \"FEBRUARY\" },\r\n { value: 2, label: \"MARCH\" },\r\n { value: 3, label: \"APRIL\" },\r\n { value: 4, label: \"MAY\" },\r\n { value: 5, label: \"JUNE\" },\r\n { value: 6, label: \"JULY\" },\r\n { value: 7, label: \"AUGUST\" },\r\n { value: 8, label: \"SEPTEMBER\" },\r\n { value: 9, label: \"OCTOBER\" },\r\n { value: 10, label: \"NOVEMBER\" },\r\n { value: 11, label: \"DECEMBER\" },\r\n ],\r\n yearList: getYearList(),\r\n USER_ROLES: [\r\n { id: 1, name: \"Administrator\", value: 1, label: \"Administrator\" },\r\n { id: 2, name: \"Data Entry\", value: 2, label: \"Data Entry\" },\r\n { id: 3, name: \"Reporting\", value: 3, label: \"Reporting\" },\r\n { id: 4, name: \"Finance Clerk\", value: 4, label: \"Finance Clerk\" },\r\n { id: 5, name: \"Agent\", value: 5, label: \"Agent\" },\r\n ],\r\n PRICING_TYPES: PRICING_TYPES,\r\n RENDER_TYPES: RENDER_TYPES,\r\n MITERED_PRODUCT_NAME: MITERED_PRODUCT_NAME,\r\n FINISHED_RUG_SIZES: FINISHED_RUG_SIZES,\r\n CUSTOM_RUG_SHAPES: CUSTOM_RUG_SHAPES,\r\n CUSTOM_RUG_SHAPE_LIST: CUSTOM_RUG_SHAPE_LIST,\r\n RENDER_TYPE_LIST: [\r\n { value: 1, label: \"CSV\" },\r\n { value: 2, label: \"Adobe PDF\" },\r\n { value: 3, label: \"Excel\" },\r\n ],\r\n REPORT_PARAMETER_TYPES: REPORT_PARAMETER_TYPES,\r\n ORDER_STATUS: {\r\n CANCEL: { value: 1, label: \"CANCEL\" },\r\n CLOSED: { value: 2, label: \"CLOSED\" },\r\n MEMO_BLD: { value: 3, label: \"MEMO BLD\" },\r\n OPEN: { value: 4, label: \"OPEN\" },\r\n QUOTE: { value: 5, label: \"QUOTE\" },\r\n },\r\n PRODUCT_STATUS: {\r\n CURRENT: { value: 1, label: \"CURRENT\" },\r\n KEY_PRODUCT: { value: 2, label: \"KEY_PRODUCT\" },\r\n INACTIVE: { value: 3, label: \"INACTIVE\" },\r\n DROPPED: { value: 4, label: \"DROPPED\" },\r\n },\r\n ORDER_LINE_TYPE: {\r\n CARPET: { value: 1, label: \"CARPET\" },\r\n FREIGHT: { value: 2, label: \"FREIGHT\" },\r\n MISCELLANEOUS: { value: 3, label: \"MISCELLANEOUS\" },\r\n RUG_PAD: { value: 4, label: \"RUG PAD\" },\r\n SALES_TAX: { value: 5, label: \"SALES TAX\" },\r\n CUSTOM_RUG: { value: 6, label: \"CUSTOM RUG\" },\r\n INTL_COLL_RUG: { value: 7, label: \"INTL COLL RUG\" },\r\n HARD_SURFACE: { value: 8, label: \"HARD_SURFACE\" },\r\n CREDIT_CARD_SURCHARGE: { value: 9, label: \"CREDIT CARD SURCHARGE\" },\r\n ROLL_RUNNER: { value: 10, label: \"ROLL RUNNER\" },\r\n BINDING: { value: 11, label: \"BINDING\" },\r\n CARPET_TILE: { value: 12, label: \"CARPET TILE\" },\r\n SAMPLE: { value: 13, label: \"SAMPLE\" },\r\n RUG_FIELD: { value: 21, label: \"RUG:FIELD\" },\r\n RUG_BORDER: { value: 22, label: \"RUG:BORDER\" },\r\n RUG_MISCELLANEOUS: { value: 23, label: \"RUG:MISCELLANEOUS\" },\r\n },\r\n PHONE_TYPE: {\r\n HOME: 1,\r\n CELL: 2,\r\n FAX: 3,\r\n OFFICE: 4,\r\n SHIP_TO: 9,\r\n TOLL_FREE: 11,\r\n },\r\n ADDRESS_TYPE: {\r\n BILL_TO: 1,\r\n SHIP_TO: 2,\r\n PO_BOX: 3,\r\n HOME: 4,\r\n SAMPLES_ONLY: 8,\r\n },\r\n PAYMENT_TYPE: {\r\n CASH: { value: 1, label: \"CASH\" },\r\n EXTENDED_CREDIT: { value: 2, label: \"EXTENDED CREDIT\" },\r\n CREDIT_CARD: { value: 3, label: \"CREDIT CARD\" },\r\n REBATE: { value: 4, label: \"REBATE\" },\r\n CHECK: { value: 5, label: \"CHECK\" },\r\n CREDIT: { value: 6, label: \"CREDIT\" },\r\n },\r\n PRODUCT_TYPE: {\r\n CARPET: { value: 1, label: \"CARPET\" },\r\n RUG: { value: 2, label: \"RUG\" },\r\n MISCELLANEOUS: { value: 3, label: \"MISCELLANEOUS\" },\r\n RUG_PAD: { value: 4, label: \"RUG PAD\" },\r\n RUG_COMPONENT: { value: 6, label: \"RUG COMPONENT\" },\r\n INTL_RUG: { value: 7, label: \"INTL COLL RUG\" },\r\n HARD_SURFACE: { value: 8, label: \"HARD_SURFACE\" },\r\n ROLL_RUNNER: { value: 9, label: \"ROLL_RUNNER\" },\r\n BORDER_OR_BINDING: { value: 10, label: \"BORDER OR BINDING\" },\r\n CARPET_TILE: { value: 11, label: \"CARPET TILE\" },\r\n SAMPLE: { value: 12, label: \"SAMPLE\" },\r\n SQUARE_FOOT_RUG: { value: 13, label: \"SQUARE FOOT RUG\" },\r\n },\r\n ATTACHMENT_TYPE: {\r\n PRODUCT_IMAGE_B: { value: 1, label: \"Product Image - Size B\" },\r\n PRODUCT_IMAGE_C: { value: 2, label: \"Product Image - Size C\" },\r\n PRODUCT_IMAGE_D: { value: 3, label: \"Product Image - Size D\" },\r\n PRODUCT_IMAGE_ROOM_SCENE: { value: 4, label: \"Product Image - Room Scene\" },\r\n PRODUCT_IMAGE_CLOSE_UP: { value: 5, label: \"Product Image - CU\" },\r\n DETAILED_SPECS: { value: 6, label: \"Detailed Specs\" },\r\n PRODUCT_COLOR_IMAGE_B: { value: 7, label: \"Product Color Image - Size B\" },\r\n PRODUCT_COLOR_IMAGE_C: { value: 8, label: \"Product Color Image - Size C\" },\r\n PRODUCT_COLOR_IMAGE_D: { value: 9, label: \"Product Color Image - Size D\" },\r\n CUSTOMER_TAX_CERTIFICATE: { value: 10, label: \"Customer Tax Certificate\" },\r\n MEMO_BILLED_SAMPLE_FORM: { value: 11, label: \"Memo Billed Sample Form\" },\r\n CLAIM_IMAGE: { value: 12, label: \"Claim Image\" },\r\n },\r\n PRODUCT_COLOR_EXCLUDED_FILTERS: [\r\n { value: 1, label: \"Product Image - Size B\" },\r\n { value: 2, label: \"Product Image - Size C\" },\r\n { value: 3, label: \"Product Image - Size D\" },\r\n { value: 4, label: \"Product Image - Room Scene\" },\r\n { value: 5, label: \"Product Image - CU\" },\r\n { value: 6, label: \"Detailed Specs\" },\r\n { value: 10, label: \"Customer Tax Certificate\" },\r\n { value: 11, label: \"Memo Billed Sample Form\" },\r\n { value: 12, label: \"Claim Image\" },\r\n ],\r\n PRODUCT_DETAILS_EXCLUDED_FILTERS: [\r\n { value: 1, label: \"Product Image - Size B\" },\r\n { value: 2, label: \"Product Image - Size C\" },\r\n { value: 3, label: \"Product Image - Size D\" },\r\n { value: 5, label: \"Product Image - CU\" },\r\n { value: 7, label: \"Product Color Image - Size B\" },\r\n { value: 8, label: \"Product Color Image - Size C\" },\r\n { value: 9, label: \"Product Color Image - Size D\" },\r\n { value: 10, label: \"Customer Tax Certificate\" },\r\n { value: 11, label: \"Memo Billed Sample Form\" },\r\n { value: 12, label: \"Claim Image\" },\r\n ],\r\n PRICE_UNIT_TYPE: {\r\n SQ_YARDS: { value: 1, label: \"Sq Yds\" },\r\n SQ_FT: { value: 2, label: \"Sq Ft\" },\r\n LIN_FT: { value: 3, label: \"Lin Ft\" },\r\n EACH: { value: 4, label: \"Each\" },\r\n CARTON: { value: 5, label: \"Carton\" },\r\n },\r\n BACKING_TYPE: {\r\n COTTON: 1,\r\n LATEX: 2,\r\n OTHER: 3,\r\n },\r\n ORDER_LINE_STATUS: {\r\n IN_STOCK: { value: 1, label: \"IN_STOCK\" },\r\n BACKORDER: { value: 2, label: \"BACKORDER\" },\r\n SHIPPED: { value: 3, label: \"SHIPPED\" },\r\n STK_DYLOT: { value: 4, label: \"STK_DYLOT\" },\r\n IN_PROCESS: { value: 5, label: \"IN_PROCESS\" },\r\n SHIP_TO_GA: { value: 6, label: \"SHIP_TO_GA\" },\r\n RESERVE: { value: 7, label: \"RESERVE\" },\r\n DELIVERED: { value: 8, label: \"DELIVERED\" },\r\n DELAY_SHIP: { value: 9, label: \"DELAY_SHIP\" },\r\n NA: { value: 10, label: \"N/A\" },\r\n MILL_PICKUP: { value: 11, label: \"MILL_PICKUP\" },\r\n IN_STK_CA: { value: 12, label: \"IN_STK_CA\" },\r\n MAT_EMERY_PARK: { value: 13, label: \"MAT_EMERY_PARK\" },\r\n MAT_STAR: { value: 14, label: \"MAT_STAR\" },\r\n MAT_MCC: { value: 15, label: \"MAT_MCC\" },\r\n MAT_DCR: { value: 16, label: \"MAT_DCR\" },\r\n MAT_DERNIER: { value: 17, label: \"MAT_DERNIER\" },\r\n MAT_GE: { value: 18, label: \"MAT_GE\" },\r\n },\r\n CARPET_PRODUCT_TYPE: {\r\n UNKNOWN: { value: 1, label: \"UNKNOWN\" },\r\n INTERNATIONAL: { value: 2, label: \"International\" },\r\n DOMESTIC: { value: 3, label: \"Domestic\" },\r\n },\r\n CUSTOMER_SAMPLE_BOOK_STATUS_IDS: {\r\n shipped: 2,\r\n faxed: 3,\r\n rejected: 4,\r\n backorder: 5,\r\n agent: 7,\r\n },\r\n CUSTOMER_SAMPLE_BOOK_STATUS_COLORS: {\r\n shipped: \"backgroundSuccess\",\r\n faxed: \"backgroundPrimary\",\r\n rejected: \"backgroundDanger\",\r\n backorder: \"backgroundWarning\",\r\n agent: \"backgroundPrimaryDarker\",\r\n },\r\n CUSTOMER_SAMPLE_BOOK_STATUSES: {\r\n shipped: \"Shipped\",\r\n faxed: \"Faxed\",\r\n rejected: \"Rejected\",\r\n backorder: \"Backorder\",\r\n agent: \"Agent\",\r\n },\r\n SORT_DIRECTION: {\r\n ascending: 1,\r\n descending: 2,\r\n },\r\n MEMO_ORDERLINE_STATUS: {\r\n PENDING: 1,\r\n BACKORDER: 2,\r\n SHIPPED: 3,\r\n },\r\n MEMO_SHIP_METHOD: {\r\n FEDEX_GROUND: { value: 1, label: \"FedEx Ground\" },\r\n FEDEX_EXPRESS: { value: 2, label: \"FedEx Express\" },\r\n USPS_PRIORITY: { value: 3, label: \"USPS Priority\" },\r\n },\r\n CUSTOMER_ATTACHMENT_TYPE: {\r\n TAX_CERTIFICATE: 1,\r\n MEMO_BILLED_SAMPLE_FORM: 2,\r\n },\r\n INVOICE_TERMS: {\r\n CBD: 1,\r\n NET30: 2,\r\n },\r\n MIME_XLSX: \"application/vnd.openxmlformats-officedocument.spreadsheetml\",\r\n MIME_CSV: \"text/csv\",\r\n MIME_PDF: \"application/pdf\",\r\n TYPE_OF_INVOICE: {\r\n Acknowledgement: 1,\r\n Invoice: 2,\r\n Proforma: 3,\r\n Quote: 4,\r\n },\r\n SAMPLE_BOOK_STATUS_TYPE: {\r\n INACTIVE: 1,\r\n ACTIVE: 2,\r\n DROPPED: 3,\r\n },\r\n STATES_LIST: [\r\n { value: \"AL\", label: \"Alabama\" },\r\n { value: \"AK\", label: \"Alaska\" },\r\n { value: \"AR\", label: \"Arkansas\" },\r\n { value: \"AZ\", label: \"Arizona\" },\r\n { value: \"CA\", label: \"California\" },\r\n { value: \"CO\", label: \"Colorado\" },\r\n { value: \"CT\", label: \"Connecticut\" },\r\n { value: \"DE\", label: \"Delaware\" },\r\n { value: \"FL\", label: \"Florida\" },\r\n { value: \"GA\", label: \"Georgia\" },\r\n { value: \"HI\", label: \"Hawaii\" },\r\n { value: \"ID\", label: \"Idaho\" },\r\n { value: \"IL\", label: \"Illinois\" },\r\n { value: \"IN\", label: \"Indiana\" },\r\n { value: \"IA\", label: \"Iowa\" },\r\n { value: \"KS\", label: \"Kansas\" },\r\n { value: \"KY\", label: \"Kentucky\" },\r\n { value: \"LA\", label: \"Louisiana\" },\r\n { value: \"ME\", label: \"Maine\" },\r\n { value: \"MD\", label: \"Maryland\" },\r\n { value: \"MA\", label: \"Massachusetts\" },\r\n { value: \"MI\", label: \"Michigan\" },\r\n { value: \"MN\", label: \"Minnesota\" },\r\n { value: \"MS\", label: \"Mississippi\" },\r\n { value: \"MO\", label: \"Missouri\" },\r\n { value: \"MT\", label: \"Montana\" },\r\n { value: \"NE\", label: \"Nebraska\" },\r\n { value: \"NV\", label: \"Nevada\" },\r\n { value: \"NH\", label: \"New Hampshire\" },\r\n { value: \"NJ\", label: \"New Jersey\" },\r\n { value: \"NM\", label: \"New Mexico\" },\r\n { value: \"NY\", label: \"New York\" },\r\n { value: \"NC\", label: \"North Carolina\" },\r\n { value: \"ND\", label: \"North Dakota\" },\r\n { value: \"Ohio\", label: \"OH\" },\r\n { value: \"OK\", label: \"Oklahoma\" },\r\n { value: \"OR\", label: \"Oregon\" },\r\n { value: \"PA\", label: \"Pennsylvania\" },\r\n { value: \"RI\", label: \"Rhode Island\" },\r\n { value: \"SC\", label: \"South Carolina\" },\r\n { value: \"SD\", label: \"South Dakota\" },\r\n { value: \"TN\", label: \"Tennessee\" },\r\n { value: \"TX\", label: \"Texas\" },\r\n { value: \"UT\", label: \"Utah\" },\r\n { value: \"VT\", label: \"Vermont\" },\r\n { value: \"VA\", label: \"Virginia\" },\r\n { value: \"WA\", label: \"Washington\" },\r\n { value: \"WV\", label: \"West Virginia\" },\r\n { value: \"WI\", label: \"Wisconsin\" },\r\n { value: \"WY\", label: \"Wyoming\" },\r\n ],\r\n CUSTOM_RUG_DEFAULT_PRICES: {\r\n RUG_BACKING_PRICE_PER: \"0.85\",\r\n RUG_BACKING_COST_PER: \"0.50\",\r\n PAD_CUT_COST: \"22.00\",\r\n PAD_CUT_PRICE: \"30.00\",\r\n },\r\n SERGING_LIST: [\r\n {\r\n id: 1135,\r\n dcProductId: 193937,\r\n name: \"3 Wool Serging Charge\",\r\n costPer: 2.7,\r\n pricePer: 4.5,\r\n }, // Legacy product Id = 1393\r\n {\r\n id: 3835,\r\n dcProductId: 199289,\r\n name: \"3 Premium Wool Serging Charge\",\r\n costPer: 7.5,\r\n pricePer: 12.5,\r\n }, // Legacy product Id = 4568\r\n {\r\n id: 4231,\r\n dcProductId: 204044,\r\n name: \"3 Wool Serging Charge (N)\",\r\n costPer: 2.75,\r\n pricePer: 4.6,\r\n }, // Legacy product Id = 4997\r\n ],\r\n MACHINE_SERGING_LIST: [\r\n {\r\n id: 2177,\r\n dcProductId: 193938,\r\n name: \"4 Applied Borders (Machine) 2-3/4\",\r\n costPer: 2.75,\r\n pricePer: 4.75,\r\n },\r\n ], // Legacy product Id = 2668\r\n MITERED_LIST: [\r\n {\r\n id: 2563,\r\n dcProductId: 193945,\r\n name: MITERED_PRODUCT_NAME,\r\n costPer: 4.75,\r\n pricePer: 7.95, // Legacy product Id = 3105\r\n },\r\n ],\r\n CUSTOM_RUG_CONFIG_NAMES: {\r\n DefaultCutChargeProduct: \"DefaultCutChargeProduct\",\r\n DefaultRugEndArmorProduct: \"DefaultRugEndArmorProduct\",\r\n DefaultInboundFreightProduct: \"DefaultInboundFreightProduct\",\r\n DefaultBackingProduct: \"DefaultBackingProduct\",\r\n DefaultPadCutChargeProduct: \"DefaultPadCutChargeProduct\",\r\n Under30SFPadCutChargeProduct: \"Under30SFPadCutChargeProduct\",\r\n DefaultClippedCornersProduct: \"DefaultClippedCornersProduct\",\r\n DefaultLaborCutoutProduct: \"DefaultLaborCutoutProduct\",\r\n DefaultLaborRoundProduct: \"DefaultLaborRoundProduct\",\r\n DefaultFabricationChargeProduct: \"DefaultFabricationChargeProduct\",\r\n DefaultUVSergingChargeProduct: \"DefaultUVSergingChargeProduct\",\r\n DefaultWoolSergingChargeProduct: \"DefaultWoolSergingChargeProduct\",\r\n DefaultPremiumWoolSergingChargeProduct:\r\n \"DefaultPremiumWoolSergingChargeProduct\",\r\n DefaultWoolSergingChargeNProduct: \"DefaultWoolSergingChargeNProduct\",\r\n DefaultAppliedMachineBordersProduct: \"DefaultAppliedMachineBordersProduct\",\r\n DefaultMiteredProduct: \"DefaultMiteredProduct\",\r\n DefaultRugPadLuxFeltCustomSizeProduct:\r\n \"DefaultRugPadLuxFeltCustomSizeProduct\",\r\n DefaultSevenSeamPadPerLFFeeProduct: \"DefaultSevenSeamPadPerLFFeeProduct\",\r\n BindingCottonSmallProduct: \"BindingCottonSmallProduct\",\r\n BindingSolidSmallProduct: \"BindingSolidSmallProduct\",\r\n },\r\n MIN_REPEAT: \"3.0\",\r\n COMMON_SUPPLIER_IDS: {\r\n NOURISON: 77,\r\n EMERY_PARK: 53,\r\n DESIGN_MATERIAL: 62,\r\n },\r\n CONSTRUCTION_TYPE_IDS: {\r\n INDOOR_OUTDOOR: 17,\r\n },\r\n};\r\n"],"sourceRoot":""}