From 10dde09d60b0fdd64ba16b343728f5d2405ed885 Mon Sep 17 00:00:00 2001 From: cnathe Date: Mon, 17 Nov 2025 09:38:31 -0600 Subject: [PATCH 1/5] - GitHub Issue 111: Query metadata editor indicates all fields as "New Field" - use the field.lockExistingField property to determine if field is new or existing --- .../components/releaseNotes/components.md | 5 +++++ .../domainproperties/DomainForm.tsx | 21 +++++++++++-------- .../domainproperties/models.test.ts | 5 +++++ .../components/domainproperties/models.tsx | 3 ++- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/packages/components/releaseNotes/components.md b/packages/components/releaseNotes/components.md index 5b74511244..b76a68f476 100644 --- a/packages/components/releaseNotes/components.md +++ b/packages/components/releaseNotes/components.md @@ -1,6 +1,11 @@ # @labkey/components Components, models, actions, and utility functions for LabKey applications and pages +### version TBD +*Released*: TBD November 2025 +- GitHub Issue 111: Query metadata editor indicates all fields as "New Field" + - use the field.lockExistingField property to determine if field is new or existing + ### version 6.68.3 *Released*: 4 November 2025 - Issue 53983: Sort fields by caption diff --git a/packages/components/src/internal/components/domainproperties/DomainForm.tsx b/packages/components/src/internal/components/domainproperties/DomainForm.tsx index 14b1faa9d7..794fad3cd9 100644 --- a/packages/components/src/internal/components/domainproperties/DomainForm.tsx +++ b/packages/components/src/internal/components/domainproperties/DomainForm.tsx @@ -140,6 +140,7 @@ const DomainFormToolbar: FC = memo(props => { (event: ChangeEvent) => onSearch(event.target.value), [onSearch] ); + return (
@@ -151,15 +152,16 @@ const DomainFormToolbar: FC = memo(props => { onClick={onAddField} /> )} - - Delete - - + {!domainFormDisplayOptions?.hideAddFieldsButton && ( + + Delete + + )} {shouldShowImportExport && ( {showToolbar && ( { ); }); + test('getDetailsTextArray, queryMetadata editor', () => { // Issue 54226 + const field = DomainField.create({ propertyId: -1, name: 'test', lockExistingField: true }); + expect(field.getDetailsArray().join('')).toBe(''); + }); + test('serialize, name trim', () => { expect(DomainField.serialize(DomainField.create({})).name).toBe(undefined); expect(DomainField.serialize(DomainField.create({ name: '' })).name).toBe(''); diff --git a/packages/components/src/internal/components/domainproperties/models.tsx b/packages/components/src/internal/components/domainproperties/models.tsx index 901b6b9260..21a85a2481 100644 --- a/packages/components/src/internal/components/domainproperties/models.tsx +++ b/packages/components/src/internal/components/domainproperties/models.tsx @@ -1407,7 +1407,8 @@ export class DomainField const details = []; let period = ''; - if (this.isNew()) { + // Issue 54226: queryMetadata editor uses lockExistingField to mark existing fields + if (this.isNew() && !this.lockExistingField) { details.push('New Field'); period = '. '; } else if (this.updatedField) { From 214154e4c821e145f066d00234e1d4908bbf772b Mon Sep 17 00:00:00 2001 From: cnathe Date: Mon, 17 Nov 2025 09:38:49 -0600 Subject: [PATCH 2/5] 6.68.3-queryMetadata111.0 --- packages/components/package-lock.json | 4 ++-- packages/components/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index 7924ca9639..30ae078b67 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "6.68.3", + "version": "6.68.3-queryMetadata111.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "6.68.3", + "version": "6.68.3-queryMetadata111.0", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@hello-pangea/dnd": "18.0.1", diff --git a/packages/components/package.json b/packages/components/package.json index 2ec5c3a39c..8f578a4397 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "6.68.3", + "version": "6.68.3-queryMetadata111.0", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [ From 3b853dd58efa711ae2730ed0d0a8c58419d67f75 Mon Sep 17 00:00:00 2001 From: cnathe Date: Tue, 18 Nov 2025 08:28:19 -0600 Subject: [PATCH 3/5] npm run lint-branch-fix --- .../src/internal/components/domainproperties/models.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/components/src/internal/components/domainproperties/models.test.ts b/packages/components/src/internal/components/domainproperties/models.test.ts index dba27823ad..bd8dc51557 100644 --- a/packages/components/src/internal/components/domainproperties/models.test.ts +++ b/packages/components/src/internal/components/domainproperties/models.test.ts @@ -1136,7 +1136,8 @@ describe('DomainField', () => { ); }); - test('getDetailsTextArray, queryMetadata editor', () => { // Issue 54226 + test('getDetailsTextArray, queryMetadata editor', () => { + // Issue 54226 const field = DomainField.create({ propertyId: -1, name: 'test', lockExistingField: true }); expect(field.getDetailsArray().join('')).toBe(''); }); From 5d5db6d60ba471b8b49bb4ad75ba08edba3e1208 Mon Sep 17 00:00:00 2001 From: cnathe Date: Tue, 18 Nov 2025 08:28:52 -0600 Subject: [PATCH 4/5] Update release notes with version number and release date --- packages/components/releaseNotes/components.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/components/releaseNotes/components.md b/packages/components/releaseNotes/components.md index b76a68f476..8eb45eb1b2 100644 --- a/packages/components/releaseNotes/components.md +++ b/packages/components/releaseNotes/components.md @@ -1,8 +1,8 @@ # @labkey/components Components, models, actions, and utility functions for LabKey applications and pages -### version TBD -*Released*: TBD November 2025 +### version 6.68.4 +*Released*: 18 November 2025 - GitHub Issue 111: Query metadata editor indicates all fields as "New Field" - use the field.lockExistingField property to determine if field is new or existing From 763266088c23fc5002461ec542f9cb60c6628eef Mon Sep 17 00:00:00 2001 From: cnathe Date: Tue, 18 Nov 2025 08:29:31 -0600 Subject: [PATCH 5/5] 6.68.4 --- packages/components/package-lock.json | 4 ++-- packages/components/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index 30ae078b67..126ca4aeaa 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "6.68.3-queryMetadata111.0", + "version": "6.68.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "6.68.3-queryMetadata111.0", + "version": "6.68.4", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@hello-pangea/dnd": "18.0.1", diff --git a/packages/components/package.json b/packages/components/package.json index 8f578a4397..01ed171d49 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "6.68.3-queryMetadata111.0", + "version": "6.68.4", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [