Add migration service calls to migration wizard (#12090)

* Hook up migration apis WIP

* WIP 2

* WIP 3

* Fix build breaks

* Break 2

* WIP 4

* SKU recommendation page work

* WIP 5

* A few minor fixes

* Merge main

* Add back assessment dialog

* Address feedback

Co-authored-by: Amir Omidi <amomidi@microsoft.com>
This commit is contained in:
Karl Burtram
2020-09-02 16:15:39 -07:00
committed by GitHub
parent 65e253ae0d
commit c5e90d0236
11 changed files with 290 additions and 15 deletions

View File

@@ -10,6 +10,7 @@ import { MigrationStateModel, StateChangeEvent } from '../models/stateMachine';
import { Product, ProductLookupTable } from '../models/product';
import { SKU_RECOMMENDATION_PAGE_TITLE, SKU_RECOMMENDATION_CHOOSE_A_TARGET } from '../models/strings';
import { Disposable } from 'vscode';
import { AssessmentResultsDialog } from './assessmentResultsDialog';
export class SKURecommendationPage extends MigrationWizardPage {
// For future reference: DO NOT EXPOSE WIZARD DIRECTLY THROUGH HERE.
@@ -30,14 +31,30 @@ export class SKURecommendationPage extends MigrationWizardPage {
this.igComponent = this.createStatusComponent(view); // The first component giving basic information
this.detailsComponent = this.createDetailsComponent(view); // The details of what can be moved
this.chooseTargetComponent = this.createChooseTargetComponent(view);
const assessmentLink = view.modelBuilder.hyperlink()
.withProperties<azdata.HyperlinkComponentProperties>({
label: 'View Assessment Results',
url: ''
}).component();
assessmentLink.onDidClick(async () => {
let dialog = new AssessmentResultsDialog('ownerUri', this.migrationStateModel, 'Assessment Dialog');
dialog.openDialog();
});
const assessmentFormLink = {
title: '',
component: assessmentLink,
};
this.view = view;
const form = view.modelBuilder.formContainer().withFormItems(
[
this.igComponent,
this.detailsComponent,
this.chooseTargetComponent
this.chooseTargetComponent,
assessmentFormLink
]
);
@@ -95,7 +112,7 @@ export class SKURecommendationPage extends MigrationWizardPage {
rbg.component().cards.push({
id: product.name,
icon: imagePath,
label: 'Some Label'
label: product.name
});
});