dist/es5/dev/widget/Constructor.js
function render(data) {
                if (!this._rendered) {
                    if (this.template) {
                        if (data) {
                            this.data = data;
                        }
                        var options = this._options,
                            parentChildren = this._parentChildren,
                            decoder = new Decoder(this.template),
                            template = decoder.render(this.data);
                        if (this.el) {
                            var parent = this.el.parentNode;
                            if (parent) {
                                parent.replaceChild(template.fragment, this.el);
                            }
                            if (this.elGroup && this.elGroup.get(this.el)) {
                                this.elGroup.delete(this.el);
                                this.el = template.fragment;
                                this.elGroup.set(template.fragment, this);
                            }
                        } else {
                            this.el = template.fragment;
                        }

                        this.root = new dom.Element(template.fragment, {
                            name: 'root',
                            data: {}
                        });

                        this.children = applyElement(template.children, options);
                        applyParent(this, parentChildren, this.data);
                        this.bindings = setBinders(this.children, true);

                        if (this.data) {
                            this.applyBinders(this.data, this);
                        }

                        setRoutes(this.children, this.context);
                        addChildren(this, this.root);
                        this.rendered.apply(this, _toConsumableArray(this._arguments));
                        this._rendered = true;
                    } else {
                        var HTMLelement = document.createElement('div');
                        this.root = new dom.Element(HTMLelement, {
                            name: 'root',
                            data: {}
                        });
                        if (this.el) {
                            var _parent = this.el.parentNode;
                            if (_parent) {
                                _parent.replaceChild(HTMLelement, this.el);
                            }
                        }
                        this.el = HTMLelement;
                        this.children = {};
                        addChildren(this, this.root);

                        this.rendered.apply(this, _toConsumableArray(this._arguments));
                        this._rendered = true;
                    }
                }
            }
function render(data) {
                if (!this._rendered) {
                    if (this.template) {
                        if (data) {
                            this.data = data;
                        }
                        var options = this._options,
                            parentChildren = this._parentChildren,
                            decoder = new Decoder(this.template),
                            template = decoder.render(this.data);
                        if (this.el) {
                            var parent = this.el.parentNode;
                            if (parent) {
                                parent.replaceChild(template.fragment, this.el);
                            }
                            if (this.elGroup && this.elGroup.get(this.el)) {
                                this.elGroup.delete(this.el);
                                this.el = template.fragment;
                                this.elGroup.set(template.fragment, this);
                            }
                        } else {
                            this.el = template.fragment;
                        }

                        this.root = new dom.Element(template.fragment, {
                            name: 'root',
                            data: {}
                        });

                        this.children = applyElement(template.children, options);
                        applyParent(this, parentChildren, this.data);
                        this.bindings = setBinders(this.children, true);

                        if (this.data) {
                            this.applyBinders(this.data, this);
                        }

                        setRoutes(this.children, this.context);
                        addChildren(this, this.root);
                        this.rendered.apply(this, _toConsumableArray(this._arguments));
                        this._rendered = true;
                    } else {
                        var HTMLelement = document.createElement('div');
                        this.root = new dom.Element(HTMLelement, {
                            name: 'root',
                            data: {}
                        });
                        if (this.el) {
                            var _parent = this.el.parentNode;
                            if (_parent) {
                                _parent.replaceChild(HTMLelement, this.el);
                            }
                        }
                        this.el = HTMLelement;
                        this.children = {};
                        addChildren(this, this.root);

                        this.rendered.apply(this, _toConsumableArray(this._arguments));
                        this._rendered = true;
                    }
                }
            }
function render ( data ) { if ( ! this . _rendered ) { if ( this . template ) { if ( data ) { this . data = data ; } var options = this . _options , parentChildren = this . _parentChildren , decoder = new Decoder ( this . template ) , template = decoder . render ( this . data ) ; if ( this . el ) { var parent = this . el . parentNode ; if ( parent ) { parent . replaceChild ( template . fragment , this . el ) ; } if ( this . elGroup && this . elGroup . get ( this . el ) ) { this . elGroup . delete ( this . el ) ; this . el = template . fragment ; this . elGroup . set ( template . fragment , this ) ; } } else { this . el = template . fragment ; } this . root = new dom . Element ( template . fragment , { name : 'root' , data : { } } ) ; this . children = applyElement ( template . children , options ) ; applyParent ( this , parentChildren , this . data ) ; this . bindings = setBinders ( this . children , true ) ; if ( this . data ) { this . applyBinders ( this . data , this ) ; } setRoutes ( this . children , this . context ) ; addChildren ( this , this . root ) ; this . rendered . apply ( this , _toConsumableArray ( this . _arguments ) ) ; this . _rendered = true ; } else { var HTMLelement = document . createElement ( 'div' ) ; this . root = new dom . Element ( HTMLelement , { name : 'root' , data : { } } ) ; if ( this . el ) { var _parent = this . el . parentNode ; if ( _parent ) { _parent . replaceChild ( HTMLelement , this . el ) ; } } this . el = HTMLelement ; this . children = { } ; addChildren ( this , this . root ) ; this . rendered . apply ( this , _toConsumableArray ( this . _arguments ) ) ; this . _rendered = true ; } } }
method render called manually if flag async is true;  @method render
method render called manually if flag async is true ;