fix(zone.js): handle MSPointer event correctly (#31722)
Close #31699 PR Close #31722
This commit is contained in:

committed by
Miško Hevery

parent
35a025fbca
commit
2c402d5c99
@ -69,6 +69,8 @@ export interface PatchEventTargetOptions {
|
||||
supportPassive?: boolean;
|
||||
// get string from eventName (in nodejs, eventName maybe Symbol)
|
||||
eventNameToString?: (eventName: any) => string;
|
||||
// transfer eventName
|
||||
transferEventName?: (eventName: string) => string;
|
||||
}
|
||||
|
||||
export function patchEventTarget(
|
||||
@ -332,7 +334,10 @@ export function patchEventTarget(
|
||||
returnTarget = false, prepend = false) {
|
||||
return function(this: unknown) {
|
||||
const target = this || _global;
|
||||
const eventName = arguments[0];
|
||||
let eventName = arguments[0];
|
||||
if (patchOptions && patchOptions.transferEventName) {
|
||||
eventName = patchOptions.transferEventName(eventName);
|
||||
}
|
||||
let delegate = arguments[1];
|
||||
if (!delegate) {
|
||||
return nativeListener.apply(this, arguments);
|
||||
@ -498,7 +503,10 @@ export function patchEventTarget(
|
||||
|
||||
proto[REMOVE_EVENT_LISTENER] = function() {
|
||||
const target = this || _global;
|
||||
const eventName = arguments[0];
|
||||
let eventName = arguments[0];
|
||||
if (patchOptions && patchOptions.transferEventName) {
|
||||
eventName = patchOptions.transferEventName(eventName);
|
||||
}
|
||||
const options = arguments[2];
|
||||
|
||||
let capture;
|
||||
@ -565,7 +573,10 @@ export function patchEventTarget(
|
||||
|
||||
proto[LISTENERS_EVENT_LISTENER] = function() {
|
||||
const target = this || _global;
|
||||
const eventName = arguments[0];
|
||||
let eventName = arguments[0];
|
||||
if (patchOptions && patchOptions.transferEventName) {
|
||||
eventName = patchOptions.transferEventName(eventName);
|
||||
}
|
||||
|
||||
const listeners: any[] = [];
|
||||
const tasks =
|
||||
@ -582,7 +593,7 @@ export function patchEventTarget(
|
||||
proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function() {
|
||||
const target = this || _global;
|
||||
|
||||
const eventName = arguments[0];
|
||||
let eventName = arguments[0];
|
||||
if (!eventName) {
|
||||
const keys = Object.keys(target);
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
@ -600,6 +611,9 @@ export function patchEventTarget(
|
||||
// remove removeListener listener finally
|
||||
this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');
|
||||
} else {
|
||||
if (patchOptions && patchOptions.transferEventName) {
|
||||
eventName = patchOptions.transferEventName(eventName);
|
||||
}
|
||||
const symbolEventNames = zoneSymbolEventNames[eventName];
|
||||
if (symbolEventNames) {
|
||||
const symbolEventName = symbolEventNames[FALSE_STR];
|
||||
|
Reference in New Issue
Block a user