assets.cp.scripts.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. function ModalSysMsg(title, html) {
  2. var dialog = $('#sys-modal-msg');
  3. $('#sysModalMsgLabel').text(title);
  4. $('#sysModalMsgBody').html(html);
  5. return dialog;
  6. }
  7. function ModalShowMsg(title, message) {
  8. var dialog = ModalSysMsg(title, message);
  9. dialog.modal('show');
  10. }
  11. function AjaxDone(data) {
  12. try {
  13. eval(data);
  14. } catch(e) {
  15. if(e instanceof SyntaxError) {
  16. console.log(data);
  17. ModalShowMsg('JavaScript Eval Error', e.message)
  18. }
  19. }
  20. }
  21. function AjaxFail() {
  22. console.log('Form send fail, page will be reloaded');
  23. window.location.reload(false);
  24. }
  25. function ActionUserSettings() {
  26. // Reset form to remove autocomplete
  27. $('form.form-user-settings')[0].reset();
  28. }
  29. function ActionSingOut() {
  30. $.ajax({
  31. type: "POST",
  32. url: '/cp/',
  33. data: {
  34. action: 'singout',
  35. }
  36. }).done(function(data) {
  37. AjaxDone(data)
  38. }).fail(function() {
  39. AjaxFail();
  40. });
  41. }
  42. $(document).ready(function() {
  43. // Ajax forms
  44. $('form').each(function() {
  45. $(this).submit(function(e) {
  46. var form = $(this);
  47. if($(form).hasClass('loading')) {
  48. e.preventDefault();
  49. return;
  50. }
  51. $(form).addClass('loading');
  52. var button = $(this).find('button[type=submit]');
  53. $(button).addClass('progress-bar-striped').addClass('progress-bar-animated');
  54. $.ajax({
  55. type: "POST",
  56. url: form.attr('action'),
  57. data: form.serialize()
  58. }).done(function(data) {
  59. AjaxDone(data)
  60. }).fail(function() {
  61. AjaxFail();
  62. }).always(function() {
  63. $(form).removeClass('loading');
  64. $(button).removeClass('progress-bar-striped').removeClass('progress-bar-animated');
  65. });
  66. e.preventDefault();
  67. });
  68. });
  69. });