leonsuke

DataTable_new

Mar 4th, 2019
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.58 KB | None | 0 0
  1. var TableAjax = function () {
  2. var initPickers = function () {
  3. // Init date pickers
  4. $('.date-picker').datepicker({
  5. rtl: Metronic.isRTL(),
  6. autoclose: true
  7. });
  8. }
  9.  
  10. var handleRecords = function () {
  11. var grid = $("#datatable_ajax").DataTable({
  12. "ajax": {
  13. 'processing': true,
  14. 'serverSide': true,
  15. 'url': 'http://localhost:8000/bank/index', // Ajax source
  16. 'dataSrc': 'data', // Used to tell DataTables where the data array is in the JSON structure
  17. 'type': 'GET'
  18. },
  19. "columns" : [
  20. {data: 'nama_bank'},
  21. {data: 'created_at'},
  22. {data: 'updated_at'},
  23. ],
  24. "columnDefs": [{
  25. "targets": 3,
  26. "data": {
  27. data: 'id'
  28. },
  29. 'render' : function(data, type, row, meta){
  30. return '<button type="button" class="btn btn-md btn-primary" data-id="'+data.id+'" onClick="ganti('+data.id+')" data-toggle="modal" href="#responsive">Edit</button> \
  31. <button type="button" class="btn btn-md btn-danger" data-id="'+data.id+'" onClick="return confirm() && hapus('+data.id+')">Delete</button>';
  32. }
  33. }]
  34. });
  35.  
  36. setInterval( function () {
  37. grid.ajax.reload();
  38. }, 5000);
  39. };
  40.  
  41. return {
  42. // Main function to initiate the module
  43. init: function () {
  44. initPickers();
  45. handleRecords();
  46. }
  47. };
  48. }();
  49.  
  50. // Show Data
  51. function lihat() {
  52.  
  53. }
  54.  
  55. // Delete Data
  56. function hapus(data) {
  57. var id_delete_val = data;
  58.  
  59. $.ajax({
  60. 'url': 'http://localhost:8000/bank/delete/'+id_delete_val,
  61. 'type': 'DELETE',
  62. 'data': {id:id_delete_val},
  63.  
  64. success:function(data) {
  65. $('#success').html('<div id="prefix_732904980324" class="Metronic-alerts alert alert-success fade in"><button type="button" class="close" data-dismiss="alert" aria-hidden="true"></button>'+data.message+'</div>');
  66. }
  67. })
  68. }
  69.  
  70. // Edit Data
  71. function ganti(data) {
  72. var id_ganti_val = data;
  73.  
  74. $.ajax({
  75. 'url': 'http://localhost:8000/bank/show/'+id_ganti_val,
  76. 'type': 'GET',
  77. 'data': {id:id_ganti_val},
  78.  
  79. success:function(data) {
  80. $('#id_bank_edit').val(data.id);
  81. $('#nama_bank_edit').val(data.nama_bank)
  82. $('#bank_nama_title').html(data.nama_bank)
  83. }
  84. })
  85. }
  86.  
  87. // Ubah Data
  88. function ubah() {
  89. var update_id_bank = $('#id_bank_edit').val();
  90. var update_nama_bank = $('#nama_bank_edit').val();
  91.  
  92. $.ajax({
  93. url: 'http://localhost:8000/bank/update/'+update_id_bank,
  94. type: 'PUT',
  95. data: {id:update_id_bank, nama_bank:update_nama_bank},
  96.  
  97. // Success response
  98. success:function(data) {
  99. $('#nama_bank').val('');
  100. $('#success_update').html('<div id="prefix_732904980324" class="Metronic-alerts alert alert-success fade in"><button type="button" class="close" data-dismiss="alert" aria-hidden="true"></button>'+data.message+'</div>');
  101. },
  102.  
  103. // Error response
  104. error: function (request, status, error) {
  105. $('#danger_update').html('<div id="prefix_732904980324" class="Metronic-alerts alert alert-danger fade in"><button type="button" class="close" data-dismiss="alert" aria-hidden="true"></button>'+request.responseJSON.nama_bank+'</div>');
  106. }
  107. });
  108. }
Advertisement
Add Comment
Please, Sign In to add comment