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