import { useContext } from 'react' import { Button, Space } from 'antd' import CheckIcon from '../../Icons/CheckIcon.jsx' import XMarkIcon from '../../Icons/XMarkIcon.jsx' import EditIcon from '../../Icons/EditIcon.jsx' import KeyboardShortcut from './KeyboardShortcut.jsx' import PropTypes from 'prop-types' import { AuthContext } from '../context/AuthContext' import { useActions } from '../context/ActionsContext' import { getModelByName } from '../../../database/ObjectModels' import { hasActionPermission } from '../../../database/permissions' const EditButtons = ({ isEditing, handleUpdate, cancelEditing, startEditing, formValid, disabled, loading, type, requirePermission = true }) => { const { userProfile } = useContext(AuthContext) const { currentObjectType } = useActions() const modelType = type || currentObjectType const model = modelType ? getModelByName(modelType) : null const denied = requirePermission && model ? !hasActionPermission(userProfile, model, 'edit') : false const editDisabled = disabled || denied return isEditing ? ( { if (!editDisabled && !loading && formValid) { handleUpdate() } }} >