Improve Jotai work (#18205)
This commit is contained in:
+6
-6
@@ -19,11 +19,11 @@ export const useAddRootStepFilter = () => {
|
||||
const { stepId, onFilterSettingsUpdate } = useContext(
|
||||
WorkflowStepFilterContext,
|
||||
);
|
||||
const currentStepFilterGroupsAtom = useRecoilComponentStateCallbackStateV2(
|
||||
const currentStepFilterGroups = useRecoilComponentStateCallbackStateV2(
|
||||
currentStepFilterGroupsComponentState,
|
||||
);
|
||||
|
||||
const currentStepFiltersAtom = useRecoilComponentStateCallbackStateV2(
|
||||
const currentStepFilters = useRecoilComponentStateCallbackStateV2(
|
||||
currentStepFiltersComponentState,
|
||||
);
|
||||
|
||||
@@ -57,8 +57,8 @@ export const useAddRootStepFilter = () => {
|
||||
positionInStepFilterGroup: 0,
|
||||
};
|
||||
|
||||
store.set(currentStepFilterGroupsAtom, [newStepFilterGroup]);
|
||||
store.set(currentStepFiltersAtom, [newStepFilter]);
|
||||
store.set(currentStepFilterGroups, [newStepFilterGroup]);
|
||||
store.set(currentStepFilters, [newStepFilter]);
|
||||
|
||||
setHasInitializedCurrentStepFilters(true);
|
||||
setHasInitializedCurrentStepFilterGroups(true);
|
||||
@@ -69,8 +69,8 @@ export const useAddRootStepFilter = () => {
|
||||
});
|
||||
}, [
|
||||
onFilterSettingsUpdate,
|
||||
currentStepFilterGroupsAtom,
|
||||
currentStepFiltersAtom,
|
||||
currentStepFilterGroups,
|
||||
currentStepFilters,
|
||||
setHasInitializedCurrentStepFilters,
|
||||
setHasInitializedCurrentStepFilterGroups,
|
||||
store,
|
||||
|
||||
+10
-10
@@ -9,11 +9,11 @@ import { WorkflowStepFilterContext } from '@/workflow/workflow-steps/filters/sta
|
||||
export const useRemoveStepFilter = () => {
|
||||
const { onFilterSettingsUpdate } = useContext(WorkflowStepFilterContext);
|
||||
|
||||
const currentStepFiltersAtom = useRecoilComponentStateCallbackStateV2(
|
||||
const currentStepFilters = useRecoilComponentStateCallbackStateV2(
|
||||
currentStepFiltersComponentState,
|
||||
);
|
||||
|
||||
const currentStepFilterGroupsAtom = useRecoilComponentStateCallbackStateV2(
|
||||
const currentStepFilterGroups = useRecoilComponentStateCallbackStateV2(
|
||||
currentStepFilterGroupsComponentState,
|
||||
);
|
||||
|
||||
@@ -21,8 +21,8 @@ export const useRemoveStepFilter = () => {
|
||||
|
||||
const removeStepFilter = useCallback(
|
||||
(stepFilterId: string) => {
|
||||
const stepFilters = store.get(currentStepFiltersAtom);
|
||||
const stepFilterGroups = store.get(currentStepFilterGroupsAtom);
|
||||
const stepFilters = store.get(currentStepFilters);
|
||||
const stepFilterGroups = store.get(currentStepFilterGroups);
|
||||
|
||||
const rootStepFilterGroup = stepFilterGroups.find(
|
||||
(filterGroup) => !isDefined(filterGroup.parentStepFilterGroupId),
|
||||
@@ -69,16 +69,16 @@ export const useRemoveStepFilter = () => {
|
||||
updatedStepFilters.length === 0;
|
||||
|
||||
if (shouldResetStepFilterSettings) {
|
||||
store.set(currentStepFilterGroupsAtom, []);
|
||||
store.set(currentStepFiltersAtom, []);
|
||||
store.set(currentStepFilterGroups, []);
|
||||
store.set(currentStepFilters, []);
|
||||
|
||||
onFilterSettingsUpdate({
|
||||
stepFilterGroups: [],
|
||||
stepFilters: [],
|
||||
});
|
||||
} else {
|
||||
store.set(currentStepFilterGroupsAtom, updatedStepFilterGroups);
|
||||
store.set(currentStepFiltersAtom, updatedStepFilters);
|
||||
store.set(currentStepFilterGroups, updatedStepFilterGroups);
|
||||
store.set(currentStepFilters, updatedStepFilters);
|
||||
|
||||
onFilterSettingsUpdate({
|
||||
stepFilters: updatedStepFilters,
|
||||
@@ -88,8 +88,8 @@ export const useRemoveStepFilter = () => {
|
||||
},
|
||||
[
|
||||
onFilterSettingsUpdate,
|
||||
currentStepFilterGroupsAtom,
|
||||
currentStepFiltersAtom,
|
||||
currentStepFilterGroups,
|
||||
currentStepFilters,
|
||||
store,
|
||||
],
|
||||
);
|
||||
|
||||
+10
-10
@@ -9,11 +9,11 @@ import { isDefined } from 'twenty-shared/utils';
|
||||
export const useRemoveStepFilterGroup = () => {
|
||||
const { onFilterSettingsUpdate } = useContext(WorkflowStepFilterContext);
|
||||
|
||||
const currentStepFilterGroupsAtom = useRecoilComponentStateCallbackStateV2(
|
||||
const currentStepFilterGroups = useRecoilComponentStateCallbackStateV2(
|
||||
currentStepFilterGroupsComponentState,
|
||||
);
|
||||
|
||||
const currentStepFiltersAtom = useRecoilComponentStateCallbackStateV2(
|
||||
const currentStepFilters = useRecoilComponentStateCallbackStateV2(
|
||||
currentStepFiltersComponentState,
|
||||
);
|
||||
|
||||
@@ -21,8 +21,8 @@ export const useRemoveStepFilterGroup = () => {
|
||||
|
||||
const removeStepFilterGroup = useCallback(
|
||||
(stepFilterGroupId: string) => {
|
||||
const stepFilterGroups = store.get(currentStepFilterGroupsAtom);
|
||||
const stepFilters = store.get(currentStepFiltersAtom);
|
||||
const stepFilterGroups = store.get(currentStepFilterGroups);
|
||||
const stepFilters = store.get(currentStepFilters);
|
||||
|
||||
const rootStepFilterGroup = stepFilterGroups.find(
|
||||
(filterGroup) => !isDefined(filterGroup.parentStepFilterGroupId),
|
||||
@@ -42,16 +42,16 @@ export const useRemoveStepFilterGroup = () => {
|
||||
updatedStepFilters.length === 0;
|
||||
|
||||
if (shouldResetStepFilterSettings) {
|
||||
store.set(currentStepFilterGroupsAtom, []);
|
||||
store.set(currentStepFiltersAtom, []);
|
||||
store.set(currentStepFilterGroups, []);
|
||||
store.set(currentStepFilters, []);
|
||||
|
||||
onFilterSettingsUpdate({
|
||||
stepFilterGroups: [],
|
||||
stepFilters: [],
|
||||
});
|
||||
} else {
|
||||
store.set(currentStepFilterGroupsAtom, updatedStepFilterGroups);
|
||||
store.set(currentStepFiltersAtom, updatedStepFilters);
|
||||
store.set(currentStepFilterGroups, updatedStepFilterGroups);
|
||||
store.set(currentStepFilters, updatedStepFilters);
|
||||
|
||||
onFilterSettingsUpdate({
|
||||
stepFilterGroups: updatedStepFilterGroups,
|
||||
@@ -61,8 +61,8 @@ export const useRemoveStepFilterGroup = () => {
|
||||
},
|
||||
[
|
||||
onFilterSettingsUpdate,
|
||||
currentStepFilterGroupsAtom,
|
||||
currentStepFiltersAtom,
|
||||
currentStepFilterGroups,
|
||||
currentStepFilters,
|
||||
store,
|
||||
],
|
||||
);
|
||||
|
||||
+8
-8
@@ -8,11 +8,11 @@ import { type StepFilter, type StepFilterGroup } from 'twenty-shared/types';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
export const useUpsertStepFilterSettings = () => {
|
||||
const currentStepFilterGroupsAtom = useRecoilComponentStateCallbackStateV2(
|
||||
const currentStepFilterGroups = useRecoilComponentStateCallbackStateV2(
|
||||
currentStepFilterGroupsComponentState,
|
||||
);
|
||||
|
||||
const currentStepFiltersAtom = useRecoilComponentStateCallbackStateV2(
|
||||
const currentStepFilters = useRecoilComponentStateCallbackStateV2(
|
||||
currentStepFiltersComponentState,
|
||||
);
|
||||
const { onFilterSettingsUpdate } = useContext(WorkflowStepFilterContext);
|
||||
@@ -27,8 +27,8 @@ export const useUpsertStepFilterSettings = () => {
|
||||
stepFilterGroupToUpsert?: StepFilterGroup;
|
||||
stepFilterToUpsert?: StepFilter;
|
||||
}) => {
|
||||
const stepFilterGroups = store.get(currentStepFilterGroupsAtom);
|
||||
const stepFilters = store.get(currentStepFiltersAtom);
|
||||
const stepFilterGroups = store.get(currentStepFilterGroups);
|
||||
const stepFilters = store.get(currentStepFilters);
|
||||
|
||||
const updatedStepFilterGroups = [...stepFilterGroups];
|
||||
const updatedStepFilters = [...stepFilters];
|
||||
@@ -43,7 +43,7 @@ export const useUpsertStepFilterSettings = () => {
|
||||
} else {
|
||||
updatedStepFilterGroups.push(stepFilterGroupToUpsert);
|
||||
}
|
||||
store.set(currentStepFilterGroupsAtom, updatedStepFilterGroups);
|
||||
store.set(currentStepFilterGroups, updatedStepFilterGroups);
|
||||
}
|
||||
|
||||
if (isDefined(stepFilterToUpsert)) {
|
||||
@@ -56,7 +56,7 @@ export const useUpsertStepFilterSettings = () => {
|
||||
} else {
|
||||
updatedStepFilters.push(stepFilterToUpsert);
|
||||
}
|
||||
store.set(currentStepFiltersAtom, updatedStepFilters);
|
||||
store.set(currentStepFilters, updatedStepFilters);
|
||||
}
|
||||
|
||||
onFilterSettingsUpdate({
|
||||
@@ -66,8 +66,8 @@ export const useUpsertStepFilterSettings = () => {
|
||||
},
|
||||
[
|
||||
onFilterSettingsUpdate,
|
||||
currentStepFilterGroupsAtom,
|
||||
currentStepFiltersAtom,
|
||||
currentStepFilterGroups,
|
||||
currentStepFilters,
|
||||
store,
|
||||
],
|
||||
);
|
||||
|
||||
+7
-12
@@ -20,33 +20,28 @@ export const WorkflowFindRecordsFilters = ({
|
||||
onChange: (filter: FindRecordsActionFilter) => void;
|
||||
readonly?: boolean;
|
||||
}) => {
|
||||
const currentRecordFilterGroupsAtom = useRecoilComponentStateCallbackStateV2(
|
||||
const currentRecordFilterGroups = useRecoilComponentStateCallbackStateV2(
|
||||
currentRecordFilterGroupsComponentState,
|
||||
);
|
||||
|
||||
const currentRecordFiltersAtom = useRecoilComponentStateCallbackStateV2(
|
||||
const currentRecordFilters = useRecoilComponentStateCallbackStateV2(
|
||||
currentRecordFiltersComponentState,
|
||||
);
|
||||
|
||||
const store = useStore();
|
||||
|
||||
const onUpdate = useCallback(() => {
|
||||
const currentRecordFilterGroups = store.get(currentRecordFilterGroupsAtom);
|
||||
const existingRecordFilterGroups = store.get(currentRecordFilterGroups);
|
||||
|
||||
const currentRecordFilters = store.get(currentRecordFiltersAtom);
|
||||
const existingRecordFilters = store.get(currentRecordFilters);
|
||||
|
||||
const newFilter = {
|
||||
recordFilterGroups: currentRecordFilterGroups,
|
||||
recordFilters: currentRecordFilters,
|
||||
recordFilterGroups: existingRecordFilterGroups,
|
||||
recordFilters: existingRecordFilters,
|
||||
} satisfies FindRecordsActionFilter;
|
||||
|
||||
onChange(newFilter);
|
||||
}, [
|
||||
currentRecordFilterGroupsAtom,
|
||||
currentRecordFiltersAtom,
|
||||
onChange,
|
||||
store,
|
||||
]);
|
||||
}, [currentRecordFilterGroups, currentRecordFilters, onChange, store]);
|
||||
|
||||
return (
|
||||
<AdvancedFilterCommandMenuContainer
|
||||
|
||||
Reference in New Issue
Block a user