Simplify events and store listeners only in one place

This commit is contained in:
ahocevar
2019-09-04 16:39:32 +02:00
parent d416866108
commit ebfb20440a
52 changed files with 224 additions and 599 deletions
+4 -7
View File
@@ -5,7 +5,6 @@ import {getUid} from '../util.js';
import ImageState from '../ImageState.js';
import {assert} from '../asserts.js';
import {asArray} from '../color.js';
import {listen, unlisten} from '../events.js';
import EventType from '../events/EventType.js';
import IconAnchorUnits from './IconAnchorUnits.js';
import {get as getIconImage} from './IconImage.js';
@@ -378,9 +377,8 @@ class Icon extends ImageStyle {
/**
* @override
*/
listenImageChange(listener, thisArg) {
return listen(this.iconImage_, EventType.CHANGE,
listener, thisArg);
listenImageChange(listener) {
this.iconImage_.addEventListener(EventType.CHANGE, listener);
}
/**
@@ -398,9 +396,8 @@ class Icon extends ImageStyle {
/**
* @override
*/
unlistenImageChange(listener, thisArg) {
unlisten(this.iconImage_, EventType.CHANGE,
listener, thisArg);
unlistenImageChange(listener) {
this.iconImage_.removeEventListener(EventType.CHANGE, listener);
}
}
+5 -8
View File
@@ -215,13 +215,11 @@ class ImageStyle {
/**
* @abstract
* @param {function(this: T, import("../events/Event.js").default): void} listener Listener function.
* @param {T} thisArg Value to use as `this` when executing `listener`.
* @return {import("../events.js").EventsKey|undefined} Listener key.
* @param {function(import("../events/Event.js").default): void} listener Listener function.
* @template T
*/
listenImageChange(listener, thisArg) {
return abstract();
listenImageChange(listener) {
abstract();
}
/**
@@ -234,11 +232,10 @@ class ImageStyle {
/**
* @abstract
* @param {function(this: T, import("../events/Event.js").default): void} listener Listener function.
* @param {T} thisArg Value to use as `this` when executing `listener`.
* @param {function(import("../events/Event.js").default): void} listener Listener function.
* @template T
*/
unlistenImageChange(listener, thisArg) {
unlistenImageChange(listener) {
abstract();
}
}
+2 -4
View File
@@ -284,9 +284,7 @@ class RegularShape extends ImageStyle {
/**
* @inheritDoc
*/
listenImageChange(listener, thisArg) {
return undefined;
}
listenImageChange(listener) {}
/**
* @inheritDoc
@@ -296,7 +294,7 @@ class RegularShape extends ImageStyle {
/**
* @inheritDoc
*/
unlistenImageChange(listener, thisArg) {}
unlistenImageChange(listener) {}
/**
* @protected