121 lines
5.0 KiB
Twig
121 lines
5.0 KiB
Twig
|
|
{% macro data_table_column_modal(name, entries) %}
|
|
<div class="modal fade" id="modal_{{ name }}" tabindex="-1" role="dialog" aria-labelledby="data_table_modal_label">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
<h4 class="modal-title" id="myModalLabel">{{ 'modal.columns.title'|trans }}</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form name="{{ name }}_visibility">
|
|
{% for title, class in entries %}
|
|
{% if 'alwaysVisible' not in class %}
|
|
<div class="form-group">
|
|
<input type="checkbox" id="column_{{ title }}" name="{{ title }}"{% if is_visible_column(name, title, '') %} checked="checked"{% endif %}>
|
|
<label class="control-label required" for="column_{{ title }}">{{ ('label.' ~ title)|trans }}</label>
|
|
</div>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</form>
|
|
<p>{{ 'modal.columns.description'|trans }}</p>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ 'action.close'|trans }}</button>
|
|
<button type="button" class="btn btn-primary" onclick="$.datatable.saveVisibility('#modal_{{ name }}')">{{ 'action.save'|trans }}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
{% macro data_table_column_class(name, entries, column) %}
|
|
{% spaceless %}
|
|
{% set class = '' %}
|
|
{% set always = false %}
|
|
|
|
{% if entries[column] is defined %}
|
|
{% set classes = entries[column] %}
|
|
{% if 'alwaysVisible' in classes %}
|
|
{# as this column should always be visible, we remove every class that includes hidden #}
|
|
{% for tmp in classes|split(' ') %}
|
|
{% if 'hidden' not in tmp %}
|
|
{% set class = class ~ ' ' ~ tmp %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% else %}
|
|
{% if not is_visible_column(name, column, '') %}
|
|
{% set classes = classes ~ ' hidden' %}
|
|
{% else %}
|
|
{% for tmp in classes|split(' ') %}
|
|
{% if 'hidden' in tmp %}
|
|
{% set classes = classes|replace({(tmp): ''}) %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% set class = classes %}
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
{% if not class is empty %}
|
|
{{ class }}
|
|
{% endif %}
|
|
{% endspaceless %}
|
|
{% endmacro %}
|
|
|
|
{% macro data_table_header(name, entries, form, collapseClass) %}
|
|
{% import _self as macro %}
|
|
{{ macro.data_table_column_modal(name, entries) }}
|
|
<div class="box data_table" id="datatable_{{ name }}">
|
|
{% if form %}
|
|
{% import "macros/toolbar.html.twig" as macro %}
|
|
{{ macro.toolbar(form, collapseClass) }}
|
|
{% endif %}
|
|
|
|
<div class="box-body no-padding">
|
|
<div class="dataTables_wrapper form-inline dt-bootstrap">
|
|
<div class="row">
|
|
<div class="col-sm-6"></div>
|
|
<div class="col-sm-6"></div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<table class="table table-striped table-hover dataTable" role="grid">
|
|
<thead>
|
|
<tr>
|
|
{% for title, class in entries %}
|
|
<th class="{{ macro.data_table_column_class(name, entries, title) }}">
|
|
{{ ('label.' ~ title)|trans }}
|
|
</th>
|
|
{% endfor %}
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% endmacro %}
|
|
|
|
{% macro data_table_footer(entries, route) %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
{#<div class="row">
|
|
<div class="col-sm-5">
|
|
{#<div class="dataTables_info" id="example2_info" role="status" aria-live="polite">
|
|
{{ 'datatables.entry_counter'|trans({'%from%': '1', '%to%': '10', '%total%': entries.count}) }}
|
|
</div># }
|
|
</div>
|
|
<div class="col-sm-7">
|
|
<div class="dataTables_paginate paging_simple_numbers">
|
|
{{ pagerfanta(entries, 'twitter_bootstrap3_translated', { routeName: route }) }}
|
|
</div>
|
|
</div>
|
|
</div>#}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="navigation text-center no-print">
|
|
{{ pagerfanta(entries, 'twitter_bootstrap3_translated', { proximity: 1, routeName: route }) }}
|
|
</div>
|
|
{% endmacro %}
|