Advertisement
Guest User

Js Full

a guest
Mar 4th, 2019
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.73 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 = new Datatable();
  12.  
  13. grid.init({
  14. src: $("#datatable_ajax"),
  15. onSuccess: function (grid) {
  16. // Execute some code after table records loaded
  17. ubah(grid);
  18. },
  19. onError: function (grid) {
  20. // Execute some code on network or other general error
  21. },
  22. onDataLoad: function(grid) {
  23. // Execute some code on ajax data load
  24. },
  25. loadingMessage: 'Loading...',
  26. dataTable: {
  27. /**
  28. * Here you can define a typical datatable settings from http://datatables.net/usage/options
  29. * uncomment below line("dom" parameter) to fix the dropdown overflow issue in the datatable cells. The default datatable layout
  30. * setup uses scrollable div(table-scrollable) with overflow:auto to enable vertical scroll(see: assets/global/scripts/datatable.js).
  31. * So when dropdowns used the scrollable div should be removed.
  32. * "dom": "<'row'<'col-md-8 col-sm-12'pli><'col-md-4 col-sm-12'<'table-group-actions pull-right'>>r>t<'row'<'col-md-8 col-sm-12'pli><'col-md-4 col-sm-12'>>",
  33. */
  34.  
  35. "bStateSave": true, // Save datatable state(pagination, sort, etc) in cookie.
  36. "lengthMenu": [
  37. [10, 20, 50, 100, 150, -1],
  38. [10, 20, 50, 100, 150, "All"] // Change per page values here
  39. ],
  40. "pageLength": 10, // Default record count per page
  41. "ajax": {
  42. 'processing': true,
  43. 'serverSide': true,
  44. 'url': 'http://localhost:8000/bank/index', // Ajax source
  45. 'dataSrc': 'data', // Used to tell DataTables where the data array is in the JSON structure
  46. 'type': 'GET'
  47. },
  48. /**
  49. * Note that the data parameter format shown here can be used with a simplified DataTables initialisation as data is the default property that
  50. * DataTables looks for in the source data object
  51. * */
  52. "columns" : [
  53. {data: 'nama_bank'},
  54. {data: 'created_at'},
  55. {data: 'updated_at'},
  56. ],
  57. "columnDefs": [ {
  58. "targets": 3,
  59. "data": {
  60. data: 'id'
  61. },
  62. 'render' : function(data, type, row, meta){
  63. 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> \
  64. <button type="button" class="btn btn-md btn-danger" data-id="'+data.id+'" onClick="return confirm() && hapus('+data.id+')">Delete</button>';
  65. }
  66. } ]
  67. }
  68. });
  69.  
  70. // Handle group actionsubmit button click
  71. grid.getTableWrapper().on('click', '.table-group-action-submit', function (e) {
  72. e.preventDefault();
  73. var action = $(".table-group-action-input", grid.getTableWrapper());
  74. if (action.val() != "" && grid.getSelectedRowsCount() > 0) {
  75. grid.setAjaxParam("customActionType", "group_action");
  76. grid.setAjaxParam("customActionName", action.val());
  77. grid.setAjaxParam("id", grid.getSelectedRows());
  78. grid.getDataTable().ajax.reload();
  79. grid.clearAjaxParams();
  80. } else if (action.val() == "") {
  81. Metronic.alert({
  82. type: 'danger',
  83. icon: 'warning',
  84. message: 'Please select an action',
  85. container: grid.getTableWrapper(),
  86. place: 'prepend'
  87. });
  88. } else if (grid.getSelectedRowsCount() === 0) {
  89. Metronic.alert({
  90. type: 'danger',
  91. icon: 'warning',
  92. message: 'No record selected',
  93. container: grid.getTableWrapper(),
  94. place: 'prepend'
  95. });
  96. }
  97. });
  98. };
  99.  
  100. return {
  101. // Main function to initiate the module
  102. init: function () {
  103. initPickers();
  104. handleRecords();
  105. }
  106. };
  107. }();
  108.  
  109. // Show Data
  110. function lihat() {
  111.  
  112. }
  113.  
  114. // Delete Data
  115. function hapus(data) {
  116. var id_delete_val = data;
  117.  
  118. $.ajax({
  119. 'url': 'http://localhost:8000/bank/delete/'+id_delete_val,
  120. 'type': 'DELETE',
  121. 'data': {id:id_delete_val},
  122.  
  123. success:function(data) {
  124. $('#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>');
  125. }
  126. })
  127. }
  128.  
  129. // Edit Data
  130. function ganti(data) {
  131. var id_ganti_val = data;
  132.  
  133. $.ajax({
  134. 'url': 'http://localhost:8000/bank/show/'+id_ganti_val,
  135. 'type': 'GET',
  136. 'data': {id:id_ganti_val},
  137.  
  138. success:function(data) {
  139. $('#id_bank_edit').val(data.id);
  140. $('#nama_bank_edit').val(data.nama_bank)
  141. $('#bank_nama_title').html(data.nama_bank)
  142. }
  143. })
  144. }
  145.  
  146. // Ubah Data
  147. function ubah(grid) {
  148. var update_id_bank = $('#id_bank_edit').val();
  149. var update_nama_bank = $('#nama_bank_edit').val();
  150.  
  151. $.ajax({
  152. url: 'http://localhost:8000/bank/update/'+update_id_bank,
  153. type: 'PUT',
  154. data: {id:update_id_bank, nama_bank:update_nama_bank},
  155.  
  156. // Success response
  157. success:function(data) {
  158. $('#nama_bank').val('');
  159. $('#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>');
  160. grid.draw();
  161. },
  162.  
  163. // Error response
  164. error: function (request, status, error) {
  165. $('#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>');
  166. }
  167. });
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement