diff options
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 |
commit | 158b09a4c50277d70d5c1b4ad13688856ad87195 (patch) | |
tree | 18e754e8fc205e363f55915daf7c2e91e0371136 | |
parent | 69d0e8b83de379d283bbb74097ad0f116fe4efaa (diff) | |
download | Ishtar-158b09a4c50277d70d5c1b4ad13688856ad87195.tar.bz2 Ishtar-158b09a4c50277d70d5c1b4ad13688856ad87195.zip |
Table gallery: manage hover caption
-rw-r--r-- | ishtar_common/static/js/ishtar.js | 17 | ||||
-rw-r--r-- | ishtar_common/templates/base.html | 2 | ||||
-rw-r--r-- | ishtar_common/templates/blocks/DataTables.html | 1 | ||||
-rw-r--r-- | ishtar_common/views_item.py | 20 |
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, '"'); + } + } + 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, |