Simplify events and store listeners only in one place
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user