SHA256
The shared el() helper passed every attr through setAttribute(); for event handlers like onclick a function value gets stringified into an attribute the DOM compiles as an expression that is evaluated but never called - so Bearbeiten/Löschen (wired through el()) were silent no-ops, while addEventListener-wired buttons (Neuer Datensatz, Sperren) worked. el() now assigns on*-function attrs as properties (node[k] = v), preserving the real handler. Verified with a DOM-semantics shim: fixed path fires, legacy setAttribute path provably compiles but never calls. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>