@tinkoff/ng-event-plugins
Advanced tools
Comparing version 3.0.0 to 3.1.0
@@ -357,4 +357,5 @@ (function (global, factory) { | ||
}; | ||
AbstractEventPlugin.prototype.addGlobalEventListener = function (_element, _event, _handler) { | ||
throw new Error("Global event targets are not supported by " + this.modifier + " plugin"); | ||
/** This is not used in Ivy anymore */ | ||
AbstractEventPlugin.prototype.addGlobalEventListener = function () { | ||
return function () { }; | ||
}; | ||
@@ -449,9 +450,2 @@ AbstractEventPlugin.prototype.unwrap = function (event) { | ||
}; | ||
PreventEventPlugin.prototype.addGlobalEventListener = function (element, event, handler) { | ||
var wrapped = function (event) { | ||
event.preventDefault(); | ||
handler(event); | ||
}; | ||
return this.manager.addGlobalEventListener(element, this.unwrap(event), wrapped); | ||
}; | ||
return PreventEventPlugin; | ||
@@ -497,12 +491,5 @@ }(AbstractEventPlugin)); | ||
var _this = this; | ||
return this.manager | ||
.getZone() | ||
.runOutsideAngular(function () { return _this.manager.addEventListener(element, _this.unwrap(event), handler); }); | ||
SilentEventPlugin.ngZone = this.manager.getZone(); | ||
return SilentEventPlugin.ngZone.runOutsideAngular(function () { return _this.manager.addEventListener(element, _this.unwrap(event), handler); }); | ||
}; | ||
SilentEventPlugin.prototype.addGlobalEventListener = function (element, event, handler) { | ||
var _this = this; | ||
return this.manager | ||
.getZone() | ||
.runOutsideAngular(function () { return _this.manager.addGlobalEventListener(element, _this.unwrap(event), handler); }); | ||
}; | ||
return SilentEventPlugin; | ||
@@ -530,9 +517,2 @@ }(AbstractEventPlugin)); | ||
}; | ||
StopEventPlugin.prototype.addGlobalEventListener = function (element, event, handler) { | ||
var wrapped = function (event) { | ||
event.stopPropagation(); | ||
handler(event); | ||
}; | ||
return this.manager.addGlobalEventListener(element, this.unwrap(event), wrapped); | ||
}; | ||
return StopEventPlugin; | ||
@@ -547,4 +527,4 @@ }(AbstractEventPlugin)); | ||
/** | ||
* TODO: This will not be needed in Angular 10 | ||
* when libraries are allowed to use Ivy renderer and markDirty becomes stable API | ||
* TODO: Remove in v4.0.0 | ||
* @deprecated | ||
*/ | ||
@@ -558,14 +538,4 @@ var ZoneEventPlugin = /** @class */ (function (_super) { | ||
} | ||
ZoneEventPlugin.prototype.addEventListener = function (_element, _event, handler) { | ||
return this.handle(handler); | ||
}; | ||
ZoneEventPlugin.prototype.addGlobalEventListener = function (_element, _event, handler) { | ||
return this.handle(handler); | ||
}; | ||
ZoneEventPlugin.prototype.handle = function (handler) { | ||
var zone = this.manager.getZone(); | ||
var subscription = zone.onStable.subscribe(function () { | ||
subscription.unsubscribe(); | ||
handler(zone); | ||
}); | ||
ZoneEventPlugin.prototype.addEventListener = function () { | ||
console.warn('.init plugin is no longer necessary as of v3.1.0'); | ||
return function () { }; | ||
@@ -596,9 +566,7 @@ }; | ||
/** | ||
* TODO: This will not be needed when markDirty becomes stable API | ||
*/ | ||
function shouldCall(predicate) { | ||
return function (_, key, desc) { | ||
return function (_target, _key, desc) { | ||
var value = desc.value; | ||
desc.value = function () { | ||
var _this = this; | ||
var args = []; | ||
@@ -608,20 +576,9 @@ for (var _i = 0; _i < arguments.length; _i++) { | ||
} | ||
var zone = arguments[0]; | ||
if (zone instanceof i0.NgZone) { | ||
Object.defineProperty(this, key, { | ||
value: function () { | ||
var _this = this; | ||
var args = []; | ||
for (var _i = 0; _i < arguments.length; _i++) { | ||
args[_i] = arguments[_i]; | ||
} | ||
if (predicate.apply(this, args)) { | ||
zone.run(function () { | ||
value.apply(_this, args); | ||
}); | ||
} | ||
}, | ||
}); | ||
if (!predicate.apply(this, args)) { | ||
return; | ||
} | ||
else if (predicate.apply(this, args)) { | ||
if (SilentEventPlugin.ngZone) { | ||
SilentEventPlugin.ngZone.run(function () { return value.apply(_this, args); }); | ||
} | ||
else { | ||
value.apply(this, args); | ||
@@ -632,17 +589,2 @@ } | ||
} | ||
/** | ||
* TODO: Use this after markDirty becomes public API | ||
*/ | ||
// export function shouldCall<T extends object>(predicate: Predicate<T>): MethodDecorator { | ||
// return (_: Object, _key: string | symbol, desc: PropertyDescriptor) => { | ||
// const {value} = desc; | ||
// | ||
// desc.value = function(this: T, ...args: any[]) { | ||
// if (predicate.apply(this, args)) { | ||
// value.apply(this, args); | ||
// markDirty(this); | ||
// } | ||
// }; | ||
// }; | ||
// } | ||
@@ -649,0 +591,0 @@ function asCallable(a) { |
import { Predicate } from '../types/predicate'; | ||
/** | ||
* TODO: This will not be needed when markDirty becomes stable API | ||
*/ | ||
export declare function shouldCall<T>(predicate: Predicate<T>): MethodDecorator; | ||
/** | ||
* TODO: Use this after markDirty becomes public API | ||
*/ |
@@ -1,22 +0,13 @@ | ||
import { NgZone } from '@angular/core'; | ||
/** | ||
* TODO: This will not be needed when markDirty becomes stable API | ||
*/ | ||
import { SilentEventPlugin } from '../plugins/silent.plugin'; | ||
export function shouldCall(predicate) { | ||
return (_, key, desc) => { | ||
return (_target, _key, desc) => { | ||
const { value } = desc; | ||
desc.value = function (...args) { | ||
const zone = arguments[0]; | ||
if (zone instanceof NgZone) { | ||
Object.defineProperty(this, key, { | ||
value(...args) { | ||
if (predicate.apply(this, args)) { | ||
zone.run(() => { | ||
value.apply(this, args); | ||
}); | ||
} | ||
}, | ||
}); | ||
if (!predicate.apply(this, args)) { | ||
return; | ||
} | ||
else if (predicate.apply(this, args)) { | ||
if (SilentEventPlugin.ngZone) { | ||
SilentEventPlugin.ngZone.run(() => value.apply(this, args)); | ||
} | ||
else { | ||
value.apply(this, args); | ||
@@ -27,17 +18,2 @@ } | ||
} | ||
/** | ||
* TODO: Use this after markDirty becomes public API | ||
*/ | ||
// export function shouldCall<T extends object>(predicate: Predicate<T>): MethodDecorator { | ||
// return (_: Object, _key: string | symbol, desc: PropertyDescriptor) => { | ||
// const {value} = desc; | ||
// | ||
// desc.value = function(this: T, ...args: any[]) { | ||
// if (predicate.apply(this, args)) { | ||
// value.apply(this, args); | ||
// markDirty(this); | ||
// } | ||
// }; | ||
// }; | ||
// } | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdWxkLWNhbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ldmVudC1wbHVnaW5zL3NyYy9kZWNvcmF0b3JzL3Nob3VsZC1jYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHckM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFJLFNBQXVCO0lBQ2pELE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQXdCLEVBQUUsRUFBRTtRQUN4QyxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBRXJCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBbUIsR0FBRyxJQUFXO1lBQzFDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUxQixJQUFJLElBQUksWUFBWSxNQUFNLEVBQUU7Z0JBQ3hCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtvQkFDN0IsS0FBSyxDQUFVLEdBQUcsSUFBVzt3QkFDekIsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTs0QkFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0NBQ1YsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7NEJBQzVCLENBQUMsQ0FBQyxDQUFDO3lCQUNOO29CQUNMLENBQUM7aUJBQ0osQ0FBQyxDQUFDO2FBQ047aUJBQU0sSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDcEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDM0I7UUFDTCxDQUFDLENBQUM7SUFDTixDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQ7O0dBRUc7QUFDSCwyRkFBMkY7QUFDM0YsK0VBQStFO0FBQy9FLGdDQUFnQztBQUNoQyxFQUFFO0FBQ0YsMkRBQTJEO0FBQzNELGlEQUFpRDtBQUNqRCwyQ0FBMkM7QUFDM0MsbUNBQW1DO0FBQ25DLGdCQUFnQjtBQUNoQixhQUFhO0FBQ2IsU0FBUztBQUNULElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7UHJlZGljYXRlfSBmcm9tICcuLi90eXBlcy9wcmVkaWNhdGUnO1xyXG5cclxuLyoqXHJcbiAqIFRPRE86IFRoaXMgd2lsbCBub3QgYmUgbmVlZGVkIHdoZW4gbWFya0RpcnR5IGJlY29tZXMgc3RhYmxlIEFQSVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZENhbGw8VD4ocHJlZGljYXRlOiBQcmVkaWNhdGU8VD4pOiBNZXRob2REZWNvcmF0b3Ige1xyXG4gICAgcmV0dXJuIChfLCBrZXksIGRlc2M6IFByb3BlcnR5RGVzY3JpcHRvcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHt2YWx1ZX0gPSBkZXNjO1xyXG5cclxuICAgICAgICBkZXNjLnZhbHVlID0gZnVuY3Rpb24gKHRoaXM6IFQsIC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHpvbmUgPSBhcmd1bWVudHNbMF07XHJcblxyXG4gICAgICAgICAgICBpZiAoem9uZSBpbnN0YW5jZW9mIE5nWm9uZSkge1xyXG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIGtleSwge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlKHRoaXM6IFQsIC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVkaWNhdGUuYXBwbHkodGhpcywgYXJncykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByZWRpY2F0ZS5hcHBseSh0aGlzLCBhcmdzKSkge1xyXG4gICAgICAgICAgICAgICAgdmFsdWUuYXBwbHkodGhpcywgYXJncyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRPRE86IFVzZSB0aGlzIGFmdGVyIG1hcmtEaXJ0eSBiZWNvbWVzIHB1YmxpYyBBUElcclxuICovXHJcbi8vIGV4cG9ydCBmdW5jdGlvbiBzaG91bGRDYWxsPFQgZXh0ZW5kcyBvYmplY3Q+KHByZWRpY2F0ZTogUHJlZGljYXRlPFQ+KTogTWV0aG9kRGVjb3JhdG9yIHtcclxuLy8gICAgIHJldHVybiAoXzogT2JqZWN0LCBfa2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2M6IFByb3BlcnR5RGVzY3JpcHRvcikgPT4ge1xyXG4vLyAgICAgICAgIGNvbnN0IHt2YWx1ZX0gPSBkZXNjO1xyXG4vL1xyXG4vLyAgICAgICAgIGRlc2MudmFsdWUgPSBmdW5jdGlvbih0aGlzOiBULCAuLi5hcmdzOiBhbnlbXSkge1xyXG4vLyAgICAgICAgICAgICBpZiAocHJlZGljYXRlLmFwcGx5KHRoaXMsIGFyZ3MpKSB7XHJcbi8vICAgICAgICAgICAgICAgICB2YWx1ZS5hcHBseSh0aGlzLCBhcmdzKTtcclxuLy8gICAgICAgICAgICAgICAgIG1hcmtEaXJ0eSh0aGlzKTtcclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgIH07XHJcbi8vICAgICB9O1xyXG4vLyB9XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdWxkLWNhbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ldmVudC1wbHVnaW5zL3NyYy9kZWNvcmF0b3JzL3Nob3VsZC1jYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzNELE1BQU0sVUFBVSxVQUFVLENBQUksU0FBdUI7SUFDakQsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBd0IsRUFBRSxFQUFFO1FBQy9DLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFckIsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFtQixHQUFHLElBQVc7WUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUM5QixPQUFPO2FBQ1Y7WUFFRCxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtnQkFDMUIsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQy9EO2lCQUFNO2dCQUNILEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQzNCO1FBQ0wsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2lsZW50RXZlbnRQbHVnaW59IGZyb20gJy4uL3BsdWdpbnMvc2lsZW50LnBsdWdpbic7XHJcbmltcG9ydCB7UHJlZGljYXRlfSBmcm9tICcuLi90eXBlcy9wcmVkaWNhdGUnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZENhbGw8VD4ocHJlZGljYXRlOiBQcmVkaWNhdGU8VD4pOiBNZXRob2REZWNvcmF0b3Ige1xyXG4gICAgcmV0dXJuIChfdGFyZ2V0LCBfa2V5LCBkZXNjOiBQcm9wZXJ0eURlc2NyaXB0b3IpID0+IHtcclxuICAgICAgICBjb25zdCB7dmFsdWV9ID0gZGVzYztcclxuXHJcbiAgICAgICAgZGVzYy52YWx1ZSA9IGZ1bmN0aW9uICh0aGlzOiBULCAuLi5hcmdzOiBhbnlbXSkge1xyXG4gICAgICAgICAgICBpZiAoIXByZWRpY2F0ZS5hcHBseSh0aGlzLCBhcmdzKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoU2lsZW50RXZlbnRQbHVnaW4ubmdab25lKSB7XHJcbiAgICAgICAgICAgICAgICBTaWxlbnRFdmVudFBsdWdpbi5uZ1pvbmUucnVuKCgpID0+IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3MpKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3MpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH07XHJcbn1cclxuIl19 |
@@ -5,4 +5,5 @@ export class AbstractEventPlugin { | ||
} | ||
addGlobalEventListener(_element, _event, _handler) { | ||
throw new Error(`Global event targets are not supported by ${this.modifier} plugin`); | ||
/** This is not used in Ivy anymore */ | ||
addGlobalEventListener() { | ||
return () => { }; | ||
} | ||
@@ -16,2 +17,2 @@ unwrap(event) { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXZlbnQtcGx1Z2lucy9zcmMvcGx1Z2lucy9hYnN0cmFjdC5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxPQUFnQixtQkFBbUI7SUFLckMsUUFBUSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsc0JBQXNCLENBQ2xCLFFBQWdCLEVBQ2hCLE1BQWMsRUFDZCxRQUFrQjtRQUVsQixNQUFNLElBQUksS0FBSyxDQUNYLDZDQUE2QyxJQUFJLENBQUMsUUFBUSxTQUFTLENBQ3RFLENBQUM7SUFDTixDQUFDO0lBUVMsTUFBTSxDQUFDLEtBQWE7UUFDMUIsT0FBTyxLQUFLO2FBQ1AsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRNYW5hZ2VyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbi8vIFRPRE86IEEgc3ViamVjdCB0byBjaGFuZ2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzM5MjlcclxudHlwZSBFdmVudE1hbmFnZXJBcmcgPSBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8dHlwZW9mIEV2ZW50TWFuYWdlcj5bMF1bMF07XHJcbnR5cGUgRXZlbnRNYW5hZ2VyUGx1Z2luID0ge1xyXG4gICAgW0sgaW4ga2V5b2YgRXZlbnRNYW5hZ2VyQXJnXTogRXZlbnRNYW5hZ2VyQXJnW0tdO1xyXG59O1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RXZlbnRQbHVnaW4gaW1wbGVtZW50cyBFdmVudE1hbmFnZXJQbHVnaW4ge1xyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IG1vZGlmaWVyOiBzdHJpbmc7XHJcblxyXG4gICAgbWFuYWdlciE6IEV2ZW50TWFuYWdlcjtcclxuXHJcbiAgICBzdXBwb3J0cyhldmVudDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGV2ZW50LmluY2x1ZGVzKHRoaXMubW9kaWZpZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEdsb2JhbEV2ZW50TGlzdGVuZXIoXHJcbiAgICAgICAgX2VsZW1lbnQ6IHN0cmluZyxcclxuICAgICAgICBfZXZlbnQ6IHN0cmluZyxcclxuICAgICAgICBfaGFuZGxlcjogRnVuY3Rpb24sXHJcbiAgICApOiBGdW5jdGlvbiB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICBgR2xvYmFsIGV2ZW50IHRhcmdldHMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgJHt0aGlzLm1vZGlmaWVyfSBwbHVnaW5gLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgICBlbGVtZW50OiBIVE1MRWxlbWVudCxcclxuICAgICAgICBldmVudDogc3RyaW5nLFxyXG4gICAgICAgIGhhbmRsZXI6IEZ1bmN0aW9uLFxyXG4gICAgKTogRnVuY3Rpb247XHJcblxyXG4gICAgcHJvdGVjdGVkIHVud3JhcChldmVudDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZXZlbnRcclxuICAgICAgICAgICAgLnNwbGl0KCcuJylcclxuICAgICAgICAgICAgLmZpbHRlcih2ID0+ICF0aGlzLm1vZGlmaWVyLmluY2x1ZGVzKHYpKVxyXG4gICAgICAgICAgICAuam9pbignLicpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXZlbnQtcGx1Z2lucy9zcmMvcGx1Z2lucy9hYnN0cmFjdC5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFnQixtQkFBbUI7SUFXckMsUUFBUSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLHNCQUFzQjtRQUNsQixPQUFPLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRVMsTUFBTSxDQUFDLEtBQWE7UUFDMUIsT0FBTyxLQUFLO2FBQ1AsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRNYW5hZ2VyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbi8vIFRPRE86IEEgc3ViamVjdCB0byBjaGFuZ2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzM5MjlcclxudHlwZSBFdmVudE1hbmFnZXJBcmcgPSBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8dHlwZW9mIEV2ZW50TWFuYWdlcj5bMF1bMF07XHJcblxyXG50eXBlIEV2ZW50TWFuYWdlclBsdWdpbiA9IHtcclxuICAgIFtLIGluIGtleW9mIEV2ZW50TWFuYWdlckFyZ106IEV2ZW50TWFuYWdlckFyZ1tLXTtcclxufTtcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEV2ZW50UGx1Z2luIGltcGxlbWVudHMgRXZlbnRNYW5hZ2VyUGx1Z2luIHtcclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSBtb2RpZmllcjogc3RyaW5nO1xyXG5cclxuICAgIG1hbmFnZXIhOiBFdmVudE1hbmFnZXI7XHJcblxyXG4gICAgYWJzdHJhY3QgYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgICBlbGVtZW50OiBIVE1MRWxlbWVudCxcclxuICAgICAgICBldmVudDogc3RyaW5nLFxyXG4gICAgICAgIGhhbmRsZXI6IEZ1bmN0aW9uLFxyXG4gICAgKTogRnVuY3Rpb247XHJcblxyXG4gICAgc3VwcG9ydHMoZXZlbnQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBldmVudC5pbmNsdWRlcyh0aGlzLm1vZGlmaWVyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogVGhpcyBpcyBub3QgdXNlZCBpbiBJdnkgYW55bW9yZSAqL1xyXG4gICAgYWRkR2xvYmFsRXZlbnRMaXN0ZW5lcigpOiBGdW5jdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuICgpID0+IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB1bndyYXAoZXZlbnQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGV2ZW50XHJcbiAgICAgICAgICAgIC5zcGxpdCgnLicpXHJcbiAgICAgICAgICAgIC5maWx0ZXIodiA9PiAhdGhpcy5tb2RpZmllci5pbmNsdWRlcyh2KSlcclxuICAgICAgICAgICAgLmpvaW4oJy4nKTtcclxuICAgIH1cclxufVxyXG4iXX0= |
@@ -16,9 +16,2 @@ import { Injectable } from '@angular/core'; | ||
} | ||
addGlobalEventListener(element, event, handler) { | ||
const wrapped = (event) => { | ||
event.preventDefault(); | ||
handler(event); | ||
}; | ||
return this.manager.addGlobalEventListener(element, this.unwrap(event), wrapped); | ||
} | ||
} | ||
@@ -30,2 +23,2 @@ /** @nocollapse */ PreventEventPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreventEventPlugin, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); | ||
}] }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmVudC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ldmVudC1wbHVnaW5zL3NyYy9wbHVnaW5zL3ByZXZlbnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBR3RELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7SUFEM0Q7O1FBRXVCLGFBQVEsR0FBRyxVQUFVLENBQUM7S0FtQjVDO0lBakJHLGdCQUFnQixDQUFDLE9BQW9CLEVBQUUsS0FBYSxFQUFFLE9BQWlCO1FBQ25FLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDN0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELHNCQUFzQixDQUFDLE9BQWUsRUFBRSxLQUFhLEVBQUUsT0FBaUI7UUFDcEUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUM3QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRixDQUFDOzttSUFuQlEsa0JBQWtCO3VJQUFsQixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QWJzdHJhY3RFdmVudFBsdWdpbn0gZnJvbSAnLi9hYnN0cmFjdC5wbHVnaW4nO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUHJldmVudEV2ZW50UGx1Z2luIGV4dGVuZHMgQWJzdHJhY3RFdmVudFBsdWdpbiB7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kaWZpZXIgPSAnLnByZXZlbnQnO1xyXG5cclxuICAgIGFkZEV2ZW50TGlzdGVuZXIoZWxlbWVudDogSFRNTEVsZW1lbnQsIGV2ZW50OiBzdHJpbmcsIGhhbmRsZXI6IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xyXG4gICAgICAgIGNvbnN0IHdyYXBwZWQgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIGhhbmRsZXIoZXZlbnQpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLm1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihlbGVtZW50LCB0aGlzLnVud3JhcChldmVudCksIHdyYXBwZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEdsb2JhbEV2ZW50TGlzdGVuZXIoZWxlbWVudDogc3RyaW5nLCBldmVudDogc3RyaW5nLCBoYW5kbGVyOiBGdW5jdGlvbik6IEZ1bmN0aW9uIHtcclxuICAgICAgICBjb25zdCB3cmFwcGVkID0gKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBoYW5kbGVyKGV2ZW50KTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5tYW5hZ2VyLmFkZEdsb2JhbEV2ZW50TGlzdGVuZXIoZWxlbWVudCwgdGhpcy51bndyYXAoZXZlbnQpLCB3cmFwcGVkKTtcclxuICAgIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmVudC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ldmVudC1wbHVnaW5zL3NyYy9wbHVnaW5zL3ByZXZlbnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBR3RELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7SUFEM0Q7O1FBRXVCLGFBQVEsR0FBRyxVQUFVLENBQUM7S0FVNUM7SUFSRyxnQkFBZ0IsQ0FBQyxPQUFvQixFQUFFLEtBQWEsRUFBRSxPQUFpQjtRQUNuRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQVksRUFBUSxFQUFFO1lBQ25DLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9FLENBQUM7O21JQVZRLGtCQUFrQjt1SUFBbEIsa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtBYnN0cmFjdEV2ZW50UGx1Z2lufSBmcm9tICcuL2Fic3RyYWN0LnBsdWdpbic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQcmV2ZW50RXZlbnRQbHVnaW4gZXh0ZW5kcyBBYnN0cmFjdEV2ZW50UGx1Z2luIHtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBtb2RpZmllciA9ICcucHJldmVudCc7XHJcblxyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcihlbGVtZW50OiBIVE1MRWxlbWVudCwgZXZlbnQ6IHN0cmluZywgaGFuZGxlcjogRnVuY3Rpb24pOiBGdW5jdGlvbiB7XHJcbiAgICAgICAgY29uc3Qgd3JhcHBlZCA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgaGFuZGxlcihldmVudCk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWFuYWdlci5hZGRFdmVudExpc3RlbmVyKGVsZW1lbnQsIHRoaXMudW53cmFwKGV2ZW50KSwgd3JhcHBlZCk7XHJcbiAgICB9XHJcbn1cclxuIl19 |
@@ -10,11 +10,5 @@ import { Injectable } from '@angular/core'; | ||
addEventListener(element, event, handler) { | ||
return this.manager | ||
.getZone() | ||
.runOutsideAngular(() => this.manager.addEventListener(element, this.unwrap(event), handler)); | ||
SilentEventPlugin.ngZone = this.manager.getZone(); | ||
return SilentEventPlugin.ngZone.runOutsideAngular(() => this.manager.addEventListener(element, this.unwrap(event), handler)); | ||
} | ||
addGlobalEventListener(element, event, handler) { | ||
return this.manager | ||
.getZone() | ||
.runOutsideAngular(() => this.manager.addGlobalEventListener(element, this.unwrap(event), handler)); | ||
} | ||
} | ||
@@ -26,2 +20,2 @@ /** @nocollapse */ SilentEventPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SilentEventPlugin, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); | ||
}] }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsZW50LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWV2ZW50LXBsdWdpbnMvc3JjL3BsdWdpbnMvc2lsZW50LnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDOztBQUd0RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO0lBRDFEOztRQUV1QixhQUFRLEdBQUcsU0FBUyxDQUFDO0tBaUIzQztJQWZHLGdCQUFnQixDQUFDLE9BQW9CLEVBQUUsS0FBYSxFQUFFLE9BQWlCO1FBQ25FLE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDZCxPQUFPLEVBQUU7YUFDVCxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDdEUsQ0FBQztJQUNWLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxPQUFlLEVBQUUsS0FBYSxFQUFFLE9BQWlCO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDZCxPQUFPLEVBQUU7YUFDVCxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDNUUsQ0FBQztJQUNWLENBQUM7O2tJQWpCUSxpQkFBaUI7c0lBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBYnN0cmFjdEV2ZW50UGx1Z2lufSBmcm9tICcuL2Fic3RyYWN0LnBsdWdpbic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTaWxlbnRFdmVudFBsdWdpbiBleHRlbmRzIEFic3RyYWN0RXZlbnRQbHVnaW4ge1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGlmaWVyID0gJy5zaWxlbnQnO1xyXG5cclxuICAgIGFkZEV2ZW50TGlzdGVuZXIoZWxlbWVudDogSFRNTEVsZW1lbnQsIGV2ZW50OiBzdHJpbmcsIGhhbmRsZXI6IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1hbmFnZXJcclxuICAgICAgICAgICAgLmdldFpvbmUoKVxyXG4gICAgICAgICAgICAucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cclxuICAgICAgICAgICAgICAgIHRoaXMubWFuYWdlci5hZGRFdmVudExpc3RlbmVyKGVsZW1lbnQsIHRoaXMudW53cmFwKGV2ZW50KSwgaGFuZGxlciksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkR2xvYmFsRXZlbnRMaXN0ZW5lcihlbGVtZW50OiBzdHJpbmcsIGV2ZW50OiBzdHJpbmcsIGhhbmRsZXI6IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1hbmFnZXJcclxuICAgICAgICAgICAgLmdldFpvbmUoKVxyXG4gICAgICAgICAgICAucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cclxuICAgICAgICAgICAgICAgIHRoaXMubWFuYWdlci5hZGRHbG9iYWxFdmVudExpc3RlbmVyKGVsZW1lbnQsIHRoaXMudW53cmFwKGV2ZW50KSwgaGFuZGxlciksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsZW50LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWV2ZW50LXBsdWdpbnMvc3JjL3BsdWdpbnMvc2lsZW50LnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDOztBQUd0RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO0lBRDFEOztRQUl1QixhQUFRLEdBQUcsU0FBUyxDQUFDO0tBUzNDO0lBUEcsZ0JBQWdCLENBQUMsT0FBb0IsRUFBRSxLQUFhLEVBQUUsT0FBaUI7UUFDbkUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFbEQsT0FBTyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQ3RFLENBQUM7SUFDTixDQUFDOztrSUFYUSxpQkFBaUI7c0lBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtBYnN0cmFjdEV2ZW50UGx1Z2lufSBmcm9tICcuL2Fic3RyYWN0LnBsdWdpbic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTaWxlbnRFdmVudFBsdWdpbiBleHRlbmRzIEFic3RyYWN0RXZlbnRQbHVnaW4ge1xyXG4gICAgc3RhdGljIG5nWm9uZT86IE5nWm9uZTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kaWZpZXIgPSAnLnNpbGVudCc7XHJcblxyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcihlbGVtZW50OiBIVE1MRWxlbWVudCwgZXZlbnQ6IHN0cmluZywgaGFuZGxlcjogRnVuY3Rpb24pOiBGdW5jdGlvbiB7XHJcbiAgICAgICAgU2lsZW50RXZlbnRQbHVnaW4ubmdab25lID0gdGhpcy5tYW5hZ2VyLmdldFpvbmUoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIFNpbGVudEV2ZW50UGx1Z2luLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxyXG4gICAgICAgICAgICB0aGlzLm1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihlbGVtZW50LCB0aGlzLnVud3JhcChldmVudCksIGhhbmRsZXIpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19 |
@@ -16,9 +16,2 @@ import { Injectable } from '@angular/core'; | ||
} | ||
addGlobalEventListener(element, event, handler) { | ||
const wrapped = (event) => { | ||
event.stopPropagation(); | ||
handler(event); | ||
}; | ||
return this.manager.addGlobalEventListener(element, this.unwrap(event), wrapped); | ||
} | ||
} | ||
@@ -30,2 +23,2 @@ /** @nocollapse */ StopEventPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: StopEventPlugin, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); | ||
}] }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ldmVudC1wbHVnaW5zL3NyYy9wbHVnaW5zL3N0b3AucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBR3RELE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUR4RDs7UUFFdUIsYUFBUSxHQUFHLE9BQU8sQ0FBQztLQW1CekM7SUFqQkcsZ0JBQWdCLENBQUMsT0FBb0IsRUFBRSxLQUFhLEVBQUUsT0FBaUI7UUFDbkUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUM3QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsc0JBQXNCLENBQUMsT0FBZSxFQUFFLEtBQWEsRUFBRSxPQUFpQjtRQUNwRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQzdCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JGLENBQUM7O2dJQW5CUSxlQUFlO29JQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QWJzdHJhY3RFdmVudFBsdWdpbn0gZnJvbSAnLi9hYnN0cmFjdC5wbHVnaW4nO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3RvcEV2ZW50UGx1Z2luIGV4dGVuZHMgQWJzdHJhY3RFdmVudFBsdWdpbiB7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kaWZpZXIgPSAnLnN0b3AnO1xyXG5cclxuICAgIGFkZEV2ZW50TGlzdGVuZXIoZWxlbWVudDogSFRNTEVsZW1lbnQsIGV2ZW50OiBzdHJpbmcsIGhhbmRsZXI6IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xyXG4gICAgICAgIGNvbnN0IHdyYXBwZWQgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICBoYW5kbGVyKGV2ZW50KTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5tYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoZWxlbWVudCwgdGhpcy51bndyYXAoZXZlbnQpLCB3cmFwcGVkKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRHbG9iYWxFdmVudExpc3RlbmVyKGVsZW1lbnQ6IHN0cmluZywgZXZlbnQ6IHN0cmluZywgaGFuZGxlcjogRnVuY3Rpb24pOiBGdW5jdGlvbiB7XHJcbiAgICAgICAgY29uc3Qgd3JhcHBlZCA9IChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIGhhbmRsZXIoZXZlbnQpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLm1hbmFnZXIuYWRkR2xvYmFsRXZlbnRMaXN0ZW5lcihlbGVtZW50LCB0aGlzLnVud3JhcChldmVudCksIHdyYXBwZWQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ldmVudC1wbHVnaW5zL3NyYy9wbHVnaW5zL3N0b3AucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBR3RELE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUR4RDs7UUFFdUIsYUFBUSxHQUFHLE9BQU8sQ0FBQztLQVV6QztJQVJHLGdCQUFnQixDQUFDLE9BQW9CLEVBQUUsS0FBYSxFQUFFLE9BQWlCO1FBQ25FLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBWSxFQUFRLEVBQUU7WUFDbkMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0UsQ0FBQzs7Z0lBVlEsZUFBZTtvSUFBZixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtBYnN0cmFjdEV2ZW50UGx1Z2lufSBmcm9tICcuL2Fic3RyYWN0LnBsdWdpbic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTdG9wRXZlbnRQbHVnaW4gZXh0ZW5kcyBBYnN0cmFjdEV2ZW50UGx1Z2luIHtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBtb2RpZmllciA9ICcuc3RvcCc7XHJcblxyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcihlbGVtZW50OiBIVE1MRWxlbWVudCwgZXZlbnQ6IHN0cmluZywgaGFuZGxlcjogRnVuY3Rpb24pOiBGdW5jdGlvbiB7XHJcbiAgICAgICAgY29uc3Qgd3JhcHBlZCA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcclxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIGhhbmRsZXIoZXZlbnQpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLm1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihlbGVtZW50LCB0aGlzLnVud3JhcChldmVudCksIHdyYXBwZWQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== |
@@ -5,4 +5,4 @@ import { Injectable } from '@angular/core'; | ||
/** | ||
* TODO: This will not be needed in Angular 10 | ||
* when libraries are allowed to use Ivy renderer and markDirty becomes stable API | ||
* TODO: Remove in v4.0.0 | ||
* @deprecated | ||
*/ | ||
@@ -14,14 +14,4 @@ export class ZoneEventPlugin extends AbstractEventPlugin { | ||
} | ||
addEventListener(_element, _event, handler) { | ||
return this.handle(handler); | ||
} | ||
addGlobalEventListener(_element, _event, handler) { | ||
return this.handle(handler); | ||
} | ||
handle(handler) { | ||
const zone = this.manager.getZone(); | ||
const subscription = zone.onStable.subscribe(() => { | ||
subscription.unsubscribe(); | ||
handler(zone); | ||
}); | ||
addEventListener() { | ||
console.warn('.init plugin is no longer necessary as of v3.1.0'); | ||
return () => { }; | ||
@@ -35,2 +25,2 @@ } | ||
}] }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ldmVudC1wbHVnaW5zL3NyYy9wbHVnaW5zL3pvbmUucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBRXREOzs7R0FHRztBQUVILE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUR4RDs7UUFFdUIsYUFBUSxHQUFHLE9BQU8sQ0FBQztLQXVCekM7SUFyQkcsZ0JBQWdCLENBQUMsUUFBcUIsRUFBRSxNQUFjLEVBQUUsT0FBaUI7UUFDckUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxzQkFBc0IsQ0FDbEIsUUFBZ0IsRUFDaEIsTUFBYyxFQUNkLE9BQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sTUFBTSxDQUFDLE9BQWlCO1FBQzVCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUNwQixDQUFDOztnSUF2QlEsZUFBZTtvSUFBZixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Fic3RyYWN0RXZlbnRQbHVnaW59IGZyb20gJy4vYWJzdHJhY3QucGx1Z2luJztcclxuXHJcbi8qKlxyXG4gKiBUT0RPOiBUaGlzIHdpbGwgbm90IGJlIG5lZWRlZCBpbiBBbmd1bGFyIDEwXHJcbiAqIHdoZW4gbGlicmFyaWVzIGFyZSBhbGxvd2VkIHRvIHVzZSBJdnkgcmVuZGVyZXIgYW5kIG1hcmtEaXJ0eSBiZWNvbWVzIHN0YWJsZSBBUElcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFpvbmVFdmVudFBsdWdpbiBleHRlbmRzIEFic3RyYWN0RXZlbnRQbHVnaW4ge1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGlmaWVyID0gJy5pbml0JztcclxuXHJcbiAgICBhZGRFdmVudExpc3RlbmVyKF9lbGVtZW50OiBIVE1MRWxlbWVudCwgX2V2ZW50OiBzdHJpbmcsIGhhbmRsZXI6IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZShoYW5kbGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRHbG9iYWxFdmVudExpc3RlbmVyKFxyXG4gICAgICAgIF9lbGVtZW50OiBzdHJpbmcsXHJcbiAgICAgICAgX2V2ZW50OiBzdHJpbmcsXHJcbiAgICAgICAgaGFuZGxlcjogRnVuY3Rpb24sXHJcbiAgICApOiBGdW5jdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlKGhhbmRsZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlKGhhbmRsZXI6IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xyXG4gICAgICAgIGNvbnN0IHpvbmUgPSB0aGlzLm1hbmFnZXIuZ2V0Wm9uZSgpO1xyXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHpvbmUub25TdGFibGUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIGhhbmRsZXIoem9uZSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiAoKSA9PiB7fTtcclxuICAgIH1cclxufVxyXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ldmVudC1wbHVnaW5zL3NyYy9wbHVnaW5zL3pvbmUucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBRXREOzs7R0FHRztBQUVILE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUR4RDs7UUFFdUIsYUFBUSxHQUFHLE9BQU8sQ0FBQztLQU96QztJQUxHLGdCQUFnQjtRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUVqRSxPQUFPLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUNwQixDQUFDOztnSUFQUSxlQUFlO29JQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge0Fic3RyYWN0RXZlbnRQbHVnaW59IGZyb20gJy4vYWJzdHJhY3QucGx1Z2luJztcclxuXHJcbi8qKlxyXG4gKiBUT0RPOiBSZW1vdmUgaW4gdjQuMC4wXHJcbiAqIEBkZXByZWNhdGVkXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBab25lRXZlbnRQbHVnaW4gZXh0ZW5kcyBBYnN0cmFjdEV2ZW50UGx1Z2luIHtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBtb2RpZmllciA9ICcuaW5pdCc7XHJcblxyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcigpOiBGdW5jdGlvbiB7XHJcbiAgICAgICAgY29uc29sZS53YXJuKCcuaW5pdCBwbHVnaW4gaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSBhcyBvZiB2My4xLjAnKTtcclxuXHJcbiAgICAgICAgcmV0dXJuICgpID0+IHt9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ== |
@@ -6,2 +6,2 @@ export function dasharize(camel) { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGFyaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXZlbnQtcGx1Z2lucy9zcmMvdXRpbHMvZGFzaGFyaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNuQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxFQUFFO1FBQy9DLE9BQU8sR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDakUsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGRhc2hhcml6ZShjYW1lbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2FtZWwucmVwbGFjZSgvW2Etel1bQS1aXS9nLCBsZXR0ZXJMZXR0ZXIgPT4ge1xuICAgICAgICByZXR1cm4gYCR7bGV0dGVyTGV0dGVyWzBdfS0ke2xldHRlckxldHRlclsxXS50b0xvd2VyQ2FzZSgpfWA7XG4gICAgfSk7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGFyaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXZlbnQtcGx1Z2lucy9zcmMvdXRpbHMvZGFzaGFyaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNuQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxFQUFFO1FBQy9DLE9BQU8sR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDakUsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGRhc2hhcml6ZShjYW1lbDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBjYW1lbC5yZXBsYWNlKC9bYS16XVtBLVpdL2csIGxldHRlckxldHRlciA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGAke2xldHRlckxldHRlclswXX0tJHtsZXR0ZXJMZXR0ZXJbMV0udG9Mb3dlckNhc2UoKX1gO1xyXG4gICAgfSk7XHJcbn1cclxuIl19 |
import { EVENT_MANAGER_PLUGINS } from '@angular/platform-browser'; | ||
import * as i0 from '@angular/core'; | ||
import { Injectable, NgZone, NgModule, Inject } from '@angular/core'; | ||
import { Injectable, NgModule, Inject } from '@angular/core'; | ||
import { EMPTY, concat, defer } from 'rxjs'; | ||
@@ -17,4 +17,5 @@ import { takeWhile } from 'rxjs/operators'; | ||
} | ||
addGlobalEventListener(_element, _event, _handler) { | ||
throw new Error(`Global event targets are not supported by ${this.modifier} plugin`); | ||
/** This is not used in Ivy anymore */ | ||
addGlobalEventListener() { | ||
return () => { }; | ||
} | ||
@@ -98,9 +99,2 @@ unwrap(event) { | ||
} | ||
addGlobalEventListener(element, event, handler) { | ||
const wrapped = (event) => { | ||
event.preventDefault(); | ||
handler(event); | ||
}; | ||
return this.manager.addGlobalEventListener(element, this.unwrap(event), wrapped); | ||
} | ||
} | ||
@@ -139,11 +133,5 @@ /** @nocollapse */ PreventEventPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreventEventPlugin, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); | ||
addEventListener(element, event, handler) { | ||
return this.manager | ||
.getZone() | ||
.runOutsideAngular(() => this.manager.addEventListener(element, this.unwrap(event), handler)); | ||
SilentEventPlugin.ngZone = this.manager.getZone(); | ||
return SilentEventPlugin.ngZone.runOutsideAngular(() => this.manager.addEventListener(element, this.unwrap(event), handler)); | ||
} | ||
addGlobalEventListener(element, event, handler) { | ||
return this.manager | ||
.getZone() | ||
.runOutsideAngular(() => this.manager.addGlobalEventListener(element, this.unwrap(event), handler)); | ||
} | ||
} | ||
@@ -168,9 +156,2 @@ /** @nocollapse */ SilentEventPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SilentEventPlugin, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); | ||
} | ||
addGlobalEventListener(element, event, handler) { | ||
const wrapped = (event) => { | ||
event.stopPropagation(); | ||
handler(event); | ||
}; | ||
return this.manager.addGlobalEventListener(element, this.unwrap(event), wrapped); | ||
} | ||
} | ||
@@ -184,4 +165,4 @@ /** @nocollapse */ StopEventPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: StopEventPlugin, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); | ||
/** | ||
* TODO: This will not be needed in Angular 10 | ||
* when libraries are allowed to use Ivy renderer and markDirty becomes stable API | ||
* TODO: Remove in v4.0.0 | ||
* @deprecated | ||
*/ | ||
@@ -193,14 +174,4 @@ class ZoneEventPlugin extends AbstractEventPlugin { | ||
} | ||
addEventListener(_element, _event, handler) { | ||
return this.handle(handler); | ||
} | ||
addGlobalEventListener(_element, _event, handler) { | ||
return this.handle(handler); | ||
} | ||
handle(handler) { | ||
const zone = this.manager.getZone(); | ||
const subscription = zone.onStable.subscribe(() => { | ||
subscription.unsubscribe(); | ||
handler(zone); | ||
}); | ||
addEventListener() { | ||
console.warn('.init plugin is no longer necessary as of v3.1.0'); | ||
return () => { }; | ||
@@ -230,22 +201,13 @@ } | ||
/** | ||
* TODO: This will not be needed when markDirty becomes stable API | ||
*/ | ||
function shouldCall(predicate) { | ||
return (_, key, desc) => { | ||
return (_target, _key, desc) => { | ||
const { value } = desc; | ||
desc.value = function (...args) { | ||
const zone = arguments[0]; | ||
if (zone instanceof NgZone) { | ||
Object.defineProperty(this, key, { | ||
value(...args) { | ||
if (predicate.apply(this, args)) { | ||
zone.run(() => { | ||
value.apply(this, args); | ||
}); | ||
} | ||
}, | ||
}); | ||
if (!predicate.apply(this, args)) { | ||
return; | ||
} | ||
else if (predicate.apply(this, args)) { | ||
if (SilentEventPlugin.ngZone) { | ||
SilentEventPlugin.ngZone.run(() => value.apply(this, args)); | ||
} | ||
else { | ||
value.apply(this, args); | ||
@@ -256,17 +218,2 @@ } | ||
} | ||
/** | ||
* TODO: Use this after markDirty becomes public API | ||
*/ | ||
// export function shouldCall<T extends object>(predicate: Predicate<T>): MethodDecorator { | ||
// return (_: Object, _key: string | symbol, desc: PropertyDescriptor) => { | ||
// const {value} = desc; | ||
// | ||
// desc.value = function(this: T, ...args: any[]) { | ||
// if (predicate.apply(this, args)) { | ||
// value.apply(this, args); | ||
// markDirty(this); | ||
// } | ||
// }; | ||
// }; | ||
// } | ||
@@ -273,0 +220,0 @@ function asCallable(a) { |
{ | ||
"name": "@tinkoff/ng-event-plugins", | ||
"version": "3.0.0", | ||
"version": "3.1.0", | ||
"description": "This is a library for optimizing performance sensitive events and declarative preventDefault and stopPropagation", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -9,7 +9,8 @@ import { EventManager } from '@angular/platform-browser'; | ||
manager: EventManager; | ||
abstract addEventListener(element: HTMLElement, event: string, handler: Function): Function; | ||
supports(event: string): boolean; | ||
addGlobalEventListener(_element: string, _event: string, _handler: Function): Function; | ||
abstract addEventListener(element: HTMLElement, event: string, handler: Function): Function; | ||
/** This is not used in Ivy anymore */ | ||
addGlobalEventListener(): Function; | ||
protected unwrap(event: string): string; | ||
} | ||
export {}; |
@@ -6,5 +6,4 @@ import { AbstractEventPlugin } from './abstract.plugin'; | ||
addEventListener(element: HTMLElement, event: string, handler: Function): Function; | ||
addGlobalEventListener(element: string, event: string, handler: Function): Function; | ||
static ɵfac: i0.ɵɵFactoryDeclaration<PreventEventPlugin, never>; | ||
static ɵprov: i0.ɵɵInjectableDeclaration<PreventEventPlugin>; | ||
} |
@@ -0,9 +1,10 @@ | ||
import { NgZone } from '@angular/core'; | ||
import { AbstractEventPlugin } from './abstract.plugin'; | ||
import * as i0 from "@angular/core"; | ||
export declare class SilentEventPlugin extends AbstractEventPlugin { | ||
static ngZone?: NgZone; | ||
protected readonly modifier = ".silent"; | ||
addEventListener(element: HTMLElement, event: string, handler: Function): Function; | ||
addGlobalEventListener(element: string, event: string, handler: Function): Function; | ||
static ɵfac: i0.ɵɵFactoryDeclaration<SilentEventPlugin, never>; | ||
static ɵprov: i0.ɵɵInjectableDeclaration<SilentEventPlugin>; | ||
} |
@@ -6,5 +6,4 @@ import { AbstractEventPlugin } from './abstract.plugin'; | ||
addEventListener(element: HTMLElement, event: string, handler: Function): Function; | ||
addGlobalEventListener(element: string, event: string, handler: Function): Function; | ||
static ɵfac: i0.ɵɵFactoryDeclaration<StopEventPlugin, never>; | ||
static ɵprov: i0.ɵɵInjectableDeclaration<StopEventPlugin>; | ||
} |
import { AbstractEventPlugin } from './abstract.plugin'; | ||
import * as i0 from "@angular/core"; | ||
/** | ||
* TODO: This will not be needed in Angular 10 | ||
* when libraries are allowed to use Ivy renderer and markDirty becomes stable API | ||
* TODO: Remove in v4.0.0 | ||
* @deprecated | ||
*/ | ||
export declare class ZoneEventPlugin extends AbstractEventPlugin { | ||
protected readonly modifier = ".init"; | ||
addEventListener(_element: HTMLElement, _event: string, handler: Function): Function; | ||
addGlobalEventListener(_element: string, _event: string, handler: Function): Function; | ||
private handle; | ||
addEventListener(): Function; | ||
static ɵfac: i0.ɵɵFactoryDeclaration<ZoneEventPlugin, never>; | ||
static ɵprov: i0.ɵɵInjectableDeclaration<ZoneEventPlugin>; | ||
} |
@@ -82,7 +82,8 @@ # Angular Event Plugins | ||
```typescript | ||
import {HostListener} from '@angular/core'; | ||
import {shouldCall} from '@tinkoff/ng-event-plugins'; | ||
export function scrollFilter(element: HTMLElement): boolean { | ||
return element.scrollTop === element.scrollHeight - element.clientHeight; | ||
export function scrollFilter({ | ||
scrollTop, scrollHeight, clientHeight | ||
}: HTMLElement): boolean { | ||
return scrollTop === scrollHeight - clientHeight; | ||
} | ||
@@ -93,3 +94,2 @@ | ||
@shouldCall(scrollFilter) | ||
@HostListener('scroll.init', ['$event']) | ||
onScroll(_element: HTMLElement): void { | ||
@@ -100,5 +100,2 @@ this.someService.requestMoreData(); | ||
**IMPORTANT:** You must couple `@shouldCall` with `@HostListener` for `init` event as shown above until `markDirty` | ||
becomes public API in Angular and **@tinkoff/ng-event-plugins** v.3 is released | ||
> All examples above work the same when used with `@HostListener` and `CustomEvent` | ||
@@ -121,3 +118,4 @@ | ||
In this library there's also a plugin that enables observable host bindings. Sounds weird to do host binding with event | ||
plugin, but the code is actually pretty simple. You can read more about it in this article [link coming soon]. | ||
plugin, but the code is actually pretty simple. You can read more about it in | ||
[this article](https://indepth.dev/posts/1429/making-hostbinding-work-with-observables). | ||
@@ -124,0 +122,0 @@ To use it you need to couple `@HostListener` and `@HostBinding` on the same `Observable` property with following syntax: |
@@ -5,3 +5,3 @@ { | ||
"framework": "angular", | ||
"version": "3.0.0", | ||
"version": "3.1.0", | ||
"description-markup": "markdown", | ||
@@ -8,0 +8,0 @@ "contributions": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
0
176847
1291
157