Advertisement
fadlyshafa

Untitled

Dec 6th, 2019
620
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
jQuery 2.64 KB | None | 0 0
  1. <script id="details-template" type="text/x-handlebars-template">
  2.     <div class="label label-info">User @{{ id }}'s Posts</div>
  3.     <table class="table details-table" id="posts-@{{id}}">
  4.         <thead>
  5.             <tr>
  6.                 <th>nama tarif</th>
  7.                 <th>harga</th>
  8.             </tr>
  9.         </thead>
  10.     </table>
  11. </script>
  12.  
  13. <script type="text/javascript">
  14.     $(document).ready(function(){
  15.  
  16.         var template = Handlebars.compile($("#details-template").html());
  17.  
  18.         var table = $('.tbl-tarif').DataTable({
  19.             processing: true,
  20.             serverSide: true,
  21.             ajax: "{{ $yajra }}",
  22.             columns: [
  23.             // or just disable search since it's not really searchable. just add searchable:false
  24.             {
  25.                 "className":      'details-control',
  26.                 "orderable":      false,
  27.                 "searchable":     false,
  28.                 "data":           null,
  29.                 "defaultContent": '<button class="btn btn-xs btn-flat btn-success"><i class="fa fa-plus"></i></button>'
  30.             },
  31.             {data: 'rownum', name: 'rownum'},
  32.             {data: 'nama', name: 'nama'},
  33.             {data: 'created_at', name: 'created_at'},
  34.             {data: 'updated_at', name: 'updated_at'},
  35.             {data: 'action', name: 'action'},
  36.            
  37.             ]
  38.         });
  39.  
  40.         // Add event listener for opening and closing details
  41.         $('.tbl-tarif tbody').on('click', 'td.details-control', function () {
  42.             var tr = $(this).closest('tr');
  43.             var row = table.row(tr);
  44.             var tableId = 'posts-' + row.data().id;
  45.  
  46.             if (row.child.isShown()) {
  47.             // This row is already open - close it
  48.             row.child.hide();
  49.             tr.removeClass('shown');
  50.         } else {
  51.             // Open this row
  52.             row.child(template(row.data())).show();
  53.             initTable(tableId, row.data());
  54.             tr.addClass('shown');
  55.             tr.next().find('td').addClass('no-padding bg-gray');
  56.         }
  57.     });
  58.  
  59.         function initTable(tableId, data) {
  60.             $('#' + tableId).DataTable({
  61.                 processing: true,
  62.                 serverSide: true,
  63.                 ajax: data.details_url,
  64.                 columns: [
  65.                 { data: 'nama', name: 'nama' },
  66.                 { data: 'harga', name: 'harga' },
  67.                
  68.                 ]
  69.             })
  70.         }
  71.  
  72.         // btn refresh
  73.         $('.btn-refresh').click(function(e){
  74.             e.preventDefault();
  75.             $('.preloader').fadeIn();
  76.             location.reload();
  77.         })
  78.  
  79.     })
  80. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement