I think I had the same confusion when I was getting started. It probably helps to have a mental model of the rendering pipeline. The widgets form a tree where branches are formed by the dispatcher/ selector/navigation architecture.
1) Actions - actions modify the widget slots and persistent database; all side effects should happen here 2) URL processing - the url defines the path through the widget tree to be rendered 3) Rendering - the tree should be considered immutable in this phase, and is simply rendered based on the current widget and DB state. It is possible to use URL parameters to configure widgets (REST-style URLs) by implementing your own dispatcher or ensuring that your leaf widgets render based on the state of those URLs. But you can view the URL parameters are equivalent to another element of static state equivalent to widget and database state. Flows are then supposed to be invoked by actions which can either be AJAX calls from the client or new URL requests. AJAX calls restricts the rendering pipeline behavior; it runs actions, ignores URL processing, and then renders only the widgets that have changed. I hope that helps. Ian On Feb 3, 2009, at 1:21 PM, Benjamin Collins wrote: > > On Feb 3, 3:36 am, "Leslie P. Polzer" <[email protected]> > wrote: >> You're calling a flow-modifying function from a rendering function. > > If I'm reading correctly, then what's happening is the lambda is being > evaluated as an argument to the make-navigation function, the result > of which isn't renderable, but the side effects are to replace the > current widget, but only after the current widget has already been > rendered, right? That would explain why navigating back to the "/" > path shows the dialog. I suppose then that the reason anything at "/ > info" is displayed at all is because of the behavior of the functions > associated with the selector-mixin class (i.e, the function selector- > mixin-canonicalize-pane) allows the navigation widget to be re- > rendered with "info" as the name and nil as the widget (...or > something like that. I'm still not clear on exactly what happens to > the evaluated result of the lambda). > > Am I close? > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "weblocks" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/weblocks?hl=en -~----------~----~----~----~------~----~------~--~---
