Use extends and super for Observable

This commit is contained in:
ahocevar
2018-07-17 14:05:52 +02:00
parent 2792ba701a
commit 2fd022d215
2 changed files with 10 additions and 22 deletions
+2 -20
View File
@@ -1,7 +1,6 @@
/** /**
* @module ol/Observable * @module ol/Observable
*/ */
import {inherits} from './util.js';
import {listen, unlistenByKey, unlisten, listenOnce} from './events.js'; import {listen, unlistenByKey, unlisten, listenOnce} from './events.js';
import EventTarget from './events/EventTarget.js'; import EventTarget from './events/EventTarget.js';
import EventType from './events/EventType.js'; import EventType from './events/EventType.js';
@@ -14,14 +13,13 @@ import EventType from './events/EventType.js';
* and unregistration. A generic `change` event is always available through * and unregistration. A generic `change` event is always available through
* {@link module:ol/Observable~Observable#changed}. * {@link module:ol/Observable~Observable#changed}.
* *
* @extends {module:ol/events/EventTarget}
* @fires module:ol/events/Event~Event * @fires module:ol/events/Event~Event
* @api * @api
*/ */
class Observable { class Observable extends EventTarget {
constructor() { constructor() {
EventTarget.call(this); super();
/** /**
* @private * @private
@@ -112,8 +110,6 @@ class Observable {
} }
} }
inherits(Observable, EventTarget);
/** /**
* Removes an event listener using the key returned by `on()` or `once()`. * Removes an event listener using the key returned by `on()` or `once()`.
@@ -132,18 +128,4 @@ export function unByKey(key) {
} }
/**
* Dispatches an event and calls all listeners listening for events
* of this type. The event parameter can either be a string or an
* Object with a `type` property.
*
* @param {{type: string,
* target: (EventTarget|module:ol/events/EventTarget|undefined)}|
* module:ol/events/Event|string} event Event object.
* @function
* @api
*/
Observable.prototype.dispatchEvent;
export default Observable; export default Observable;
+8 -2
View File
@@ -71,11 +71,17 @@ class EventTarget {
} }
/** /**
* Dispatches an event and calls all listeners listening for events
* of this type. The event parameter can either be a string or an
* Object with a `type` property.
*
* @param {{type: string, * @param {{type: string,
* target: (EventTarget|module:ol/events/EventTarget|undefined)}|module:ol/events/Event| * target: (EventTarget|module:ol/events/EventTarget|undefined)}|
* string} event Event or event type. * module:ol/events/Event|string} event Event object.
* @return {boolean|undefined} `false` if anyone called preventDefault on the * @return {boolean|undefined} `false` if anyone called preventDefault on the
* event object or if any of the listeners returned false. * event object or if any of the listeners returned false.
* @function
* @api
*/ */
dispatchEvent(event) { dispatchEvent(event) {
const evt = typeof event === 'string' ? new Event(event) : event; const evt = typeof event === 'string' ? new Event(event) : event;