* Removed isSomeInputInEditMode * Removed console.log * Added a first version of generic cell text * Removed metadata from entity table V1 * Fix * Fix * Fix
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
import { useRecoilValue } from 'recoil';
|
|
|
|
import { InplaceInputTextDisplayMode } from '@/ui/display/component/InplaceInputTextDisplayMode';
|
|
import { EditableCell } from '@/ui/table/editable-cell/components/EditableCell';
|
|
import { useCurrentRowEntityId } from '@/ui/table/hooks/useCurrentEntityId';
|
|
import { tableEntityFieldFamilySelector } from '@/ui/table/states/tableEntityFieldFamilySelector';
|
|
|
|
import { GenericEditableTextCellEditMode } from './GenericEditableTextCellEditMode';
|
|
|
|
type OwnProps = {
|
|
fieldName: string;
|
|
editModeHorizontalAlign?: 'left' | 'right';
|
|
placeholder?: string;
|
|
};
|
|
|
|
export function GenericEditableTextCell({
|
|
fieldName,
|
|
editModeHorizontalAlign,
|
|
placeholder,
|
|
}: OwnProps) {
|
|
const currentRowEntityId = useCurrentRowEntityId();
|
|
|
|
const fieldValue = useRecoilValue<string>(
|
|
tableEntityFieldFamilySelector({
|
|
entityId: currentRowEntityId ?? '',
|
|
fieldName,
|
|
}),
|
|
);
|
|
|
|
return (
|
|
<EditableCell
|
|
editModeHorizontalAlign={editModeHorizontalAlign}
|
|
editModeContent={
|
|
<GenericEditableTextCellEditMode
|
|
fieldName={fieldName}
|
|
placeholder={placeholder}
|
|
/>
|
|
}
|
|
nonEditModeContent={
|
|
<InplaceInputTextDisplayMode>{fieldValue}</InplaceInputTextDisplayMode>
|
|
}
|
|
></EditableCell>
|
|
);
|
|
}
|