From c0bdb8a765065429193d2d78a707031451d4abab Mon Sep 17 00:00:00 2001 From: patdenice Date: Wed, 29 Feb 2012 21:21:46 +0000 Subject: Multisize Load thumbnails with ajax. git-svn-id: http://piwigo.org/svn/trunk@13444 68402e56-0260-453c-a942-63ccdbb3a9ee --- themes/default/js/thumbnails.loader.js | 29 +++++++++++++++++++++++++++++ themes/default/template/thumbnails.tpl | 5 ++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 themes/default/js/thumbnails.loader.js (limited to 'themes/default') diff --git a/themes/default/js/thumbnails.loader.js b/themes/default/js/thumbnails.loader.js new file mode 100644 index 000000000..e1eba51da --- /dev/null +++ b/themes/default/js/thumbnails.loader.js @@ -0,0 +1,29 @@ +var thumbnails_queue = jQuery.manageAjax.create('queued', { + queue: true, + cacheResponse: false, + maxRequests: 3, + preventDoubleRequests: false +}); + +function add_thumbnail_to_queue(img, loop) { + thumbnails_queue.add({ + type: 'GET', + url: img.data('src'), + data: { ajaxload: 'true' }, + dataType: 'json', + success: function(result) { + img.attr('src', result.url); + }, + error: function() { + if (loop < 3) + add_thumbnail_to_queue(img, ++loop); // Retry 3 times + } + }); +} + +jQuery('img').each(function() { + var img = jQuery(this); + if (typeof img.data('src') != 'undefined') { + add_thumbnail_to_queue(img, 0); + } +}); \ No newline at end of file diff --git a/themes/default/template/thumbnails.tpl b/themes/default/template/thumbnails.tpl index 0f8e57acf..6f6c09122 100644 --- a/themes/default/template/thumbnails.tpl +++ b/themes/default/template/thumbnails.tpl @@ -1,4 +1,6 @@ {if !empty($thumbnails)}{strip} +{combine_script id='jquery.ajaxmanager' path='themes/default/js/plugins/jquery.ajaxmanager.js' load='async'} +{combine_script id='thumbnails.loader' path='themes/default/js/thumbnails.loader.js' require='jquery.ajaxmanager' load='async'} {*define_derivative name='derivative_params' width=160 height=90 crop=true*} {html_style} {*Set some sizes according to maximum thumbnail width and height*} @@ -22,11 +24,12 @@ {/if} {/html_style} {foreach from=$thumbnails item=thumbnail} +{assign var=derivative value=$pwg->derivative($derivative_params, $thumbnail.src_image)}
  • - {$thumbnail.TN_ALT} + is_cached()}data-{/if}src="{$derivative->get_url()}" alt="{$thumbnail.TN_ALT}" title="{$thumbnail.TN_TITLE}"> {if $SHOW_THUMBNAIL_CAPTION } -- cgit v1.2.3