'use strict'; var warp10Finalize = require('warp10/finalize'); var eventDelegation = require('./event-delegation'); var win = window; var defaultDocument = document; var events = require('../runtime/events'); var componentsUtil = require('./util'); var componentLookup = componentsUtil.$__componentLookup; var getElementById = componentsUtil.$__getElementById; var ComponentDef = require('./ComponentDef'); // var extend = require('raptor-util/extend'); // var registry = require('./registry'); function invokeComponentEventHandler(component, targetMethodName, args) { var method = component[targetMethodName]; if (!method) { throw Error('Method not found: ' + targetMethodName); } method.apply(component, args); } function addEventListenerHelper(el, eventType, listener) { el.addEventListener(eventType, listener, false); return function remove() { el.removeEventListener(eventType, listener); }; } function addDOMEventListeners(component, el, eventType, targetMethodName, extraArgs, handles) { var removeListener = addEventListenerHelper(el, eventType, function(event) { var args = [event, el]; if (extraArgs) { args = extraArgs.concat(args); } invokeComponentEventHandler(component, targetMethodName, args); }); handles.push(removeListener); } function initComponent(componentDef, doc) { var component = componentDef.$__component; if (!component || !component.$__isComponent) { return; // legacy } var scope = componentDef.$__scope; var domEvents = componentDef.$__domEvents; var customEvents = componentDef.$__customEvents; component.$__reset(); component.$__document = doc; var isExisting = componentDef.$__isExisting; var i; var len; var eventType; var targetMethodName; var extraArgs; var id = component.id; var rootIds = componentDef.$__roots; if (rootIds) { var rootComponents; var els = []; for (i=0, len=rootIds.length; i} componentDefs An array of ComponentDef instances */ function initClientRendered(componentDefs, doc) { // Ensure that event handlers to handle delegating events are // always attached before initializing any components eventDelegation.$__init(doc); doc = doc || defaultDocument; for (var i=0,len=componentDefs.length; i