import React, { useState, useContext } from 'react'; import { WaxContext } from 'wax-prosemirror-core'; import Dropdown from '../../ui/buttons/Dropdown'; import InsertTableTool from '../../ui/tables/InsertTableTool'; const CreateTable = ({ view = {}, item }) => { const { view: { main }, activeViewId, } = useContext(WaxContext); if (item.onlyOnMain) { view = main; } const [showTool, setShowTool] = useState(false); const toggleShowTool = () => setShowTool(!showTool); const { state, dispatch } = view; const { enable, icon, run, select, title } = item; const dropComponent = ( <InsertTableTool onGridSelect={colRows => { run(colRows, state, dispatch); }} /> ); const isDisabled = enable && !enable(state) && !(select && select(state, activeViewId)); return ( <Dropdown active={showTool} dropComponent={dropComponent} iconName={icon} disabled={isDisabled} onClick={toggleShowTool} title={title} /> ); }; export default CreateTable;