HS: hyperscript:before:init / :after:init events (+2 tests)
integration.sx hs-activate! now wraps the activation block in a cancelable hyperscript:before:init event (dispatched on the el via dom-dispatch which returns the dispatchEvent boolean — true unless preventDefault was called). On success it dispatches hyperscript:after:init at the end. Both events bubble so listeners on a containing wa work-area receive them. Generator gets two hand-rolled deftests that exercise the new dispatch via hs-boot-subtree!: one captures both events into a list, the other preventDefaults before:init and asserts data-hyperscript-powered is absent. hs-upstream-core/bootstrap: 20/26 → 22/26. Smoke 0-195: 170 → 172. Remaining 4 cluster-29 tests need stricter parser error-rejection (hs-upstream-core/parser, parse-error event); larger than a single cluster budget — leave as untranslated for now. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -80,11 +80,14 @@
|
||||
((src (dom-get-attr el "_")) (prev (dom-get-data el "hs-script")))
|
||||
(when
|
||||
(and src (not (= src prev)))
|
||||
(hs-log-event! "hyperscript:init")
|
||||
(dom-set-data el "hs-script" src)
|
||||
(dom-set-data el "hs-active" true)
|
||||
(dom-set-attr el "data-hyperscript-powered" "true")
|
||||
(let ((handler (hs-handler src))) (handler el))))))
|
||||
(when
|
||||
(dom-dispatch el "hyperscript:before:init" nil)
|
||||
(hs-log-event! "hyperscript:init")
|
||||
(dom-set-data el "hs-script" src)
|
||||
(dom-set-data el "hs-active" true)
|
||||
(dom-set-attr el "data-hyperscript-powered" "true")
|
||||
(let ((handler (hs-handler src))) (handler el))
|
||||
(dom-dispatch el "hyperscript:after:init" nil))))))
|
||||
|
||||
;; ── Boot: scan entire document ──────────────────────────────────
|
||||
;; Called once at page load. Finds all elements with _ attribute,
|
||||
|
||||
Reference in New Issue
Block a user