UNPKG

vasille

Version:

The same framework which is designed to build bulletproof frontends (core library).

28 lines (27 loc) 1.13 kB
import { Runner } from "../node/runner.js"; import { RepeatNode, RepeatNodeOptions } from "./repeat-node.js"; import { ListenableModel } from "../models/model.js"; export interface BaseViewOptions<Node, Element, TagOptions extends object, K, T, Model extends ListenableModel<K, T>> extends RepeatNodeOptions<Node, Element, TagOptions, T, K> { model: Model; } /** * Base class of default views * @class BaseView * @extends RepeatNode */ export declare class BaseView<Node, Element, TagOptions extends object, K, T, Model extends ListenableModel<K, T>> extends RepeatNode<Node, Element, TagOptions, K, T, BaseViewOptions<Node, Element, TagOptions, K, T, Model>> { model: Model; /** * Handler to catch values addition * @type {Function} */ protected addHandler: (index: K, value: T) => void; /** * Handler to catch values removes * @type {Function} */ protected removeHandler: (index: K, value: T) => void; constructor(input: BaseViewOptions<Node, Element, TagOptions, K, T, Model>, runner: Runner<Node, Element, TagOptions>); compose(): void; destroy(): void; }