Package turbogears :: Package widgets :: Module big_widgets :: Class AjaxGrid

Class AjaxGrid

source code

 object --+    
          |    
base.Widget --+
              |
             AjaxGrid

AJAX updateable datagrid based on widget.js grid

Instance Methods
 
__init__(self, refresh_url, *args, **kw)
Widget initialization.
source code
 
update_params(self, d)
Update the template parameters.
source code

Inherited from base.Widget: __call__, __repr__, __setattr__, adjust_value, display, is_named, render, retrieve_css, retrieve_javascript

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __sizeof__, __str__, __subclasshook__

Class Variables
  template = """<div id="${id}" xmlns:py="http://purl.org/kid/ns...
hash(x)
  params = ["refresh_text", "id", "defaults"]
  defaults = {}
  refresh_text = "Update"
  id = "ajaxgrid_%d" % ajaxgridcounter.next()

Inherited from base.Widget: __metaclass__, css, default, engine_name, javascript, name, params_doc

Properties

Inherited from object: __class__

Method Details

__init__(self, refresh_url, *args, **kw)
(Constructor)

source code 
Widget initialization.

All initialization has to take place in this method.
It's not thread-safe to mutate widget's attributes outside this method
or anytime after widget's first display.

*Must* call super(MyWidget, self).__init__(*args, **kw) cooperatively,
unless, of course, you know what you're doing. Preferably this should
be done before any actual work is done in the method.

Parameters:

name:        The widget's name. In input widgets, this will also be the
             name of the variable that the form will send to the
             controller. This is the only param that is safe to pass as a
             positional argument to __init__.
template:    The template that the widget should use to display itself.
             Currently only Genshi and Kid templates are supported. You
             can both initialize with a template string or with the path
             to a file-base template: 'myapp.templates.widget_tmpl'
engine_name: The engine to be used for rendering the template, if not
             specified in the template already.
default:     Default value to display when no value is passed at display
             time.
**params:    Keyword arguments specific to your widget or to any of its
             bases. If listed at class attribute 'params' the will be
             bound automatically to the widget instance.

Note: Do not confuse these parameters with parameters listed at
"params". Some widgets accept parameters at the constructor which are
not listed params, these parameter won't be passed to the template, be
automatically called, etc.

Overrides: object.__init__
(inherited documentation)

update_params(self, d)

source code 

Update the template parameters.

This method will have the last chance to update the variables sent to the template for the specific request. All parameters listed at class attribute 'params' will be available at the 'params' dict this method receives.

*Must* call super(MyWidget, self).update_params(params) cooperatively, unless, of course, your know what you're doing. Preferably this should be done before any actual work is done in the method.

Overrides: base.Widget.update_params
(inherited documentation)

Class Variable Details

template

hash(x)

Value:
"""<div id="${id}" xmlns:py="http://purl.org/kid/ns#">
    <a py:if="refresh_text"
       href="#"
       onclick="javascript:${id}_AjaxGrid.refresh(${defaults});return \
false;">
       ${refresh_text}
    </a>
    <div id="${id}_update"></div>
...