diff --git a/packages/ui/src/elements/RelationshipTable/index.tsx b/packages/ui/src/elements/RelationshipTable/index.tsx index 2f3b24723..99ce35eca 100644 --- a/packages/ui/src/elements/RelationshipTable/index.tsx +++ b/packages/ui/src/elements/RelationshipTable/index.tsx @@ -39,6 +39,7 @@ const baseClass = 'relationship-table' type RelationshipTableComponentProps = { readonly allowCreate?: boolean + readonly disableTable?: boolean readonly field: JoinFieldClient readonly filterOptions?: Where readonly initialData?: PaginatedDocs @@ -50,6 +51,7 @@ type RelationshipTableComponentProps = { export const RelationshipTable: React.FC = (props) => { const { allowCreate = true, + disableTable = false, filterOptions, initialData: initialDataFromProps, initialDrawerData, @@ -132,11 +134,11 @@ export const RelationshipTable: React.FC = (pro useIgnoredEffect( () => { - if (!Table || query) { + if (!disableTable && (!Table || query)) { void renderTable() } }, - [query], + [query, disableTable], [Table, renderTable], ) diff --git a/packages/ui/src/fields/Join/index.tsx b/packages/ui/src/fields/Join/index.tsx index d508998e5..a05d94f20 100644 --- a/packages/ui/src/fields/Join/index.tsx +++ b/packages/ui/src/fields/Join/index.tsx @@ -33,10 +33,14 @@ const JoinFieldComponent: JoinFieldClientComponent = (props) => { path, }) - const filterOptions: Where = useMemo(() => { + const filterOptions: null | Where = useMemo(() => { + if (!docID) { + return null + } + const where = { [on]: { - in: [docID || ''], + equals: docID, }, } @@ -54,6 +58,7 @@ const JoinFieldComponent: JoinFieldClientComponent = (props) => { {BeforeInput} { expect(columns).toBe(3) }) + test('should render the create page and create doc with the join field', async () => { + await page.goto(categoriesURL.create) + const nameField = page.locator('#field-name') + await expect(nameField).toBeVisible() + await nameField.fill('test category') + await saveDocAndAssert(page) + }) + test('should render collection type in first column of relationship table', async () => { await navigateToDoc(page, categoriesURL) const joinField = page.locator('.field-type.join').first()