import React, { useMemo, useCallback, useState } from 'react'; import Icon from 'components/Icon'; import { Button, Classes, Menu, MenuItem, Popover, NavbarDivider, NavbarGroup, PopoverInteractionKind, Position, Intent, } from '@blueprintjs/core'; import classNames from 'classnames'; import { useRouteMatch, useHistory } from 'react-router-dom'; import { FormattedMessage as T, useIntl } from 'react-intl'; import { If, DashboardActionViewsList } from 'components'; import FilterDropdown from 'components/FilterDropdown'; import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'; import withResourceDetail from 'containers/Resources/withResourceDetails'; import withDialogActions from 'containers/Dialog/withDialogActions'; import withEstimateActions from './withEstimateActions'; import withEstimates from './withEstimates'; import { compose } from 'utils'; import { connect } from 'react-redux'; function EstimateActionsBar({ // #withResourceDetail resourceFields, //#withEstimates estimateViews, // #withEstimateActions addEstimatesTableQueries, // #own Porps onFilterChanged, selectedRows = [], }) { const { path } = useRouteMatch(); const history = useHistory(); const [filterCount, setFilterCount] = useState(0); const { formatMessage } = useIntl(); const onClickNewEstimate = useCallback(() => { history.push('/estimates/new'); }, [history]); // const filterDropdown = FilterDropdown({ // fields: resourceFields, // initialCondition: { // fieldKey: 'estimate_number', // compatator: 'contains', // value: '', // }, // onFilterChange: (filterConditions) => { // setFilterCount(filterConditions.length || 0); // addEstimatesTableQueries({ // filter_roles: filterConditions || '', // }); // onFilterChanged && onFilterChanged(filterConditions); // }, // }); const hasSelectedRows = useMemo(() => selectedRows.length > 0, [ selectedRows, ]); const viewsMenuItems = estimateViews.map((view) => { return ( ); }); return ( {viewsMenuItems}} minimal={true} interactionKind={PopoverInteractionKind.HOVER} position={Position.BOTTOM_LEFT} >