diff --git a/app/client/components/BaseView.js b/app/client/components/BaseView.js index e0996b81..ea277cfc 100644 --- a/app/client/components/BaseView.js +++ b/app/client/components/BaseView.js @@ -141,7 +141,7 @@ function BaseView(gristDoc, viewSectionModel, options) { }).extend({deferred: true})); // Update the cursor whenever linkedRowId() changes. - this.autoDispose(this.linkedRowId.subscribe(rowId => this.setCursorPos({rowId}))); + this.autoDispose(this.linkedRowId.subscribe(rowId => this.setCursorPos({rowId: rowId || 'new'}))); // Indicated whether editing the section should be disabled given the current linking state. this.disableEditing = this.autoDispose(ko.computed(() => { diff --git a/test/fixtures/docs/Favorite_Films_With_Linked_Ref.grist b/test/fixtures/docs/Favorite_Films_With_Linked_Ref.grist new file mode 100644 index 00000000..f08e5712 Binary files /dev/null and b/test/fixtures/docs/Favorite_Films_With_Linked_Ref.grist differ diff --git a/test/nbrowser/ReferenceColumns.ts b/test/nbrowser/ReferenceColumns.ts index 205d247f..c3c83a75 100644 --- a/test/nbrowser/ReferenceColumns.ts +++ b/test/nbrowser/ReferenceColumns.ts @@ -11,7 +11,7 @@ describe('ReferenceColumns', function() { describe('rendering', function() { before(async function() { session = await gu.session().teamSite.login(); - await session.tempDoc(cleanup, 'Favorite_Films.grist'); + await session.tempDoc(cleanup, 'Favorite_Films_With_Linked_Ref.grist'); await gu.toggleSidePanel('right'); await driver.find('.test-config-data').click(); @@ -147,6 +147,23 @@ describe('ReferenceColumns', function() { ] ); }); + + it('should have linked card for friends', async () => { + // Open the All page. + await driver.findContentWait('.test-treeview-itemHeader', /Linked Friends/, 2000).click(); + await gu.waitForDocToLoad(); + + await driver.findContentWait('.field_clip', /Mary/, 2000).click(); + await gu.waitForServer(); + await driver.findContentWait('.g_record_detail_label', /Title/, 2000).click(); + assert.equal(await gu.getActiveCell().getText(), 'Alien'); + + await driver.findContentWait('.field_clip', /Jarek/, 2000).click(); + await gu.waitForServer(); + await driver.findContentWait('.g_record_detail_label', /Title/, 2000).click(); + assert.equal(await gu.getActiveCell().getText(), ''); + + }); }); describe('autocomplete', function() {