import React, {useEffect} from 'react'; import { useHistory } from 'react-router'; import { connect } from 'react-redux'; import { Alignment, Navbar, NavbarGroup, Tabs, Tab, Button } from '@blueprintjs/core'; import { useParams } from 'react-router-dom'; import Icon from 'components/Icon'; import { Link } from 'react-router-dom'; import { compose } from 'utils'; import AccountsConnect from 'connectors/Accounts.connector'; import DashboardConnect from 'connectors/Dashboard.connector'; import {useUpdateEffect} from 'hooks'; function AccountsViewsTabs({ views, setTopbarEditView, customViewChanged, addAccountsTableQueries, onViewChanged, }) { const history = useHistory(); const { custom_view_id: customViewId } = useParams(); const handleClickNewView = () => { setTopbarEditView(null); history.push('/dashboard/custom_views/accounts/new'); }; const handleViewLinkClick = () => { setTopbarEditView(customViewId); } useUpdateEffect(() => { customViewChanged && customViewChanged(customViewId); addAccountsTableQueries({ custom_view_id: customViewId || null, }); onViewChanged && onViewChanged(customViewId); }, [customViewId]); useEffect(() => { addAccountsTableQueries({ custom_view_id: customViewId, }) }, [customViewId]); const tabs = views.map(view => { const baseUrl = '/dashboard/accounts'; const link = ( {view.name} ); return ; }); return ( All} /> {tabs}