@php
$variant = \App\Models\Variant::find($value);
$car_makes = \App\Models\Manufacturer::all();
$car_make_id = $variant?->manufacturer->id ?? $car_makes->first()->id;
$car_models = \App\Models\Manufacturer::find($car_make_id)->car_models;
$car_model_id = $variant?->car_model->id ?? $car_models?->first()->id;
$car_variants = \App\Models\CarModel::find($car_model_id)->variants;
$car_variant_id = $variant?->id ?? $car_variants->first()->id;
@endphp
@push('filter_scripts')
var variant_ids = '';
$('#car_make_select').change(function(){
$.ajax({ url: '{{ route('admin.car_models.datatable') }}?where[]=manufacturer_id%3D' + $(this).val(), type: 'POST', dataType: 'json', success: function( response ) {
var items = [];
$.each( response.data.sort((m1, m2) => (m1.name > m2.name) ? 1 : (m1.name < m2.name) ? -1 : 0), function( key, item ) {
items.push( '' );
});
$('#car_model_select').html( items.join( '' ) );
$('#car_model_select').change();
}});
});
$('#car_model_select').change(function(){
$.ajax({ url: '{{ route('admin.variants.datatable') }}?where[]=car_model_id%3D' + $(this).val(), type: 'POST', dataType: 'json', success: function( response ) {
var items = [];
var ids = [];
items.push( '' );
items.push( '' );
$.each( response.data.sort((m1, m2) => (m1.name > m2.name) ? 1 : (m1.name < m2.name) ? -1 : 0), function( key, item ) {
ids.push(item.id);
items.push( '' );
});
variant_ids = ids.join('|');
$('#car_variant_select').html( items.join( '' ) );
$('#car_variant_select').change();
}});
});
$('#car_variant_select').change(function(){
if($(this).val() == -1)
{{$table_options['id']}}.columns("{{$column_name}}:name").search( this.value ? "^(" + variant_ids + ")$" : "", true ).draw();
else
{{$table_options['id']}}.columns("{{$column_name}}:name").search( this.value ? "^" + this.value + "$" : "", true ).draw();
});
$('#car_model_select').change();
@endpush