From 423cf14a6761961173fefe6dc17065fbee3637ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20Assun=C3=A7=C3=A3o?= Date: Fri, 26 May 2023 02:40:34 -0300 Subject: [PATCH 1/2] Added livewire assets to default layouts --- .../stubs/template/resources/views/layouts/app.blade.php | 5 ++++- .../stubs/template/resources/views/layouts/guest.blade.php | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/resources/stubs/template/resources/views/layouts/app.blade.php b/resources/stubs/template/resources/views/layouts/app.blade.php index 6bf3c15..7886367 100755 --- a/resources/stubs/template/resources/views/layouts/app.blade.php +++ b/resources/stubs/template/resources/views/layouts/app.blade.php @@ -16,6 +16,7 @@ + @livewireStyles @@ -37,6 +38,8 @@ @stack('modals') + + @livewireScripts - \ No newline at end of file + diff --git a/resources/stubs/template/resources/views/layouts/guest.blade.php b/resources/stubs/template/resources/views/layouts/guest.blade.php index 9c2d9de..f0d7246 100755 --- a/resources/stubs/template/resources/views/layouts/guest.blade.php +++ b/resources/stubs/template/resources/views/layouts/guest.blade.php @@ -16,12 +16,16 @@ + + @livewireStyles
{{ $slot }}
+ + @livewireScripts - \ No newline at end of file + From 6e0586b2eee3c35ff98deba18833a5cad55e6ed8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20Assun=C3=A7=C3=A3o?= Date: Wed, 31 May 2023 15:31:17 -0300 Subject: [PATCH 2/2] Added helper method to obtain an instance of a class present in the current theme --- src/Theme.php | 16 ++++++++++++++++ src/Traits/Autoloader.php | 19 ++++++++++++------- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/Theme.php b/src/Theme.php index 8540c9a..189c972 100644 --- a/src/Theme.php +++ b/src/Theme.php @@ -13,6 +13,7 @@ use Codions\ThemesManager\Traits\HasProviders; use Codions\ThemesManager\Traits\HasTranslations; use Codions\ThemesManager\Traits\HasViews; +use Exception; use Illuminate\Filesystem\Filesystem; use Illuminate\Support\Facades\Config; use Illuminate\Support\Facades\Log; @@ -208,6 +209,21 @@ public function getNamespace(string $path = null): string return "Themes\\$vendor\\$name\\" . $path; } + public function getInstance(string $path) + { + if (! $this->enabled()) { + $this->requireClass($path); + } + + $class = $this->getNamespace($path); + + if (! class_exists($class)) { + throw new Exception("Class not found: {$class}"); + } + + return new $class; + } + /** * Check if has parent Theme. */ diff --git a/src/Traits/Autoloader.php b/src/Traits/Autoloader.php index 1c8a670..a06e57e 100644 --- a/src/Traits/Autoloader.php +++ b/src/Traits/Autoloader.php @@ -13,15 +13,20 @@ trait Autoloader public function registerAutoloader() { spl_autoload_register(function ($class) { - $class = str_replace($this->getNamespace(), '', $class); + $this->requireClass($class); + }); + } + + protected function requireClass($class) + { + $class = str_replace($this->getNamespace(), '', $class); - $class = str_replace('\\', DIRECTORY_SEPARATOR, $class); - $file = $this->getPath("src/{$class}.php"); + $class = str_replace('\\', DIRECTORY_SEPARATOR, $class); + $file = $this->getPath("src/{$class}.php"); - if (file_exists($file)) { - require_once $file; - } - }); + if (file_exists($file)) { + require_once $file; + } } protected function registerLivewireComponents()