apim-developer-portal1
Version:
API management developer portal
42 lines (33 loc) • 1.3 kB
text/typescript
import * as ko from "knockout";
import template from "./conference-session-runtime.html";
import { HttpClient, HttpRequest } from "@paperbits/common/http";
import { Component, RuntimeComponent, Param, OnMounted, OnDestroyed } from "@paperbits/common/ko/decorators";
import { widgetRuntimeSelector } from "../..";
const conferenceApiUrl = "https://conferenceapi.azurewebsites.net/session";
({
selector: widgetRuntimeSelector
})
({
selector: widgetRuntimeSelector,
template: template
})
export class ConferenceSessionRuntime {
public readonly sessionDescription: ko.Observable<string>;
constructor(private readonly httpClient: HttpClient) {
this.sessionNumber = ko.observable();
this.sessionDescription = ko.observable();
}
()
public readonly sessionNumber: ko.Observable<string>;
()
public async initialize(): Promise<void> {
const sessionNumber = this.sessionNumber();
const request: HttpRequest = {
url: `${conferenceApiUrl}/${sessionNumber}`,
method: "GET"
};
const response = await this.httpClient.send<string>(request);
const sessionDescription = response.toText();
this.sessionDescription(sessionDescription);
}
}