diff options
author | Christopher Speller <crspeller@gmail.com> | 2017-09-06 23:04:13 -0700 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2017-09-06 23:11:58 -0700 |
commit | d8bd57901e33a7057e26e782e295099ffcc0da89 (patch) | |
tree | e12dfc8cad42b1576756d19d7fbfd82646a009bf /webapp/stores/post_store.jsx | |
parent | 7bc8e9a08dfde56387f946fdf5086252aa4d0491 (diff) | |
download | chat-d8bd57901e33a7057e26e782e295099ffcc0da89.tar.gz chat-d8bd57901e33a7057e26e782e295099ffcc0da89.tar.bz2 chat-d8bd57901e33a7057e26e782e295099ffcc0da89.zip |
Removing webapp
Diffstat (limited to 'webapp/stores/post_store.jsx')
-rw-r--r-- | webapp/stores/post_store.jsx | 242 |
1 files changed, 0 insertions, 242 deletions
diff --git a/webapp/stores/post_store.jsx b/webapp/stores/post_store.jsx deleted file mode 100644 index a1bdfa4e9..000000000 --- a/webapp/stores/post_store.jsx +++ /dev/null @@ -1,242 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import AppDispatcher from '../dispatcher/app_dispatcher.jsx'; -import EventEmitter from 'events'; - -import ChannelStore from 'stores/channel_store.jsx'; -import BrowserStore from 'stores/browser_store.jsx'; -import UserStore from 'stores/user_store.jsx'; - -import * as PostUtils from 'utils/post_utils.jsx'; -import {Constants} from 'utils/constants.jsx'; -const ActionTypes = Constants.ActionTypes; - -const FOCUSED_POST_CHANGE = 'focused_post_change'; -const EDIT_POST_EVENT = 'edit_post'; -const POST_PINNED_CHANGE_EVENT = 'post_pinned_change'; - -import store from 'stores/redux_store.jsx'; -const dispatch = store.dispatch; -const getState = store.getState; - -import * as Selectors from 'mattermost-redux/selectors/entities/posts'; - -class PostStoreClass extends EventEmitter { - constructor() { - super(); - this.selectedPostId = null; - this.currentFocusedPostId = null; - } - - emitPostFocused() { - this.emit(FOCUSED_POST_CHANGE); - } - - addPostFocusedListener(callback) { - this.on(FOCUSED_POST_CHANGE, callback); - } - - removePostFocusedListener(callback) { - this.removeListener(FOCUSED_POST_CHANGE, callback); - } - - emitEditPost(post) { - this.emit(EDIT_POST_EVENT, post); - } - - addEditPostListener(callback) { - this.on(EDIT_POST_EVENT, callback); - } - - removeEditPostListner(callback) { - this.removeListener(EDIT_POST_EVENT, callback); - } - - emitPostPinnedChange() { - this.emit(POST_PINNED_CHANGE_EVENT); - } - - addPostPinnedChangeListener(callback) { - this.on(POST_PINNED_CHANGE_EVENT, callback); - } - - removePostPinnedChangeListener(callback) { - this.removeListener(POST_PINNED_CHANGE_EVENT, callback); - } - - getLatestPostId(channelId) { - const postsInChannel = getState().entities.posts.postsInChannel[channelId] || []; - return postsInChannel[0]; - } - - getLatestReplyablePost(channelId) { - const postIds = getState().entities.posts.postsInChannel[channelId] || []; - const posts = getState().entities.posts.posts; - - for (const postId of postIds) { - const post = posts[postId] || {}; - if (post.state !== Constants.POST_DELETED && !PostUtils.isSystemMessage(post)) { - return post; - } - } - - return null; - } - - getVisiblePosts() { - const posts = Selectors.getPostsInCurrentChannel(getState()); - const currentChannelId = getState().entities.channels.currentChannelId; - return posts.slice(0, getState().views.channel.postVisibility[currentChannelId]); - } - - getFocusedPostId() { - return this.currentFocusedPostId; - } - - storeFocusedPostId(postId) { - this.currentFocusedPostId = postId; - } - - clearFocusedPost() { - this.currentFocusedPostId = null; - } - - getCurrentUsersLatestPost(channelId, rootId) { - const userId = UserStore.getCurrentId(); - - const postIds = getState().entities.posts.postsInChannel[channelId] || []; - - let lastPost = null; - - for (const id of postIds) { - const post = Selectors.getPost(getState(), id) || {}; - - // don't edit webhook posts, deleted posts, or system messages - if (post.user_id !== userId || - (post.props && post.props.from_webhook) || - post.state === Constants.POST_DELETED || - (post.type && post.type.startsWith(Constants.SYSTEM_MESSAGE_PREFIX))) { - continue; - } - - if (rootId) { - if (post.root_id === rootId || post.id === rootId) { - lastPost = post; - break; - } - } else { - lastPost = post; - break; - } - } - - return lastPost; - } - - normalizeDraft(originalDraft) { - let draft = { - message: '', - uploadsInProgress: [], - fileInfos: [] - }; - - // Make sure that the post draft is non-null and has all the required fields - if (originalDraft) { - draft = { - message: originalDraft.message || draft.message, - uploadsInProgress: originalDraft.uploadsInProgress || draft.uploadsInProgress, - fileInfos: originalDraft.fileInfos || draft.fileInfos - }; - } - - return draft; - } - - storeCurrentDraft(draft) { - var channelId = ChannelStore.getCurrentId(); - BrowserStore.setGlobalItem('draft_' + channelId, draft); - } - - getCurrentDraft() { - var channelId = ChannelStore.getCurrentId(); - return this.getDraft(channelId); - } - - storeDraft(channelId, draft) { - BrowserStore.setGlobalItem('draft_' + channelId, draft); - } - - getDraft(channelId) { - return this.normalizeDraft(BrowserStore.getGlobalItem('draft_' + channelId)); - } - - storeCommentDraft(parentPostId, draft) { - BrowserStore.setGlobalItem('comment_draft_' + parentPostId, draft); - } - - getCommentDraft(parentPostId) { - return this.normalizeDraft(BrowserStore.getGlobalItem('comment_draft_' + parentPostId)); - } - - clearDraftUploads() { - BrowserStore.actionOnGlobalItemsWithPrefix('draft_', (key, value) => { - if (value) { - value.uploadsInProgress = []; - BrowserStore.setGlobalItem(key, value); - } - }); - } - - clearCommentDraftUploads() { - BrowserStore.actionOnGlobalItemsWithPrefix('comment_draft_', (key, value) => { - if (value) { - value.uploadsInProgress = []; - BrowserStore.setGlobalItem(key, value); - } - }); - } - - getCommentCount(rootPost) { - const postIds = getState().entities.posts.postsInChannel[rootPost.channel_id] || []; - - let commentCount = 0; - for (const postId of postIds) { - const post = Selectors.getPost(getState(), postId) || {}; - if (post.root_id === rootPost.id) { - commentCount += 1; - } - } - - return commentCount; - } -} - -var PostStore = new PostStoreClass(); - -PostStore.dispatchToken = AppDispatcher.register((payload) => { - var action = payload.action; - - switch (action.type) { - case ActionTypes.RECEIVED_FOCUSED_POST: - PostStore.storeFocusedPostId(action.postId); - PostStore.emitPostFocused(); - break; - case ActionTypes.CLICK_CHANNEL: - PostStore.clearFocusedPost(); - break; - case ActionTypes.RECEIVED_EDIT_POST: - PostStore.emitEditPost(action); - break; - case ActionTypes.RECEIVED_POST_SELECTED: - dispatch({...action, type: ActionTypes.SELECT_POST}); - break; - case ActionTypes.RECEIVED_POST_PINNED: - case ActionTypes.RECEIVED_POST_UNPINNED: - PostStore.emitPostPinnedChange(); - break; - default: - } -}); - -export default PostStore; |