lib/packages/core-classes.js
function(event_name, event_object) {

		var target = event_object.target,
			view,
			container,
			stack_changed_event_name = event_name + '_stack_changed',
			stack = target ? this._buildElementStack(target) : [],
			i = 0,
			count = stack.length;

		// Warning! You must not modify the `stack` array!
		this._fire(stack_changed_event_name, stack);

		for (; i < count; i++) {
			view = this.getViewByElement(stack[i]);
			if (view) {
				container = view.getContainer();
				if (container.isElementContainer) {
					if (container.getEventTargets(event_name)) {
						this.dispatchEvent(view, event_name, event_object, container.getEventTargets(event_name));
					}
				}
			}
		}

	}
function(event_name, event_object) {

		var target = event_object.target,
			view,
			container,
			stack_changed_event_name = event_name + '_stack_changed',
			stack = target ? this._buildElementStack(target) : [],
			i = 0,
			count = stack.length;

		// Warning! You must not modify the `stack` array!
		this._fire(stack_changed_event_name, stack);

		for (; i < count; i++) {
			view = this.getViewByElement(stack[i]);
			if (view) {
				container = view.getContainer();
				if (container.isElementContainer) {
					if (container.getEventTargets(event_name)) {
						this.dispatchEvent(view, event_name, event_object, container.getEventTargets(event_name));
					}
				}
			}
		}

	}
function ( event_name , event_object ) { var target = event_object . target , view , container , stack_changed_event_name = event_name + '_stack_changed' , stack = target ? this . _buildElementStack ( target ) : [ ] , i = 0 , count = stack . length ; // Warning! You must not modify the `stack` array! this . _fire ( stack_changed_event_name , stack ) ; for ( ; i < count ; i ++ ) { view = this . getViewByElement ( stack [ i ] ) ; if ( view ) { container = view . getContainer ( ) ; if ( container . isElementContainer ) { if ( container . getEventTargets ( event_name ) ) { this . dispatchEvent ( view , event_name , event_object , container . getEventTargets ( event_name ) ) ; } } } } }
Dispatch DOM events to views
@param {string} event_name
@param {Object} event_object
Dispatch DOM events to views