You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					194 lines
				
				9.3 KiB
			
		
		
			
		
	
	
					194 lines
				
				9.3 KiB
			| 
								 
											2 years ago
										 
									 | 
							
								@extends('layouts.vendor.app')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@section('title',translate('messages.add_new_addon'))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@push('css_or_js')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@endpush
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@section('content')
							 | 
						||
| 
								 | 
							
								    <div class="content container-fluid">
							 | 
						||
| 
								 | 
							
								        <!-- Page Header -->
							 | 
						||
| 
								 | 
							
								        <div class="page-header">
							 | 
						||
| 
								 | 
							
								            <h1 class="page-header-title"><i class="tio-add-circle-outlined"></i> {{translate('messages.add')}} {{translate('messages.new')}} {{translate('messages.addon')}}</h1>
							 | 
						||
| 
								 | 
							
								        </div>
							 | 
						||
| 
								 | 
							
								        <!-- End Page Header -->
							 | 
						||
| 
								 | 
							
								        <div class="card">
							 | 
						||
| 
								 | 
							
								            <div class="card-body">
							 | 
						||
| 
								 | 
							
								                <form action="{{route('vendor.addon.store')}}" method="post" class="row">
							 | 
						||
| 
								 | 
							
								                    @csrf
							 | 
						||
| 
								 | 
							
								                    @php($language=\App\Models\BusinessSetting::where('key','language')->first())
							 | 
						||
| 
								 | 
							
								                    @php($language = $language->value ?? null)
							 | 
						||
| 
								 | 
							
								                    @php($default_lang = 'en')
							 | 
						||
| 
								 | 
							
								                    @if($language)
							 | 
						||
| 
								 | 
							
								                        @php($default_lang = json_decode($language)[0])
							 | 
						||
| 
								 | 
							
								                        <div class="col-12">
							 | 
						||
| 
								 | 
							
								                            <ul class="nav nav-tabs mb-4">
							 | 
						||
| 
								 | 
							
								                                @foreach(json_decode($language) as $lang)
							 | 
						||
| 
								 | 
							
								                                    <li class="nav-item">
							 | 
						||
| 
								 | 
							
								                                        <a class="nav-link lang_link {{$lang == $default_lang? 'active':''}}" href="#" id="{{$lang}}-link">{{\App\CentralLogics\Helpers::get_language_name($lang).'('.strtoupper($lang).')'}}</a>
							 | 
						||
| 
								 | 
							
								                                    </li>
							 | 
						||
| 
								 | 
							
								                                @endforeach
							 | 
						||
| 
								 | 
							
								                            </ul>
							 | 
						||
| 
								 | 
							
								                        </div>
							 | 
						||
| 
								 | 
							
								                        @foreach(json_decode($language) as $lang)
							 | 
						||
| 
								 | 
							
								                            <div class="form-group col-md-6 {{$lang != $default_lang ? 'd-none':''}} lang_form" id="{{$lang}}-form">
							 | 
						||
| 
								 | 
							
								                                <label class="form-label" for="exampleFormControlInput1">{{translate('messages.name')}} ({{strtoupper($lang)}})</label>
							 | 
						||
| 
								 | 
							
								                                <input type="text" name="name[]" class="form-control h--45px" placeholder="{{translate('Ex : New Addon ')}}" maxlength="191" {{$lang == $default_lang? 'required':''}} oninvalid="document.getElementById('en-link').click()">
							 | 
						||
| 
								 | 
							
								                            </div>
							 | 
						||
| 
								 | 
							
								                            <input type="hidden" name="lang[]" value="{{$lang}}">
							 | 
						||
| 
								 | 
							
								                        @endforeach
							 | 
						||
| 
								 | 
							
								                    @else
							 | 
						||
| 
								 | 
							
								                        <div class="form-group col-md-6">
							 | 
						||
| 
								 | 
							
								                            <label class="form-label" for="exampleFormControlInput1">{{translate('messages.name')}}</label>
							 | 
						||
| 
								 | 
							
								                            <input type="text" name="name" class="form-control h--45px" placeholder="{{translate('Ex : New Addon ')}}" value="{{old('name')}}" required maxlength="191">
							 | 
						||
| 
								 | 
							
								                        </div>
							 | 
						||
| 
								 | 
							
								                        <input type="hidden" name="lang[]" value="{{$lang}}">
							 | 
						||
| 
								 | 
							
								                    @endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    <div class="form-group col-md-6">
							 | 
						||
| 
								 | 
							
								                        <label class="form-label" for="exampleFormControlInput1">{{translate('messages.price')}}</label>
							 | 
						||
| 
								 | 
							
								                        <input type="number" min="0" max="999999999999.99" name="price" step="0.01" class="form-control h--45px" placeholder="{{ translate('Ex : 100.00') }}" value="{{old('price')}}" required>
							 | 
						||
| 
								 | 
							
								                    </div>
							 | 
						||
| 
								 | 
							
								                    <div class="col-12">
							 | 
						||
| 
								 | 
							
								                        <div class="btn--container justify-content-end">
							 | 
						||
| 
								 | 
							
								                            <button type="reset" class="btn btn--reset">{{translate('messages.reset')}}</button>
							 | 
						||
| 
								 | 
							
								                            <button type="submit" class="btn btn--primary">{{translate('messages.submit')}}</button>
							 | 
						||
| 
								 | 
							
								                        </div>
							 | 
						||
| 
								 | 
							
								                    </div>
							 | 
						||
| 
								 | 
							
								                </form>
							 | 
						||
| 
								 | 
							
								            </div>
							 | 
						||
| 
								 | 
							
								        </div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        <div class="card mt-4">
							 | 
						||
| 
								 | 
							
								            <div class="card-header py-2 border-0">
							 | 
						||
| 
								 | 
							
								                <div class="search--button-wrapper">
							 | 
						||
| 
								 | 
							
								                    <h5 class="card-title">
							 | 
						||
| 
								 | 
							
								                        {{translate('messages.addon')}} {{translate('messages.list')}}<span class="badge badge-soft-dark ml-2" id="itemCount">{{$addons->total()}}</span>
							 | 
						||
| 
								 | 
							
								                    </h5>
							 | 
						||
| 
								 | 
							
								                    <div id="search-form">
							 | 
						||
| 
								 | 
							
								                        <div class="input-group input--group">
							 | 
						||
| 
								 | 
							
								                            <input type="text" id="column1_search" class="form-control" placeholder="{{ translate('Ex : Search by Addon Name or Restaurant Name') }}">
							 | 
						||
| 
								 | 
							
								                            <button type="button" class="btn btn--secondary">
							 | 
						||
| 
								 | 
							
								                                <i class="tio-search"></i>
							 | 
						||
| 
								 | 
							
								                            </button>
							 | 
						||
| 
								 | 
							
								                        </div>
							 | 
						||
| 
								 | 
							
								                    </div>
							 | 
						||
| 
								 | 
							
								                </div>
							 | 
						||
| 
								 | 
							
								            </div>
							 | 
						||
| 
								 | 
							
								            <!-- Table -->
							 | 
						||
| 
								 | 
							
								            <div class="table-responsive datatable-custom">
							 | 
						||
| 
								 | 
							
								                <table id="columnSearchDatatable"
							 | 
						||
| 
								 | 
							
								                       class="table table-borderless table-thead-bordered table-nowrap table-align-middle card-table"
							 | 
						||
| 
								 | 
							
								                       data-hs-datatables-options='{
							 | 
						||
| 
								 | 
							
								                         "order": [],
							 | 
						||
| 
								 | 
							
								                         "orderCellsTop": true,
							 | 
						||
| 
								 | 
							
								                         "paging":false
							 | 
						||
| 
								 | 
							
								                       }'>
							 | 
						||
| 
								 | 
							
								                    <thead class="thead-light">
							 | 
						||
| 
								 | 
							
								                    <tr>
							 | 
						||
| 
								 | 
							
								                        <th class="w-100px">{{translate('messages.sl')}}</th>
							 | 
						||
| 
								 | 
							
								                        <th class="w-30p">{{translate('messages.name')}}</th>
							 | 
						||
| 
								 | 
							
								                        <th class="w-25p">{{translate('messages.price')}}</th>
							 | 
						||
| 
								 | 
							
								                        <th class="text-center w-100px">{{translate('messages.action')}}</th>
							 | 
						||
| 
								 | 
							
								                    </tr>
							 | 
						||
| 
								 | 
							
								                    </thead>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    <tbody>
							 | 
						||
| 
								 | 
							
								                    @foreach($addons as $key=>$addon)
							 | 
						||
| 
								 | 
							
								                        <tr>
							 | 
						||
| 
								 | 
							
								                            <td>{{$key+1}}</td>
							 | 
						||
| 
								 | 
							
								                            <td>
							 | 
						||
| 
								 | 
							
								                            <span class="d-block font-size-sm text-body">
							 | 
						||
| 
								 | 
							
								                                {{Str::limit($addon['name'], 20, '...')}}
							 | 
						||
| 
								 | 
							
								                            </span>
							 | 
						||
| 
								 | 
							
								                            </td>
							 | 
						||
| 
								 | 
							
								                            <td>{{\App\CentralLogics\Helpers::format_currency($addon['price'])}}</td>
							 | 
						||
| 
								 | 
							
								                            <td>
							 | 
						||
| 
								 | 
							
								                                <div class="btn--container justify-content-center">
							 | 
						||
| 
								 | 
							
								                                    <a class="btn action-btn btn--primary btn-outline-primary"
							 | 
						||
| 
								 | 
							
								                                            href="{{route('vendor.addon.edit',[$addon['id']])}}" title="{{translate('messages.edit')}} {{translate('messages.addon')}}"><i class="tio-edit"></i></a>
							 | 
						||
| 
								 | 
							
								                                    <a class="btn action-btn btn--danger btn-outline-danger" href="javascript:"
							 | 
						||
| 
								 | 
							
								                                        onclick="form_alert('addon-{{$addon['id']}}','{{ translate('Want to delete this addon ?') }}')" title="{{translate('messages.delete')}} {{translate('messages.addon')}}"><i class="tio-delete-outlined"></i></a>
							 | 
						||
| 
								 | 
							
								                                    <form action="{{route('vendor.addon.delete',[$addon['id']])}}"
							 | 
						||
| 
								 | 
							
								                                                method="post" id="addon-{{$addon['id']}}">
							 | 
						||
| 
								 | 
							
								                                        @csrf @method('delete')
							 | 
						||
| 
								 | 
							
								                                    </form>
							 | 
						||
| 
								 | 
							
								                                </div>
							 | 
						||
| 
								 | 
							
								                            </td>
							 | 
						||
| 
								 | 
							
								                        </tr>
							 | 
						||
| 
								 | 
							
								                    @endforeach
							 | 
						||
| 
								 | 
							
								                    </tbody>
							 | 
						||
| 
								 | 
							
								                </table>
							 | 
						||
| 
								 | 
							
								                @if(count($addons) === 0)
							 | 
						||
| 
								 | 
							
								                <div class="empty--data">
							 | 
						||
| 
								 | 
							
								                    <img src="{{asset('/public/assets/admin/img/empty.png')}}" alt="public">
							 | 
						||
| 
								 | 
							
								                    <h5>
							 | 
						||
| 
								 | 
							
								                        {{translate('no_data_found')}}
							 | 
						||
| 
								 | 
							
								                    </h5>
							 | 
						||
| 
								 | 
							
								                </div>
							 | 
						||
| 
								 | 
							
								                @endif
							 | 
						||
| 
								 | 
							
								                <table>
							 | 
						||
| 
								 | 
							
								                    <tfoot>
							 | 
						||
| 
								 | 
							
								                    {!! $addons->links() !!}
							 | 
						||
| 
								 | 
							
								                    </tfoot>
							 | 
						||
| 
								 | 
							
								                </table>
							 | 
						||
| 
								 | 
							
								            </div>
							 | 
						||
| 
								 | 
							
								        </div>
							 | 
						||
| 
								 | 
							
								    </div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@endsection
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@push('script_2')
							 | 
						||
| 
								 | 
							
								    <script>
							 | 
						||
| 
								 | 
							
								        $(document).on('ready', function () {
							 | 
						||
| 
								 | 
							
								            // INITIALIZATION OF DATATABLES
							 | 
						||
| 
								 | 
							
								            // =======================================================
							 | 
						||
| 
								 | 
							
								            var datatable = $.HSCore.components.HSDatatables.init($('#columnSearchDatatable'));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $('#column1_search').on('keyup', function () {
							 | 
						||
| 
								 | 
							
								                datatable
							 | 
						||
| 
								 | 
							
								                    .columns(1)
							 | 
						||
| 
								 | 
							
								                    .search(this.value)
							 | 
						||
| 
								 | 
							
								                    .draw();
							 | 
						||
| 
								 | 
							
								            });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $('#column3_search').on('change', function () {
							 | 
						||
| 
								 | 
							
								                datatable
							 | 
						||
| 
								 | 
							
								                    .columns(2)
							 | 
						||
| 
								 | 
							
								                    .search(this.value)
							 | 
						||
| 
								 | 
							
								                    .draw();
							 | 
						||
| 
								 | 
							
								            });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            // INITIALIZATION OF SELECT2
							 | 
						||
| 
								 | 
							
								            // =======================================================
							 | 
						||
| 
								 | 
							
								            $('.js-select2-custom').each(function () {
							 | 
						||
| 
								 | 
							
								                var select2 = $.HSCore.components.HSSelect2.init($(this));
							 | 
						||
| 
								 | 
							
								            });
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								    </script>
							 | 
						||
| 
								 | 
							
								    <script>
							 | 
						||
| 
								 | 
							
								        $(".lang_link").click(function(e){
							 | 
						||
| 
								 | 
							
								            e.preventDefault();
							 | 
						||
| 
								 | 
							
								            $(".lang_link").removeClass('active');
							 | 
						||
| 
								 | 
							
								            $(".lang_form").addClass('d-none');
							 | 
						||
| 
								 | 
							
								            $(this).addClass('active');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            let form_id = this.id;
							 | 
						||
| 
								 | 
							
								            let lang = form_id.substring(0, form_id.length - 5);
							 | 
						||
| 
								 | 
							
								            console.log(lang);
							 | 
						||
| 
								 | 
							
								            $("#"+lang+"-form").removeClass('d-none');
							 | 
						||
| 
								 | 
							
								            if(lang == '{{$default_lang}}')
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                $(".from_part_2").removeClass('d-none');
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            else
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                $(".from_part_2").addClass('d-none');
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								    </script>
							 | 
						||
| 
								 | 
							
								@endpush
							 |