275 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			275 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			PHP
		
	
	
| @extends('layouts.master')
 | |
| @section('content')
 | |
| <div class="flex flex-col gap-6">
 | |
|     <div class="card">
 | |
|         <div class="card-header">
 | |
|             <div class="flex justify-between items-center">
 | |
|                 <h4 class="card-title">Data {{$title}}</h4>
 | |
|             </div>
 | |
|         </div>
 | |
|         <form action="{{route($route.'.store')}}" method="POST" class="">
 | |
|                 {{csrf_field()}}
 | |
|             <div class="p-6">
 | |
|                     <table class="gridjs-table"
 | |
|                         data-toggle="table"
 | |
|                         data-search="false"
 | |
|                         data-show-refresh ="false"
 | |
|                         data-page-size="700">
 | |
|                         <thead class="gridjs-thead">
 | |
|                         <tr class="gridjs-tr bg-primary-light">
 | |
|                             <th width="20">#</th>
 | |
|                             <th>Menu</th>
 | |
|                             <th width="100"><label><input type="checkbox" class="checkread"> Read</label></th>
 | |
|                             <th width="100"><label><input type="checkbox" class="checkadd"> Create</label></th>
 | |
|                             <th width="100"><label><input type="checkbox" class="checkedit"> Update</label></th>
 | |
|                             <th width="100"><label><input type="checkbox" class="checkdel"> Delete</label></th>
 | |
|                             <th width="100"><label><input type="checkbox" class="checkdownload"> Download</label></th>
 | |
|                         </tr>
 | |
|                         </thead>
 | |
|                         <tbody>
 | |
|                         @foreach($menu as $key1 => $parent)
 | |
|                             <tr>
 | |
|                                 <td class="gridjs-td gridjs-th text-sm text-gray-500">
 | |
|                                     @if(count($parent['level1']) > 0)
 | |
|                                     <a href="javascript:;" class="show_detail" data-id="{{$parent['id']}}" data-status="1">
 | |
|                                         <i id="parent{{$parent['id']}}" class="ri-subtract-line"></i>
 | |
|                                     </a>
 | |
|                                     @endif
 | |
|                                 </td>
 | |
|                                 <td class="gridjs-td gridjs-th text-sm text-gray-500">{{$parent['title']}}</td>
 | |
|                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                     <input type="checkbox" name="is_read[]"
 | |
|                                            value="is_read+{{$parent['id']}}" @if($parent['checked']['is_read'] == 1) {{'checked'}} @endif>
 | |
|                                 </td>
 | |
|                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                     <input type="checkbox" name="is_create[]"
 | |
|                                            value="is_create+{{$parent['id']}}" @if($parent['checked']['is_create'] == 1) {{'checked'}} @endif>
 | |
|                                 </td>
 | |
|                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                     <input type="checkbox" name="is_update[]"
 | |
|                                            value="is_update+{{$parent['id']}}" @if($parent['checked']['is_update'] == 1) {{'checked'}} @endif>
 | |
|                                 </td>
 | |
|                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                     <input type="checkbox" name="is_delete[]"
 | |
|                                            value="is_delete+{{$parent['id']}}" @if($parent['checked']['is_delete'] == 1) {{'checked'}} @endif>
 | |
|                                 </td>
 | |
|                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                     <input type="checkbox" name="is_download[]"
 | |
|                                            value="is_download+{{$parent['id']}}" @if($parent['checked']['is_download'] == 1) {{'checked'}} @endif>
 | |
|                                 </td>
 | |
|                                 
 | |
|                             </tr>
 | |
|                             @if($parent['level1'])
 | |
|                                 @foreach($parent['level1'] as $key2 => $level1)
 | |
|                                     <tr class="parent_{{$parent['id']}} hide_child">
 | |
|                                         <td class="gridjs-td gridjs-th text-sm text-gray-500">
 | |
|                                             @if(count($level1['level2']) > 0)<a href="javascript:;"
 | |
|                                                                                 class="show_detail"
 | |
|                                                                                 data-id="{{$level1['id']}}"
 | |
|                                                                                 data-status="1"><i
 | |
|                                                         id="parent{{$level1['id']}}"
 | |
|                                                         class="ri-subtract-line"></i></a>@endif
 | |
|                                         </td>
 | |
|                                         <td class="gridjs-td gridjs-th text-sm text-gray-500" style="text-indent:30px;">--- {{$level1['title']}}</td>
 | |
|                                         <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                             <input type="checkbox" name="is_read[]" value="is_read+{{$level1['id']}}" @if($level1['checked']['is_read'] == 1) {{'checked'}} @endif>
 | |
|                                         </td>
 | |
|                                         <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                             <input type="checkbox" name="is_create[]" value="is_create+{{$level1['id']}}" @if($level1['checked']['is_create'] == 1) {{'checked'}} @endif>
 | |
|                                         </td>
 | |
|                                         <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                             <input type="checkbox" name="is_update[]" value="is_update+{{$level1['id']}}" @if($level1['checked']['is_update'] == 1) {{'checked'}} @endif>
 | |
|                                         </td>
 | |
|                                         <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                             <input type="checkbox" name="is_delete[]" value="is_delete+{{$level1['id']}}" @if($level1['checked']['is_delete'] == 1) {{'checked'}} @endif>
 | |
|                                         </td>
 | |
|                                         <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                             <input type="checkbox" name="is_download[]" value="is_download+{{$level1['id']}}" @if($level1['checked']['is_download'] == 1) {{'checked'}} @endif>
 | |
|                                         </td>
 | |
| 
 | |
|                                         
 | |
|                                     </tr>
 | |
|                                     @if($level1['level2'])
 | |
|                                         @foreach($level1['level2'] as $key3 => $level2)
 | |
|                                             <tr class="parent_{{$level1['id']}} hide_child">
 | |
|                                                 <td class="gridjs-td gridjs-th text-sm text-gray-500">
 | |
|                                                     @if(count($level2['level3']) > 0)<a href="javascript:;"
 | |
|                                                                                         class="show_detail"
 | |
|                                                                                         data-id="{{$level2['id']}}"
 | |
|                                                                                         data-status="1"><i
 | |
|                                                                 id="parent{{$level2['id']}}"
 | |
|                                                                 class="ri-subtract-line"></i></a>@endif
 | |
|                                                 </td>
 | |
|                                                 <td style="text-indent: 60px">------ {{$level2['title']}}</td>
 | |
|                                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                     <input type="checkbox" name="is_read[]" value="is_read+{{$level2['id']}}" @if($level2['checked']['is_read'] == 1) {{'checked'}} @endif>
 | |
|                                                 </td>
 | |
|                                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                     <input type="checkbox" name="is_create[]" value="is_create+{{$level2['id']}}" @if($level2['checked']['is_create'] == 1) {{'checked'}} @endif>
 | |
|                                                 </td>
 | |
|                                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                     <input type="checkbox" name="is_update[]" value="is_update+{{$level2['id']}}" @if($level2['checked']['is_update'] == 1) {{'checked'}} @endif>
 | |
|                                                 </td>
 | |
|                                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                     <input type="checkbox" name="is_delete[]" value="is_delete+{{$level2['id']}}" @if($level2['checked']['is_delete'] == 1) {{'checked'}} @endif>
 | |
|                                                 </td>
 | |
|                                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                     <input type="checkbox" name="is_download[]" value="is_download+{{$level2['id']}}" @if($level2['checked']['is_download'] == 1) {{'checked'}} @endif>
 | |
|                                                 </td>
 | |
|                                             </tr>
 | |
|                                             @if($level2['level3'])
 | |
|                                                 @foreach($level2['level3'] as $key4 => $level3)
 | |
|                                                     <tr class="parent_{{$level2['id']}} hide_child">
 | |
|                                                         <td class="gridjs-td gridjs-th text-sm text-gray-500">
 | |
|                                                             @if(count($level3['level4']) > 0)<a href="javascript:;"
 | |
|                                                                                                 class="show_detail"
 | |
|                                                                                                 data-id="{{$level3['id']}}"
 | |
|                                                                                                 data-status="1"><i
 | |
|                                                                         id="parent{{$level3['id']}}"
 | |
|                                                                         class="ri-subtract-line"></i></a>@endif
 | |
|                                                         </td>
 | |
|                                                         <td style="text-indent: 90px;">--------- {{$level3['title']}}</td>
 | |
|                                                         <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                             <input type="checkbox" name="is_read[]" value="is_read+{{$level3['id']}}" @if($level3['checked']['is_read'] == 1) {{'checked'}} @endif>
 | |
|                                                         </td>
 | |
|                                                         <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                             <input type="checkbox" name="is_create[]" value="is_create+{{$level3['id']}}" @if($level3['checked']['is_create'] == 1) {{'checked'}} @endif>
 | |
|                                                         </td>
 | |
|                                                         <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                             <input type="checkbox" name="is_update[]" value="is_update+{{$level3['id']}}" @if($level3['checked']['is_update'] == 1) {{'checked'}} @endif>
 | |
|                                                         </td>
 | |
|                                                         <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                             <input type="checkbox" name="is_delete[]" value="is_delete+{{$level3['id']}}" @if($level3['checked']['is_delete'] == 1) {{'checked'}} @endif>
 | |
|                                                         </td>
 | |
|                                                         <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                             <input type="checkbox" name="is_download[]" value="is_download+{{$level3['id']}}" @if($level3['checked']['is_download'] == 1) {{'checked'}} @endif>
 | |
|                                                         </td>
 | |
|                                                     </tr>
 | |
|                                                     @if($level3['level4'])
 | |
|                                                         @foreach($level3['level4'] as $key5 => $level4)
 | |
|                                                             <tr class="parent_{{$level3['id']}} hide_child">
 | |
|                                                                 <td class="gridjs-td gridjs-th text-sm text-gray-500">
 | |
|                                                                     <span style="color: #7F8FA4">{{$level4['id']}}</span>
 | |
|                                                                 </td>
 | |
|                                                                 <td style="text-indent: 130px">------------ {{$level4['title']}}</td>
 | |
|                                                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                                     <input type="checkbox" name="is_read[]" value="is_read+{{$level4['id']}}" @if($level4['checked']['is_read'] == 1) {{'checked'}} @endif>
 | |
|                                                                 </td>
 | |
|                                                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                                     <input type="checkbox" name="is_create[]" value="is_create+{{$level4['id']}}" @if($level4['checked']['is_create'] == 1) {{'checked'}} @endif>
 | |
|                                                                 </td>
 | |
|                                                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                                     <input type="checkbox" name="is_update[]" value="is_update+{{$level4['id']}}" @if($level4['checked']['is_update'] == 1) {{'checked'}} @endif>
 | |
|                                                                 </td>
 | |
|                                                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                                     <input type="checkbox" name="is_delete[]" value="is_delete+{{$level4['id']}}" @if($level4['checked']['is_delete'] == 1) {{'checked'}} @endif>
 | |
|                                                                 </td>
 | |
|                                                                 <td class="gridjs-td gridjs-th text-sm text-gray-500 text-center">
 | |
|                                                                     <input type="checkbox" name="is_download[]" value="is_download+{{$level4['id']}}" @if($level4['checked']['is_download'] == 1) {{'checked'}} @endif>
 | |
|                                                                 </td>
 | |
|                                                             </tr>
 | |
|                                                         @endforeach
 | |
|                                                     @endif
 | |
|                                                 @endforeach
 | |
|                                             @endif
 | |
|                                         @endforeach
 | |
|                                     @endif
 | |
|                                 @endforeach
 | |
|                             @endif
 | |
|                         @endforeach
 | |
|                         </tbody>
 | |
|                     </table>
 | |
|                     <input type="hidden" name="group_id" value="{{encode_id(@$id)}}">
 | |
|             </div>
 | |
|             <div class="p-6">
 | |
|                 <a href="{{route('modules.management.role.index')}}" class="btn text-white bg-danger"><i class="ri-close-line"></i> Batal</a>
 | |
|                 <button class="btn text-white bg-success"><i class="ri-save-line"></i> Simpan</button>
 | |
|             </div>
 | |
|         </form>
 | |
|     </div>
 | |
| </div>
 | |
| @endsection
 | |
| @section('js')
 | |
| 	<script type="text/javascript">
 | |
|         function toggle(toggle) {
 | |
|             toggle == 'undefined' ? toggle = 0 : toggle = toggle;
 | |
|             if (toggle == 0) {
 | |
|                 $('.show_detail').attr('data-status', '1');
 | |
|                 $('.show_detail').click();
 | |
|             } else {
 | |
|                 $('.show_detail').attr('data-status', '0');
 | |
|                 $('.show_detail').click();
 | |
|             }
 | |
|         }
 | |
|         $(document).ready(function () {
 | |
|             $('.hide_child').show();
 | |
|             $('.show_detail').click(function () {
 | |
|                 var id = $(this).attr('data-id');
 | |
|                 var status = $(this).attr('data-status');
 | |
|                 if (status == 1) {
 | |
|                     $(this).attr('data-status', '0');
 | |
|                     $(".parent_" + id).show('falt');
 | |
|                     $("#parent" + id).removeClass('ri-subtract-line').addClass('ri-subtract-line');
 | |
|                 } else {
 | |
|                     $(this).attr('data-status', '1');
 | |
|                     $(".parent_" + id).hide('falt');
 | |
|                     $("#parent" + id).removeClass('ri-subtract-line').addClass('ri-subtract-line');
 | |
|                 }
 | |
|             });
 | |
| 
 | |
|             $('#menu_group').change(function () {
 | |
|                 window.location.href = "{{url('system/groups/access/'.encode_id(@$id))}}/" + this.value;
 | |
|             });
 | |
| 
 | |
|             $('.checkread').change(function () {
 | |
|                 var checked = $(this).prop('checked');
 | |
|                 $('.table').find('input[name*="is_read[]"]').prop('checked', checked);
 | |
|             });
 | |
|             $('.checkverify').change(function () {
 | |
|                 var checked = $(this).prop('checked');
 | |
|                 $('.table').find('input[name*="is_verify[]"]').prop('checked', checked);
 | |
|             });
 | |
|             $('.checkadd').change(function () {
 | |
|                 var checked = $(this).prop('checked');
 | |
|                 $('.table').find('input[name*="is_create[]"]').prop('checked', checked);
 | |
|             });
 | |
|             $('.checkedit').change(function () {
 | |
|                 var checked = $(this).prop('checked');
 | |
|                 $('.table').find('input[name*="is_update[]"]').prop('checked', checked);
 | |
|             });
 | |
|             $('.checkdel').change(function () {
 | |
|                 var checked = $(this).prop('checked');
 | |
|                 $('.table').find('input[name*="is_delete[]"]').prop('checked', checked);
 | |
|             });
 | |
|             $('.checkapprove').change(function () {
 | |
|                 var checked = $(this).prop('checked');
 | |
|                 $('.table').find('input[name*="is_approve[]"]').prop('checked', checked);
 | |
|             });
 | |
|             $('.checkdownload').change(function () {
 | |
|                 var checked = $(this).prop('checked');
 | |
|                 $('.table').find('input[name*="is_download[]"]').prop('checked', checked);
 | |
|             });
 | |
| 
 | |
|             $('.checkbalaibesar').change(function () {
 | |
|                 var checked = $(this).prop('checked');
 | |
|                 $('.table').find('input[name*="is_balaibesar[]"]').prop('checked', checked);
 | |
|             });
 | |
|             $('.checktipea').change(function () {
 | |
|                 var checked = $(this).prop('checked');
 | |
|                 $('.table').find('input[name*="is_tipe_a[]"]').prop('checked', checked);
 | |
|             });
 | |
|             $('.checktipeb').change(function () {
 | |
|                 var checked = $(this).prop('checked');
 | |
|                 $('.table').find('input[name*="is_tipe_b[]"]').prop('checked', checked);
 | |
|             });
 | |
|             $('.checkloka').change(function () {
 | |
|                 var checked = $(this).prop('checked');
 | |
|                 $('.table').find('input[name*="is_loka[]"]').prop('checked', checked);
 | |
|             });
 | |
|             $('.checkpusat').change(function () {
 | |
|                 var checked = $(this).prop('checked');
 | |
|                 $('.table').find('input[name*="is_pusat[]"]').prop('checked', checked);
 | |
|             });
 | |
|         });
 | |
|     </script>
 | |
| @endsection |