Add more folders to strict compile (#8954)

* add more folders to strictire compile, add more strict compile options

* update ci

* remove unnecessary assertion
This commit is contained in:
Anthony Dresser
2020-01-27 16:26:49 -08:00
committed by GitHub
parent fefe1454de
commit 64929de09d
81 changed files with 630 additions and 644 deletions

View File

@@ -68,30 +68,29 @@ let idPool = 0;
`
})
export class PanelComponent extends Disposable {
@Input() public options: IPanelOptions;
@Input() public actions: Array<Action>;
@ContentChildren(TabComponent) private _tabs: QueryList<TabComponent>;
@ViewChild(ScrollableDirective) private scrollable: ScrollableDirective;
@Input() public options?: IPanelOptions;
@Input() public actions?: Array<Action>;
@ContentChildren(TabComponent) private readonly _tabs!: QueryList<TabComponent>;
@ViewChild(ScrollableDirective) private scrollable?: ScrollableDirective;
@Output() public onTabChange = new EventEmitter<TabComponent>();
@Output() public onTabClose = new EventEmitter<TabComponent>();
private _activeTab: TabComponent;
private _actionbar: ActionBar;
private _mru: TabComponent[];
private _activeTab?: TabComponent;
private _actionbar?: ActionBar;
private _mru: TabComponent[] = [];
protected AutoScrollbarVisibility = ScrollbarVisibility.Auto; // used by angular template
protected HiddenScrollbarVisibility = ScrollbarVisibility.Hidden; // used by angular template
protected NavigationBarLayout = NavigationBarLayout; // used by angular template
@ViewChild('panelActionbar', { read: ElementRef }) private _actionbarRef: ElementRef;
@ViewChild('panelActionbar', { read: ElementRef }) private _actionbarRef!: ElementRef;
constructor(@Inject(forwardRef(() => NgZone)) private _zone: NgZone) {
super();
}
ngOnInit(): void {
this.options = mixin(this.options || {}, defaultOptions, false);
this._mru = [];
}
ngAfterContentInit(): void {
@@ -195,8 +194,8 @@ export class PanelComponent extends Disposable {
/**
* Get the id of the active tab
*/
public get getActiveTab(): string {
return this._activeTab.identifier;
public get getActiveTab(): string | undefined {
return this._activeTab?.identifier;
}
/**
@@ -244,6 +243,6 @@ export class PanelComponent extends Disposable {
}
public layout() {
this._activeTab.layout();
this._activeTab?.layout();
}
}

View File

@@ -69,7 +69,7 @@ export class TabbedPanel extends Disposable {
private body: HTMLElement;
private parent: HTMLElement;
private _actionbar: ActionBar;
private _currentDimensions: DOM.Dimension;
private _currentDimensions?: DOM.Dimension;
private _collapsed = false;
private _headerVisible: boolean;
private _styleElement: HTMLStyleElement;
@@ -130,7 +130,9 @@ export class TabbedPanel extends Disposable {
if (this._tabMap.size > 1 && !this._headerVisible) {
this.parent.insertBefore(this.header, this.parent.firstChild);
this._headerVisible = true;
this.layout(this._currentDimensions);
if (this._currentDimensions) {
this.layout(this._currentDimensions);
}
}
return tab.identifier as PanelTabIdentifier;
}
@@ -287,7 +289,9 @@ export class TabbedPanel extends Disposable {
if (!this.options.showHeaderWhenSingleView && this._tabMap.size === 1 && this._headerVisible) {
this.header.remove();
this._headerVisible = false;
this.layout(this._currentDimensions);
if (this._currentDimensions) {
this.layout(this._currentDimensions);
}
}
}

View File

@@ -21,14 +21,14 @@ export abstract class TabChild extends Disposable {
`
})
export class TabComponent implements OnDestroy {
private _child: TabChild;
@ContentChild(TemplateRef) templateRef: TemplateRef<any>;
@Input() public title: string;
@Input() public canClose: boolean;
@Input() public actions: Array<Action>;
@Input() public iconClass: string;
private _child?: TabChild;
@ContentChild(TemplateRef) templateRef!: TemplateRef<any>;
@Input() public title!: string;
@Input() public canClose!: boolean;
@Input() public actions?: Array<Action>;
@Input() public iconClass?: string;
public _active = false;
@Input() public identifier: string;
@Input() public identifier!: string;
@Input() private visibilityType: 'if' | 'visibility' = 'if';
private rendered = false;
private destroyed: boolean = false;

View File

@@ -29,17 +29,17 @@ import { CloseTabAction } from 'sql/base/browser/ui/panel/tabActions';
`
})
export class TabHeaderComponent extends Disposable implements AfterContentInit, OnDestroy {
@Input() public tab: TabComponent;
@Input() public showIcon: boolean;
@Input() public active: boolean;
@Input() public tab!: TabComponent;
@Input() public showIcon?: boolean;
@Input() public active?: boolean;
@Output() public onSelectTab: EventEmitter<TabComponent> = new EventEmitter<TabComponent>();
@Output() public onCloseTab: EventEmitter<TabComponent> = new EventEmitter<TabComponent>();
private _actionbar: ActionBar;
private _actionbar!: ActionBar;
@ViewChild('actionHeader', { read: ElementRef }) private _actionHeaderRef: ElementRef;
@ViewChild('actionbar', { read: ElementRef }) private _actionbarRef: ElementRef;
@ViewChild('tabLabel', { read: ElementRef }) private _tabLabelRef: ElementRef;
@ViewChild('actionHeader', { read: ElementRef }) private _actionHeaderRef!: ElementRef;
@ViewChild('actionbar', { read: ElementRef }) private _actionbarRef!: ElementRef;
@ViewChild('tabLabel', { read: ElementRef }) private _tabLabelRef!: ElementRef;
constructor() {
super();
}