mirror of
https://github.com/rabbibotton/clog.git
synced 2025-12-06 02:30:42 -08:00
enable on-resize events on browser resize for any control
This commit is contained in:
parent
9ad5676d5f
commit
4c2fd7d8e3
5 changed files with 33 additions and 9 deletions
|
|
@ -625,10 +625,11 @@ option passed from javascript calling the jQuery custom event mechanism
|
|||
(defgeneric set-on-resize (clog-obj on-resize-handler)
|
||||
(:documentation "Set the ON-RESIZE-HANDLER for CLOG-OBJ. If ON-RESIZE-HANDLER
|
||||
is nil unbind the event. In most modern browser this only works on the clog-window
|
||||
object"))
|
||||
object. One can set-on-resize and then re-trigger this event on any clog-obj
|
||||
using (jquery-trigger obj \"resize\")."))
|
||||
|
||||
(defmethod set-on-resize ((obj clog-obj) handler)
|
||||
(set-on-event obj "resize" handler))
|
||||
(set-on-event obj "resize" handler :cancel-event t))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
;; set-on-focus ;;
|
||||
|
|
|
|||
|
|
@ -70,3 +70,14 @@ result or DEFAULT-ANSWER on time out."))
|
|||
(defmethod jquery-query ((obj clog-obj) method &key (default-answer nil))
|
||||
(js-query obj (format nil "~A.~A" (jquery obj) method)
|
||||
:default-answer default-answer))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;
|
||||
;; jquery-trigger ;;
|
||||
;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defgeneric jquery-trigger (clog-obj event)
|
||||
(:documentation "Trigger EVENT on CLOG-OBJ. Result is discarded,
|
||||
returns CLOG-OBJ."))
|
||||
|
||||
(defmethod jquery-trigger ((obj clog-obj) event)
|
||||
(js-execute obj (format nil "~A.trigger('~A')" (jquery obj) event)))
|
||||
|
|
|
|||
|
|
@ -413,7 +413,8 @@ embedded in a native template application.)"
|
|||
"CLOG-jQuery methods"
|
||||
(jquery generic-function)
|
||||
(jquery-execute generic-function)
|
||||
(jquery-query generic-function))
|
||||
(jquery-query generic-function)
|
||||
(jquery-trigger generic-function))
|
||||
|
||||
(defsection @clog-element-common (:title "Common CLOG Elements")
|
||||
"CLOG-A - Class for CLOG Anchors"
|
||||
|
|
|
|||
|
|
@ -111,14 +111,25 @@
|
|||
handler)
|
||||
events))))))
|
||||
;; Set on-create (from user in builder) and on-setup (from control-record)
|
||||
(let ((handler (attribute control "data-on-create")))
|
||||
(let ((resizeh (attribute control "data-on-resize"))
|
||||
(handler (attribute control "data-on-create")))
|
||||
(when (equalp handler "undefined")
|
||||
(setf handler ""))
|
||||
(when (equalp resizeh "undefined")
|
||||
(setf resizeh ""))
|
||||
(when (getf control-record :on-setup)
|
||||
(setf handler (format nil "~A~A"
|
||||
(funcall (getf control-record :on-setup)
|
||||
control control-record)
|
||||
handler)))
|
||||
(unless (equal resizeh "")
|
||||
(push (format nil
|
||||
" \(set-on-resize \(window \(connection-body panel\)\)
|
||||
\(lambda \(obj\)
|
||||
\(declare \(ignore obj\)\)
|
||||
\(jquery-trigger \(~A panel\) \"resize\"\)\)\)"
|
||||
vname)
|
||||
creates))
|
||||
(unless (equal handler "")
|
||||
(push (format nil
|
||||
" \(let \(\(target \(~A panel\)\)\) ~
|
||||
|
|
|
|||
|
|
@ -1052,7 +1052,7 @@
|
|||
:properties (,@*props-grid*
|
||||
,@*props-element*))
|
||||
`(:name "flex-row"
|
||||
:description "Row Align"
|
||||
:description "Flex Row Align Container"
|
||||
:clog-type clog:clog-div
|
||||
:create clog:create-div
|
||||
:create-type :element
|
||||
|
|
@ -1066,7 +1066,7 @@
|
|||
:properties (,@*props-flex*
|
||||
,@*props-element*))
|
||||
`(:name "flex-row-rev"
|
||||
:description "Row Reverse Align"
|
||||
:description "Flex Row Reverse Align Container"
|
||||
:clog-type clog:clog-div
|
||||
:create clog:create-div
|
||||
:create-type :element
|
||||
|
|
@ -1080,7 +1080,7 @@
|
|||
:properties (,@*props-flex*
|
||||
,@*props-element*))
|
||||
`(:name "flex-col"
|
||||
:description "Column Align"
|
||||
:description "Flex Column Align Container"
|
||||
:clog-type clog:clog-div
|
||||
:create clog:create-div
|
||||
:create-type :element
|
||||
|
|
@ -1094,7 +1094,7 @@
|
|||
:properties (,@*props-flex*
|
||||
,@*props-element*))
|
||||
`(:name "flex-col-rev"
|
||||
:description "Column Reverse Align"
|
||||
:description "Flow Column Reverse Align Container"
|
||||
:clog-type clog:clog-div
|
||||
:create clog:create-div
|
||||
:create-type :element
|
||||
|
|
@ -1108,7 +1108,7 @@
|
|||
:properties (,@*props-flex*
|
||||
,@*props-element*))
|
||||
`(:name "flex-center"
|
||||
:description "Center Align"
|
||||
:description "Flow Center Align Container"
|
||||
:clog-type clog:clog-div
|
||||
:create clog:create-div
|
||||
:create-type :element
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue