Skip to content
This repository has been archived by the owner on Mar 13, 2024. It is now read-only.

Commit

Permalink
Upgrade react-intl to v3
Browse files Browse the repository at this point in the history
  • Loading branch information
cometkim committed Oct 3, 2019
1 parent de784f9 commit c9a720c
Show file tree
Hide file tree
Showing 54 changed files with 531 additions and 415 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

import PropTypes from 'prop-types';
import React from 'react';
import {FormattedMessage, intlShape} from 'react-intl';
import {FormattedMessage, injectIntl} from 'react-intl';

import * as GlobalActions from 'actions/global_actions.jsx';

Expand All @@ -17,9 +17,10 @@ import Menu from 'components/widgets/menu/menu';

import MenuItemBlockableLink from './menu_item_blockable_link';

export default class AdminNavbarDropdown extends React.Component {
class AdminNavbarDropdown extends React.Component {
static propTypes = {
locale: PropTypes.string.isRequired,
intl: PropTypes.any.isRequired,
siteName: PropTypes.string,
navigationBlocked: PropTypes.bool,
teams: PropTypes.arrayOf(PropTypes.object).isRequired,
Expand All @@ -28,10 +29,6 @@ export default class AdminNavbarDropdown extends React.Component {
}).isRequired,
}

static contextTypes = {
intl: intlShape.isRequired,
};

handleLogout = (e) => {
if (this.props.navigationBlocked) {
e.preventDefault();
Expand All @@ -43,7 +40,7 @@ export default class AdminNavbarDropdown extends React.Component {

render() {
const {locale, teams, siteName} = this.props;
const {formatMessage} = this.context.intl;
const {formatMessage} = this.props.intl;
const teamToRender = []; // Array of team components
let switchTeams;

Expand Down Expand Up @@ -116,3 +113,5 @@ export default class AdminNavbarDropdown extends React.Component {
);
}
}

export default injectIntl(AdminNavbarDropdown);
15 changes: 6 additions & 9 deletions components/admin_console/admin_sidebar/admin_sidebar.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

import PropTypes from 'prop-types';
import React from 'react';
import {FormattedMessage, intlShape} from 'react-intl';
import {FormattedMessage, injectIntl} from 'react-intl';
import {Tooltip, OverlayTrigger} from 'react-bootstrap';
import Scrollbars from 'react-custom-scrollbars';

Expand Down Expand Up @@ -39,14 +39,9 @@ const renderScrollThumbVertical = (props) => (
/>
);

export default class AdminSidebar extends React.Component {
static get contextTypes() {
return {
intl: intlShape.isRequired,
};
}

class AdminSidebar extends React.Component {
static propTypes = {
intl: PropTypes.any.isRequired,
license: PropTypes.object.isRequired,
config: PropTypes.object,
plugins: PropTypes.object,
Expand Down Expand Up @@ -99,7 +94,7 @@ export default class AdminSidebar extends React.Component {
}

if (this.idx === null) {
this.idx = generateIndex(this.props.adminDefinition, this.context.intl);
this.idx = generateIndex(this.props.adminDefinition, this.props.intl);
}
let query = '';
for (const term of filter.split(' ')) {
Expand Down Expand Up @@ -345,3 +340,5 @@ export default class AdminSidebar extends React.Component {
);
}
}

export default injectIntl(AdminSidebar);
4 changes: 2 additions & 2 deletions components/admin_console/jobs/table.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

import PropTypes from 'prop-types';
import React from 'react';
import {FormattedDate, FormattedMessage, FormattedTime, injectIntl, intlShape} from 'react-intl';
import {FormattedDate, FormattedMessage, FormattedTime, injectIntl} from 'react-intl';

import {JobStatuses} from 'utils/constants.jsx';
import * as Utils from 'utils/utils.jsx';
Expand All @@ -14,7 +14,7 @@ class JobTable extends React.PureComponent {
/**
* Used for formatting dates
*/
intl: intlShape.isRequired,
intl: PropTypes.any.isRequired,

/**
* Array of jobs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@

import React from 'react';
import PropTypes from 'prop-types';
import {FormattedMessage, FormattedHTMLMessage, injectIntl, intlShape} from 'react-intl';
import {FormattedMessage, FormattedHTMLMessage, injectIntl} from 'react-intl';
import {Overlay, Tooltip} from 'react-bootstrap';

import {generateId} from 'utils/utils.jsx';
import Constants from 'utils/constants.jsx';

export class PermissionDescription extends React.Component {
static propTypes = {
intl: intlShape.isRequired,
intl: PropTypes.any.isRequired,
id: PropTypes.string.isRequired,
rowType: PropTypes.string.isRequired,
inherited: PropTypes.object,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import React from 'react';
import PropTypes from 'prop-types';

import {FormattedMessage, intlShape} from 'react-intl';
import {FormattedMessage, injectIntl} from 'react-intl';

import {isLicenseExpired, isLicenseExpiring, isLicensePastGracePeriod} from 'utils/license_utils.jsx';
import {AnnouncementBarTypes, AnnouncementBarMessages} from 'utils/constants.jsx';
Expand All @@ -18,8 +18,9 @@ import TextDismissableBar from '../text_dismissable_bar';

const RENEWAL_LINK = 'https://licensing.mattermost.com/renew';

export default class ConfigurationAnnouncementBar extends React.PureComponent {
class ConfigurationAnnouncementBar extends React.PureComponent {
static propTypes = {
intl: PropTypes.any.isRequired,
config: PropTypes.object,
license: PropTypes.object,
user: PropTypes.object,
Expand All @@ -31,10 +32,6 @@ export default class ConfigurationAnnouncementBar extends React.PureComponent {
}).isRequired,
};

static contextTypes = {
intl: intlShape,
};

dismissExpiringLicense = () => {
this.props.actions.dismissNotice(AnnouncementBarMessages.LICENSE_EXPIRING);
}
Expand Down Expand Up @@ -113,7 +110,7 @@ export default class ConfigurationAnnouncementBar extends React.PureComponent {
}
}

const {formatMessage} = this.context.intl;
const {formatMessage} = this.props.intl;

if (this.props.config.SendEmailNotifications !== 'true' &&
this.props.config.EnablePreviewModeBanner === 'true'
Expand Down Expand Up @@ -157,3 +154,5 @@ export default class ConfigurationAnnouncementBar extends React.PureComponent {
return null;
}
}

export default injectIntl(ConfigurationAnnouncementBar);
4 changes: 2 additions & 2 deletions components/audit_table/audit_table.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

import PropTypes from 'prop-types';
import React from 'react';
import {defineMessages, FormattedDate, FormattedMessage, FormattedTime, injectIntl, intlShape} from 'react-intl';
import {defineMessages, FormattedDate, FormattedMessage, FormattedTime, injectIntl} from 'react-intl';

import {getDirectTeammate, isSystemAdmin, toTitleCase} from 'utils/utils.jsx';
import {t} from 'utils/i18n';
Expand Down Expand Up @@ -213,7 +213,7 @@ const holders = defineMessages({

export class AuditTable extends React.PureComponent {
static propTypes = {
intl: intlShape.isRequired,
intl: PropTypes.any.isRequired,
audits: PropTypes.array.isRequired,
showUserId: PropTypes.bool,
showIp: PropTypes.bool,
Expand Down
18 changes: 8 additions & 10 deletions components/backstage/components/backstage_header.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,17 @@

import PropTypes from 'prop-types';
import React from 'react';
import {intlShape} from 'react-intl';
import {injectIntl} from 'react-intl';

export default class BackstageHeader extends React.Component {
static get propTypes() {
return {
children: PropTypes.node,
};
}
static contextTypes = {
intl: intlShape.isRequired,
class BackstageHeader extends React.Component {
static propTypes = {
intl: PropTypes.any.isRequired,
children: PropTypes.node,
};

render() {
const children = [];
const {formatMessage} = this.context.intl;
const {formatMessage} = this.props.intl;

React.Children.forEach(this.props.children, (child, index) => {
if (index !== 0) {
Expand Down Expand Up @@ -46,3 +42,5 @@ export default class BackstageHeader extends React.Component {
);
}
}

export default injectIntl(BackstageHeader);
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

import PropTypes from 'prop-types';
import React from 'react';
import {FormattedMessage, intlShape} from 'react-intl';
import {FormattedMessage, injectIntl} from 'react-intl';

import {Groups} from 'mattermost-redux/constants';

Expand All @@ -15,8 +15,9 @@ import ListModal, {DEFAULT_NUM_PER_PAGE} from 'components/list_modal.jsx';

import groupsAvatar from 'images/groups-avatar.png';

export default class ChannelGroupsManageModal extends React.PureComponent {
class ChannelGroupsManageModal extends React.PureComponent {
static propTypes = {
intl: PropTypes.any.isRequired,
channel: PropTypes.object.isRequired,
actions: PropTypes.shape({
getGroupsAssociatedToChannel: PropTypes.func.isRequired,
Expand All @@ -26,10 +27,6 @@ export default class ChannelGroupsManageModal extends React.PureComponent {
}).isRequired,
};

static contextTypes = {
intl: intlShape,
};

loadItems = async (pageNumber, searchTerm) => {
const {data} = await this.props.actions.getGroupsAssociatedToChannel(this.props.channel.id, searchTerm, pageNumber, DEFAULT_NUM_PER_PAGE);
return {
Expand Down Expand Up @@ -95,7 +92,7 @@ export default class ChannelGroupsManageModal extends React.PureComponent {
};

render() {
const {formatMessage} = this.context.intl;
const {formatMessage} = this.props.intl;
return (
<ListModal
titleText={formatMessage({id: 'groups', defaultMessage: '{channel} Groups'}, {channel: this.props.channel.display_name})}
Expand All @@ -109,3 +106,5 @@ export default class ChannelGroupsManageModal extends React.PureComponent {
);
}
}

export default injectIntl(ChannelGroupsManageModal);
12 changes: 5 additions & 7 deletions components/channel_header/channel_header.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import React from 'react';
import PropTypes from 'prop-types';
import {OverlayTrigger, Popover, Tooltip} from 'react-bootstrap';
import {FormattedMessage, intlShape} from 'react-intl';
import {FormattedMessage, injectIntl} from 'react-intl';
import {Permissions} from 'mattermost-redux/constants';
import {memoizeResult} from 'mattermost-redux/utils/helpers';

Expand Down Expand Up @@ -44,7 +44,7 @@ const popoverMarkdownOptions = {singleline: false, mentionHighlight: false, atMe

const SEARCH_BAR_MINIMUM_WINDOW_SIZE = 1140;

export default class ChannelHeader extends React.PureComponent {
class ChannelHeader extends React.PureComponent {
static propTypes = {
teamId: PropTypes.string.isRequired,
currentUser: PropTypes.object.isRequired,
Expand Down Expand Up @@ -76,10 +76,6 @@ export default class ChannelHeader extends React.PureComponent {
}).isRequired,
};

static contextTypes = {
intl: intlShape.isRequired,
};

constructor(props) {
super(props);
this.toggleFavoriteRef = React.createRef();
Expand Down Expand Up @@ -267,7 +263,7 @@ export default class ChannelHeader extends React.PureComponent {
rhsState,
hasGuests,
} = this.props;
const {formatMessage} = this.context.intl;
const {formatMessage} = this.props.intl;
const ariaLabelChannelHeader = Utils.localizeMessage('accessibility.sections.channelHeader', 'channel header region');

let hasGuestsText = '';
Expand Down Expand Up @@ -712,3 +708,5 @@ export default class ChannelHeader extends React.PureComponent {
);
}
}

export default injectIntl(ChannelHeader);
17 changes: 10 additions & 7 deletions components/create_comment/create_comment.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import $ from 'jquery';
import PropTypes from 'prop-types';
import React from 'react';
import {FormattedMessage, intlShape} from 'react-intl';
import {FormattedMessage, injectIntl} from 'react-intl';

import {sortFileInfos} from 'mattermost-redux/utils/file_utils';

Expand All @@ -28,9 +28,14 @@ import TextboxLinks from 'components/textbox/textbox_links.jsx';
import FormattedMarkdownMessage from 'components/formatted_markdown_message.jsx';
import MessageSubmitError from 'components/message_submit_error';

export default class CreateComment extends React.PureComponent {
class CreateComment extends React.PureComponent {
static propTypes = {

/**
* react-intl API
*/
intl: PropTypes.any.isRequired,

/**
* The channel for which this comment is a part of
*/
Expand Down Expand Up @@ -188,10 +193,6 @@ export default class CreateComment extends React.PureComponent {
selectedPostFocussedAt: PropTypes.number.isRequired,
}

static contextTypes = {
intl: intlShape.isRequired,
};

constructor(props) {
super(props);

Expand Down Expand Up @@ -761,7 +762,7 @@ export default class CreateComment extends React.PureComponent {
render() {
const {draft} = this.state;
const {readOnlyChannel} = this.props;
const {formatMessage} = this.context.intl;
const {formatMessage} = this.props.intl;
const enableAddButton = this.shouldEnableAddButton();
const {renderScrollbar} = this.state;
const ariaLabelReplyInput = Utils.localizeMessage('accessibility.sections.rhsFooter', 'reply input region');
Expand Down Expand Up @@ -1010,3 +1011,5 @@ export default class CreateComment extends React.PureComponent {
);
}
}

export default injectIntl(CreateComment);
Loading

0 comments on commit c9a720c

Please sign in to comment.