feat: do not show disabled fields in table (#2319)

Closes #2309
This commit is contained in:
Thaïs
2023-11-03 15:05:04 +01:00
committed by GitHub
parent e053fba089
commit 60b1024efb
3 changed files with 60 additions and 55 deletions

View File

@ -1,15 +1,23 @@
import { selectorFamily } from 'recoil';
import { availableTableColumnsScopedState } from '../availableTableColumnsScopedState';
import { tableColumnsScopedState } from '../tableColumnsScopedState';
export const visibleTableColumnsScopedSelector = selectorFamily({
key: 'visibleTableColumnsScopedSelector',
get:
(scopeId: string) =>
({ get }) =>
[
...get(tableColumnsScopedState(scopeId)).filter(
(column) => column.isVisible,
),
].sort((a, b) => a.position - b.position),
({ get }) => {
const columns = get(tableColumnsScopedState(scopeId));
const availableColumnKeys = get(
availableTableColumnsScopedState(scopeId),
).map(({ fieldId }) => fieldId);
return columns
.filter(
(column) =>
column.isVisible && availableColumnKeys.includes(column.fieldId),
)
.toSorted((a, b) => a.position - b.position);
},
});