New view picker (#4610)
* Implement new view picker * Complete feature * Fixes according to review
This commit is contained in:
@ -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,
|
||||
}));
|
||||
};
|
||||
Reference in New Issue
Block a user