Files
azuredatastudio/extensions/machine-learning/src/views/dialogView.ts
Leila Lali 04af41c424 ML - dashboard icons and links (#10153)
* ML - dashboard icons and links
2020-04-28 21:21:30 -07:00

42 lines
1.3 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';
import { ApiWrapper } from '../common/apiWrapper';
import { MainViewBase } from './mainViewBase';
import { IPageView } from './interfaces';
/**
* Dialog view to create and manage a dialog
*/
export class DialogView extends MainViewBase {
private _dialog: azdata.window.Dialog | undefined;
/**
* Creates new instance
*/
constructor(apiWrapper: ApiWrapper) {
super(apiWrapper);
}
private createDialogPage(title: string, componentView: IPageView): azdata.window.DialogTab {
let viewPanel = this._apiWrapper.createTab(title);
this.addPage(componentView);
this.registerContent(viewPanel, componentView);
return viewPanel;
}
/**
* Creates a new dialog
* @param title title
* @param pages pages
*/
public createDialog(title: string, pages: IPageView[]): azdata.window.Dialog {
this._dialog = this._apiWrapper.createModelViewDialog(title);
this._dialog.content = pages.map(x => this.createDialogPage(x.title || '', x));
return this._dialog;
}
}