mirror of
https://github.com/rabbibotton/clog.git
synced 2025-12-06 02:30:42 -08:00
Add all basic events
This commit is contained in:
parent
62c2e07bc9
commit
972d14cd9b
3 changed files with 107 additions and 15 deletions
|
|
@ -180,8 +180,8 @@ result or if time out DEFAULT-ANSWER (Private)"))
|
|||
;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defparameter mouse-event-script
|
||||
"+ (e.clientX - e.currentTarget.getBoundingClientRect().left + e.currentTarget.scrollLeft) + ':' +
|
||||
(e.clientY - e.currentTarget.getBoundingClientRect().top + e.currentTarget.scrollTop) + ':' +
|
||||
"+ (e.clientX - e.currentTarget.getBoundingClientRect().left + e.currentTarget.scrollLeft) + ':' +
|
||||
(e.clientY - e.currentTarget.getBoundingClientRect().top + e.currentTarget.scrollTop) + ':' +
|
||||
e.screenX + ':' + e.screenY + ':' + e.which + ':' + e.altKey + ':' +
|
||||
e.ctrlKey + ':' + e.shiftKey + ':' + e.metaKey + ':' +
|
||||
e.clientX + ':' + e.clientY + ':' + e.pageX + ':' + e.pageY"
|
||||
|
|
@ -216,10 +216,10 @@ result or if time out DEFAULT-ANSWER (Private)"))
|
|||
(defparameter touch-event-script
|
||||
"+ (e.touches[0].clientX -
|
||||
e.touches[0].currentTarget.getBoundingClientRect().left +
|
||||
e.touches[0].currentTarget.scrollLeft) + ':' +
|
||||
e.touches[0].currentTarget.scrollLeft) + ':' +
|
||||
(e.touches[0].clientY -
|
||||
e.touches[0].currentTarget.getBoundingClientRect().top +
|
||||
e.touches[0].currentTarget.scrollTop) + ':' +
|
||||
e.touches[0].currentTarget.scrollTop) + ':' +
|
||||
e.touches[0].screenX + ':' + e.touches[0].screenY + ':' + e.touches.length + ':' +
|
||||
e.altKey + ':' +
|
||||
e.ctrlKey + ':' +
|
||||
|
|
@ -252,8 +252,8 @@ result or if time out DEFAULT-ANSWER (Private)"))
|
|||
;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defparameter pointer-event-script
|
||||
"+ (e.clientX - e.currentTarget.getBoundingClientRect().left + e.currentTarget.scrollLeft) + ':' +
|
||||
(e.clientY - e.currentTarget.getBoundingClientRect().top + e.currentTarget.scrollTop) + ':' +
|
||||
"+ (e.clientX - e.currentTarget.getBoundingClientRect().left + e.currentTarget.scrollLeft) + ':' +
|
||||
(e.clientY - e.currentTarget.getBoundingClientRect().top + e.currentTarget.scrollTop) + ':' +
|
||||
e.screenX + ':' + e.screenY + ':' + e.which + ':' + e.altKey + ':' +
|
||||
e.ctrlKey + ':' + e.shiftKey + ':' + e.metaKey + ':' +
|
||||
e.clientX + ':' + e.clientY + ':' + e.pageX + ':' + e.pageY"
|
||||
|
|
@ -306,7 +306,7 @@ result or if time out DEFAULT-ANSWER (Private)"))
|
|||
;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defparameter drop-event-script
|
||||
"+ (e.clientX - e.currentTarget.getBoundingClientRect().left + e.currentTarget.scrollLeft) + ':' +
|
||||
"+ (e.clientX - e.currentTarget.getBoundingClientRect().left + e.currentTarget.scrollLeft) + ':' +
|
||||
(e.clientY - e.currentTarget.getBoundingClientRect().top + e.currentTarget.scrollTop) + ':' +
|
||||
e.which + ':' + e.altKey + ':' + e.ctrlKey + ':' + e.shiftKey + ':' + e.metaKey + ':' +
|
||||
encodeURIComponent(e.originalEvent.dataTransfer.getData('~A'))"
|
||||
|
|
@ -680,7 +680,7 @@ If ON-FOCUS-OUT-HANDLER is nil unbind the event."))
|
|||
(defgeneric set-on-reset (clog-obj on-reset-handler)
|
||||
(:documentation "Set the ON-RESET-HANDLER for CLOG-OBJ. If ON-RESET-HANDLER
|
||||
is nil unbind the event. This event is activated by using reset on a form. If
|
||||
this even is bound, you must call the form reset manually."))
|
||||
this event is bound, you must call the form reset manually."))
|
||||
|
||||
(defmethod set-on-reset ((obj clog-obj) handler)
|
||||
(set-event obj "reset"
|
||||
|
|
@ -1133,7 +1133,7 @@ If ON-KEY-DOWN-HANDLER is nil unbind the event."))
|
|||
(funcall handler obj (parse-keyboard-event data))))
|
||||
:one-time one-time
|
||||
:cancel-event disable-default
|
||||
:call-back-script keyboard-event-script))
|
||||
:call-back-script keyboard-event-script))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;
|
||||
;; set-on-key-up ;;
|
||||
|
|
@ -1149,7 +1149,7 @@ ON-KEY-UP-HANDLER is nil unbind the event."))
|
|||
(lambda (data)
|
||||
(funcall handler obj (parse-keyboard-event data))))
|
||||
:one-time one-time
|
||||
:call-back-script keyboard-event-script))
|
||||
:call-back-script keyboard-event-script))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; set-on-key-press ;;
|
||||
|
|
|
|||
|
|
@ -403,7 +403,99 @@
|
|||
'((:name "on-click"
|
||||
:parameters "target")
|
||||
(:name "on-focus"
|
||||
:parameters "target")))
|
||||
:parameters "target")
|
||||
(:name "on-blur"
|
||||
:parameters "target")
|
||||
(:name "on-change"
|
||||
:parameters "target")
|
||||
(:name "on-focus-in"
|
||||
:parameters "target")
|
||||
(:name "on-focus-out"
|
||||
:parameters "target")
|
||||
(:name "on-reset"
|
||||
:parameters "target")
|
||||
(:name "on-search"
|
||||
:parameters "target")
|
||||
(:name "on-select"
|
||||
:parameters "target")
|
||||
(:name "on-submit"
|
||||
:parameters "target")
|
||||
(:name "on-context-menu"
|
||||
:parameters "target")
|
||||
(:name "on-double-click"
|
||||
:parameters "target")
|
||||
(:name "on-mouse-click"
|
||||
:parameters "target data")
|
||||
(:name "on-mouse-double-click"
|
||||
:parameters "target data")
|
||||
(:name "on-mouse-right-click"
|
||||
:parameters "target data")
|
||||
(:name "on-mouse-enter"
|
||||
:parameters "target")
|
||||
(:name "on-mouse-leave"
|
||||
:parameters "target")
|
||||
(:name "on-mouse-over"
|
||||
:parameters "target")
|
||||
(:name "on-mouse-out"
|
||||
:parameters "target")
|
||||
(:name "on-mouse-down"
|
||||
:parameters "target data")
|
||||
(:name "on-mouse-up"
|
||||
:parameters "target data")
|
||||
(:name "on-mouse-move"
|
||||
:parameters "target data")
|
||||
(:name "on-pointer-enter"
|
||||
:parameters "target")
|
||||
(:name "on-pointer-leave"
|
||||
:parameters "target")
|
||||
(:name "on-pointer-over"
|
||||
:parameters "target")
|
||||
(:name "on-pointer-out"
|
||||
:parameters "target")
|
||||
(:name "on-pointer-down"
|
||||
:parameters "target data")
|
||||
(:name "on-pointer-up"
|
||||
:parameters "target data")
|
||||
(:name "on-pointer-move"
|
||||
:parameters "target data")
|
||||
(:name "on-touch-start"
|
||||
:parameters "target data")
|
||||
(:name "on-touch-move"
|
||||
:parameters "target data")
|
||||
(:name "on-touch-end"
|
||||
:parameters "target data")
|
||||
(:name "on-touch-cancel"
|
||||
:parameters "target data")
|
||||
(:name "on-character"
|
||||
:parameters "target data")
|
||||
(:name "on-key-down"
|
||||
:parameters "target data")
|
||||
(:name "on-key-up"
|
||||
:parameters "target data")
|
||||
(:name "on-key-press"
|
||||
:parameters "target data")
|
||||
(:name "on-copy"
|
||||
:parameters "target")
|
||||
(:name "on-cut"
|
||||
:parameters "target")
|
||||
(:name "on-paste"
|
||||
:parameters "target")
|
||||
(:name "on-resize"
|
||||
:parameters "target")
|
||||
(:name "on-drag-start"
|
||||
:parameters "target")
|
||||
(:name "on-drag"
|
||||
:parameters "target")
|
||||
(:name "on-drag-end"
|
||||
:parameters "target")
|
||||
(:name "on-drag-enter"
|
||||
:parameters "target")
|
||||
(:name "on-drag-leave"
|
||||
:parameters "target")
|
||||
(:name "on-drag-over"
|
||||
:parameters "target")
|
||||
(:name "on-drop"
|
||||
:parameters "target data")))
|
||||
|
||||
(defparameter *supported-controls*
|
||||
(list
|
||||
|
|
|
|||
|
|
@ -360,7 +360,7 @@ not a temporary attached one when using select-control."
|
|||
events)
|
||||
(dolist (event (reverse (getf info :events)))
|
||||
(let ((attr (format nil "data-~A" (getf event :name))))
|
||||
(push `(,(getf event :name) ,(attribute control attr) ,(getf event :parameters)
|
||||
(push `(,(getf event :name) ,(attribute control attr) ,(getf event :parameters)
|
||||
,(getf event :setup)
|
||||
,(lambda (obj)
|
||||
(let ((txt (text obj)))
|
||||
|
|
@ -776,17 +776,17 @@ of controls and double click to select control."
|
|||
html-id
|
||||
(format nil "CLOG:~A" (type-of control)))
|
||||
vars)
|
||||
(let ((info (control-info (attribute control "data-clog-type")))
|
||||
props)
|
||||
(let ((info (control-info (attribute control "data-clog-type"))))
|
||||
(dolist (event (getf info :events))
|
||||
(let ((handler (attribute control (format nil "data-~A" (getf event :name)))))
|
||||
(unless (or (equalp handler "undefined")
|
||||
(equal handler ""))
|
||||
(push (format nil
|
||||
"\(set-~A \(~A panel\) \(lambda \(~A\) ~A\)\)~%"
|
||||
"\(set-~A \(~A panel\) \(lambda \(~A\) \(declare \(ignorable ~A\)\) ~A\)\)~%"
|
||||
(getf event :name)
|
||||
vname
|
||||
(getf event :parameters)
|
||||
(getf event :parameters)
|
||||
handler)
|
||||
events))))))))
|
||||
(get-control-list app panel-id))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue