<div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">(defparameter *zozo-application*<br> (make-instance 'cookie-session-application<br> :url-prefix "/"
<br> :www-roots (list (cons "static/" (merge-pathnames #P"static/" *zozo-www-root*))<br> (cons "css/" (merge-pathnames #P"css/" *zozo-www-root*))
<br> (cons "ucw/" (merge-pathnames #P"ucw/" *zozo-www-root*))<br> (cons "dojo/" (merge-pathnames #P"dojo/" *zozo-www-root*))
<br> (cons "pics/" (merge-pathnames #P"pics/" *zozo-www-root*)))</blockquote><div><br><br>there's also a (make-standard-ucw-www-root-list) similar to the dispatchers
<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> :debug-on-error t<br> :dispatchers (append (make-standard-ucw-dispatchers)
<br> (list (make-regexp-dispatcher "^(zozo.ucw|)$" (call 'zozo-window))))))<br><br>Then I got myself a component with a switching container, very similar to what the<br>example in ucw_dev was doing:
<br><br>(defcomponent zozo-window (simple-window-component)<br> ((body :component<br> (switching-container<br> :contents (list (cons 'zozo-zaza (make-instance 'zozo-zaza))
<br> (cons 'zozo-zuzu (make-instance 'zozo-zuzu)))<br> :current-component-key 'zozo-zaza)<br> :accessor body))<br> (:default-initargs
<br> :title "Zozo"<br> :stylesheet (list "/ucw/ucw.css" "/css/layout.css")<br> :content-type "text/html; charset=utf-8;"<br> :javascript '((:src "dojo/dojo.js")
<br> (:js (dojo.require "dojo.event.*")))<br> :icon "/pics/icon.ico")<br> (:documentation "Zoum zoum"))<br><br>An now, I would like to render the thing:
<br><br>(defmethod render ((zozo zozo-window))<br> (render (container.current-component (body zozo)))</blockquote><div><br><br>it's enough to (render (body zozo)). the semantics of the switching-container is to render only the current component.
<br></div><br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> (<:div :id "side-nav"<br> (flet ((zozo-link (name text)
<br> (<ucw:a :action (switch-component (body zozo) name) ;; SNAG</blockquote><div><br><br>the :action parameter was renamed to :action-body, because actions are first-class citizens in _ajax and there's no way to distinguish between forms that are meant to be executed as an action or to be called as forms that return an action object (action-entry struct).
<br><br>so either :action (register-ajax-action ...) or :action-body (do my stuff). see the examples for details.<br><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
(<:as-html text))))<br> (<:ul<br> (<:li (zozo-link 'zozo-zaza "Zaza"))<br> (<:li (zozo-link 'zozo-zuzu "Zuzu"))))))<br><br>
now I understand that things have changed a bit between ucw_dev and ucw_ajax, but<br>I obviously haven't understood the changes... I would really appreciate any kind<br>of enlightement :-)<br></blockquote></div><br>i've started working on a tex file that collects the api differences between the two branches. i'll commit it Real Soon Now...
<br clear="all"><br>hth,<br><br>-- <br>- attila<br><br>"- The truth is that I've been too considerate, and so became unintentionally cruel...<br> - I understand.<br> - No, you don't understand! We don't speak the same language!"
<br>(Ingmar Bergman - Smultronstället)