From 96cc2c9ee95f772502ecd3048fffc666c0d4e4fe Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 30 Oct 2025 16:35:15 +0000 Subject: [PATCH] Move form into its own component --- app/Providers/AppServiceProvider.php | 7 ++ resources/views/blade/box.blade.php | 9 +- resources/views/blade/form-row.blade.php | 78 ++++++++---- resources/views/blade/form.blade.php | 15 +++ .../views/blade/input/select2-ajax.blade.php | 16 +++ resources/views/blade/input/static.blade.php | 2 +- resources/views/maintenances/edit.blade.php | 111 +++++++++--------- 7 files changed, 152 insertions(+), 86 deletions(-) create mode 100644 resources/views/blade/form.blade.php create mode 100644 resources/views/blade/input/select2-ajax.blade.php diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 2ebcb9b035..0cd1c366fc 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -24,6 +24,7 @@ use Illuminate\Support\Facades\Schema; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\URL; +use Illuminate\Support\Facades\Blade; /** * This service provider handles setting the observers on models @@ -42,6 +43,9 @@ class AppServiceProvider extends ServiceProvider */ public function boot(UrlGenerator $url) { + + + /** * This is a workaround for proxies/reverse proxies that don't always pass the proper headers. * @@ -76,6 +80,9 @@ class AppServiceProvider extends ServiceProvider Consumable::observe(ConsumableObserver::class); License::observe(LicenseObserver::class); Setting::observe(SettingObserver::class); + + // https://laravel.com/docs/11.x/blade#html-entity-encoding + Blade::withoutDoubleEncoding(); } /** diff --git a/resources/views/blade/box.blade.php b/resources/views/blade/box.blade.php index 0649ce8d2d..b53795f4dc 100644 --- a/resources/views/blade/box.blade.php +++ b/resources/views/blade/box.blade.php @@ -8,12 +8,7 @@
merge(['class' => 'col-lg-6 col-lg-offset-3 col-md-10 col-md-offset-1 col-sm-12 col-sm-offset-0']) }}> - @if ($item->id) -
- {{ method_field('PUT') }} - @else - - @endif + {{ csrf_field() }} @@ -48,5 +43,5 @@
- + diff --git a/resources/views/blade/form-row.blade.php b/resources/views/blade/form-row.blade.php index 3aa52efbd1..fda3c271d7 100644 --- a/resources/views/blade/form-row.blade.php +++ b/resources/views/blade/form-row.blade.php @@ -1,9 +1,9 @@ @props([ - 'errors_class' => ($errors->has($name) ? ' has-error' : null), 'help_text' => null, 'info_tooltip_text' => null, 'input_div_class' => 'col-md-8', + 'input_class' => null, 'input_group_addon' => null, 'input_group_text' => null, 'input_icon' => null, @@ -14,18 +14,25 @@ 'label' => null, 'min' => null, 'maxlength' => null, - 'name' => null, + 'name' => false, 'placeholder' => null, 'rows' => null, 'static_value' => null, 'type' => 'text', + 'data_endpoint' => false, + 'multiple' => false, + 'required' => false, + 'show_create_new' => false, ]) -
merge(['class' => 'form-group'. $errors_class]) }}> +
+{{--
merge(['class' => 'form-group '. ($errors->has($name) ? ' has-error' : '')]) }}> --}} - @if (isset($label)) + @if (isset($name) && $label) {{ $label }} + @else +
{{ $label }}
@endif @@ -34,29 +41,51 @@ @endphp
- + @if ($slot->isNotEmpty()) +

+ {{ $slot }} +

+ @else + + + + @endif +
+ @if ($show_create_new) +
+ @can('create', '\App\Models\\'.ucwords($show_create_new).'::class') + {{ trans('button.new') }} + @endcan +
+ @endif + + @if ($info_tooltip_text)
@@ -87,4 +116,5 @@ +
\ No newline at end of file diff --git a/resources/views/blade/form.blade.php b/resources/views/blade/form.blade.php new file mode 100644 index 0000000000..0bc1889b44 --- /dev/null +++ b/resources/views/blade/form.blade.php @@ -0,0 +1,15 @@ +@props([ + 'item' => null, + 'update_route' => null, + 'create_route' => null, +]) + +
+ + @if ($item->id) + {{ method_field('PUT') }} + @endif + + {{ $slot }} + +
diff --git a/resources/views/blade/input/select2-ajax.blade.php b/resources/views/blade/input/select2-ajax.blade.php new file mode 100644 index 0000000000..e07685821a --- /dev/null +++ b/resources/views/blade/input/select2-ajax.blade.php @@ -0,0 +1,16 @@ +@props([ + 'selected' => null, + 'forLivewire' => false, + 'data_endpoint' => false, + 'data_placeholder' => false, + 'multiple' => false, +]) + diff --git a/resources/views/blade/input/static.blade.php b/resources/views/blade/input/static.blade.php index a2e05f738c..9adf64de59 100644 --- a/resources/views/blade/input/static.blade.php +++ b/resources/views/blade/input/static.blade.php @@ -3,5 +3,5 @@ ])

- {{ $static_value }} + {{ $slot ?? $static_value }}

\ No newline at end of file diff --git a/resources/views/maintenances/edit.blade.php b/resources/views/maintenances/edit.blade.php index 36c1596a92..763450431f 100644 --- a/resources/views/maintenances/edit.blade.php +++ b/resources/views/maintenances/edit.blade.php @@ -19,73 +19,62 @@ {{-- Page content --}} @section('content') +
- + + - - - - - @if (!$item->id) - - - @include ('partials.forms.edit.asset-select', [ - 'translated_name' => trans('general.assets'), - 'fieldname' => 'selected_assets[]', - 'multiple' => true, - 'required' => true, - 'select_id' => 'assigned_assets_select', - 'asset_selector_div_id' => 'assets_for_maintenance_div', - 'asset_ids' => $item->id ? $item->asset()->pluck('id')->toArray() : old('selected_assets'), - 'asset_id' => $item->id ? $item->asset()->pluck('id')->toArray() : null - ]) - @else + + + + @if ($item->id) @if ($item->asset) - + + {{ $item->asset->display_name }} + - @if ($item->asset->company) - - @endif + @if ($item->asset->company) + + {{ $item->asset->company->display_name }} + + + @endif - @if ($item->asset->location) - - @endif + @if ($item->asset->location) + + {{ $item->asset->location->display_name }} + + @endif @endif @endif + + - + @if (!$item->id) + + @endif - @include ('partials.forms.edit.supplier-select', ['translated_name' => trans('general.supplier'), 'fieldname' => 'supplier_id']) + @@ -147,7 +147,6 @@ - + + + +
@stop