HasAssetsAccess   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 8
dl 0
loc 33
rs 10
c 0
b 0
f 0
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A requireDefaultAssets() 0 3 1
A moduleAssetUrl() 0 2 1
A requireCSS() 0 2 1
A assetUrl() 0 2 1
A requireJS() 0 2 1
1
<?php
2
3
namespace Epesi\Core\System\Modules\Concerns;
4
5
trait HasAssetsAccess
6
{
7
	use HasModule;
8
	
9
	final public static function requireDefaultAssets() {
10
		self::requireCSS();
11
		self::requireJS();
12
	}
13
	
14
	final public static function requireJS($file = 'default.js', $isAsync = false, $isDefer = false) {
15
		return ui()->requireJS(self::assetUrl('js/'. $file), $isAsync, $isDefer);
16
	}
17
	
18
	final public static function requireCSS($file = 'default.css') {
19
		return ui()->requireCSS(self::assetUrl('css/'. $file));
20
	}
21
	
22
	/**
23
	 * Url to this module public assets directory.
24
	 *
25
	 * @return string path to the module directory
26
	 */
27
	final public static function assetUrl($asset = '') {
28
		return self::moduleAssetUrl(self::alias(), $asset);
29
	}
30
	
31
	/**
32
	 * Url to a module public assets directory.
33
	 *
34
	 * @return string path to the module directory
35
	 */
36
	final public static function moduleAssetUrl($moduleAlias, $asset = '') {
37
		return asset(implode('/', ['storage', $moduleAlias, $asset]));
38
	}
39
}
40