@livetemplate/client 0.8.38 → 0.8.39
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 +199 -24
- 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,83 @@ 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
|
-
//
|
|
1210
|
-
(
|
|
1211
|
-
//
|
|
1212
|
-
|
|
1213
|
-
//
|
|
1214
|
-
|
|
1215
|
-
//
|
|
1216
|
-
//
|
|
1217
|
-
|
|
1218
|
-
//
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1352
|
+
// Wrapper-wide directive scans walk every descendant of `element`.
|
|
1353
|
+
// For a delete-only render against a large keyed range (10k+ rows),
|
|
1354
|
+
// that's ~80k descendants × 9 scans = ~360ms wasted on a tree where
|
|
1355
|
+
// no new elements need wiring. Skip them when neither:
|
|
1356
|
+
// - any new node was added (morphdom.onNodeAdded / applier i/a/p), nor
|
|
1357
|
+
// - any morphed element carried an lvt-* directive attribute that
|
|
1358
|
+
// might newly need wiring (morphdom.onBeforeElUpdated check above).
|
|
1359
|
+
//
|
|
1360
|
+
// The directive-touched signal handles the attribute-morph case:
|
|
1361
|
+
// server adds `lvt-fx:keydown` to an existing button → onBeforeElUpdated
|
|
1362
|
+
// sees the attribute on toEl → flag set → scans run → listener wired.
|
|
1363
|
+
if (this.nodesAddedThisRender > 0 || this.directiveTouchedThisRender) {
|
|
1364
|
+
(0, directives_1.handleScrollDirectives)(element);
|
|
1365
|
+
(0, directives_1.handleHighlightDirectives)(element);
|
|
1366
|
+
(0, directives_1.handleAnimateDirectives)(element);
|
|
1367
|
+
(0, directives_1.setupFxDOMEventTriggers)(element, this.wrapperElement || undefined);
|
|
1368
|
+
this.eventDelegator.setupDOMEventTriggerDelegation(element);
|
|
1369
|
+
(0, scroll_away_1.setupScrollAway)(element);
|
|
1370
|
+
(0, directives_1.handleToastDirectives)(element);
|
|
1371
|
+
this.uploadHandler.initializeFileInputs(element);
|
|
1372
|
+
}
|
|
1373
|
+
// changeAutoWirer always runs: its eviction loop must process
|
|
1374
|
+
// wirings on removed elements too, regardless of additions.
|
|
1227
1375
|
this.changeAutoWirer.wireElements();
|
|
1228
|
-
// Handle form lifecycle if metadata is present
|
|
1229
1376
|
if (meta) {
|
|
1230
1377
|
this.formLifecycleManager.handleResponse(meta);
|
|
1231
1378
|
}
|
|
@@ -1236,6 +1383,34 @@ class LiveTemplateClient {
|
|
|
1236
1383
|
handleUploadStartResponse(response) {
|
|
1237
1384
|
this.uploadHandler.handleUploadStartResponse(response);
|
|
1238
1385
|
}
|
|
1386
|
+
/**
|
|
1387
|
+
* Walk tempWrapper for `<!--lvt-targeted-skip:path-->` comments left by
|
|
1388
|
+
* `reconstructFromTree` and convert each into a `data-lvt-targeted-skip`
|
|
1389
|
+
* attribute on its parent element. The marker tells morphdom (via its
|
|
1390
|
+
* onBeforeElUpdated callback) to short-circuit the subtree, leaving the
|
|
1391
|
+
* live container's existing children — already updated by the applier —
|
|
1392
|
+
* untouched.
|
|
1393
|
+
*/
|
|
1394
|
+
replaceTargetedSkipPlaceholders(tempWrapper) {
|
|
1395
|
+
const walker = document.createTreeWalker(tempWrapper, NodeFilter.SHOW_COMMENT);
|
|
1396
|
+
const toReplace = [];
|
|
1397
|
+
let node;
|
|
1398
|
+
while ((node = walker.nextNode())) {
|
|
1399
|
+
const c = node;
|
|
1400
|
+
if (c.nodeValue && /^lvt-targeted-skip:.+$/.test(c.nodeValue)) {
|
|
1401
|
+
toReplace.push(c);
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
for (const c of toReplace) {
|
|
1405
|
+
const match = c.nodeValue.match(/^lvt-targeted-skip:(.+)$/);
|
|
1406
|
+
const path = match ? match[1] : "";
|
|
1407
|
+
const parent = c.parentElement;
|
|
1408
|
+
if (parent) {
|
|
1409
|
+
parent.setAttribute(range_dom_applier_1.TARGETED_SKIP_ATTR, path);
|
|
1410
|
+
}
|
|
1411
|
+
c.remove();
|
|
1412
|
+
}
|
|
1413
|
+
}
|
|
1239
1414
|
/**
|
|
1240
1415
|
* Execute lifecycle hook on an element
|
|
1241
1416
|
* @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
|