@paperbits/core
Version:
Paperbits core components.
49 lines (39 loc) • 1.35 kB
text/typescript
import * as ko from "knockout";
import template from "./carouselItemSelector.html";
import { Component, OnMounted, Param, Event } from "@paperbits/common/ko/decorators";
import { CarouselItemModel } from "../carouselModel";
export class CarouselItemSelector {
public readonly carouselItems: ko.Observable<CarouselItemModel[]>;
public readonly activeCarouselItem: ko.Observable<CarouselItemModel>;
constructor() {
this.carouselItems = ko.observable([]);
this.activeCarouselItem = ko.observable();
}
public activeCarouselItemModel: CarouselItemModel = null;
public carouselItemModels: CarouselItemModel[];
public onSelect: (item: CarouselItemModel) => void;
public onCreate: () => void;
public initialize(): void {
this.carouselItems(this.carouselItemModels);
this.activeCarouselItem(this.activeCarouselItemModel);
}
public selectCarouselItem(item: CarouselItemModel): void {
if (this.onSelect) {
this.onSelect(item);
}
}
public addCarouselItem(): void {
if (this.onCreate) {
this.onCreate();
}
}
}