Final grid refactor; we now have just 'grids' :)

this also removes some old UI stuff for the first attempt at continuum
versioning..among other cruft
This commit is contained in:
Lance Edgar 2017-07-14 20:30:00 -05:00
parent 52c7f485ab
commit c57e2e17cc
61 changed files with 179 additions and 1590 deletions

View file

@ -0,0 +1,38 @@
## -*- coding: utf-8 -*-
<div class="newgrid-wrapper">
<table class="grid-header">
<tbody>
<tr>
<td class="filters" rowspan="2">
% if grid.filterable:
${grid.render_filters(allow_save_defaults=allow_save_defaults)|n}
% endif
</td>
<td class="menu">
% if context_menu:
<ul id="context-menu">
${context_menu|n}
</ul>
% endif
</td>
</tr>
<tr>
<td class="tools">
% if tools:
<div class="grid-tools">
${tools|n}
</div><!-- grid-tools -->
% endif
</td>
</tr>
</tbody>
</table><!-- grid-header -->
${grid.render_grid()|n}
</div><!-- newgrid-wrapper -->

View file

@ -0,0 +1,38 @@
## -*- coding: utf-8 -*-
<div class="newfilters">
${form.begin(method='get')}
<input type="hidden" name="reset-to-default-filters" value="false" />
<input type="hidden" name="save-current-filters-as-defaults" value="false" />
<fieldset>
<legend>Filters</legend>
% for filtr in form.iter_filters():
<div class="filter" id="filter-${filtr.key}" data-key="${filtr.key}"${' style="display: none;"' if not filtr.active else ''|n}>
${form.checkbox('{0}-active'.format(filtr.key), class_='active', id='filter-active-{0}'.format(filtr.key), checked=filtr.active)}
<label for="filter-active-${filtr.key}">${filtr.label}</label>
<div class="inputs">
${form.filter_verb(filtr)}
${form.filter_value(filtr)}
</div>
</div>
% endfor
</fieldset>
<div class="buttons">
${form.tag('button', type='submit', id='apply-filters', c="Apply Filters")}
<select id="add-filter">
<option value="">Add a Filter</option>
% for filtr in form.iter_filters():
<option value="${filtr.key}"${' disabled="disabled"' if filtr.active else ''|n}>${filtr.label}</option>
% endfor
</select>
${form.tag('button', type='button', id='default-filters', c="Default View")}
${form.tag('button', type='button', id='clear-filters', c="No Filters")}
% if allow_save_defaults and request.user:
${form.tag('button', type='button', id='save-defaults', c="Save Defaults")}
% endif
</div>
${form.end()}
</div><!-- newfilters -->

View file

@ -1,63 +1,20 @@
## -*- coding: utf-8 -*-
<div ${grid.div_attrs()}>
## -*- coding: utf-8; -*-
<div class="newgrid grid3 ${grid_class}">
<table>
<thead>
<tr>
% if grid.checkboxes:
<th class="checkbox">${h.checkbox('check-all')}</th>
% endif
% for field in grid.iter_fields():
${grid.column_header(field)}
% endfor
% for col in grid.extra_columns:
<th>${col.label}</td>
% endfor
% if grid.viewable:
<th>&nbsp;</th>
% endif
% if grid.editable:
<th>&nbsp;</th>
% endif
% if grid.deletable:
<th>&nbsp;</th>
% endif
</tr>
</thead>
<tbody>
% for i, row in enumerate(grid.iter_rows(), 1):
<tr ${grid.get_row_attrs(row, i)}>
% if grid.checkboxes:
<td class="checkbox">${grid.checkbox(row)}</td>
% endif
% for field in grid.iter_fields():
<td class="${grid.cell_class(field)}">${grid.render_field(field)}</td>
% endfor
% for col in grid.extra_columns:
<td class="${col.name}">${col.callback(row)}</td>
% endfor
% if grid.viewable:
<td class="view" url="${grid.get_view_url(row)}">&nbsp;</td>
% endif
% if grid.editable:
<td class="edit" url="${grid.get_edit_url(row)}">&nbsp;</td>
% endif
% if grid.deletable:
<td class="delete" url="${grid.get_delete_url(row)}">&nbsp;</td>
% endif
</tr>
% endfor
</tbody>
${grid.make_webhelpers_grid()}
</table>
% if grid.pager:
% if grid.pageable and grid.pager:
<div class="pager">
<p class="showing">
showing ${grid.pager.first_item} thru ${grid.pager.last_item} of ${grid.pager.item_count}
(page ${grid.pager.page} of ${grid.pager.page_count})
${"showing {} thru {} of {:,d}".format(grid.pager.first_item, grid.pager.last_item, grid.pager.item_count)}
% if grid.pager.page_count > 1:
${"(page {} of {:,d})".format(grid.pager.page, grid.pager.page_count)}
% endif
</p>
<p class="page-links">
${h.select('grid-page-count', grid.pager.items_per_page, grid.page_count_options())}
${h.select('pagesize', grid.pager.items_per_page, grid.get_pagesize_options())}
per page&nbsp;
${grid.page_links()}
${grid.pager.pager('$link_first $link_previous ~1~ $link_next $link_last', symbol_next='next', symbol_previous='prev')|n}
</p>
</div>
% endif

View file

@ -0,0 +1,16 @@
## -*- coding: utf-8 -*-
<%def name="grid_index_nav()">
<div class="grid-nav">
% if grid_index > 1:
${h.link_to(u"« Previous", '{}?index={}'.format(url('{}.view_index'.format(route_prefix)), grid_index - 1), class_='button')}
% else:
${h.link_to(u"« Previous", '#', class_='button', disabled='disabled')}
% endif
<span class="viewing">viewing #${'{:,}'.format(grid_index)} of ${'{:,}'.format(grid_count)} results</span>
% if grid_index < grid_count:
${h.link_to(u"Next »", '{}?index={}'.format(url('{}.view_index'.format(route_prefix)), grid_index + 1), class_='button')}
% else:
${h.link_to(u"Next »", '#', class_='button', disabled='disabled')}
% endif
</div><!-- grid-nav -->
</%def>