Fix:CurrencySelectList.

This commit is contained in:
elforjani3
2020-11-25 23:06:28 +02:00
parent ad61e01214
commit e53da65e4e

View File

@@ -1,14 +1,16 @@
import React, { useCallback, useState, useEffect, useMemo } from 'react'; import React, { useCallback, useState, useEffect, useMemo } from 'react';
import { FormattedMessage as T } from 'react-intl'; import { FormattedMessage as T } from 'react-intl';
import { ListSelect } from 'components'; import { CLASSES } from 'common/classes';
import { MenuItem } from '@blueprintjs/core'; import classNames from 'classnames';
import { MenuItem, Button } from '@blueprintjs/core';
import { Select } from '@blueprintjs/select';
export default function CurrencySelectList({ export default function CurrencySelectList({
currenciesList, currenciesList,
selectedCurrencyCode, selectedCurrencyCode,
defaultSelectText = <T id={'select_currency_code'} />, defaultSelectText = <T id={'select_currency_code'} />,
onCurrencySelected, onCurrencySelected,
...restProps popoverFill = false,
}) { }) {
const [selectedCurrency, setSelectedCurrency] = useState(null); const [selectedCurrency, setSelectedCurrency] = useState(null);
@@ -27,7 +29,7 @@ export default function CurrencySelectList({
); );
} }
}; };
const onCurrencySelect = useCallback((currency) => { const onCurrencySelect = useCallback((currency) => {
setSelectedCurrency({ ...currency }); setSelectedCurrency({ ...currency });
onCurrencySelected && onCurrencySelected(currency); onCurrencySelected && onCurrencySelected(currency);
@@ -44,17 +46,26 @@ export default function CurrencySelectList({
}, []); }, []);
return ( return (
<ListSelect <Select
items={currenciesList} items={currenciesList}
selectedItemProp={'currency_code'}
selectedItem={selectedCurrencyCode}
labelProp={'currency_code'}
defaultText={defaultSelectText}
onItemSelect={onCurrencySelect}
itemPredicate={filterCurrencies}
itemRenderer={currencyCodeRenderer} itemRenderer={currencyCodeRenderer}
popoverProps={{ minimal: true }} itemPredicate={filterCurrencies}
{...restProps} onItemSelect={onCurrencySelect}
/> filterable={true}
popoverProps={{
minimal: true,
usePortal: !popoverFill,
inline: popoverFill,
}}
className={classNames('form-group--select-list', {
[CLASSES.SELECT_LIST_FILL_POPOVER]: popoverFill,
})}
>
<Button
text={
selectedCurrency ? selectedCurrencyCode : defaultSelectText
}
/>
</Select>
); );
} }