on-create event

This commit is contained in:
David Botton 2022-02-17 15:08:09 -05:00
parent e9772838aa
commit 9b4ed6f74e
2 changed files with 20 additions and 9 deletions

View file

@ -472,7 +472,9 @@
:parameters "target"))) :parameters "target")))
(defparameter *events-element* (defparameter *events-element*
'((:name "on-click" '((:name "on-create"
:parameters "target")
(:name "on-click"
:parameters "target") :parameters "target")
(:name "on-focus" (:name "on-focus"
:parameters "target") :parameters "target")

View file

@ -553,6 +553,7 @@ not a temporary attached one when using select-control."
(let ((handler (attribute control (format nil "data-~A" (getf event :name))))) (let ((handler (attribute control (format nil "data-~A" (getf event :name)))))
(unless (or (equalp handler "undefined") (unless (or (equalp handler "undefined")
(equal handler "")) (equal handler ""))
(unless (equalp (getf event :name) "on-create")
(push (format nil (push (format nil
" \(set-~A \(~A panel\) \(lambda \(~A\) \(declare \(ignorable ~A\)\) ~A\)\)~%" " \(set-~A \(~A panel\) \(lambda \(~A\) \(declare \(ignorable ~A\)\) ~A\)\)~%"
(getf event :name) (getf event :name)
@ -560,7 +561,15 @@ not a temporary attached one when using select-control."
(getf event :parameters) (getf event :parameters)
(getf event :parameters) (getf event :parameters)
handler) handler)
events)))))))) events))))))
(let ((handler (attribute control "data-on-create")))
(unless (or (equalp handler "undefined")
(equal handler ""))
(push (format nil
" \(let \(\(target \(~A panel\)\)\) \(declare \(ignorable target\)\) ~A\)~%"
vname
handler)
events))))))
(get-control-list app panel-id)) (get-control-list app panel-id))
(let ((result (format nil (let ((result (format nil
"\(in-package \"~A\"\) "\(in-package \"~A\"\)