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-secondary/10">
 | 
						|
                            <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 |