Enhancements to logic that makes form.select component

This commit is contained in:
Deon George 2025-06-11 19:33:36 +09:30
parent 9f0290bd40
commit 31e3c75bc9
3 changed files with 9 additions and 8 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

@ -2,27 +2,28 @@
@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>
@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}}" @isset($name)name="{{ $name }}"@endisset @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