Merge pull request #2208 from mattermost/client-upgrades

Updating some client deps + eslint
Этот коммит содержится в:
Harrison Healey
2016-02-22 10:54:42 -05:00
родитель 51680a7cd8 4c92a1c1e3
Коммит 32ae72d91d
90 изменённых файлов: 449 добавлений и 406 удалений

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

@@ -68,7 +68,7 @@ class AccessHistoryModal extends React.Component {
render() {
var content;
if (this.state.audits.loading) {
content = (<LoadingScreen />);
content = (<LoadingScreen/>);
} else {
content = (
<AuditTable

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

@@ -199,7 +199,7 @@ export default class ActivityLogModal extends React.Component {
className='activity-log__table'
>
<div className='activity-log__report'>
<div className='report__platform'><i className={devicePicture} />{devicePlatform}</div>
<div className='report__platform'><i className={devicePicture}/>{devicePlatform}</div>
<div className='report__info'>
<div>
<FormattedMessage
@@ -231,7 +231,7 @@ export default class ActivityLogModal extends React.Component {
let content;
if (this.state.sessions.loading) {
content = <LoadingScreen />;
content = <LoadingScreen/>;
} else {
content = <form role='form'>{activityList}</form>;
}

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

@@ -130,47 +130,47 @@ export default class AdminController extends React.Component {
}
render() {
var tab = <LoadingScreen />;
var tab = <LoadingScreen/>;
if (this.state.config != null) {
if (this.state.selected === 'email_settings') {
tab = <EmailSettingsTab config={this.state.config} />;
tab = <EmailSettingsTab config={this.state.config}/>;
} else if (this.state.selected === 'log_settings') {
tab = <LogSettingsTab config={this.state.config} />;
tab = <LogSettingsTab config={this.state.config}/>;
} else if (this.state.selected === 'logs') {
tab = <LogsTab />;
tab = <LogsTab/>;
} else if (this.state.selected === 'audits') {
tab = <AuditsTab />;
tab = <AuditsTab/>;
} else if (this.state.selected === 'image_settings') {
tab = <FileSettingsTab config={this.state.config} />;
tab = <FileSettingsTab config={this.state.config}/>;
} else if (this.state.selected === 'privacy_settings') {
tab = <PrivacySettingsTab config={this.state.config} />;
tab = <PrivacySettingsTab config={this.state.config}/>;
} else if (this.state.selected === 'rate_settings') {
tab = <RateSettingsTab config={this.state.config} />;
tab = <RateSettingsTab config={this.state.config}/>;
} else if (this.state.selected === 'gitlab_settings') {
tab = <GitLabSettingsTab config={this.state.config} />;
tab = <GitLabSettingsTab config={this.state.config}/>;
} else if (this.state.selected === 'sql_settings') {
tab = <SqlSettingsTab config={this.state.config} />;
tab = <SqlSettingsTab config={this.state.config}/>;
} else if (this.state.selected === 'team_settings') {
tab = <TeamSettingsTab config={this.state.config} />;
tab = <TeamSettingsTab config={this.state.config}/>;
} else if (this.state.selected === 'service_settings') {
tab = <ServiceSettingsTab config={this.state.config} />;
tab = <ServiceSettingsTab config={this.state.config}/>;
} else if (this.state.selected === 'legal_and_support_settings') {
tab = <LegalAndSupportSettingsTab config={this.state.config} />;
tab = <LegalAndSupportSettingsTab config={this.state.config}/>;
} else if (this.state.selected === 'ldap_settings') {
tab = <LdapSettingsTab config={this.state.config} />;
tab = <LdapSettingsTab config={this.state.config}/>;
} else if (this.state.selected === 'license') {
tab = <LicenseSettingsTab config={this.state.config} />;
tab = <LicenseSettingsTab config={this.state.config}/>;
} else if (this.state.selected === 'team_users') {
if (this.state.teams) {
tab = <TeamUsersTab team={this.state.teams[this.state.selectedTeam]} />;
tab = <TeamUsersTab team={this.state.teams[this.state.selectedTeam]}/>;
}
} else if (this.state.selected === 'team_analytics') {
if (this.state.teams) {
tab = <TeamAnalyticsTab team={this.state.teams[this.state.selectedTeam]} />;
tab = <TeamAnalyticsTab team={this.state.teams[this.state.selectedTeam]}/>;
}
} else if (this.state.selected === 'system_analytics') {
tab = <SystemAnalyticsTab />;
tab = <SystemAnalyticsTab/>;
}
}

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

@@ -236,7 +236,7 @@ export default class AdminSidebar extends React.Component {
return (
<div className='sidebar--left sidebar--collapsable'>
<div>
<AdminSidebarHeader />
<AdminSidebarHeader/>
<div className='nav-pills__container'>
<ul className='nav nav-pills nav-stacked'>
<li>

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

@@ -61,7 +61,7 @@ export default class SidebarHeader extends React.Component {
</div>
</div>
</a>
<AdminNavbarDropdown ref='dropdown' />
<AdminNavbarDropdown ref='dropdown'/>
</div>
);
}

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

@@ -54,7 +54,7 @@ export default class Audits extends React.Component {
}
if (this.state.audits === null) {
content = <LoadingScreen />;
content = <LoadingScreen/>;
} else {
content = (
<div style={{margin: '10px'}}>

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

@@ -47,7 +47,7 @@ export default class Logs extends React.Component {
var content = null;
if (this.state.logs === null) {
content = <LoadingScreen />;
content = <LoadingScreen/>;
} else {
content = [];
@@ -61,7 +61,7 @@ export default class Logs extends React.Component {
style.color = 'red';
}
content.push(<br key={'br_' + i} />);
content.push(<br key={'br_' + i}/>);
content.push(
<span
key={'log_' + i}

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

@@ -4,10 +4,6 @@
import {FormattedMessage} from 'mm-intl';
export default class StatisticCount extends React.Component {
constructor(props) {
super(props);
}
render() {
let loading = (
<FormattedMessage

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

@@ -112,9 +112,6 @@ export default class UserList extends React.Component {
this.getTeamProfiles(newProps.team.id);
}
componentWillUnmount() {
}
render() {
var serverError = '';
if (this.state.serverError) {
@@ -134,7 +131,7 @@ export default class UserList extends React.Component {
/>
</h3>
{serverError}
<LoadingScreen />
<LoadingScreen/>
</div>
);
}

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

@@ -207,9 +207,6 @@ const holders = defineMessages({
});
class AuditTable extends React.Component {
constructor(props) {
super(props);
}
render() {
var accessList = [];

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

@@ -27,7 +27,9 @@ export default class Authorize extends React.Component {
window.location.replace(data.redirect);
}
},
() => {}
() => {
//Do nothing on error
}
);
}
handleDeny() {

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

@@ -55,10 +55,10 @@ export default class CenterPanel extends React.Component {
let postsContainer;
let createPost;
if (this.state.showTutorialScreens) {
postsContainer = <TutorialIntroScreens />;
postsContainer = <TutorialIntroScreens/>;
createPost = null;
} else if (this.state.showPostFocus) {
postsContainer = <PostFocusView />;
postsContainer = <PostFocusView/>;
handleClick = function clickHandler(e) {
e.preventDefault();
@@ -80,13 +80,13 @@ export default class CenterPanel extends React.Component {
</div>
);
} else {
postsContainer = <PostsViewContainer />;
postsContainer = <PostsViewContainer/>;
createPost = (
<div
className='post-create__container'
id='post-create'
>
<CreatePost />
<CreatePost/>
</div>
);
}
@@ -108,7 +108,7 @@ export default class CenterPanel extends React.Component {
className='app__content'
>
<div id='channel-header'>
<ChannelHeader />
<ChannelHeader/>
</div>
{postsContainer}
{createPost}

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

@@ -408,7 +408,7 @@ export default class ChannelHeader extends React.Component {
aria-expanded='true'
>
<strong className='heading'>{channelTitle} </strong>
<span className='glyphicon glyphicon-chevron-down header-dropdown__icon' />
<span className='glyphicon glyphicon-chevron-down header-dropdown__icon'/>
</a>
<ul
className='dropdown-menu'
@@ -439,7 +439,7 @@ export default class ChannelHeader extends React.Component {
channelId={channel.id}
/>
</th>
<th className='search-bar__container'><NavbarSearchBox /></th>
<th className='search-bar__container'><NavbarSearchBox/></th>
<th>
<div className='dropdown channel-header__links'>
<OverlayTrigger

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

@@ -138,7 +138,7 @@ export default class ChannelInviteModal extends React.Component {
var content;
if (this.state.loading) {
content = (<LoadingScreen />);
content = (<LoadingScreen/>);
} else {
content = (
<MemberList

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

@@ -172,7 +172,7 @@ export default class ChannelMembersModal extends React.Component {
let content;
if (this.state.loading) {
content = (<LoadingScreen />);
content = (<LoadingScreen/>);
} else {
content = (
<div className='team-member-list'>

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

@@ -168,7 +168,7 @@ export default class ChannelNotificationsModal extends React.Component {
checked={notifyActive[1]}
onChange={this.handleUpdateNotifyLevel.bind(this, 'all')}
/>
<FormattedMessage id='channel_notifications.allActivity' />
<FormattedMessage id='channel_notifications.allActivity'/>
</label>
<br/>
</div>
@@ -179,7 +179,7 @@ export default class ChannelNotificationsModal extends React.Component {
checked={notifyActive[2]}
onChange={this.handleUpdateNotifyLevel.bind(this, 'mention')}
/>
<FormattedMessage id='channel_notifications.onlyMentions' />
<FormattedMessage id='channel_notifications.onlyMentions'/>
</label>
<br/>
</div>
@@ -190,7 +190,7 @@ export default class ChannelNotificationsModal extends React.Component {
checked={notifyActive[3]}
onChange={this.handleUpdateNotifyLevel.bind(this, 'none')}
/>
<FormattedMessage id='channel_notifications.never' />
<FormattedMessage id='channel_notifications.never'/>
</label>
</div>
</div>
@@ -234,11 +234,11 @@ export default class ChannelNotificationsModal extends React.Component {
/>
);
} else if (this.state.notifyLevel === 'mention') {
describe = (<FormattedMessage id='channel_notifications.onlyMentions' />);
describe = (<FormattedMessage id='channel_notifications.onlyMentions'/>);
} else if (this.state.notifyLevel === 'all') {
describe = (<FormattedMessage id='channel_notifications.allActivity' />);
describe = (<FormattedMessage id='channel_notifications.allActivity'/>);
} else {
describe = (<FormattedMessage id='channel_notifications.never' />);
describe = (<FormattedMessage id='channel_notifications.never'/>);
}
handleUpdateSection = function updateSection(e) {
@@ -311,7 +311,7 @@ export default class ChannelNotificationsModal extends React.Component {
defaultMessage='For all unread messages'
/>
</label>
<br />
<br/>
</div>
<div className='radio'>
<label>
@@ -320,9 +320,9 @@ export default class ChannelNotificationsModal extends React.Component {
checked={this.state.markUnreadLevel === 'mention'}
onChange={this.handleUpdateMarkUnreadLevel.bind(this, 'mention')}
/>
<FormattedMessage id='channel_notifications.onlyMentions' />
<FormattedMessage id='channel_notifications.onlyMentions'/>
</label>
<br />
<br/>
</div>
</div>
)];
@@ -363,7 +363,7 @@ export default class ChannelNotificationsModal extends React.Component {
/>
);
} else {
describe = (<FormattedMessage id='channel_notifications.onlyMentions' />);
describe = (<FormattedMessage id='channel_notifications.onlyMentions'/>);
}
const handleUpdateSection = function handleUpdateSection(e) {

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

@@ -7,9 +7,6 @@ import SidebarRight from '../components/sidebar_right.jsx';
import SidebarRightMenu from '../components/sidebar_right_menu.jsx';
export default class ChannelView extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div className='container-fluid'>
@@ -31,7 +28,7 @@ export default class ChannelView extends React.Component {
>
<Sidebar/>
</div>
<CenterPanel />
<CenterPanel/>
</div>
);
}

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

@@ -477,7 +477,7 @@ class CreatePost extends React.Component {
className='send-button theme'
onClick={this.handleSubmit}
>
<i className='fa fa-paper-plane' />
<i className='fa fa-paper-plane'/>
</a>
{tutorialTip}
</div>

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

@@ -178,8 +178,8 @@ export default class DeletePostModal extends React.Component {
term: (postTerm)
}}
/>
<br />
<br />
<br/>
<br/>
{commentWarning}
{error}
</Modal.Body>

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

@@ -135,9 +135,9 @@ class EditPostModal extends React.Component {
PreferenceStore.removeChangeListener(this.onPreferenceChange);
}
render() {
var error = (<div className='form-group'><br /></div>);
var error = (<div className='form-group'><br/></div>);
if (this.state.error) {
error = (<div className='form-group has-error'><br /><label className='control-label'>{this.state.error}</label></div>);
error = (<div className='form-group has-error'><br/><label className='control-label'>{this.state.error}</label></div>);
}
return (

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

@@ -70,7 +70,7 @@ export default class EmailVerify extends React.Component {
);
if (this.props.resendSuccess) {
resendConfirm = (
<div><br /><p className='alert alert-success'><i className='fa fa-check'></i>
<div><br/><p className='alert alert-success'><i className='fa fa-check'></i>
<FormattedMessage
id='email_verify.sent'
defaultMessage=' Verification email sent.'

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

@@ -245,7 +245,9 @@ class FileAttachment extends React.Component {
this.setState({fileSize: parseInt(data.size, 10), mime: data.mime});
}
}.bind(this),
function error() {}
function error() {
// Do nothing
}
);
} else {
fileSizeString = utils.fileSizeToString(this.state.fileSize);
@@ -312,4 +314,4 @@ FileAttachment.propTypes = {
handleImageClick: React.PropTypes.func
};
export default injectIntl(FileAttachment);
export default injectIntl(FileAttachment);

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

@@ -37,7 +37,7 @@ export default function FileInfoPreview({filename, fileUrl, fileInfo, formatMess
href={fileUrl}
target='_blank'
>
<span className='file-details__preview-helper' />
<span className='file-details__preview-helper'/>
<img src={Utils.getPreviewImagePath(filename)}/>
</a>
<div className='file-details'>
@@ -47,3 +47,10 @@ export default function FileInfoPreview({filename, fileUrl, fileInfo, formatMess
</div>
);
}
FileInfoPreview.propTypes = {
filename: React.PropTypes.string.isRequired,
fileUrl: React.PropTypes.string.isRequired,
fileInfo: React.PropTypes.object.isRequired,
formatMessage: React.PropTypes.func.isRequired
};

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

@@ -305,7 +305,7 @@ class FileUpload extends React.Component {
className='btn btn-file'
>
<span>
<i className='glyphicon glyphicon-paperclip' />
<i className='glyphicon glyphicon-paperclip'/>
</span>
<input
ref='fileInput'

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

@@ -48,8 +48,8 @@ export default class GetLinkModal extends React.Component {
helpText = (
<p>
{this.props.helpText}
<br />
<br />
<br/>
<br/>
</p>
);
}

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

@@ -376,7 +376,7 @@ class InviteMemberModal extends React.Component {
);
if (this.state.isSendingEmails) {
sendButtonLabel = (
<span><i className='fa fa-spinner fa-spin' />
<span><i className='fa fa-spinner fa-spin'/>
<FormattedMessage
id='invite_member.sending'
defaultMessage=' Sending'

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

@@ -28,7 +28,7 @@ export default class Login extends React.Component {
key='gitlab'
href={'/' + teamName + '/login/gitlab'}
>
<span className='icon' />
<span className='icon'/>
<span>
<FormattedMessage
id='login.gitlab'
@@ -46,7 +46,7 @@ export default class Login extends React.Component {
key='google'
href={'/' + teamName + '/login/google'}
>
<span className='icon' />
<span className='icon'/>
<span>
<FormattedMessage
id='login.google'
@@ -80,7 +80,7 @@ export default class Login extends React.Component {
if (msg != null) {
extraBox = (
<div className='alert alert-success'>
<i className='fa fa-check' />
<i className='fa fa-check'/>
{msg}
</div>
);

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

@@ -4,10 +4,6 @@
import MemberListItem from './member_list_item.jsx';
export default class MemberList extends React.Component {
constructor(props) {
super(props);
}
render() {
var members = [];

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

@@ -112,7 +112,7 @@ export default class MemberListItem extends React.Component {
</div>
);
} else {
invite = (<div className='member-role text-capitalize'><span className='fa fa-pencil hidden'></span>{member.roles || <FormattedMessage id='member_item.member' />}</div>);
invite = (<div className='member-role text-capitalize'><span className='fa fa-pencil hidden'></span>{member.roles || <FormattedMessage id='member_item.member'/>}</div>);
}
return (

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

@@ -82,7 +82,7 @@ export default class MoreChannels extends React.Component {
if (this.state.channels != null) {
var channels = this.state.channels;
if (channels.loading) {
moreChannels = <LoadingScreen />;
moreChannels = <LoadingScreen/>;
} else if (channels.length) {
moreChannels = (
<table className='more-table table'>

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

@@ -380,7 +380,7 @@ export default class Navbar extends React.Component {
<span className='icon-bar'></span>
<span className='icon-bar'></span>
<span className='icon-bar'></span>
<NotifyCounts />
<NotifyCounts/>
</button>
);
@@ -393,7 +393,7 @@ export default class Navbar extends React.Component {
data-target='#sidebar-nav'
onClick={this.toggleRightSidebar}
>
<span dangerouslySetInnerHTML={{__html: Constants.MENU_ICON}} />
<span dangerouslySetInnerHTML={{__html: Constants.MENU_ICON}}/>
</button>
);
}
@@ -502,7 +502,7 @@ export default class Navbar extends React.Component {
className='navbar-toggle pull-right'
onClick={this.showSearch}
>
<span className='glyphicon glyphicon-search icon--white' />
<span className='glyphicon glyphicon-search icon--white'/>
</button>
);

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

@@ -4,10 +4,6 @@
import PostAttachment from './post_attachment.jsx';
export default class PostAttachmentList extends React.Component {
constructor(props) {
super(props);
}
render() {
let content = [];
this.props.attachments.forEach((attachment, i) => {

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

@@ -46,6 +46,7 @@ export default class PostAttachmentOEmbed extends React.Component {
}
});
}
return null;
}
render() {

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

@@ -52,7 +52,7 @@ export default class PostBodyAdditionalContent extends React.Component {
render() {
let content = [];
if (Boolean(this.props.post.type)) {
if (this.props.post.type) {
const component = this.getComponent();
if (component) {

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

@@ -15,7 +15,7 @@ export default class PostHeader extends React.Component {
render() {
var post = this.props.post;
let userProfile = <UserProfile userId={post.user_id} />;
let userProfile = <UserProfile userId={post.user_id}/>;
let botIndicator;
if (post.props && post.props.from_webhook) {

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

@@ -252,7 +252,7 @@ export default class PostsView extends React.Component {
key={currentPostDay.toDateString()}
className='date-separator'
>
<hr className='separator__hr' />
<hr className='separator__hr'/>
<div className='separator__text'>
<FormattedDate
value={currentPostDay}
@@ -455,7 +455,7 @@ export default class PostsView extends React.Component {
href='#'
onClick={this.loadMorePostsBottom}
>
<FormattedMessage id='posts_view.loadMore' />
<FormattedMessage id='posts_view.loadMore'/>
</a>
);
} else {
@@ -528,11 +528,11 @@ PostsView.propTypes = {
function FloatingTimestamp({isScrolling, post}) {
// only show on mobile
if ($(window).width() > 768) {
return <noscript />;
return <noscript/>;
}
if (!post) {
return <noscript />;
return <noscript/>;
}
const dateString = (
@@ -557,10 +557,15 @@ function FloatingTimestamp({isScrolling, post}) {
);
}
FloatingTimestamp.propTypes = {
isScrolling: React.PropTypes.bool.isRequired,
post: React.PropTypes.object
};
function ScrollToBottomArrows({isScrolling, atBottom, onClick}) {
// only show on mobile
if ($(window).width() > 768) {
return <noscript />;
return <noscript/>;
}
let className = 'post-list__arrows';
@@ -573,7 +578,13 @@ function ScrollToBottomArrows({isScrolling, atBottom, onClick}) {
className={className}
onClick={onClick}
>
<span dangerouslySetInnerHTML={{__html: Constants.SCROLL_BOTTOM_ICON}} />
<span dangerouslySetInnerHTML={{__html: Constants.SCROLL_BOTTOM_ICON}}/>
</div>
);
}
ScrollToBottomArrows.propTypes = {
isScrolling: React.PropTypes.bool.isRequired,
atBottom: React.PropTypes.bool.isRequired,
onClick: React.PropTypes.func.isRequired
};

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

@@ -173,7 +173,9 @@ export default class PostsViewContainer extends React.Component {
scrollPostId={this.state.scrollPost}
postViewScrolled={this.handlePostsViewScroll}
loadMorePostsTopClicked={this.loadMorePostsTop}
loadMorePostsBottomClicked={() => {}}
loadMorePostsBottomClicked={() => {
// Do Nothing
}}
showMoreMessagesTop={!this.state.atTop[this.state.currentChannelIndex]}
showMoreMessagesBottom={false}
introText={channel ? createChannelIntroMessage(channel) : null}

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

@@ -246,7 +246,7 @@ class RhsComment extends React.Component {
<div>
<ul className='post__header'>
<li className='col__name'>
<strong><UserProfile userId={post.user_id} /></strong>
<strong><UserProfile userId={post.user_id}/></strong>
</li>
<li className='col'>
<time className='post__time'>

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

@@ -185,7 +185,7 @@ export default class RhsRootPost extends React.Component {
);
}
let userProfile = <UserProfile userId={post.user_id} />;
let userProfile = <UserProfile userId={post.user_id}/>;
let botIndicator;
if (post.props && post.props.from_webhook) {

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

@@ -196,12 +196,12 @@ export default class RhsThread extends React.Component {
var currentId = UserStore.getCurrentId();
var searchForm;
if (currentId != null) {
searchForm = <SearchBox />;
searchForm = <SearchBox/>;
}
return (
<div className='post-right__container'>
<FileUploadOverlay overlayType='right' />
<FileUploadOverlay overlayType='right'/>
<div className='search-bar__container sidebar--right__search-header'>{searchForm}</div>
<div className='sidebar-right__body'>
<RhsHeaderPost

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

@@ -169,7 +169,7 @@ class SearchBar extends React.Component {
style={{overflow: 'visible'}}
autoComplete='off'
>
<span className='glyphicon glyphicon-search sidebar__search-icon' />
<span className='glyphicon glyphicon-search sidebar__search-icon'/>
<SuggestionBox
ref='search'
className='form-control search-bar'

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

@@ -97,7 +97,7 @@ export default class SearchResults extends React.Component {
var currentId = UserStore.getCurrentId();
var searchForm = null;
if (currentId) {
searchForm = <SearchBox />;
searchForm = <SearchBox/>;
}
var noResults = (!results || !results.order || !results.order.length);
var searchTerm = SearchStore.getSearchTerm();
@@ -151,7 +151,7 @@ export default class SearchResults extends React.Component {
<div className='sidebar--right__content'>
<div className='search-bar__container sidebar--right__search-header'>{searchForm}</div>
<div className='sidebar-right__body'>
<SearchResultsHeader isMentionSearch={this.props.isMentionSearch} />
<SearchResultsHeader isMentionSearch={this.props.isMentionSearch}/>
<div
id='search-items-container'
className='search-items-container'

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

@@ -60,7 +60,7 @@ export default class SearchResultsItem extends React.Component {
return (
<div className='search-item__container'>
<div className='date-separator'>
<hr className='separator__hr' />
<hr className='separator__hr'/>
<div className='separator__text'>
<FormattedDate
value={this.props.post.create_at}
@@ -84,7 +84,7 @@ export default class SearchResultsItem extends React.Component {
</div>
<div>
<ul className='post__header'>
<li className='col__name'><strong><UserProfile userId={this.props.post.user_id} /></strong></li>
<li className='col__name'><strong><UserProfile userId={this.props.post.user_id}/></strong></li>
<li className='col'>
<time className='search-item-time'>
<FormattedDate

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

@@ -61,7 +61,7 @@ export default class SettingItemMax extends React.Component {
{extraInfo}
</li>
<li className='setting-list-item'>
<hr />
<hr/>
{serverError}
{clientError}
{submit}

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

@@ -40,7 +40,7 @@ export default class SettingsSidebar extends React.Component {
href='#'
onClick={this.handleClick.bind(null, tab)}
>
<i className={tab.icon} />
<i className={tab.icon}/>
{tab.uiName}
</a>
</li>

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

@@ -87,6 +87,7 @@ export default class SidebarRight extends React.Component {
$('.sidebar__overlay').remove();
});
}, 500);*/
return null;
}
componentDidUpdate() {
this.doStrangeThings();
@@ -115,7 +116,7 @@ export default class SidebarRight extends React.Component {
var content = '';
if (this.state.search_visible) {
content = <SearchResults isMentionSearch={this.state.is_mention_search} />;
content = <SearchResults isMentionSearch={this.state.is_mention_search}/>;
} else if (this.state.post_right_visible) {
content = (
<RhsThread

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

@@ -130,21 +130,21 @@ export default class TeamSignUp extends React.Component {
return (
<div>
{teamListing}
<EmailSignUpPage />
<EmailSignUpPage/>
</div>
);
} else if (this.state.page === 'gitlab') {
return (
<div>
{teamListing}
<SSOSignupPage service={Constants.GITLAB_SERVICE} />
<SSOSignupPage service={Constants.GITLAB_SERVICE}/>
</div>
);
} else if (this.state.page === 'google') {
return (
<div>
{teamListing}
<SSOSignupPage service={Constants.GOOGLE_SERVICE} />
<SSOSignupPage service={Constants.GOOGLE_SERVICE}/>
</div>
);
} else if (this.state.page === 'none') {
@@ -157,6 +157,8 @@ export default class TeamSignUp extends React.Component {
</div>
);
}
return null;
}
}

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

@@ -4,10 +4,6 @@
import {FormattedMessage, FormattedHTMLMessage} from 'mm-intl';
export default class SignupTeamConfirm extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div className='signup-team__container'>

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

@@ -254,7 +254,7 @@ class SignupUserComplete extends React.Component {
key='gitlab'
href={'/' + this.props.teamName + '/signup/gitlab' + window.location.search}
>
<span className='icon' />
<span className='icon'/>
<span>
<FormattedMessage
id='signup_user_completed.gitlab'
@@ -272,7 +272,7 @@ class SignupUserComplete extends React.Component {
key='google'
href={'/' + this.props.teamName + '/signup/google' + window.location.search}
>
<span className='icon' />
<span className='icon'/>
<span>
<FormattedMessage
id='signup_user_completed.google'

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

@@ -24,7 +24,7 @@ class AtMentionSuggestion extends React.Component {
defaultMessage='Notifies everyone in the team'
/>
);
icon = <i className='mention-img fa fa-users fa-2x' />;
icon = <i className='mention-img fa fa-users fa-2x'/>;
} else if (item.username === 'channel') {
username = 'channel';
description = (
@@ -33,7 +33,7 @@ class AtMentionSuggestion extends React.Component {
defaultMessage='Notifies everyone in the channel'
/>
);
icon = <i className='mention-img fa fa-users fa-2x' />;
icon = <i className='mention-img fa fa-users fa-2x'/>;
} else {
username = item.username;
description = Utils.getFullName(item);

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

@@ -140,7 +140,7 @@ export default class SuggestionBox extends React.Component {
return (
<div>
{textbox}
<SuggestionListComponent suggestionId={this.suggestionId} />
<SuggestionListComponent suggestionId={this.suggestionId}/>
</div>
);
}

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

@@ -36,7 +36,7 @@ export default class TeamExportTab extends React.Component {
case 'in-progress':
messageSection = (
<p className='confirm-import alert alert-warning'>
<i className='fa fa-spinner fa-pulse' />
<i className='fa fa-spinner fa-pulse'/>
<FormattedMessage
id='team_export_tab.exporting'
defaultMessage=' Exporting...'
@@ -47,7 +47,7 @@ export default class TeamExportTab extends React.Component {
case 'ready':
messageSection = (
<p className='confirm-import alert alert-success'>
<i className='fa fa-check' />
<i className='fa fa-check'/>
<FormattedMessage
id='team_export_tab.ready'
defaultMessage=' Ready for '
@@ -67,7 +67,7 @@ export default class TeamExportTab extends React.Component {
case 'failure':
messageSection = (
<p className='confirm-import alert alert-warning'>
<i className='fa fa-warning' />
<i className='fa fa-warning'/>
<FormattedMessage
id='team_export_tab.unable'
defaultMessage=' Unable to export: {error}'

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

@@ -79,7 +79,7 @@ class TeamImportTab extends React.Component {
case 'done':
messageSection = (
<p className='confirm-import alert alert-success'>
<i className='fa fa-check' />
<i className='fa fa-check'/>
<FormattedMessage
id='team_import_tab.successful'
defaultMessage=' Import successful: '
@@ -99,7 +99,7 @@ class TeamImportTab extends React.Component {
case 'fail':
messageSection = (
<p className='confirm-import alert alert-warning'>
<i className='fa fa-warning' />
<i className='fa fa-warning'/>
<FormattedMessage
id='team_import_tab.failure'
defaultMessage=' Import failure: '

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

@@ -56,7 +56,7 @@ export default class TeamMembersModal extends React.Component {
</Modal.Header>
<Modal.Body ref='modalBody'>
<div className='team-member-list'>
<MemberListTeam />
<MemberListTeam/>
</div>
</Modal.Body>
<Modal.Footer>

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

@@ -55,7 +55,7 @@ export default class TeamSettings extends React.Component {
case 'export':
result = (
<div>
<ExportTab />
<ExportTab/>
</div>
);
break;

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

@@ -23,7 +23,7 @@ export default class ChooseAuthPage extends React.Component {
}.bind(this)
}
>
<span className='icon' />
<span className='icon'/>
<span>
<FormattedMessage
id='choose_auth_page.gitlabCreate'
@@ -47,7 +47,7 @@ export default class ChooseAuthPage extends React.Component {
}
}
>
<span className='icon' />
<span className='icon'/>
<span>
<FormattedMessage
id='choose_auth_page.googleCreate'
@@ -71,7 +71,7 @@ export default class ChooseAuthPage extends React.Component {
}.bind(this)
}
>
<span className='fa fa-envelope' />
<span className='fa fa-envelope'/>
<span>
<FormattedMessage
id='choose_auth_page.emailCreate'

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

@@ -183,7 +183,7 @@ export default class TeamSignupSendInvitesPage extends React.Component {
<FormattedMessage
id='team_signup_send_invites.next'
defaultMessage='Next'
/><i className='glyphicon glyphicon-chevron-right' />
/><i className='glyphicon glyphicon-chevron-right'/>
</button>
</div>
</form>

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

@@ -150,7 +150,7 @@ class TeamSignupWelcomePage extends React.Component {
id='team_signup_welcome.confirm'
defaultMessage='Please confirm your email address:'
/>
<br />
<br/>
<div className='inner__content'>
<div className='block--gray'>{this.props.state.team.email}</div>
</div>
@@ -176,7 +176,7 @@ class TeamSignupWelcomePage extends React.Component {
</button>
{storageError}
</div>
<hr />
<hr/>
<div className={emailDivContainerClass}>
<div className={emailDivClass}>
<div className='row'>

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

@@ -10,9 +10,6 @@ var Tooltip = ReactBootstrap.Tooltip;
var OverlayTrigger = ReactBootstrap.OverlayTrigger;
export default class TimeSince extends React.Component {
constructor(props) {
super(props);
}
componentDidMount() {
this.intervalId = setInterval(() => {
this.forceUpdate();
@@ -51,7 +48,7 @@ export default class TimeSince extends React.Component {
overlay={tooltip}
>
<time className='post__time'>
<FormattedRelative value={this.props.eventTime} />
<FormattedRelative value={this.props.eventTime}/>
</time>
</OverlayTrigger>
);

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

@@ -22,7 +22,7 @@ export default class ModalToggleButton extends React.Component {
}
render() {
const {children, dialogType, dialogProps, onClick, ...props} = this.props; // eslint-disable-line no-redeclare
const {children, dialogType, dialogProps, onClick, ...props} = this.props; // eslint-disable-line no-use-before-define
// allow callers to provide an onClick which will be called before the modal is shown
let clickHandler = this.show;

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

@@ -58,6 +58,7 @@ export default class TutorialIntroScreens extends React.Component {
case 2:
return this.createScreenThree();
}
return null;
}
createScreenOne() {
const circles = this.createCircles();

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

@@ -4,9 +4,6 @@
// Indicator for the left sidebar which indicate if there's unread posts in a channel that is not shown
// because it is either above or below the screen
export default class UnreadChannelIndicator extends React.Component {
constructor(props) {
super(props);
}
render() {
let displayValue = 'none';
if (this.props.show) {

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

@@ -57,7 +57,7 @@ class UserSettingsIntegrationsTab extends React.Component {
if (global.window.mm_config.EnableIncomingWebhooks === 'true') {
if (this.props.activeSection === 'incoming-hooks') {
inputs.push(
<ManageIncomingHooks key='incoming-hook-ui' />
<ManageIncomingHooks key='incoming-hook-ui'/>
);
incomingHooksSection = (
@@ -88,7 +88,7 @@ class UserSettingsIntegrationsTab extends React.Component {
if (global.window.mm_config.EnableOutgoingWebhooks === 'true') {
if (this.props.activeSection === 'outgoing-hooks') {
inputs.push(
<ManageOutgoingHooks key='outgoing-hook-ui' />
<ManageOutgoingHooks key='outgoing-hook-ui'/>
);
outgoingHooksSection = (
@@ -119,7 +119,7 @@ class UserSettingsIntegrationsTab extends React.Component {
if (global.window.mm_config.EnableCommands === 'true') {
if (this.props.activeSection === 'command-hooks') {
inputs.push(
<ManageCommandHooks key='command-hook-ui' />
<ManageCommandHooks key='command-hook-ui'/>
);
commandHooksSection = (

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

@@ -111,12 +111,13 @@ class UserSettingsModal extends React.Component {
this.afterConfirm = () => this.handleHide();
this.showConfirmModal();
return false;
return;
}
this.resetTheme();
this.deactivateTab();
this.props.onModalDismissed();
return;
}
// called after the dialog is fully hidden and faded out
@@ -295,7 +296,12 @@ class UserSettingsModal extends React.Component {
closeModal={this.closeModal}
collapseModal={this.collapseModal}
setEnforceFocus={(enforceFocus) => this.setState({enforceFocus})}
setRequireConfirm={(requireConfirm) => this.requireConfirm = requireConfirm}
setRequireConfirm={
(requireConfirm) => {
this.requireConfirm = requireConfirm;
return;
}
}
/>
</div>
</div>

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

@@ -445,7 +445,7 @@ class NotificationsTab extends React.Component {
title={formatMessage(holders.desktopSounds)}
describe={describe}
updateSection={handleUpdateSoundSection}
disableOpen = {!this.state.soundNeeded}
disableOpen={!this.state.soundNeeded}
/>
);
}
@@ -826,4 +826,4 @@ NotificationsTab.propTypes = {
collapseModal: React.PropTypes.func.isRequired
};
export default injectIntl(NotificationsTab);
export default injectIntl(NotificationsTab);

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

@@ -203,7 +203,9 @@ class ViewImageModal extends React.Component {
window.open(serverData.public_link);
}
},
() => {}
() => {
//Do Nothing on error
}
);
}
@@ -383,6 +385,11 @@ function LoadingImagePreview({progress, loading}) {
);
}
LoadingImagePreview.propTypes = {
progress: React.PropTypes.number,
loading: React.PropTypes.string
};
function ImagePreview({filename, fileUrl, fileInfo, maxHeight}) {
let previewUrl;
if (fileInfo.has_preview_image) {
@@ -405,4 +412,11 @@ function ImagePreview({filename, fileUrl, fileInfo, maxHeight}) {
);
}
export default injectIntl(ViewImageModal);
ImagePreview.propTypes = {
filename: React.PropTypes.string.isRequired,
fileUrl: React.PropTypes.string.isRequired,
fileInfo: React.PropTypes.object.isRequired,
maxHeight: React.PropTypes.number.isRequired
};
export default injectIntl(ViewImageModal);

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

@@ -4,9 +4,6 @@
import {FormattedMessage} from 'mm-intl';
export default class ViewImagePopoverBar extends React.Component {
constructor(props) {
super(props);
}
render() {
var publicLink = '';
if (global.window.mm_config.EnablePublicLink === 'true') {

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

@@ -94,6 +94,7 @@ export default class YoutubeVideo extends React.Component {
receivedYoutubeData: true,
title: metadata.title
});
return null;
}
play() {