tableengine.ui.js 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. var changeFails = 0;
  2. /**
  3. * Change all table engines.
  4. *
  5. * @access public
  6. * @return void
  7. */
  8. function changeAllEngines()
  9. {
  10. $(event.target).hide();
  11. var $engineBox = $('#engineBox');
  12. $engineBox.empty();
  13. changeTableEngine();
  14. }
  15. /**
  16. * Ajax change table engine.
  17. *
  18. * @access public
  19. * @return void
  20. */
  21. function changeTableEngine()
  22. {
  23. var $engineBox = $('#engineBox');
  24. var link = $.createLink('admin', 'ajaxChangeTableEngine');
  25. $.ajax(
  26. {
  27. type: "GET",
  28. url: link,
  29. success: function(response)
  30. {
  31. response = JSON.parse(response);
  32. if(response == null || response.result == 'finished')
  33. {
  34. $engineBox.append("<div class='flex items-center text-success my-1 pl-5 h-5'><div class='rounded-full success mr-2 w-1 h-1'></div>" + changeFinished + '</div>');
  35. $engineBox.append("<div class='flex items-center my-1 pl-8 h-5'><button class='btn mt-2' data-on='click' data-call='loadCurrentPage'>" + refresh + '</button></div>');
  36. if(changeFails == 0) $('#mainContent .table-engine').html(allInnoDB);
  37. if(changeFails != 0) $('#mainContent .table-engine').html(hasMyISAM.replace('%s', changeFails));
  38. $engineBox.children().last().scrollIntoView({block: 'end'});
  39. }
  40. else
  41. {
  42. table = response.thisTable;
  43. if($engineBox.find('[data-table=' + table + ']').length == 0) $engineBox.append("<div class='flex items-center my-1 pl-5 h-5' data-table='" + table + "'><div class='rounded-full black mr-2 w-1 h-1'></div>" + changingTable.replace('%s', table) + '</div>');
  44. $engineBox.find('[data-table=' + table + ']').html("<div class='rounded-full black mr-2 w-1 h-1'></div>" + response.message);
  45. if(response.result == 'success') $engineBox.find('[data-table=' + table + ']').addClass('text-success').find('.black').toggleClass('black success');
  46. if(response.result == 'fail') $engineBox.find('[data-table=' + table + ']').addClass('text-warning');
  47. nextTable = response.nextTable;
  48. if(nextTable && $engineBox.find('[data-table=' + nextTable + ']').length == 0) $engineBox.append("<div class='flex items-center my-1 pl-5 h-5' data-table='" + nextTable + "'><div class='rounded-full black mr-2 w-1 h-1'></div>" + changingTable.replace('%s', nextTable) + "</div>");
  49. if(response.result == 'fail') changeFails++;
  50. $engineBox.children().last().scrollIntoView({block: 'end'});
  51. changeTableEngine();
  52. }
  53. },
  54. error: function()
  55. {
  56. changeTableEngine();
  57. }
  58. })
  59. }