import { MAIN_CONTEXT_STORE_INSTANCE_ID } from '@/context-store/constants/MainContextStoreInstanceId'; import { contextStoreRecordShowParentViewComponentState } from '@/context-store/states/contextStoreRecordShowParentViewComponentState'; import { useObjectMetadataItems } from '@/object-metadata/hooks/useObjectMetadataItems'; import { type ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { useFilterValueDependencies } from '@/object-record/record-filter/hooks/useFilterValueDependencies'; import { useRecoilComponentValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValue'; import { getQueryVariablesFromFiltersAndSorts } from '@/views/utils/getQueryVariablesFromFiltersAndSorts'; export const useQueryVariablesFromParentView = ({ objectMetadataItem, }: { objectMetadataItem: ObjectMetadataItem; }) => { const { objectMetadataItems } = useObjectMetadataItems(); const recordShowParentView = useRecoilComponentValue( contextStoreRecordShowParentViewComponentState, MAIN_CONTEXT_STORE_INSTANCE_ID, ); const { filterValueDependencies } = useFilterValueDependencies(); const { filter, orderBy } = getQueryVariablesFromFiltersAndSorts({ recordFilterGroups: recordShowParentView?.parentViewFilterGroups ?? [], recordFilters: recordShowParentView?.parentViewFilters ?? [], recordSorts: recordShowParentView?.parentViewSorts ?? [], objectMetadataItem, objectMetadataItems, filterValueDependencies, }); return { filter, orderBy, }; };