a2e84db049
part 3 of the renaming
59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
import { useEffect } from 'react';
|
|
import { useSetRecoilState } from 'recoil';
|
|
|
|
import { availableTableColumnsScopedState } from '@/ui/object/record-table/states/availableTableColumnsScopedState';
|
|
import { useView } from '@/views/hooks/useView';
|
|
import { ViewType } from '@/views/types/ViewType';
|
|
|
|
import { useObjectMetadataItemInContext } from '../hooks/useObjectMetadataItemInContext';
|
|
|
|
export const ObjectTableEffect = () => {
|
|
const {
|
|
setAvailableSortDefinitions,
|
|
setAvailableFilterDefinitions,
|
|
setAvailableFieldDefinitions,
|
|
setViewType,
|
|
setViewObjectId,
|
|
} = useView();
|
|
|
|
const {
|
|
columnDefinitions,
|
|
filterDefinitions,
|
|
sortDefinitions,
|
|
foundObjectMetadataItem,
|
|
} = useObjectMetadataItemInContext();
|
|
|
|
const tableScopeId = foundObjectMetadataItem?.namePlural ?? '';
|
|
|
|
const setAvailableTableColumns = useSetRecoilState(
|
|
availableTableColumnsScopedState(tableScopeId),
|
|
);
|
|
|
|
useEffect(() => {
|
|
if (!foundObjectMetadataItem) {
|
|
return;
|
|
}
|
|
setViewObjectId?.(foundObjectMetadataItem.id);
|
|
setViewType?.(ViewType.Table);
|
|
|
|
setAvailableSortDefinitions?.(sortDefinitions);
|
|
setAvailableFilterDefinitions?.(filterDefinitions);
|
|
setAvailableFieldDefinitions?.(columnDefinitions);
|
|
|
|
setAvailableTableColumns(columnDefinitions);
|
|
}, [
|
|
setAvailableTableColumns,
|
|
setViewObjectId,
|
|
setViewType,
|
|
columnDefinitions,
|
|
setAvailableSortDefinitions,
|
|
setAvailableFilterDefinitions,
|
|
setAvailableFieldDefinitions,
|
|
foundObjectMetadataItem,
|
|
sortDefinitions,
|
|
filterDefinitions,
|
|
]);
|
|
|
|
return <></>;
|
|
};
|