settings.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /* eslint-disable
  2. camelcase,
  3. max-len,
  4. no-undef,
  5. */
  6. // TODO: This file was created by bulk-decaffeinate.
  7. // Fix any style issues and re-enable lint.
  8. /*
  9. * decaffeinate suggestions:
  10. * DS101: Remove unnecessary use of Array.from
  11. * DS102: Remove unnecessary code created because of implicit returns
  12. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  13. */
  14. define(['base'], App =>
  15. App.factory('settings', (ide, eventTracking) => ({
  16. saveSettings(data) {
  17. // Tracking code.
  18. for (let key of Array.from(Object.keys(data))) {
  19. const changedSetting = key
  20. const changedSettingVal = data[key]
  21. eventTracking.sendMB('setting-changed', {
  22. changedSetting,
  23. changedSettingVal
  24. })
  25. }
  26. // End of tracking code.
  27. data._csrf = window.csrfToken
  28. return ide.$http.post('/user/settings', data)
  29. },
  30. saveProjectSettings(data) {
  31. // Tracking code.
  32. for (let key of Array.from(Object.keys(data))) {
  33. const changedSetting = key
  34. const changedSettingVal = data[key]
  35. eventTracking.sendMB('project-setting-changed', {
  36. changedSetting,
  37. changedSettingVal
  38. })
  39. }
  40. // End of tracking code.
  41. data._csrf = window.csrfToken
  42. return ide.$http.post(`/project/${ide.project_id}/settings`, data)
  43. },
  44. saveProjectAdminSettings(data) {
  45. // Tracking code.
  46. for (let key of Array.from(Object.keys(data))) {
  47. const changedSetting = key
  48. const changedSettingVal = data[key]
  49. eventTracking.sendMB('project-admin-setting-changed', {
  50. changedSetting,
  51. changedSettingVal
  52. })
  53. }
  54. // End of tracking code.
  55. data._csrf = window.csrfToken
  56. return ide.$http.post(`/project/${ide.project_id}/settings/admin`, data)
  57. }
  58. })))