aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrvelices <rv-github@modusoptimus.com>2014-06-26 20:23:50 +0000
committerrvelices <rv-github@modusoptimus.com>2014-06-26 20:23:50 +0000
commitec03d115a998e057667fb5800e574e961b2bbe31 (patch)
tree8861ad0afb74a75b7a6add3249d9ac42b031b233
parent979ca7435b3986c3c8aa7adf10685568df83b342 (diff)
moved around 100k of javascript from synchronous loading to async... (a lot more could be done...)
git-svn-id: http://piwigo.org/svn/trunk@28806 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r--admin/themes/default/js/batchManagerGlobal.js51
-rw-r--r--admin/themes/default/template/batch_manager_global.tpl68
-rw-r--r--admin/themes/default/template/include/add_album.inc.tpl5
-rw-r--r--admin/themes/default/template/include/colorbox.inc.tpl3
-rw-r--r--admin/themes/default/template/include/datepicker.inc.tpl9
5 files changed, 72 insertions, 64 deletions
diff --git a/admin/themes/default/js/batchManagerGlobal.js b/admin/themes/default/js/batchManagerGlobal.js
new file mode 100644
index 000000000..c83f134f7
--- /dev/null
+++ b/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();
diff --git a/admin/themes/default/template/batch_manager_global.tpl b/admin/themes/default/template/batch_manager_global.tpl
index 6425f49e9..bc5738a40 100644
--- a/admin/themes/default/template/batch_manager_global.tpl
+++ b/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'}
@@ -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}',
diff --git a/admin/themes/default/template/include/add_album.inc.tpl b/admin/themes/default/template/include/add_album.inc.tpl
index 0d3cd9533..d31cd2da9 100644
--- a/admin/themes/default/template/include/add_album.inc.tpl
+++ b/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">
diff --git a/admin/themes/default/template/include/colorbox.inc.tpl b/admin/themes/default/template/include/colorbox.inc.tpl
index 01a28a089..be91064e4 100644
--- a/admin/themes/default/template/include/colorbox.inc.tpl
+++ b/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"}
diff --git a/admin/themes/default/template/include/datepicker.inc.tpl b/admin/themes/default/template/include/datepicker.inc.tpl
index 2b4d20179..2d901762d 100644
--- a/admin/themes/default/template/include/datepicker.inc.tpl
+++ b/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"}