209 lines
6.7 KiB
TypeScript
209 lines
6.7 KiB
TypeScript
import { getScopedFamilyState } from '@/ui/utilities/recoil-scope/utils/getScopedFamilyState';
|
|
import { getScopedSelector } from '@/ui/utilities/recoil-scope/utils/getScopedSelector';
|
|
import { getScopedState } from '@/ui/utilities/recoil-scope/utils/getScopedState';
|
|
import { currentViewIdScopedState } from '@/views/states/currentViewIdScopedState';
|
|
import { isPersistingViewScopedState } from '@/views/states/isPersistingViewScopedState';
|
|
import { currentViewScopedSelector } from '@/views/states/selectors/currentViewScopedSelector';
|
|
|
|
import { availableFieldDefinitionsScopedState } from '../../states/availableFieldDefinitionsScopedState';
|
|
import { availableFilterDefinitionsScopedState } from '../../states/availableFilterDefinitionsScopedState';
|
|
import { availableSortDefinitionsScopedState } from '../../states/availableSortDefinitionsScopedState';
|
|
import { currentViewFieldsScopedFamilyState } from '../../states/currentViewFieldsScopedFamilyState';
|
|
import { currentViewFiltersScopedFamilyState } from '../../states/currentViewFiltersScopedFamilyState';
|
|
import { currentViewSortsScopedFamilyState } from '../../states/currentViewSortsScopedFamilyState';
|
|
import { entityCountInCurrentViewScopedState } from '../../states/entityCountInCurrentViewScopedState';
|
|
import { isViewBarExpandedScopedState } from '../../states/isViewBarExpandedScopedState';
|
|
import { onViewFieldsChangeScopedState } from '../../states/onViewFieldsChangeScopedState';
|
|
import { onViewFiltersChangeScopedState } from '../../states/onViewFiltersChangeScopedState';
|
|
import { onViewSortsChangeScopedState } from '../../states/onViewSortsChangeScopedState';
|
|
import { savedViewFieldsScopedFamilyState } from '../../states/savedViewFieldsScopedFamilyState';
|
|
import { savedViewFiltersScopedFamilyState } from '../../states/savedViewFiltersScopedFamilyState';
|
|
import { savedViewSortsScopedFamilyState } from '../../states/savedViewSortsScopedFamilyState';
|
|
import { canPersistViewFiltersScopedFamilySelector } from '../../states/selectors/canPersistViewFiltersScopedFamilySelector';
|
|
import { canPersistViewSortsScopedFamilySelector } from '../../states/selectors/canPersistViewSortsScopedFamilySelector';
|
|
import { savedViewFieldByKeyScopedFamilySelector } from '../../states/selectors/savedViewFieldByKeyScopedFamilySelector';
|
|
import { savedViewFiltersByKeyScopedFamilySelector } from '../../states/selectors/savedViewFiltersByKeyScopedFamilySelector';
|
|
import { savedViewSortsByKeyScopedFamilySelector } from '../../states/selectors/savedViewSortsByKeyScopedFamilySelector';
|
|
import { viewEditModeScopedState } from '../../states/viewEditModeScopedState';
|
|
import { viewObjectMetadataIdScopeState } from '../../states/viewObjectMetadataIdScopeState';
|
|
import { viewsScopedState } from '../../states/viewsScopedState';
|
|
import { viewTypeScopedState } from '../../states/viewTypeScopedState';
|
|
|
|
export const getViewScopedStates = ({
|
|
viewScopeId,
|
|
viewId,
|
|
}: {
|
|
viewScopeId: string;
|
|
viewId: string;
|
|
}) => {
|
|
const viewEditModeState = getScopedState(
|
|
viewEditModeScopedState,
|
|
viewScopeId,
|
|
);
|
|
|
|
const viewsState = getScopedState(viewsScopedState, viewScopeId);
|
|
|
|
const viewObjectMetadataIdState = getScopedState(
|
|
viewObjectMetadataIdScopeState,
|
|
viewScopeId,
|
|
);
|
|
|
|
const viewTypeState = getScopedState(viewTypeScopedState, viewScopeId);
|
|
|
|
const entityCountInCurrentViewState = getScopedState(
|
|
entityCountInCurrentViewScopedState,
|
|
viewScopeId,
|
|
);
|
|
|
|
const isViewBarExpandedState = getScopedState(
|
|
isViewBarExpandedScopedState,
|
|
viewScopeId,
|
|
);
|
|
|
|
const isPersistingViewState = getScopedState(
|
|
isPersistingViewScopedState,
|
|
viewScopeId,
|
|
);
|
|
|
|
// ViewSorts
|
|
const currentViewSortsState = getScopedFamilyState(
|
|
currentViewSortsScopedFamilyState,
|
|
viewScopeId,
|
|
viewId,
|
|
);
|
|
|
|
const savedViewSortsState = getScopedFamilyState(
|
|
savedViewSortsScopedFamilyState,
|
|
viewScopeId,
|
|
viewId,
|
|
);
|
|
|
|
const savedViewSortsByKeySelector = savedViewSortsByKeyScopedFamilySelector({
|
|
scopeId: viewScopeId,
|
|
viewId: viewId,
|
|
});
|
|
|
|
const availableSortDefinitionsState = getScopedState(
|
|
availableSortDefinitionsScopedState,
|
|
viewScopeId,
|
|
);
|
|
|
|
const canPersistSortsSelector = canPersistViewSortsScopedFamilySelector({
|
|
viewScopeId: viewScopeId,
|
|
viewId: viewId,
|
|
});
|
|
|
|
// ViewFilters
|
|
const currentViewFiltersState = getScopedFamilyState(
|
|
currentViewFiltersScopedFamilyState,
|
|
viewScopeId,
|
|
viewId,
|
|
);
|
|
|
|
const savedViewFiltersState = getScopedFamilyState(
|
|
savedViewFiltersScopedFamilyState,
|
|
viewScopeId,
|
|
viewId,
|
|
);
|
|
|
|
const savedViewFiltersByKeySelector =
|
|
savedViewFiltersByKeyScopedFamilySelector({
|
|
scopeId: viewScopeId,
|
|
viewId: viewId,
|
|
});
|
|
|
|
const availableFilterDefinitionsState = getScopedState(
|
|
availableFilterDefinitionsScopedState,
|
|
viewScopeId,
|
|
);
|
|
|
|
const canPersistFiltersSelector = canPersistViewFiltersScopedFamilySelector({
|
|
viewScopeId: viewScopeId,
|
|
viewId: viewId,
|
|
});
|
|
|
|
// ViewFields
|
|
const availableFieldDefinitionsState = getScopedState(
|
|
availableFieldDefinitionsScopedState,
|
|
viewScopeId,
|
|
);
|
|
|
|
const currentViewFieldsState = getScopedFamilyState(
|
|
currentViewFieldsScopedFamilyState,
|
|
viewScopeId,
|
|
viewId,
|
|
);
|
|
|
|
const savedViewFieldsState = getScopedFamilyState(
|
|
savedViewFieldsScopedFamilyState,
|
|
viewScopeId,
|
|
viewId,
|
|
);
|
|
|
|
const savedViewFieldsByKeySelector = savedViewFieldByKeyScopedFamilySelector({
|
|
viewScopeId,
|
|
viewId,
|
|
});
|
|
|
|
// ViewChangeHandlers
|
|
const onViewSortsChangeState = getScopedState(
|
|
onViewSortsChangeScopedState,
|
|
viewScopeId,
|
|
);
|
|
|
|
const onViewFiltersChangeState = getScopedState(
|
|
onViewFiltersChangeScopedState,
|
|
viewScopeId,
|
|
);
|
|
|
|
const onViewFieldsChangeState = getScopedState(
|
|
onViewFieldsChangeScopedState,
|
|
viewScopeId,
|
|
);
|
|
|
|
const currentViewIdState = getScopedState(
|
|
currentViewIdScopedState,
|
|
viewScopeId,
|
|
);
|
|
|
|
const currentViewSelector = getScopedSelector(
|
|
currentViewScopedSelector,
|
|
viewScopeId,
|
|
);
|
|
|
|
return {
|
|
currentViewIdState,
|
|
currentViewSelector,
|
|
|
|
isViewBarExpandedState,
|
|
isPersistingViewState,
|
|
|
|
viewsState,
|
|
viewEditModeState,
|
|
viewObjectMetadataIdState,
|
|
viewTypeState,
|
|
entityCountInCurrentViewState,
|
|
|
|
availableSortDefinitionsState,
|
|
currentViewSortsState,
|
|
savedViewSortsState,
|
|
savedViewSortsByKeySelector,
|
|
canPersistSortsSelector,
|
|
|
|
availableFilterDefinitionsState,
|
|
currentViewFiltersState,
|
|
savedViewFiltersState,
|
|
savedViewFiltersByKeySelector,
|
|
canPersistFiltersSelector,
|
|
|
|
availableFieldDefinitionsState,
|
|
currentViewFieldsState,
|
|
savedViewFieldsByKeySelector,
|
|
savedViewFieldsState,
|
|
|
|
onViewSortsChangeState,
|
|
onViewFiltersChangeState,
|
|
onViewFieldsChangeState,
|
|
};
|
|
};
|