7e7837abf3
This PR fixes a bug that made the aggregate footer not displayed. It was because of a wrong filter on `visibleRecordFields` array. Follow-up of https://github.com/twentyhq/twenty/pull/14048 --------- Co-authored-by: Charles Bochet <charles@twenty.com>
63 lines
2.3 KiB
TypeScript
63 lines
2.3 KiB
TypeScript
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
|
|
import { recordIndexKanbanAggregateOperationState } from '@/object-record/record-index/states/recordIndexKanbanAggregateOperationState';
|
|
import { type ExtendedAggregateOperations } from '@/object-record/record-table/types/ExtendedAggregateOperations';
|
|
import { convertExtendedAggregateOperationToAggregateOperation } from '@/object-record/utils/convertExtendedAggregateOperationToAggregateOperation';
|
|
import { useRecoilComponentValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValue';
|
|
import { useRefreshCoreViewsByObjectMetadataId } from '@/views/hooks/useRefreshCoreViewsByObjectMetadataId';
|
|
import { useUpdateView } from '@/views/hooks/useUpdateView';
|
|
import { useCallback } from 'react';
|
|
import { useSetRecoilState } from 'recoil';
|
|
|
|
export const useUpdateViewAggregate = () => {
|
|
const currentViewId = useRecoilComponentValue(
|
|
contextStoreCurrentViewIdComponentState,
|
|
);
|
|
const { updateView } = useUpdateView();
|
|
|
|
const setRecordIndexKanbanAggregateOperationState = useSetRecoilState(
|
|
recordIndexKanbanAggregateOperationState,
|
|
);
|
|
|
|
const { refreshCoreViewsByObjectMetadataId } =
|
|
useRefreshCoreViewsByObjectMetadataId();
|
|
|
|
const updateViewAggregate = useCallback(
|
|
({
|
|
kanbanAggregateOperationFieldMetadataId,
|
|
kanbanAggregateOperation,
|
|
objectMetadataId,
|
|
}: {
|
|
kanbanAggregateOperationFieldMetadataId: string | null;
|
|
kanbanAggregateOperation: ExtendedAggregateOperations | null;
|
|
objectMetadataId: string;
|
|
}) => {
|
|
const convertedKanbanAggregateOperation =
|
|
convertExtendedAggregateOperationToAggregateOperation(
|
|
kanbanAggregateOperation,
|
|
);
|
|
updateView({
|
|
id: currentViewId,
|
|
kanbanAggregateOperationFieldMetadataId,
|
|
kanbanAggregateOperation: convertedKanbanAggregateOperation,
|
|
});
|
|
|
|
setRecordIndexKanbanAggregateOperationState({
|
|
operation: kanbanAggregateOperation,
|
|
fieldMetadataId: kanbanAggregateOperationFieldMetadataId,
|
|
});
|
|
|
|
refreshCoreViewsByObjectMetadataId(objectMetadataId);
|
|
},
|
|
[
|
|
currentViewId,
|
|
updateView,
|
|
setRecordIndexKanbanAggregateOperationState,
|
|
refreshCoreViewsByObjectMetadataId,
|
|
],
|
|
);
|
|
|
|
return {
|
|
updateViewAggregate,
|
|
};
|
|
};
|