diff options
author | flop25 <flop25@piwigo.org> | 2013-01-17 18:38:54 +0000 |
---|---|---|
committer | flop25 <flop25@piwigo.org> | 2013-01-17 18:38:54 +0000 |
commit | 63198af4992a825e4e1ccd6daba30c798be71d8a (patch) | |
tree | 4a8fb38f82b02dfd919d0c481999f0e446a42f0d | |
parent | b91d2f7772db73eb3be07cd269ebacd31c8a7b1f (diff) |
bug:2820 & bug:2684
much better code : ability to pass max_requests to the js file like error_icon
git-svn-id: http://piwigo.org/svn/trunk@20212 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to '')
-rw-r--r-- | themes/default/js/thumbnails.loader.js | 5 | ||||
-rw-r--r-- | themes/default/template/comment_list.tpl | 2 | ||||
-rw-r--r-- | themes/default/template/mainpage_categories.tpl | 44 | ||||
-rw-r--r-- | themes/default/template/thumbnails.tpl | 44 |
4 files changed, 17 insertions, 78 deletions
diff --git a/themes/default/js/thumbnails.loader.js b/themes/default/js/thumbnails.loader.js index b383b7276..3d54dd825 100644 --- a/themes/default/js/thumbnails.loader.js +++ b/themes/default/js/thumbnails.loader.js @@ -1,7 +1,10 @@ +if ( typeof( max_requests ) == "undefined" ) + max_requests = 3; + var thumbnails_queue = jQuery.manageAjax.create('queued', { queue: true, cacheResponse: false, - maxRequests: 3, + maxRequests: max_requests, preventDoubleRequests: false }); diff --git a/themes/default/template/comment_list.tpl b/themes/default/template/comment_list.tpl index f70a1a075..64b6ee2b5 100644 --- a/themes/default/template/comment_list.tpl +++ b/themes/default/template/comment_list.tpl @@ -9,7 +9,7 @@ } {/html_style}{/strip} {/if} -{footer_script}var error_icon = "{$ROOT_URL}{$themeconf.icon_dir}/errors_small.png"{/footer_script} +{footer_script}var error_icon = "{$ROOT_URL}{$themeconf.icon_dir}/errors_small.png";{/footer_script} <div class="loader" style="display: none; position: fixed; right: 0;bottom: 0;"><img src="{$ROOT_URL}{$themeconf.img_dir}/ajax_loader.gif"></div> <ul class="commentsList"> {foreach from=$comments item=comment name=comment_loop} diff --git a/themes/default/template/mainpage_categories.tpl b/themes/default/template/mainpage_categories.tpl index 8657b921b..096067703 100644 --- a/themes/default/template/mainpage_categories.tpl +++ b/themes/default/template/mainpage_categories.tpl @@ -7,49 +7,17 @@ height: {$derivative_params->max_height()+5}px; } {/html_style}{/strip} +{footer_script} + var error_icon = "{$ROOT_URL}{$themeconf.icon_dir}/errors_small.png"; + var max_requests = "{$maxRequests}"; +{/footer_script} <div class="loader" style="display: none; position: fixed; right: 0;bottom: 0;"><img src="{$ROOT_URL}{$themeconf.img_dir}/ajax_loader.gif"></div> <ul class="thumbnailCategories"> {foreach from=$category_thumbnails item=cat name=cat_loop} {assign var=derivative value=$pwg->derivative($derivative_params, $cat.representative.src_image)} -{if !$derivative->is_cached() and !$js_loaded} +{if !$derivative->is_cached()} {combine_script id='jquery.ajaxmanager' path='themes/default/js/plugins/jquery.ajaxmanager.js' load='footer'} -{*combine_script id='thumbnails.loader' path='themes/default/js/thumbnails.loader.js' require='jquery.ajaxmanager' load='footer'*} -{footer_script}{literal} -var thumbnails_queue = jQuery.manageAjax.create('queued', { - queue: true, - cacheResponse: false, - maxRequests: {/literal}{$maxRequests}{literal}, - preventDoubleRequests: false -}); - -function add_thumbnail_to_queue(img, loop) { - thumbnails_queue.add({ - type: 'GET', - url: img.data('src'), - data: { ajaxload: 'true' }, - dataType: 'json', - beforeSend: function(){jQuery('.loader').show()}, - success: function(result) { - img.attr('src', result.url); - jQuery('.loader').hide(); - }, - error: function() { - if (loop < 3) - add_thumbnail_to_queue(img, ++loop); // Retry 3 times - img.attr('src', {/literal}"{$ROOT_URL}{$themeconf.icon_dir}/errors_small.png"{literal}); - jQuery('.loader').hide(); - } - }); -} - -function pwg_ajax_thumbnails_loader() { - jQuery('img[data-src]').each(function() { - add_thumbnail_to_queue(jQuery(this), 0); - }); -} -jQuery(document).ready(pwg_ajax_thumbnails_loader); -{/literal}{/footer_script} -{assign var=js_loaded value=true} +{combine_script id='thumbnails.loader' path='themes/default/js/thumbnails.loader.js' require='jquery.ajaxmanager' load='footer'} {/if} <li class="{if $smarty.foreach.cat_loop.index is odd}odd{else}even{/if}"> <div class="thumbnailCategory"> diff --git a/themes/default/template/thumbnails.tpl b/themes/default/template/thumbnails.tpl index efb9fba65..82a3ac9f1 100644 --- a/themes/default/template/thumbnails.tpl +++ b/themes/default/template/thumbnails.tpl @@ -21,47 +21,15 @@ {/if} {/if} {/html_style} +{footer_script} + var error_icon = "{$ROOT_URL}{$themeconf.icon_dir}/errors_small.png"; + var max_requests = "{$maxRequests}"; +{/footer_script} {foreach from=$thumbnails item=thumbnail} {assign var=derivative value=$pwg->derivative($derivative_params, $thumbnail.src_image)} -{if !$derivative->is_cached() and !$js_loaded} +{if !$derivative->is_cached()} {combine_script id='jquery.ajaxmanager' path='themes/default/js/plugins/jquery.ajaxmanager.js' load='footer'} -{*combine_script id='thumbnails.loader' path='themes/default/js/thumbnails.loader.js' require='jquery.ajaxmanager' load='footer'*} -{footer_script}{literal} -var thumbnails_queue = jQuery.manageAjax.create('queued', { - queue: true, - cacheResponse: false, - maxRequests: {/literal}{$maxRequests}{literal}, - preventDoubleRequests: false -}); - -function add_thumbnail_to_queue(img, loop) { - thumbnails_queue.add({ - type: 'GET', - url: img.data('src'), - data: { ajaxload: 'true' }, - dataType: 'json', - beforeSend: function(){jQuery('.loader').show()}, - success: function(result) { - img.attr('src', result.url); - jQuery('.loader').hide(); - }, - error: function() { - if (loop < 3) - add_thumbnail_to_queue(img, ++loop); // Retry 3 times - img.attr('src', {/literal}"{$ROOT_URL}{$themeconf.icon_dir}/errors_small.png"{literal}); - jQuery('.loader').hide(); - } - }); -} - -function pwg_ajax_thumbnails_loader() { - jQuery('img[data-src]').each(function() { - add_thumbnail_to_queue(jQuery(this), 0); - }); -} -jQuery(document).ready(pwg_ajax_thumbnails_loader); -{/literal}{/footer_script} -{assign var=js_loaded value=true} +{combine_script id='thumbnails.loader' path='themes/default/js/thumbnails.loader.js' require='jquery.ajaxmanager' load='footer'} {/if} <li> <span class="wrap1"> |