diff --git a/src/sql/platform/dashboard/browser/interfaces.ts b/src/sql/platform/dashboard/browser/interfaces.ts index 5e7e8323c2..791c584032 100644 --- a/src/sql/platform/dashboard/browser/interfaces.ts +++ b/src/sql/platform/dashboard/browser/interfaces.ts @@ -60,7 +60,7 @@ export interface IModelStore { getComponentDescriptor(componentId: string): IComponentDescriptor; registerComponent(component: IComponent): void; unregisterComponent(component: IComponent): void; - getComponent(componentId: string): IComponent; + getComponent(componentId: string): IComponent | undefined; /** * Runs on a component immediately if the component exists, or runs on * registration of the component otherwise diff --git a/src/sql/workbench/browser/modelComponents/componentBase.ts b/src/sql/workbench/browser/modelComponents/componentBase.ts index b8140b6baa..95e232c79e 100644 --- a/src/sql/workbench/browser/modelComponents/componentBase.ts +++ b/src/sql/workbench/browser/modelComponents/componentBase.ts @@ -286,7 +286,7 @@ export abstract class ContainerBase extends ComponentBase { super(_changeRef, _el); this.items = []; this._validations.push(() => this.items.every(item => { - return this.modelStore.getComponent(item.descriptor.id).valid; + return this.modelStore.getComponent(item.descriptor.id)?.valid || false; })); } diff --git a/src/sql/workbench/browser/modelComponents/modelStore.ts b/src/sql/workbench/browser/modelComponents/modelStore.ts index a278ec4076..fe7f5ef756 100644 --- a/src/sql/workbench/browser/modelComponents/modelStore.ts +++ b/src/sql/workbench/browser/modelComponents/modelStore.ts @@ -47,7 +47,7 @@ export class ModelStore implements IModelStore { // TODO notify model for cleanup } - getComponent(componentId: string): IComponent { + getComponent(componentId: string): IComponent | undefined { return this._componentMappings[componentId]; }