##// END OF EJS Templates
Added tag v1.0.8 for changeset dd0d589acfbb
Added tag v1.0.8 for changeset dd0d589acfbb

File last commit:

r48:030ea350f98b v1.0.3 default
r56:1661e3ab870c default
Show More
FunctionComponentContext.ts
33 lines | 949 B | video/mp2t | TypeScriptLexer
/ src / main / ts / tsx / FunctionComponentContext.ts
import dom = require("dojo/dom-construct");
import attr = require("dojo/dom-attr");
import { argumentNotNull } from "@implab/core-amd/safe";
import { BuildContextBase } from "./BuildContextBase";
import registry = require("dijit/registry");
export class FunctionComponentContext extends BuildContextBase<Node> {
private _component: (props: any) => any;
private _node: Node | undefined;
constructor(component: (props: any) => any) {
super();
argumentNotNull(component, "component");
this._component = component;
}
_create(attrs: object, children: any[]) {
const _attrs: any = attrs || {};
_attrs.children = children.map(x => this.getChildDom(x));
this._node = this.getChildDom(this._component.call(null, _attrs));
}
_getDomNode() {
if (!this._node)
throw new Error("The instance of the widget isn't created");
return this._node;
}
}