MCPcopy Index your code
hub / github.com/microsoft/SandDance / _toggleRecognizer

Method _toggleRecognizer

docs/app/js/sanddance-app.js:92374–92406  ·  view source on GitHub ↗
(name, enabled)

Source from the content-addressed store, hash-verified

92372 /*
92373 * Enable/disable recognizer for the given event
92374 */ _toggleRecognizer(name, enabled) {
92375 const { manager } = this;
92376 if (!manager) return;
92377 const recognizer = manager.get(name);
92378 // @ts-ignore
92379 if (recognizer && recognizer.options.enable !== enabled) {
92380 recognizer.set({
92381 enable: enabled
92382 });
92383 const fallbackRecognizers = (0, _constants.RECOGNIZER_FALLBACK_MAP)[name];
92384 if (fallbackRecognizers && !this.options.recognizers) // Set default require failures
92385 // http://hammerjs.github.io/require-failure/
92386 fallbackRecognizers.forEach((otherName)=>{
92387 const otherRecognizer = manager.get(otherName);
92388 if (enabled) {
92389 // Wait for this recognizer to fail
92390 otherRecognizer.requireFailure(name);
92391 /**
92392 * This seems to be a bug in hammerjs:
92393 * requireFailure() adds both ways
92394 * dropRequireFailure() only drops one way
92395 * https://github.com/hammerjs/hammer.js/blob/master/src/recognizerjs/
92396 recognizer-constructor.js#L136
92397 */ recognizer.dropRequireFailure(otherName);
92398 } else // Do not wait for this recognizer to fail
92399 otherRecognizer.dropRequireFailure(name);
92400 });
92401 }
92402 this.wheelInput.enableEventType(name, enabled);
92403 this.moveInput.enableEventType(name, enabled);
92404 this.keyInput.enableEventType(name, enabled);
92405 this.contextmenuInput.enableEventType(name, enabled);
92406 }
92407 /**
92408 * Process the event registration for a single event + handler.
92409 */ _addEventHandler(event, handler, opts, once, passive) {

Callers 3

setElementMethod · 0.95
_addEventHandlerMethod · 0.95
_removeEventHandlerMethod · 0.95

Calls 4

getMethod · 0.45
setMethod · 0.45
forEachMethod · 0.45
enableEventTypeMethod · 0.45

Tested by

no test coverage detected