Machine Learning - Bug fixes (#10377)

* Fixing ML extension bugs
This commit is contained in:
Leila Lali
2020-05-14 12:46:47 -07:00
committed by GitHub
parent d3e1675fc5
commit 0258b1727a
22 changed files with 382 additions and 126 deletions

View File

@@ -17,10 +17,13 @@ import { ImportedModel } from '../../../modelManagement/interfaces';
* View to render current registered models
*/
export class CurrentModelsComponent extends ModelViewBase implements IPageView {
private _tableComponent: azdata.Component | undefined;
private _dataTable: CurrentModelsTable | undefined;
private _loader: azdata.LoadingComponent | undefined;
private _tableSelectionComponent: TableSelectionComponent | undefined;
private _labelComponent: azdata.TextComponent | undefined;
private _descriptionComponent: azdata.TextComponent | undefined;
private _labelContainer: azdata.FlexContainer | undefined;
private _formBuilder: azdata.FormBuilder | undefined;
/**
*
@@ -43,37 +46,69 @@ export class CurrentModelsComponent extends ModelViewBase implements IPageView {
});
this._dataTable = new CurrentModelsTable(this._apiWrapper, this, this._settings);
this._dataTable.registerComponent(modelBuilder);
this._tableComponent = this._dataTable.component;
let formModelBuilder = modelBuilder.formContainer();
this._tableSelectionComponent.addComponents(formModelBuilder);
if (this._tableComponent) {
formModelBuilder.addFormItem({
component: this._tableComponent,
title: ''
});
}
this._loader = modelBuilder.loadingComponent()
.withItem(formModelBuilder.component())
.withProperties({
loading: true
}).component();
this._labelComponent = modelBuilder.text().withProperties({
width: 200,
value: constants.modelsListEmptyMessage
}).component();
this._descriptionComponent = modelBuilder.text().withProperties({
width: 200,
value: constants.modelsListEmptyDescription
}).component();
this._labelContainer = modelBuilder.flexContainer().withLayout({
flexFlow: 'column',
width: 800,
height: '400px',
justifyContent: 'center'
}).component();
this._labelContainer.addItem(
this._labelComponent
, {
CSSStyles: {
'align-items': 'center',
'padding-top': '30px',
'padding-left': `${this.componentMaxLength}px`,
'font-size': '16px'
}
});
this._labelContainer.addItem(
this._descriptionComponent
, {
CSSStyles: {
'align-items': 'center',
'padding-top': '10px',
'padding-left': `${this.componentMaxLength - 50}px`,
'font-size': '13px'
}
});
this.addComponents(formModelBuilder);
return this._loader;
}
public addComponents(formBuilder: azdata.FormBuilder) {
if (this._tableSelectionComponent && this._dataTable) {
this._formBuilder = formBuilder;
if (this._tableSelectionComponent && this._dataTable && this._labelContainer) {
this._tableSelectionComponent.addComponents(formBuilder);
this._dataTable.addComponents(formBuilder);
if (this._dataTable.isEmpty) {
formBuilder.addFormItem({ title: '', component: this._labelContainer });
}
}
}
public removeComponents(formBuilder: azdata.FormBuilder) {
if (this._tableSelectionComponent && this._dataTable) {
if (this._tableSelectionComponent && this._dataTable && this._labelContainer) {
this._tableSelectionComponent.removeComponents(formBuilder);
this._dataTable.removeComponents(formBuilder);
formBuilder.removeFormItem({ title: '', component: this._labelContainer });
}
}
@@ -91,10 +126,11 @@ export class CurrentModelsComponent extends ModelViewBase implements IPageView {
await this.onLoading();
try {
if (this._tableSelectionComponent) {
this._tableSelectionComponent.refresh();
if (this._tableSelectionComponent && this._dataTable) {
await this._tableSelectionComponent.refresh();
await this._dataTable.refresh();
this.refreshComponents();
}
await this._dataTable?.refresh();
} catch (err) {
this.showErrorMessage(constants.getErrorMessage(err));
} finally {
@@ -106,6 +142,13 @@ export class CurrentModelsComponent extends ModelViewBase implements IPageView {
return this._dataTable?.data;
}
private refreshComponents(): void {
if (this._formBuilder) {
this.removeComponents(this._formBuilder);
this.addComponents(this._formBuilder);
}
}
private async onTableSelected(): Promise<void> {
if (this._tableSelectionComponent?.data) {
this.importTable = this._tableSelectionComponent?.data;
@@ -113,6 +156,7 @@ export class CurrentModelsComponent extends ModelViewBase implements IPageView {
if (this._dataTable) {
await this._dataTable.refresh();
}
this.refreshComponents();
}
}