From 4bb60e0721af1bd4e8fcbd82b80aea506806e691 Mon Sep 17 00:00:00 2001 From: Tony Air Date: Thu, 19 Jul 2018 19:10:55 +0700 Subject: [PATCH] IMPROVEMENT: Autoload current controller dependecies --- app/client/dist/icons/.cache | 2 +- app/src/Templates/DeferedRequirements.php | 29 +++++++++++++---------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/app/client/dist/icons/.cache b/app/client/dist/icons/.cache index 5ea8e74..fccff85 100644 --- a/app/client/dist/icons/.cache +++ b/app/client/dist/icons/.cache @@ -1 +1 @@ -{"hash":"bee428eb92d17ce43fc0fb76f73f1358","version":"0.0.9","optionHash":"48da8109542971737c0c3794682790d4","result":{"outputFilePrefix":"/icons/","html":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"files":["/icons/apple-touch-icon-57x57.png","/icons/apple-touch-icon-60x60.png","/icons/apple-touch-icon-72x72.png","/icons/apple-touch-icon-120x120.png","/icons/apple-touch-icon-76x76.png","/icons/apple-touch-icon-114x114.png","/icons/apple-touch-icon-144x144.png","/icons/apple-touch-icon-167x167.png","/icons/apple-touch-icon.png","/icons/apple-touch-icon-180x180.png","/icons/apple-touch-icon-precomposed.png","/icons/apple-touch-icon-152x152.png","/icons/android-chrome-36x36.png","/icons/android-chrome-48x48.png","/icons/android-chrome-72x72.png","/icons/android-chrome-96x96.png","/icons/android-chrome-192x192.png","/icons/android-chrome-144x144.png","/icons/android-chrome-256x256.png","/icons/android-chrome-384x384.png","/icons/android-chrome-512x512.png","/icons/coast-228x228.png","/icons/yandex-browser-50x50.png","/icons/mstile-144x144.png","/icons/mstile-70x70.png","/icons/mstile-150x150.png","/icons/mstile-310x150.png","/icons/mstile-310x310.png","/icons/favicon-16x16.png","/icons/favicon-32x32.png","/icons/favicon.ico","/icons/apple-touch-startup-image-320x460.png","/icons/apple-touch-startup-image-640x1096.png","/icons/apple-touch-startup-image-640x920.png","/icons/apple-touch-startup-image-768x1004.png","/icons/apple-touch-startup-image-750x1294.png","/icons/apple-touch-startup-image-748x1024.png","/icons/apple-touch-startup-image-1242x2148.png","/icons/apple-touch-startup-image-1182x2208.png","/icons/apple-touch-startup-image-1496x2048.png","/icons/apple-touch-startup-image-1536x2008.png","/icons/firefox_app_128x128.png","/icons/firefox_app_60x60.png","/icons/firefox_app_512x512.png","/icons/manifest.json","/icons/yandex-browser-manifest.json","/icons/browserconfig.xml","/icons/manifest.webapp"]}} \ No newline at end of file +{"hash":"bee428eb92d17ce43fc0fb76f73f1358","version":"0.0.9","optionHash":"48da8109542971737c0c3794682790d4","result":{"outputFilePrefix":"/icons/","html":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"files":["/icons/android-chrome-36x36.png","/icons/android-chrome-96x96.png","/icons/android-chrome-72x72.png","/icons/android-chrome-48x48.png","/icons/android-chrome-144x144.png","/icons/android-chrome-192x192.png","/icons/android-chrome-384x384.png","/icons/android-chrome-256x256.png","/icons/android-chrome-512x512.png","/icons/apple-touch-icon-57x57.png","/icons/apple-touch-icon-60x60.png","/icons/apple-touch-icon-72x72.png","/icons/apple-touch-icon-76x76.png","/icons/apple-touch-icon-152x152.png","/icons/apple-touch-icon-120x120.png","/icons/apple-touch-icon-167x167.png","/icons/apple-touch-icon.png","/icons/apple-touch-icon-144x144.png","/icons/apple-touch-icon-180x180.png","/icons/apple-touch-icon-114x114.png","/icons/apple-touch-icon-precomposed.png","/icons/coast-228x228.png","/icons/yandex-browser-50x50.png","/icons/mstile-70x70.png","/icons/mstile-150x150.png","/icons/mstile-144x144.png","/icons/mstile-310x150.png","/icons/mstile-310x310.png","/icons/favicon-16x16.png","/icons/favicon-32x32.png","/icons/favicon.ico","/icons/apple-touch-startup-image-640x920.png","/icons/apple-touch-startup-image-320x460.png","/icons/apple-touch-startup-image-640x1096.png","/icons/apple-touch-startup-image-748x1024.png","/icons/apple-touch-startup-image-768x1004.png","/icons/apple-touch-startup-image-750x1294.png","/icons/apple-touch-startup-image-1182x2208.png","/icons/apple-touch-startup-image-1242x2148.png","/icons/apple-touch-startup-image-1536x2008.png","/icons/apple-touch-startup-image-1496x2048.png","/icons/firefox_app_60x60.png","/icons/firefox_app_128x128.png","/icons/firefox_app_512x512.png","/icons/manifest.json","/icons/yandex-browser-manifest.json","/icons/browserconfig.xml","/icons/manifest.webapp"]}} \ No newline at end of file diff --git a/app/src/Templates/DeferedRequirements.php b/app/src/Templates/DeferedRequirements.php index 50bfce3..843a449 100644 --- a/app/src/Templates/DeferedRequirements.php +++ b/app/src/Templates/DeferedRequirements.php @@ -2,6 +2,7 @@ namespace Site\Templates; +use SilverStripe\Control\Controller; use SilverStripe\View\TemplateGlobalProvider; use SilverStripe\View\Requirements; use SilverStripe\Core\Config\Config; @@ -33,31 +34,35 @@ class DeferedRequirements implements TemplateGlobalProvider { // Initialization Requirements::block(THIRDPARTY_DIR.'/jquery/jquery.js'); - if (defined('FONT_AWESOME_DIR')) { + /*if (defined('FONT_AWESOME_DIR')) { Requirements::block(FONT_AWESOME_DIR.'/css/lib/font-awesome.min.css'); - } + }*/ Requirements::set_force_js_to_bottom(true); // Main libs DeferedRequirements::loadJS('//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js'); // App libs - DeferedRequirements::loadCSS('//use.fontawesome.com/releases/v5.0.13/css/all.css'); + //DeferedRequirements::loadCSS('//use.fontawesome.com/releases/v5.0.13/css/all.css'); DeferedRequirements::loadCSS('app.css'); DeferedRequirements::loadJS('app.js'); // Class libs - if ($class) { - $dir = Path::join(Director::publicFolder(), ManifestFileFinder::RESOURCES_DIR, 'app', 'client'); + $class = str_replace('\\', '.', get_class(Controller::curr())); + $dir = Path::join( + Director::publicFolder(), + ManifestFileFinder::RESOURCES_DIR, + 'app', + 'client', + 'dist' + ); + if (file_exists(Path::join($dir, 'css', '_' . $class . '.css'))) { + DeferedRequirements::loadCSS('_' . $class . '.css'); + } - if (file_exists(Path::join($dir, 'css', $class . '.css'))) { - DeferedRequirements::loadCSS($class . '.css'); - } - - if (file_exists(Path::join($dir, 'js', $class . '.js'))) { - DeferedRequirements::loadJS($class . '.js'); - } + if (file_exists(Path::join($dir, 'js', $class . '.js'))) { + DeferedRequirements::loadJS($class . '.js'); } return self::forTemplate();