Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. import EventBus from '@/misc/EventBus'
  2. import PageHelper from '@/helpers/PageHelper'
  3.  
  4. class EventsService {
  5. constructor(vm) {
  6. this.vm = vm
  7. }
  8.  
  9. /**
  10. * All the event bus related things
  11. */
  12. setup() {
  13. this._setupRebootEvent()
  14. this._setupCrashEvent()
  15. this._setupErrorEvent()
  16. }
  17.  
  18. success(message) {
  19. this.vm.$noty.info(message)
  20. }
  21.  
  22. reboot() {
  23. EventBus.$emit('rebootEvent')
  24. }
  25.  
  26. error(error) {
  27. EventBus.$emit('errorEvent', error)
  28. }
  29.  
  30. crash(error) {
  31. EventBus.$emit('crashEvent', error)
  32. }
  33.  
  34. _setupRebootEvent() {
  35. EventBus.$on('rebootEvent', this._onRebootEvent.bind(this))
  36. }
  37.  
  38. _setupCrashEvent() {
  39. EventBus.$on('crashEvent', this._onCrashEvent.bind(this))
  40. }
  41.  
  42. _setupErrorEvent() {
  43. EventBus.$on('errorEvent', this._onErrorEvent.bind(this))
  44. }
  45.  
  46. /**
  47. * We put a listener to the rebootEvent
  48. * when a crash needs a reboot and clear cache / session
  49. * we use this command
  50. */
  51. _onRebootEvent(error) {
  52. if (error) {
  53. console.log(error)
  54. localStorage.clear()
  55. }
  56. PageHelper.refreshPage()
  57. }
  58.  
  59. /**
  60. * We put a listener to the crashEvent
  61. * This kind of error is major and lock the application itself
  62. * until the person refreshes the page entirely
  63. */
  64. _onCrashEvent(error) {
  65. if (error.message === 'Network Error') {
  66. this._addNetworkCrash(error)
  67. return
  68. }
  69.  
  70. this._addDefaultCrash(error)
  71. }
  72.  
  73. /**
  74. * We put a listener to the errorEvent
  75. * This kind of errors is minor and dispatch an error message
  76. */
  77. _onErrorEvent(error) {
  78. this.vm.$noty.error(error)
  79. }
  80.  
  81. _addNetworkCrash(rawError) {
  82. this.vm.error = {
  83. message: 'Oh snap ! There is a network error, please refresh the page.',
  84. raw: rawError
  85. }
  86. }
  87.  
  88. _addDefaultCrash(rawError) {
  89. this.vm.error = {
  90. message: 'Oh snap ! Something went wrong, please refresh the page.',
  91. raw: rawError
  92. }
  93. }
  94. }
  95.  
  96. export default EventsService
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement