public async createChildImpl()

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!);
    }