in src/topic/tree/TopicProvider.ts [29:58]
public async createChildImpl(showCreatingNode: (label: string) => void, actionContext?: IActionContext): Promise<TopicTreeItem> {
const wizardContext: ITopicWizardContext = Object.assign({}, this.root);
const wizard: AzureWizard<ITopicWizardContext> = new AzureWizard(
[
new TopicNameStep(),
new ResourceGroupListStep(),
new LocationListStep()
],
[
new TopicCreateStep()
],
wizardContext
);
// https://github.com/Microsoft/vscode-azuretools/issues/120
// tslint:disable-next-line:strict-boolean-expressions
actionContext = actionContext || <IActionContext>{ properties: {}, measurements: {} };
await wizard.prompt(actionContext);
// tslint:disable-next-line:no-non-null-assertion
showCreatingNode(wizardContext.newTopicName!);
const message: string = localize('creatingTopic', 'Creating topic "{0}"...', wizardContext.newTopicName);
await vscode.window.withProgress({ title: message, location: vscode.ProgressLocation.Notification }, async () => {
// tslint:disable-next-line:no-non-null-assertion
await wizard.execute(actionContext!);
});
// tslint:disable-next-line:no-non-null-assertion
return new TopicTreeItem(this, wizardContext.topic!);
}