@ssv/ngx.ux 1.3.0 → 1.4.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/CHANGELOG.md +13 -0
- package/README.md +15 -0
- package/bundles/ssv-ngx.ux.umd.js +130 -51
- package/bundles/ssv-ngx.ux.umd.js.map +1 -1
- package/bundles/ssv-ngx.ux.umd.min.js +1 -1
- package/bundles/ssv-ngx.ux.umd.min.js.map +1 -1
- package/esm2015/module.js +3 -2
- package/esm2015/version.js +2 -2
- package/esm2015/viewport/index.js +6 -5
- package/esm2015/viewport/viewport-data/viewport-data.service.js +3 -3
- package/esm2015/viewport/viewport-matcher-var.directive.js +66 -0
- package/esm2015/viewport/viewport-matcher.directive.js +38 -38
- package/esm2015/viewport/viewport.service.js +10 -5
- package/esm5/module.js +3 -2
- package/esm5/version.js +2 -2
- package/esm5/viewport/index.js +6 -5
- package/esm5/viewport/viewport-data/viewport-data.service.js +4 -3
- package/esm5/viewport/viewport-matcher-var.directive.js +78 -0
- package/esm5/viewport/viewport-matcher.directive.js +45 -45
- package/esm5/viewport/viewport.service.js +10 -5
- package/fesm2015/ssv-ngx.ux.js +113 -48
- package/fesm2015/ssv-ngx.ux.js.map +1 -1
- package/fesm5/ssv-ngx.ux.js +132 -55
- package/fesm5/ssv-ngx.ux.js.map +1 -1
- package/package.json +1 -1
- package/ssv-ngx.ux.metadata.json +1 -1
- package/version.d.ts +1 -1
- package/viewport/index.d.ts +5 -4
- package/viewport/viewport-data/viewport-data.service.d.ts +1 -1
- package/viewport/viewport-matcher-var.directive.d.ts +22 -0
- package/viewport/viewport-matcher.directive.d.ts +4 -4
- package/viewport/viewport.service.d.ts +8 -2
|
@@ -13,10 +13,10 @@ var SsvViewportMatcherContext = /** @class */ (function () {
|
|
|
13
13
|
}());
|
|
14
14
|
export { SsvViewportMatcherContext };
|
|
15
15
|
var SsvViewportMatcherDirective = /** @class */ (function () {
|
|
16
|
-
function SsvViewportMatcherDirective(viewport, renderer,
|
|
16
|
+
function SsvViewportMatcherDirective(viewport, renderer, viewContainer, cdr, templateRef) {
|
|
17
17
|
this.viewport = viewport;
|
|
18
18
|
this.renderer = renderer;
|
|
19
|
-
this.
|
|
19
|
+
this.viewContainer = viewContainer;
|
|
20
20
|
this.cdr = cdr;
|
|
21
21
|
this._context = new SsvViewportMatcherContext();
|
|
22
22
|
this._thenTemplateRef = null;
|
|
@@ -28,44 +28,6 @@ var SsvViewportMatcherDirective = /** @class */ (function () {
|
|
|
28
28
|
this._update$ = new Subject();
|
|
29
29
|
this._thenTemplateRef = templateRef;
|
|
30
30
|
}
|
|
31
|
-
SsvViewportMatcherDirective.prototype.ngOnInit = function () {
|
|
32
|
-
// console.log("ssvViewportMatcher init");
|
|
33
|
-
var _this = this;
|
|
34
|
-
this._update$
|
|
35
|
-
.pipe(
|
|
36
|
-
// tap(x => console.log(">>> ssvViewportMatcher - update triggered", x)),
|
|
37
|
-
filter(function () { return !!_this.sizeInfo; }),
|
|
38
|
-
// tap(x => console.log(">>> ssvViewportMatcher - updating...", x)),
|
|
39
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
40
|
-
tap(function () { return _this._updateView(_this.sizeInfo); }), tap(function () { return _this.cdr.markForCheck(); }))
|
|
41
|
-
.subscribe();
|
|
42
|
-
this.sizeType$$ = this.viewport.sizeType$
|
|
43
|
-
.pipe(
|
|
44
|
-
// tap(x => console.log("ssvViewportMatcher - sizeType changed", x)),
|
|
45
|
-
tap(function (x) { return _this.sizeInfo = x; }), tap(function () { return _this._update$.next(_this._context); }))
|
|
46
|
-
.subscribe();
|
|
47
|
-
this.cssClass$$ = this.viewport.sizeType$
|
|
48
|
-
.pipe(startWith(undefined), filter(function () { return !!(_this._thenViewRef || _this._elseViewRef); }), pairwise(), tap(function (_a) {
|
|
49
|
-
var _b = __read(_a, 2), prev = _b[0], curr = _b[1];
|
|
50
|
-
var _c;
|
|
51
|
-
var el = _this._thenViewRef
|
|
52
|
-
? _this._thenViewRef.rootNodes[0]
|
|
53
|
-
: (_c = _this._elseViewRef) === null || _c === void 0 ? void 0 : _c.rootNodes[0];
|
|
54
|
-
if (!el.classList) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
if (prev) {
|
|
58
|
-
_this.renderer.removeClass(el, "ssv-vp-size--" + prev.name);
|
|
59
|
-
}
|
|
60
|
-
_this.renderer.addClass(el, "ssv-vp-size--" + (curr === null || curr === void 0 ? void 0 : curr.name));
|
|
61
|
-
}))
|
|
62
|
-
.subscribe();
|
|
63
|
-
};
|
|
64
|
-
SsvViewportMatcherDirective.prototype.ngOnDestroy = function () {
|
|
65
|
-
this.cssClass$$.unsubscribe();
|
|
66
|
-
this.sizeType$$.unsubscribe();
|
|
67
|
-
this._update$.complete();
|
|
68
|
-
};
|
|
69
31
|
Object.defineProperty(SsvViewportMatcherDirective.prototype, "ssvViewportMatcher", {
|
|
70
32
|
set: function (value) {
|
|
71
33
|
if (isViewportSizeMatcherExpression(value)) {
|
|
@@ -109,22 +71,60 @@ var SsvViewportMatcherDirective = /** @class */ (function () {
|
|
|
109
71
|
enumerable: true,
|
|
110
72
|
configurable: true
|
|
111
73
|
});
|
|
74
|
+
SsvViewportMatcherDirective.prototype.ngOnInit = function () {
|
|
75
|
+
// console.log("ssvViewportMatcher init");
|
|
76
|
+
var _this = this;
|
|
77
|
+
this._update$
|
|
78
|
+
.pipe(
|
|
79
|
+
// tap(x => console.log(">>> ssvViewportMatcher - update triggered", x)),
|
|
80
|
+
filter(function () { return !!_this.sizeInfo; }),
|
|
81
|
+
// tap(x => console.log(">>> ssvViewportMatcher - updating...", x)),
|
|
82
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
83
|
+
tap(function () { return _this._updateView(_this.sizeInfo); }), tap(function () { return _this.cdr.markForCheck(); }))
|
|
84
|
+
.subscribe();
|
|
85
|
+
this.sizeType$$ = this.viewport.sizeType$
|
|
86
|
+
.pipe(
|
|
87
|
+
// tap(x => console.log("ssvViewportMatcher - sizeType changed", x)),
|
|
88
|
+
tap(function (x) { return _this.sizeInfo = x; }), tap(function () { return _this._update$.next(_this._context); }))
|
|
89
|
+
.subscribe();
|
|
90
|
+
this.cssClass$$ = this.viewport.sizeType$
|
|
91
|
+
.pipe(startWith(undefined), filter(function () { return !!(_this._thenViewRef || _this._elseViewRef); }), pairwise(), tap(function (_a) {
|
|
92
|
+
var _b = __read(_a, 2), prev = _b[0], curr = _b[1];
|
|
93
|
+
var _c;
|
|
94
|
+
var el = _this._thenViewRef
|
|
95
|
+
? _this._thenViewRef.rootNodes[0]
|
|
96
|
+
: (_c = _this._elseViewRef) === null || _c === void 0 ? void 0 : _c.rootNodes[0];
|
|
97
|
+
if (!el.classList) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (prev) {
|
|
101
|
+
_this.renderer.removeClass(el, "ssv-vp-size--" + prev.name);
|
|
102
|
+
}
|
|
103
|
+
_this.renderer.addClass(el, "ssv-vp-size--" + (curr === null || curr === void 0 ? void 0 : curr.name));
|
|
104
|
+
}))
|
|
105
|
+
.subscribe();
|
|
106
|
+
};
|
|
107
|
+
SsvViewportMatcherDirective.prototype.ngOnDestroy = function () {
|
|
108
|
+
this.cssClass$$.unsubscribe();
|
|
109
|
+
this.sizeType$$.unsubscribe();
|
|
110
|
+
this._update$.complete();
|
|
111
|
+
};
|
|
112
112
|
SsvViewportMatcherDirective.prototype._updateView = function (sizeInfo) {
|
|
113
113
|
if (isViewportConditionMatch(sizeInfo, this._context, this.viewport.sizeTypeMap)) {
|
|
114
114
|
if (!this._thenViewRef) {
|
|
115
|
-
this.
|
|
115
|
+
this.viewContainer.clear();
|
|
116
116
|
this._elseViewRef = null;
|
|
117
117
|
if (this._thenTemplateRef) {
|
|
118
|
-
this._thenViewRef = this.
|
|
118
|
+
this._thenViewRef = this.viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
else {
|
|
123
123
|
if (!this._elseViewRef) {
|
|
124
|
-
this.
|
|
124
|
+
this.viewContainer.clear();
|
|
125
125
|
this._thenViewRef = null;
|
|
126
126
|
if (this._elseTemplateRef) {
|
|
127
|
-
this._elseViewRef = this.
|
|
127
|
+
this._elseViewRef = this.viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
}
|
|
@@ -154,4 +154,4 @@ var SsvViewportMatcherDirective = /** @class */ (function () {
|
|
|
154
154
|
return SsvViewportMatcherDirective;
|
|
155
155
|
}());
|
|
156
156
|
export { SsvViewportMatcherDirective };
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtbWF0Y2hlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3N2L25neC51eC8iLCJzb3VyY2VzIjpbInZpZXdwb3J0L3ZpZXdwb3J0LW1hdGNoZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULGdCQUFnQixFQUNoQixLQUFLLEVBQ0wsZUFBZSxFQUNmLFdBQVcsRUFDWCxpQkFBaUIsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQ04sK0JBQStCLEVBQy9CLG9DQUFvQyxFQUNwQyx3QkFBd0IsRUFDeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUd6QjtJQUFBO1FBRUMsYUFBUSxHQUE2QixJQUFJLENBQUM7UUFDMUMsb0JBQWUsR0FBNkIsSUFBSSxDQUFDO0lBR2xELENBQUM7SUFBRCxnQ0FBQztBQUFELENBQUMsQUFORCxJQU1DOztBQU1EO0lBYUMscUNBQ1MsUUFBeUIsRUFDekIsUUFBbUIsRUFDbkIsY0FBZ0MsRUFDaEMsR0FBc0IsRUFDOUIsV0FBbUQ7UUFKM0MsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFDaEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFidkIsYUFBUSxHQUE4QixJQUFJLHlCQUF5QixFQUFFLENBQUM7UUFDdEUscUJBQWdCLEdBQWtELElBQUksQ0FBQztRQUN2RSxxQkFBZ0IsR0FBa0Qs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QTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0T25Jbml0LFxuXHRPbkRlc3Ryb3ksXG5cdERpcmVjdGl2ZSxcblx0UmVuZGVyZXIyLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxuXHRJbnB1dCxcblx0RW1iZWRkZWRWaWV3UmVmLFxuXHRUZW1wbGF0ZVJlZixcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFwLCBmaWx0ZXIsIHBhaXJ3aXNlLCBzdGFydFdpdGggfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuaW1wb3J0IHsgVmlld3BvcnRTZXJ2aWNlIH0gZnJvbSBcIi4vdmlld3BvcnQuc2VydmljZVwiO1xuaW1wb3J0IHtcblx0aXNWaWV3cG9ydFNpemVNYXRjaGVyRXhwcmVzc2lvbixcblx0aXNWaWV3cG9ydFNpemVNYXRjaGVyVHVwbGVFeHByZXNzaW9uLFxuXHRpc1ZpZXdwb3J0Q29uZGl0aW9uTWF0Y2hcbn0gZnJvbSBcIi4vdmlld3BvcnQudXRpbFwiO1xuaW1wb3J0IHsgVmlld3BvcnRTaXplVHlwZUluZm8sIFZpZXdwb3J0TWF0Y2hDb25kaXRpb25zLCBWaWV3cG9ydFNpemVNYXRjaGVyRXhwcmVzc2lvbiB9IGZyb20gXCIuL3ZpZXdwb3J0Lm1vZGVsXCI7XG5cbmV4cG9ydCBjbGFzcyBTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0IGltcGxlbWVudHMgVmlld3BvcnRNYXRjaENvbmRpdGlvbnMge1xuXG5cdHNpemVUeXBlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xuXHRzaXplVHlwZUV4Y2x1ZGU6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCA9IG51bGw7XG5cdGV4cHJlc3Npb24/OiBWaWV3cG9ydFNpemVNYXRjaGVyRXhwcmVzc2lvbjtcblxufVxuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6IFwiW3NzdlZpZXdwb3J0TWF0Y2hlcl1cIixcblx0ZXhwb3J0QXM6IFwic3N2Vmlld3BvcnRNYXRjaGVyXCIsXG59KVxuZXhwb3J0IGNsYXNzIFNzdlZpZXdwb3J0TWF0Y2hlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuXHRzaXplSW5mbzogVmlld3BvcnRTaXplVHlwZUluZm8gfCB1bmRlZmluZWQ7XG5cblx0cHJpdmF0ZSBfY29udGV4dDogU3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dCA9IG5ldyBTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0KCk7XG5cdHByaXZhdGUgX3RoZW5UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8U3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dD4gfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBfZWxzZVRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0PiB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIF90aGVuVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQ+IHwgbnVsbCA9IG51bGw7XG5cdHByaXZhdGUgX2Vsc2VWaWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8U3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dD4gfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBzaXplVHlwZSQkID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXHRwcml2YXRlIGNzc0NsYXNzJCQgPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3VwZGF0ZSQgPSBuZXcgU3ViamVjdDxTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0PigpO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgdmlld3BvcnQ6IFZpZXdwb3J0U2VydmljZSxcblx0XHRwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG5cdFx0cHJpdmF0ZSBfdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcblx0XHRwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0dGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQ+LFxuXHQpIHtcblx0XHR0aGlzLl90aGVuVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcblx0fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdC8vIGNvbnNvbGUubG9nKFwic3N2Vmlld3BvcnRNYXRjaGVyIGluaXRcIik7XG5cblx0XHR0aGlzLl91cGRhdGUkXG5cdFx0XHQucGlwZShcblx0XHRcdFx0Ly8gdGFwKHggPT4gY29uc29sZS5sb2coXCI+Pj4gc3N2Vmlld3BvcnRNYXRjaGVyIC0gdXBkYXRlIHRyaWdnZXJlZFwiLCB4KSksXG5cdFx0XHRcdGZpbHRlcigoKSA9PiAhIXRoaXMuc2l6ZUluZm8pLFxuXHRcdFx0XHQvLyB0YXAoeCA9PiBjb25zb2xlLmxvZyhcIj4+PiBzc3ZWaWV3cG9ydE1hdGNoZXIgLSB1cGRhdGluZy4uLlwiLCB4KSksXG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG5cdFx0XHRcdHRhcCgoKSA9PiB0aGlzLl91cGRhdGVWaWV3KHRoaXMuc2l6ZUluZm8hKSksXG5cdFx0XHRcdHRhcCgoKSA9PiB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKSlcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoKTtcblxuXHRcdHRoaXMuc2l6ZVR5cGUkJCA9IHRoaXMudmlld3BvcnQuc2l6ZVR5cGUkXG5cdFx0XHQucGlwZShcblx0XHRcdFx0Ly8gdGFwKHggPT4gY29uc29sZS5sb2coXCJzc3ZWaWV3cG9ydE1hdGNoZXIgLSBzaXplVHlwZSBjaGFuZ2VkXCIsIHgpKSxcblx0XHRcdFx0dGFwKHggPT4gdGhpcy5zaXplSW5mbyA9IHgpLFxuXHRcdFx0XHR0YXAoKCkgPT4gdGhpcy5fdXBkYXRlJC5uZXh0KHRoaXMuX2NvbnRleHQpKSxcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoKTtcblxuXHRcdHRoaXMuY3NzQ2xhc3MkJCA9IHRoaXMudmlld3BvcnQuc2l6ZVR5cGUkXG5cdFx0XHQucGlwZShcblx0XHRcdFx0c3RhcnRXaXRoPFZpZXdwb3J0U2l6ZVR5cGVJbmZvIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpLFxuXHRcdFx0XHRmaWx0ZXIoKCkgPT4gISEodGhpcy5fdGhlblZpZXdSZWYgfHwgdGhpcy5fZWxzZVZpZXdSZWYpKSxcblx0XHRcdFx0cGFpcndpc2UoKSxcblx0XHRcdFx0dGFwKChbcHJldiwgY3Vycl0pID0+IHtcblx0XHRcdFx0XHRjb25zdCBlbDogRWxlbWVudCA9IHRoaXMuX3RoZW5WaWV3UmVmXG5cdFx0XHRcdFx0XHQ/IHRoaXMuX3RoZW5WaWV3UmVmLnJvb3ROb2Rlc1swXVxuXHRcdFx0XHRcdFx0OiB0aGlzLl9lbHNlVmlld1JlZj8ucm9vdE5vZGVzWzBdO1xuXG5cdFx0XHRcdFx0aWYgKCFlbC5jbGFzc0xpc3QpIHtcblx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKHByZXYpIHtcblx0XHRcdFx0XHRcdHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZWwsIGBzc3YtdnAtc2l6ZS0tJHtwcmV2Lm5hbWV9YCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWwsIGBzc3YtdnAtc2l6ZS0tJHtjdXJyPy5uYW1lfWApO1xuXHRcdFx0XHR9KSxcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuY3NzQ2xhc3MkJC51bnN1YnNjcmliZSgpO1xuXHRcdHRoaXMuc2l6ZVR5cGUkJC51bnN1YnNjcmliZSgpO1xuXHRcdHRoaXMuX3VwZGF0ZSQuY29tcGxldGUoKTtcblx0fVxuXG5cdEBJbnB1dCgpIHNldCBzc3ZWaWV3cG9ydE1hdGNoZXIodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgVmlld3BvcnRTaXplTWF0Y2hlckV4cHJlc3Npb24pIHtcblx0XHRpZiAoaXNWaWV3cG9ydFNpemVNYXRjaGVyRXhwcmVzc2lvbih2YWx1ZSkpIHtcblx0XHRcdHRoaXMuX2NvbnRleHQuZXhwcmVzc2lvbiA9IHZhbHVlO1xuXHRcdH0gZWxzZSBpZiAoaXNWaWV3cG9ydFNpemVNYXRjaGVyVHVwbGVFeHByZXNzaW9uKHZhbHVlKSkge1xuXHRcdFx0Y29uc3QgW29wLCBzaXplXSA9IHZhbHVlO1xuXHRcdFx0dGhpcy5fY29udGV4dC5leHByZXNzaW9uID0ge1xuXHRcdFx0XHRvcGVyYXRpb246IG9wLFxuXHRcdFx0XHRzaXplXG5cdFx0XHR9O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLl9jb250ZXh0LnNpemVUeXBlID0gdmFsdWU7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuc2l6ZUluZm8pIHtcblx0XHRcdHRoaXMuX3VwZGF0ZSQubmV4dCh0aGlzLl9jb250ZXh0KTtcblx0XHR9XG5cdH1cblxuXHRASW5wdXQoKSBzZXQgc3N2Vmlld3BvcnRNYXRjaGVyRXhjbHVkZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcblx0XHR0aGlzLl9jb250ZXh0LnNpemVUeXBlRXhjbHVkZSA9IHZhbHVlO1xuXG5cdFx0aWYgKHRoaXMuc2l6ZUluZm8pIHtcblx0XHRcdHRoaXMuX3VwZGF0ZSQubmV4dCh0aGlzLl9jb250ZXh0KTtcblx0XHR9XG5cdH1cblxuXHRASW5wdXQoKSBzZXQgc3N2Vmlld3BvcnRNYXRjaGVyRWxzZSh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8U3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dD4gfCBudWxsKSB7XG5cdFx0dGhpcy5fZWxzZVRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG5cdFx0dGhpcy5fZWxzZVZpZXdSZWYgPSBudWxsOyAvLyBjbGVhciBwcmV2aW91cyB2aWV3IGlmIGFueS5cblx0XHRpZiAodGhpcy5zaXplSW5mbykge1xuXHRcdFx0dGhpcy5fdXBkYXRlJC5uZXh0KHRoaXMuX2NvbnRleHQpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgX3VwZGF0ZVZpZXcoc2l6ZUluZm86IFZpZXdwb3J0U2l6ZVR5cGVJbmZvKSB7XG5cdFx0aWYgKGlzVmlld3BvcnRDb25kaXRpb25NYXRjaChzaXplSW5mbywgdGhpcy5fY29udGV4dCwgdGhpcy52aWV3cG9ydC5zaXplVHlwZU1hcCkpIHtcblx0XHRcdGlmICghdGhpcy5fdGhlblZpZXdSZWYpIHtcblx0XHRcdFx0dGhpcy5fdmlld0NvbnRhaW5lci5jbGVhcigpO1xuXHRcdFx0XHR0aGlzLl9lbHNlVmlld1JlZiA9IG51bGw7XG5cblx0XHRcdFx0aWYgKHRoaXMuX3RoZW5UZW1wbGF0ZVJlZikge1xuXHRcdFx0XHRcdHRoaXMuX3RoZW5WaWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcoXG5cdFx0XHRcdFx0XHR0aGlzLl90aGVuVGVtcGxhdGVSZWYsXG5cdFx0XHRcdFx0XHR0aGlzLl9jb250ZXh0LFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0aWYgKCF0aGlzLl9lbHNlVmlld1JlZikge1xuXHRcdFx0XHR0aGlzLl92aWV3Q29udGFpbmVyLmNsZWFyKCk7XG5cdFx0XHRcdHRoaXMuX3RoZW5WaWV3UmVmID0gbnVsbDtcblxuXHRcdFx0XHRpZiAodGhpcy5fZWxzZVRlbXBsYXRlUmVmKSB7XG5cdFx0XHRcdFx0dGhpcy5fZWxzZVZpZXdSZWYgPSB0aGlzLl92aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyhcblx0XHRcdFx0XHRcdHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZixcblx0XHRcdFx0XHRcdHRoaXMuX2NvbnRleHQsXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG4iXX0=
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQtbWF0Y2hlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3N2L25neC51eC8iLCJzb3VyY2VzIjpbInZpZXdwb3J0L3ZpZXdwb3J0LW1hdGNoZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULGdCQUFnQixFQUNoQixLQUFLLEVBQ0wsZUFBZSxFQUNmLFdBQVcsRUFDWCxpQkFBaUIsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQ04sK0JBQStCLEVBQy9CLG9DQUFvQyxFQUNwQyx3QkFBd0IsRUFDeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUd6QjtJQUFBO1FBRUMsYUFBUSxHQUE2QixJQUFJLENBQUM7UUFDMUMsb0JBQWUsR0FBNkIsSUFBSSxDQUFDO0lBR2xELENBQUM7SUFBRCxnQ0FBQztBQUFELENBQUMsQUFORCxJQU1DOztBQU1EO0lBK0NDLHFDQUNTLFFBQXlCLEVBQ3pCLFFBQW1CLEVBQ25CLGFBQStCLEVBQy9CLEdBQXNCLEVBQzlCLFdBQW1EO1FBSjNDLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBL0N2QixhQUFRLEdBQThCLElBQUkseUJBQXlCLEVBQUUsQ0FBQztRQUN0RSxxQkFBZ0IsR0FBa0QsSUFBSSxDQUFDO1FBQ3ZFLHFCQUFnQixHQUFr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LDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdE9uSW5pdCxcblx0T25EZXN0cm95LFxuXHREaXJlY3RpdmUsXG5cdFJlbmRlcmVyMixcblx0Vmlld0NvbnRhaW5lclJlZixcblx0SW5wdXQsXG5cdEVtYmVkZGVkVmlld1JlZixcblx0VGVtcGxhdGVSZWYsXG5cdENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRhcCwgZmlsdGVyLCBwYWlyd2lzZSwgc3RhcnRXaXRoIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IFZpZXdwb3J0U2VydmljZSB9IGZyb20gXCIuL3ZpZXdwb3J0LnNlcnZpY2VcIjtcbmltcG9ydCB7XG5cdGlzVmlld3BvcnRTaXplTWF0Y2hlckV4cHJlc3Npb24sXG5cdGlzVmlld3BvcnRTaXplTWF0Y2hlclR1cGxlRXhwcmVzc2lvbixcblx0aXNWaWV3cG9ydENvbmRpdGlvbk1hdGNoXG59IGZyb20gXCIuL3ZpZXdwb3J0LnV0aWxcIjtcbmltcG9ydCB7IFZpZXdwb3J0U2l6ZVR5cGVJbmZvLCBWaWV3cG9ydE1hdGNoQ29uZGl0aW9ucywgVmlld3BvcnRTaXplTWF0Y2hlckV4cHJlc3Npb24gfSBmcm9tIFwiLi92aWV3cG9ydC5tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgU3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dCBpbXBsZW1lbnRzIFZpZXdwb3J0TWF0Y2hDb25kaXRpb25zIHtcblxuXHRzaXplVHlwZTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsID0gbnVsbDtcblx0c2l6ZVR5cGVFeGNsdWRlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xuXHRleHByZXNzaW9uPzogVmlld3BvcnRTaXplTWF0Y2hlckV4cHJlc3Npb247XG5cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiBcIltzc3ZWaWV3cG9ydE1hdGNoZXJdXCIsXG5cdGV4cG9ydEFzOiBcInNzdlZpZXdwb3J0TWF0Y2hlclwiLFxufSlcbmV4cG9ydCBjbGFzcyBTc3ZWaWV3cG9ydE1hdGNoZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cblx0c2l6ZUluZm86IFZpZXdwb3J0U2l6ZVR5cGVJbmZvIHwgdW5kZWZpbmVkO1xuXG5cdHByaXZhdGUgX2NvbnRleHQ6IFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQgPSBuZXcgU3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dCgpO1xuXHRwcml2YXRlIF90aGVuVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQ+IHwgbnVsbCA9IG51bGw7XG5cdHByaXZhdGUgX2Vsc2VUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8U3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dD4gfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBfdGhlblZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxTc3ZWaWV3cG9ydE1hdGNoZXJDb250ZXh0PiB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIF9lbHNlVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQ+IHwgbnVsbCA9IG51bGw7XG5cdHByaXZhdGUgc2l6ZVR5cGUkJCA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblx0cHJpdmF0ZSBjc3NDbGFzcyQkID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXHRwcml2YXRlIHJlYWRvbmx5IF91cGRhdGUkID0gbmV3IFN1YmplY3Q8U3N2Vmlld3BvcnRNYXRjaGVyQ29udGV4dD4oKTtcblxuXHRASW5wdXQoKSBzZXQgc3N2Vmlld3BvcnRNYXRjaGVyKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IFZpZXdwb3J0U2l6ZU1hdGNoZXJFeHByZXNzaW9uKSB7XG5cdFx0aWYgKGlzVmlld3BvcnRTaXplTWF0Y2hlckV4cHJlc3Npb24odmFsdWUpKSB7XG5cdFx0XHR0aGlzLl9jb250ZXh0LmV4cHJlc3Npb24gPSB2YWx1ZTtcblx0XHR9IGVsc2UgaWYgKGlzVmlld3BvcnRTaXplTWF0Y2hlclR1cGxlRXhwcmVzc2lvbih2YWx1ZSkpIHtcblx0XHRcdGNvbnN0IFtvcCwgc2l6ZV0gPSB2YWx1ZTtcblx0XHRcdHRoaXMuX2NvbnRleHQuZXhwcmVzc2lvbiA9IHtcblx0XHRcdFx0b3BlcmF0aW9uOiBvcCxcblx0XHRcdFx0c2l6ZVxuXHRcdFx0fTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5fY29udGV4dC5zaXplVHlwZSA9IHZhbHVlO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLnNpemVJbmZvKSB7XG5cdFx0XHR0aGlzLl91cGRhdGUkLm5leHQodGhpcy5fY29udGV4dCk7XG5cdFx0fVxuXHR9XG5cblx0QElucHV0KCkgc2V0IHNzdlZpZXdwb3J0TWF0Y2hlckV4Y2x1ZGUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG5cdFx0dGhpcy5fY29udGV4dC5zaXplVHlwZUV4Y2x1ZGUgPSB2YWx1ZTtcblxuXHRcdGlmICh0aGlzLnNpemVJbmZvKSB7XG5cdFx0XHR0aGlzLl91cGRhdGUkLm5leHQodGhpcy5fY29udGV4dCk7XG5cdFx0fVxuXHR9XG5cblx0QElucHV0KCkgc2V0IHNzdlZpZXdwb3J0TWF0Y2hlckVsc2UodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQ+IHwgbnVsbCkge1xuXHRcdHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZiA9IHRlbXBsYXRlUmVmO1xuXHRcdHRoaXMuX2Vsc2VWaWV3UmVmID0gbnVsbDsgLy8gY2xlYXIgcHJldmlvdXMgdmlldyBpZiBhbnkuXG5cdFx0aWYgKHRoaXMuc2l6ZUluZm8pIHtcblx0XHRcdHRoaXMuX3VwZGF0ZSQubmV4dCh0aGlzLl9jb250ZXh0KTtcblx0XHR9XG5cdH1cblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHZpZXdwb3J0OiBWaWV3cG9ydFNlcnZpY2UsXG5cdFx0cHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuXHRcdHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcblx0XHRwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0dGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPFNzdlZpZXdwb3J0TWF0Y2hlckNvbnRleHQ+LFxuXHQpIHtcblx0XHR0aGlzLl90aGVuVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcblx0fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdC8vIGNvbnNvbGUubG9nKFwic3N2Vmlld3BvcnRNYXRjaGVyIGluaXRcIik7XG5cblx0XHR0aGlzLl91cGRhdGUkXG5cdFx0XHQucGlwZShcblx0XHRcdFx0Ly8gdGFwKHggPT4gY29uc29sZS5sb2coXCI+Pj4gc3N2Vmlld3BvcnRNYXRjaGVyIC0gdXBkYXRlIHRyaWdnZXJlZFwiLCB4KSksXG5cdFx0XHRcdGZpbHRlcigoKSA9PiAhIXRoaXMuc2l6ZUluZm8pLFxuXHRcdFx0XHQvLyB0YXAoeCA9PiBjb25zb2xlLmxvZyhcIj4+PiBzc3ZWaWV3cG9ydE1hdGNoZXIgLSB1cGRhdGluZy4uLlwiLCB4KSksXG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG5cdFx0XHRcdHRhcCgoKSA9PiB0aGlzLl91cGRhdGVWaWV3KHRoaXMuc2l6ZUluZm8hKSksXG5cdFx0XHRcdHRhcCgoKSA9PiB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKSlcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoKTtcblxuXHRcdHRoaXMuc2l6ZVR5cGUkJCA9IHRoaXMudmlld3BvcnQuc2l6ZVR5cGUkXG5cdFx0XHQucGlwZShcblx0XHRcdFx0Ly8gdGFwKHggPT4gY29uc29sZS5sb2coXCJzc3ZWaWV3cG9ydE1hdGNoZXIgLSBzaXplVHlwZSBjaGFuZ2VkXCIsIHgpKSxcblx0XHRcdFx0dGFwKHggPT4gdGhpcy5zaXplSW5mbyA9IHgpLFxuXHRcdFx0XHR0YXAoKCkgPT4gdGhpcy5fdXBkYXRlJC5uZXh0KHRoaXMuX2NvbnRleHQpKSxcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoKTtcblxuXHRcdHRoaXMuY3NzQ2xhc3MkJCA9IHRoaXMudmlld3BvcnQuc2l6ZVR5cGUkXG5cdFx0XHQucGlwZShcblx0XHRcdFx0c3RhcnRXaXRoPFZpZXdwb3J0U2l6ZVR5cGVJbmZvIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpLFxuXHRcdFx0XHRmaWx0ZXIoKCkgPT4gISEodGhpcy5fdGhlblZpZXdSZWYgfHwgdGhpcy5fZWxzZVZpZXdSZWYpKSxcblx0XHRcdFx0cGFpcndpc2UoKSxcblx0XHRcdFx0dGFwKChbcHJldiwgY3Vycl0pID0+IHtcblx0XHRcdFx0XHRjb25zdCBlbDogRWxlbWVudCA9IHRoaXMuX3RoZW5WaWV3UmVmXG5cdFx0XHRcdFx0XHQ/IHRoaXMuX3RoZW5WaWV3UmVmLnJvb3ROb2Rlc1swXVxuXHRcdFx0XHRcdFx0OiB0aGlzLl9lbHNlVmlld1JlZj8ucm9vdE5vZGVzWzBdO1xuXG5cdFx0XHRcdFx0aWYgKCFlbC5jbGFzc0xpc3QpIHtcblx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKHByZXYpIHtcblx0XHRcdFx0XHRcdHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZWwsIGBzc3YtdnAtc2l6ZS0tJHtwcmV2Lm5hbWV9YCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWwsIGBzc3YtdnAtc2l6ZS0tJHtjdXJyPy5uYW1lfWApO1xuXHRcdFx0XHR9KSxcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuY3NzQ2xhc3MkJC51bnN1YnNjcmliZSgpO1xuXHRcdHRoaXMuc2l6ZVR5cGUkJC51bnN1YnNjcmliZSgpO1xuXHRcdHRoaXMuX3VwZGF0ZSQuY29tcGxldGUoKTtcblx0fVxuXG5cdHByaXZhdGUgX3VwZGF0ZVZpZXcoc2l6ZUluZm86IFZpZXdwb3J0U2l6ZVR5cGVJbmZvKSB7XG5cdFx0aWYgKGlzVmlld3BvcnRDb25kaXRpb25NYXRjaChzaXplSW5mbywgdGhpcy5fY29udGV4dCwgdGhpcy52aWV3cG9ydC5zaXplVHlwZU1hcCkpIHtcblx0XHRcdGlmICghdGhpcy5fdGhlblZpZXdSZWYpIHtcblx0XHRcdFx0dGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG5cdFx0XHRcdHRoaXMuX2Vsc2VWaWV3UmVmID0gbnVsbDtcblxuXHRcdFx0XHRpZiAodGhpcy5fdGhlblRlbXBsYXRlUmVmKSB7XG5cdFx0XHRcdFx0dGhpcy5fdGhlblZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KFxuXHRcdFx0XHRcdFx0dGhpcy5fdGhlblRlbXBsYXRlUmVmLFxuXHRcdFx0XHRcdFx0dGhpcy5fY29udGV4dCxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmICghdGhpcy5fZWxzZVZpZXdSZWYpIHtcblx0XHRcdFx0dGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG5cdFx0XHRcdHRoaXMuX3RoZW5WaWV3UmVmID0gbnVsbDtcblxuXHRcdFx0XHRpZiAodGhpcy5fZWxzZVRlbXBsYXRlUmVmKSB7XG5cdFx0XHRcdFx0dGhpcy5fZWxzZVZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KFxuXHRcdFx0XHRcdFx0dGhpcy5fZWxzZVRlbXBsYXRlUmVmLFxuXHRcdFx0XHRcdFx0dGhpcy5fY29udGV4dCxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn1cbiJdfQ==
|
|
@@ -18,15 +18,20 @@ var ViewportService = /** @class */ (function () {
|
|
|
18
18
|
this._sizeTypes = generateViewportSizeTypeInfoList(config.viewport.breakpoints);
|
|
19
19
|
this._sizeTypeMap = generateViewportSizeTypeInfoRefs(this._sizeTypes);
|
|
20
20
|
if (windowRef.hasNative) {
|
|
21
|
-
this.
|
|
21
|
+
this.resizeSnap$ = fromEvent(window, "resize").pipe(map(function () { return _this.getViewportSize(); }), share());
|
|
22
|
+
this.resize$ = this.resizeSnap$.pipe(auditTime(config.viewport.resizePollingSpeed), share());
|
|
22
23
|
}
|
|
23
24
|
else {
|
|
24
|
-
this.resize$ = of(viewportServerSize.get());
|
|
25
|
+
this.resizeSnap$ = this.resize$ = of(viewportServerSize.get());
|
|
25
26
|
}
|
|
26
27
|
var size = this.getViewportSize();
|
|
27
28
|
this._sizeTypeSnapshot = getSizeTypeInfo(size.width, this.sizeTypes);
|
|
28
|
-
|
|
29
|
-
this.
|
|
29
|
+
var sizeFn = function (obs$) { return obs$.pipe(startWith(size), distinctUntilChanged(function (a, b) { return a.width === b.width && a.height === b.height; }), shareReplay(1)); };
|
|
30
|
+
this.sizeSnap$ = sizeFn(this.resizeSnap$);
|
|
31
|
+
this.size$ = sizeFn(this.resize$);
|
|
32
|
+
var sizeTypeFn = function (obs$) { return obs$.pipe(distinctUntilChanged(function (a, b) { return a.width === b.width; }), map(function (x) { return getSizeTypeInfo(x.width, _this.sizeTypes); }), distinctUntilChanged(), tap(function (x) { return _this._sizeTypeSnapshot = x; }), shareReplay(1)); };
|
|
33
|
+
this.sizeType$ = sizeTypeFn(this.size$);
|
|
34
|
+
this.sizeTypeSnap$ = sizeTypeFn(this.sizeSnap$);
|
|
30
35
|
}
|
|
31
36
|
Object.defineProperty(ViewportService.prototype, "sizeTypeSnapshot", {
|
|
32
37
|
/** Viewport size type snapshot of the last value. (Prefer use `sizeType$` observable when possible.) */
|
|
@@ -94,4 +99,4 @@ var ViewportService = /** @class */ (function () {
|
|
|
94
99
|
return ViewportService;
|
|
95
100
|
}());
|
|
96
101
|
export { ViewportService };
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bzc3Yvbmd4LnV4LyIsInNvdXJjZXMiOlsidmlld3BvcnQvdmlld3BvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFNBQVMsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUNOLEdBQUcsRUFDSCxHQUFHLEVBQ0gsb0JBQW9CLEVBQ3BCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFNBQVMsR0FDVCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBYSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFNdEg7SUF3QkMseUJBQ1MsU0FBb0IsRUFDcEIsa0JBQTZDLEVBQ2xDLE1BQWlCO1FBSHJDLGlCQWlDQztRQWhDUSxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBMkI7UUFHckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQ0FBZ0MsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxZQUFZLEdBQUcsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXRFLElBQUksU0FBUyxDQUFDLFNBQVMsRUFBRTtZQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBUSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFB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RSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLHVDQUF1QztZQUN4RyxPQUFPO2dCQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVc7Z0JBQ2pFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVk7YUFDbkUsQ0FBQztTQUNGO1FBRUQsT0FBTztZQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1lBQ3ZDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXO1NBQ3pDLENBQUM7SUFDSCxDQUFDOztnQkF0RW1CLFNBQVM7Z0JBQ0EseUJBQXlCO2dEQUNwRCxNQUFNLFNBQUMsU0FBUzs7O0lBM0JOLGVBQWU7UUFIM0IsVUFBVSxDQUFDO1lBQ1gsVUFBVSxFQUFFLE1BQU07U0FDbEIsQ0FBQztRQTRCQyxXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtPQTNCUCxlQUFlLENBaUczQjswQkF2SEQ7Q0F1SEMsQUFqR0QsSUFpR0M7U0FqR1ksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tRXZlbnQsIG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7XG5cdG1hcCxcblx0dGFwLFxuXHRkaXN0aW5jdFVudGlsQ2hhbmdlZCxcblx0c3RhcnRXaXRoLFxuXHRzaGFyZSxcblx0c2hhcmVSZXBsYXksXG5cdGF1ZGl0VGltZSxcbn0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IFV4T3B0aW9ucywgVVhfQ09ORklHIH0gZnJvbSBcIi4uL2NvbmZpZ1wiO1xuaW1wb3J0IHsgVmlld3BvcnRTaXplVHlwZUluZm8sIFZpZXdwb3J0U2l6ZSB9IGZyb20gXCIuL3ZpZXdwb3J0Lm1vZGVsXCI7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tIFwiLi4vcGxhdGZvcm0vd2luZG93XCI7XG5pbXBvcnQgeyBWaWV3cG9ydFNlcnZlclNpemVTZXJ2aWNlIH0gZnJvbSBcIi4vdmlld3BvcnQtc2VydmVyLXNpemUuc2VydmljZVwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVWaWV3cG9ydFNpemVUeXBlSW5mb0xpc3QsIGdlbmVyYXRlVmlld3BvcnRTaXplVHlwZUluZm9SZWZzLCBnZXRTaXplVHlwZUluZm8gfSBmcm9tIFwiLi92aWV3cG9ydC51dGlsXCI7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSBcIi4uL2ludGVybmFsL2ludGVybmFsLm1vZGVsXCI7XG5cbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIFZpZXdwb3J0U2VydmljZSB7XG5cblx0LyoqIFdpbmRvdyByZXNpemUgb2JzZXJ2YWJsZSAod2hpY2ggaXMgYWxzbyB0aHJvdHRsZWQpLiAqL1xuXHRyZWFkb25seSByZXNpemUkOiBPYnNlcnZhYmxlPFZpZXdwb3J0U2l6ZT47XG5cblx0LyoqIFZpZXdwb3J0IHNpemUgdHlwZSBvYnNlcnZhYmxlLiAqL1xuXHRyZWFkb25seSBzaXplVHlwZSQ6IE9ic2VydmFibGU8Vmlld3BvcnRTaXplVHlwZUluZm8+O1xuXG5cdC8qKiBWaWV3cG9ydCBzaXplIHR5cGUgc25hcHNob3Qgb2YgdGhlIGxhc3QgdmFsdWUuIChQcmVmZXIgdXNlIGBzaXplVHlwZSRgIG9ic2VydmFibGUgd2hlbiBwb3NzaWJsZS4pICovXG5cdGdldCBzaXplVHlwZVNuYXBzaG90KCk6IFZpZXdwb3J0U2l6ZVR5cGVJbmZvIHsgcmV0dXJuIHRoaXMuX3NpemVUeXBlU25hcHNob3Q7IH1cblxuXHQvKiogVmlld3BvcnQgc2l6ZSBvYnNlcnZhYmxlLiAqL1xuXHRyZWFkb25seSBzaXplJDogT2JzZXJ2YWJsZTxWaWV3cG9ydFNpemU+O1xuXG5cdC8qKiBTaXplIHR5cGVzIHJlZnMgb2YgdGhlIGdlbmVyYXRlZCB2aWV3cG9ydCBzaXplIHR5cGUgaW5mby4gKi9cblx0Z2V0IHNpemVUeXBlTWFwKCk6IERpY3Rpb25hcnk8Vmlld3BvcnRTaXplVHlwZUluZm8+IHsgcmV0dXJuIHRoaXMuX3NpemVUeXBlTWFwOyB9XG5cblx0LyoqIFZpZXdwb3J0IHNpemUgdHlwZXMgbGlzdCBvcmRlcmVkIGJ5IHR5cGUsIHNtYWxsZXN0IHRvIGxhcmdlc3QuICovXG5cdGdldCBzaXplVHlwZXMoKTogVmlld3BvcnRTaXplVHlwZUluZm9bXSB7IHJldHVybiB0aGlzLl9zaXplVHlwZXM7IH1cblxuXHRwcml2YXRlIF9zaXplVHlwZU1hcDogRGljdGlvbmFyeTxWaWV3cG9ydFNpemVUeXBlSW5mbz47XG5cdHByaXZhdGUgX3NpemVUeXBlczogVmlld3BvcnRTaXplVHlwZUluZm9bXTtcblx0cHJpdmF0ZSBfc2l6ZVR5cGVTbmFwc2hvdDogVmlld3BvcnRTaXplVHlwZUluZm87XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSB3aW5kb3dSZWY6IFdpbmRvd1JlZixcblx0XHRwcml2YXRlIHZpZXdwb3J0U2VydmVyU2l6ZTogVmlld3BvcnRTZXJ2ZXJTaXplU2VydmljZSxcblx0XHRASW5qZWN0KFVYX0NPTkZJRykgY29uZmlnOiBVeE9wdGlvbnMsXG5cdCkge1xuXHRcdHRoaXMuX3NpemVUeXBlcyA9IGdlbmVyYXRlVmlld3BvcnRTaXplVHlwZUluZm9MaXN0KGNvbmZpZy52aWV3cG9ydC5icmVha3BvaW50cyk7XG5cdFx0dGhpcy5fc2l6ZVR5cGVNYXAgPSBnZW5lcmF0ZVZpZXdwb3J0U2l6ZVR5cGVJbmZvUmVmcyh0aGlzLl9zaXplVHlwZXMpO1xuXG5cdFx0aWYgKHdpbmRvd1JlZi5oYXNOYXRpdmUpIHtcblx0XHRcdHRoaXMucmVzaXplJCA9IGZyb21FdmVudDxFdmVudD4od2luZG93LCBcInJlc2l6ZVwiKS5waXBlKFxuXHRcdFx0XHRtYXAoKCkgPT4gdGhpcy5nZXRWaWV3cG9ydFNpemUoKSksXG5cdFx0XHRcdGF1ZGl0VGltZShjb25maWcudmlld3BvcnQucmVzaXplUG9sbGluZ1NwZWVkKSxcblx0XHRcdFx0c2hhcmUoKSxcblx0XHRcdCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMucmVzaXplJCA9IG9mKHZpZXdwb3J0U2VydmVyU2l6ZS5nZXQoKSk7XG5cdFx0fVxuXHRcdGNvbnN0IHNpemUgPSB0aGlzLmdldFZpZXdwb3J0U2l6ZSgpO1xuXHRcdHRoaXMuX3NpemVUeXBlU25hcHNob3QgPSBnZXRTaXplVHlwZUluZm8oc2l6ZS53aWR0aCwgdGhpcy5zaXplVHlwZXMpO1xuXG5cdFx0dGhpcy5zaXplJCA9IHRoaXMucmVzaXplJC5waXBlKFxuXHRcdFx0c3RhcnRXaXRoKHNpemUpLFxuXHRcdFx0ZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGEud2lkdGggPT09IGIud2lkdGggJiYgYS5oZWlnaHQgPT09IGIuaGVpZ2h0KSxcblx0XHRcdHNoYXJlUmVwbGF5KDEpLFxuXHRcdCk7XG5cblx0XHR0aGlzLnNpemVUeXBlJCA9IHRoaXMuc2l6ZSQucGlwZShcblx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhLndpZHRoID09PSBiLndpZHRoKSxcblx0XHRcdG1hcCh4ID0+IGdldFNpemVUeXBlSW5mbyh4LndpZHRoLCB0aGlzLnNpemVUeXBlcykpLFxuXHRcdFx0ZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcblx0XHRcdHRhcCh4ID0+IHRoaXMuX3NpemVUeXBlU25hcHNob3QgPSB4KSxcblx0XHRcdHNoYXJlUmVwbGF5KDEpLFxuXHRcdCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2FsY3VsYXRlcyBhbW91bnQgb2YgaXRlbXMgdGhhdCBmaXRzIGludG8gY29udGFpbmVyJ3Mgd2lkdGguXG5cdCAqIEBwYXJhbSBjb250YWluZXJXaWR0aFxuXHQgKiBAcGFyYW0gaXRlbVdpZHRoXG5cdCAqIEByZXR1cm5zXG5cdCAqL1xuXHRjYWxjdWxhdGVJdGVtc1BlclJvdyhjb250YWluZXJXaWR0aDogbnVtYmVyLCBpdGVtV2lkdGg6IG51bWJlcik6IG51bWJlciB7XG5cdFx0aWYgKGNvbnRhaW5lcldpZHRoID09PSAwKSB7XG5cdFx0XHRyZXR1cm4gMDtcblx0XHR9XG5cdFx0aWYgKCFjb250YWluZXJXaWR0aCAmJiAhdGhpcy53aW5kb3dSZWYuaGFzTmF0aXZlKSB7XG5cdFx0XHQvLyB0b2RvOiBmaW5kIGEgd2F5IHRvIGdldCBjb250YWluZXIgd2lkdGggZm9yIHNzclxuXHRcdFx0Y29udGFpbmVyV2lkdGggPSB0aGlzLnZpZXdwb3J0U2VydmVyU2l6ZS5nZXQoKS53aWR0aDtcblx0XHR9XG5cblx0XHRyZXR1cm4gY29udGFpbmVyV2lkdGggLyBpdGVtV2lkdGg7XG5cdH1cblxuXHQvKiogUmV0dXJucyB0aGUgY3VycmVudCB2aWV3cG9ydCBzaXplICovXG5cdHByaXZhdGUgZ2V0Vmlld3BvcnRTaXplKCk6IFZpZXdwb3J0U2l6ZSB7XG5cdFx0aWYgKCF0aGlzLndpbmRvd1JlZi5oYXNOYXRpdmUpIHtcblx0XHRcdHJldHVybiB0aGlzLnZpZXdwb3J0U2VydmVyU2l6ZS5nZXQoKTtcblx0XHR9XG5cblx0XHRjb25zdCB1YSA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKTtcblx0XHRpZiAodWEuaW5kZXhPZihcInNhZmFyaVwiKSAhPT0gLTEgJiYgdWEuaW5kZXhPZihcImNocm9tZVwiKSA9PT0gLTEpIHsgLy8gc2FmYXJpIHN1YnRyYWN0cyB0aGUgc2Nyb2xsYmFyIHdpZHRoXG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHR3aWR0aDogdGhpcy53aW5kb3dSZWYubmF0aXZlLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxcblx0XHRcdFx0aGVpZ2h0OiB0aGlzLndpbmRvd1JlZi5uYXRpdmUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxcblx0XHRcdH07XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHtcblx0XHRcdHdpZHRoOiB0aGlzLndpbmRvd1JlZi5uYXRpdmUuaW5uZXJXaWR0aCxcblx0XHRcdGhlaWdodDogdGhpcy53aW5kb3dSZWYubmF0aXZlLmlubmVySGVpZ2h0LFxuXHRcdH07XG5cdH1cblxufVxuIl19
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bzc3Yvbmd4LnV4LyIsInNvdXJjZXMiOlsidmlld3BvcnQvdmlld3BvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFNBQVMsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUNOLEdBQUcsRUFDSCxHQUFHLEVBQ0gsb0JBQW9CLEVBQ3BCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFNBQVMsR0FDVCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBYSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFNdEg7SUFpQ0MseUJBQ1MsU0FBb0IsRUFDcEIsa0JBQTZDLEVBQ2xDLE1BQWlCO1FBSHJDLGlCQTJDQztRQTFDUSxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBMkI7UUFHckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQ0FBZ0MsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxZQUFZLEdBQUcsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXRFLElBQUksU0FBUyxDQUFDLFNBQVMsRUFBRTtZQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBUSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFB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MEJBMUlEO0NBMElDLEFBcEhELElBb0hDO1NBcEhZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbUV2ZW50LCBvZiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge1xuXHRtYXAsXG5cdHRhcCxcblx0ZGlzdGluY3RVbnRpbENoYW5nZWQsXG5cdHN0YXJ0V2l0aCxcblx0c2hhcmUsXG5cdHNoYXJlUmVwbGF5LFxuXHRhdWRpdFRpbWUsXG59IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBVeE9wdGlvbnMsIFVYX0NPTkZJRyB9IGZyb20gXCIuLi9jb25maWdcIjtcbmltcG9ydCB7IFZpZXdwb3J0U2l6ZVR5cGVJbmZvLCBWaWV3cG9ydFNpemUgfSBmcm9tIFwiLi92aWV3cG9ydC5tb2RlbFwiO1xuaW1wb3J0IHsgV2luZG93UmVmIH0gZnJvbSBcIi4uL3BsYXRmb3JtL3dpbmRvd1wiO1xuaW1wb3J0IHsgVmlld3BvcnRTZXJ2ZXJTaXplU2VydmljZSB9IGZyb20gXCIuL3ZpZXdwb3J0LXNlcnZlci1zaXplLnNlcnZpY2VcIjtcbmltcG9ydCB7IGdlbmVyYXRlVmlld3BvcnRTaXplVHlwZUluZm9MaXN0LCBnZW5lcmF0ZVZpZXdwb3J0U2l6ZVR5cGVJbmZvUmVmcywgZ2V0U2l6ZVR5cGVJbmZvIH0gZnJvbSBcIi4vdmlld3BvcnQudXRpbFwiO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gXCIuLi9pbnRlcm5hbC9pbnRlcm5hbC5tb2RlbFwiO1xuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBWaWV3cG9ydFNlcnZpY2Uge1xuXG5cdC8qKiBXaW5kb3cgcmVzaXplIG9ic2VydmFibGUuICovXG5cdHJlYWRvbmx5IHJlc2l6ZVNuYXAkOiBPYnNlcnZhYmxlPFZpZXdwb3J0U2l6ZT47XG5cblx0LyoqIFdpbmRvdyByZXNpemUgb2JzZXJ2YWJsZSAod2hpY2ggaXMgYWxzbyB0aHJvdHRsZWQpLiAqL1xuXHRyZWFkb25seSByZXNpemUkOiBPYnNlcnZhYmxlPFZpZXdwb3J0U2l6ZT47XG5cblx0LyoqIFZpZXdwb3J0IHNpemUgdHlwZSBvYnNlcnZhYmxlICh3aGljaCBpcyBhbHNvIHRocm90dGxlZCkuICovXG5cdHJlYWRvbmx5IHNpemVUeXBlJDogT2JzZXJ2YWJsZTxWaWV3cG9ydFNpemVUeXBlSW5mbz47XG5cblx0LyoqIFZpZXdwb3J0IHNpemUgdHlwZSBvYnNlcnZhYmxlLiAqL1xuXHRyZWFkb25seSBzaXplVHlwZVNuYXAkOiBPYnNlcnZhYmxlPFZpZXdwb3J0U2l6ZVR5cGVJbmZvPjtcblxuXHQvKiogVmlld3BvcnQgc2l6ZSB0eXBlIHNuYXBzaG90IG9mIHRoZSBsYXN0IHZhbHVlLiAoUHJlZmVyIHVzZSBgc2l6ZVR5cGUkYCBvYnNlcnZhYmxlIHdoZW4gcG9zc2libGUuKSAqL1xuXHRnZXQgc2l6ZVR5cGVTbmFwc2hvdCgpOiBWaWV3cG9ydFNpemVUeXBlSW5mbyB7IHJldHVybiB0aGlzLl9zaXplVHlwZVNuYXBzaG90OyB9XG5cblx0LyoqIFZpZXdwb3J0IHNpemUgb2JzZXJ2YWJsZSAod2hpY2ggaXMgYWxzbyB0aHJvdHRsZWQpLiAqL1xuXHRyZWFkb25seSBzaXplJDogT2JzZXJ2YWJsZTxWaWV3cG9ydFNpemU+O1xuXG5cdC8qKiBWaWV3cG9ydCBzaXplIG9ic2VydmFibGUuICovXG5cdHJlYWRvbmx5IHNpemVTbmFwJDogT2JzZXJ2YWJsZTxWaWV3cG9ydFNpemU+O1xuXG5cdC8qKiBTaXplIHR5cGVzIHJlZnMgb2YgdGhlIGdlbmVyYXRlZCB2aWV3cG9ydCBzaXplIHR5cGUgaW5mby4gKi9cblx0Z2V0IHNpemVUeXBlTWFwKCk6IERpY3Rpb25hcnk8Vmlld3BvcnRTaXplVHlwZUluZm8+IHsgcmV0dXJuIHRoaXMuX3NpemVUeXBlTWFwOyB9XG5cblx0LyoqIFZpZXdwb3J0IHNpemUgdHlwZXMgbGlzdCBvcmRlcmVkIGJ5IHR5cGUsIHNtYWxsZXN0IHRvIGxhcmdlc3QuICovXG5cdGdldCBzaXplVHlwZXMoKTogVmlld3BvcnRTaXplVHlwZUluZm9bXSB7IHJldHVybiB0aGlzLl9zaXplVHlwZXM7IH1cblxuXHRwcml2YXRlIF9zaXplVHlwZU1hcDogRGljdGlvbmFyeTxWaWV3cG9ydFNpemVUeXBlSW5mbz47XG5cdHByaXZhdGUgX3NpemVUeXBlczogVmlld3BvcnRTaXplVHlwZUluZm9bXTtcblx0cHJpdmF0ZSBfc2l6ZVR5cGVTbmFwc2hvdDogVmlld3BvcnRTaXplVHlwZUluZm87XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSB3aW5kb3dSZWY6IFdpbmRvd1JlZixcblx0XHRwcml2YXRlIHZpZXdwb3J0U2VydmVyU2l6ZTogVmlld3BvcnRTZXJ2ZXJTaXplU2VydmljZSxcblx0XHRASW5qZWN0KFVYX0NPTkZJRykgY29uZmlnOiBVeE9wdGlvbnMsXG5cdCkge1xuXHRcdHRoaXMuX3NpemVUeXBlcyA9IGdlbmVyYXRlVmlld3BvcnRTaXplVHlwZUluZm9MaXN0KGNvbmZpZy52aWV3cG9ydC5icmVha3BvaW50cyk7XG5cdFx0dGhpcy5fc2l6ZVR5cGVNYXAgPSBnZW5lcmF0ZVZpZXdwb3J0U2l6ZVR5cGVJbmZvUmVmcyh0aGlzLl9zaXplVHlwZXMpO1xuXG5cdFx0aWYgKHdpbmRvd1JlZi5oYXNOYXRpdmUpIHtcblx0XHRcdHRoaXMucmVzaXplU25hcCQgPSBmcm9tRXZlbnQ8RXZlbnQ+KHdpbmRvdywgXCJyZXNpemVcIikucGlwZShcblx0XHRcdFx0bWFwKCgpID0+IHRoaXMuZ2V0Vmlld3BvcnRTaXplKCkpLFxuXHRcdFx0XHRzaGFyZSgpXG5cdFx0XHQpO1xuXG5cdFx0XHR0aGlzLnJlc2l6ZSQgPSB0aGlzLnJlc2l6ZVNuYXAkLnBpcGUoXG5cdFx0XHRcdGF1ZGl0VGltZShjb25maWcudmlld3BvcnQucmVzaXplUG9sbGluZ1NwZWVkKSxcblx0XHRcdFx0c2hhcmUoKSxcblx0XHRcdCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMucmVzaXplU25hcCQgPSB0aGlzLnJlc2l6ZSQgPSBvZih2aWV3cG9ydFNlcnZlclNpemUuZ2V0KCkpO1xuXHRcdH1cblx0XHRjb25zdCBzaXplID0gdGhpcy5nZXRWaWV3cG9ydFNpemUoKTtcblx0XHR0aGlzLl9zaXplVHlwZVNuYXBzaG90ID0gZ2V0U2l6ZVR5cGVJbmZvKHNpemUud2lkdGgsIHRoaXMuc2l6ZVR5cGVzKTtcblxuXHRcdGNvbnN0IHNpemVGbiA9IChvYnMkOiBPYnNlcnZhYmxlPFZpZXdwb3J0U2l6ZT4pID0+IG9icyQucGlwZShcblx0XHRcdHN0YXJ0V2l0aChzaXplKSxcblx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhLndpZHRoID09PSBiLndpZHRoICYmIGEuaGVpZ2h0ID09PSBiLmhlaWdodCksXG5cdFx0XHRzaGFyZVJlcGxheSgxKSxcblx0XHQpO1xuXG5cdFx0dGhpcy5zaXplU25hcCQgPSBzaXplRm4odGhpcy5yZXNpemVTbmFwJCk7XG5cdFx0dGhpcy5zaXplJCA9IHNpemVGbih0aGlzLnJlc2l6ZSQpO1xuXG5cdFx0Y29uc3Qgc2l6ZVR5cGVGbiA9IChvYnMkOiBPYnNlcnZhYmxlPFZpZXdwb3J0U2l6ZT4pID0+IG9icyQucGlwZShcblx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhLndpZHRoID09PSBiLndpZHRoKSxcblx0XHRcdG1hcCh4ID0+IGdldFNpemVUeXBlSW5mbyh4LndpZHRoLCB0aGlzLnNpemVUeXBlcykpLFxuXHRcdFx0ZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcblx0XHRcdHRhcCh4ID0+IHRoaXMuX3NpemVUeXBlU25hcHNob3QgPSB4KSxcblx0XHRcdHNoYXJlUmVwbGF5KDEpLFxuXHRcdCk7XG5cblx0XHR0aGlzLnNpemVUeXBlJCA9IHNpemVUeXBlRm4odGhpcy5zaXplJCk7XG5cdFx0dGhpcy5zaXplVHlwZVNuYXAkID0gc2l6ZVR5cGVGbih0aGlzLnNpemVTbmFwJCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2FsY3VsYXRlcyBhbW91bnQgb2YgaXRlbXMgdGhhdCBmaXRzIGludG8gY29udGFpbmVyJ3Mgd2lkdGguXG5cdCAqIEBwYXJhbSBjb250YWluZXJXaWR0aFxuXHQgKiBAcGFyYW0gaXRlbVdpZHRoXG5cdCAqIEByZXR1cm5zXG5cdCAqL1xuXHRjYWxjdWxhdGVJdGVtc1BlclJvdyhjb250YWluZXJXaWR0aDogbnVtYmVyLCBpdGVtV2lkdGg6IG51bWJlcik6IG51bWJlciB7XG5cdFx0aWYgKGNvbnRhaW5lcldpZHRoID09PSAwKSB7XG5cdFx0XHRyZXR1cm4gMDtcblx0XHR9XG5cdFx0aWYgKCFjb250YWluZXJXaWR0aCAmJiAhdGhpcy53aW5kb3dSZWYuaGFzTmF0aXZlKSB7XG5cdFx0XHQvLyB0b2RvOiBmaW5kIGEgd2F5IHRvIGdldCBjb250YWluZXIgd2lkdGggZm9yIHNzclxuXHRcdFx0Y29udGFpbmVyV2lkdGggPSB0aGlzLnZpZXdwb3J0U2VydmVyU2l6ZS5nZXQoKS53aWR0aDtcblx0XHR9XG5cblx0XHRyZXR1cm4gY29udGFpbmVyV2lkdGggLyBpdGVtV2lkdGg7XG5cdH1cblxuXHQvKiogUmV0dXJucyB0aGUgY3VycmVudCB2aWV3cG9ydCBzaXplICovXG5cdHByaXZhdGUgZ2V0Vmlld3BvcnRTaXplKCk6IFZpZXdwb3J0U2l6ZSB7XG5cdFx0aWYgKCF0aGlzLndpbmRvd1JlZi5oYXNOYXRpdmUpIHtcblx0XHRcdHJldHVybiB0aGlzLnZpZXdwb3J0U2VydmVyU2l6ZS5nZXQoKTtcblx0XHR9XG5cblx0XHRjb25zdCB1YSA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKTtcblx0XHRpZiAodWEuaW5kZXhPZihcInNhZmFyaVwiKSAhPT0gLTEgJiYgdWEuaW5kZXhPZihcImNocm9tZVwiKSA9PT0gLTEpIHsgLy8gc2FmYXJpIHN1YnRyYWN0cyB0aGUgc2Nyb2xsYmFyIHdpZHRoXG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHR3aWR0aDogdGhpcy53aW5kb3dSZWYubmF0aXZlLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxcblx0XHRcdFx0aGVpZ2h0OiB0aGlzLndpbmRvd1JlZi5uYXRpdmUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxcblx0XHRcdH07XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHtcblx0XHRcdHdpZHRoOiB0aGlzLndpbmRvd1JlZi5uYXRpdmUuaW5uZXJXaWR0aCxcblx0XHRcdGhlaWdodDogdGhpcy53aW5kb3dSZWYubmF0aXZlLmlubmVySGVpZ2h0LFxuXHRcdH07XG5cdH1cblxufVxuIl19
|
package/fesm2015/ssv-ngx.ux.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate, __param } from 'tslib';
|
|
2
|
-
import { InjectionToken, Inject, ɵɵdefineInjectable, ɵɵinject, Injectable, Optional, ChangeDetectorRef, Pipe,
|
|
3
|
-
import { map,
|
|
4
|
-
import { fromEvent, of, Subscription, Subject } from 'rxjs';
|
|
2
|
+
import { InjectionToken, Inject, ɵɵdefineInjectable, ɵɵinject, Injectable, Optional, ChangeDetectorRef, Pipe, ViewContainerRef, TemplateRef, Input, Directive, Renderer2, NgModule } from '@angular/core';
|
|
3
|
+
import { map, share, auditTime, startWith, distinctUntilChanged, shareReplay, tap, takeUntil, filter, pairwise } from 'rxjs/operators';
|
|
4
|
+
import { fromEvent, of, Subscription, Subject, ReplaySubject, combineLatest } from 'rxjs';
|
|
5
5
|
|
|
6
6
|
var ViewportDataMatchStrategy;
|
|
7
7
|
(function (ViewportDataMatchStrategy) {
|
|
@@ -348,15 +348,20 @@ let ViewportService = class ViewportService {
|
|
|
348
348
|
this._sizeTypes = generateViewportSizeTypeInfoList(config.viewport.breakpoints);
|
|
349
349
|
this._sizeTypeMap = generateViewportSizeTypeInfoRefs(this._sizeTypes);
|
|
350
350
|
if (windowRef.hasNative) {
|
|
351
|
-
this.
|
|
351
|
+
this.resizeSnap$ = fromEvent(window, "resize").pipe(map(() => this.getViewportSize()), share());
|
|
352
|
+
this.resize$ = this.resizeSnap$.pipe(auditTime(config.viewport.resizePollingSpeed), share());
|
|
352
353
|
}
|
|
353
354
|
else {
|
|
354
|
-
this.resize$ = of(viewportServerSize.get());
|
|
355
|
+
this.resizeSnap$ = this.resize$ = of(viewportServerSize.get());
|
|
355
356
|
}
|
|
356
357
|
const size = this.getViewportSize();
|
|
357
358
|
this._sizeTypeSnapshot = getSizeTypeInfo(size.width, this.sizeTypes);
|
|
358
|
-
|
|
359
|
-
this.
|
|
359
|
+
const sizeFn = (obs$) => obs$.pipe(startWith(size), distinctUntilChanged((a, b) => a.width === b.width && a.height === b.height), shareReplay(1));
|
|
360
|
+
this.sizeSnap$ = sizeFn(this.resizeSnap$);
|
|
361
|
+
this.size$ = sizeFn(this.resize$);
|
|
362
|
+
const sizeTypeFn = (obs$) => obs$.pipe(distinctUntilChanged((a, b) => a.width === b.width), map(x => getSizeTypeInfo(x.width, this.sizeTypes)), distinctUntilChanged(), tap(x => this._sizeTypeSnapshot = x), shareReplay(1));
|
|
363
|
+
this.sizeType$ = sizeTypeFn(this.size$);
|
|
364
|
+
this.sizeTypeSnap$ = sizeTypeFn(this.sizeSnap$);
|
|
360
365
|
}
|
|
361
366
|
/** Viewport size type snapshot of the last value. (Prefer use `sizeType$` observable when possible.) */
|
|
362
367
|
get sizeTypeSnapshot() { return this._sizeTypeSnapshot; }
|
|
@@ -520,8 +525,8 @@ let ViewportDataService = class ViewportDataService {
|
|
|
520
525
|
return matchViewportData(dataConfig, sizeType, strategy, this.viewport.sizeTypes, this.viewport.sizeTypeMap);
|
|
521
526
|
}
|
|
522
527
|
/** Get data for match as observable. */
|
|
523
|
-
get$(dataConfig, strategy) {
|
|
524
|
-
return this.viewport.sizeType
|
|
528
|
+
get$(dataConfig, strategy, throttle = true) {
|
|
529
|
+
return (throttle ? this.viewport.sizeType$ : this.viewport.sizeTypeSnap$).pipe(map(sizeType => this.get(dataConfig, strategy, sizeType)), distinctUntilChanged());
|
|
525
530
|
}
|
|
526
531
|
/** Generate rules based on strategies for data. */
|
|
527
532
|
generateRules(dataConfig, strategy = this.config.viewport.defaultDataMatchStrategy) {
|
|
@@ -578,6 +583,65 @@ ViewportDataPipe = __decorate([
|
|
|
578
583
|
})
|
|
579
584
|
], ViewportDataPipe);
|
|
580
585
|
|
|
586
|
+
const NAME_CAMEL = "ssvViewportMatcherVar";
|
|
587
|
+
class SsvViewportMatcherVarContext {
|
|
588
|
+
constructor($implicit = false) {
|
|
589
|
+
this.$implicit = $implicit;
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
let SsvViewportMatcherVarDirective = class SsvViewportMatcherVarDirective {
|
|
593
|
+
constructor(viewport, viewContainer, templateRef) {
|
|
594
|
+
this.viewport = viewport;
|
|
595
|
+
this.viewContainer = viewContainer;
|
|
596
|
+
this.templateRef = templateRef;
|
|
597
|
+
this._matchConditions = {};
|
|
598
|
+
this._context = new SsvViewportMatcherVarContext();
|
|
599
|
+
this._destroy$ = new Subject();
|
|
600
|
+
this._update$ = new ReplaySubject(1);
|
|
601
|
+
}
|
|
602
|
+
set condition(value) {
|
|
603
|
+
if (isViewportSizeMatcherExpression(value)) {
|
|
604
|
+
this._matchConditions.expression = value;
|
|
605
|
+
}
|
|
606
|
+
else if (isViewportSizeMatcherTupleExpression(value)) {
|
|
607
|
+
const [op, size] = value;
|
|
608
|
+
this._matchConditions.expression = {
|
|
609
|
+
operation: op,
|
|
610
|
+
size
|
|
611
|
+
};
|
|
612
|
+
}
|
|
613
|
+
else {
|
|
614
|
+
this._matchConditions.sizeType = value;
|
|
615
|
+
}
|
|
616
|
+
this._update$.next();
|
|
617
|
+
}
|
|
618
|
+
ngOnInit() {
|
|
619
|
+
this.updateView();
|
|
620
|
+
combineLatest([this.viewport.sizeType$, this._update$]).pipe(map(([sizeType]) => isViewportConditionMatch(sizeType, this._matchConditions, this.viewport.sizeTypeMap)), tap(x => this._context.$implicit = x), tap(() => this._viewRef.markForCheck()), takeUntil(this._destroy$)).subscribe();
|
|
621
|
+
}
|
|
622
|
+
ngOnDestroy() {
|
|
623
|
+
this._destroy$.next();
|
|
624
|
+
this._destroy$.complete();
|
|
625
|
+
}
|
|
626
|
+
updateView() {
|
|
627
|
+
this.viewContainer.clear();
|
|
628
|
+
this._viewRef = this.viewContainer.createEmbeddedView(this.templateRef, this._context);
|
|
629
|
+
}
|
|
630
|
+
};
|
|
631
|
+
SsvViewportMatcherVarDirective.ctorParameters = () => [
|
|
632
|
+
{ type: ViewportService },
|
|
633
|
+
{ type: ViewContainerRef },
|
|
634
|
+
{ type: TemplateRef }
|
|
635
|
+
];
|
|
636
|
+
__decorate([
|
|
637
|
+
Input(`${NAME_CAMEL}When`)
|
|
638
|
+
], SsvViewportMatcherVarDirective.prototype, "condition", null);
|
|
639
|
+
SsvViewportMatcherVarDirective = __decorate([
|
|
640
|
+
Directive({
|
|
641
|
+
selector: `[${NAME_CAMEL}]`,
|
|
642
|
+
})
|
|
643
|
+
], SsvViewportMatcherVarDirective);
|
|
644
|
+
|
|
581
645
|
class SsvViewportMatcherContext {
|
|
582
646
|
constructor() {
|
|
583
647
|
this.sizeType = null;
|
|
@@ -585,10 +649,10 @@ class SsvViewportMatcherContext {
|
|
|
585
649
|
}
|
|
586
650
|
}
|
|
587
651
|
let SsvViewportMatcherDirective = class SsvViewportMatcherDirective {
|
|
588
|
-
constructor(viewport, renderer,
|
|
652
|
+
constructor(viewport, renderer, viewContainer, cdr, templateRef) {
|
|
589
653
|
this.viewport = viewport;
|
|
590
654
|
this.renderer = renderer;
|
|
591
|
-
this.
|
|
655
|
+
this.viewContainer = viewContainer;
|
|
592
656
|
this.cdr = cdr;
|
|
593
657
|
this._context = new SsvViewportMatcherContext();
|
|
594
658
|
this._thenTemplateRef = null;
|
|
@@ -600,6 +664,37 @@ let SsvViewportMatcherDirective = class SsvViewportMatcherDirective {
|
|
|
600
664
|
this._update$ = new Subject();
|
|
601
665
|
this._thenTemplateRef = templateRef;
|
|
602
666
|
}
|
|
667
|
+
set ssvViewportMatcher(value) {
|
|
668
|
+
if (isViewportSizeMatcherExpression(value)) {
|
|
669
|
+
this._context.expression = value;
|
|
670
|
+
}
|
|
671
|
+
else if (isViewportSizeMatcherTupleExpression(value)) {
|
|
672
|
+
const [op, size] = value;
|
|
673
|
+
this._context.expression = {
|
|
674
|
+
operation: op,
|
|
675
|
+
size
|
|
676
|
+
};
|
|
677
|
+
}
|
|
678
|
+
else {
|
|
679
|
+
this._context.sizeType = value;
|
|
680
|
+
}
|
|
681
|
+
if (this.sizeInfo) {
|
|
682
|
+
this._update$.next(this._context);
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
set ssvViewportMatcherExclude(value) {
|
|
686
|
+
this._context.sizeTypeExclude = value;
|
|
687
|
+
if (this.sizeInfo) {
|
|
688
|
+
this._update$.next(this._context);
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
set ssvViewportMatcherElse(templateRef) {
|
|
692
|
+
this._elseTemplateRef = templateRef;
|
|
693
|
+
this._elseViewRef = null; // clear previous view if any.
|
|
694
|
+
if (this.sizeInfo) {
|
|
695
|
+
this._update$.next(this._context);
|
|
696
|
+
}
|
|
697
|
+
}
|
|
603
698
|
ngOnInit() {
|
|
604
699
|
// console.log("ssvViewportMatcher init");
|
|
605
700
|
this._update$
|
|
@@ -636,53 +731,22 @@ let SsvViewportMatcherDirective = class SsvViewportMatcherDirective {
|
|
|
636
731
|
this.sizeType$$.unsubscribe();
|
|
637
732
|
this._update$.complete();
|
|
638
733
|
}
|
|
639
|
-
set ssvViewportMatcher(value) {
|
|
640
|
-
if (isViewportSizeMatcherExpression(value)) {
|
|
641
|
-
this._context.expression = value;
|
|
642
|
-
}
|
|
643
|
-
else if (isViewportSizeMatcherTupleExpression(value)) {
|
|
644
|
-
const [op, size] = value;
|
|
645
|
-
this._context.expression = {
|
|
646
|
-
operation: op,
|
|
647
|
-
size
|
|
648
|
-
};
|
|
649
|
-
}
|
|
650
|
-
else {
|
|
651
|
-
this._context.sizeType = value;
|
|
652
|
-
}
|
|
653
|
-
if (this.sizeInfo) {
|
|
654
|
-
this._update$.next(this._context);
|
|
655
|
-
}
|
|
656
|
-
}
|
|
657
|
-
set ssvViewportMatcherExclude(value) {
|
|
658
|
-
this._context.sizeTypeExclude = value;
|
|
659
|
-
if (this.sizeInfo) {
|
|
660
|
-
this._update$.next(this._context);
|
|
661
|
-
}
|
|
662
|
-
}
|
|
663
|
-
set ssvViewportMatcherElse(templateRef) {
|
|
664
|
-
this._elseTemplateRef = templateRef;
|
|
665
|
-
this._elseViewRef = null; // clear previous view if any.
|
|
666
|
-
if (this.sizeInfo) {
|
|
667
|
-
this._update$.next(this._context);
|
|
668
|
-
}
|
|
669
|
-
}
|
|
670
734
|
_updateView(sizeInfo) {
|
|
671
735
|
if (isViewportConditionMatch(sizeInfo, this._context, this.viewport.sizeTypeMap)) {
|
|
672
736
|
if (!this._thenViewRef) {
|
|
673
|
-
this.
|
|
737
|
+
this.viewContainer.clear();
|
|
674
738
|
this._elseViewRef = null;
|
|
675
739
|
if (this._thenTemplateRef) {
|
|
676
|
-
this._thenViewRef = this.
|
|
740
|
+
this._thenViewRef = this.viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);
|
|
677
741
|
}
|
|
678
742
|
}
|
|
679
743
|
}
|
|
680
744
|
else {
|
|
681
745
|
if (!this._elseViewRef) {
|
|
682
|
-
this.
|
|
746
|
+
this.viewContainer.clear();
|
|
683
747
|
this._thenViewRef = null;
|
|
684
748
|
if (this._elseTemplateRef) {
|
|
685
|
-
this._elseViewRef = this.
|
|
749
|
+
this._elseViewRef = this.viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);
|
|
686
750
|
}
|
|
687
751
|
}
|
|
688
752
|
}
|
|
@@ -716,6 +780,7 @@ var SsvUxModule_1;
|
|
|
716
780
|
const MODULE_CONFIG_DATA = new InjectionToken("@ssv/ngx.ux/configData");
|
|
717
781
|
const components = [
|
|
718
782
|
SsvViewportMatcherDirective,
|
|
783
|
+
SsvViewportMatcherVarDirective,
|
|
719
784
|
ViewportDataPipe,
|
|
720
785
|
];
|
|
721
786
|
// todo: create module for Viewport
|
|
@@ -756,11 +821,11 @@ function _window() {
|
|
|
756
821
|
return {};
|
|
757
822
|
}
|
|
758
823
|
|
|
759
|
-
const VERSION = "1.
|
|
824
|
+
const VERSION = "1.4.1";
|
|
760
825
|
|
|
761
826
|
/**
|
|
762
827
|
* Generated bundle index. Do not edit.
|
|
763
828
|
*/
|
|
764
829
|
|
|
765
|
-
export { COMPARISON_OPERATION_FUNC_MAPPING, ComparisonOperation, DeviceType, MODULE_CONFIG_DATA, SsvUxModule, SsvViewportMatcherContext, SsvViewportMatcherDirective, UX_CONFIG, UX_DEFAULT_CONFIG, UX_VIEWPORT_DEFAULT_BREAKPOINTS, UX_VIEWPORT_SSR_DEVICE, VERSION, ViewportDataMatchStrategy, ViewportDataPipe, ViewportDataService, ViewportServerSizeService, ViewportService, ViewportSizeType, _moduleConfigFactory, _window, generateViewportSizeType, isViewportSizeMatcherExpression, isViewportSizeMatcherTupleExpression, UX_VIEWPORT_DEFAULT_CONFIG as ɵa, WINDOW as ɵb, WindowRef as ɵc };
|
|
830
|
+
export { COMPARISON_OPERATION_FUNC_MAPPING, ComparisonOperation, DeviceType, MODULE_CONFIG_DATA, SsvUxModule, SsvViewportMatcherContext, SsvViewportMatcherDirective, SsvViewportMatcherVarContext, SsvViewportMatcherVarDirective, UX_CONFIG, UX_DEFAULT_CONFIG, UX_VIEWPORT_DEFAULT_BREAKPOINTS, UX_VIEWPORT_SSR_DEVICE, VERSION, ViewportDataMatchStrategy, ViewportDataPipe, ViewportDataService, ViewportServerSizeService, ViewportService, ViewportSizeType, _moduleConfigFactory, _window, generateViewportSizeType, isViewportSizeMatcherExpression, isViewportSizeMatcherTupleExpression, UX_VIEWPORT_DEFAULT_CONFIG as ɵa, WINDOW as ɵb, WindowRef as ɵc };
|
|
766
831
|
//# sourceMappingURL=ssv-ngx.ux.js.map
|