@paperbits/core
Version:
Paperbits core components.
49 lines (39 loc) • 1.35 kB
text/typescript
import * as ko from "knockout";
import template from "./tabPanelItemSelector.html";
import { Component, OnMounted, Param, Event } from "@paperbits/common/ko/decorators";
import { TabPanelItemModel } from "../tabPanelModel";
export class TabPanelItemSelector {
public readonly tabPanelItems: ko.Observable<TabPanelItemModel[]>;
public readonly activeTabPanelItem: ko.Observable<TabPanelItemModel>;
constructor() {
this.tabPanelItems = ko.observable([]);
this.activeTabPanelItem = ko.observable();
}
public activeTabPanelItemModel: TabPanelItemModel = null;
public tabPanelItemModels: TabPanelItemModel[];
public onSelect: (item: TabPanelItemModel) => void;
public onCreate: () => void;
public initialize(): void {
this.tabPanelItems(this.tabPanelItemModels);
this.activeTabPanelItem(this.activeTabPanelItemModel);
}
public selectTabPanelItem(item: TabPanelItemModel): void {
if (this.onSelect) {
this.onSelect(item);
}
}
public addTabPanelItem(): void {
if (this.onCreate) {
this.onCreate();
}
}
}