Advertisement
Guest User

table

a guest
Nov 17th, 2018
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.13 KB | None | 0 0
  1. //index.blade.php==========================================
  2.  
  3. @extends('layouts.app')
  4.  @section('content')
  5. <div class="panel panel-primary">
  6.     <div class="panel-heading">
  7.       <h3 class="panel-title">Daftar Permintaan
  8.           <a href="{{ route('permintaan.create') }}" class="btn btn-success pull-right modal-show" style="margin-top: -8px;" title="Create Permitaan"><i class="icon-plus"></i> Create</a>
  9.       </h3>
  10.     </div>
  11.     <div class="panel-body">
  12.           <table id="datatable" class="table table-hover" style="width:100%">
  13.               <thead>
  14.                   <tr>
  15.                     <th>No</th>
  16.                     <th>Kode</th>
  17.                     <th>Tanggal Permintaan</th>
  18.                     <th>Status</th>
  19.                     <th>Action</th>
  20.                   </tr>
  21.               </thead>
  22.               <tbody>
  23.  
  24.               </tbody>
  25.               <tfoot>
  26.                   <tr>
  27.                     <th>No</th>
  28.                     <th>Kode</th>
  29.                     <th>Tanggal Permintaan</th>
  30.                     <th>Status</th>
  31.                     <th>Action</th>
  32.                   </tr>
  33.               </tfoot>
  34.           </table>
  35.     </div>
  36. </div>
  37. @endsection
  38.  
  39. @push('scripts')
  40.     <script src="{{ asset('js/daftarpermintaan.js') }}"></script>
  41.     <script src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.12/handlebars.min.js"></script>
  42.     <script>
  43.     var template = Handlebars.compile($("#details-template").html());
  44.     console.log(  );
  45.     var table = $('#datatable').DataTable({
  46.             processing: true,
  47.             serverSide: true,
  48.             ajax: "{{ route('table.daftarpermintaan') }}",
  49.             columns: [
  50.                 {
  51.                     "className":      'details-control',
  52.                     "orderable":      false,
  53.                     "searchable":      false,
  54.                     "data":           null,
  55.                     "defaultContent": ''
  56.                 },
  57.                 {data: 'DT_Row_Index', name: 'kode_permintaan'},
  58.                 {data: 'kode_permintaan', name: 'kode_permintaan'},
  59.                 {data: 'tgl_permintaan', name: 'tgl_permintaan'},
  60.                 {data: 'status_permintaan', name: 'status_permintaan'}
  61.             ],
  62.             order: [[1, 'asc']]
  63.         });
  64.  
  65.         // Add event listener for opening and closing details
  66.         $('#datatable tbody').on('click', 'td.details-control', function () {
  67.             var tr = $(this).closest('tr');
  68.             var row = table.row(tr);
  69.             var tableId = 'posts-' + row.data().id;
  70.  
  71.             if (row.child.isShown()) {
  72.                 // This row is already open - close it
  73.                 row.child.hide();
  74.                 tr.removeClass('shown');
  75.             } else {
  76.                 // Open this row
  77.                 row.child(template(row.data())).show();
  78.                 initTable(tableId, row.data());
  79.                 tr.addClass('shown');
  80.                 tr.next().find('td').addClass('no-padding bg-gray');
  81.             }
  82.         });
  83.  
  84.         function initTable(tableId, data) {
  85.             $('#' + tableId).DataTable({
  86.                 processing: true,
  87.                 serverSide: true,
  88.                 ajax: data.details_url,
  89.                 columns: [
  90.                     { data: 'id', name: 'id' },
  91.                     { data: 'title', name: 'title' }
  92.                 ]
  93.             })
  94.         }
  95.     </script>
  96.  
  97.     <script id="details-template" type="text/x-handlebars-template">
  98.         <div class="label label-info">Use's Posts</div>
  99.         <table class="table details-table" >
  100.             <thead>
  101.             <tr>
  102.                 <th>Id</th>
  103.                 <th>Title</th>
  104.             </tr>
  105.             </thead>
  106.         </table>
  107.     </script>
  108.  
  109. @endpush
  110.  
  111. //End index.blade.php==========================================
  112.  
  113. //Ctroller.php==========================================
  114.  
  115. <?php
  116.  
  117. namespace App\Http\Controllers;
  118. use App\Permintaan;
  119. use App\Barang;
  120. use App\Detailpermintaan;
  121. use DataTables;
  122. use DB;
  123. use Session;
  124. use Illuminate\Http\Request;
  125.  
  126. class DaftarpermintaanController extends Controller
  127. {
  128.     /**
  129.      * Display a listing of the resource.
  130.      *
  131.      * @return \Illuminate\Http\Response
  132.      */
  133.     public function index()
  134.     {
  135.         return view('pages.daftarpermintaan.index');
  136.     }
  137.  
  138.     public function getMasterData()
  139.     {
  140.         $model = Permintaan::query();
  141.  
  142.         return Datatables::of($model)
  143.             ->addColumn('details_url', function($model) {
  144.                 return url('/table/daftarpermintaan' . $model->kode_permintaan);
  145.             })
  146.             ->addIndexColumn()
  147.             ->make(true);
  148.     }
  149.  
  150.     public function getDetailsData($kode_permintaan)
  151.     {
  152.         $posts = permintaan::find($kode_permintaan)->posts();
  153.  
  154.         return Datatables::of($posts)->make(true);
  155.     }
  156.  
  157. }
  158.  
  159. //End Ctroller.php==========================================
  160.  
  161.  
  162. ////route==========================================
  163.  
  164. Route::resource('/daftarpermintaan', 'DaftarpermintaanController');
  165.  
  166. Route::get('/table/daftarpermintaan', 'DaftarpermintaanController@getMasterData')->name('table.daftarpermintaan');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement