@livetemplate/client 0.8.38 → 0.8.40
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/livetemplate-client.browser.js +5 -5
- package/dist/livetemplate-client.browser.js.map +4 -4
- package/dist/livetemplate-client.d.ts +12 -0
- package/dist/livetemplate-client.d.ts.map +1 -1
- package/dist/livetemplate-client.js +204 -20
- package/dist/livetemplate-client.js.map +1 -1
- package/dist/state/range-dom-applier.d.ts +124 -0
- package/dist/state/range-dom-applier.d.ts.map +1 -0
- package/dist/state/range-dom-applier.js +510 -0
- package/dist/state/range-dom-applier.js.map +1 -0
- package/dist/state/tree-renderer.d.ts +32 -1
- package/dist/state/tree-renderer.d.ts.map +1 -1
- package/dist/state/tree-renderer.js +81 -54
- package/dist/state/tree-renderer.js.map +1 -1
- package/dist/tests/range-dom-applier.test.d.ts +2 -0
- package/dist/tests/range-dom-applier.test.d.ts.map +1 -0
- package/dist/tests/range-dom-applier.test.js +581 -0
- package/dist/tests/range-dom-applier.test.js.map +1 -0
- package/dist/tests/tree-renderer.test.js +61 -0
- package/dist/tests/tree-renderer.test.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -9,6 +9,9 @@ export { loadAndApplyUpdate, compareHTML } from "./utils/testing";
|
|
|
9
9
|
export { setupReactiveAttributeListeners } from "./dom/reactive-attributes";
|
|
10
10
|
export declare class LiveTemplateClient {
|
|
11
11
|
private readonly treeRenderer;
|
|
12
|
+
private readonly rangeDomApplier;
|
|
13
|
+
private nodesAddedThisRender;
|
|
14
|
+
private directiveTouchedThisRender;
|
|
12
15
|
private readonly focusManager;
|
|
13
16
|
private readonly logger;
|
|
14
17
|
private lvtId;
|
|
@@ -166,6 +169,15 @@ export declare class LiveTemplateClient {
|
|
|
166
169
|
* Handle upload_start response from server
|
|
167
170
|
*/
|
|
168
171
|
private handleUploadStartResponse;
|
|
172
|
+
/**
|
|
173
|
+
* Walk tempWrapper for `<!--lvt-targeted-skip:path-->` comments left by
|
|
174
|
+
* `reconstructFromTree` and convert each into a `data-lvt-targeted-skip`
|
|
175
|
+
* attribute on its parent element. The marker tells morphdom (via its
|
|
176
|
+
* onBeforeElUpdated callback) to short-circuit the subtree, leaving the
|
|
177
|
+
* live container's existing children — already updated by the applier —
|
|
178
|
+
* untouched.
|
|
179
|
+
*/
|
|
180
|
+
private replaceTargetedSkipPlaceholders;
|
|
169
181
|
/**
|
|
170
182
|
* Execute lifecycle hook on an element
|
|
171
183
|
* @param element - Element with lifecycle hook attribute
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"livetemplate-client.d.ts","sourceRoot":"","sources":["../livetemplate-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"livetemplate-client.d.ts","sourceRoot":"","sources":["../livetemplate-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ const invoker_polyfill_1 = require("./dom/invoker-polyfill");
|
|
|
23
23
|
const hash_link_1 = require("./dom/hash-link");
|
|
24
24
|
const scroll_away_1 = require("./dom/scroll-away");
|
|
25
25
|
const tree_renderer_1 = require("./state/tree-renderer");
|
|
26
|
+
const range_dom_applier_1 = require("./state/range-dom-applier");
|
|
26
27
|
const form_lifecycle_manager_1 = require("./state/form-lifecycle-manager");
|
|
27
28
|
const change_auto_wirer_1 = require("./state/change-auto-wirer");
|
|
28
29
|
const websocket_1 = require("./transport/websocket");
|
|
@@ -35,6 +36,8 @@ var reactive_attributes_2 = require("./dom/reactive-attributes");
|
|
|
35
36
|
Object.defineProperty(exports, "setupReactiveAttributeListeners", { enumerable: true, get: function () { return reactive_attributes_2.setupReactiveAttributeListeners; } });
|
|
36
37
|
class LiveTemplateClient {
|
|
37
38
|
constructor(options = {}) {
|
|
39
|
+
this.nodesAddedThisRender = 0;
|
|
40
|
+
this.directiveTouchedThisRender = false;
|
|
38
41
|
this.lvtId = null;
|
|
39
42
|
this.ws = null;
|
|
40
43
|
this.wrapperElement = null;
|
|
@@ -106,6 +109,38 @@ class LiveTemplateClient {
|
|
|
106
109
|
...restOptions,
|
|
107
110
|
};
|
|
108
111
|
this.treeRenderer = new tree_renderer_1.TreeRenderer(this.logger.child("TreeRenderer"));
|
|
112
|
+
this.rangeDomApplier = new range_dom_applier_1.RangeDomApplier({
|
|
113
|
+
logger: this.logger.child("RangeDomApplier"),
|
|
114
|
+
renderItem: (item, idx, statics, sm, sp) => this.treeRenderer.renderRangeItem(item, idx, statics, sm, sp),
|
|
115
|
+
executeLifecycleHook: (el, hook) => this.executeLifecycleHook(el, hook),
|
|
116
|
+
itemLookup: (rangePath, key) => {
|
|
117
|
+
// O(N) linear scan over range.d. For one `u` op per render this is
|
|
118
|
+
// ~50µs at N=10k — acceptable. For a render with many u ops on
|
|
119
|
+
// the same range, this becomes O(N×K); building a Map<key, item>
|
|
120
|
+
// once at apply() start would amortize, but the gain is small
|
|
121
|
+
// (whole `u` op cost is dominated by morphdom on the row anyway).
|
|
122
|
+
// Revisit if profiling shows this on the hot path.
|
|
123
|
+
const range = this.treeRenderer.getTreeState()[rangePath];
|
|
124
|
+
if (!range || !Array.isArray(range.d))
|
|
125
|
+
return null;
|
|
126
|
+
const idKey = range.m?.idKey;
|
|
127
|
+
for (const item of range.d) {
|
|
128
|
+
if (!item || typeof item !== "object")
|
|
129
|
+
continue;
|
|
130
|
+
if (item._k === key)
|
|
131
|
+
return item;
|
|
132
|
+
if (idKey &&
|
|
133
|
+
item[idKey] !== undefined &&
|
|
134
|
+
String(item[idKey]) === key) {
|
|
135
|
+
return item;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return null;
|
|
139
|
+
},
|
|
140
|
+
onNodeAdded: () => {
|
|
141
|
+
this.nodesAddedThisRender++;
|
|
142
|
+
},
|
|
143
|
+
});
|
|
109
144
|
this.focusManager = new focus_manager_1.FocusManager(this.logger.child("FocusManager"));
|
|
110
145
|
this.formLifecycleManager = new form_lifecycle_manager_1.FormLifecycleManager();
|
|
111
146
|
this.loadingIndicator = new loading_indicator_1.LoadingIndicator();
|
|
@@ -377,6 +412,7 @@ class LiveTemplateClient {
|
|
|
377
412
|
// intent — tests can observe the init transition a second time.
|
|
378
413
|
resetSessionState() {
|
|
379
414
|
this.treeRenderer.reset();
|
|
415
|
+
this.rangeDomApplier.invalidate();
|
|
380
416
|
this.focusManager.reset();
|
|
381
417
|
this.observerManager.teardown();
|
|
382
418
|
this.changeAutoWirer.teardown();
|
|
@@ -937,8 +973,28 @@ class LiveTemplateClient {
|
|
|
937
973
|
* @param meta - Optional metadata about the update (action, success, errors)
|
|
938
974
|
*/
|
|
939
975
|
updateDOM(element, update, meta) {
|
|
940
|
-
//
|
|
941
|
-
|
|
976
|
+
// Reset per-render counters before applying the update.
|
|
977
|
+
// - nodesAddedThisRender: incremented by morphdom.onNodeAdded and the
|
|
978
|
+
// applier's onNodeAdded callback for i/a/p ops.
|
|
979
|
+
// - directiveTouchedThisRender: set by morphdom.onBeforeElUpdated when
|
|
980
|
+
// it processes an element carrying a directive attribute (lvt-fx:*,
|
|
981
|
+
// lvt-on:*, lvt-el:*) — covers attribute-only morphs that don't add
|
|
982
|
+
// nodes but do change directive bindings, so the post-render scans
|
|
983
|
+
// still need to wire them.
|
|
984
|
+
// Either signal triggers the wrapper-wide directive scans below.
|
|
985
|
+
this.nodesAddedThisRender = 0;
|
|
986
|
+
this.directiveTouchedThisRender = false;
|
|
987
|
+
// Apply update to internal state and get reconstructed HTML.
|
|
988
|
+
// Pass canApplyTargeted so eligible top-level range diff ops mutate
|
|
989
|
+
// treeState in place and are emitted as targetedOps for direct DOM
|
|
990
|
+
// mutation (skipping the full HTML rebuild + morphdom diff for that
|
|
991
|
+
// subtree).
|
|
992
|
+
const result = this.treeRenderer.applyUpdate(update, {
|
|
993
|
+
canApplyTargeted: (rangeStructure, rangePath) => {
|
|
994
|
+
const r = this.rangeDomApplier.canApplyTargeted(element, rangeStructure, rangePath);
|
|
995
|
+
return r.ok;
|
|
996
|
+
},
|
|
997
|
+
});
|
|
942
998
|
// Helper to recursively check if there are any statics in the tree
|
|
943
999
|
const hasStaticsInTree = (node) => {
|
|
944
1000
|
if (!node || typeof node !== "object")
|
|
@@ -1036,8 +1092,10 @@ class LiveTemplateClient {
|
|
|
1036
1092
|
this.focusManager.restoreFocusedElement();
|
|
1037
1093
|
return;
|
|
1038
1094
|
}
|
|
1039
|
-
//
|
|
1040
|
-
|
|
1095
|
+
// Build morphdom options once so the applier's `u` op (which morphdoms
|
|
1096
|
+
// a single row) uses the same callback set — focus skip, lvt-ignore,
|
|
1097
|
+
// checkbox preservation, lifecycle hooks all stay consistent.
|
|
1098
|
+
const morphdomOptions = {
|
|
1041
1099
|
childrenOnly: true, // Only update children, preserve the wrapper element itself
|
|
1042
1100
|
getNodeKey: (node) => {
|
|
1043
1101
|
// Use data-key or data-lvt-key for efficient reconciliation
|
|
@@ -1048,6 +1106,40 @@ class LiveTemplateClient {
|
|
|
1048
1106
|
}
|
|
1049
1107
|
},
|
|
1050
1108
|
onBeforeElUpdated: (fromEl, toEl) => {
|
|
1109
|
+
// Targeted-apply skip: the live container's children were already
|
|
1110
|
+
// mutated directly by RangeDomApplier, and the rebuilt tempWrapper
|
|
1111
|
+
// has the container empty + tagged with data-lvt-targeted-skip.
|
|
1112
|
+
// Returning false short-circuits the entire subtree update —
|
|
1113
|
+
// morphdom skips both the diff walk AND the children-replacement.
|
|
1114
|
+
if (toEl.nodeType === Node.ELEMENT_NODE &&
|
|
1115
|
+
toEl.hasAttribute(range_dom_applier_1.TARGETED_SKIP_ATTR)) {
|
|
1116
|
+
return false;
|
|
1117
|
+
}
|
|
1118
|
+
// Track newly-introduced directive attributes so the post-render
|
|
1119
|
+
// scan can wire any new lvt-fx:/lvt-on:/lvt-el: bindings even on
|
|
1120
|
+
// renders that wouldn't otherwise trigger a wrapper-wide scan.
|
|
1121
|
+
// Only flag when the directive attribute is NEW on toEl (not
|
|
1122
|
+
// already present on fromEl) — otherwise high-frequency `u` ops
|
|
1123
|
+
// on rows that ALREADY carry a directive (e.g. Todos rows with
|
|
1124
|
+
// `lvt-fx:animate`) would trigger a wrapper-wide scan on every
|
|
1125
|
+
// render even though no new binding needs wiring.
|
|
1126
|
+
if (toEl.nodeType === Node.ELEMENT_NODE &&
|
|
1127
|
+
fromEl.nodeType === Node.ELEMENT_NODE) {
|
|
1128
|
+
const toAttrs = toEl.attributes;
|
|
1129
|
+
const fromElement = fromEl;
|
|
1130
|
+
for (let i = 0; i < toAttrs.length; i++) {
|
|
1131
|
+
const n = toAttrs[i].name;
|
|
1132
|
+
if (n.length > 4 &&
|
|
1133
|
+
n.charCodeAt(0) === 0x6c /* l */ &&
|
|
1134
|
+
n.charCodeAt(1) === 0x76 /* v */ &&
|
|
1135
|
+
n.charCodeAt(2) === 0x74 /* t */ &&
|
|
1136
|
+
n.charCodeAt(3) === 0x2d /* - */ &&
|
|
1137
|
+
!fromElement.hasAttribute(n)) {
|
|
1138
|
+
this.directiveTouchedThisRender = true;
|
|
1139
|
+
break;
|
|
1140
|
+
}
|
|
1141
|
+
}
|
|
1142
|
+
}
|
|
1051
1143
|
// lvt-ignore: morphdom skips this element and its entire subtree.
|
|
1052
1144
|
// Equivalent to Phoenix LiveView's phx-update="ignore".
|
|
1053
1145
|
// Checked on fromEl (live DOM) so both server templates and
|
|
@@ -1194,6 +1286,7 @@ class LiveTemplateClient {
|
|
|
1194
1286
|
// Execute lvt-mounted lifecycle hook
|
|
1195
1287
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
1196
1288
|
this.executeLifecycleHook(node, "lvt-mounted");
|
|
1289
|
+
this.nodesAddedThisRender++;
|
|
1197
1290
|
}
|
|
1198
1291
|
},
|
|
1199
1292
|
onBeforeNodeDiscarded: (node) => {
|
|
@@ -1203,29 +1296,92 @@ class LiveTemplateClient {
|
|
|
1203
1296
|
}
|
|
1204
1297
|
return true;
|
|
1205
1298
|
},
|
|
1206
|
-
}
|
|
1299
|
+
};
|
|
1300
|
+
// Apply per-op targeted DOM mutations BEFORE morphdom. The applier
|
|
1301
|
+
// mutates the live DOM in place; tempWrapper has corresponding
|
|
1302
|
+
// <!--lvt-targeted-skip:path--> placeholders that we now convert to
|
|
1303
|
+
// data-lvt-targeted-skip markers on their parent elements so morphdom
|
|
1304
|
+
// short-circuits those subtrees.
|
|
1305
|
+
//
|
|
1306
|
+
// Robustness: if any targeted op fails (apply returns null — e.g.
|
|
1307
|
+
// container couldn't be located, or an op threw), the treeState was
|
|
1308
|
+
// updated but the live DOM wasn't, so leaving the placeholder in
|
|
1309
|
+
// place would either (a) tell morphdom to skip → live DOM stays
|
|
1310
|
+
// stale, or (b) leave an empty container in tempWrapper → morphdom
|
|
1311
|
+
// would empty the live container. Both are wrong. We re-render the
|
|
1312
|
+
// full HTML from treeState (which is authoritative) and let morphdom
|
|
1313
|
+
// sync from there.
|
|
1314
|
+
if (result.targetedOps && result.targetedOps.length > 0) {
|
|
1315
|
+
const successContainers = [];
|
|
1316
|
+
let anyFailed = false;
|
|
1317
|
+
for (const op of result.targetedOps) {
|
|
1318
|
+
const container = this.rangeDomApplier.apply(element, op, morphdomOptions);
|
|
1319
|
+
if (container) {
|
|
1320
|
+
container.setAttribute(range_dom_applier_1.TARGETED_APPLIED_ATTR, "");
|
|
1321
|
+
successContainers.push(container);
|
|
1322
|
+
}
|
|
1323
|
+
else {
|
|
1324
|
+
anyFailed = true;
|
|
1325
|
+
}
|
|
1326
|
+
}
|
|
1327
|
+
if (anyFailed) {
|
|
1328
|
+
this.logger.warn("[updateDOM] one or more targeted DOM ops failed; rebuilding tempWrapper from treeState for a full morphdom sync");
|
|
1329
|
+
// Strip success markers — we're going to do a full diff now.
|
|
1330
|
+
for (const c of successContainers) {
|
|
1331
|
+
c.removeAttribute(range_dom_applier_1.TARGETED_APPLIED_ATTR);
|
|
1332
|
+
}
|
|
1333
|
+
// Re-render full HTML (no skip placeholders) and reset tempWrapper.
|
|
1334
|
+
const fullHtml = this.treeRenderer.renderState();
|
|
1335
|
+
tempWrapper.innerHTML = fullHtml;
|
|
1336
|
+
}
|
|
1337
|
+
else {
|
|
1338
|
+
this.replaceTargetedSkipPlaceholders(tempWrapper);
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
try {
|
|
1342
|
+
// Use morphdom to efficiently update the element
|
|
1343
|
+
(0, morphdom_1.default)(element, tempWrapper, morphdomOptions);
|
|
1344
|
+
}
|
|
1345
|
+
finally {
|
|
1346
|
+
// Strip lifecycle markers regardless of whether morphdom threw,
|
|
1347
|
+
// preventing leaked attributes on the live DOM.
|
|
1348
|
+
this.rangeDomApplier.cleanupMarkers(element);
|
|
1349
|
+
}
|
|
1207
1350
|
// Restore focus to previously focused element
|
|
1208
1351
|
this.focusManager.restoreFocusedElement();
|
|
1209
|
-
//
|
|
1352
|
+
// Two classes of post-render scans:
|
|
1353
|
+
//
|
|
1354
|
+
// FIRE-ON-CHANGE (always run): handleScrollDirectives,
|
|
1355
|
+
// handleHighlightDirectives, handleAnimateDirectives,
|
|
1356
|
+
// handleToastDirectives, setupScrollAway. These detect VALUE changes
|
|
1357
|
+
// on existing directive-bearing elements (e.g. lvt-fx:highlight
|
|
1358
|
+
// flashes on every render where the underlying value changed) — so
|
|
1359
|
+
// they must run on every render. Cost is bounded: each does a CSS
|
|
1360
|
+
// attribute selector qsa for its specific directive (`[lvt-fx\:highlight]`
|
|
1361
|
+
// etc.); for a 10k-row LargeTable where rows DON'T have these
|
|
1362
|
+
// directives, the qsa returns empty in ~1-3ms total.
|
|
1363
|
+
//
|
|
1364
|
+
// WIRE-IDEMPOTENT (skip when nothing new): setupFxDOMEventTriggers,
|
|
1365
|
+
// setupDOMEventTriggerDelegation, uploadHandler.initializeFileInputs.
|
|
1366
|
+
// These walk EVERY descendant via qsa("*") to attach event listeners
|
|
1367
|
+
// on lvt-fx:event:on:trigger / lvt-el: / file inputs. They have
|
|
1368
|
+
// per-element guards so re-running is safe but wasteful — at 80k
|
|
1369
|
+
// descendants the walk costs ~150-200ms each. Skip when neither
|
|
1370
|
+
// morphdom.onNodeAdded fired nor a new lvt-* directive attribute
|
|
1371
|
+
// appeared on any morphed element (tracked via onBeforeElUpdated).
|
|
1210
1372
|
(0, directives_1.handleScrollDirectives)(element);
|
|
1211
|
-
// Handle highlight directives (implicit trigger only)
|
|
1212
1373
|
(0, directives_1.handleHighlightDirectives)(element);
|
|
1213
|
-
// Handle animate directives (implicit trigger only)
|
|
1214
1374
|
(0, directives_1.handleAnimateDirectives)(element);
|
|
1215
|
-
// Set up DOM event triggers for lvt-fx: attributes with :on:{event}
|
|
1216
|
-
// Registry always lives on wrapperElement so teardown can find all entries
|
|
1217
|
-
(0, directives_1.setupFxDOMEventTriggers)(element, this.wrapperElement || undefined);
|
|
1218
|
-
// Re-scan updated subtree for lvt-el:*:on:{event} DOM triggers
|
|
1219
|
-
this.eventDelegator.setupDOMEventTriggerDelegation(element);
|
|
1220
|
-
// Set up scroll-away visibility toggles
|
|
1221
|
-
(0, scroll_away_1.setupScrollAway)(element);
|
|
1222
|
-
// Handle toast trigger directives (ephemeral client-side toasts)
|
|
1223
1375
|
(0, directives_1.handleToastDirectives)(element);
|
|
1224
|
-
|
|
1225
|
-
this.
|
|
1226
|
-
|
|
1376
|
+
(0, scroll_away_1.setupScrollAway)(element);
|
|
1377
|
+
if (this.nodesAddedThisRender > 0 || this.directiveTouchedThisRender) {
|
|
1378
|
+
(0, directives_1.setupFxDOMEventTriggers)(element, this.wrapperElement || undefined);
|
|
1379
|
+
this.eventDelegator.setupDOMEventTriggerDelegation(element);
|
|
1380
|
+
this.uploadHandler.initializeFileInputs(element);
|
|
1381
|
+
}
|
|
1382
|
+
// changeAutoWirer always runs: its eviction loop must process
|
|
1383
|
+
// wirings on removed elements too, regardless of additions.
|
|
1227
1384
|
this.changeAutoWirer.wireElements();
|
|
1228
|
-
// Handle form lifecycle if metadata is present
|
|
1229
1385
|
if (meta) {
|
|
1230
1386
|
this.formLifecycleManager.handleResponse(meta);
|
|
1231
1387
|
}
|
|
@@ -1236,6 +1392,34 @@ class LiveTemplateClient {
|
|
|
1236
1392
|
handleUploadStartResponse(response) {
|
|
1237
1393
|
this.uploadHandler.handleUploadStartResponse(response);
|
|
1238
1394
|
}
|
|
1395
|
+
/**
|
|
1396
|
+
* Walk tempWrapper for `<!--lvt-targeted-skip:path-->` comments left by
|
|
1397
|
+
* `reconstructFromTree` and convert each into a `data-lvt-targeted-skip`
|
|
1398
|
+
* attribute on its parent element. The marker tells morphdom (via its
|
|
1399
|
+
* onBeforeElUpdated callback) to short-circuit the subtree, leaving the
|
|
1400
|
+
* live container's existing children — already updated by the applier —
|
|
1401
|
+
* untouched.
|
|
1402
|
+
*/
|
|
1403
|
+
replaceTargetedSkipPlaceholders(tempWrapper) {
|
|
1404
|
+
const walker = document.createTreeWalker(tempWrapper, NodeFilter.SHOW_COMMENT);
|
|
1405
|
+
const toReplace = [];
|
|
1406
|
+
let node;
|
|
1407
|
+
while ((node = walker.nextNode())) {
|
|
1408
|
+
const c = node;
|
|
1409
|
+
if (c.nodeValue && /^lvt-targeted-skip:.+$/.test(c.nodeValue)) {
|
|
1410
|
+
toReplace.push(c);
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1413
|
+
for (const c of toReplace) {
|
|
1414
|
+
const match = c.nodeValue.match(/^lvt-targeted-skip:(.+)$/);
|
|
1415
|
+
const path = match ? match[1] : "";
|
|
1416
|
+
const parent = c.parentElement;
|
|
1417
|
+
if (parent) {
|
|
1418
|
+
parent.setAttribute(range_dom_applier_1.TARGETED_SKIP_ATTR, path);
|
|
1419
|
+
}
|
|
1420
|
+
c.remove();
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1239
1423
|
/**
|
|
1240
1424
|
* Execute lifecycle hook on an element
|
|
1241
1425
|
* @param element - Element with lifecycle hook attribute
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"livetemplate-client.js","sourceRoot":"","sources":["../livetemplate-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"livetemplate-client.js","sourceRoot":"","sources":["../livetemplate-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import type { Logger } from "../utils/logger";
|
|
2
|
+
import type { TargetedRangeOp } from "../types";
|
|
3
|
+
export declare const TARGETED_APPLIED_ATTR = "data-lvt-targeted-applied";
|
|
4
|
+
export declare const TARGETED_SKIP_ATTR = "data-lvt-targeted-skip";
|
|
5
|
+
type RenderItemFn = (item: any, itemIdx: number, statics: string[], staticsMap?: Record<string, string[]>, statePath?: string) => string;
|
|
6
|
+
type LifecycleHookFn = (el: Element, hookName: string) => void;
|
|
7
|
+
type NodeAddedFn = (el: Element) => void;
|
|
8
|
+
type ItemLookupFn = (rangePath: string, key: string) => any;
|
|
9
|
+
export interface RangeDomApplierContext {
|
|
10
|
+
logger: Logger;
|
|
11
|
+
renderItem: RenderItemFn;
|
|
12
|
+
executeLifecycleHook: LifecycleHookFn;
|
|
13
|
+
/**
|
|
14
|
+
* Look up the current item state for the given range path + key. Used by
|
|
15
|
+
* the `u` op to render the FULL post-merge item (treeState is mutated in
|
|
16
|
+
* place by `applyDifferentialOpsToRange` before the applier runs).
|
|
17
|
+
*
|
|
18
|
+
* Required: an applier without an `itemLookup` would silently no-op every
|
|
19
|
+
* `u` op, leaving the live DOM stale while morphdom's skip marker
|
|
20
|
+
* prevents the fallback diff from running. The constructor enforces this.
|
|
21
|
+
*/
|
|
22
|
+
itemLookup: ItemLookupFn;
|
|
23
|
+
/**
|
|
24
|
+
* Notification that the applier inserted a new element into the live DOM
|
|
25
|
+
* (i/a/p ops). Lets the caller track per-render DOM additions so it can
|
|
26
|
+
* decide whether the post-render directive scans need to walk the wrapper.
|
|
27
|
+
*/
|
|
28
|
+
onNodeAdded?: NodeAddedFn;
|
|
29
|
+
}
|
|
30
|
+
export interface CanApplyResult {
|
|
31
|
+
ok: boolean;
|
|
32
|
+
reason?: string;
|
|
33
|
+
container?: Element;
|
|
34
|
+
containerKey?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Applies range diff ops directly to the live DOM, bypassing full HTML
|
|
38
|
+
* reconstruction + morphdom diff. Designed to handle the common case where
|
|
39
|
+
* a 10k-row range receives a single-row mutation; the targeted path turns
|
|
40
|
+
* what would be a 5+ second morphdom walk into a sub-millisecond DOM op.
|
|
41
|
+
*
|
|
42
|
+
* The applier is opt-in per range: `canApplyTargeted` checks that the
|
|
43
|
+
* range has data-key emission, no nested-range items, and a resolvable
|
|
44
|
+
* container element. When any check fails, the caller falls back to the
|
|
45
|
+
* existing applyUpdate → reconstructFromTree → morphdom path.
|
|
46
|
+
*/
|
|
47
|
+
export declare class RangeDomApplier {
|
|
48
|
+
private readonly ctx;
|
|
49
|
+
private containerCache;
|
|
50
|
+
constructor(ctx: RangeDomApplierContext);
|
|
51
|
+
invalidate(): void;
|
|
52
|
+
invalidatePath(rangePath: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Locate the live container element for a range path. The container is
|
|
55
|
+
* the parent element of items rendered with data-key. Cached per path;
|
|
56
|
+
* cache invalidated automatically when a cached element becomes detached.
|
|
57
|
+
*
|
|
58
|
+
* Resolution order:
|
|
59
|
+
* 1. Cached container (if still connected to the wrapper).
|
|
60
|
+
* 2. `wrapper.querySelector('[data-key="anyKnownItemKey"]').parentElement`.
|
|
61
|
+
*
|
|
62
|
+
* The original implementation also fell back to an unscoped
|
|
63
|
+
* `wrapper.querySelector('[data-key]')` walk, but that could return a
|
|
64
|
+
* container belonging to a *different* keyed range when the wrapper has
|
|
65
|
+
* more than one — silently mutating the wrong DOM subtree on subsequent
|
|
66
|
+
* ops. We now prefer to fail closed (return null → caller falls back to
|
|
67
|
+
* full rebuild) over mutating an unrelated container.
|
|
68
|
+
*/
|
|
69
|
+
findContainer(wrapper: Element, rangePath: string, anyKnownItemKey?: string): Element | null;
|
|
70
|
+
/**
|
|
71
|
+
* Decide whether a range update can take the targeted-apply path.
|
|
72
|
+
* Returns the resolved container in the success case so the caller
|
|
73
|
+
* can pass it to `apply` without re-resolving.
|
|
74
|
+
*/
|
|
75
|
+
canApplyTargeted(wrapper: Element, rangeStructure: any, rangePath: string): CanApplyResult;
|
|
76
|
+
/**
|
|
77
|
+
* Apply a single targeted op to the live DOM. Returns the affected
|
|
78
|
+
* container element so the caller can mark it for the morphdom skip
|
|
79
|
+
* mechanism. Returns null if the op could not be applied (caller
|
|
80
|
+
* should fall back to full-rebuild for the next render).
|
|
81
|
+
*/
|
|
82
|
+
apply(wrapper: Element, targetedOp: TargetedRangeOp, morphdomOptions?: any): Element | null;
|
|
83
|
+
cleanupMarkers(wrapper: Element): void;
|
|
84
|
+
private applyRemove;
|
|
85
|
+
private applyUpdateRow;
|
|
86
|
+
private applyInsertAfter;
|
|
87
|
+
private applyAppend;
|
|
88
|
+
private applyPrepend;
|
|
89
|
+
/**
|
|
90
|
+
* Render N items into a scratch DocumentFragment, splicing them into the
|
|
91
|
+
* live DOM only if ALL renders succeeded. On partial failure no DOM
|
|
92
|
+
* mutation happens and the caller falls back to a full rebuild — this
|
|
93
|
+
* avoids `lvt-mounted` firing on items that morphdom is then about to
|
|
94
|
+
* re-add (which would double-fire the hook).
|
|
95
|
+
*/
|
|
96
|
+
private renderItemsAtomic;
|
|
97
|
+
/**
|
|
98
|
+
* Reorder existing children to match `newKeyOrder`. Protocol assumption:
|
|
99
|
+
* the server emits the *full* new key order (mirrors the assumption in
|
|
100
|
+
* `applyDifferentialOpsToRange`'s "o" case in tree-renderer). When the
|
|
101
|
+
* new order is shorter than the current child set, we treat the missing
|
|
102
|
+
* keys as removals and fire `lvt-destroyed` on each dropped subtree
|
|
103
|
+
* (so user teardown — timer cancellation, observer disconnect, etc. —
|
|
104
|
+
* still runs) plus log a warning surfacing the protocol mismatch.
|
|
105
|
+
*/
|
|
106
|
+
private applyReorder;
|
|
107
|
+
private renderAndParse;
|
|
108
|
+
/**
|
|
109
|
+
* Parse a string of HTML containing a single root element and return it.
|
|
110
|
+
* Uses <template> so orphan table-cell content (`<tr>`, `<td>`, etc.)
|
|
111
|
+
* is tolerated by the parser.
|
|
112
|
+
*/
|
|
113
|
+
private parseSingleRow;
|
|
114
|
+
private findItemByKey;
|
|
115
|
+
private indexOfChild;
|
|
116
|
+
private firstKnownKey;
|
|
117
|
+
private staticsContainKeyAttribute;
|
|
118
|
+
private itemHasNestedRange;
|
|
119
|
+
private extractItemKey;
|
|
120
|
+
private lookupCurrentItem;
|
|
121
|
+
private fireHookOnSubtree;
|
|
122
|
+
}
|
|
123
|
+
export {};
|
|
124
|
+
//# sourceMappingURL=range-dom-applier.d.ts.map
|