##// END OF EJS Templates
_WidgetBase some attributes made optional
_WidgetBase some attributes made optional

File last commit:

r18:8ab7be820af9 v1.0.7 default
r18:8ab7be820af9 v1.0.7 default
Show More
_WidgetTests.ts
59 lines | 1.1 KiB | video/mp2t | TypeScriptLexer
import * as _WidgetBase from "dijit/_WidgetBase";
import { watch } from "./traits";
interface ScheduleWidgetAttrs {
data: string[];
}
interface ScheduleWidgetEvents {
"scheduled": Event & {
detail: {
startDate: Date,
endDate: Date
}
};
}
class ScheduleWidget extends _WidgetBase<ScheduleWidgetAttrs, ScheduleWidgetEvents> {
data: string[];
_onClick() {
this.set("data", ["", ""]);
const t = this.get("title");
this.set({
data: ["",""]
});
}
render(){
watch(this, "title", v => String(v) );
}
}
const w = new ScheduleWidget({title: "Year schedule", data: ["a", "b"] });
w.get("data");
w.set("data", ["a","b"]);
w.set({
data: ["a", "b"]
});
w.watch((p, o, n) => [p,o,n]);
w.watch("data", (p, o, n) => [p,o,n]);
watch(w, "title", v => String(v) );
watch(w, "data", v => String(v) );
w.emit("scheduled", { detail: { startDate: new Date(), endDate: new Date()} });
w.emit("click", {} );
w.emit("click", {} );
w.emit<any>("some-extra-event", {});
w.on("click", e => e);
w.on<any>("some-extra-event", e => e);