1 (in-package :lisp-on-lines-ucw
)
3 (defclass described-component-class
(standard-component-class described-class
)
6 (defmacro defaction
(&rest args-and-body
)
7 `(arnesi:defmethod
/cc
,@args-and-body
))
9 (defun make-action (lambda &rest args
)
10 (let ((ucw::*default-action-class
* 'basic-action
))
11 (apply #'ucw
::make-action lambda args
)))
13 (defclass standard-application
(ucw:basic-application
)
16 (defclass standard-request-context
(ucw::standard-request-context
)
19 (defmethod ucw:request-context-class list
((application standard-application
))
20 'standard-request-context
)
22 (defvar +action-compound-name-delimiter
+ #\|
)
24 (defmethod ucw::find-action-id
:around
((context standard-request-context
))
28 :for
(k . v
) in
(ucw::parameters
29 (context.request context
))
30 :do
(destructuring-bind (param-name &optional action-id
)
31 (split-sequence:split-sequence
32 +action-compound-name-delimiter
+ k
)
35 ucw
::+action-parameter-name
+ param-name
))
39 (defcomponent standard-window-component
40 (ucw:basic-window-component
)
47 (defmethod render-html-body ((window standard-window-component
))
48 (ucw:render
(window-body window
)))