@livetemplate/client 0.8.22 → 0.8.25
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/dist/dom/directives.d.ts +16 -0
- package/dist/dom/directives.d.ts.map +1 -1
- package/dist/dom/directives.js +56 -6
- package/dist/dom/directives.js.map +1 -1
- package/dist/dom/observer-manager.d.ts +10 -0
- package/dist/dom/observer-manager.d.ts.map +1 -1
- package/dist/dom/observer-manager.js +110 -3
- package/dist/dom/observer-manager.js.map +1 -1
- package/dist/livetemplate-client.browser.js +4 -4
- package/dist/livetemplate-client.browser.js.map +3 -3
- package/dist/livetemplate-client.d.ts +16 -1
- package/dist/livetemplate-client.d.ts.map +1 -1
- package/dist/livetemplate-client.js +41 -14
- package/dist/livetemplate-client.js.map +1 -1
- package/dist/tests/directives.test.js +23 -1
- package/dist/tests/directives.test.js.map +1 -1
- package/dist/tests/observer-manager.test.js +152 -4
- package/dist/tests/observer-manager.test.js.map +1 -1
- package/dist/tests/websocket.test.js +115 -0
- package/dist/tests/websocket.test.js.map +1 -1
- package/dist/transport/websocket.d.ts.map +1 -1
- package/dist/transport/websocket.js +80 -2
- package/dist/transport/websocket.js.map +1 -1
- package/livetemplate.css +23 -6
- package/package.json +1 -1
package/dist/dom/directives.d.ts
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test-only: reset the module-level animatedElements WeakSet. Required
|
|
3
|
+
* for tests that reuse the same DOM nodes across cases — without this,
|
|
4
|
+
* an element animated in case 1 would be silently skipped in case 2.
|
|
5
|
+
* Production code should never call this.
|
|
6
|
+
*
|
|
7
|
+
* The double-underscore prefix and the `@internal` tag signal that this
|
|
8
|
+
* is not part of the public API. The `@internal` tag is only enforced
|
|
9
|
+
* when TypeScript's API Extractor (or equivalent) is configured to
|
|
10
|
+
* strip it from generated `.d.ts` files — this project does not
|
|
11
|
+
* currently run API Extractor, so the tag is aspirational enforcement
|
|
12
|
+
* backed by the `__` naming convention and this docstring.
|
|
13
|
+
*
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export declare function __resetAnimatedElementsForTesting(): void;
|
|
1
17
|
/**
|
|
2
18
|
* Set up DOM event listeners for lvt-fx: attributes with :on:{event} triggers.
|
|
3
19
|
* Called after each DOM update to handle new elements.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../dom/directives.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../dom/directives.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAsBD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAyCvF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAWrE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAiBN;AAqHD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAiBpE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAUvE;AAaD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAMjE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAMpE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAQlE;AAwCD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CA4BhE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAW7C"}
|
package/dist/dom/directives.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.__resetAnimatedElementsForTesting = __resetAnimatedElementsForTesting;
|
|
3
4
|
exports.setupFxDOMEventTriggers = setupFxDOMEventTriggers;
|
|
4
5
|
exports.teardownFxDOMEventTriggers = teardownFxDOMEventTriggers;
|
|
5
6
|
exports.processFxLifecycleAttributes = processFxLifecycleAttributes;
|
|
@@ -13,6 +14,36 @@ exports.setupToastClickOutside = setupToastClickOutside;
|
|
|
13
14
|
const reactive_attributes_1 = require("./reactive-attributes");
|
|
14
15
|
// ─── Trigger parsing for lvt-fx: attributes ─────────────────────────────────
|
|
15
16
|
const FX_LIFECYCLE_SET = new Set(["pending", "success", "error", "done"]);
|
|
17
|
+
// Tracks elements whose entry animation has already played. Kept as a
|
|
18
|
+
// module-level WeakSet (rather than stashed on the DOM node) so it's
|
|
19
|
+
// type-safe and automatically cleaned up when elements are GC'd.
|
|
20
|
+
//
|
|
21
|
+
// Semantic: once per element lifetime. An element added to this set will
|
|
22
|
+
// NEVER animate again, even if the same node is updated in place. This is
|
|
23
|
+
// intentional — lvt-fx:animate is an entry animation, not a per-update
|
|
24
|
+
// flash. Morphdom creates fresh DOM nodes for newly-inserted range items
|
|
25
|
+
// (which are not in the set, so they animate) while reusing nodes for
|
|
26
|
+
// in-place updates (already in the set, so they skip). Use cases that
|
|
27
|
+
// want a visible pulse on every update should reach for lvt-fx:highlight.
|
|
28
|
+
let animatedElements = new WeakSet();
|
|
29
|
+
/**
|
|
30
|
+
* Test-only: reset the module-level animatedElements WeakSet. Required
|
|
31
|
+
* for tests that reuse the same DOM nodes across cases — without this,
|
|
32
|
+
* an element animated in case 1 would be silently skipped in case 2.
|
|
33
|
+
* Production code should never call this.
|
|
34
|
+
*
|
|
35
|
+
* The double-underscore prefix and the `@internal` tag signal that this
|
|
36
|
+
* is not part of the public API. The `@internal` tag is only enforced
|
|
37
|
+
* when TypeScript's API Extractor (or equivalent) is configured to
|
|
38
|
+
* strip it from generated `.d.ts` files — this project does not
|
|
39
|
+
* currently run API Extractor, so the tag is aspirational enforcement
|
|
40
|
+
* backed by the `__` naming convention and this docstring.
|
|
41
|
+
*
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
function __resetAnimatedElementsForTesting() {
|
|
45
|
+
animatedElements = new WeakSet();
|
|
46
|
+
}
|
|
16
47
|
/**
|
|
17
48
|
* Parse a lvt-fx:{effect}[:on:[{action}:]{trigger}] attribute name.
|
|
18
49
|
* Returns the trigger type or null for implicit (no :on:).
|
|
@@ -155,24 +186,43 @@ function applyFxEffect(htmlElement, effect, config) {
|
|
|
155
186
|
break;
|
|
156
187
|
}
|
|
157
188
|
case "animate": {
|
|
158
|
-
|
|
189
|
+
// "Entry animation" semantics: play once per element lifetime. Every
|
|
190
|
+
// tree update re-walks lvt-fx:* attributes, so without this guard an
|
|
191
|
+
// unchanged row re-fires the animation on every patch. Morphdom
|
|
192
|
+
// creates fresh DOM nodes for new rows (not in the WeakSet → animate);
|
|
193
|
+
// reused nodes are already in the set and skip.
|
|
194
|
+
if (animatedElements.has(htmlElement))
|
|
195
|
+
break;
|
|
196
|
+
animatedElements.add(htmlElement);
|
|
197
|
+
const duration = parseInt(computed.getPropertyValue("--lvt-animate-duration").trim() || "500", 10);
|
|
159
198
|
const animation = config || "fade";
|
|
160
|
-
|
|
199
|
+
let animationValue = "";
|
|
161
200
|
switch (animation) {
|
|
162
201
|
case "fade":
|
|
163
|
-
|
|
202
|
+
animationValue = `lvt-fade-in ${duration}ms ease-out`;
|
|
164
203
|
break;
|
|
165
204
|
case "slide":
|
|
166
|
-
|
|
205
|
+
animationValue = `lvt-slide-in ${duration}ms ease-out`;
|
|
167
206
|
break;
|
|
168
207
|
case "scale":
|
|
169
|
-
|
|
208
|
+
animationValue = `lvt-scale-in ${duration}ms ease-out`;
|
|
170
209
|
break;
|
|
171
210
|
default:
|
|
172
211
|
console.warn(`Unknown lvt-fx:animate mode: ${animation}`);
|
|
173
212
|
}
|
|
213
|
+
if (!animationValue)
|
|
214
|
+
break;
|
|
215
|
+
htmlElement.style.animation = animationValue;
|
|
174
216
|
htmlElement.addEventListener("animationend", () => {
|
|
175
|
-
|
|
217
|
+
// Only remove the animation we set. Do NOT remove
|
|
218
|
+
// --lvt-animate-duration: users may have set it inline themselves
|
|
219
|
+
// (e.g. style="--lvt-animate-duration: 800") to override duration,
|
|
220
|
+
// and removing would wipe their intent. Clean up the style
|
|
221
|
+
// attribute entirely only if nothing is left on it.
|
|
222
|
+
htmlElement.style.removeProperty("animation");
|
|
223
|
+
if (htmlElement.style.length === 0) {
|
|
224
|
+
htmlElement.removeAttribute("style");
|
|
225
|
+
}
|
|
176
226
|
}, { once: true });
|
|
177
227
|
break;
|
|
178
228
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives.js","sourceRoot":"","sources":["../../dom/directives.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"directives.js","sourceRoot":"","sources":["../../dom/directives.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,18 @@ export declare class ObserverManager {
|
|
|
11
11
|
private readonly logger;
|
|
12
12
|
private infiniteScrollObserver;
|
|
13
13
|
private mutationObserver;
|
|
14
|
+
private observedSentinel;
|
|
15
|
+
private updatedListener;
|
|
16
|
+
private updatedListenerWrapper;
|
|
17
|
+
private loadMorePending;
|
|
18
|
+
private loadMoreTimeoutId;
|
|
19
|
+
private static readonly LOAD_MORE_TIMEOUT_MS;
|
|
14
20
|
constructor(context: ObserverContext, logger: Logger);
|
|
15
21
|
setupInfiniteScrollObserver(): void;
|
|
22
|
+
private ensureUpdatedListener;
|
|
23
|
+
private armLoadMoreTimeout;
|
|
24
|
+
private releaseLoadMore;
|
|
25
|
+
private clearLoadMoreTimeout;
|
|
16
26
|
setupInfiniteScrollMutationObserver(): void;
|
|
17
27
|
teardown(): void;
|
|
18
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observer-manager.d.ts","sourceRoot":"","sources":["../../dom/observer-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,iBAAiB,IAAI,OAAO,GAAG,IAAI,CAAC;IACpC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"observer-manager.d.ts","sourceRoot":"","sources":["../../dom/observer-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,iBAAiB,IAAI,OAAO,GAAG,IAAI,CAAC;IACpC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,eAAe;IA2BxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IA3BzB,OAAO,CAAC,sBAAsB,CAAqC;IACnE,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,sBAAsB,CAAwB;IAWtD,OAAO,CAAC,eAAe,CAAS;IAOhC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAS;gBAGlC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM;IAGjC,2BAA2B,IAAI,IAAI;IA4DnC,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,oBAAoB;IAO5B,mCAAmC,IAAI,IAAI;IAwB3C,QAAQ,IAAI,IAAI;CAiBjB"}
|
|
@@ -10,29 +10,124 @@ class ObserverManager {
|
|
|
10
10
|
this.logger = logger;
|
|
11
11
|
this.infiniteScrollObserver = null;
|
|
12
12
|
this.mutationObserver = null;
|
|
13
|
+
this.observedSentinel = null;
|
|
14
|
+
this.updatedListener = null;
|
|
15
|
+
this.updatedListenerWrapper = null;
|
|
16
|
+
// Throttles infinite-scroll dispatches: one in-flight load_more at a time.
|
|
17
|
+
// Without this, rapid observer re-fires stack concurrent actions and the
|
|
18
|
+
// server's per-response diffs compose into duplicate rows on the client.
|
|
19
|
+
//
|
|
20
|
+
// Cleared precisely when the server confirms the load_more response has
|
|
21
|
+
// been applied (via the `lvt:updated` event with `action === "load_more"`),
|
|
22
|
+
// NOT on every DOM mutation — an unrelated mutation (e.g. a flash message
|
|
23
|
+
// toggling, a highlight flashing) between the dispatch and the response
|
|
24
|
+
// would otherwise clear the flag early and allow a concurrent send.
|
|
25
|
+
this.loadMorePending = false;
|
|
26
|
+
// Safety net: if the server never responds with an lvt:updated event
|
|
27
|
+
// for load_more (network error, server-side exception, server just
|
|
28
|
+
// dropped the message), the flag above would stay true forever and
|
|
29
|
+
// infinite scroll would be silently deadlocked until page reload.
|
|
30
|
+
// This timeout releases the throttle after 30s so the next sentinel
|
|
31
|
+
// intersection can re-trigger the load.
|
|
32
|
+
this.loadMoreTimeoutId = null;
|
|
13
33
|
}
|
|
14
34
|
setupInfiniteScrollObserver() {
|
|
15
35
|
const wrapperElement = this.context.getWrapperElement();
|
|
16
36
|
if (!wrapperElement)
|
|
17
37
|
return;
|
|
38
|
+
// Attach the lvt:updated listener once per wrapper. The event fires
|
|
39
|
+
// after every tree update carrying the dispatched action's name in
|
|
40
|
+
// its detail; we use action === "load_more" as the precise signal
|
|
41
|
+
// that the throttle can be lifted.
|
|
42
|
+
this.ensureUpdatedListener(wrapperElement);
|
|
18
43
|
const sentinel = document.getElementById("scroll-sentinel");
|
|
19
44
|
if (!sentinel) {
|
|
45
|
+
// Sentinel removed (HasMore flipped false): release the old observer
|
|
46
|
+
// AND clear any in-flight load_more throttle. Without releaseLoadMore
|
|
47
|
+
// here, a HasMore flip-flop (server removes sentinel, then restores
|
|
48
|
+
// it moments later without dispatching an lvt:updated action=load_more
|
|
49
|
+
// in between) would leave loadMorePending=true with a 30s safety
|
|
50
|
+
// timer armed — silently dropping the next intersection until the
|
|
51
|
+
// timer fires.
|
|
52
|
+
if (this.infiniteScrollObserver) {
|
|
53
|
+
this.infiniteScrollObserver.disconnect();
|
|
54
|
+
this.infiniteScrollObserver = null;
|
|
55
|
+
this.observedSentinel = null;
|
|
56
|
+
}
|
|
57
|
+
this.releaseLoadMore();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// Reuse the existing observer when the sentinel node is the same —
|
|
61
|
+
// avoids allocating a fresh IntersectionObserver per DOM mutation.
|
|
62
|
+
if (this.infiniteScrollObserver && this.observedSentinel === sentinel) {
|
|
20
63
|
return;
|
|
21
64
|
}
|
|
22
65
|
if (this.infiniteScrollObserver) {
|
|
23
66
|
this.infiniteScrollObserver.disconnect();
|
|
24
67
|
}
|
|
25
68
|
this.infiniteScrollObserver = new IntersectionObserver((entries) => {
|
|
26
|
-
if (entries[0].isIntersecting)
|
|
27
|
-
|
|
28
|
-
|
|
69
|
+
if (!entries[0].isIntersecting)
|
|
70
|
+
return;
|
|
71
|
+
if (this.loadMorePending) {
|
|
72
|
+
this.logger.debug("Sentinel visible but load_more already pending, skipping");
|
|
73
|
+
return;
|
|
29
74
|
}
|
|
75
|
+
this.loadMorePending = true;
|
|
76
|
+
this.armLoadMoreTimeout();
|
|
77
|
+
this.logger.debug("Sentinel visible, sending load_more action");
|
|
78
|
+
this.context.send({ action: "load_more" });
|
|
30
79
|
}, {
|
|
31
80
|
rootMargin: "200px",
|
|
32
81
|
});
|
|
33
82
|
this.infiniteScrollObserver.observe(sentinel);
|
|
83
|
+
this.observedSentinel = sentinel;
|
|
34
84
|
this.logger.debug("Observer set up successfully");
|
|
35
85
|
}
|
|
86
|
+
ensureUpdatedListener(wrapper) {
|
|
87
|
+
if (this.updatedListener && this.updatedListenerWrapper === wrapper)
|
|
88
|
+
return;
|
|
89
|
+
// Detach any listener from the previous wrapper (e.g. after cross-
|
|
90
|
+
// handler navigation swaps the wrapper element).
|
|
91
|
+
if (this.updatedListener && this.updatedListenerWrapper) {
|
|
92
|
+
this.updatedListenerWrapper.removeEventListener("lvt:updated", this.updatedListener);
|
|
93
|
+
}
|
|
94
|
+
this.updatedListener = (e) => {
|
|
95
|
+
const detail = e.detail;
|
|
96
|
+
if (detail?.action !== "load_more")
|
|
97
|
+
return;
|
|
98
|
+
this.releaseLoadMore();
|
|
99
|
+
// Force a fresh IntersectionObserver so its immediate callback fires
|
|
100
|
+
// with the post-mutation intersection state — lets the auto-advance
|
|
101
|
+
// cascade continue if the sentinel is still visible after the new
|
|
102
|
+
// rows are appended.
|
|
103
|
+
this.observedSentinel = null;
|
|
104
|
+
this.setupInfiniteScrollObserver();
|
|
105
|
+
};
|
|
106
|
+
wrapper.addEventListener("lvt:updated", this.updatedListener);
|
|
107
|
+
this.updatedListenerWrapper = wrapper;
|
|
108
|
+
}
|
|
109
|
+
armLoadMoreTimeout() {
|
|
110
|
+
this.clearLoadMoreTimeout();
|
|
111
|
+
this.loadMoreTimeoutId = window.setTimeout(() => {
|
|
112
|
+
this.logger.warn(`load_more response not received within ${ObserverManager.LOAD_MORE_TIMEOUT_MS}ms; releasing throttle`);
|
|
113
|
+
this.loadMoreTimeoutId = null;
|
|
114
|
+
this.loadMorePending = false;
|
|
115
|
+
// Force the next intersection to re-trigger by rebuilding the
|
|
116
|
+
// observer, since the sentinel may still be visible.
|
|
117
|
+
this.observedSentinel = null;
|
|
118
|
+
this.setupInfiniteScrollObserver();
|
|
119
|
+
}, ObserverManager.LOAD_MORE_TIMEOUT_MS);
|
|
120
|
+
}
|
|
121
|
+
releaseLoadMore() {
|
|
122
|
+
this.loadMorePending = false;
|
|
123
|
+
this.clearLoadMoreTimeout();
|
|
124
|
+
}
|
|
125
|
+
clearLoadMoreTimeout() {
|
|
126
|
+
if (this.loadMoreTimeoutId !== null) {
|
|
127
|
+
clearTimeout(this.loadMoreTimeoutId);
|
|
128
|
+
this.loadMoreTimeoutId = null;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
36
131
|
setupInfiniteScrollMutationObserver() {
|
|
37
132
|
const wrapperElement = this.context.getWrapperElement();
|
|
38
133
|
if (!wrapperElement)
|
|
@@ -40,6 +135,10 @@ class ObserverManager {
|
|
|
40
135
|
if (this.mutationObserver) {
|
|
41
136
|
this.mutationObserver.disconnect();
|
|
42
137
|
}
|
|
138
|
+
// The mutation observer catches structural changes that replace the
|
|
139
|
+
// sentinel DOM node (e.g. morphdom recreating it on a page-level
|
|
140
|
+
// restructure). setupInfiniteScrollObserver's identity check makes
|
|
141
|
+
// the common case — same sentinel, new mutation — a cheap no-op.
|
|
43
142
|
this.mutationObserver = new MutationObserver(() => {
|
|
44
143
|
this.setupInfiniteScrollObserver();
|
|
45
144
|
});
|
|
@@ -58,7 +157,15 @@ class ObserverManager {
|
|
|
58
157
|
this.mutationObserver.disconnect();
|
|
59
158
|
this.mutationObserver = null;
|
|
60
159
|
}
|
|
160
|
+
if (this.updatedListener && this.updatedListenerWrapper) {
|
|
161
|
+
this.updatedListenerWrapper.removeEventListener("lvt:updated", this.updatedListener);
|
|
162
|
+
}
|
|
163
|
+
this.updatedListener = null;
|
|
164
|
+
this.updatedListenerWrapper = null;
|
|
165
|
+
this.observedSentinel = null;
|
|
166
|
+
this.releaseLoadMore();
|
|
61
167
|
}
|
|
62
168
|
}
|
|
63
169
|
exports.ObserverManager = ObserverManager;
|
|
170
|
+
ObserverManager.LOAD_MORE_TIMEOUT_MS = 30000;
|
|
64
171
|
//# sourceMappingURL=observer-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observer-manager.js","sourceRoot":"","sources":["../../dom/observer-manager.ts"],"names":[],"mappings":";;;AAOA;;GAEG;AACH,MAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"observer-manager.js","sourceRoot":"","sources":["../../dom/observer-manager.ts"],"names":[],"mappings":"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"}
|