public async createChildImpl()

in src/eventSubscription/tree/EventSubscriptionProvider.ts [48:77]


    public async createChildImpl(showCreatingNode: (label: string) => void, actionContext?: IActionContext): Promise<EventSubscriptionTreeItem> {
        const wizardContext: IEventSubscriptionWizardContext = Object.assign({}, this.root);

        const wizard: AzureWizard<IEventSubscriptionWizardContext> = new AzureWizard(
            [
                new EventSubscriptionNameStep(),
                new TopicTypeStep(),
                new EndpointUrlStep()
            ],
            [
                new EventSubscriptionCreateStep()
            ],
            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.newEventSubscriptionName!);
        const message: string = localize('creatingEventSubscription', 'Creating event subscription "{0}"...', wizardContext.newEventSubscriptionName);
        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 EventSubscriptionTreeItem(this, wizardContext.eventSubscription!);
    }