##// END OF EJS Templates
added djbase mixins declaration support
added djbase mixins declaration support

File last commit:

r30:a46488b209e8 v1.0.0-rc14 default
r32:1174538197f6 v1.0.0-rc15 default
Show More
MyWidget.tsx
43 lines | 969 B | text/x-typescript | TypeScriptLexer
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<DjxWidgetBase<MyWidgetAttrs, MyWidgetEvents>>) {
@bind({node: "titleNode", type:"innerHTML"})
title = "";
@prototype()
counter = 0;
render() {
return <div>
<h1 data-dojo-attach-point="titleNode"></h1>
<span onclick={() => this._onIncClick()}>[+]</span>
<span onclick={() => this._onDecClick()}>[-]</span>
</div>;
}
_onIncClick() {
this.emit("count-inc", { bubbles: false } );
}
_onDecClick() {
this.emit("count-dec", { bubbles: false } );
}
}