3886 - Shortcut Sort/Filter (#3901)
Closes #3886 --------- Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
This commit is contained in:
@ -23,6 +23,14 @@ export const useColumnDefinitionsFromFieldMetadata = (
|
||||
[objectMetadataItem],
|
||||
);
|
||||
|
||||
const filterDefinitions = formatFieldMetadataItemsAsFilterDefinitions({
|
||||
fields: activeFieldMetadataItems,
|
||||
});
|
||||
|
||||
const sortDefinitions = formatFieldMetadataItemsAsSortDefinitions({
|
||||
fields: activeFieldMetadataItems,
|
||||
});
|
||||
|
||||
const columnDefinitions: ColumnDefinition<FieldMetadata>[] = useMemo(
|
||||
() =>
|
||||
objectMetadataItem
|
||||
@ -35,18 +43,30 @@ export const useColumnDefinitionsFromFieldMetadata = (
|
||||
}),
|
||||
)
|
||||
.filter(filterAvailableTableColumns)
|
||||
.map((column) => {
|
||||
const existsInFilterDefinitions = filterDefinitions.some(
|
||||
(filter) => filter.fieldMetadataId === column.fieldMetadataId,
|
||||
);
|
||||
|
||||
const existsInSortDefinitions = sortDefinitions.some(
|
||||
(sort) => sort.fieldMetadataId === column.fieldMetadataId,
|
||||
);
|
||||
|
||||
return {
|
||||
...column,
|
||||
isFilterable: existsInFilterDefinitions,
|
||||
isSortable: existsInSortDefinitions,
|
||||
};
|
||||
})
|
||||
: [],
|
||||
[activeFieldMetadataItems, objectMetadataItem],
|
||||
[
|
||||
activeFieldMetadataItems,
|
||||
objectMetadataItem,
|
||||
filterDefinitions,
|
||||
sortDefinitions,
|
||||
],
|
||||
);
|
||||
|
||||
const filterDefinitions = formatFieldMetadataItemsAsFilterDefinitions({
|
||||
fields: activeFieldMetadataItems,
|
||||
});
|
||||
|
||||
const sortDefinitions = formatFieldMetadataItemsAsSortDefinitions({
|
||||
fields: activeFieldMetadataItems,
|
||||
});
|
||||
|
||||
return {
|
||||
columnDefinitions,
|
||||
filterDefinitions,
|
||||
|
||||
Reference in New Issue
Block a user