* Convert metadata tables to camelCase * datasourcemetadataid to datasourceid * refactor metadata folders * fix command * move commands out of metadata * fix seed * rename objectId and fieldId in objectMetadataId and fieldMetadataId in FE * fix field-metadata * Fix * Fix * remove logs --------- Co-authored-by: Charles Bochet <charles@twenty.com>
31 lines
1.0 KiB
TypeScript
31 lines
1.0 KiB
TypeScript
import { FieldMetadata } from '@/ui/object/field/types/FieldMetadata';
|
|
import { ColumnDefinition } from '@/ui/object/record-table/types/ColumnDefinition';
|
|
import { useRecoilScopedState } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedState';
|
|
|
|
import { boardCardFieldsScopedState } from '../states/boardCardFieldsScopedState';
|
|
|
|
import { useBoardContext } from './useBoardContext';
|
|
|
|
export const useBoardCardFields = () => {
|
|
const { BoardRecoilScopeContext } = useBoardContext();
|
|
|
|
const [, setBoardCardFields] = useRecoilScopedState(
|
|
boardCardFieldsScopedState,
|
|
BoardRecoilScopeContext,
|
|
);
|
|
|
|
const handleFieldVisibilityChange = (
|
|
field: Omit<ColumnDefinition<FieldMetadata>, 'size' | 'position'>,
|
|
) => {
|
|
setBoardCardFields((previousFields) =>
|
|
previousFields.map((previousField) =>
|
|
previousField.fieldMetadataId === field.fieldMetadataId
|
|
? { ...previousField, isVisible: !field.isVisible }
|
|
: previousField,
|
|
),
|
|
);
|
|
};
|
|
|
|
return { handleFieldVisibilityChange };
|
|
};
|