function EventData(sourceEvent, propagateSignals) {
    var isPropagationStopped = false;
    var isImmediatePropagationStopped = false;
    var isDefaultPrevented = false;

    /***
     * Stops event from executing its default behaviour.
     * @method preventDefault
     */
    this.preventDefault = function (propagateSignalsOverride) {
      isDefaultPrevented = true;
      if ((propagateSignalsOverride == null ? propagateSignals : propagateSignalsOverride) && 
          this.sourceEvent && typeof this.sourceEvent.preventDefault === 'function') {
        this.sourceEvent.preventDefault();
      }
    };

    /***
     * Returns whether preventDefault was called on this event object.
     * @method isDefaultPrevented
     * @return {Boolean}
     */
    this.isDefaultPrevented = function () {
      return isDefaultPrevented;
    };

    /***
     * Stops event from propagating up the DOM tree.
     * @method stopPropagation
     */
    this.stopPropagation = function (propagateSignalsOverride) {
      isPropagationStopped = true;
      if ((propagateSignalsOverride == null ? propagateSignals : propagateSignalsOverride) && 
          this.sourceEvent && typeof this.sourceEvent.stopPropagation === 'function') {
        this.sourceEvent.stopPropagation();
      }
    };

    /***
     * Returns whether stopPropagation was called on this event object.
     * @method isPropagationStopped
     * @return {Boolean}
     */
    this.isPropagationStopped = function () {
      return isPropagationStopped;
    };

    /***
     * Prevents the rest of the handlers from being executed.
     * @method stopImmediatePropagation
     */
    this.stopImmediatePropagation = function (propagateSignalsOverride) {
      isImmediatePropagationStopped = true;
      if ((propagateSignalsOverride == null ? propagateSignals : propagateSignalsOverride) && 
          this.sourceEvent && typeof this.sourceEvent.stopImmediatePropagation === 'function') {
        this.sourceEvent.stopImmediatePropagation();
      }
    };

    /***
     * Returns whether stopImmediatePropagation was called on this event object.
     * @method isImmediatePropagationStopped
     * @return {Boolean}
     */
    this.isImmediatePropagationStopped = function () {
      return isImmediatePropagationStopped;
    }

    /**
     * Returns TRUE when any of these methods of this event has been called:
     * - isImmediatePropagationStopped()
     * - isPropagationStopped()
     * - isDefaultPrevented()
     *
     * This method serves as a shorthand for
     * `e.isImmediatePropagationStopped() || e.isPropagationStopped() || e.isDefaultPrevented()`
     */
    this.isHandled = function () {
      return this.isImmediatePropagationStopped() || this.isPropagationStopped() || this.isDefaultPrevented();
    };

    if (sourceEvent) {
      this.sourceEvent = sourceEvent;
    }
  }
/***
   * An event object for passing data to event handlers and letting them control propagation.
   * <p>This is pretty much identical to how W3C and jQuery implement events.</p>
   * @class EventData
   * @constructor
   */
An event object for passing data to event handlers and letting them control propagation.
This is pretty much identical to how W3C and jQuery implement events.
@class EventData
@constructor
An event object for passing data to event handlers and letting them control propagation . This is pretty much identical to how W3C and jQuery implement events . @class EventData @constructor
function EventData(sourceEvent, propagateSignals) {
    var isPropagationStopped = false;
    var isImmediatePropagationStopped = false;
    var isDefaultPrevented = false;
    this.preventDefault = function (propagateSignalsOverride) {
      isDefaultPrevented = true;
      if ((propagateSignalsOverride == null ? propagateSignals : propagateSignalsOverride) && 
          this.sourceEvent && typeof this.sourceEvent.preventDefault === 'function') {
        this.sourceEvent.preventDefault();
      }
    };
    this.isDefaultPrevented = function () {
      return isDefaultPrevented;
    };
    this.stopPropagation = function (propagateSignalsOverride) {
      isPropagationStopped = true;
      if ((propagateSignalsOverride == null ? propagateSignals : propagateSignalsOverride) && 
          this.sourceEvent && typeof this.sourceEvent.stopPropagation === 'function') {
        this.sourceEvent.stopPropagation();
      }
    };
    this.isPropagationStopped = function () {
      return isPropagationStopped;
    };
    this.stopImmediatePropagation = function (propagateSignalsOverride) {
      isImmediatePropagationStopped = true;
      if ((propagateSignalsOverride == null ? propagateSignals : propagateSignalsOverride) && 
          this.sourceEvent && typeof this.sourceEvent.stopImmediatePropagation === 'function') {
        this.sourceEvent.stopImmediatePropagation();
      }
    };
    this.isImmediatePropagationStopped = function () {
      return isImmediatePropagationStopped;
    }
    this.isHandled = function () {
      return this.isImmediatePropagationStopped() || this.isPropagationStopped() || this.isDefaultPrevented();
    };
    if (sourceEvent) {
      this.sourceEvent = sourceEvent;
    }
  }
function EventData ( sourceEvent , propagateSignals ) { var isPropagationStopped = false ; var isImmediatePropagationStopped = false ; var isDefaultPrevented = false ; this . preventDefault = function ( propagateSignalsOverride ) { isDefaultPrevented = true ; if ( ( propagateSignalsOverride == null ? propagateSignals : propagateSignalsOverride ) && this . sourceEvent && typeof this . sourceEvent . preventDefault === 'function' ) { this . sourceEvent . preventDefault ( ) ; } } ; this . isDefaultPrevented = function ( ) { return isDefaultPrevented ; } ; this . stopPropagation = function ( propagateSignalsOverride ) { isPropagationStopped = true ; if ( ( propagateSignalsOverride == null ? propagateSignals : propagateSignalsOverride ) && this . sourceEvent && typeof this . sourceEvent . stopPropagation === 'function' ) { this . sourceEvent . stopPropagation ( ) ; } } ; this . isPropagationStopped = function ( ) { return isPropagationStopped ; } ; this . stopImmediatePropagation = function ( propagateSignalsOverride ) { isImmediatePropagationStopped = true ; if ( ( propagateSignalsOverride == null ? propagateSignals : propagateSignalsOverride ) && this . sourceEvent && typeof this . sourceEvent . stopImmediatePropagation === 'function' ) { this . sourceEvent . stopImmediatePropagation ( ) ; } } ; this . isImmediatePropagationStopped = function ( ) { return isImmediatePropagationStopped ; } this . isHandled = function ( ) { return this . isImmediatePropagationStopped ( ) || this . isPropagationStopped ( ) || this . isDefaultPrevented ( ) ; } ; if ( sourceEvent ) { this . sourceEvent = sourceEvent ; } }
An event object for passing data to event handlers and letting them control propagation.
An event object for passing data to event handlers and letting them control propagation .
/***
     * Stops event from executing its default behaviour.
     * @method preventDefault
     */ /***
     * Returns whether preventDefault was called on this event object.
     * @method isDefaultPrevented
     * @return {Boolean}
     */ /***
     * Stops event from propagating up the DOM tree.
     * @method stopPropagation
     */ /***
     * Returns whether stopPropagation was called on this event object.
     * @method isPropagationStopped
     * @return {Boolean}
     */ /***
     * Prevents the rest of the handlers from being executed.
     * @method stopImmediatePropagation
     */ /***
     * Returns whether stopImmediatePropagation was called on this event object.
     * @method isImmediatePropagationStopped
     * @return {Boolean}
     */ /**
     * Returns TRUE when any of these methods of this event has been called:
     * - isImmediatePropagationStopped()
     * - isPropagationStopped()
     * - isDefaultPrevented()
     *
     * This method serves as a shorthand for
     * `e.isImmediatePropagationStopped() || e.isPropagationStopped() || e.isDefaultPrevented()`
     */