ade41c916d
* move scope inside record table * fix imports * update mock * recordTable scope done * RecordTable done * fix board * fix typo * wip * filter is working * sort is working * Tasks working * Fix according to PR --------- Co-authored-by: Charles Bochet <charles@twenty.com>
87 lines
2.5 KiB
TypeScript
87 lines
2.5 KiB
TypeScript
import { useRecoilState } from 'recoil';
|
|
|
|
import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId';
|
|
import { getScopedState } from '@/ui/utilities/recoil-scope/utils/getScopedState';
|
|
|
|
import { UNDEFINED_FAMILY_ITEM_ID } from '../../constants';
|
|
import { ViewScopeInternalContext } from '../../scopes/scope-internal-context/ViewScopeInternalContext';
|
|
import { currentViewIdScopedState } from '../../states/currentViewIdScopedState';
|
|
import { getViewScopedStates } from '../../utils/internal/getViewScopedStates';
|
|
|
|
export const useViewScopedStates = (args?: { viewScopeId?: string }) => {
|
|
const { viewScopeId } = args ?? {};
|
|
|
|
const scopeId = useAvailableScopeIdOrThrow(
|
|
ViewScopeInternalContext,
|
|
viewScopeId,
|
|
);
|
|
|
|
// View
|
|
const [currentViewId] = useRecoilState(
|
|
getScopedState(currentViewIdScopedState, scopeId),
|
|
);
|
|
|
|
const viewId = currentViewId ?? UNDEFINED_FAMILY_ITEM_ID;
|
|
|
|
const {
|
|
availableFieldDefinitionsState,
|
|
availableFilterDefinitionsState,
|
|
availableSortDefinitionsState,
|
|
canPersistFiltersSelector,
|
|
canPersistSortsSelector,
|
|
currentViewFieldsState,
|
|
currentViewFiltersState,
|
|
currentViewIdState,
|
|
currentViewSelector,
|
|
currentViewSortsState,
|
|
entityCountInCurrentViewState,
|
|
isViewBarExpandedState,
|
|
isPersistingViewState,
|
|
onViewFieldsChangeState,
|
|
onViewFiltersChangeState,
|
|
onViewSortsChangeState,
|
|
savedViewFieldsByKeySelector,
|
|
savedViewFieldsState,
|
|
savedViewFiltersByKeySelector,
|
|
savedViewFiltersState,
|
|
savedViewSortsByKeySelector,
|
|
savedViewSortsState,
|
|
viewEditModeState,
|
|
viewObjectMetadataIdState,
|
|
viewTypeState,
|
|
viewsState,
|
|
} = getViewScopedStates({
|
|
viewScopeId: scopeId,
|
|
viewId,
|
|
});
|
|
|
|
return {
|
|
availableFieldDefinitionsState,
|
|
availableFilterDefinitionsState,
|
|
availableSortDefinitionsState,
|
|
canPersistFiltersSelector,
|
|
canPersistSortsSelector,
|
|
currentViewFieldsState,
|
|
currentViewFiltersState,
|
|
currentViewIdState,
|
|
currentViewSelector,
|
|
currentViewSortsState,
|
|
entityCountInCurrentViewState,
|
|
isViewBarExpandedState,
|
|
isPersistingViewState,
|
|
onViewFieldsChangeState,
|
|
onViewFiltersChangeState,
|
|
onViewSortsChangeState,
|
|
savedViewFieldsByKeySelector,
|
|
savedViewFieldsState,
|
|
savedViewFiltersByKeySelector,
|
|
savedViewFiltersState,
|
|
savedViewSortsByKeySelector,
|
|
savedViewSortsState,
|
|
viewEditModeState,
|
|
viewObjectMetadataIdState,
|
|
viewTypeState,
|
|
viewsState,
|
|
};
|
|
};
|