Moved show static methods out of modals and into EventHelpers

Этот коммит содержится в:
hmhealey
2015-11-23 10:52:52 -05:00
родитель 6016f91358
Коммит 388dc6c89c
11 изменённых файлов: 42 добавлений и 47 удалений

Просмотреть файл

@@ -159,13 +159,4 @@ export default class DeletePostModal extends React.Component {
</Modal> </Modal>
); );
} }
static show(post, commentCount) {
AppDispatcher.handleViewAction({
type: ActionTypes.TOGGLE_DELETE_POST_MODAL,
value: true,
post,
commentCount: commentCount || 0
});
}
} }

Просмотреть файл

@@ -3,7 +3,7 @@
import * as Client from '../utils/client.jsx'; import * as Client from '../utils/client.jsx';
import * as AsyncClient from '../utils/async_client.jsx'; import * as AsyncClient from '../utils/async_client.jsx';
import DeletePostModal from './delete_post_modal.jsx'; import * as EventHelpers from '../dispatcher/event_helpers.jsx';
import Textbox from './textbox.jsx'; import Textbox from './textbox.jsx';
import BrowserStore from '../stores/browser_store.jsx'; import BrowserStore from '../stores/browser_store.jsx';
import PostStore from '../stores/post_store.jsx'; import PostStore from '../stores/post_store.jsx';
@@ -35,7 +35,7 @@ export default class EditPostModal extends React.Component {
delete tempState.editText; delete tempState.editText;
BrowserStore.setItem('edit_state_transfer', tempState); BrowserStore.setItem('edit_state_transfer', tempState);
$('#edit_post').modal('hide'); $('#edit_post').modal('hide');
DeletePostModal.show(PostStore.getPost(this.state.channel_id, this.state.post_id), this.state.comments); EventHelpers.showDeletePostModal(PostStore.getPost(this.state.channel_id, this.state.post_id), this.state.comments);
return; return;
} }

Просмотреть файл

@@ -1,7 +1,6 @@
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information. // See License.txt for license information.
import AppDispatcher from '../dispatcher/app_dispatcher.jsx';
import Constants from '../utils/constants.jsx'; import Constants from '../utils/constants.jsx';
import GetLinkModal from './get_link_modal.jsx'; import GetLinkModal from './get_link_modal.jsx';
import ModalStore from '../stores/modal_store.jsx'; import ModalStore from '../stores/modal_store.jsx';
@@ -43,11 +42,4 @@ export default class GetTeamInviteLinkModal extends React.Component {
/> />
); );
} }
static show() {
AppDispatcher.handleViewAction({
type: Constants.ActionTypes.TOGGLE_GET_TEAM_INVITE_LINK_MODAL,
value: true
});
}
} }

Просмотреть файл

@@ -4,13 +4,12 @@
import * as utils from '../utils/utils.jsx'; import * as utils from '../utils/utils.jsx';
import Constants from '../utils/constants.jsx'; import Constants from '../utils/constants.jsx';
const ActionTypes = Constants.ActionTypes; const ActionTypes = Constants.ActionTypes;
import AppDispatcher from '../dispatcher/app_dispatcher.jsx';
import * as Client from '../utils/client.jsx'; import * as Client from '../utils/client.jsx';
import * as EventHelpers from '../dispatcher/event_helpers.jsx';
import ModalStore from '../stores/modal_store.jsx'; import ModalStore from '../stores/modal_store.jsx';
import UserStore from '../stores/user_store.jsx'; import UserStore from '../stores/user_store.jsx';
import TeamStore from '../stores/team_store.jsx'; import TeamStore from '../stores/team_store.jsx';
import ConfirmModal from './confirm_modal.jsx'; import ConfirmModal from './confirm_modal.jsx';
import GetTeamInviteLinkModal from './get_team_invite_link_modal.jsx';
const Modal = ReactBootstrap.Modal; const Modal = ReactBootstrap.Modal;
@@ -193,7 +192,7 @@ export default class InviteMemberModal extends React.Component {
showGetTeamInviteLinkModal() { showGetTeamInviteLinkModal() {
this.handleHide(false); this.handleHide(false);
GetTeamInviteLinkModal.show(); EventHelpers.showGetTeamInviteLinkModal();
} }
render() { render() {
@@ -409,13 +408,6 @@ export default class InviteMemberModal extends React.Component {
return null; return null;
} }
static show() {
AppDispatcher.handleViewAction({
type: ActionTypes.TOGGLE_INVITE_MEMBER_MODAL,
value: true
});
}
} }
InviteMemberModal.propTypes = { InviteMemberModal.propTypes = {

Просмотреть файл

@@ -5,10 +5,9 @@ import * as Utils from '../utils/utils.jsx';
import * as client from '../utils/client.jsx'; import * as client from '../utils/client.jsx';
import UserStore from '../stores/user_store.jsx'; import UserStore from '../stores/user_store.jsx';
import TeamStore from '../stores/team_store.jsx'; import TeamStore from '../stores/team_store.jsx';
import * as EventHelpers from '../dispatcher/event_helpers.jsx';
import AboutBuildModal from './about_build_modal.jsx'; import AboutBuildModal from './about_build_modal.jsx';
import GetTeamInviteLinkModal from './get_team_invite_link_modal.jsx';
import InviteMemberModal from './invite_member_modal.jsx';
import UserSettingsModal from './user_settings/user_settings_modal.jsx'; import UserSettingsModal from './user_settings/user_settings_modal.jsx';
import Constants from '../utils/constants.jsx'; import Constants from '../utils/constants.jsx';
@@ -94,7 +93,7 @@ export default class NavbarDropdown extends React.Component {
<li> <li>
<a <a
href='#' href='#'
onClick={InviteMemberModal.show} onClick={EventHelpers.showInviteMemberModal}
> >
{'Invite New Member'} {'Invite New Member'}
</a> </a>
@@ -106,7 +105,7 @@ export default class NavbarDropdown extends React.Component {
<li> <li>
<a <a
href='#' href='#'
onClick={GetTeamInviteLinkModal.show} onClick={EventHelpers.showGetTeamInviteLinkModal}
> >
{'Get Team Invite Link'} {'Get Team Invite Link'}
</a> </a>

Просмотреть файл

@@ -1,11 +1,11 @@
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information. // See License.txt for license information.
import DeletePostModal from './delete_post_modal.jsx';
import UserStore from '../stores/user_store.jsx'; import UserStore from '../stores/user_store.jsx';
import TeamStore from '../stores/team_store.jsx'; import TeamStore from '../stores/team_store.jsx';
import * as Utils from '../utils/utils.jsx'; import * as Utils from '../utils/utils.jsx';
import TimeSince from './time_since.jsx'; import TimeSince from './time_since.jsx';
import * as EventHelpers from '../dispatcher/event_helpers.jsx';
import Constants from '../utils/constants.jsx'; import Constants from '../utils/constants.jsx';
@@ -74,7 +74,7 @@ export default class PostInfo extends React.Component {
<a <a
href='#' href='#'
role='menuitem' role='menuitem'
onClick={() => DeletePostModal.show(post, dataComments)} onClick={() => EventHelpers.showDeletePostModal(post, dataComments)}
> >
{'Delete'} {'Delete'}
</a> </a>

Просмотреть файл

@@ -8,13 +8,13 @@ import UserStore from '../stores/user_store.jsx';
import AppDispatcher from '../dispatcher/app_dispatcher.jsx'; import AppDispatcher from '../dispatcher/app_dispatcher.jsx';
import * as Utils from '../utils/utils.jsx'; import * as Utils from '../utils/utils.jsx';
import Constants from '../utils/constants.jsx'; import Constants from '../utils/constants.jsx';
import DeletePostModal from './delete_post_modal.jsx';
import FileAttachmentList from './file_attachment_list.jsx'; import FileAttachmentList from './file_attachment_list.jsx';
import * as Client from '../utils/client.jsx'; import * as Client from '../utils/client.jsx';
import * as AsyncClient from '../utils/async_client.jsx'; import * as AsyncClient from '../utils/async_client.jsx';
var ActionTypes = Constants.ActionTypes; var ActionTypes = Constants.ActionTypes;
import * as TextFormatting from '../utils/text_formatting.jsx'; import * as TextFormatting from '../utils/text_formatting.jsx';
import twemoji from 'twemoji'; import twemoji from 'twemoji';
import * as EventHelpers from '../dispatcher/event_helpers.jsx';
export default class RhsComment extends React.Component { export default class RhsComment extends React.Component {
constructor(props) { constructor(props) {
@@ -115,7 +115,7 @@ export default class RhsComment extends React.Component {
<a <a
href='#' href='#'
role='menuitem' role='menuitem'
onClick={() => DeletePostModal.show(post, 0)} onClick={() => EventHelpers.showDeletePostModal(post, 0)}
> >
{'Delete'} {'Delete'}
</a> </a>

Просмотреть файл

@@ -6,11 +6,11 @@ import UserProfile from './user_profile.jsx';
import UserStore from '../stores/user_store.jsx'; import UserStore from '../stores/user_store.jsx';
import * as TextFormatting from '../utils/text_formatting.jsx'; import * as TextFormatting from '../utils/text_formatting.jsx';
import * as utils from '../utils/utils.jsx'; import * as utils from '../utils/utils.jsx';
import DeletePostModal from './delete_post_modal.jsx';
import FileAttachmentList from './file_attachment_list.jsx'; import FileAttachmentList from './file_attachment_list.jsx';
import twemoji from 'twemoji'; import twemoji from 'twemoji';
import Constants from '../utils/constants.jsx'; import Constants from '../utils/constants.jsx';
import PostBodyAdditionalContent from './post_body_additional_content.jsx'; import PostBodyAdditionalContent from './post_body_additional_content.jsx';
import * as EventHelpers from '../dispatcher/event_helpers.jsx';
export default class RhsRootPost extends React.Component { export default class RhsRootPost extends React.Component {
constructor(props) { constructor(props) {
@@ -94,7 +94,7 @@ export default class RhsRootPost extends React.Component {
<a <a
href='#' href='#'
role='menuitem' role='menuitem'
onClick={() => DeletePostModal.show(post, this.props.commentCount)} onClick={() => EventHelpers.showDeletePostModal(post, this.props.commentCount)}
> >
{'Delete'} {'Delete'}
</a> </a>

Просмотреть файл

@@ -1,11 +1,10 @@
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information. // See License.txt for license information.
import GetTeamInviteLinkModal from './get_team_invite_link_modal.jsx';
import InviteMemberModal from './invite_member_modal.jsx';
import UserSettingsModal from './user_settings/user_settings_modal.jsx'; import UserSettingsModal from './user_settings/user_settings_modal.jsx';
import UserStore from '../stores/user_store.jsx'; import UserStore from '../stores/user_store.jsx';
import * as client from '../utils/client.jsx'; import * as client from '../utils/client.jsx';
import * as EventHelpers from '../dispatcher/event_helpers.jsx';
import * as utils from '../utils/utils.jsx'; import * as utils from '../utils/utils.jsx';
export default class SidebarRightMenu extends React.Component { export default class SidebarRightMenu extends React.Component {
@@ -46,7 +45,7 @@ export default class SidebarRightMenu extends React.Component {
<li> <li>
<a <a
href='#' href='#'
onClick={InviteMemberModal.show} onClick={EventHelpers.showInviteMemberModal}
> >
<i className='fa fa-user'></i>Invite New Member <i className='fa fa-user'></i>Invite New Member
</a> </a>
@@ -58,7 +57,7 @@ export default class SidebarRightMenu extends React.Component {
<li> <li>
<a <a
href='#' href='#'
onClick={GetTeamInviteLinkModal.show} onClick={EventHelpers.showGetTeamInviteLinkModal}
> >
<i className='glyphicon glyphicon-link'></i>{'Get Team Invite Link'} <i className='glyphicon glyphicon-link'></i>{'Get Team Invite Link'}
</a> </a>

Просмотреть файл

@@ -81,3 +81,26 @@ export function emitPostDeletedEvent(post) {
post post
}); });
} }
export function showDeletePostModal(post, commentCount = 0) {
AppDispatcher.handleViewAction({
type: ActionTypes.TOGGLE_DELETE_POST_MODAL,
value: true,
post,
commentCount
});
}
export function showGetTeamInviteLinkModal() {
AppDispatcher.handleViewAction({
type: Constants.ActionTypes.TOGGLE_GET_TEAM_INVITE_LINK_MODAL,
value: true
});
}
export function showInviteMemberModal() {
AppDispatcher.handleViewAction({
type: ActionTypes.TOGGLE_INVITE_MEMBER_MODAL,
value: true
});
}

Просмотреть файл

@@ -3,13 +3,12 @@
import * as Utils from './utils.jsx'; import * as Utils from './utils.jsx';
import EditChannelHeaderModal from '../components/edit_channel_header_modal.jsx'; import EditChannelHeaderModal from '../components/edit_channel_header_modal.jsx';
import GetTeamInviteLinkModal from '../components/get_team_invite_link_modal.jsx';
import InviteMemberModal from '../components/invite_member_modal.jsx';
import ToggleModalButton from '../components/toggle_modal_button.jsx'; import ToggleModalButton from '../components/toggle_modal_button.jsx';
import UserProfile from '../components/user_profile.jsx'; import UserProfile from '../components/user_profile.jsx';
import ChannelStore from '../stores/channel_store.jsx'; import ChannelStore from '../stores/channel_store.jsx';
import Constants from '../utils/constants.jsx'; import Constants from '../utils/constants.jsx';
import TeamStore from '../stores/team_store.jsx'; import TeamStore from '../stores/team_store.jsx';
import * as EventHelpers from '../dispatcher/event_helpers.jsx';
export function createChannelIntroMessage(channel, showInviteModal) { export function createChannelIntroMessage(channel, showInviteModal) {
if (channel.type === 'D') { if (channel.type === 'D') {
@@ -91,7 +90,7 @@ export function createDefaultIntroMessage(channel) {
<a <a
className='intro-links' className='intro-links'
href='#' href='#'
onClick={InviteMemberModal.show} onClick={EventHelpers.showInviteMemberModal}
> >
<i className='fa fa-user-plus'></i>{'Invite others to this team'} <i className='fa fa-user-plus'></i>{'Invite others to this team'}
</a> </a>
@@ -101,7 +100,7 @@ export function createDefaultIntroMessage(channel) {
<a <a
className='intro-links' className='intro-links'
href='#' href='#'
onClick={GetTeamInviteLinkModal.show} onClick={EventHelpers.showGetTeamInviteLinkModal}
> >
<i className='fa fa-user-plus'></i>{'Invite others to this team'} <i className='fa fa-user-plus'></i>{'Invite others to this team'}
</a> </a>