mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-05-05 04:52:47 +02:00
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
This commit is contained in:
@@ -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
|
||||
});
|
||||
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user