Skip to content

Commit

Permalink
moved around 100k of javascript from synchronous loading to async... …
Browse files Browse the repository at this point in the history
…(a lot more could be done...)

git-svn-id: http://piwigo.org/svn/trunk@28806 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
rvelices committed Jun 26, 2014
1 parent 979ca74 commit ec03d11
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 64 deletions.
51 changes: 51 additions & 0 deletions admin/themes/default/js/batchManagerGlobal.js
@@ -0,0 +1,51 @@

/* Shift-click: select all photos between the click and the shift+click */
jQuery(document).ready(function() {
var last_clicked=0,
last_clickedstatus=true;
jQuery.fn.enableShiftClick = function() {
var inputs = [],
count=0;
this.find('input[type=checkbox]').each(function() {
var pos=count;
inputs[count++]=this;
$(this).bind("shclick", function (dummy,event) {
if (event.shiftKey) {
var first = last_clicked;
var last = pos;
if (first > last) {
first=pos;
last=last_clicked;
}

for (var i=first; i<=last;i++) {
input = $(inputs[i]);
$(input).prop('checked', last_clickedstatus);
if (last_clickedstatus)
{
$(input).siblings("span.wrap2").addClass("thumbSelected");
}
else
{
$(input).siblings("span.wrap2").removeClass("thumbSelected");
}
}
}
else {
last_clicked = pos;
last_clickedstatus = this.checked;
}
return true;
});
$(this).click(function(event) { $(this).triggerHandler("shclick",event)});
});
}
$('ul.thumbnails').enableShiftClick();
});

jQuery('[data-datepicker]').pwgDatepicker({
showTimepicker: true,
cancelButton: lang.Cancel
});

jQuery("a.preview-box").colorbox();
68 changes: 11 additions & 57 deletions admin/themes/default/template/batch_manager_global.tpl
@@ -1,6 +1,5 @@
{include file='include/tag_selection.inc.tpl'}
{include file='include/datepicker.inc.tpl'}
{include file='include/colorbox.inc.tpl'}
{include file='include/datepicker.inc.tpl' load_mode='async'}
{include file='include/colorbox.inc.tpl' load_mode='async'}
{include file='include/add_album.inc.tpl'}

{combine_script id='common' load='footer' path='admin/themes/default/js/common.js'}
Expand All @@ -14,63 +13,18 @@
{combine_script id='jquery.selectize' load='footer' path='themes/default/js/plugins/selectize.min.js'}
{combine_css id='jquery.selectize' path="themes/default/js/plugins/selectize.`$selectizeTheme`.css"}

{combine_script id='jquery.progressBar' load='footer' path='themes/default/js/plugins/jquery.progressbar.min.js'}
{combine_script id='jquery.ajaxmanager' load='footer' path='themes/default/js/plugins/jquery.ajaxmanager.js'}
{combine_script id='jquery.progressBar' load='async' path='themes/default/js/plugins/jquery.progressbar.min.js'}
{combine_script id='jquery.ajaxmanager' load='async' path='themes/default/js/plugins/jquery.ajaxmanager.js'}

{footer_script}{literal}
/* Shift-click: select all photos between the click and the shift+click */
jQuery(document).ready(function() {
var last_clicked=0;
var last_clickedstatus=true;
jQuery.fn.enableShiftClick = function() {
var inputs = [];
var count=0;
this.find('input[type=checkbox]').each(function() {
var pos=count;
inputs[count++]=this;
$(this).bind("shclick", function (dummy,event) {
if (event.shiftKey) {
var first = last_clicked;
var last = pos;
if (first > last) {
first=pos;
last=last_clicked;
}

for (var i=first; i<=last;i++) {
input = $(inputs[i]);
$(input).prop('checked', last_clickedstatus);
if (last_clickedstatus)
{
$(input).siblings("span.wrap2").addClass("thumbSelected");
}
else
{
$(input).siblings("span.wrap2").removeClass("thumbSelected");
}
}
}
else {
last_clicked = pos;
last_clickedstatus = this.checked;
}
return true;
});
$(this).click(function(event) { $(this).triggerHandler("shclick",event)});
});
}
$('ul.thumbnails').enableShiftClick();
});
{/literal}
{combine_script id='batchManagerGlobal' load='async' require='jquery,datepicker,jquery.colorbox,addAlbum' path='admin/themes/default/js/batchManagerGlobal.js'}

jQuery(document).ready(function() {ldelim}
jQuery('[data-datepicker]').pwgDatepicker({
showTimepicker: true,
cancelButton: '{'Cancel'|translate}'
});
{footer_script}
var lang = {
Cancel: '{'Cancel'|translate|escape:'javascript'}'
};

jQuery(document).ready(function() {
jQuery("a.preview-box").colorbox();

{* <!-- TAGS --> *}
var tagsCache = new TagsCache({
serverKey: '{$CACHE_KEYS.tags}',
Expand Down
5 changes: 3 additions & 2 deletions admin/themes/default/template/include/add_album.inc.tpl
@@ -1,10 +1,11 @@
{include file='include/colorbox.inc.tpl'}
{if empty($load_mode)}{$load_mode='footer'}{/if}
{include file='include/colorbox.inc.tpl' load_mode=$load_mode}

{assign var="selectizeTheme" value=($themeconf.name=='roma')|ternary:'dark':'default'}
{combine_script id='jquery.selectize' load='footer' path='themes/default/js/plugins/selectize.min.js'}
{combine_css id='jquery.selectize' path="themes/default/js/plugins/selectize.`$selectizeTheme`.css"}

{combine_script id='addAlbum.js' load='footer' require='jquery.colorbox' path='admin/themes/default/js/addAlbum.js'}
{combine_script id='addAlbum' load=$load_mode path='admin/themes/default/js/addAlbum.js'}

<div style="display:none">
<div id="addAlbumForm">
Expand Down
3 changes: 2 additions & 1 deletion admin/themes/default/template/include/colorbox.inc.tpl
@@ -1,2 +1,3 @@
{combine_script id='jquery.colorbox' load='footer' require='jquery' path='themes/default/js/plugins/jquery.colorbox.min.js'}
{if empty($load_mode)}{$load_mode='footer'}{/if}
{combine_script id='jquery.colorbox' load=$load_mode require='jquery' path='themes/default/js/plugins/jquery.colorbox.min.js'}
{combine_css id='jquery.colorbox' path="themes/default/js/plugins/colorbox/style2/colorbox.css"}
9 changes: 5 additions & 4 deletions admin/themes/default/template/include/datepicker.inc.tpl
@@ -1,14 +1,15 @@
{combine_script id='jquery.ui.timepicker-addon' load='footer' require='jquery.ui.datepicker,jquery.ui.slider' path="themes/default/js/ui/jquery.ui.timepicker-addon.js"}
{combine_script id='datepicker.js' load='footer' require='jquery.ui.timepicker-addon' path='admin/themes/default/js/datepicker.js'}
{if empty($load_mode)}{$load_mode='footer'}{/if}
{combine_script id='jquery.ui.timepicker-addon' load=$load_mode require='jquery.ui.datepicker,jquery.ui.slider' path="themes/default/js/ui/jquery.ui.timepicker-addon.js"}
{combine_script id='datepicker' load=$load_mode require='jquery.ui.timepicker-addon' path='admin/themes/default/js/datepicker.js'}

{assign var="datepicker_language" value="themes/default/js/ui/i18n/jquery.ui.datepicker-`$lang_info.code`.js"}
{if "PHPWG_ROOT_PATH"|@constant|@cat:$datepicker_language|@file_exists}
{combine_script id="jquery.ui.datepicker-$lang_info.code" load='footer' require='jquery.ui.datepicker' path=$datepicker_language}
{combine_script id="jquery.ui.datepicker-$lang_info.code" load=$load_mode require='jquery.ui.datepicker' path=$datepicker_language}
{/if}

{assign var="timepicker_language" value="themes/default/js/ui/i18n/jquery.ui.timepicker-`$lang_info.code`.js"}
{if "PHPWG_ROOT_PATH"|@constant|@cat:$datepicker_language|@file_exists}
{combine_script id="jquery.ui.timepicker-$lang_info.code" load='footer' require='jquery.ui.timepicker-addon' path=$timepicker_language}
{combine_script id="jquery.ui.timepicker-$lang_info.code" load=$load_mode require='jquery.ui.timepicker-addon' path=$timepicker_language}
{/if}

{combine_css path="themes/default/js/ui/theme/jquery.ui.theme.css"}
Expand Down

0 comments on commit ec03d11

Please sign in to comment.