import React, {useState, useEffect, useCallback, useMemo} from 'react'; import { Button, Popover, Menu, MenuItem, MenuDivider, Position, } from '@blueprintjs/core' import {compose} from 'utils'; import DataTable from 'components/DataTable'; import Icon from 'components/Icon'; import Money from 'components/Money'; import withItems from 'containers/Items/withItems'; import LoadingIndicator from 'components/LoadingIndicator'; const ItemsDataTable = ({ loading, itemsTableLoading, itemsCurrentPage, // props onEditItem, onDeleteItem, onFetchData, onSelectedRowsChange, }) => { const [initialMount, setInitialMount] = useState(false); useEffect(() => { if (!itemsTableLoading) { setInitialMount(true); } }, [itemsTableLoading, setInitialMount]); const handleEditItem = (item) => () => { onEditItem(item); }; const handleDeleteItem = (item) => () => { onDeleteItem(item); }; const actionMenuList = useCallback((item) => (
), [handleEditItem, handleDeleteItem]); const columns = useMemo(() => [ { Header: 'Item Name', accessor: 'name', className: "actions", }, { Header: 'SKU', accessor: 'sku', className: "sku", }, { Header: 'Category', accessor: 'category.name', className: 'category', }, { Header: 'Sell Price', accessor: row => (