diff --git a/client/src/components/VendorSelecetList.js b/client/src/components/VendorSelecetList.js
new file mode 100644
index 000000000..12ad1e61e
--- /dev/null
+++ b/client/src/components/VendorSelecetList.js
@@ -0,0 +1,58 @@
+import React, { useCallback } from 'react';
+import { FormattedMessage as T } from 'react-intl';
+import { ListSelect } from 'components';
+import { MenuItem } from '@blueprintjs/core';
+
+export default function VendorSelecetList({
+ vendorsList,
+ selectedVendorId,
+ defaultSelectText = ,
+ onVenderSelected,
+ // disabled = false,
+ ...restProps
+}) {
+ // Filter Vendors List
+ const FilterVendors = (query, vender, index, exactMatch) => {
+ const normalizedTitle = vender.display_name.toLowerCase();
+ const normalizedQuery = query.toLowerCase();
+ if (exactMatch) {
+ return normalizedTitle === normalizedQuery;
+ } else {
+ return (
+ `${vender.display_name} ${normalizedTitle}`.indexOf(normalizedQuery) >=
+ 0
+ );
+ }
+ };
+
+ const handleVendorSelected = useCallback(
+ (Vendor) => onVenderSelected && onVenderSelected(Vendor),
+ [],
+ );
+
+ const handleVenderRenderer = useCallback(
+ (vender, { handleClick }) => (
+
+ ),
+ [],
+ );
+
+ return (
+
+ );
+}
diff --git a/client/src/components/index.js b/client/src/components/index.js
index fd027601e..2d8669398 100644
--- a/client/src/components/index.js
+++ b/client/src/components/index.js
@@ -30,6 +30,7 @@ import Row from './Grid/Row';
import Col from './Grid/Col';
import CloudLoadingIndicator from './CloudLoadingIndicator';
import MoneyExchangeRate from './MoneyExchangeRate';
+import VendorSelecetList from './VendorSelecetList';
const Hint = FieldHint;
@@ -67,4 +68,5 @@ export {
Row,
CloudLoadingIndicator,
MoneyExchangeRate,
+ VendorSelecetList,
};
diff --git a/client/src/containers/Purchases/Bill/BillFormHeader.js b/client/src/containers/Purchases/Bill/BillFormHeader.js
index 135412ce4..65334974f 100644
--- a/client/src/containers/Purchases/Bill/BillFormHeader.js
+++ b/client/src/containers/Purchases/Bill/BillFormHeader.js
@@ -13,7 +13,7 @@ import { momentFormatter, compose, tansformDateValue } from 'utils';
import classNames from 'classnames';
import { CLASSES } from 'common/classes';
import {
- ListSelect,
+ VendorSelecetList,
ErrorMessage,
FieldRequiredHint,
Row,
@@ -91,17 +91,10 @@ function BillFormHeader({
}
>
- }
- itemRenderer={vendorNameRenderer}
- itemPredicate={filterVendorAccount}
- popoverProps={{ minimal: true }}
+ }
- labelProp={'display_name'}
/>
@@ -135,7 +128,7 @@ function BillFormHeader({
className={classNames(
'form-group--due-date',
'form-group--select-list',
- CLASSES.FILL
+ CLASSES.FILL,
)}
intent={errors.due_date && touched.due_date && Intent.DANGER}
helperText={
diff --git a/client/src/containers/Purchases/PaymentMades/PaymentMadeFormHeader.js b/client/src/containers/Purchases/PaymentMades/PaymentMadeFormHeader.js
index 7ceda4763..172c29396 100644
--- a/client/src/containers/Purchases/PaymentMades/PaymentMadeFormHeader.js
+++ b/client/src/containers/Purchases/PaymentMades/PaymentMadeFormHeader.js
@@ -16,7 +16,7 @@ import { CLASSES } from 'common/classes';
import { momentFormatter, compose, tansformDateValue } from 'utils';
import {
AccountsSelectList,
- ListSelect,
+ VendorSelecetList,
ErrorMessage,
FieldRequiredHint,
Money,
@@ -81,7 +81,7 @@ function PaymentMadeFormHeader({
const triggerFullAmountChanged = (value) => {
onFullAmountChanged && onFullAmountChanged(value);
- }
+ };
const handleFullAmountBlur = (event) => {
triggerFullAmountChanged(event.currentTarget.value);
@@ -133,18 +133,11 @@ function PaymentMadeFormHeader({
}
>
- }
- itemRenderer={handleVenderRenderer}
- itemPredicate={handleFilterVender}
- popoverProps={{ minimal: true }}
+ }
- labelProp={'display_name'}
- buttonProps={{ disabled: !isNewMode }}
+ // buttonProps={{ disabled: !isNewMode }}
disabled={!isNewMode}
/>
@@ -173,26 +166,27 @@ function PaymentMadeFormHeader({
label={}
inline={true}
className={('form-group--full-amount', Classes.FILL)}
- intent={
- errors.full_amount && touched.full_amount && Intent.DANGER
- }
+ intent={errors.full_amount && touched.full_amount && Intent.DANGER}
labelInfo={}
helperText={
}
>
-
- Receive full amount ()
+
+ Receive full amount (
+ )
@@ -238,7 +232,7 @@ function PaymentMadeFormHeader({
name={'payment_account_id'}
{...{ errors, touched }}
/>
- }
+ }
>
}
+ helperText={
+
+ }
>