From 4db40c51926d56814c539f3e8d6d88f88aa0a815 Mon Sep 17 00:00:00 2001
From: Cerdic <cedric@yterium.com>
Date: Tue, 14 Oct 2014 11:02:47 +0000
Subject: [PATCH] Perf issue : on surcharge getScript pour le faire cacher par
 defaut, et on timestamp l'url source pour forcer la recharge du script quand
 il change

---
 prive/formulaires/dateur/inc-dateur.html   | 2 +-
 prive/formulaires/selecteur/articles.html  | 2 +-
 prive/formulaires/selecteur/generique.html | 4 ++--
 prive/formulaires/selecteur/rubriques.html | 4 ++--
 prive/javascript/ajaxCallback.js           | 9 +++++++++
 5 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/prive/formulaires/dateur/inc-dateur.html b/prive/formulaires/dateur/inc-dateur.html
index e6089879ca..06fbeb7ce3 100644
--- a/prive/formulaires/dateur/inc-dateur.html
+++ b/prive/formulaires/dateur/inc-dateur.html
@@ -55,7 +55,7 @@ if (window.jQuery){
 	jQuery(function(){
 		if (jQuery('input.date,input.heure').length
 			&& typeof date_picker_loading=="undefined"){
-			date_picker_loading = jQuery.getScript('#PRODUIRE{fond=formulaires/dateur/jquery.dateur.js}');
+			date_picker_loading = jQuery.getScript('[(#PRODUIRE{fond=formulaires/dateur/jquery.dateur.js}|timestamp)]');
 			date_picker_loading.done(function(){
 				date_picker_init();
 				onAjaxLoad(date_picker_init);
diff --git a/prive/formulaires/selecteur/articles.html b/prive/formulaires/selecteur/articles.html
index 57c0c6c1f8..0802a19031 100644
--- a/prive/formulaires/selecteur/articles.html
+++ b/prive/formulaires/selecteur/articles.html
@@ -1,5 +1,5 @@
 <script type='text/javascript'>var img_unpick='#CHEMIN_IMAGE{supprimer-12.png}';
-jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery.picker.js}');
+jQuery.getScript('[(#CHEMIN{formulaires/selecteur/jquery.picker.js}|timestamp)]');
 </script>
 [(#REM)
 
diff --git a/prive/formulaires/selecteur/generique.html b/prive/formulaires/selecteur/generique.html
index 8832219202..979756b59f 100644
--- a/prive/formulaires/selecteur/generique.html
+++ b/prive/formulaires/selecteur/generique.html
@@ -1,7 +1,7 @@
 #SET{img_unpick, #CHEMIN_IMAGE{supprimer-12.png}}
 [(#SET{label_supprimer, <:lien_supprimer:>})]
 <script type='text/javascript'>var identifiant_selecteur = 'selecteur_#ENV{name}'; var img_unpick='#GET{img_unpick}'; var selecteur_label_supprimer='#GET{label_supprimer}';
-jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery.picker.js}');
+jQuery.getScript('[(#CHEMIN{formulaires/selecteur/jquery.picker.js}|timestamp)]');
 </script>
 [(#REM)
 
@@ -65,7 +65,7 @@ afficher la selection dans un ul class item_picked
 
 [(#ENV{sortable,'non'}|=={oui}|oui)
 <script type='text/javascript'>
-jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}',function(){
+jQuery.getScript('[(#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}|timestamp)]',function(){
 	jQuery(function() {jQuery("ul.item_picked").sortable(); });
 });
 </script>
diff --git a/prive/formulaires/selecteur/rubriques.html b/prive/formulaires/selecteur/rubriques.html
index fa8bccd282..d0f3b85633 100644
--- a/prive/formulaires/selecteur/rubriques.html
+++ b/prive/formulaires/selecteur/rubriques.html
@@ -1,5 +1,5 @@
 <script type='text/javascript'>var img_unpick='#CHEMIN_IMAGE{supprimer-12.png}';
-jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery.picker.js}');
+jQuery.getScript('[(#CHEMIN{formulaires/selecteur/jquery.picker.js}|timestamp)]');
 </script>
 [(#REM)
 
@@ -28,7 +28,7 @@ afficher la selection dans un ul class item_picked
 </div>
 [(#ENV{sortable,'non'}|=={oui}|oui)
 <script type='text/javascript'>
-jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}',function(){
+jQuery.getScript('[(#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}|timestamp)]',function(){
 	jQuery(function() {jQuery("ul.item_picked").sortable(); });
 });
 </script>
diff --git a/prive/javascript/ajaxCallback.js b/prive/javascript/ajaxCallback.js
index 5106b1a13e..46c27ea2cf 100644
--- a/prive/javascript/ajaxCallback.js
+++ b/prive/javascript/ajaxCallback.js
@@ -139,6 +139,15 @@ if ( !jQuery.browser ) {
 	jQuery.browser = browser;
 }
 
+// jQuery.getScript cache par defaut
+jQuery.getScript = function(url,callback){
+	return $.ajax({
+		url: url,
+		dataType: "script",
+		success: callback,
+		cache: true
+	});
+}
 
 /**
  * if not fully visible, scroll the page to position
-- 
GitLab