UNPKG

@paperbits/core

Version:
31 lines (27 loc) 1.11 kB
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"; @Component({ 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(); } @OnMounted() public async initialize(): Promise<void> { this.buttons(this.trayCommands); const localizationEnabled = await this.settingsProvider.getSetting<boolean>("features/localization"); this.localizationEnabled(!!localizationEnabled); } }