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 => (), className: 'sell-price', }, { Header: 'Cost Price', accessor: row => (), className: 'cost-price', }, // { // Header: 'Cost Account', // accessor: 'cost_account.name', // className: "cost-account", // }, // { // Header: 'Sell Account', // accessor: 'sell_account.name', // className: "sell-account", // }, // { // Header: 'Inventory Account', // accessor: 'inventory_account.name', // className: "inventory-account", // }, { id: 'actions', Cell: ({ cell }) => (