= ({
id: 'store/quickorder.review.label.seller',
}),
cellRenderer: ({ rowData }: any) => {
- if (rowData?.sellers?.length > 1) {
+ const sellers = rowData?.sellers ?? []
+ const dropdownOptions = sellers.filter(
+ (seller: { availability?: string }) =>
+ seller?.availability !== 'withoutStock'
+ )
+ const willShowDropdown = sellers.length > 1
+ const hasStock = sellers.find(
+ (seller?: { availability: string; [key: string]: unknown }) =>
+ seller?.availability !== 'withoutStock'
+ )
+
+ if (willShowDropdown) {
return (
seller?.availability !== 'withoutStock')
- .map((item: any) => {
- return {
- label: item.name,
- value: item.id,
- }
- })}
+ options={dropdownOptions.map((item: any) => {
+ return {
+ label: item.name,
+ value: item.id,
+ }
+ })}
value={rowData.seller}
onChange={(_: any, v: any) => {
updateLineSeller(rowData.index, v)
@@ -546,14 +520,7 @@ const ReviewBlock: FunctionComponent = ({
)
}
- const hasStock = rowData?.sellers?.find(
- (seller?: { availability: string; [key: string]: unknown }) =>
- seller?.availability !== 'withoutStock'
- )
-
- return rowData?.sellers?.length && hasStock
- ? rowData.sellers[0].name
- : ''
+ return sellers.length && hasStock ? sellers[0].name : ''
},
}
}