Files
azuredatastudio/extensions/arc/src/ui/components/dashboard.ts
Charles Gagnon 72295d46c2 Add close method to ModelView dashboards (#14812)
* Add close method to ModelView dashboards

* fix closing

* remove accessors

* Update errors
2021-03-22 10:17:16 -07:00

33 lines
1.1 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as azdata from 'azdata';
export abstract class Dashboard {
protected dashboard!: azdata.window.ModelViewDashboard;
constructor(protected title: string, protected readonly name: string) { }
public async showDashboard(): Promise<void> {
this.dashboard = this.createDashboard();
await this.dashboard.open();
}
public async closeDashboard(): Promise<void> {
await this.dashboard.close();
}
protected createDashboard(): azdata.window.ModelViewDashboard {
const dashboard = azdata.window.createModelViewDashboard(this.title, this.name);
dashboard.registerTabs(async modelView => {
return await this.registerTabs(modelView);
});
return dashboard;
}
protected abstract registerTabs(modelView: azdata.ModelView): Promise<(azdata.DashboardTab | azdata.DashboardTabGroup)[]>;
}