diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index 3ab14c238d..7c62a6d349 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.60.0", + "version": "7.60.1-fb-issue1470.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.60.0", + "version": "7.60.1-fb-issue1470.1", "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 d1de89b4c0..0b69c09f5e 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.60.0", + "version": "7.60.1-fb-issue1470.1", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [ diff --git a/packages/components/src/internal/actions.ts b/packages/components/src/internal/actions.ts index 0a1d3d664b..5d1d78d82a 100644 --- a/packages/components/src/internal/actions.ts +++ b/packages/components/src/internal/actions.ts @@ -607,7 +607,7 @@ export function saveGridView( containerPath, views: [{ ...ViewInfo.serialize(viewInfo), replace, session, inherit, shared, hidden }], success: () => { - invalidateQueryDetailsCache(schemaQuery, containerPath); + invalidateQueryDetailsCache(schemaQuery); resolve(); }, failure: response => { @@ -640,7 +640,7 @@ export function saveSessionView( hidden: false, replace, success: () => { - invalidateQueryDetailsCache(schemaQuery, containerPath); + invalidateQueryDetailsCache(schemaQuery); resolve(); }, failure: response => { @@ -720,12 +720,12 @@ export function deleteView( containerPath, revert, success: () => { - invalidateQueryDetailsCache(schemaQuery, containerPath); + invalidateQueryDetailsCache(schemaQuery); resolve(); }, failure: response => { if (response.exceptionClass === VIEW_NOT_FOUND_EXCEPTION_CLASS) { - invalidateQueryDetailsCache(schemaQuery, containerPath); + invalidateQueryDetailsCache(schemaQuery); resolve(); // view has already been deleted } else { console.error(response); @@ -760,7 +760,7 @@ export function renameGridView( newName, }, success: Utils.getCallbackWrapper(response => { - invalidateQueryDetailsCache(schemaQuery, containerPath); + invalidateQueryDetailsCache(schemaQuery); resolve(); }), failure: Utils.getCallbackWrapper(error => { diff --git a/packages/components/src/internal/query/api.ts b/packages/components/src/internal/query/api.ts index 8ffe6c7bde..df5f5a3a5f 100644 --- a/packages/components/src/internal/query/api.ts +++ b/packages/components/src/internal/query/api.ts @@ -64,22 +64,13 @@ function getQueryDetailsCacheKey( export function invalidateQueryDetailsCache( schemaQuery: SchemaQuery, - containerPath?: string, - fk?: string, - fields?: string | string[], - exactKeyMatch = false ): void { - if (exactKeyMatch) { - const key = getQueryDetailsCacheKey(schemaQuery, containerPath, fk, fields); - delete queryDetailsCache[key]; - } else { - const prefix = getQueryDetailsCacheKey(schemaQuery); - Object.keys(queryDetailsCache).forEach(cacheKey => { - if (cacheKey.startsWith(prefix)) { - delete queryDetailsCache[cacheKey]; - } - }); - } + const prefix = getQueryDetailsCacheKey(schemaQuery); + Object.keys(queryDetailsCache).forEach(cacheKey => { + if (cacheKey.toLowerCase().startsWith(prefix.toLowerCase())) { + delete queryDetailsCache[cacheKey]; + } + }); } interface GetQueryDetailsBasic extends Omit< @@ -127,7 +118,7 @@ export function getQueryDetails(options: GetQueryDetailsOptions): Promise { console.error(error); - invalidateQueryDetailsCache(schemaQuery, containerPath, fk, fields); + invalidateQueryDetailsCache(schemaQuery); reject({ message: error.exception, exceptionClass: error.exceptionClass, diff --git a/packages/components/src/public/QueryModel/QueryModel.ts b/packages/components/src/public/QueryModel/QueryModel.ts index dc774134b3..f331ed474e 100644 --- a/packages/components/src/public/QueryModel/QueryModel.ts +++ b/packages/components/src/public/QueryModel/QueryModel.ts @@ -540,11 +540,11 @@ export class QueryModel { } get schemaName(): string { - return this.schemaQuery.schemaName; + return (this.queryInfo?.schemaQuery ?? this.schemaQuery).schemaName; } get queryName(): string { - return this.schemaQuery.queryName; + return (this.queryInfo?.schemaQuery ?? this.schemaQuery).queryName; } get viewName(): string {