Opsi generate
Terdapat pilihan generate yaitu
php artisan proton:generate [folder] [file] --modal
Opsi generate --modal
digunakan untuk meng-generate kode terutama pada form insert dan update untuk menggunakan modal bootstrap. selain itu ada juga perbedaan kode di file [file]Controller dan [file]ListView antara opsi --modal
dengan yang standar sebelumnya
Berikut adalah perbedaan dengan dan tanpa --modal
--modal
Perbedaan pengecekan request ajax pada method
public function Create(Request $request)
danpublic function Edit(Request $request)
di file [file]Controller.php. Berikut kode perbedaanya :
//dengan proses check ajax
if (!$request->ajax() || !$this->acl($this->controller_path)) {
abort(401);
}
Perbedaan pada default btn_create di [file]ListView.php, fungsi TableView
()
.
// penggunaan button helper untuk memanggil form modal
'btn_create' => ButtonHelper::button_modal(url($this->controller_path.'/create')),
Perbedaan pada btn_edit di
set_data_before_send()
pada [file]ListView.php. Hampir sama seperti diatas yaitu terkait pemanggilan modal atau redirect page
// penggunaan button helper untuk memanggil form modal edit
'btn_edit' => (!$this->acl($this->controller_path)) ? '-' :ButtonHelper::btn_detail_modal(
url($this->controller_path.'/detail/'.$key->uuid),'#modalForm'
),
perbedaan pada form.blade.php di resources/views/[file] yang digenerate
// Some code
@php
$header_form = @$type == 'create' ? 'New' : 'Edit';
$btn_submit = @$type == 'create' ? 'Save' : 'Update';
@endphp
@section('form-field')
<input class="id_reference" type="hidden" name="id_reference" value="{{ @$results->id}}">
<x-select label="Source" name="option" search width="3">
<option value="0" {{@$results->option == 0 ? 'selected':''}}>Kosong</option>
<option value="1" {{@$results->option == 1 ? 'selected':''}}>Satu</option>
</x-select>
<x-input label="Name" width="3" name="name" placeholder="Max 200" required value="{{@$results->name}}"/>
<x-input label="Code" width="3" name="code" placeholder="Max 200" required value="{{@$results->code}}"/>
<!-- Lihat Komponen lengkap pada dokumentasi input -->
@if(@$results) //opsional
<hr>
<div class="form-group row">
<label class="col-md-3 control-label">Insert</label>
<div class="col-md-9 bg-light">
<small>{{@$results->user_insert}} <br>{{date('d-m-Y H:i',strtotime(@$results->dt_insert))}}</small>
</div>
</div>
@endif
@endsection
@section('form-js')
<script type="text/javascript">
//pastikan tidak ada variable, id, class yang conflict dengan variable page-index
//yang dipake js di page-index
jQuery(document).ready(function(){
$("select").selectpicker();
// Load fungsi js untuk form modal lainnya
dynamic_url = controller_path+"/{{@$type == 'create' ? 'store' : 'update'}}";
$('#formData').validator();
hideFullLoader();
});
// tambahan fungsi js untuk form modal special case, tapi ati2 dengan js yang ada di page-index.
</script>
@endsection
@include('layouts.form.simple-modal')
htm
Last updated