summaryrefslogtreecommitdiff
path: root/src/views/components.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/views/components.lisp')
-rw-r--r--src/views/components.lisp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/views/components.lisp b/src/views/components.lisp
index 95ed062..de4cc5c 100644
--- a/src/views/components.lisp
+++ b/src/views/components.lisp
@@ -17,7 +17,26 @@ the class string for the contained list items."
(with-html
(:ol :class class
(dolist (item data)
- (:li :calss item-class (render :list-item item))))))
+ (:li :class item-class (render :list-item item))))))
+
+(defrender :select ((data list) (multiple "false") name class)
+ (with-html
+ (when data
+ (:select :multiple multiple
+ :name (or name (format nil "select-~a" (class-of (first data))))
+ :class (or class (format nil "select ~a" (class-of (first data))))
+ (dolist (item data)
+ (render :option item))))))
+
+(defrender :checkboxes ((data list) id class)
+ (with-html
+ (when data
+ (:div :class (or class (format nil "checkboxes ~a" (class-of (first data))))
+ :id (or id (format nil "checkboxes-~a" (class-of (first data))))
+ (dolist (item data)
+ (render :checkbox item)
+ (:br))))))
+
;;;; PAGE ELEMENTS