New view picker (#4610)

* Implement new view picker

* Complete feature

* Fixes according to review
This commit is contained in:
Charles Bochet
2024-03-22 15:04:17 +01:00
committed by GitHub
parent d876b40056
commit 4a493b6ecf
61 changed files with 1216 additions and 422 deletions

View File

@ -0,0 +1,29 @@
import { GraphQLView } from '@/views/types/GraphQLView';
export const getObjectMetadataItemViews = (
viewObjectMetadataId: string,
views: GraphQLView[],
) => {
const indexView = views.find(
(view) =>
view.key === 'INDEX' && view.objectMetadataId === viewObjectMetadataId,
);
return [
...views
.filter((view) => view.objectMetadataId === viewObjectMetadataId)
.filter((view) => view.key !== 'INDEX'),
]
.sort((a, b) => a.position - b.position)
.concat(indexView ? [indexView] : [])
.map((view) => ({
id: view.id,
name: view.name,
type: view.type,
key: view.key,
position: view.position,
objectMetadataId: view.objectMetadataId,
kanbanFieldMetadataId: view.kanbanFieldMetadataId,
icon: view.icon,
}));
};