diff --git a/VERSIONS_WIP/133420 b/VERSIONS_WIP/133420 new file mode 100644 index 0000000000000000000000000000000000000000..0796cb3d6e0910108f081351365210a7ecd25fb4 --- /dev/null +++ b/VERSIONS_WIP/133420 @@ -0,0 +1 @@ + - ticket #133420 : Performances de rendu : chargement JQuery UI et Leaflet différés \ No newline at end of file diff --git a/library/Class/ScriptLoader.php b/library/Class/ScriptLoader.php index 59274ea4b3608f2ae784e0cf56a0a954c1619140..ac39dad06aa93b21c7e192d3c7ac3081e6d340f0 100644 --- a/library/Class/ScriptLoader.php +++ b/library/Class/ScriptLoader.php @@ -161,10 +161,10 @@ class Class_ScriptLoader { */ public function loadLeafletJS() { return $this - ->addAdminScript('leaflet-1.6.0/leaflet.js') + ->addAdminScript('leaflet-1.6.0/leaflet.js', true) ->addJQueryReady('L.Icon.Default.imagePath="' . URL_ADMIN_JS . 'leaflet-1.6.0/images/"') - ->addOPACPluginScript('leaflet-ajax-gh-pages/dist/leaflet.ajax.min.js') - ->addOPACPluginScript('leaflet.fullscreen-master/Leaflet.fullscreen.min.js') + ->addOPACPluginScript('leaflet-ajax-gh-pages/dist/leaflet.ajax.min.js', true) + ->addOPACPluginScript('leaflet.fullscreen-master/Leaflet.fullscreen.min.js', true) ->addOPACPluginStyleSheet('leaflet.fullscreen-master/leaflet.fullscreen.css') ->addStyleSheet(URL_ADMIN_JS . 'leaflet-1.6.0/leaflet.css'); } @@ -211,7 +211,7 @@ class Class_ScriptLoader { return $this; return $this - ->addScript(JQUERYUI) + ->addScript(JQUERYUI, true) ->addStyleSheet(JQUERYUI_CSS); } @@ -283,8 +283,8 @@ class Class_ScriptLoader { /** * @return ScriptLoader */ - public function addOPACPluginScript($script) { - return $this->addScript(BASE_URL."/public/opac/java/".$script); + public function addOPACPluginScript($script, $defer = false) { + return $this->addScript(BASE_URL."/public/opac/java/".$script, $defer); } diff --git a/tests/library/Class/ScriptLoaderTest.php b/tests/library/Class/ScriptLoaderTest.php index d2f6d457e9fbb6069fa773c685824c90ac9acba3..9d9896307e3d86c3deb8137a9637959010d4ea40 100644 --- a/tests/library/Class/ScriptLoaderTest.php +++ b/tests/library/Class/ScriptLoaderTest.php @@ -131,6 +131,7 @@ class ScriptLoaderJsAndCssTest extends PHPUnit_Framework_TestCase { ->addScript('opac/cycle.min') ->addScript('opac/slides.min.js') ->addJQueryReady('alert()') + ->loadJQueryUI() ->html(); } @@ -191,6 +192,13 @@ class ScriptLoaderJsAndCssTest extends PHPUnit_Framework_TestCase { } + /** @test */ + public function jqueryUIShouldBeDeferred() { + $this->assertContains(JQUERYUI.'?v='.Class_ScriptLoader::getInstance()->getCacheHash().'" defer >', + $this->html); + } + + /** @test */ function inAjaxModeReadyScriptsShouldBeInSetTimeoutFunction() { $this->html = Class_ScriptLoader::getInstance()->beAjax()->html(); @@ -277,4 +285,4 @@ class ScriptLoaderNotificationsBarTest extends ModelTestCase { } } -?> \ No newline at end of file +?>