From 2efd85c5afb17ac9ef33f36c29d52113c8d44cbb Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Sat, 20 Jul 2024 17:50:01 +0200 Subject: [PATCH] web/dom: improvements; fix test: use result from cs-hx renderer --- frontend/cs-hx.lisp | 5 ++--- test/test-web.lisp | 3 ++- web/dom.lisp | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/frontend/cs-hx.lisp b/frontend/cs-hx.lisp index 92df45d..024b496 100644 --- a/frontend/cs-hx.lisp +++ b/frontend/cs-hx.lisp @@ -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)) diff --git a/test/test-web.lisp b/test/test-web.lisp index 7c8ea1b..e88fe76 100644 --- a/test/test-web.lisp +++ b/test/test-web.lisp @@ -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)) - "
info
test data
"))) + "
: test data
"))) + ;"
info
test data
"))) diff --git a/web/dom.lisp b/web/dom.lisp index 834ba20..2e8656a 100644 --- a/web/dom.lisp +++ b/web/dom.lisp @@ -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)))))