UNPKG

vasille

Version:

The first Developer eXperience Orientated front-end framework (core library).

28 lines (27 loc) 793 B
import { RepeatNode } from "./repeat-node.js"; /** * Base class of default views * @class BaseView * @extends RepeatNode * @implements IModel */ export class BaseView extends RepeatNode { constructor(input, runner, name) { super(input, runner, name); } compose() { this.addHandler = (id, item) => { this.createChild(this.input, id, item); }; this.removeHandler = (id, item) => { this.destroyChild(id, item); }; this.input.model.listener.onAdd(this.addHandler); this.input.model.listener.onRemove(this.removeHandler); } destroy() { this.input.model.listener.offAdd(this.addHandler); this.input.model.listener.offRemove(this.removeHandler); super.destroy(); } }