web/dom: improvements; fix test: use result from cs-hx renderer

This commit is contained in:
Helmut Merz 2024-07-20 17:50:01 +02:00
parent f092b5bde2
commit 2efd85c5af
3 changed files with 7 additions and 7 deletions

View file

@ -18,8 +18,7 @@
(defmethod response:render-content ((resp response) msg)
;(dom:render (dom:dlist nil (message:data msg))))
(dom:render
(apply #'div nil
(util:loop-plist (message:data msg) k v collect (view-field k v)))))
(div nil (util:loop-plist (message:data msg) k v collect (view-field k v)))))
(defun view-field (label value)
(div nil (label nil (string-downcase label)) value))
(div nil (label nil label) ": " value))

View file

@ -54,4 +54,5 @@
(deftest test-message (client)
(let ((msg (message:create '(:test :data :field :info) :data '(:info "test data"))))
(== (util:flatten-str (client:send-message client msg))
"<dl><dt>info</dt><dd>test data</dd></dl>")))
"<div><div><label>info</label>: test data</div></div>")))
;"<dl><dt>info</dt><dd>test data</dd></dl>")))

View file

@ -13,8 +13,9 @@
;;;; basic definitions
(defgeneric put (s)
(:method ((s string))
(put-string s)))
(:method ((s string)) (put-string s))
(:method ((s symbol)) (put (string-downcase s)))
(:method ((s cons)) (dolist (e s) (put e))))
(defclass element ()
((tag :reader tag :initarg :tag)
@ -62,7 +63,6 @@
(defun dlist (attrs plist)
(elem :dl attrs
;(loop for (key val . r) on plist by #'cddr append
(util:loop-plist plist key val append
(cons (element :dt nil (string-downcase key)) (dds nil val)))))