diff --git a/packages/webapp/src/containers/Expenses/ExpenseForm/ExpenseFormHeaderFields.tsx b/packages/webapp/src/containers/Expenses/ExpenseForm/ExpenseFormHeaderFields.tsx index e10d485fa..067bcda94 100644 --- a/packages/webapp/src/containers/Expenses/ExpenseForm/ExpenseFormHeaderFields.tsx +++ b/packages/webapp/src/containers/Expenses/ExpenseForm/ExpenseFormHeaderFields.tsx @@ -140,7 +140,8 @@ function ExpenseFormCustomerSelect() { labelInfo={} inline={true} name={'customer_id'} - customers={customers} + fastField={true} + shouldUpdateDeps={{ items: customers }} shouldUpdate={customersFieldShouldUpdate} > } allowCreate={true} popoverFill={true} + fastField={true} + shouldUpdateDeps={{ items: customers }} + shouldUpdate={customersFieldShouldUpdate} /> ); diff --git a/packages/webapp/src/containers/Expenses/ExpenseForm/utils.tsx b/packages/webapp/src/containers/Expenses/ExpenseForm/utils.tsx index ff27b127b..73c28bdad 100644 --- a/packages/webapp/src/containers/Expenses/ExpenseForm/utils.tsx +++ b/packages/webapp/src/containers/Expenses/ExpenseForm/utils.tsx @@ -104,7 +104,7 @@ export const transformToEditForm = ( */ export const customersFieldShouldUpdate = (newProps, oldProps) => { return ( - newProps.customers !== oldProps.customers || + newProps.shouldUpdateDeps.items !== oldProps.shouldUpdateDeps.items || defaultFastFieldShouldUpdate(newProps, oldProps) ); }; diff --git a/packages/webapp/src/containers/Purchases/Bills/BillForm/BillFormHeaderFields.tsx b/packages/webapp/src/containers/Purchases/Bills/BillForm/BillFormHeaderFields.tsx index 10c69df66..0b797c2e5 100644 --- a/packages/webapp/src/containers/Purchases/Bills/BillForm/BillFormHeaderFields.tsx +++ b/packages/webapp/src/containers/Purchases/Bills/BillForm/BillFormHeaderFields.tsx @@ -2,12 +2,12 @@ import React from 'react'; import styled from 'styled-components'; import classNames from 'classnames'; -import { FormGroup, InputGroup, Classes, Position } from '@blueprintjs/core'; import { FastField, ErrorMessage, useFormikContext } from 'formik'; +import { FormGroup, InputGroup, Classes, Position } from '@blueprintjs/core'; import { DateInput } from '@blueprintjs/datetime'; + import { FeatureCan, FormattedMessage as T } from '@/components'; import { CLASSES } from '@/constants/classes'; - import { FFormGroup, FieldRequiredHint, @@ -168,9 +168,9 @@ function BillFormVendorField() { label={} inline={true} labelInfo={} - vendors={vendors} fastField={true} shouldUpdate={vendorsFieldShouldUpdate} + shouldUpdateDeps={{ items: vendors }} > {values.vendor_id && ( diff --git a/packages/webapp/src/containers/Purchases/Bills/BillForm/utils.tsx b/packages/webapp/src/containers/Purchases/Bills/BillForm/utils.tsx index 272ea3a21..7e7cce017 100644 --- a/packages/webapp/src/containers/Purchases/Bills/BillForm/utils.tsx +++ b/packages/webapp/src/containers/Purchases/Bills/BillForm/utils.tsx @@ -19,7 +19,10 @@ import { ensureEntriesHaveEmptyLine, } from '@/containers/Entries/utils'; import { useCurrentOrganization } from '@/hooks/state'; -import { isLandedCostDisabled, getEntriesTotal } from '@/containers/Entries/utils'; +import { + isLandedCostDisabled, + getEntriesTotal, +} from '@/containers/Entries/utils'; import { useBillFormContext } from './BillFormProvider'; export const MIN_LINES_NUMBER = 1; @@ -153,7 +156,7 @@ export const handleDeleteErrors = (errors) => { */ export const vendorsFieldShouldUpdate = (newProps, oldProps) => { return ( - newProps.vendors !== oldProps.vendors || + newProps.shouldUpdateDeps.items !== oldProps.shouldUpdateDeps.items || defaultFastFieldShouldUpdate(newProps, oldProps) ); }; diff --git a/packages/webapp/src/containers/Purchases/CreditNotes/CreditNoteForm/VendorCreditNoteFormHeaderFields.tsx b/packages/webapp/src/containers/Purchases/CreditNotes/CreditNoteForm/VendorCreditNoteFormHeaderFields.tsx index 7dc0bfb8e..89d76922f 100644 --- a/packages/webapp/src/containers/Purchases/CreditNotes/CreditNoteForm/VendorCreditNoteFormHeaderFields.tsx +++ b/packages/webapp/src/containers/Purchases/CreditNotes/CreditNoteForm/VendorCreditNoteFormHeaderFields.tsx @@ -185,9 +185,10 @@ function VendorCreditFormVendorSelect() { name={'vendor_id'} label={} inline={true} - vendors={vendors} - shouldUpdate={vendorsFieldShouldUpdate} labelInfo={} + fastField={true} + shouldUpdate={vendorsFieldShouldUpdate} + shouldUpdateDeps={{ items: vendors }} > {values.vendor_id && ( diff --git a/packages/webapp/src/containers/Purchases/CreditNotes/CreditNoteForm/utils.tsx b/packages/webapp/src/containers/Purchases/CreditNotes/CreditNoteForm/utils.tsx index 094f7bb55..db276ea11 100644 --- a/packages/webapp/src/containers/Purchases/CreditNotes/CreditNoteForm/utils.tsx +++ b/packages/webapp/src/containers/Purchases/CreditNotes/CreditNoteForm/utils.tsx @@ -113,7 +113,7 @@ export const transformFormValuesToRequest = (values) => { */ export const vendorsFieldShouldUpdate = (newProps, oldProps) => { return ( - newProps.vendors !== oldProps.vendors || + newProps.shouldUpdateDeps.items !== oldProps.shouldUpdateDeps.items || defaultFastFieldShouldUpdate(newProps, oldProps) ); }; diff --git a/packages/webapp/src/containers/Purchases/PaymentMades/PaymentForm/PaymentMadeFormHeaderFields.tsx b/packages/webapp/src/containers/Purchases/PaymentMades/PaymentForm/PaymentMadeFormHeaderFields.tsx index 676a4ca45..6a72e9968 100644 --- a/packages/webapp/src/containers/Purchases/PaymentMades/PaymentForm/PaymentMadeFormHeaderFields.tsx +++ b/packages/webapp/src/containers/Purchases/PaymentMades/PaymentForm/PaymentMadeFormHeaderFields.tsx @@ -238,10 +238,11 @@ function PaymentFormVendorSelect() { } - inline={true} labelInfo={} - vendors={vendors} + inline={true} + fastField={true} shouldUpdate={vendorsFieldShouldUpdate} + shouldUpdateDeps={{ items: vendors }} > {values.vendor_id && ( diff --git a/packages/webapp/src/containers/Purchases/PaymentMades/PaymentForm/utils.tsx b/packages/webapp/src/containers/Purchases/PaymentMades/PaymentForm/utils.tsx index 2858e21ae..0714d1042 100644 --- a/packages/webapp/src/containers/Purchases/PaymentMades/PaymentForm/utils.tsx +++ b/packages/webapp/src/containers/Purchases/PaymentMades/PaymentForm/utils.tsx @@ -74,7 +74,7 @@ export const transformToNewPageEntries = (entries) => { */ export const vendorsFieldShouldUpdate = (newProps, oldProps) => { return ( - newProps.vendors !== oldProps.vendors || + newProps.shouldUpdateDeps.items !== oldProps.shouldUpdateDeps.items || defaultFastFieldShouldUpdate(newProps, oldProps) ); }; diff --git a/packages/webapp/src/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormHeaderFields.tsx b/packages/webapp/src/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormHeaderFields.tsx index 1a24f758c..b9643d7e2 100644 --- a/packages/webapp/src/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormHeaderFields.tsx +++ b/packages/webapp/src/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormHeaderFields.tsx @@ -191,11 +191,11 @@ function CreditNoteCustomersSelect() { } - customers={customers} labelInfo={} inline={true} fastField={true} shouldUpdate={customerNameFieldShouldUpdate} + shouldUpdateDeps={{ items: customers }} > {values.customer_id && ( diff --git a/packages/webapp/src/containers/Sales/CreditNotes/CreditNoteForm/utils.tsx b/packages/webapp/src/containers/Sales/CreditNotes/CreditNoteForm/utils.tsx index 11ffb118d..2200146de 100644 --- a/packages/webapp/src/containers/Sales/CreditNotes/CreditNoteForm/utils.tsx +++ b/packages/webapp/src/containers/Sales/CreditNotes/CreditNoteForm/utils.tsx @@ -116,7 +116,7 @@ export const transformFormValuesToRequest = (values) => { */ export const customerNameFieldShouldUpdate = (newProps, oldProps) => { return ( - newProps.customers !== oldProps.customers || + newProps.shouldUpdateDeps.items !== oldProps.shouldUpdateDeps.items || defaultFastFieldShouldUpdate(newProps, oldProps) ); }; diff --git a/packages/webapp/src/containers/Sales/Estimates/EstimateForm/EstimateFormHeaderFields.tsx b/packages/webapp/src/containers/Sales/Estimates/EstimateForm/EstimateFormHeaderFields.tsx index bee65cd48..4e9af570a 100644 --- a/packages/webapp/src/containers/Sales/Estimates/EstimateForm/EstimateFormHeaderFields.tsx +++ b/packages/webapp/src/containers/Sales/Estimates/EstimateForm/EstimateFormHeaderFields.tsx @@ -244,9 +244,9 @@ function EstimateFormCustomerSelect() { inline={true} labelInfo={} name={'customer_id'} - customers={customers} - shouldUpdate={customersFieldShouldUpdate} fastField={true} + shouldUpdate={customersFieldShouldUpdate} + shouldUpdateDeps={{ items: customers }} > {values.customer_id && ( diff --git a/packages/webapp/src/containers/Sales/Estimates/EstimateForm/utils.tsx b/packages/webapp/src/containers/Sales/Estimates/EstimateForm/utils.tsx index cf2fb74b6..029a3a70d 100644 --- a/packages/webapp/src/containers/Sales/Estimates/EstimateForm/utils.tsx +++ b/packages/webapp/src/containers/Sales/Estimates/EstimateForm/utils.tsx @@ -80,7 +80,7 @@ export const transformToEditForm = (estimate) => { */ export const customersFieldShouldUpdate = (newProps, oldProps) => { return ( - newProps.customers !== oldProps.customers || + newProps.shouldUpdateDeps.items !== oldProps.shouldUpdateDeps.items || defaultFastFieldShouldUpdate(newProps, oldProps) ); }; diff --git a/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/InvoiceFormHeaderFields.tsx b/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/InvoiceFormHeaderFields.tsx index 8321eabfc..1cb99ebed 100644 --- a/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/InvoiceFormHeaderFields.tsx +++ b/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/InvoiceFormHeaderFields.tsx @@ -259,12 +259,12 @@ function InvoiceFormCustomerSelect() { return ( } inline={true} labelInfo={} fastField={true} + shouldUpdate={customerNameFieldShouldUpdate} + shouldUpdateDeps={{ items: customers }} > {values.customer_id && ( diff --git a/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/utils.tsx b/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/utils.tsx index 536f0081c..4af9dabb9 100644 --- a/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/utils.tsx +++ b/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/utils.tsx @@ -114,7 +114,7 @@ export const transformErrors = (errors, { setErrors }) => { */ export const customerNameFieldShouldUpdate = (newProps, oldProps) => { return ( - newProps.customers !== oldProps.customers || + newProps.shouldUpdateDeps.items !== oldProps.shouldUpdateDeps.items|| defaultFastFieldShouldUpdate(newProps, oldProps) ); }; diff --git a/packages/webapp/src/containers/Sales/PaymentReceives/PaymentReceiveForm/PaymentReceiveHeaderFields.tsx b/packages/webapp/src/containers/Sales/PaymentReceives/PaymentReceiveForm/PaymentReceiveHeaderFields.tsx index 8498f5e29..6ec14941f 100644 --- a/packages/webapp/src/containers/Sales/PaymentReceives/PaymentReceiveForm/PaymentReceiveHeaderFields.tsx +++ b/packages/webapp/src/containers/Sales/PaymentReceives/PaymentReceiveForm/PaymentReceiveHeaderFields.tsx @@ -341,9 +341,9 @@ function PaymentReceiveCustomerSelect() { inline={true} labelInfo={} name={'customer_id'} - customers={customers} fastField={true} shouldUpdate={customersFieldShouldUpdate} + shouldUpdateDeps={{ items: customers }} > {values.customer_id && ( diff --git a/packages/webapp/src/containers/Sales/PaymentReceives/PaymentReceiveForm/utils.tsx b/packages/webapp/src/containers/Sales/PaymentReceives/PaymentReceiveForm/utils.tsx index ec33a1b64..900eb9f9a 100644 --- a/packages/webapp/src/containers/Sales/PaymentReceives/PaymentReceiveForm/utils.tsx +++ b/packages/webapp/src/containers/Sales/PaymentReceives/PaymentReceiveForm/utils.tsx @@ -129,7 +129,7 @@ export const fullAmountPaymentEntries = (entries) => { */ export const customersFieldShouldUpdate = (newProps, oldProps) => { return ( - newProps.customers !== oldProps.customers || + newProps.shouldUpdateDeps.items !== oldProps.shouldUpdateDeps.items || defaultFastFieldShouldUpdate(newProps, oldProps) ); }; diff --git a/packages/webapp/src/containers/Sales/Receipts/ReceiptForm/ReceiptFormHeaderFields.tsx b/packages/webapp/src/containers/Sales/Receipts/ReceiptForm/ReceiptFormHeaderFields.tsx index 2a9ef7369..447603ad3 100644 --- a/packages/webapp/src/containers/Sales/Receipts/ReceiptForm/ReceiptFormHeaderFields.tsx +++ b/packages/webapp/src/containers/Sales/Receipts/ReceiptForm/ReceiptFormHeaderFields.tsx @@ -245,11 +245,11 @@ function ReceiptFormCustomerSelect() { } - inline={true} labelInfo={} - customers={customers} + inline={true} fastField={true} shouldUpdate={customersFieldShouldUpdate} + shouldUpdateDeps={{ items: customers }} > {values.customer_id && ( diff --git a/packages/webapp/src/containers/Sales/Receipts/ReceiptForm/utils.tsx b/packages/webapp/src/containers/Sales/Receipts/ReceiptForm/utils.tsx index 4dcaec4b2..b1f766d3b 100644 --- a/packages/webapp/src/containers/Sales/Receipts/ReceiptForm/utils.tsx +++ b/packages/webapp/src/containers/Sales/Receipts/ReceiptForm/utils.tsx @@ -104,7 +104,7 @@ export const accountsFieldShouldUpdate = (newProps, oldProps) => { */ export const customersFieldShouldUpdate = (newProps, oldProps) => { return ( - newProps.customers !== oldProps.customers || + newProps.shouldUpdateDeps.items !== oldProps.shouldUpdateDeps.items || defaultFastFieldShouldUpdate(newProps, oldProps) ); };