forked from Ivasoft/mattermost-mobile
* Add widgets and interactive dialogs * Update snapshots * Updates per feedback and fix slash command * Fix style * Update styling * Updates per feedback * Updates per feedback * More styling changes * Remove extra space above message menu
71 lines
1.9 KiB
JavaScript
71 lines
1.9 KiB
JavaScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import {Posts} from 'mattermost-redux/constants';
|
|
import {PostTypes} from 'mattermost-redux/action_types';
|
|
import {doPostAction} from 'mattermost-redux/actions/posts';
|
|
|
|
import {ViewTypes} from 'app/constants';
|
|
|
|
import {generateId} from 'app/utils/file';
|
|
|
|
export function sendAddToChannelEphemeralPost(user, addedUsername, message, channelId, postRootId = '') {
|
|
return async (dispatch) => {
|
|
const timestamp = Date.now();
|
|
const post = {
|
|
id: generateId(),
|
|
user_id: user.id,
|
|
channel_id: channelId,
|
|
message,
|
|
type: Posts.POST_TYPES.EPHEMERAL_ADD_TO_CHANNEL,
|
|
create_at: timestamp,
|
|
update_at: timestamp,
|
|
root_id: postRootId,
|
|
parent_id: postRootId,
|
|
props: {
|
|
username: user.username,
|
|
addedUsername,
|
|
},
|
|
};
|
|
|
|
dispatch({
|
|
type: PostTypes.RECEIVED_POSTS,
|
|
data: {
|
|
order: [],
|
|
posts: {
|
|
[post.id]: post,
|
|
},
|
|
},
|
|
channelId,
|
|
});
|
|
};
|
|
}
|
|
|
|
export function setAutocompleteSelector(dataSource, onSelect, options) {
|
|
return {
|
|
type: ViewTypes.SELECTED_ACTION_MENU,
|
|
data: {
|
|
dataSource,
|
|
onSelect,
|
|
options,
|
|
},
|
|
};
|
|
}
|
|
|
|
export function selectAttachmentMenuAction(postId, actionId, text, value) {
|
|
return (dispatch) => {
|
|
dispatch({
|
|
type: ViewTypes.SUBMIT_ATTACHMENT_MENU_ACTION,
|
|
postId,
|
|
data: {
|
|
[actionId]: {
|
|
text,
|
|
value,
|
|
},
|
|
},
|
|
});
|
|
|
|
dispatch(doPostAction(postId, actionId, value));
|
|
};
|
|
}
|