@livetemplate/client 0.8.27 → 0.8.29

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.
@@ -163,6 +163,197 @@ describe("lvt-preserve attribute", () => {
163
163
  // The control attribute must be gone — the server has opted out.
164
164
  expect(detailsAfter.hasAttribute("lvt-preserve-attrs")).toBe(false);
165
165
  });
166
+ it("preserves checkbox checked state across morphdom updates", () => {
167
+ const initialTree = {
168
+ s: [
169
+ `<form>`,
170
+ `</form>`,
171
+ ],
172
+ 0: `<label><input type="checkbox" class="cb" data-key="a" value="a"></label>` +
173
+ `<label><input type="checkbox" class="cb" data-key="b" value="b"></label>`,
174
+ };
175
+ client.updateDOM(wrapper, initialTree);
176
+ const checkboxes = wrapper.querySelectorAll('input[type="checkbox"]');
177
+ expect(checkboxes.length).toBe(2);
178
+ expect(checkboxes[0].checked).toBe(false);
179
+ expect(checkboxes[1].checked).toBe(false);
180
+ // User checks the first checkbox.
181
+ checkboxes[0].checked = true;
182
+ // Server pushes a refresh (same HTML, no checked attribute).
183
+ client.updateDOM(wrapper, initialTree);
184
+ const afterUpdate = wrapper.querySelectorAll('input[type="checkbox"]');
185
+ expect(afterUpdate[0].checked).toBe(true);
186
+ expect(afterUpdate[1].checked).toBe(false);
187
+ });
188
+ it("preserves radio button checked state across morphdom updates", () => {
189
+ const initialTree = {
190
+ s: [
191
+ `<form>`,
192
+ `</form>`,
193
+ ],
194
+ 0: `<input type="radio" name="choice" data-key="x" value="x">` +
195
+ `<input type="radio" name="choice" data-key="y" value="y">`,
196
+ };
197
+ client.updateDOM(wrapper, initialTree);
198
+ const radios = wrapper.querySelectorAll('input[type="radio"]');
199
+ radios[1].checked = true;
200
+ client.updateDOM(wrapper, initialTree);
201
+ const afterUpdate = wrapper.querySelectorAll('input[type="radio"]');
202
+ expect(afterUpdate[0].checked).toBe(false);
203
+ expect(afterUpdate[1].checked).toBe(true);
204
+ });
205
+ it("preserves radio selection when server sends a different default", () => {
206
+ const initialTree = {
207
+ s: [
208
+ `<form>`,
209
+ `</form>`,
210
+ ],
211
+ 0: `<input type="radio" name="opt" data-key="a" value="a">` +
212
+ `<input type="radio" name="opt" data-key="b" value="b">`,
213
+ };
214
+ client.updateDOM(wrapper, initialTree);
215
+ const radios = wrapper.querySelectorAll('input[type="radio"]');
216
+ radios[1].checked = true;
217
+ // Server sends update with radio A pre-checked via the checked attribute.
218
+ const updateTree = {
219
+ s: [
220
+ `<form>`,
221
+ `</form>`,
222
+ ],
223
+ 0: `<input type="radio" name="opt" data-key="a" value="a" checked>` +
224
+ `<input type="radio" name="opt" data-key="b" value="b">`,
225
+ };
226
+ client.updateDOM(wrapper, updateTree);
227
+ const afterUpdate = wrapper.querySelectorAll('input[type="radio"]');
228
+ expect(afterUpdate[0].checked).toBe(false);
229
+ expect(afterUpdate[1].checked).toBe(true);
230
+ });
231
+ it("preserves checkbox indeterminate state across morphdom updates", () => {
232
+ const initialTree = {
233
+ s: [`<form>`, `</form>`],
234
+ 0: `<input type="checkbox" class="select-all" value="all">`,
235
+ };
236
+ client.updateDOM(wrapper, initialTree);
237
+ const cb = wrapper.querySelector('input[type="checkbox"]');
238
+ cb.indeterminate = true;
239
+ client.updateDOM(wrapper, initialTree);
240
+ const cbAfter = wrapper.querySelector('input[type="checkbox"]');
241
+ expect(cbAfter.indeterminate).toBe(true);
242
+ });
243
+ it("data-lvt-force-update overrides checkbox preservation", () => {
244
+ // Parent content differs between renders (v1 → v2) so morphdom
245
+ // reaches the checkbox via normal diffing, not via the isEqualNode
246
+ // subtree bypass (which the next test covers separately).
247
+ const initialTree = {
248
+ s: [`<form>`, `</form>`],
249
+ 0: `<div data-key="w"><span>v1</span><input type="checkbox" data-lvt-force-update value="f"></div>`,
250
+ };
251
+ client.updateDOM(wrapper, initialTree);
252
+ const cb = wrapper.querySelector('input[type="checkbox"]');
253
+ cb.checked = true;
254
+ const updateTree = {
255
+ s: [`<form>`, `</form>`],
256
+ 0: `<div data-key="w"><span>v2</span><input type="checkbox" data-lvt-force-update value="f"></div>`,
257
+ };
258
+ client.updateDOM(wrapper, updateTree);
259
+ const cbAfter = wrapper.querySelector('input[type="checkbox"]');
260
+ expect(cbAfter.checked).toBe(false);
261
+ });
262
+ it("data-lvt-force-update overrides radio preservation", () => {
263
+ const initialTree = {
264
+ s: [`<form>`, `</form>`],
265
+ 0: `<div data-key="r"><span>v1</span>` +
266
+ `<input type="radio" name="fg" data-lvt-force-update value="a">` +
267
+ `<input type="radio" name="fg" value="b"></div>`,
268
+ };
269
+ client.updateDOM(wrapper, initialTree);
270
+ const radios = wrapper.querySelectorAll('input[type="radio"]');
271
+ radios[1].checked = true;
272
+ const updateTree = {
273
+ s: [`<form>`, `</form>`],
274
+ 0: `<div data-key="r"><span>v2</span>` +
275
+ `<input type="radio" name="fg" data-lvt-force-update value="a" checked>` +
276
+ `<input type="radio" name="fg" value="b"></div>`,
277
+ };
278
+ client.updateDOM(wrapper, updateTree);
279
+ const afterUpdate = wrapper.querySelectorAll('input[type="radio"]');
280
+ expect(afterUpdate[0].checked).toBe(true);
281
+ expect(afterUpdate[1].checked).toBe(false);
282
+ });
283
+ it("data-lvt-force-update is one-shot and self-clears after the render", () => {
284
+ const forceTree = {
285
+ s: [`<form>`, `</form>`],
286
+ 0: `<div data-key="lc"><span>v1</span><input type="checkbox" data-lvt-force-update value="lc"></div>`,
287
+ };
288
+ client.updateDOM(wrapper, forceTree);
289
+ const cb = wrapper.querySelector('input[type="checkbox"]');
290
+ cb.checked = true;
291
+ // Server sends force-update to reset the checkbox.
292
+ const resetTree = {
293
+ s: [`<form>`, `</form>`],
294
+ 0: `<div data-key="lc"><span>v2</span><input type="checkbox" data-lvt-force-update value="lc"></div>`,
295
+ };
296
+ client.updateDOM(wrapper, resetTree);
297
+ const afterReset = wrapper.querySelector('input[type="checkbox"]');
298
+ expect(afterReset.checked).toBe(false);
299
+ // Attribute should be auto-stripped after processing.
300
+ expect(afterReset.hasAttribute("data-lvt-force-update")).toBe(false);
301
+ // User checks again.
302
+ afterReset.checked = true;
303
+ // Server sends a normal update (no data-lvt-force-update) — user
304
+ // state should now be preserved since the attribute self-cleared.
305
+ const normalTree = {
306
+ s: [`<form>`, `</form>`],
307
+ 0: `<div data-key="lc"><span>v3</span><input type="checkbox" value="lc"></div>`,
308
+ };
309
+ client.updateDOM(wrapper, normalTree);
310
+ const afterNormal = wrapper.querySelector('input[type="checkbox"]');
311
+ expect(afterNormal.checked).toBe(true);
312
+ });
313
+ it("data-lvt-force-update on newly added node is stripped after first render", () => {
314
+ // When a node with data-lvt-force-update is first inserted via
315
+ // onNodeAdded, the attribute is stripped from the live DOM. If the
316
+ // server keeps sending it, each render still force-resets the state.
317
+ const tree = {
318
+ s: [`<form>`, `</form>`],
319
+ 0: `<div class="stable"><input type="checkbox" data-lvt-force-update value="x"></div>`,
320
+ };
321
+ client.updateDOM(wrapper, tree);
322
+ const cb = wrapper.querySelector('input[type="checkbox"]');
323
+ // Attribute should be stripped after the initial render.
324
+ expect(cb.hasAttribute("data-lvt-force-update")).toBe(false);
325
+ cb.checked = true;
326
+ // Server sends same tree again — since the attr was stripped from
327
+ // fromEl, morphdom sees a diff and processes normally. The checkbox
328
+ // block sees data-lvt-force-update on toEl and force-resets.
329
+ client.updateDOM(wrapper, tree);
330
+ const cbAfter = wrapper.querySelector('input[type="checkbox"]');
331
+ expect(cbAfter.checked).toBe(false);
332
+ });
333
+ it("data-lvt-force-update resets checked state even when checkbox is focused", () => {
334
+ // The checkbox preservation block runs BEFORE the focus guard, so
335
+ // force-update resets the checked property even on a focused element.
336
+ // The focus guard then skips the rest of the update (attributes, etc).
337
+ const initialTree = {
338
+ s: [`<form>`, `</form>`],
339
+ 0: `<div data-key="fc"><span>v1</span><input type="checkbox" data-lvt-force-update class="fc" value="fc"></div>`,
340
+ };
341
+ client.updateDOM(wrapper, initialTree);
342
+ const cb = wrapper.querySelector('input.fc');
343
+ cb.checked = true;
344
+ cb.focus();
345
+ const updateTree = {
346
+ s: [`<form>`, `</form>`],
347
+ 0: `<div data-key="fc"><span>v2</span><input type="checkbox" data-lvt-force-update class="fc" value="fc"></div>`,
348
+ };
349
+ client.updateDOM(wrapper, updateTree);
350
+ const cbAfter = wrapper.querySelector('input.fc');
351
+ expect(cbAfter.checked).toBe(false);
352
+ // Attribute must be stripped even though onElUpdated didn't fire
353
+ // (focus guard returned false). Eager strip in onBeforeElUpdated
354
+ // prevents the attribute from getting stuck on focused elements.
355
+ expect(cbAfter.hasAttribute("data-lvt-force-update")).toBe(false);
356
+ });
166
357
  it("preserves the element's children as well", () => {
167
358
  // lvt-preserve is a full-element bail-out: attributes, children,
168
359
  // everything stays as-is. Useful for third-party widgets that
@@ -1 +1 @@
1
- {"version":3,"file":"preserve.test.js","sourceRoot":"","sources":["../../tests/preserve.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preserve.test.js","sourceRoot":"","sources":["../../tests/preserve.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livetemplate/client",
3
- "version": "0.8.27",
3
+ "version": "0.8.29",
4
4
  "description": "TypeScript client for LiveTemplate tree-based updates",
5
5
  "main": "dist/livetemplate-client.js",
6
6
  "browser": "dist/livetemplate-client.browser.js",