Completed
Push — 2.0 ( 6db185...cf3837 )
by Nicolas
03:06
created

AssetsViewComposer::compose()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 4
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 7
rs 9.4285
1
<?php namespace Modules\Core\Composers;
2
3
use Illuminate\Contracts\View\View;
4
use Modules\Core\Foundation\Asset\Manager\AssetManager;
5
use Modules\Core\Foundation\Asset\Pipeline\AssetPipeline;
6
use Modules\Core\Foundation\Asset\Types\AssetTypeFactory;
7
8
class AssetsViewComposer
9
{
10
    /**
11
     * @var AssetManager
12
     */
13
    protected $assetManager;
14
    /**
15
     * @var AssetPipeline
16
     */
17
    protected $assetPipeline;
18
    /**
19
     * @var AssetTypeFactory
20
     */
21
    protected $assetFactory;
22
23
    public function __construct(AssetManager $assetManager, AssetPipeline $assetPipeline, AssetTypeFactory $assetTypeFactory)
24
    {
25
        $this->assetManager = $assetManager;
26
        $this->assetPipeline = $assetPipeline;
27
        $this->assetFactory = $assetTypeFactory;
28
    }
29
30
    public function compose(View $view)
31
    {
32
        $this->requireDefaultAssets();
33
34
        $view->with('cssFiles', $this->assetPipeline->allCss());
35
        $view->with('jsFiles', $this->assetPipeline->allJs());
36
    }
37
38
    /**
39
     * Require the default assets from config file on the asset pipeline
40
     */
41
    private function requireDefaultAssets()
42
    {
43
        $this->assetPipeline->requireCss(config('asgard.core.core.admin-required-assets.css'));
44
        $this->assetPipeline->requireJs(config('asgard.core.core.admin-required-assets.js'));
45
    }
46
}
47