mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
@@ -2,12 +2,12 @@
|
|||||||
"name": "machine-learning",
|
"name": "machine-learning",
|
||||||
"displayName": "%displayName%",
|
"displayName": "%displayName%",
|
||||||
"description": "%description%",
|
"description": "%description%",
|
||||||
"version": "0.7.0",
|
"version": "0.8.0",
|
||||||
"publisher": "Microsoft",
|
"publisher": "Microsoft",
|
||||||
"preview": true,
|
"preview": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"vscode": "^1.25.0",
|
"vscode": "^1.25.0",
|
||||||
"azdata": ">=1.21.0"
|
"azdata": ">=1.27.0"
|
||||||
},
|
},
|
||||||
"activationEvents": [
|
"activationEvents": [
|
||||||
"onCommand:ml.command.managePackages",
|
"onCommand:ml.command.managePackages",
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
import * as azdata from 'azdata';
|
import * as azdata from 'azdata';
|
||||||
import { ModelViewBase } from './modelViewBase';
|
import { ModelViewBase, ModelSourceType } from './modelViewBase';
|
||||||
import { ApiWrapper } from '../../common/apiWrapper';
|
import { ApiWrapper } from '../../common/apiWrapper';
|
||||||
import { AzureResourceFilterComponent } from './azureResourceFilterComponent';
|
import { AzureResourceFilterComponent } from './azureResourceFilterComponent';
|
||||||
import { AzureModelsTable } from './azureModelsTable';
|
import { AzureModelsTable } from './azureModelsTable';
|
||||||
@@ -92,11 +92,13 @@ export class AzureModelsComponent extends ModelViewBase implements IDataComponen
|
|||||||
}
|
}
|
||||||
|
|
||||||
public addComponents(formBuilder: azdata.FormBuilder) {
|
public addComponents(formBuilder: azdata.FormBuilder) {
|
||||||
this.removeComponents(formBuilder);
|
if (this.modelSourceType === ModelSourceType.Azure) {
|
||||||
if (this.azureFilterComponent?.accountIsValid) {
|
this.removeComponents(formBuilder);
|
||||||
this.addAzureComponents(formBuilder);
|
if (this.azureFilterComponent?.accountIsValid) {
|
||||||
} else {
|
this.addAzureComponents(formBuilder);
|
||||||
this.addAzureSignInComponents(formBuilder);
|
} else {
|
||||||
|
this.addAzureSignInComponents(formBuilder);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,6 +168,7 @@ export class AzureModelsComponent extends ModelViewBase implements IDataComponen
|
|||||||
* Loads the data in the components
|
* Loads the data in the components
|
||||||
*/
|
*/
|
||||||
public async loadData(): Promise<void> {
|
public async loadData(): Promise<void> {
|
||||||
|
await this.onLoaded();
|
||||||
await this.azureFilterComponent?.loadData();
|
await this.azureFilterComponent?.loadData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,18 +48,26 @@ export class AzureResourceFilterComponent extends ModelViewBase implements IData
|
|||||||
width: componentWidth
|
width: componentWidth
|
||||||
}).component();
|
}).component();
|
||||||
|
|
||||||
this._accounts.onValueChanged(async () => {
|
this._accounts.onValueChanged(async (newValue) => {
|
||||||
await this.onAccountSelected();
|
if (newValue.selected !== (<azdata.CategoryValue>this._accounts.value)?.name) {
|
||||||
|
await this.onAccountSelected();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this._subscriptions.onValueChanged(async () => {
|
this._subscriptions.onValueChanged(async (newValue) => {
|
||||||
await this.onSubscriptionSelected();
|
if (newValue.selected !== (<azdata.CategoryValue>this._subscriptions.value)?.name) {
|
||||||
|
await this.onSubscriptionSelected();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
this._groups.onValueChanged(async () => {
|
this._groups.onValueChanged(async (newValue) => {
|
||||||
await this.onGroupSelected();
|
if (newValue.selected !== (<azdata.CategoryValue>this._groups.value)?.name) {
|
||||||
|
await this.onGroupSelected();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
this._workspaces.onValueChanged(async () => {
|
this._workspaces.onValueChanged(async (newValue) => {
|
||||||
await this.onWorkspaceSelectedChanged();
|
if (newValue.selected !== (<azdata.CategoryValue>this._workspaces.value)?.name) {
|
||||||
|
await this.onWorkspaceSelectedChanged();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this._form = this._modelBuilder.formContainer().withFormItems([{
|
this._form = this._modelBuilder.formContainer().withFormItems([{
|
||||||
@@ -174,6 +182,7 @@ export class AzureResourceFilterComponent extends ModelViewBase implements IData
|
|||||||
}
|
}
|
||||||
|
|
||||||
private async onGroupSelected(): Promise<void> {
|
private async onGroupSelected(): Promise<void> {
|
||||||
|
let currentWorkspace = this._workspaces.value;
|
||||||
this._azureWorkspaces = await this.listWorkspaces(this.account, this.subscription, this.group);
|
this._azureWorkspaces = await this.listWorkspaces(this.account, this.subscription, this.group);
|
||||||
if (this._azureWorkspaces && this._azureWorkspaces.length > 0) {
|
if (this._azureWorkspaces && this._azureWorkspaces.length > 0) {
|
||||||
let values = this._azureWorkspaces.map(s => { return { displayName: s.name || '', name: s.id || '' }; });
|
let values = this._azureWorkspaces.map(s => { return { displayName: s.name || '', name: s.id || '' }; });
|
||||||
@@ -183,7 +192,9 @@ export class AzureResourceFilterComponent extends ModelViewBase implements IData
|
|||||||
this._workspaces.values = [];
|
this._workspaces.values = [];
|
||||||
this._workspaces.value = undefined;
|
this._workspaces.value = undefined;
|
||||||
}
|
}
|
||||||
this.onWorkspaceSelectedChanged();
|
if (currentWorkspace !== this._workspaces.value) {
|
||||||
|
this.onWorkspaceSelectedChanged();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private onWorkspaceSelectedChanged(): void {
|
private onWorkspaceSelectedChanged(): void {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import * as azdata from 'azdata';
|
|||||||
|
|
||||||
import * as constants from '../../../common/constants';
|
import * as constants from '../../../common/constants';
|
||||||
import { DataInfoComponent } from '../../dataInfoComponent';
|
import { DataInfoComponent } from '../../dataInfoComponent';
|
||||||
import { ModelActionType, ModelViewBase } from '../modelViewBase';
|
import { ModelActionType, ModelViewBase, ModelSourceType } from '../modelViewBase';
|
||||||
import { CurrentModelsTable } from './currentModelsTable';
|
import { CurrentModelsTable } from './currentModelsTable';
|
||||||
import { ApiWrapper } from '../../../common/apiWrapper';
|
import { ApiWrapper } from '../../../common/apiWrapper';
|
||||||
import { IPageView, IComponentSettings } from '../../interfaces';
|
import { IPageView, IComponentSettings } from '../../interfaces';
|
||||||
@@ -139,18 +139,20 @@ export class CurrentModelsComponent extends ModelViewBase implements IPageView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public addComponents(formBuilder: azdata.FormBuilder) {
|
public addComponents(formBuilder: azdata.FormBuilder) {
|
||||||
this._formBuilder = formBuilder;
|
if (this.modelSourceType === ModelSourceType.RegisteredModels) {
|
||||||
if (this._tableSelectionComponent && this._dataTable && this._tableDataCountContainer && this._labelContainer && this._subheadingContainer) {
|
this._formBuilder = formBuilder;
|
||||||
formBuilder.addFormItem({ title: '', component: this._subheadingContainer });
|
if (this._tableSelectionComponent && this._dataTable && this._tableDataCountContainer && this._labelContainer && this._subheadingContainer) {
|
||||||
this._tableSelectionComponent.addComponents(formBuilder);
|
formBuilder.addFormItem({ title: '', component: this._subheadingContainer });
|
||||||
formBuilder.addFormItem({ title: '', component: this._tableDataCountContainer });
|
this._tableSelectionComponent.addComponents(formBuilder);
|
||||||
this._dataTable.addComponents(formBuilder);
|
formBuilder.addFormItem({ title: '', component: this._tableDataCountContainer });
|
||||||
|
this._dataTable.addComponents(formBuilder);
|
||||||
|
|
||||||
if (this._dataTable.isEmpty) {
|
if (this._dataTable.isEmpty) {
|
||||||
formBuilder.addFormItem({ title: '', component: this._labelContainer });
|
formBuilder.addFormItem({ title: '', component: this._labelContainer });
|
||||||
}
|
}
|
||||||
if (this._tableDataCountComponent) {
|
if (this._tableDataCountComponent) {
|
||||||
this._tableDataCountComponent.value = constants.getDataCount(this._dataTable.modelCounts);
|
this._tableDataCountComponent.value = constants.getDataCount(this._dataTable.modelCounts);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
import { CurrentModelsComponent } from './currentModelsComponent';
|
import { CurrentModelsComponent } from './currentModelsComponent';
|
||||||
|
|
||||||
import { ModelViewBase, RegisterModelEventName } from '../modelViewBase';
|
import { ModelViewBase, RegisterModelEventName, ModelSourceType } from '../modelViewBase';
|
||||||
import * as constants from '../../../common/constants';
|
import * as constants from '../../../common/constants';
|
||||||
import { ApiWrapper } from '../../../common/apiWrapper';
|
import { ApiWrapper } from '../../../common/apiWrapper';
|
||||||
import { DialogView } from '../../dialogView';
|
import { DialogView } from '../../dialogView';
|
||||||
@@ -33,6 +33,7 @@ export class ManageModelsDialog extends ModelViewBase {
|
|||||||
editable: true,
|
editable: true,
|
||||||
selectable: false
|
selectable: false
|
||||||
});
|
});
|
||||||
|
this.currentLanguagesTab.modelSourceType = ModelSourceType.RegisteredModels;
|
||||||
|
|
||||||
let registerModelButton = this._apiWrapper.createButton(constants.registerModelTitle);
|
let registerModelButton = this._apiWrapper.createButton(constants.registerModelTitle);
|
||||||
registerModelButton.onClick(async () => {
|
registerModelButton.onClick(async () => {
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ export class ModelBrowsePage extends ModelViewBase implements IPageView, IDataCo
|
|||||||
|
|
||||||
private _form: azdata.FormContainer | undefined;
|
private _form: azdata.FormContainer | undefined;
|
||||||
private _title: string = constants.localModelPageTitle;
|
private _title: string = constants.localModelPageTitle;
|
||||||
|
private _currentModelSourceType: ModelSourceType | undefined;
|
||||||
private _formBuilder: azdata.FormBuilder | undefined;
|
private _formBuilder: azdata.FormBuilder | undefined;
|
||||||
public localModelsComponent: LocalModelsComponent | undefined;
|
public localModelsComponent: LocalModelsComponent | undefined;
|
||||||
public azureModelsComponent: AzureModelsComponent | undefined;
|
public azureModelsComponent: AzureModelsComponent | undefined;
|
||||||
@@ -76,28 +77,32 @@ export class ModelBrowsePage extends ModelViewBase implements IPageView, IDataCo
|
|||||||
*/
|
*/
|
||||||
public async refresh(): Promise<void> {
|
public async refresh(): Promise<void> {
|
||||||
if (this._formBuilder) {
|
if (this._formBuilder) {
|
||||||
if (this.modelSourceType === ModelSourceType.Local) {
|
if (this._currentModelSourceType !== this.modelSourceType) {
|
||||||
if (this.localModelsComponent && this.azureModelsComponent && this.registeredModelsComponent) {
|
this._currentModelSourceType = this.modelSourceType;
|
||||||
this.azureModelsComponent.removeComponents(this._formBuilder);
|
|
||||||
this.registeredModelsComponent.removeComponents(this._formBuilder);
|
|
||||||
await this.localModelsComponent.refresh();
|
|
||||||
this.localModelsComponent.addComponents(this._formBuilder);
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (this.modelSourceType === ModelSourceType.Azure) {
|
if (this.modelSourceType === ModelSourceType.Local) {
|
||||||
if (this.localModelsComponent && this.azureModelsComponent && this.registeredModelsComponent) {
|
if (this.localModelsComponent && this.azureModelsComponent && this.registeredModelsComponent) {
|
||||||
this.localModelsComponent.removeComponents(this._formBuilder);
|
this.azureModelsComponent.removeComponents(this._formBuilder);
|
||||||
await this.azureModelsComponent.refresh();
|
this.registeredModelsComponent.removeComponents(this._formBuilder);
|
||||||
this.azureModelsComponent.addComponents(this._formBuilder);
|
await this.localModelsComponent.refresh();
|
||||||
this.registeredModelsComponent.removeComponents(this._formBuilder);
|
this.localModelsComponent.addComponents(this._formBuilder);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (this.modelSourceType === ModelSourceType.RegisteredModels) {
|
} else if (this.modelSourceType === ModelSourceType.Azure) {
|
||||||
if (this.localModelsComponent && this.azureModelsComponent && this.registeredModelsComponent) {
|
if (this.localModelsComponent && this.azureModelsComponent && this.registeredModelsComponent) {
|
||||||
this.localModelsComponent.removeComponents(this._formBuilder);
|
this.localModelsComponent.removeComponents(this._formBuilder);
|
||||||
this.azureModelsComponent.removeComponents(this._formBuilder);
|
this.registeredModelsComponent.removeComponents(this._formBuilder);
|
||||||
await this.registeredModelsComponent.refresh();
|
await this.azureModelsComponent.refresh();
|
||||||
this.registeredModelsComponent.addComponents(this._formBuilder);
|
this.azureModelsComponent.addComponents(this._formBuilder);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (this.modelSourceType === ModelSourceType.RegisteredModels) {
|
||||||
|
if (this.localModelsComponent && this.azureModelsComponent && this.registeredModelsComponent) {
|
||||||
|
this.localModelsComponent.removeComponents(this._formBuilder);
|
||||||
|
this.azureModelsComponent.removeComponents(this._formBuilder);
|
||||||
|
await this.registeredModelsComponent.refresh();
|
||||||
|
this.registeredModelsComponent.addComponents(this._formBuilder);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,12 +112,6 @@ export class WizardView extends MainViewBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public async refresh(): Promise<void> {
|
public async refresh(): Promise<void> {
|
||||||
for (let index = 0; index < this._pages.length; index++) {
|
|
||||||
const page = this._pages[index];
|
|
||||||
if (this._wizard?.pages[index]?.title !== page.title) {
|
|
||||||
this.addWizardPage(page, index);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
await super.refresh();
|
await super.refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user