import React, { useState } from 'react'; function ColumnTitle({ allowRenameColumn, onClick, children: title }) { return allowRenameColumn ? ( {title} ) : ( {title} ) } function useRenameMode(state) { const [renameMode, setRenameMode] = useState(state) function toggleRenameMode() { setRenameMode(!renameMode) } return [renameMode, toggleRenameMode] } function DefaultColumnHeader({ children: column, allowRemoveColumn, onColumnRemove, allowRenameColumn, onColumnRename }) { const [renameMode, toggleRenameMode] = useRenameMode(false) const [titleInput, setTitleInput] = useState('') function handleRenameColumn(event) { event.preventDefault() onColumnRename(column, titleInput) toggleRenameMode() } function handleRenameMode() { setTitleInput(column.title) toggleRenameMode() } return (
{renameMode ? (
setTitleInput(value)} autoFocus />
) : ( <> {column.title} {allowRemoveColumn && onColumnRemove(column)}>×} )}
) } export default DefaultColumnHeader;