@paperbits/core
Version:
Paperbits core components.
50 lines (39 loc) • 1.32 kB
text/typescript
import * as ko from "knockout";
import template from "./accordionItemSelector.html";
import { Component, OnMounted, Param, Event } from "@paperbits/common/ko/decorators";
import { AccordionItemModel } from "../accordionModel";
export class AccordionItemSelector {
public readonly accordionItems: ko.Observable<AccordionItemModel[]>;
public readonly activeAccordionItem: ko.Observable<AccordionItemModel>;
constructor() {
this.accordionItems = ko.observable([]);
this.activeAccordionItem = ko.observable();
}
public activeAccordionItemModel: AccordionItemModel = null;
public accordionItemModels: AccordionItemModel[];
public onSelect: (item: AccordionItemModel) => void;
public onCreate: () => void;
public initialize(): void {
this.accordionItems(this.accordionItemModels);
this.activeAccordionItem(this.activeAccordionItemModel);
}
public selectAccordionItem(item: AccordionItemModel): void {
if (this.onSelect) {
this.onSelect(item);
}
}
public addAccordionItem(): void {
if (this.onCreate) {
this.onCreate();
}
}
}