@paperbits/core
Version:
Paperbits core components.
31 lines (27 loc) • 1.11 kB
text/typescript
import * as ko from "knockout";
import template from "./tray.html";
import { Component, OnMounted } from "@paperbits/common/ko/decorators";
import { ToolButton, ViewManager } from "@paperbits/common/ui";
import { ISettingsProvider } from "@paperbits/common/configuration";
({
selector: "tray",
template: template
})
export class Tray {
public readonly buttons: ko.ObservableArray<ToolButton>;
public readonly localizationEnabled: ko.Observable<boolean>;
constructor(
public readonly viewManager: ViewManager,
private readonly trayCommands: ToolButton[],
private readonly settingsProvider: ISettingsProvider
) {
this.buttons = ko.observableArray<ToolButton>(trayCommands);
this.localizationEnabled = ko.observable();
}
()
public async initialize(): Promise<void> {
this.buttons(this.trayCommands);
const localizationEnabled = await this.settingsProvider.getSetting<boolean>("features/localization");
this.localizationEnabled(!!localizationEnabled);
}
}