| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
- /**
- * @module utils/eventinfo
- */
- import spy from './spy';
- /**
- * The event object passed to event callbacks. It is used to provide information about the event as well as a tool to
- * manipulate it.
- */
- export default class EventInfo {
- /**
- * @param {Object} source The emitter.
- * @param {String} name The event name.
- */
- constructor( source, name ) {
- /**
- * The object that fired the event.
- *
- * @readonly
- * @member {Object}
- */
- this.source = source;
- /**
- * The event name.
- *
- * @readonly
- * @member {String}
- */
- this.name = name;
- /**
- * Path this event has followed. See {@link module:utils/emittermixin~EmitterMixin#delegate}.
- *
- * @readonly
- * @member {Array.<Object>}
- */
- this.path = [];
- // The following methods are defined in the constructor because they must be re-created per instance.
- /**
- * Stops the event emitter to call further callbacks for this event interaction.
- *
- * @method #stop
- */
- this.stop = spy();
- /**
- * Removes the current callback from future interactions of this event.
- *
- * @method #off
- */
- this.off = spy();
- /**
- * The value which will be returned by {@link module:utils/emittermixin~EmitterMixin#fire}.
- *
- * It's `undefined` by default and can be changed by an event listener:
- *
- * dataController.fire( 'getSelectedContent', ( evt ) => {
- * // This listener will make `dataController.fire( 'getSelectedContent' )`
- * // always return an empty DocumentFragment.
- * evt.return = new DocumentFragment();
- *
- * // Make sure no other listeners are executed.
- * evt.stop();
- * } );
- *
- * @member #return
- */
- }
- }
|