import { djbase, djclass, bind, prototype, AbstractConstructor } from "../declare"; import { DjxWidgetBase } from "../tsx/DjxWidgetBase"; import { createElement } from "../tsx"; interface MyWidgetAttrs { title: string; counter: number; } interface MyWidgetEvents { "count-inc": Event; "count-dec": Event; } @djclass export class MyWidget extends djbase(DjxWidgetBase as AbstractConstructor>) { @bind({node: "titleNode", type:"innerHTML"}) title = ""; @prototype() counter = 0; render() { return

this._onIncClick()}>[+] this._onDecClick()}>[-]
; } _onIncClick() { this.emit("count-inc", { bubbles: false } ); } _onDecClick() { this.emit("count-dec", { bubbles: false } ); } }