import React, { useCallback, useState, useMemo } from 'react'; import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'; import { compose } from 'utils'; import { NavbarGroup, Button, Classes, Intent, Popover, Position, PopoverInteractionKind, } from '@blueprintjs/core'; import { connect } from 'react-redux'; import classNames from 'classnames'; import Icon from 'components/Icon'; import DashboardConnect from 'connectors/Dashboard.connector'; import FilterDropdown from 'components/FilterDropdown'; import ExchangeRatesDialogConnect from 'connectors/ExchangeRatesFromDialog.connect'; import withResourceDetail from 'containers/Resources/withResourceDetails'; import { FormattedMessage as T, useIntl } from 'react-intl'; function ExchangeRateActionsBar({ openDialog, onDeleteExchangeRate, onFilterChanged, resourceFields, selectedRows = [], }) { const onClickNewExchangeRate = useCallback(() => { openDialog('exchangeRate-form', {}); }, [openDialog]); const handelDeleteExchangeRate = useCallback( (exchangeRate) => { onDeleteExchangeRate(exchangeRate); }, [selectedRows, onDeleteExchangeRate] ); const [filterCount, setFilterCount] = useState(0); const hasSelectedRows = useMemo(() => selectedRows.length > 0, [ selectedRows, ]); const filterDropdown = FilterDropdown({ fields: resourceFields, onFilterChange: (filterConditions) => { setFilterCount(filterConditions.length || 0); onFilterChanged && onFilterChanged(filterConditions); }, }); return (