@coolon/angular-ui-powerups 13.0.0 → 13.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/esm2020/lib/services/visibility-service.mjs +11 -7
- package/fesm2015/coolon-angular-ui-powerups.mjs +10 -6
- package/fesm2015/coolon-angular-ui-powerups.mjs.map +1 -1
- package/fesm2020/coolon-angular-ui-powerups.mjs +10 -6
- package/fesm2020/coolon-angular-ui-powerups.mjs.map +1 -1
- package/lib/services/visibility-service.d.ts +5 -1
- package/package.json +1 -2
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import { DOCUMENT } from '@angular/common';
|
|
3
3
|
import { Inject, Injectable } from '@angular/core';
|
|
4
4
|
import { Dsl, GarbageCollector, MutableValueModel } from '@coolon/pectin';
|
|
5
|
-
import * as wakeEvent from 'wake-event';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
// Taken from: https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API
|
|
8
7
|
export class VisibilityService extends GarbageCollector {
|
|
@@ -10,7 +9,7 @@ export class VisibilityService extends GarbageCollector {
|
|
|
10
9
|
// private _throttledWakeEvents: Stream<Instant>;
|
|
11
10
|
constructor(document) {
|
|
12
11
|
super();
|
|
13
|
-
this.
|
|
12
|
+
this._visible$ = new MutableValueModel();
|
|
14
13
|
this.document = document; // see https://stackoverflow.com/a/53715642
|
|
15
14
|
const { chain } = Dsl.disposeWith(this);
|
|
16
15
|
// Set the name of the hidden property and the change event for visibility
|
|
@@ -38,8 +37,7 @@ export class VisibilityService extends GarbageCollector {
|
|
|
38
37
|
this.document.removeEventListener(this.eventName, handler);
|
|
39
38
|
});
|
|
40
39
|
}
|
|
41
|
-
|
|
42
|
-
this._visibleModel.value = this.isVisible();
|
|
40
|
+
this._visible$.value = this.isVisible();
|
|
43
41
|
// give the network a chance to come back or we end up with a bunch of failed requests.
|
|
44
42
|
// should probably also implement a connection service so that we can go
|
|
45
43
|
// connectionServer.ensureConnectedThen(fireWakeEvent);
|
|
@@ -50,11 +48,17 @@ export class VisibilityService extends GarbageCollector {
|
|
|
50
48
|
// }
|
|
51
49
|
// @trace
|
|
52
50
|
updateVisibilityState() {
|
|
53
|
-
this.
|
|
51
|
+
this._visible$.value = this.isVisible();
|
|
54
52
|
// this._wakeEvents.publish(Instant.now());
|
|
55
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* @deprecated use visible$ instead.
|
|
56
|
+
*/
|
|
56
57
|
get visibleModel() {
|
|
57
|
-
return this.
|
|
58
|
+
return this._visible$.readonly;
|
|
59
|
+
}
|
|
60
|
+
get visible$() {
|
|
61
|
+
return this._visible$.readonly;
|
|
58
62
|
}
|
|
59
63
|
isHidden() {
|
|
60
64
|
return !!this.document[this.attributeName];
|
|
@@ -72,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
72
76
|
type: Inject,
|
|
73
77
|
args: [DOCUMENT]
|
|
74
78
|
}] }]; } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaWJpbGl0eS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvc2VydmljZXMvdmlzaWJpbGl0eS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtIQUErSDtBQUcvSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBYyxNQUFNLGdCQUFnQixDQUFDOztBQUV0RixtRkFBbUY7QUFHbkYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGdCQUFnQjtJQU9yRCxzREFBc0Q7SUFDdEQsaURBQWlEO0lBRWpELFlBQThCLFFBQWE7UUFDekMsS0FBSyxFQUFFLENBQUM7UUFMRixjQUFTLEdBQUcsSUFBSSxpQkFBaUIsRUFBVyxDQUFDO1FBTW5ELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsMkNBQTJDO1FBRXJFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssV0FBVyxFQUFFLEVBQUUsK0NBQStDO1lBQ2hHLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUM7U0FDckM7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxXQUFXLEVBQUU7WUFDM0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUM7WUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQztTQUN2QzthQUFNLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLFdBQVcsRUFBRTtZQUMvRCxJQUFJLENBQUMsYUFBYSxHQUFHLGNBQWMsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLHdCQUF3QixDQUFDO1NBQzNDO1FBRUQsa0ZBQWtGO1FBQ2xGLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixLQUFLLFdBQVcsSUFBSSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssV0FBVyxFQUFFO1lBQ2hILE9BQU8sQ0FBQyxHQUFHLENBQUMsd0dBQXdHLENBQUMsQ0FBQztTQUN2SDthQUFNO1lBQ0wsZ0NBQWdDO1lBQ2hDLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQztTQUVKO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXhDLHVGQUF1RjtRQUN2Rix3RUFBd0U7UUFDeEUsdURBQXVEO1FBQ3ZELHFFQUFxRTtJQUV2RSxDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLHNDQUFzQztJQUN0QyxJQUFJO0lBRUosU0FBUztJQUNDLHFCQUFxQjtRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDeEMsMkNBQTJDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7OEdBNUVVLGlCQUFpQixrQkFVUixRQUFRO2tIQVZqQixpQkFBaUIsY0FESixNQUFNOzJGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFXbkIsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogTWVyZ2UgdmFyaW91cyB3YWtlIGRldGVjdGlvbiBldmVudHMgaW50byB0aGlzIGNsYXNzLiAgdmlzaWJpbGl0eSwgd2FrZSBldmVudHMsIHdlYnNvY2tldCBjb25uZWN0aW9uLCBvbmxpbmUgZGV0ZWN0aW9uLlxuXG5cbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHNsLCBHYXJiYWdlQ29sbGVjdG9yLCBNdXRhYmxlVmFsdWVNb2RlbCwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuLy8gVGFrZW4gZnJvbTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1BhZ2VfVmlzaWJpbGl0eV9BUElcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBWaXNpYmlsaXR5U2VydmljZSBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIHJlYWRvbmx5IGF0dHJpYnV0ZU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBldmVudE5hbWU6IHN0cmluZztcblxuICBwcml2YXRlIF92aXNpYmxlJCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxib29sZWFuPigpO1xuICAvLyBwcml2YXRlIF93YWtlRXZlbnRzID0gbmV3IE11dGFibGVTdHJlYW08SW5zdGFudD4oKTtcbiAgLy8gcHJpdmF0ZSBfdGhyb3R0bGVkV2FrZUV2ZW50czogU3RyZWFtPEluc3RhbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudDsgLy8gc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS81MzcxNTY0MlxuXG4gICAgY29uc3QgeyBjaGFpbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgLy8gU2V0IHRoZSBuYW1lIG9mIHRoZSBoaWRkZW4gcHJvcGVydHkgYW5kIHRoZSBjaGFuZ2UgZXZlbnQgZm9yIHZpc2liaWxpdHlcbiAgICBpZiAodHlwZW9mIHRoaXMuZG9jdW1lbnQuaGlkZGVuICE9PSAndW5kZWZpbmVkJykgeyAvLyBPcGVyYSAxMi4xMCBhbmQgRmlyZWZveCAxOCBhbmQgbGF0ZXIgc3VwcG9ydFxuICAgICAgdGhpcy5hdHRyaWJ1dGVOYW1lID0gJ2hpZGRlbic7XG4gICAgICB0aGlzLmV2ZW50TmFtZSA9ICd2aXNpYmlsaXR5Y2hhbmdlJztcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmRvY3VtZW50Wydtc0hpZGRlbiddICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhpcy5hdHRyaWJ1dGVOYW1lID0gJ21zSGlkZGVuJztcbiAgICAgIHRoaXMuZXZlbnROYW1lID0gJ21zdmlzaWJpbGl0eWNoYW5nZSc7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5kb2N1bWVudFsnd2Via2l0SGlkZGVuJ10gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmF0dHJpYnV0ZU5hbWUgPSAnd2Via2l0SGlkZGVuJztcbiAgICAgIHRoaXMuZXZlbnROYW1lID0gJ3dlYmtpdHZpc2liaWxpdHljaGFuZ2UnO1xuICAgIH1cblxuICAgIC8vIFdhcm4gaWYgdGhlIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGFkZEV2ZW50TGlzdGVuZXIgb3IgdGhlIFBhZ2UgVmlzaWJpbGl0eSBBUElcbiAgICBpZiAodHlwZW9mIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIGRvY3VtZW50W3RoaXMuYXR0cmlidXRlTmFtZV0gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zb2xlLmxvZygnVGhpcyBkZW1vIHJlcXVpcmVzIGEgYnJvd3Nlciwgc3VjaCBhcyBHb29nbGUgQ2hyb21lIG9yIEZpcmVmb3gsIHRoYXQgc3VwcG9ydHMgdGhlIFBhZ2UgVmlzaWJpbGl0eSBBUEkuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEhhbmRsZSBwYWdlIHZpc2liaWxpdHkgY2hhbmdlXG4gICAgICBjb25zdCBoYW5kbGVyID0gKCkgPT4gdGhpcy51cGRhdGVWaXNpYmlsaXR5U3RhdGUoKTtcbiAgICAgIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLmV2ZW50TmFtZSwgaGFuZGxlciwgZmFsc2UpO1xuICAgICAgdGhpcy5vbkRpc3Bvc2UoKCkgPT4ge1xuICAgICAgICB0aGlzLmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5ldmVudE5hbWUsIGhhbmRsZXIpO1xuICAgICAgfSk7XG5cbiAgICB9XG5cbiAgICB0aGlzLl92aXNpYmxlJC52YWx1ZSA9IHRoaXMuaXNWaXNpYmxlKCk7XG5cbiAgICAvLyBnaXZlIHRoZSBuZXR3b3JrIGEgY2hhbmNlIHRvIGNvbWUgYmFjayBvciB3ZSBlbmQgdXAgd2l0aCBhIGJ1bmNoIG9mIGZhaWxlZCByZXF1ZXN0cy5cbiAgICAvLyBzaG91bGQgcHJvYmFibHkgYWxzbyBpbXBsZW1lbnQgYSBjb25uZWN0aW9uIHNlcnZpY2Ugc28gdGhhdCB3ZSBjYW4gZ29cbiAgICAvLyBjb25uZWN0aW9uU2VydmVyLmVuc3VyZUNvbm5lY3RlZFRoZW4oZmlyZVdha2VFdmVudCk7XG4gICAgLy8gdGhpcy5fdGhyb3R0bGVkV2FrZUV2ZW50cyA9IGNoYWluKHRoaXMuX3dha2VFdmVudHMpLnRocm90dGxlKDMwMCk7XG5cbiAgfVxuXG4gIC8vIGdldCB3YWtlRXZlbnRzKCk6IFN0cmVhbTxJbnN0YW50PiB7XG4gIC8vICAgcmV0dXJuIHRoaXMuX3Rocm90dGxlZFdha2VFdmVudHM7XG4gIC8vIH1cblxuICAvLyBAdHJhY2VcbiAgcHJvdGVjdGVkIHVwZGF0ZVZpc2liaWxpdHlTdGF0ZSgpIHtcbiAgICB0aGlzLl92aXNpYmxlJC52YWx1ZSA9IHRoaXMuaXNWaXNpYmxlKCk7XG4gICAgLy8gdGhpcy5fd2FrZUV2ZW50cy5wdWJsaXNoKEluc3RhbnQubm93KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSB2aXNpYmxlJCBpbnN0ZWFkLlxuICAgKi9cbiAgZ2V0IHZpc2libGVNb2RlbCgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZSQucmVhZG9ubHk7XG4gIH1cbiAgZ2V0IHZpc2libGUkKCk6IFZhbHVlTW9kZWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlJC5yZWFkb25seTtcbiAgfVxuXG4gIGlzSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZG9jdW1lbnRbdGhpcy5hdHRyaWJ1dGVOYW1lXTtcbiAgfVxuXG4gIGlzVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNIaWRkZW4oKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -65,7 +65,6 @@ import * as i2$4 from '@angular/material/list';
|
|
|
65
65
|
import { MatListModule } from '@angular/material/list';
|
|
66
66
|
import 'reflect-metadata';
|
|
67
67
|
import { style, query, group, animate, trigger, transition } from '@angular/animations';
|
|
68
|
-
import * as wakeEvent from 'wake-event';
|
|
69
68
|
|
|
70
69
|
class CommandDirective extends GarbageCollector {
|
|
71
70
|
constructor(elementRef, matButton, matMenuItem) {
|
|
@@ -9927,7 +9926,7 @@ class VisibilityService extends GarbageCollector {
|
|
|
9927
9926
|
// private _throttledWakeEvents: Stream<Instant>;
|
|
9928
9927
|
constructor(document) {
|
|
9929
9928
|
super();
|
|
9930
|
-
this.
|
|
9929
|
+
this._visible$ = new MutableValueModel();
|
|
9931
9930
|
this.document = document; // see https://stackoverflow.com/a/53715642
|
|
9932
9931
|
const { chain } = Dsl.disposeWith(this);
|
|
9933
9932
|
// Set the name of the hidden property and the change event for visibility
|
|
@@ -9955,8 +9954,7 @@ class VisibilityService extends GarbageCollector {
|
|
|
9955
9954
|
this.document.removeEventListener(this.eventName, handler);
|
|
9956
9955
|
});
|
|
9957
9956
|
}
|
|
9958
|
-
|
|
9959
|
-
this._visibleModel.value = this.isVisible();
|
|
9957
|
+
this._visible$.value = this.isVisible();
|
|
9960
9958
|
// give the network a chance to come back or we end up with a bunch of failed requests.
|
|
9961
9959
|
// should probably also implement a connection service so that we can go
|
|
9962
9960
|
// connectionServer.ensureConnectedThen(fireWakeEvent);
|
|
@@ -9967,11 +9965,17 @@ class VisibilityService extends GarbageCollector {
|
|
|
9967
9965
|
// }
|
|
9968
9966
|
// @trace
|
|
9969
9967
|
updateVisibilityState() {
|
|
9970
|
-
this.
|
|
9968
|
+
this._visible$.value = this.isVisible();
|
|
9971
9969
|
// this._wakeEvents.publish(Instant.now());
|
|
9972
9970
|
}
|
|
9971
|
+
/**
|
|
9972
|
+
* @deprecated use visible$ instead.
|
|
9973
|
+
*/
|
|
9973
9974
|
get visibleModel() {
|
|
9974
|
-
return this.
|
|
9975
|
+
return this._visible$.readonly;
|
|
9976
|
+
}
|
|
9977
|
+
get visible$() {
|
|
9978
|
+
return this._visible$.readonly;
|
|
9975
9979
|
}
|
|
9976
9980
|
isHidden() {
|
|
9977
9981
|
return !!this.document[this.attributeName];
|