More layering and compile strictness (#8973)

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

* update ci

* wip

* add more layering and fix issues

* add more strictness

* remove unnecessary assertion

* add missing checks

* fix indentation

* remove jsdoc
This commit is contained in:
Anthony Dresser
2020-01-29 20:35:11 -08:00
committed by GitHub
parent ddfdd43fc3
commit 56695be14a
185 changed files with 725 additions and 635 deletions

View File

@@ -53,14 +53,14 @@ export class DashboardHomeContainer extends DashboardWidgetContainer {
if (collapsedVal === 'collapsed') {
this._propertiesClass.collapsed = true;
}
this.angularEventingService.onAngularEvent(this.dashboardService.getUnderlyingUri(), event => {
this._register(this.angularEventingService.onAngularEvent(this.dashboardService.getUnderlyingUri())(event => {
if (event.event === AngularEventType.COLLAPSE_WIDGET && this._propertiesClass && event.payload === this._propertiesClass.guid) {
this._propertiesClass.collapsed = !this._propertiesClass.collapsed;
this._cd.detectChanges();
this._configurationService.updateValue(`dashboard.${this.properties.context}.properties`,
this._propertiesClass.collapsed ? 'collapsed' : true, ConfigurationTarget.USER);
}
});
}));
}
public layout() {

View File

@@ -5,7 +5,7 @@
import 'vs/css!./dashboardWidgetContainer';
import { Component, Inject, Input, forwardRef, ViewChild, OnDestroy, ChangeDetectorRef, AfterContentInit } from '@angular/core';
import { Component, Inject, Input, forwardRef, ViewChild, ChangeDetectorRef, AfterContentInit } from '@angular/core';
import { TabConfig, WidgetConfig } from 'sql/workbench/contrib/dashboard/browser/core/dashboardWidget';
import { DashboardTab } from 'sql/workbench/contrib/dashboard/browser/core/interfaces';
@@ -23,7 +23,7 @@ import { values } from 'vs/base/common/collections';
</widget-content>
`
})
export class DashboardWidgetContainer extends DashboardTab implements OnDestroy, AfterContentInit {
export class DashboardWidgetContainer extends DashboardTab implements AfterContentInit {
@Input() protected tab: TabConfig;
protected widgets: WidgetConfig[];
private _onResize = new Emitter<void>();
@@ -50,10 +50,6 @@ export class DashboardWidgetContainer extends DashboardTab implements OnDestroy,
}));
}
ngOnDestroy() {
this.dispose();
}
public get id(): string {
return this.tab.id;
}

View File

@@ -11,7 +11,6 @@ import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
import { IAngularEventingService, AngularEventType, IAngularEvent } from 'sql/platform/angularEventing/browser/angularEventingService';
import { INewDashboardTabDialogService } from 'sql/workbench/services/dashboard/browser/newDashboardTabDialog';
import { IDashboardTab } from 'sql/workbench/contrib/dashboard/browser/dashboardRegistry';
import { subscriptionToDisposable } from 'sql/base/browser/lifecycle';
import { find, firstIndex } from 'vs/base/common/arrays';
import { CellContext } from 'sql/workbench/contrib/notebook/browser/cellViews/codeActions';
@@ -166,7 +165,7 @@ export class AddFeatureTabAction extends Action {
@IAngularEventingService private _angularEventService: IAngularEventingService
) {
super(AddFeatureTabAction.ID, AddFeatureTabAction.LABEL, AddFeatureTabAction.ICON);
this._register(subscriptionToDisposable(this._angularEventService.onAngularEvent(this._uri, (event) => this.handleDashboardEvent(event))));
this._register(this._angularEventService.onAngularEvent(this._uri)(event => this.handleDashboardEvent(event)));
}
run(): Promise<boolean> {

View File

@@ -3,15 +3,13 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { OnDestroy } from '@angular/core';
import { Event } from 'vs/base/common/event';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { TabChild } from 'sql/base/browser/ui/panel/tab.component';
import { SingleConnectionManagementService } from 'sql/workbench/services/bootstrap/browser/commonServiceInterface.service';
export abstract class DashboardTab extends TabChild implements OnDestroy {
export abstract class DashboardTab extends TabChild {
public abstract layout(): void;
public abstract readonly id: string;
public abstract readonly editable: boolean;
@@ -23,10 +21,6 @@ export abstract class DashboardTab extends TabChild implements OnDestroy {
constructor() {
super();
}
ngOnDestroy() {
this.dispose();
}
}
export interface IConfigModifierCollection {

View File

@@ -23,7 +23,7 @@ import { IConnectionProfile } from 'sql/platform/connection/common/interfaces';
import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement';
import { CancellationToken } from 'vs/base/common/cancellation';
import { IStorageService } from 'vs/platform/storage/common/storage';
import { IQueryManagementService } from 'sql/platform/query/common/queryManagement';
import { IQueryManagementService } from 'sql/workbench/services/query/common/queryManagement';
export class DashboardEditor extends BaseEditor {

View File

@@ -12,7 +12,7 @@ import { IDashboardComponentParams, IBootstrapParams } from 'sql/workbench/servi
import { IMetadataService } from 'sql/platform/metadata/common/metadataService';
import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement';
import { IAdminService } from 'sql/workbench/services/admin/common/adminService';
import { IQueryManagementService } from 'sql/platform/query/common/queryManagement';
import { IQueryManagementService } from 'sql/workbench/services/query/common/queryManagement';
import { AngularEventType, IAngularEvent, IAngularEventingService } from 'sql/platform/angularEventing/browser/angularEventingService';
import { IDashboardTab } from 'sql/workbench/contrib/dashboard/browser/dashboardRegistry';
import { TabSettingConfig } from 'sql/workbench/contrib/dashboard/browser/core/dashboardWidget';
@@ -26,7 +26,6 @@ import * as nls from 'vs/nls';
import { deepClone } from 'vs/base/common/objects';
import { RawContextKey, IContextKey } from 'vs/platform/contextkey/common/contextkey';
import { INotificationService } from 'vs/platform/notification/common/notification';
import { subscriptionToDisposable } from 'sql/base/browser/lifecycle';
const DASHBOARD_SETTINGS = 'dashboard';
@@ -77,7 +76,7 @@ export class DashboardServiceInterface extends CommonServiceInterface {
// during testing there may not be params
if (this._params) {
this.dashboardContextKey = this._dashboardContextKey.bindTo(this.scopedContextKeyService);
this._register(subscriptionToDisposable(this.angularEventingService.onAngularEvent(this._uri, (event) => this.handleDashboardEvent(event))));
this._register(this.angularEventingService.onAngularEvent(this._uri)(event => this.handleDashboardEvent(event)));
}
}

View File

@@ -16,8 +16,8 @@ import * as types from 'vs/base/common/types';
import { Disposable } from 'vs/base/common/lifecycle';
import * as nls from 'vs/nls';
import { IThemeService, ITheme } from 'vs/platform/theme/common/themeService';
import { IInsightData, IPointDataSet } from 'sql/workbench/contrib/charts/browser/interfaces';
import { IInsightsView } from 'sql/platform/dashboard/browser/insightRegistry';
import { IPointDataSet } from 'sql/workbench/contrib/charts/browser/interfaces';
import { IInsightsView, IInsightData } from 'sql/platform/dashboard/browser/insightRegistry';
import { ChartType, LegendPosition } from 'sql/workbench/contrib/charts/common/interfaces';
import { createMemoizer } from 'vs/base/common/decorators';
import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry';

View File

@@ -5,8 +5,7 @@
import { Component, Input, Inject, ChangeDetectorRef, forwardRef } from '@angular/core';
import { IInsightData } from 'sql/workbench/contrib/charts/browser/interfaces';
import { IInsightsView } from 'sql/platform/dashboard/browser/insightRegistry';
import { IInsightsView, IInsightData } from 'sql/platform/dashboard/browser/insightRegistry';
@Component({
template: `

View File

@@ -6,8 +6,7 @@
import { Component, Input, Inject, ChangeDetectorRef, forwardRef, ViewChild, OnInit, ElementRef } from '@angular/core';
import { mixin } from 'vs/base/common/objects';
import { IInsightData } from 'sql/workbench/contrib/charts/browser/interfaces';
import { IInsightsView } from 'sql/platform/dashboard/browser/insightRegistry';
import { IInsightsView, IInsightData } from 'sql/platform/dashboard/browser/insightRegistry';
import { startsWith } from 'vs/base/common/strings';
interface IConfig {

View File

@@ -13,8 +13,7 @@ import { Table } from 'sql/base/browser/ui/table/table';
import { TableDataView } from 'sql/base/browser/ui/table/tableDataView';
import { attachTableStyler } from 'sql/platform/theme/common/styler';
import { CellSelectionModel } from 'sql/base/browser/ui/table/plugins/cellSelectionModel.plugin';
import { IInsightData } from 'sql/workbench/contrib/charts/browser/interfaces';
import { IInsightsView } from 'sql/platform/dashboard/browser/insightRegistry';
import { IInsightsView, IInsightData } from 'sql/platform/dashboard/browser/insightRegistry';
@Component({
template: ''

View File

@@ -27,7 +27,7 @@ import { MenuRegistry, ICommandAction } from 'vs/platform/actions/common/actions
import { ContextKeyExpr, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
import { KeyCode } from 'vs/base/common/keyCodes';
import { TaskRegistry } from 'sql/platform/tasks/browser/tasksRegistry';
import { TaskRegistry } from 'sql/workbench/services/tasks/browser/tasksRegistry';
interface ITask {
name: string;

View File

@@ -6,7 +6,7 @@
import { registerDashboardWidget } from 'sql/platform/dashboard/browser/widgetRegistry';
import { IJSONSchema } from 'vs/base/common/jsonSchema';
import { TaskRegistry } from 'sql/platform/tasks/browser/tasksRegistry';
import { TaskRegistry } from 'sql/workbench/services/tasks/browser/tasksRegistry';
const singleTaskSchema: IJSONSchema = {
type: 'string',