# HG changeset patch # User Thierry Florac <thierry.florac@onf.fr> # Date 1528896867 -7200 # Node ID bff947c6b22781112aa4764d54166aee5855d621 # Parent 1aa6dded00ac91d08f8b4d54aef1fab9ec168053 Added method and template to render an empty table diff -r 1aa6dded00ac -r bff947c6b227 src/pyams_skin/table.py --- a/src/pyams_skin/table.py Wed Jun 13 11:26:34 2018 +0200 +++ b/src/pyams_skin/table.py Wed Jun 13 15:34:27 2018 +0200 @@ -9,6 +9,7 @@ # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # +from pyramid.renderers import render __docformat__ = 'restructuredtext' @@ -155,6 +156,13 @@ return super(BaseTable, self).renderTable() \ .replace('<table', '<table %s' % self.get_data_attributes('table', self)) + def renderEmptyTable(self, message=''): + return render('templates/table-empty.pt', + {'view': self, + 'context': self.context, + 'message': message}, + request=self.request) + def renderRow(self, row, cssClass=None): return super(BaseTable, self).renderRow(row, cssClass) \ .replace('<tr', '<tr %s' % self.get_data_attributes('tr', row[0][0])) diff -r 1aa6dded00ac -r bff947c6b227 src/pyams_skin/templates/table-empty.pt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/pyams_skin/templates/table-empty.pt Wed Jun 13 15:34:27 2018 +0200 @@ -0,0 +1,22 @@ +<div class="ams-widget" + tal:attributes="class view.widget_class | default; + data-ams-data extension:object_data(view);"> + <header tal:condition="not:getattr(view,'hide_header',False)"> + <span tal:condition="view.widget_icon_class | nothing" + class="widget-icon"><i tal:attributes="class view.widget_icon_class"></i> + </span> + <h2 tal:content="view.title"></h2> + <tal:if condition="not:getattr(view,'hide_toolbar',False)"> + <tal:var content="structure provider:pyams.widget_title" /> + <tal:var content="structure provider:pyams.toolbar" /> + </tal:if> + </header> + <div class="widget-body no-padding" + tal:define="hide_toolbar getattr(view, 'hide_body_toolbar', False)" + tal:attributes="id string:${view.id}_body; + class python:'widget-body no-padding {0}'.format('no-widget-toolbar' if hide_toolbar else '');"> + <div class="widget-body-toolbar"></div> + <div tal:attributes="id view.id" class="noborder padding-10" + tal:content="structure message">ID</div> + </div> +</div>