Part of twisted.web.woven.widgets View Source View In Hierarchy
Known subclasses: twisted.web.woven.widgets.KeyedList
I am a widget which knows how to generateDOM for a python list.
A List should be specified in the template HTML as so:| <ul model="blah" view="List"> | <li pattern="emptyList">This will be displayed if the list | is empty.</li> | <li pattern="listItem" view="Text">Foo</li> | </ul>If you have nested lists, you may also do something like this:
| <table model="blah" view="List"> | <tr pattern="listHeader"><th>A</th><th>B</th></tr> | <tr pattern="emptyList"><td colspan='2'>***None***</td></tr> | <tr pattern="listItem"> | <td><span view="Text" model="1" /></td> | <td><span view="Text" model="2" /></td> | </tr> | <tr pattern="listFooter"><td colspan="2">All done!</td></tr> | </table>Where blah is the name of a list on the model; eg:
| self.model.blah = ['foo', 'bar']
| Method | generateDOM | |
| Method | _iterateData | Undocumented |
Inherited from Widget:
| Method | __init__ | |
| Method | initialize | Use this method instead of __init__ to initialize your Widget, so you |
| Method | setSubmodel | I use the submodel to know which attribute in self.model I am responsible for |
| Method | getData | I have a model; however since I am a widget I am only responsible |
| Method | setData | If the return value of getData
is a Deferred, I am called
|
| Method | add | Add `item' to the children of the resultant DOM Node of this widget. |
| Method | appendChild | Add `item' to the children of the resultant DOM Node of this widget. |
| Method | insert | Insert `item' at `index' in the children list of the resultant DOM Node |
| Method | setNode | Set a node for this widget to use instead of creating one programatically. |
| Method | cleanNode | Do your part, prevent infinite recursion! |
| Method | generate | Allow a view to be used like a widget. Will look up the template |
| Method | setDataCallback | Undocumented |
| Method | setUp | Override this method to set up your Widget prior to generateDOM. This |
| Method | modelChanged | Rerender this view, because our model has changed. |
| Method | __setitem__ | Convenience syntax for adding attributes to the resultant DOM Node of |
| Method | __getitem__ | Convenience syntax for getting an attribute from the resultant DOM Node |
| Method | setError | Convenience method for allowing a Controller to report an error to the |
| Method | getTopModel | Get a reference to this page's top model object. |
| Method | getAllPatterns | Get all nodes below this one which have a matching pattern attribute. |
| Method | getPattern | Get a named slot from the incoming template node. Returns a copy |
| Method | addUpdateMethod | Add a method to this widget that will be called when the widget |
| Method | addEventHandler | Add an event handler to this widget. eventName is a string |
| Method | onEvent | Dispatch a client-side event to an event handler that was |
| Method | _reset | Undocumented |
| Method | _regenerate | Undocumented |
Inherited from View (via Widget):
| Method | getChild | Undocumented |
| Method | getChildWithDefault | Return a child with the given name for the given request. |
| Method | setupAllStacks | Undocumented |
| Method | setupViewStack | Undocumented |
| Method | importViewLibrary | Import the given object or module into this View's view namespace |
| Method | render | Render a request. This is called on the leaf resource for |
| Method | getTemplate | Override this if you want to have your subclass look up its template |
| Method | lookupTemplate | Use acquisition to look up the template named by self.templateFile, |
| Method | handleDocument | Handle the root node, and send the page if there are no |
| Method | handleOutstanding | Undocumented |
| Method | recurseChildren | If this node has children, handle them. |
| Method | dispatchResult | Check a given result from handling a node and look up a NodeMutator |
| Method | setController | Set the controller that this view is related to. |
| Method | getNodeModel | Get the model object associated with this node. If this node has a |
| Method | getNodeController | Get a controller object to handle this node. If the node has no |
| Method | getSubview | Get a sub-view from me. |
| Method | getNodeView | Undocumented |
| Method | handleNode | Undocumented |
| Method | handleControllerResults | Handle a deferred from a controller. |
| Method | handleNewNode | Undocumented |
| Method | sendPage | Check to see if handlers recorded any errors before sending the page |
| Method | setSubviewFactory | Set the callable "factory", which takes a model and should |
| Method | unlinkViews | Undocumented |
| Method | dispatchResultCallback | Deal with a callback from a deferred, checking to see if it is |
| Method | renderFailure | Undocumented |
| Returns | A DOM Node to replace the Node in the template that this Widget handles.
This Node is created based on tagName, children,
and attributes (You should populate these in setUp,
probably).
| |