Files
twenty_crm/front/src/modules/ui/board/states/selectedCardIdsSelector.ts
Charles Bochet e6b20b5ff2 Fix drag-performance (#1184)
* Fix drag-performance

* Fixes

* Fixes

* Fixes

* Fixes
2023-08-12 20:28:33 -07:00

23 lines
706 B
TypeScript

import { selector } from 'recoil';
import { boardCardIdsByColumnIdFamilyState } from './boardCardIdsByColumnIdFamilyState';
import { boardColumnsState } from './boardColumnsState';
import { isCardSelectedFamilyState } from './isCardSelectedFamilyState';
export const selectedCardIdsSelector = selector<string[]>({
key: 'selectedCardIdsSelector',
get: ({ get }) => {
const boardColumns = get(boardColumnsState);
const cardIds = boardColumns.flatMap((boardColumn) =>
get(boardCardIdsByColumnIdFamilyState(boardColumn.id)),
);
const selectedCardIds = cardIds.filter(
(cardId) => get(isCardSelectedFamilyState(cardId)) === true,
);
return selectedCardIds;
},
});