From ba251beeca8124de875fea7b778351ea310808bd Mon Sep 17 00:00:00 2001 From: Pig Fang Date: Sun, 31 May 2020 16:30:56 +0800 Subject: [PATCH] add filters for head and foot composers --- app/Http/View/Composers/FootComposer.php | 6 ++++++ app/Http/View/Composers/HeadComposer.php | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/Http/View/Composers/FootComposer.php b/app/Http/View/Composers/FootComposer.php index 756e798e..49d8cfae 100644 --- a/app/Http/View/Composers/FootComposer.php +++ b/app/Http/View/Composers/FootComposer.php @@ -4,6 +4,7 @@ namespace App\Http\View\Composers; use App\Services\Translations\JavaScript; use App\Services\Webpack; +use Blessing\Filter; use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Http\Request; use Illuminate\Support\Str; @@ -23,6 +24,9 @@ class FootComposer /** @var Dispatcher */ protected $dispatcher; + /** @var Filter */ + protected $filter; + public function __construct( Request $request, Webpack $webpack, @@ -87,6 +91,8 @@ class FootComposer ]; } + $scripts = $this->filter->apply('scripts', $scripts); + $view->with([ 'scripts' => $scripts, 'inline_js' => option('custom_js'), diff --git a/app/Http/View/Composers/HeadComposer.php b/app/Http/View/Composers/HeadComposer.php index 2d7c4cae..43479552 100644 --- a/app/Http/View/Composers/HeadComposer.php +++ b/app/Http/View/Composers/HeadComposer.php @@ -3,6 +3,7 @@ namespace App\Http\View\Composers; use App\Services\Webpack; +use Blessing\Filter; use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Http\Request; use Illuminate\Support\Arr; @@ -20,14 +21,19 @@ class HeadComposer /** @var Request */ protected $request; + /** @var Filter */ + protected $filter; + public function __construct( Webpack $webpack, Dispatcher $dispatcher, - Request $request + Request $request, + Filter $filter ) { $this->webpack = $webpack; $this->dispatcher = $dispatcher; $this->request = $request; + $this->filter = $filter; } public function compose(View $view) @@ -113,6 +119,7 @@ class HeadComposer 'crossorigin' => 'anonymous', ]; } + $links = $this->filter->apply('head_links', $links); $view->with('links', $links); $view->with('inline_css', option('custom_css')); $view->with('custom_cdn_host', option('cdn_address'));