akaunting 3.0 (the last dance)
This commit is contained in:
72
app/View/Components/Script.php
Normal file
72
app/View/Components/Script.php
Normal file
@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
namespace App\View\Components;
|
||||
|
||||
use App\Abstracts\View\Component;
|
||||
|
||||
class Script extends Component
|
||||
{
|
||||
/** @var string */
|
||||
public $alias;
|
||||
|
||||
/** @var string */
|
||||
public $folder;
|
||||
|
||||
/** @var string */
|
||||
public $file;
|
||||
|
||||
/** @var string */
|
||||
public $source;
|
||||
|
||||
/**
|
||||
* Create a new component instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(
|
||||
string $alias = 'core', string $folder = '', string $file = ''
|
||||
) {
|
||||
$this->alias = $alias;
|
||||
$this->folder = $folder;
|
||||
$this->file = $file;
|
||||
|
||||
$this->source = $this->getSource($alias, $folder, $file);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the view / contents that represent the component.
|
||||
*
|
||||
* @return \Illuminate\Contracts\View\View|string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
return view('components.script');
|
||||
}
|
||||
|
||||
protected function getSource($alias, $folder, $file)
|
||||
{
|
||||
$path = 'public/js/';
|
||||
$version = version('short');
|
||||
|
||||
if ($alias != 'core') {
|
||||
try {
|
||||
$module = module($alias);
|
||||
|
||||
if ($module) {
|
||||
$path = 'modules/' . $module->getStudlyName() . '/Resources/assets/js/';
|
||||
$version = module_version($alias);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($folder)) {
|
||||
$path .= $folder . '/';
|
||||
}
|
||||
|
||||
$path .= $file . '.min.js?v=' . $version;
|
||||
|
||||
return $path;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user