diff --git a/src/sql/workbench/browser/modelComponents/button.component.ts b/src/sql/workbench/browser/modelComponents/button.component.ts index 76cf403695..83e8369a1e 100644 --- a/src/sql/workbench/browser/modelComponents/button.component.ts +++ b/src/sql/workbench/browser/modelComponents/button.component.ts @@ -59,7 +59,7 @@ export default class ButtonComponent extends ComponentWithIconBase { @@ -81,7 +80,7 @@ export default class CardComponent extends ComponentWithIconBase !this.required || this.checked); } + this.baseInit(); } ngOnDestroy(): void { diff --git a/src/sql/workbench/browser/modelComponents/componentBase.ts b/src/sql/workbench/browser/modelComponents/componentBase.ts index 7c0551d4f6..c89d4d68d8 100644 --- a/src/sql/workbench/browser/modelComponents/componentBase.ts +++ b/src/sql/workbench/browser/modelComponents/componentBase.ts @@ -5,7 +5,7 @@ import 'vs/css!./media/flexContainer'; import { - ChangeDetectorRef, ViewChildren, ElementRef, OnDestroy, OnInit, QueryList + ChangeDetectorRef, ViewChildren, ElementRef, OnDestroy, QueryList, AfterViewInit } from '@angular/core'; import * as types from 'vs/base/common/types'; @@ -27,7 +27,7 @@ export class ItemDescriptor { constructor(public descriptor: IComponentDescriptor, public config: T) { } } -export abstract class ComponentBase extends Disposable implements IComponent, OnDestroy, OnInit { +export abstract class ComponentBase extends Disposable implements IComponent, OnDestroy, AfterViewInit { protected properties: { [key: string]: any; } = {}; private _valid: boolean = true; protected _validations: (() => boolean | Thenable)[] = []; @@ -58,7 +58,7 @@ export abstract class ComponentBase { this.layout(); })); + this.baseInit(); } private _createEditor(): void { diff --git a/src/sql/workbench/browser/modelComponents/divContainer.component.ts b/src/sql/workbench/browser/modelComponents/divContainer.component.ts index 8514ea3e1f..910a601add 100644 --- a/src/sql/workbench/browser/modelComponents/divContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/divContainer.component.ts @@ -51,12 +51,9 @@ export default class DivContainer extends ContainerBase im super(changeRef, el); } - ngOnInit(): void { - this.baseInit(); + ngAfterViewInit(): void { this.createDomElement(); this._register(DOM.addDisposableListener(window, DOM.EventType.RESIZE, e => { this.layout(); })); + this.baseInit(); } ngOnDestroy(): void { diff --git a/src/sql/workbench/browser/modelComponents/dropdown.component.ts b/src/sql/workbench/browser/modelComponents/dropdown.component.ts index 8f29ebf723..f4abb9b60a 100644 --- a/src/sql/workbench/browser/modelComponents/dropdown.component.ts +++ b/src/sql/workbench/browser/modelComponents/dropdown.component.ts @@ -61,10 +61,6 @@ export default class DropDownComponent extends ComponentBase this._logService.error(e)); this._register(DOM.addDisposableListener(window, DOM.EventType.RESIZE, e => { this.layout(); })); + this.baseInit(); } private async _createEditor(): Promise { diff --git a/src/sql/workbench/browser/modelComponents/fileBrowserTree.component.ts b/src/sql/workbench/browser/modelComponents/fileBrowserTree.component.ts index 086d6081c8..b53af4b0e4 100644 --- a/src/sql/workbench/browser/modelComponents/fileBrowserTree.component.ts +++ b/src/sql/workbench/browser/modelComponents/fileBrowserTree.component.ts @@ -39,14 +39,11 @@ export default class FileBrowserTreeComponent extends ComponentBase this.handleOnAddFileTree(args.rootNode, args.selectedNode, args.expandedNodes)); this._viewModel.onPathValidate(args => this.handleOnValidate(args.succeeded, args.message)); + this.baseInit(); } public initialize() { diff --git a/src/sql/workbench/browser/modelComponents/flexContainer.component.ts b/src/sql/workbench/browser/modelComponents/flexContainer.component.ts index 670e5e6b5e..0ea67f3027 100644 --- a/src/sql/workbench/browser/modelComponents/flexContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/flexContainer.component.ts @@ -52,7 +52,7 @@ export default class FlexContainer extends ContainerBase impleme this._justifyContent = ''; // default } - ngOnInit(): void { + ngAfterViewInit(): void { this.baseInit(); } diff --git a/src/sql/workbench/browser/modelComponents/formContainer.component.ts b/src/sql/workbench/browser/modelComponents/formContainer.component.ts index 4647fb8b23..ec0fd43f95 100644 --- a/src/sql/workbench/browser/modelComponents/formContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/formContainer.component.ts @@ -99,15 +99,12 @@ export default class FormContainer extends ContainerBase impleme super(changeRef, el); } - ngOnInit(): void { - this.baseInit(); - } - ngOnDestroy(): void { this.baseDestroy(); } ngAfterViewInit(): void { + this.baseInit(); } public layout(): void { diff --git a/src/sql/workbench/browser/modelComponents/groupContainer.component.ts b/src/sql/workbench/browser/modelComponents/groupContainer.component.ts index 5b451d678d..c5b1705486 100644 --- a/src/sql/workbench/browser/modelComponents/groupContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/groupContainer.component.ts @@ -49,7 +49,7 @@ export default class GroupContainer extends ContainerBase this.onClick(e))); + this.baseInit(); } ngOnDestroy(): void { diff --git a/src/sql/workbench/browser/modelComponents/image.component.ts b/src/sql/workbench/browser/modelComponents/image.component.ts index 5b3d6d0c09..0ab59818e6 100644 --- a/src/sql/workbench/browser/modelComponents/image.component.ts +++ b/src/sql/workbench/browser/modelComponents/image.component.ts @@ -30,11 +30,8 @@ export default class ImageComponent extends ComponentWithIconBase this.multiline); } this.inputElement.hideErrors = true; + this.baseInit(); } private tryHandleKeyEvent(e: StandardKeyboardEvent): boolean { diff --git a/src/sql/workbench/browser/modelComponents/listView.component.ts b/src/sql/workbench/browser/modelComponents/listView.component.ts index 38f26c0f52..a822bd55b9 100644 --- a/src/sql/workbench/browser/modelComponents/listView.component.ts +++ b/src/sql/workbench/browser/modelComponents/listView.component.ts @@ -39,10 +39,6 @@ export default class ListViewComponent extends ComponentBase = { keyboardSupport: true, @@ -71,6 +67,7 @@ export default class ListViewComponent extends ComponentBase { diff --git a/src/sql/workbench/browser/modelComponents/loadingComponent.component.ts b/src/sql/workbench/browser/modelComponents/loadingComponent.component.ts index 52e497eda6..e4173e75c5 100644 --- a/src/sql/workbench/browser/modelComponents/loadingComponent.component.ts +++ b/src/sql/workbench/browser/modelComponents/loadingComponent.component.ts @@ -44,13 +44,9 @@ export default class LoadingComponent extends ComponentBase ` }) -export class ModelComponentWrapper extends AngularDisposable implements OnInit { +export class ModelComponentWrapper extends AngularDisposable implements AfterViewInit { @Input() descriptor: IComponentDescriptor; @Input() modelStore: IModelStore; @@ -74,11 +74,8 @@ export class ModelComponentWrapper extends AngularDisposable implements OnInit { } } - ngOnInit() { - this._register(this.themeService.onDidColorThemeChange(event => this.updateTheme(event))); - } - ngAfterViewInit() { + this._register(this.themeService.onDidColorThemeChange(event => this.updateTheme(event))); this.updateTheme(this.themeService.getColorTheme()); if (this.componentHost) { this.loadComponent(); diff --git a/src/sql/workbench/browser/modelComponents/propertiesContainer.component.ts b/src/sql/workbench/browser/modelComponents/propertiesContainer.component.ts index 68023085cb..1986e6c262 100644 --- a/src/sql/workbench/browser/modelComponents/propertiesContainer.component.ts +++ b/src/sql/workbench/browser/modelComponents/propertiesContainer.component.ts @@ -34,7 +34,7 @@ export default class PropertiesContainerComponent extends ComponentBase imple super(changeRef, el); } - ngOnInit(): void { - this.baseInit(); - } - ngAfterViewInit(): void { this._register(attachTabbedPanelStyler(this._panel, this.themeService)); + this.baseInit(); } ngOnDestroy(): void { diff --git a/src/sql/workbench/browser/modelComponents/table.component.ts b/src/sql/workbench/browser/modelComponents/table.component.ts index 6c5ec83d2a..0d63bff3ed 100644 --- a/src/sql/workbench/browser/modelComponents/table.component.ts +++ b/src/sql/workbench/browser/modelComponents/table.component.ts @@ -74,11 +74,6 @@ export default class TableComponent extends ComponentBase[] { let tableColumns: any[] = columns; if (tableColumns) { @@ -238,6 +233,7 @@ export default class TableComponent extends ComponentBase { diff --git a/src/sql/workbench/browser/modelComponents/text.component.ts b/src/sql/workbench/browser/modelComponents/text.component.ts index 681bc400a1..26a1c83fd7 100644 --- a/src/sql/workbench/browser/modelComponents/text.component.ts +++ b/src/sql/workbench/browser/modelComponents/text.component.ts @@ -51,12 +51,9 @@ export default class TextComponent extends TitledComponent i this._orientation = Orientation.Horizontal; } - ngOnInit(): void { + ngAfterViewInit(): void { this.baseInit(); } @@ -71,9 +71,6 @@ export default class ToolbarContainer extends ContainerBase i this.baseDestroy(); } - ngAfterViewInit(): void { - } - /// IComponent implementation public setLayout(layout: ToolbarLayout): void { diff --git a/src/sql/workbench/browser/modelComponents/tree.component.ts b/src/sql/workbench/browser/modelComponents/tree.component.ts index 1fe32821db..95a6717759 100644 --- a/src/sql/workbench/browser/modelComponents/tree.component.ts +++ b/src/sql/workbench/browser/modelComponents/tree.component.ts @@ -62,15 +62,11 @@ export default class TreeComponent extends ComponentBase super(changeRef, el); } - ngOnInit(): void { - this.baseInit(); - - } - ngAfterViewInit(): void { if (this._inputContainer) { this.createTreeControl(); } + this.baseInit(); } ngOnDestroy(): void { diff --git a/src/sql/workbench/contrib/modelView/browser/webview.component.ts b/src/sql/workbench/contrib/modelView/browser/webview.component.ts index 1a464acc83..4c6db39659 100644 --- a/src/sql/workbench/contrib/modelView/browser/webview.component.ts +++ b/src/sql/workbench/contrib/modelView/browser/webview.component.ts @@ -62,12 +62,12 @@ export default class WebViewComponent extends ComponentBase i super(changeRef, el); } - ngOnInit(): void { - this.baseInit(); + ngAfterViewInit(): void { this._createWebview(); this._register(addDisposableListener(window, EventType.RESIZE, e => { this.layout(); })); + this.baseInit(); } private _createWebview(): void { diff --git a/src/sql/workbench/test/electron-browser/modalComponents/componentBase.test.ts b/src/sql/workbench/test/electron-browser/modalComponents/componentBase.test.ts index e9bfc9a865..74725d0f19 100644 --- a/src/sql/workbench/test/electron-browser/modalComponents/componentBase.test.ts +++ b/src/sql/workbench/test/electron-browser/modalComponents/componentBase.test.ts @@ -20,7 +20,7 @@ class TestComponent extends ComponentBase { this.baseInit(); } - ngOnInit() { } + ngAfterViewInit() { } setLayout() { } public addValidation(validation: () => boolean | Thenable) { @@ -44,7 +44,7 @@ class TestContainer extends ContainerBase { return this.items; } - ngOnInit() { } + ngAfterViewInit() { } setLayout() { } public addValidation(validation: () => boolean | Thenable) {