apim-developer-portal2
Version:
API management developer portal
43 lines (37 loc) • 1.57 kB
text/typescript
import * as ko from "knockout";
import template from "./operationDetailsEditor.html";
import { Component, OnMounted, Param, Event } from "@paperbits/common/ko/decorators";
import { OperationDetailsModel } from "../operationDetailsModel";
export class OperationDetailsEditor {
public readonly enableConsole: ko.Observable<boolean>;
public readonly enableScrollTo: ko.Observable<boolean>;
public readonly defaultSchemaView: ko.Observable<string>;
constructor() {
this.enableConsole = ko.observable();
this.enableScrollTo = ko.observable();
this.defaultSchemaView = ko.observable();
}
public model: OperationDetailsModel;
public onChange: (model: OperationDetailsModel) => void;
public async initialize(): Promise<void> {
this.enableConsole(this.model.enableConsole);
this.enableScrollTo(this.model.enableScrollTo);
this.defaultSchemaView(this.model.defaultSchemaView || "table");
this.enableConsole.subscribe(this.applyChanges);
this.enableScrollTo.subscribe(this.applyChanges);
this.defaultSchemaView.subscribe(this.applyChanges);
}
private applyChanges(): void {
this.model.enableConsole = this.enableConsole();
this.model.enableScrollTo = this.enableScrollTo();
this.model.defaultSchemaView = this.defaultSchemaView();
this.onChange(this.model);
}
}