Make select2 ajax a little more flexible
This commit is contained in:
@@ -4,7 +4,11 @@
|
||||
'data_endpoint' => false,
|
||||
'data_placeholder' => false,
|
||||
'multiple' => false,
|
||||
'item' => null,
|
||||
'item_model' => null,
|
||||
'name' => null,
|
||||
])
|
||||
|
||||
<select
|
||||
{{ ($multiple == 'true')? ' multiple' : '' }}
|
||||
{{ $attributes->class(['js-data-ajax select2', 'livewire-select2' => $forLivewire])->style(['width:100%']) }}
|
||||
@@ -12,5 +16,25 @@
|
||||
data-endpoint="{{ $data_endpoint }}"
|
||||
data-placeholder="{{ $data_placeholder }}"
|
||||
>
|
||||
@if ($item && $selected)
|
||||
|
||||
@if (old($name))
|
||||
<option value="{{ old($name) }}" selected="selected" role="option" aria-selected="true">
|
||||
{{ $item_model::find(old($name)) ? $item_model::find(old($name))->display_name : '' }}
|
||||
</option>
|
||||
@endif
|
||||
|
||||
@if (is_integer($selected))
|
||||
<option value="{{ $selected }}" selected="selected" role="option" aria-selected="true">
|
||||
{{ $item_model::find($selected) ? $item_model::find($selected)->display_name : '' }}
|
||||
</option>
|
||||
@else
|
||||
@foreach ($selected as $key => $id)
|
||||
<option value="{{ $id }}" selected="selected" role="option" aria-selected="true">
|
||||
{{ $item_model::find($id) ? $item_model::find($id)->display_name : '' }}
|
||||
</option>
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
|
||||
</select>
|
||||
|
||||
@@ -96,15 +96,18 @@
|
||||
|
||||
@if (!$item->id)
|
||||
|
||||
<!-- Assets (multiple select for new maintenance) -->
|
||||
<x-form-row>
|
||||
<x-form-label>{{ trans('general.assets') }}</x-form-label>
|
||||
<x-form-input>
|
||||
<x-input.select2-ajax
|
||||
:item="$item->id ? $item->asset()->pluck('id')->toArray() : old('selected_assets')"
|
||||
item_model="\App\Models\Asset"
|
||||
name="selected_assets[]"
|
||||
:value="$item->name"
|
||||
required="true"
|
||||
multiple="true"
|
||||
data_endpoint="hardware"
|
||||
:selected="$item->id ? $item->asset()->pluck('id')->toArray() : old('selected_assets')"
|
||||
:data_placeholder="trans('general.select_asset')"
|
||||
/>
|
||||
</x-form-input>
|
||||
@@ -175,13 +178,14 @@
|
||||
<!-- Supplier -->
|
||||
<x-form-row>
|
||||
|
||||
{{ $item->supplier->id }}
|
||||
<x-form-label>{{ trans('general.supplier') }}</x-form-label>
|
||||
|
||||
<x-form-input>
|
||||
<x-input.select2-ajax
|
||||
item="$item->supplier"
|
||||
item_model="\App\Models\Supplier"
|
||||
name="supplier_id"
|
||||
:selected="old('supplier_id', ($item->supplier) ? $item->supplier_id : '')"
|
||||
:selected="old('supplier_id', ($item->supplier) ? $item->supplier->id : '')"
|
||||
data_endpoint="suppliers"
|
||||
:data_placeholder="trans('general.select_supplier')"
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user