Morph-picker-MultiSelect-picker (#14113)
# 🚀 Multi-Select Morph Relations / One to Many Adds **multi-select picker support** for morph relations on the **One To Many** side, allowing users to select multiple related records from different object types. ### 🔑 Main Changes (TL;DR) - **New Component**: `MorphRelationOneToManyFieldInput` for multi-selection - **Enhanced Hooks**: `useAttachMorphRelatedRecordFromRecord` & `useDetachMorphRelatedRecordFromRecord` - **Better UX**: Optimistic updates, improved search, loading states - **24 files changed**: Mostly additions (1,277 lines added, 56 removed) **Summary**: This adds multi-select capability to morph relations with proper state management and optimistic updates. The changes are mostly additive and follow existing patterns. **TODO** : - optimistic rendering not working currently - single select picker (many to one)
This commit is contained in:
+17
@@ -0,0 +1,17 @@
|
||||
import { useRecoilValue } from 'recoil';
|
||||
|
||||
import { objectMetadataItemsBySingularNameSelector } from '@/object-metadata/states/objectMetadataItemsBySingularNameSelector';
|
||||
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
export const useDoObjectMetadataItemsExist = (
|
||||
objectNameSingulars: string[],
|
||||
) => {
|
||||
const objectMetadataItems = useRecoilValue(
|
||||
objectMetadataItemsBySingularNameSelector(objectNameSingulars),
|
||||
);
|
||||
|
||||
return objectMetadataItems.every((objectMetadataItem) =>
|
||||
isDefined(objectMetadataItem),
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user