import { useContext } from 'react'; import { EditableFieldDefinitionContext } from '../contexts/EditableFieldDefinitionContext'; import { isFieldDate } from '../types/guards/isFieldDate'; import { isFieldNumber } from '../types/guards/isFieldNumber'; import { isFieldPhone } from '../types/guards/isFieldPhone'; import { isFieldProbability } from '../types/guards/isFieldProbability'; import { isFieldRelation } from '../types/guards/isFieldRelation'; import { isFieldText } from '../types/guards/isFieldText'; import { isFieldURL } from '../types/guards/isFieldURL'; import { GenericEditableDateField } from './GenericEditableDateField'; import { GenericEditableNumberField } from './GenericEditableNumberField'; import { GenericEditablePhoneField } from './GenericEditablePhoneField'; import { GenericEditableRelationField } from './GenericEditableRelationField'; import { GenericEditableTextField } from './GenericEditableTextField'; import { GenericEditableURLField } from './GenericEditableURLField'; import { ProbabilityEditableField } from './ProbabilityEditableField'; export function GenericEditableField() { const fieldDefinition = useContext(EditableFieldDefinitionContext); if (isFieldRelation(fieldDefinition)) { return ; } else if (isFieldDate(fieldDefinition)) { return ; } else if (isFieldNumber(fieldDefinition)) { return ; } else if (isFieldProbability(fieldDefinition)) { return ; } else if (isFieldURL(fieldDefinition)) { return ; } else if (isFieldText(fieldDefinition)) { return ; } else if (isFieldPhone(fieldDefinition)) { return ; } else { console.warn( `Unknown field metadata type: ${fieldDefinition.type} in GenericEditableField`, ); return <>; } }