MCPcopy
hub / github.com/microsoft/SandDance / _removeEventHandler

Method _removeEventHandler

docs/app/js/sanddance-app.js:92434–92456  ·  view source on GitHub ↗

* Process the event deregistration for a single event + handler.

(event, handler)

Source from the content-addressed store, hash-verified

92432 /**
92433 * Process the event deregistration for a single event + handler.
92434 */ _removeEventHandler(event, handler) {
92435 if (typeof event !== "string") {
92436 // If `event` is a map, call `off()` for each entry.
92437 for(const eventName in event)this._removeEventHandler(eventName, event[eventName]);
92438 return;
92439 }
92440 const { events } = this;
92441 // Alias to a recognized gesture as necessary.
92442 const eventAlias = (0, _constants.GESTURE_EVENT_ALIASES)[event] || event;
92443 const eventRegistrar = events.get(eventAlias);
92444 if (!eventRegistrar) return;
92445 eventRegistrar.remove(event, handler);
92446 if (eventRegistrar.isEmpty()) {
92447 const { recognizerName } = eventRegistrar;
92448 // Disable recognizer if no more handlers are attached to its events
92449 let isRecognizerUsed = false;
92450 for (const eh of events.values())if (eh.recognizerName === recognizerName && !eh.isEmpty()) {
92451 isRecognizerUsed = true;
92452 break;
92453 }
92454 if (!isRecognizerUsed) this._toggleRecognizer(recognizerName, false);
92455 }
92456 }
92457}
92458exports.default = EventManager;
92459

Callers 1

offMethod · 0.95

Calls 4

_toggleRecognizerMethod · 0.95
getMethod · 0.45
removeMethod · 0.45
isEmptyMethod · 0.45

Tested by

no test coverage detected