diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-06-23 12:09:56 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-23 12:09:56 -0400 |
commit | ca8d57c4dbfe839db28b583caa7d599c0cfc023a (patch) | |
tree | 0a4fc6eabf8b8d7f87fdb687b03cc4da7e48d2c3 /webapp/utils/global_event_emitter.jsx | |
parent | b01da39887b990b8c57484f53643a3c0ea5d531b (diff) | |
download | chat-ca8d57c4dbfe839db28b583caa7d599c0cfc023a.tar.gz chat-ca8d57c4dbfe839db28b583caa7d599c0cfc023a.tar.bz2 chat-ca8d57c4dbfe839db28b583caa7d599c0cfc023a.zip |
PLT-6890 Fix various scrolling issues (#6727)
* Fix various scrolling issues
* Move reaction scrolling to reaction list
* Handle scrolling when RHS opens
* Only run scroll update code when posts change
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; |