diff options
Diffstat (limited to 'webapp/utils/global_event_emitter.jsx')
-rw-r--r-- | webapp/utils/global_event_emitter.jsx | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/webapp/utils/global_event_emitter.jsx b/webapp/utils/global_event_emitter.jsx new file mode 100644 index 000000000..0d231d2a2 --- /dev/null +++ b/webapp/utils/global_event_emitter.jsx @@ -0,0 +1,27 @@ +// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import AppDispatcher from 'dispatcher/app_dispatcher.jsx'; +import EventEmitter from 'events'; + +import EventTypes from 'utils/event_types.jsx'; + +class GlobalEventEmitterClass extends EventEmitter { + constructor() { + super(); + this.dispatchToken = AppDispatcher.register(this.handleEventPayload); + } + + handleEventPayload = (payload) => { + const {type, value, ...args} = payload.action; //eslint-disable-line no-use-before-define + + switch (type) { + case EventTypes.POST_LIST_SCROLL_CHANGE: + this.emit(type, value, args); + break; + } + } +} + +const GlobalEventEmitter = new GlobalEventEmitterClass(); +export default GlobalEventEmitter; |