@stemy/ngx-utils 12.0.0 → 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/stemy-ngx-utils.umd.js +15 -34
- package/bundles/stemy-ngx-utils.umd.js.map +1 -1
- package/esm2015/ngx-utils/plugins/resize-event.plugin.js +16 -19
- package/esm2015/ngx-utils/plugins/scroll-event.plugin.js +1 -17
- package/fesm2015/stemy-ngx-utils.js +15 -32
- package/fesm2015/stemy-ngx-utils.js.map +1 -1
- package/ngx-utils/plugins/resize-event.plugin.d.ts +0 -1
- package/ngx-utils/plugins/scroll-event.plugin.d.ts +0 -1
- package/package.json +1 -1
- package/stemy-ngx-utils.metadata.json +1 -1
|
@@ -2,10 +2,12 @@ import { ɵangular_packages_platform_browser_platform_browser_g as EventManagerP
|
|
|
2
2
|
import { Inject, Injectable } from "@angular/core";
|
|
3
3
|
import { DOCUMENT } from "@angular/common";
|
|
4
4
|
import { addListener, removeListener } from "resize-detector";
|
|
5
|
-
import { StringUtils } from "../utils/string.utils";
|
|
6
5
|
import { UniversalService } from "../services/universal.service";
|
|
7
6
|
function emptyRemove() {
|
|
8
7
|
}
|
|
8
|
+
function isWindow(el) {
|
|
9
|
+
return typeof window !== "undefined" && el === window;
|
|
10
|
+
}
|
|
9
11
|
export class ResizeEventPlugin extends EventManagerPlugin {
|
|
10
12
|
constructor(doc, universal) {
|
|
11
13
|
super(doc);
|
|
@@ -22,31 +24,26 @@ export class ResizeEventPlugin extends EventManagerPlugin {
|
|
|
22
24
|
const cb = el => {
|
|
23
25
|
zone.run(() => handler(el));
|
|
24
26
|
};
|
|
25
|
-
|
|
27
|
+
if (isWindow(element)) {
|
|
28
|
+
element.addEventListener(eventName, cb);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
addListener(element, cb);
|
|
32
|
+
}
|
|
26
33
|
return () => {
|
|
27
34
|
try {
|
|
28
|
-
|
|
35
|
+
if (isWindow(element)) {
|
|
36
|
+
element.removeEventListener(eventName, cb);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
removeListener(element, cb);
|
|
40
|
+
}
|
|
29
41
|
}
|
|
30
42
|
catch (e) {
|
|
31
43
|
}
|
|
32
44
|
};
|
|
33
45
|
});
|
|
34
46
|
}
|
|
35
|
-
addGlobalEventListener(element, eventName, handler) {
|
|
36
|
-
const zone = this.manager.getZone();
|
|
37
|
-
return zone.runOutsideAngular(() => {
|
|
38
|
-
if (this.universal.isServer)
|
|
39
|
-
return emptyRemove;
|
|
40
|
-
if (!StringUtils.has(element, "document", "window")) {
|
|
41
|
-
console.error("Global resize event other than window or document?", element);
|
|
42
|
-
return emptyRemove;
|
|
43
|
-
}
|
|
44
|
-
const target = "window" == element ? window : document;
|
|
45
|
-
const listener = handler;
|
|
46
|
-
target.addEventListener(eventName, listener);
|
|
47
|
-
return () => target.removeEventListener(eventName, listener);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
47
|
}
|
|
51
48
|
ResizeEventPlugin.EVENT_NAME = "resize";
|
|
52
49
|
ResizeEventPlugin.decorators = [
|
|
@@ -56,4 +53,4 @@ ResizeEventPlugin.ctorParameters = () => [
|
|
|
56
53
|
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
57
54
|
{ type: UniversalService }
|
|
58
55
|
];
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWV2ZW50LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGx1Z2lucy9yZXNpemUtZXZlbnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxxREFBcUQsSUFBSSxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3RILE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRS9ELFNBQVMsV0FBVztBQUVwQixDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsRUFBTztJQUNyQixPQUFPLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxFQUFFLEtBQUssTUFBTSxDQUFDO0FBQzFELENBQUM7QUFHRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBSXJELFlBQThCLEdBQVEsRUFBUyxTQUEyQjtRQUN0RSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEZ0MsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFFMUUsQ0FBQztJQUVELFFBQVEsQ0FBQyxTQUFTO1FBQ2QsT0FBTyxTQUFTLEtBQUssaUJBQWlCLENBQUMsVUFBVSxDQUFDO0lBQ3RELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFvQixFQUFFLFNBQWlCLEVBQUUsT0FBaUI7UUFDdkUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVE7Z0JBQUUsT0FBTyxXQUFXLENBQUM7WUFDaEQsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUM7WUFDRixJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDbkIsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUMzQztpQkFBTTtnQkFDSCxXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxHQUFHLEVBQUU7Z0JBQ1IsSUFBSTtvQkFDQSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDbkIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztxQkFDOUM7eUJBQU07d0JBQ0gsY0FBYyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztxQkFDL0I7aUJBQ0o7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7aUJBQ1g7WUFDTCxDQUFDLENBQUE7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O0FBakNjLDRCQUFVLEdBQVcsUUFBUSxDQUFDOztZQUhoRCxVQUFVOzs7NENBS00sTUFBTSxTQUFDLFFBQVE7WUFmeEIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHvJtWFuZ3VsYXJfcGFja2FnZXNfcGxhdGZvcm1fYnJvd3Nlcl9wbGF0Zm9ybV9icm93c2VyX2cgYXMgRXZlbnRNYW5hZ2VyUGx1Z2lufSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBhZGRMaXN0ZW5lciwgcmVtb3ZlTGlzdGVuZXIgfSBmcm9tIFwicmVzaXplLWRldGVjdG9yXCI7XHJcbmltcG9ydCB7U3RyaW5nVXRpbHN9IGZyb20gXCIuLi91dGlscy9zdHJpbmcudXRpbHNcIjtcclxuaW1wb3J0IHtVbml2ZXJzYWxTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvdW5pdmVyc2FsLnNlcnZpY2VcIjtcclxuXHJcbmZ1bmN0aW9uIGVtcHR5UmVtb3ZlKCk6IHZvaWQge1xyXG5cclxufVxyXG5cclxuZnVuY3Rpb24gaXNXaW5kb3coZWw6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgZWwgPT09IHdpbmRvdztcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUmVzaXplRXZlbnRQbHVnaW4gZXh0ZW5kcyBFdmVudE1hbmFnZXJQbHVnaW4ge1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIEVWRU5UX05BTUU6IHN0cmluZyA9IFwicmVzaXplXCI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgZG9jOiBhbnksIHB1YmxpYyB1bml2ZXJzYWw6IFVuaXZlcnNhbFNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcihkb2MpO1xyXG4gICAgfVxyXG5cclxuICAgIHN1cHBvcnRzKGV2ZW50TmFtZSkge1xyXG4gICAgICAgIHJldHVybiBldmVudE5hbWUgPT09IFJlc2l6ZUV2ZW50UGx1Z2luLkVWRU5UX05BTUU7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcihlbGVtZW50OiBIVE1MRWxlbWVudCwgZXZlbnROYW1lOiBzdHJpbmcsIGhhbmRsZXI6IEZ1bmN0aW9uKTogRnVuY3Rpb24ge1xyXG4gICAgICAgIGNvbnN0IHpvbmUgPSB0aGlzLm1hbmFnZXIuZ2V0Wm9uZSgpO1xyXG4gICAgICAgIHJldHVybiB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudW5pdmVyc2FsLmlzU2VydmVyKSByZXR1cm4gZW1wdHlSZW1vdmU7XHJcbiAgICAgICAgICAgIGNvbnN0IGNiID0gZWwgPT4ge1xyXG4gICAgICAgICAgICAgICAgem9uZS5ydW4oKCkgPT4gaGFuZGxlcihlbCkpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBpZiAoaXNXaW5kb3coZWxlbWVudCkpIHtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNiKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGFkZExpc3RlbmVyKGVsZW1lbnQsIGNiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNXaW5kb3coZWxlbWVudCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgY2IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVyKGVsZW1lbnQsIGNiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ɵangular_packages_platform_browser_platform_browser_g as EventManagerPlugin } from "@angular/platform-browser";
|
|
2
2
|
import { Inject, Injectable } from "@angular/core";
|
|
3
3
|
import { DOCUMENT } from "@angular/common";
|
|
4
|
-
import { StringUtils } from "../utils/string.utils";
|
|
5
4
|
import { UniversalService } from "../services/universal.service";
|
|
6
5
|
export function emptyRemove() {
|
|
7
6
|
}
|
|
@@ -25,21 +24,6 @@ export class ScrollEventPlugin extends EventManagerPlugin {
|
|
|
25
24
|
return () => element.removeEventListener(eventName, callback);
|
|
26
25
|
});
|
|
27
26
|
}
|
|
28
|
-
addGlobalEventListener(element, eventName, handler) {
|
|
29
|
-
const zone = this.manager.getZone();
|
|
30
|
-
return zone.runOutsideAngular(() => {
|
|
31
|
-
if (this.universal.isServer)
|
|
32
|
-
return emptyRemove;
|
|
33
|
-
if (!StringUtils.has(element, "document", "window")) {
|
|
34
|
-
console.error("Global resize event other than window or document?", element);
|
|
35
|
-
return emptyRemove;
|
|
36
|
-
}
|
|
37
|
-
const target = "window" == element ? window : document;
|
|
38
|
-
const listener = handler;
|
|
39
|
-
target.addEventListener(eventName, listener);
|
|
40
|
-
return () => target.removeEventListener(eventName, listener);
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
27
|
}
|
|
44
28
|
ScrollEventPlugin.EVENT_NAME = "scroll";
|
|
45
29
|
ScrollEventPlugin.decorators = [
|
|
@@ -49,4 +33,4 @@ ScrollEventPlugin.ctorParameters = () => [
|
|
|
49
33
|
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
50
34
|
{ type: UniversalService }
|
|
51
35
|
];
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWV2ZW50LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGx1Z2lucy9zY3JvbGwtZXZlbnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxxREFBcUQsSUFBSSxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3RILE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUUvRCxNQUFNLFVBQVUsV0FBVztBQUUzQixDQUFDO0FBR0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQUlyRCxZQUE4QixHQUFRLEVBQVUsU0FBMkI7UUFDdkUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRGlDLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBRTNFLENBQUM7SUFFRCxRQUFRLENBQUMsU0FBUztRQUNkLE9BQU8sU0FBUyxLQUFLLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBb0IsRUFBRSxTQUFpQixFQUFFLE9BQWlCO1FBQ3ZFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO2dCQUFFLE9BQU8sV0FBVyxDQUFDO1lBQ2hELE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBUSxFQUFFLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDO1lBQ0YsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM5QyxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztBQXBCYyw0QkFBVSxHQUFXLFFBQVEsQ0FBQzs7WUFIaEQsVUFBVTs7OzRDQUtNLE1BQU0sU0FBQyxRQUFRO1lBWHhCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ybVhbmd1bGFyX3BhY2thZ2VzX3BsYXRmb3JtX2Jyb3dzZXJfcGxhdGZvcm1fYnJvd3Nlcl9nIGFzIEV2ZW50TWFuYWdlclBsdWdpbn0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtTdHJpbmdVdGlsc30gZnJvbSBcIi4uL3V0aWxzL3N0cmluZy51dGlsc1wiO1xyXG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy91bml2ZXJzYWwuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVtcHR5UmVtb3ZlKCk6IHZvaWQge1xyXG5cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2Nyb2xsRXZlbnRQbHVnaW4gZXh0ZW5kcyBFdmVudE1hbmFnZXJQbHVnaW4ge1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIEVWRU5UX05BTUU6IHN0cmluZyA9IFwic2Nyb2xsXCI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgZG9jOiBhbnksIHByaXZhdGUgdW5pdmVyc2FsOiBVbml2ZXJzYWxTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoZG9jKTtcclxuICAgIH1cclxuXHJcbiAgICBzdXBwb3J0cyhldmVudE5hbWUpIHtcclxuICAgICAgICByZXR1cm4gZXZlbnROYW1lID09PSBTY3JvbGxFdmVudFBsdWdpbi5FVkVOVF9OQU1FO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEV2ZW50TGlzdGVuZXIoZWxlbWVudDogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiBGdW5jdGlvbik6IEZ1bmN0aW9uIHtcclxuICAgICAgICBjb25zdCB6b25lID0gdGhpcy5tYW5hZ2VyLmdldFpvbmUoKTtcclxuICAgICAgICByZXR1cm4gem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnVuaXZlcnNhbC5pc1NlcnZlcikgcmV0dXJuIGVtcHR5UmVtb3ZlO1xyXG4gICAgICAgICAgICBjb25zdCBjYWxsYmFjayA9IChlOiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgem9uZS5ydW4oKCkgPT4gaGFuZGxlcihlKSk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNhbGxiYWNrKTtcclxuICAgICAgICAgICAgcmV0dXJuICgpID0+IGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNhbGxiYWNrKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -3114,6 +3114,9 @@ PromiseService.ctorParameters = () => [
|
|
|
3114
3114
|
|
|
3115
3115
|
function emptyRemove$1() {
|
|
3116
3116
|
}
|
|
3117
|
+
function isWindow(el) {
|
|
3118
|
+
return typeof window !== "undefined" && el === window;
|
|
3119
|
+
}
|
|
3117
3120
|
class ResizeEventPlugin extends ɵangular_packages_platform_browser_platform_browser_g {
|
|
3118
3121
|
constructor(doc, universal) {
|
|
3119
3122
|
super(doc);
|
|
@@ -3130,31 +3133,26 @@ class ResizeEventPlugin extends ɵangular_packages_platform_browser_platform_bro
|
|
|
3130
3133
|
const cb = el => {
|
|
3131
3134
|
zone.run(() => handler(el));
|
|
3132
3135
|
};
|
|
3133
|
-
|
|
3136
|
+
if (isWindow(element)) {
|
|
3137
|
+
element.addEventListener(eventName, cb);
|
|
3138
|
+
}
|
|
3139
|
+
else {
|
|
3140
|
+
addListener(element, cb);
|
|
3141
|
+
}
|
|
3134
3142
|
return () => {
|
|
3135
3143
|
try {
|
|
3136
|
-
|
|
3144
|
+
if (isWindow(element)) {
|
|
3145
|
+
element.removeEventListener(eventName, cb);
|
|
3146
|
+
}
|
|
3147
|
+
else {
|
|
3148
|
+
removeListener(element, cb);
|
|
3149
|
+
}
|
|
3137
3150
|
}
|
|
3138
3151
|
catch (e) {
|
|
3139
3152
|
}
|
|
3140
3153
|
};
|
|
3141
3154
|
});
|
|
3142
3155
|
}
|
|
3143
|
-
addGlobalEventListener(element, eventName, handler) {
|
|
3144
|
-
const zone = this.manager.getZone();
|
|
3145
|
-
return zone.runOutsideAngular(() => {
|
|
3146
|
-
if (this.universal.isServer)
|
|
3147
|
-
return emptyRemove$1;
|
|
3148
|
-
if (!StringUtils.has(element, "document", "window")) {
|
|
3149
|
-
console.error("Global resize event other than window or document?", element);
|
|
3150
|
-
return emptyRemove$1;
|
|
3151
|
-
}
|
|
3152
|
-
const target = "window" == element ? window : document;
|
|
3153
|
-
const listener = handler;
|
|
3154
|
-
target.addEventListener(eventName, listener);
|
|
3155
|
-
return () => target.removeEventListener(eventName, listener);
|
|
3156
|
-
});
|
|
3157
|
-
}
|
|
3158
3156
|
}
|
|
3159
3157
|
ResizeEventPlugin.EVENT_NAME = "resize";
|
|
3160
3158
|
ResizeEventPlugin.decorators = [
|
|
@@ -3187,21 +3185,6 @@ class ScrollEventPlugin extends ɵangular_packages_platform_browser_platform_bro
|
|
|
3187
3185
|
return () => element.removeEventListener(eventName, callback);
|
|
3188
3186
|
});
|
|
3189
3187
|
}
|
|
3190
|
-
addGlobalEventListener(element, eventName, handler) {
|
|
3191
|
-
const zone = this.manager.getZone();
|
|
3192
|
-
return zone.runOutsideAngular(() => {
|
|
3193
|
-
if (this.universal.isServer)
|
|
3194
|
-
return emptyRemove;
|
|
3195
|
-
if (!StringUtils.has(element, "document", "window")) {
|
|
3196
|
-
console.error("Global resize event other than window or document?", element);
|
|
3197
|
-
return emptyRemove;
|
|
3198
|
-
}
|
|
3199
|
-
const target = "window" == element ? window : document;
|
|
3200
|
-
const listener = handler;
|
|
3201
|
-
target.addEventListener(eventName, listener);
|
|
3202
|
-
return () => target.removeEventListener(eventName, listener);
|
|
3203
|
-
});
|
|
3204
|
-
}
|
|
3205
3188
|
}
|
|
3206
3189
|
ScrollEventPlugin.EVENT_NAME = "scroll";
|
|
3207
3190
|
ScrollEventPlugin.decorators = [
|