summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-12-26 12:53:32 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-01-11 17:30:46 +0100
commit7fc3ce567d33cba2eb173291cbb3399ed3dfce47 (patch)
treedc97a465bd1ccbd964efea86e5c11456af619e85 /ishtar_common
parentd4fa2de2b569cc2b8eff1cd279420299cf6686f2 (diff)
downloadIshtar-7fc3ce567d33cba2eb173291cbb3399ed3dfce47.tar.bz2
Ishtar-7fc3ce567d33cba2eb173291cbb3399ed3dfce47.zip
Gallery table: init gallery for gallery table
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/static/js/ishtar.js27
-rw-r--r--ishtar_common/templates/blocks/DataTables.html6
-rw-r--r--ishtar_common/views_item.py2
3 files changed, 27 insertions, 8 deletions
diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js
index 04957d7a2..18f83f155 100644
--- a/ishtar_common/static/js/ishtar.js
+++ b/ishtar_common/static/js/ishtar.js
@@ -984,7 +984,7 @@ var dt_multi_enable_disable_submit_button = function(e, dt, type, indexes){
}
};
-var render_gallery = function(data_table, table_name, nb_select){
+var render_gallery = function(data_table, table_name, nb_select, gallery_id){
var html = '<label>' + show_msg;
var id_select = table_name + '-length_image';
html += ' <select name="' + id_select + '" id="id_' + id_select + '">';
@@ -996,9 +996,16 @@ var render_gallery = function(data_table, table_name, nb_select){
html += '>' + nb + '</option>';
}
html += '</select> ' + entries_msg + '</label>';
- html += "<div class='ishtar-gallery d-flex flex-wrap'>";
+ html += "<div class='ishtar-gallery d-flex flex-wrap' id='" + gallery_id + "'>";
+ var captions = '<div class="lightgallery-captions">';
$.each(data_table["rows"], function(idx, data){
+ var thumb = "";
+ if ("main_image__thumbnail" in data){
+ thumb = data["main_image__thumbnail"];
+ } else {
+ thumb = static_path + "media/images/empty-image.png";
+ }
var image = "";
if ("main_image__image" in data){
image = data["main_image__image"];
@@ -1013,15 +1020,21 @@ var render_gallery = function(data_table, table_name, nb_select){
if ("name" in data){
name = data["name"];
}
+ var caption_id = 'lightgallery-' + gallery_id +'-caption-' + data["id"];
html += '<div class="card m-2">';
- html += '<a class="thumb-image" href="#">';
- html += '<img class="card-img-top" src="' + image + '">';
+ html += '<a data-sub-html="#'+ caption_id + '" class="thumb-image" href="' + image + '">';
+ html += '<img class="card-img-top" src="' + thumb + '">';
html += '</a>';
html += '<div class="card-body">';
html += '<h4 class="card-title">' + link + " " + name + '</h4>';
html += "</div></div>";
+ captions += '<div id="' + caption_id + '">';
+ captions += '<span class="close">&times</span>';
+ captions += name;
+ captions += '</div>';
});
html += "</div>";
+ captions += '</div >';
/* pagination */
var page_total = data_table['total'];
@@ -1079,7 +1092,7 @@ var render_gallery = function(data_table, table_name, nb_select){
page_current + 1, page_current, "Next", disabled, " next");
html += '</ul></div></div>';
- return html;
+ return captions + html;
};
var render_paginate_button = function(nb, current, label, disabled, extra_class){
@@ -1100,11 +1113,13 @@ var render_paginate_button = function(nb, current, label, disabled, extra_class)
var current_image_page = 1;
-var register_image_paginate = function(){
+var register_image_gallery = function(gallery_id){
$(".image-pagination .paginate_button a").click(function(){
current_image_page = $(this).attr('data-dt-idx');
gallery_submit_search();
});
+ lightGallery(document.getElementById(gallery_id),
+ {selector: '.thumb-image'}) ;
};
var main_submit_search = function(){
diff --git a/ishtar_common/templates/blocks/DataTables.html b/ishtar_common/templates/blocks/DataTables.html
index 2e2897539..2bd292cf5 100644
--- a/ishtar_common/templates/blocks/DataTables.html
+++ b/ishtar_common/templates/blocks/DataTables.html
@@ -75,10 +75,12 @@ gallery_submit_search = function(){
var url = "{{source}}json-image?length=" + nb_select + "&submited=1&" + data;
$.getJSON(url, function(data) {
+ var timestamp = Math.floor(Date.now() / 1000);
+ var gallery_id = "gallery-" + timestamp;
$("#tab-content-gallery-{{name}}").html(
- render_gallery(data, "{{name}}", nb_select));
+ render_gallery(data, "{{name}}", nb_select, gallery_id));
$("#id_{{name}}-length_image").change(gallery_submit_search);
- register_image_paginate();
+ register_image_gallery(gallery_id);
});
if ($('.modal-progress').length > 0){
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index dee4d2ffb..73569d4cb 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -1313,7 +1313,9 @@ def get_item(model, func_name, default_name, extra_request_keys=None,
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')
# manage sort tables
manual_sort_key = None