• Jump To … +
    loader.js App.js Constructor.js Mediator.js parser.js addChildren.js applyAttribute.js applyBinders.js applyElement.js applyParent.js setBinders.js setRoutes.js utils.js
  • applyElement.js

  • ¶
    /**
     * Created by guntars on 15/03/2016.
     */
    define([
        'templating/dom'
    ], function (dom) {
  • ¶

    Applying dom.Element to template elements.

     @private applyElement
     @param {Object} elements
    
        function applyElement(elements = {}, params) {
            let instances = {};
            Object.keys(elements).forEach((key)=> {
                let instance = elements[key];
                if (typeof instance !== 'string') {
                    let element = instance.elGroup.first;
                    if (element) {
                        instances[key] = element;
                        if (element instanceof dom.Element === true &&
                            (['pl'].indexOf(element.data.type) !== -1)) {
                            let bind = element.data.tplSet.bind;
                            if (bind) {
                                Object.keys(bind).forEach((attr)=> {
                                    if (params[bind[attr]] !== undefined) {
                                        if (attr !== 'class') {
                                            element.setAttribute(attr, params[bind[attr]]);
                                        } else {
                                            element.addClass(params[bind[attr]]);
                                        }
                                    }
                                });
                            }
    
                        }
                    } else {
                        instances[key] = instance;
                    }
                }
            });
    
            return instances;
        }
    
        return applyElement;
    });