crowi-admin.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. require('./thirdparty-js/jQuery.style.switcher');
  2. // see https://github.com/abpetkov/switchery/issues/120
  3. // see https://github.com/abpetkov/switchery/issues/120#issuecomment-286337221
  4. require('./thirdparty-js/switchery/switchery');
  5. require('./thirdparty-js/switchery/switchery.css');
  6. $(function() {
  7. $('#slackNotificationForm').on('submit', function(e) {
  8. $.post('/_api/admin/notification.add', $(this).serialize(), function(res) {
  9. if (res.ok) {
  10. // TODO Fix
  11. location.reload();
  12. }
  13. });
  14. return false;
  15. });
  16. $('form.admin-remove-updatepost').on('submit', function(e) {
  17. $.post('/_api/admin/notification.remove', $(this).serialize(), function(res) {
  18. if (res.ok) {
  19. // TODO Fix
  20. location.reload();
  21. }
  22. });
  23. return false;
  24. });
  25. $('#createdUserModal').modal('show');
  26. $('#admin-password-reset-modal').on('show.bs.modal', function(button) {
  27. const data = $(button.relatedTarget);
  28. const userId = data.data('user-id');
  29. const email = data.data('user-email');
  30. $('#admin-password-reset-user').text(email);
  31. $('#admin-users-reset-password input[name=user_id]').val(userId);
  32. });
  33. $('form#admin-users-reset-password').on('submit', function(e) {
  34. $.post('/_api/admin/users.resetPassword', $(this).serialize(), function(res) {
  35. if (res.ok) {
  36. // TODO Fix
  37. //location.reload();
  38. $('#admin-password-reset-modal').modal('hide');
  39. $('#admin-password-reset-modal-done').modal('show');
  40. $('#admin-password-reset-done-user').text(res.user.email);
  41. $('#admin-password-reset-done-password').text(res.newPassword);
  42. return ;
  43. }
  44. // fixme
  45. alert('Failed to reset password');
  46. });
  47. return false;
  48. });
  49. $('#admin-delete-user-group-modal').on('show.bs.modal', function(button) {
  50. const data = $(button.relatedTarget);
  51. const userGroupId = data.data('user-group-id');
  52. const userGroupName = data.data('user-group-name');
  53. $('#admin-delete-user-group-name').text(userGroupName);
  54. $('#admin-user-groups-delete input[name=user_group_id]').val(userGroupId);
  55. });
  56. $('form#user-group-relation-create').on('submit', function(e) {
  57. $.post('/admin/user-group-relation/create', $(this).serialize(), function(res) {
  58. $('#admin-add-user-group-relation-modal').modal('hide');
  59. return;
  60. });
  61. });
  62. $('#pictureUploadForm input[name=userGroupPicture]').on('change', function() {
  63. const $form = $('#pictureUploadForm');
  64. const fd = new FormData($form[0]);
  65. if ($(this).val() == '') {
  66. return false;
  67. }
  68. $('#pictureUploadFormProgress').html('<img src="/images/loading_s.gif"> アップロード中...');
  69. $.ajax($form.attr('action'), {
  70. type: 'post',
  71. processData: false,
  72. contentType: false,
  73. data: fd,
  74. dataType: 'json',
  75. success: function(data) {
  76. if (data.status) {
  77. $('#settingUserPicture').attr('src', data.url + '?time=' + (new Date()));
  78. $('#pictureUploadFormMessage')
  79. .addClass('alert alert-success')
  80. .html('変更しました');
  81. }
  82. else {
  83. $('#pictureUploadFormMessage')
  84. .addClass('alert alert-danger')
  85. .html('変更中にエラーが発生しました。');
  86. }
  87. $('#pictureUploadFormProgress').html('');
  88. }
  89. });
  90. return false;
  91. });
  92. // style switcher
  93. $('#styleOptions').styleSwitcher();
  94. // switchery
  95. const elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
  96. elems.forEach(function(elem) {
  97. const color = elem.dataset.color;
  98. const size = elem.dataset.size;
  99. new Switchery(elem, { color, size }); // eslint-disable-line no-undef
  100. });
  101. });