Enhancements to logic that makes form.select component
All checks were successful
Create Docker Image / Test Application (x86_64) (push) Successful in 30s
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 1m34s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 2m49s
Create Docker Image / Final Docker Image Manifest (push) Successful in 10s

This commit is contained in:
Deon George 2025-06-11 19:33:36 +09:30
parent d61ecc96db
commit b87b1dcfd0
4 changed files with 13 additions and 9 deletions

View File

@ -38,7 +38,7 @@
</div> </div>
<div class="modal-body"> <div class="modal-body">
<x-form.select id="newoc" label="Select from..."/> <x-form.select id="newoc" name="newoc" :label="__('Select from').'...'"/>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">

View File

@ -1,4 +1,4 @@
<button id="form-reset" class="btn btn-outline-danger">@lang('Reset')</button> <button id="form-reset" class="btn btn-sm btn-outline-danger">@lang('Reset')</button>
@section('page-scripts') @section('page-scripts')
<script> <script>

View File

@ -1,28 +1,32 @@
<x-form.base {{ $attributes }}> <x-form.base {{ $attributes }}>
@isset($name) @isset($name)
<input type="hidden" id="{{ $id ?? $name }}_disabled" name="{{ $name }}" value="" disabled> <input type="hidden" id="{{ $id ?? $name }}_disabled" name="{{ $name }}" value="" disabled>
@else
@php(throw new \Exception('here'))
@dd('no name',$id)
@endisset @endisset
<select class="form-select @isset($name)@error((! empty($old)) ? $old : ($id ?? $name)) is-invalid @enderror @endisset" id="{{ $id ?? $name }}" @isset($name)name="{{ $name }}"@endisset @required(isset($required) && $required) @disabled(isset($disabled) && $disabled)>
@if((empty($value) && ! empty($options)) || isset($addnew) || isset($choose)) <select class="form-select @error($old ?? ($id ?? $name)) is-invalid @enderror" id="{{ $id ?? $name }}" name="{{ $name }}" @required($required ?? FALSE) @disabled($disabled ?? FALSE)>
@if((empty($value) && ! empty($options)) || isset($addnew))
<option value=""></option> <option value=""></option>
@isset($addnew) @isset($addnew)
<option value="new">{{ $addnew ?: 'Add New' }}</option> <option value="new">{{ $addnew ?: 'Add New' }}</option>
@endisset @endisset
@endif @endif
@isset($options) @isset($options)
@empty($groupby) @empty($groupby)
@foreach($options as $option) @foreach($options as $option)
@continue(! Arr::get($option,'value')) @continue(! Arr::get($option,'value'))
<option value="{{ Arr::get($option,'id') }}" @selected(isset($name) && (Arr::get($option,'id') == old($old ?? $name,$value ?? '')))>{{ Arr::get($option,'value') }}</option> <option value="{{ Arr::get($option,'id') }}" @selected(Arr::get($option,'id') == collect(old())->dot()->get(isset($old) ? $old.'.0' : ($id ?? $name)))>{{ Arr::get($option,'value') }}</option>
@endforeach @endforeach
@else @else
@foreach($options->groupBy($groupby) as $group) @foreach($options->groupBy($groupby) as $group)
<optgroup label="{{ $groupby == 'active' ? (Arr::get($group->first(),$groupby) ? 'Active' : 'Not Active') : Arr::get($group->first(),$groupby) }}"> <optgroup label="{{ Arr::get($group->first(),$groupby) }}">
@foreach($group as $option) @foreach($group as $option)
@continue(! Arr::get($option,'value')) @continue(! Arr::get($option,'value'))
<option value="{{ Arr::get($option,'id') }}" @selected(isset($name) && (Arr::get($option,'id') == old($old ?? $name,$value ?? '')))>{{ Arr::get($option,'value') }}</option> <option value="{{ Arr::get($option,'id') }}" @selected(Arr::get($option,'id') == collect(old())->dot()->get(isset($old) ? $old.'.0' : ($id ?? $name)))>{{ Arr::get($option,'value') }}</option>
@endforeach @endforeach
</optgroup> </optgroup>
@endforeach @endforeach

View File

@ -14,7 +14,7 @@
<div class="row"> <div class="row">
<div class="col-12 pt-2"> <div class="col-12 pt-2">
<x-form.select id="newattr" :label="__('Select from').'...'" :options="$o->getMissingAttributes()->sortBy('name')->unique('name')->map(fn($item)=>['id'=>$item->name,'value'=>$item->name])"/> <x-form.select name="newattr" :label="__('Select from').'...'" :options="$o->getMissingAttributes()->sortBy('name')->unique('name')->map(fn($item)=>['id'=>$item->name,'value'=>$item->name])"/>
</div> </div>
</div> </div>
</div> </div>