web/views/tableview.py
changeset 3377 dd9d292b6a6d
parent 3230 1d25e928c299
child 3451 6b46d73823f5
equal deleted inserted replaced
3376:f5c69485381f 3377:dd9d292b6a6d
    20 from cubicweb.web.htmlwidgets import (TableWidget, TableColumn, MenuWidget,
    20 from cubicweb.web.htmlwidgets import (TableWidget, TableColumn, MenuWidget,
    21                                       PopupBoxMenu, BoxLink)
    21                                       PopupBoxMenu, BoxLink)
    22 from cubicweb.web.facet import prepare_facets_rqlst, filter_hiddens
    22 from cubicweb.web.facet import prepare_facets_rqlst, filter_hiddens
    23 
    23 
    24 class TableView(AnyRsetView):
    24 class TableView(AnyRsetView):
    25     id = 'table'
    25     __regid__ = 'table'
    26     title = _('table')
    26     title = _('table')
    27     finalview = 'final'
    27     finalview = 'final'
    28 
    28 
    29     def form_filter(self, divid, displaycols, displayactions, displayfilter,
    29     def form_filter(self, divid, displaycols, displayactions, displayfilter,
    30                     hidden=True):
    30                     hidden=True):
   245         entity = self.rset.get_entity(row, col)
   245         entity = self.rset.get_entity(row, col)
   246         return entity.sortvalue()
   246         return entity.sortvalue()
   247 
   247 
   248 
   248 
   249 class EditableTableView(TableView):
   249 class EditableTableView(TableView):
   250     id = 'editable-table'
   250     __regid__ = 'editable-table'
   251     finalview = 'editable-final'
   251     finalview = 'editable-final'
   252     title = _('editable-table')
   252     title = _('editable-table')
   253 
   253 
   254 
   254 
   255 class CellView(EntityView):
   255 class CellView(EntityView):
       
   256     __regid__ = 'cell'
   256     __select__ = nonempty_rset()
   257     __select__ = nonempty_rset()
   257 
       
   258     id = 'cell'
       
   259 
   258 
   260     def cell_call(self, row, col, cellvid=None):
   259     def cell_call(self, row, col, cellvid=None):
   261         """
   260         """
   262         :param row, col: indexes locating the cell value in view's result set
   261         :param row, col: indexes locating the cell value in view's result set
   263         :param cellvid: cell view (defaults to 'outofcontext')
   262         :param cellvid: cell view (defaults to 'outofcontext')
   285       to 2 is advised)
   284       to 2 is advised)
   286 
   285 
   287     * the actual query (`actualrql` form parameter) whose results will be
   286     * the actual query (`actualrql` form parameter) whose results will be
   288       displayed with default restrictions set
   287       displayed with default restrictions set
   289     """
   288     """
   290     id = 'initialtable'
   289     __regid__ = 'initialtable'
   291     __select__ = nonempty_rset() & match_form_params('actualrql')
   290     __select__ = nonempty_rset() & match_form_params('actualrql')
   292     # should not be displayed in possible view since it expects some specific
   291     # should not be displayed in possible view since it expects some specific
   293     # parameters
   292     # parameters
   294     title = None
   293     title = None
   295 
   294 
   323                   actions=actions, headers=headers, divid=divid)
   322                   actions=actions, headers=headers, divid=divid)
   324         self.w(u'</div>\n')
   323         self.w(u'</div>\n')
   325 
   324 
   326 
   325 
   327 class EditableInitialTableTableView(InitialTableView):
   326 class EditableInitialTableTableView(InitialTableView):
   328     id = 'editable-initialtable'
   327     __regid__ = 'editable-initialtable'
   329     finalview = 'editable-final'
   328     finalview = 'editable-final'