summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-12-27 16:11:49 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-01-11 17:30:46 +0100
commit158b09a4c50277d70d5c1b4ad13688856ad87195 (patch)
tree18e754e8fc205e363f55915daf7c2e91e0371136
parent69d0e8b83de379d283bbb74097ad0f116fe4efaa (diff)
downloadIshtar-158b09a4c50277d70d5c1b4ad13688856ad87195.tar.bz2
Ishtar-158b09a4c50277d70d5c1b4ad13688856ad87195.zip
Table gallery: manage hover caption
-rw-r--r--ishtar_common/static/js/ishtar.js17
-rw-r--r--ishtar_common/templates/base.html2
-rw-r--r--ishtar_common/templates/blocks/DataTables.html1
-rw-r--r--ishtar_common/views_item.py20
4 files changed, 31 insertions, 9 deletions
diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js
index 18f83f155..9fb138ff2 100644
--- a/ishtar_common/static/js/ishtar.js
+++ b/ishtar_common/static/js/ishtar.js
@@ -998,6 +998,7 @@ var render_gallery = function(data_table, table_name, nb_select, gallery_id){
html += '</select> ' + entries_msg + '</label>';
html += "<div class='ishtar-gallery d-flex flex-wrap' id='" + gallery_id + "'>";
var captions = '<div class="lightgallery-captions">';
+ var table_cols = data_table["table-cols"];
$.each(data_table["rows"], function(idx, data){
var thumb = "";
@@ -1020,8 +1021,20 @@ var render_gallery = function(data_table, table_name, nb_select, gallery_id){
if ("name" in data){
name = data["name"];
}
- var caption_id = 'lightgallery-' + gallery_id +'-caption-' + data["id"];
- html += '<div class="card m-2">';
+ var hover = "";
+ for (idx_tc in table_cols){
+ var key = table_cols[idx_tc];
+ if (idx_tc < 7 && key in data && data[key]){
+ if (idx_tc == 3 || idx_tc == 6){
+ hover += "<br>";
+ } else if (hover){
+ hover += " - ";
+ }
+ hover += data[key].replace(/"/g, '&quot;');
+ }
+ }
+ var caption_id = 'lightgallery-' + gallery_id +'-caption-' + data["id"];
+ html += '<div class="card m-2" data-toggle="tooltip" data-html="true" title="' + hover + '">';
html += '<a data-sub-html="#'+ caption_id + '" class="thumb-image" href="' + image + '">';
html += '<img class="card-img-top" src="' + thumb + '">';
html += '</a>';
diff --git a/ishtar_common/templates/base.html b/ishtar_common/templates/base.html
index c84083409..f35b17983 100644
--- a/ishtar_common/templates/base.html
+++ b/ishtar_common/templates/base.html
@@ -11,8 +11,8 @@
</script>
<script language="javascript" type="text/javascript" src="{{JQUERY_URL}}?ver={{VERSION}}"></script>
<script language="javascript" type="text/javascript" src="{{STATIC_URL}}popper.min.js?ver={{VERSION}}"></script>
- <script language="javascript" type="text/javascript" src="{{STATIC_URL}}bootstrap/bootstrap.js?ver={{VERSION}}"></script>
<script language="javascript" type="text/javascript" src="{{JQUERY_UI_URL}}jquery-ui.js?ver={{VERSION}}"></script>
+ <script language="javascript" type="text/javascript" src="{{STATIC_URL}}bootstrap/bootstrap.js?ver={{VERSION}}"></script>
<script language="javascript" type="text/javascript" src="{{STATIC_URL}}js/chosen/chosen.jquery.min.js?ver={{VERSION}}"></script>
{# <script language="javascript" type="text/javascript" src="{{STATIC_URL}}js/prettyPhoto/js/jquery.prettyPhoto.js?ver={{VERSION}}"></script> #}
<script language="javascript" type="text/javascript"
diff --git a/ishtar_common/templates/blocks/DataTables.html b/ishtar_common/templates/blocks/DataTables.html
index 2bd292cf5..102eb792b 100644
--- a/ishtar_common/templates/blocks/DataTables.html
+++ b/ishtar_common/templates/blocks/DataTables.html
@@ -81,6 +81,7 @@ gallery_submit_search = function(){
render_gallery(data, "{{name}}", nb_select, gallery_id));
$("#id_{{name}}-length_image").change(gallery_submit_search);
register_image_gallery(gallery_id);
+ $('.card[data-toggle="tooltip"]').tooltip();
});
if ($('.modal-progress').length > 0){
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index 73569d4cb..c2fab5bde 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -1289,6 +1289,7 @@ def get_item(model, func_name, default_name, extra_request_keys=None,
table_cols = settings.TABLE_COLS[tb_key]
else:
table_cols = model.TABLE_COLS
+ table_cols = table_cols[:]
query_table_cols = []
for cols in table_cols:
if type(cols) not in (list, tuple):
@@ -1304,18 +1305,24 @@ def get_item(model, func_name, default_name, extra_request_keys=None,
if col in model.CONTEXTUAL_TABLE_COLS[contxt]:
query_table_cols[idx] = \
model.CONTEXTUAL_TABLE_COLS[contxt][col]
- if full == 'shortcut' or data_type == 'json-image':
+ if full == 'shortcut':
if model.SLUG == "warehouse":
query_table_cols = ['name']
table_cols = ['name']
else:
query_table_cols = ['cached_label']
table_cols = ['cached_label']
- if data_type == 'json-image':
- query_table_cols.append('main_image__image')
- query_table_cols.append('main_image__thumbnail')
- table_cols.append('main_image__image')
- table_cols.append('main_image__thumbnail')
+ if data_type == 'json-image':
+ if model.SLUG == "warehouse":
+ query_table_cols.append('name')
+ table_cols.append('name')
+ else:
+ query_table_cols.append('cached_label')
+ table_cols.append('cached_label')
+ query_table_cols.append('main_image__image')
+ query_table_cols.append('main_image__thumbnail')
+ table_cols.append('main_image__image')
+ table_cols.append('main_image__thumbnail')
# manage sort tables
manual_sort_key = None
@@ -1530,6 +1537,7 @@ def get_item(model, func_name, default_name, extra_request_keys=None,
"recordsTotal": items_nb,
"recordsFiltered": items_nb,
"rows": rows,
+ "table-cols": table_cols,
"pinned-search": pinned_search,
"page": page_nb,
"total": (items_nb / row_nb + 1) if row_nb else items_nb,