diff options
Diffstat (limited to 'src/views/components.lisp')
-rw-r--r-- | src/views/components.lisp | 21 |
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 |