summaryrefslogtreecommitdiff
path: root/ishtar_common/templates/blocks/DataTables.html
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/templates/blocks/DataTables.html')
-rw-r--r--ishtar_common/templates/blocks/DataTables.html158
1 files changed, 99 insertions, 59 deletions
diff --git a/ishtar_common/templates/blocks/DataTables.html b/ishtar_common/templates/blocks/DataTables.html
index 096650115..07725353c 100644
--- a/ishtar_common/templates/blocks/DataTables.html
+++ b/ishtar_common/templates/blocks/DataTables.html
@@ -27,50 +27,79 @@
</div>
</div>
-<div id="grid_{{name}}_meta_wrapper">
- <table id='grid_{{name}}' class="display" width="100%">
- <thead>
- <tr>
- <th></th>
- <th></th>{% for col in col_names %}
- <th>{{col}}</th>
- {% endfor %}</tr>
- </thead>
- </table>
-</div>
+<ul class="nav nav-tabs m-3">
+ <li class="nav-item">
+ <a class="nav-link active" id="tab-grid-{{name}}" data-toggle="tab"
+ href="#tab-content-grid-{{name}}" role="tab"
+ aria-controls="tab-content-grid-{{name}}" aria-selected="true">
+ {% trans "Table" %}
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" id="tab-gallery-{{name}}" data-toggle="tab"
+ href="#tab-content-gallery-{{name}}" role="tab"
+ aria-controls="tab-content-gallery-{{name}}" aria-selected="true">
+ {% trans "Gallery" %}
+ </a>
+ </li>
+</ul>
-<div id='foot_{{name}}' class="gridfooter row toolbar">
- <div class='col-md-2'>
- <div class="btn-group btn-group-sm" role="group">
- <button type='button' class="btn btn-secondary" data-toggle="modal"
- data-target="#modal_grid_{{name}}">
- {% trans "Expand table" %} <i class="fa fa-expand" aria-hidden="true"></i>
- </button>
- </div>
+
+<div class="tab-content">
+ <div class="tab-pane active"
+ id="tab-content-grid-{{name}}" role="tabpanel"
+ aria-labelledby="tab-grid-{{name}}">
+
+ <div id="grid_{{name}}_meta_wrapper">
+ <table id='grid_{{name}}' class="display" width="100%">
+ <thead>
+ <tr>
+ <th></th>
+ <th></th>{% for col in col_names %}
+ <th>{{col}}</th>
+ {% endfor %}</tr>
+ </thead>
+ </table>
</div>
- <div class='col-md-2'>
- <div class="btn-group btn-group-sm" role="group"
- aria-label="{% trans 'Export'%}">
- {% if source_full or extra_sources %}
- <a class="btn btn-secondary" href='{{source}}csv' target='_blank'
- title="{% trans 'Export as CSV - ' %}{% trans 'simple'%}">{% trans "Simple CSV" %}</a>
- {% if source_full %}<a class='btn btn-secondary' href='{{source_full}}csv' target='_blank' title="{% trans 'Export as CSV - full' %}">{% trans "CSV full" %}</a>{% endif %}
- {% for slug, name, extra_source in extra_sources %}
- <a class="btn btn-secondary" href='{{extra_source}}csv' target='_blank' title="{% trans 'Export as CSV - ' %}{{name}}">{{name}}</a>
- {% endfor %}
- {% else %}
- <a class="btn btn-secondary" href="{{source}}csv" target="_blank" title="{% trans 'Export as CSV' %}">{% trans "CSV" %}</a>
- {% endif %}
+
+ <div id='foot_{{name}}' class="gridfooter row toolbar">
+ <div class='col-md-2'>
+ <div class="btn-group btn-group-sm" role="group">
+ <button type='button' class="btn btn-secondary" data-toggle="modal"
+ data-target="#modal_grid_{{name}}">
+ {% trans "Expand table" %} <i class="fa fa-expand" aria-hidden="true"></i>
+ </button>
+ </div>
+ </div>
+ <div class='col-md-2'>
+ <div class="btn-group btn-group-sm" role="group"
+ aria-label="{% trans 'Export'%}">
+ {% if source_full or extra_sources %}
+ <a class="btn btn-secondary" href='{{source}}csv' target='_blank'
+ title="{% trans 'Export as CSV - ' %}{% trans 'simple'%}">{% trans "Simple CSV" %}</a>
+ {% if source_full %}<a class='btn btn-secondary' href='{{source_full}}csv' target='_blank' title="{% trans 'Export as CSV - full' %}">{% trans "CSV full" %}</a>{% endif %}
+ {% for slug, name, extra_source in extra_sources %}
+ <a class="btn btn-secondary" href='{{extra_source}}csv' target='_blank' title="{% trans 'Export as CSV - ' %}{{name}}">{{name}}</a>
+ {% endfor %}
+ {% else %}
+ <a class="btn btn-secondary" href="{{source}}csv" target="_blank" title="{% trans 'Export as CSV' %}">{% trans "CSV" %}</a>
+ {% endif %}
+ </div>
</div>
</div>
-</div>
-{% if multiple %}
-<input type="button" id="add_button_{{name}}" value="{% trans 'Add' %}"/>
-<ul id="selectmulti_{{name}}" class="selectmulti"></ul>
-{% endif %}
+ {% if multiple %}
+ <input type="button" id="add_button_{{name}}" value="{% trans 'Add' %}"/>
+ <ul id="selectmulti_{{name}}" class="selectmulti"></ul>
+ {% endif %}
-<input type="hidden" id="hidden_{{name}}" name="{{name}}"/>
+ <input type="hidden" id="hidden_{{name}}" name="{{name}}"/>
+ </div>
+ <div class="tab-pane active"
+ id="tab-content-gallery-{{name}}" role="tabpanel"
+ aria-labelledby="tab-gallery-{{name}}">
+ </div>
+</div>
<script type="text/javascript" language='javascript'>
$('#modal_grid_{{name}}').on('show.bs.modal', function (e) {
@@ -90,33 +119,41 @@ $('#modal_grid_{{name}}').on('hide.bs.modal', function (e) {
current_modal = null;
});
+$("#tab-gallery-{{name}}").click(function(){
+ current_tab = "gallery";
+ gallery_submit_search();
+});
+
+$("#tab-grid-{{name}}").click(function(){
+ current_tab = "table";
+ datatable_submit_search();
+});
+
var query_vars = new Array({{col_idx|safe}});
var selItems_{{sname}} = new Array();
+gallery_submit_search = function(){
+ var data = search_get_query_data(query_vars, "{{name}}");
+ var nb_select = jQuery("#id_{{name}}-length_image").val();
+ if (!nb_select) nb_select = 10;
+
+ var url = "{{source}}json-image?length=" + nb_select + "&submited=1&" + data;
+ $.getJSON(url, function(data) {
+ $("#tab-content-gallery-{{name}}").html(
+ render_gallery(data, "{{name}}", nb_select));
+ $("#id_{{name}}-length_image").change(gallery_submit_search);
+ register_image_paginate();
+ });
-datatable_submit_search = function(){
- $("#id_search_vector").removeClass('input-progress');
if ($('.modal-progress').length > 0){
- $('.modal-progress').modal('show');
- }
- var data = "";
- for (idx in query_vars){
- var key = query_vars[idx];
- var item = jQuery("#id_"+key);
- var val = null;
- if (item.prop('type') == 'checkbox'){
- if (item.prop('checked')){
- var val = item.val();
- }
- } else {
- var val = item.val();
- }
- if (val){
- if (data) data += "&";
- data += key + "=" + encodeURIComponent(val);
- }
+ $('.modal-progress').modal('hide');
}
+ return false;
+};
+
+datatable_submit_search = function(){
+ var data = search_get_query_data(query_vars, "{{name}}");
var mygrid = jQuery("#grid_{{name}}");
var url = "{{source}}?submited=1&" + data;
datatable_{{sname}}.ajax.url(url).load();
@@ -134,8 +171,11 @@ datatable_submit_search = function(){
return false;
};
+
jQuery(document).ready(function(){
- jQuery("#search_{{name}}").click(datatable_submit_search);
+ jQuery("#search_{{name}}").click(
+ main_submit_search
+ );
var base_source = "{{source}}";