Precise DOM morphing
morphing typescript dom

Mark dirty checkboxes

+9 -9
+9 -9
src/morphlex.ts
··· 57 57 } 58 58 59 59 function flagDirtyInputs(node: ParentNode): void { 60 - for (const el of node.querySelectorAll("input")) { 61 - const currentValue = el.value 60 + for (const element of node.querySelectorAll("input")) { 61 + if (element.value !== element.defaultValue) { 62 + element.setAttribute("morphlex-dirty", "") 63 + } 62 64 63 - if (currentValue !== el.defaultValue) { 64 - el.setAttribute("morphlex-dirty", "") 65 + if (element.checked !== element.defaultChecked) { 66 + element.setAttribute("morphlex-dirty", "") 65 67 } 66 68 } 67 69 68 - for (const el of node.querySelectorAll("option")) { 69 - const currentSelected = el.selected 70 - 71 - if (currentSelected !== el.defaultSelected) { 72 - el.setAttribute("morphlex-dirty", "") 70 + for (const element of node.querySelectorAll("option")) { 71 + if (element.selected !== element.defaultSelected) { 72 + element.setAttribute("morphlex-dirty", "") 73 73 } 74 74 } 75 75 }