Use Class and Property Decorators (#3730)

ref https://tc39.github.io/proposal-decorators/
This commit is contained in:
Yamagishi Kazutoshi
2017-06-24 02:36:54 +09:00
committed by Eugen Rochko
parent 0c44316b22
commit c1a8e3d1eb
90 changed files with 168 additions and 274 deletions

View File

@ -4,7 +4,7 @@ import DisplayName from '../../../components/display_name';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
class AutosuggestAccount extends ImmutablePureComponent {
export default class AutosuggestAccount extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map.isRequired,
@ -22,5 +22,3 @@ class AutosuggestAccount extends ImmutablePureComponent {
}
}
export default AutosuggestAccount;

View File

@ -2,7 +2,7 @@ import React from 'react';
import PropTypes from 'prop-types';
import { length } from 'stringz';
class CharacterCounter extends React.PureComponent {
export default class CharacterCounter extends React.PureComponent {
static propTypes = {
text: PropTypes.string.isRequired,
@ -23,5 +23,3 @@ class CharacterCounter extends React.PureComponent {
}
}
export default CharacterCounter;

View File

@ -25,7 +25,8 @@ const messages = defineMessages({
publishLoud: { id: 'compose_form.publish_loud', defaultMessage: '{publish}!' },
});
class ComposeForm extends ImmutablePureComponent {
@injectIntl
export default class ComposeForm extends ImmutablePureComponent {
static propTypes = {
intl: PropTypes.object.isRequired,
@ -199,5 +200,3 @@ class ComposeForm extends ImmutablePureComponent {
}
}
export default injectIntl(ComposeForm);

View File

@ -24,7 +24,8 @@ const settings = {
let EmojiPicker; // load asynchronously
class EmojiPickerDropdown extends React.PureComponent {
@injectIntl
export default class EmojiPickerDropdown extends React.PureComponent {
static propTypes = {
intl: PropTypes.object.isRequired,
@ -123,5 +124,3 @@ class EmojiPickerDropdown extends React.PureComponent {
}
}
export default injectIntl(EmojiPickerDropdown);

View File

@ -5,7 +5,7 @@ import Permalink from '../../../components/permalink';
import { FormattedMessage } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
class NavigationBar extends ImmutablePureComponent {
export default class NavigationBar extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map.isRequired,
@ -30,5 +30,3 @@ class NavigationBar extends ImmutablePureComponent {
}
}
export default NavigationBar;

View File

@ -20,7 +20,8 @@ const iconStyle = {
lineHeight: '27px',
};
class PrivacyDropdown extends React.PureComponent {
@injectIntl
export default class PrivacyDropdown extends React.PureComponent {
static propTypes = {
value: PropTypes.string.isRequired,
@ -95,5 +96,3 @@ class PrivacyDropdown extends React.PureComponent {
}
}
export default injectIntl(PrivacyDropdown);

View File

@ -12,7 +12,8 @@ const messages = defineMessages({
cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' },
});
class ReplyIndicator extends ImmutablePureComponent {
@injectIntl
export default class ReplyIndicator extends ImmutablePureComponent {
static contextTypes = {
router: PropTypes.object,
@ -61,5 +62,3 @@ class ReplyIndicator extends ImmutablePureComponent {
}
}
export default injectIntl(ReplyIndicator);

View File

@ -6,7 +6,8 @@ const messages = defineMessages({
placeholder: { id: 'search.placeholder', defaultMessage: 'Search' },
});
class Search extends React.PureComponent {
@injectIntl
export default class Search extends React.PureComponent {
static propTypes = {
value: PropTypes.string.isRequired,
@ -70,5 +71,3 @@ class Search extends React.PureComponent {
}
}
export default injectIntl(Search);

View File

@ -6,7 +6,7 @@ import StatusContainer from '../../../containers/status_container';
import Link from 'react-router-dom/Link';
import ImmutablePureComponent from 'react-immutable-pure-component';
class SearchResults extends ImmutablePureComponent {
export default class SearchResults extends ImmutablePureComponent {
static propTypes = {
results: ImmutablePropTypes.map.isRequired,
@ -63,5 +63,3 @@ class SearchResults extends ImmutablePureComponent {
}
}
export default SearchResults;

View File

@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
class TextIconButton extends React.PureComponent {
export default class TextIconButton extends React.PureComponent {
static propTypes = {
label: PropTypes.string.isRequired,
@ -27,5 +27,3 @@ class TextIconButton extends React.PureComponent {
}
}
export default TextIconButton;

View File

@ -23,7 +23,9 @@ const iconStyle = {
lineHeight: '27px',
};
class UploadButton extends ImmutablePureComponent {
@connect(makeMapStateToProps)
@injectIntl
export default class UploadButton extends ImmutablePureComponent {
static propTypes = {
disabled: PropTypes.bool,
@ -70,5 +72,3 @@ class UploadButton extends ImmutablePureComponent {
}
}
export default connect(makeMapStateToProps)(injectIntl(UploadButton));

View File

@ -11,7 +11,8 @@ const messages = defineMessages({
undo: { id: 'upload_form.undo', defaultMessage: 'Undo' },
});
class UploadForm extends React.PureComponent {
@injectIntl
export default class UploadForm extends React.PureComponent {
static propTypes = {
media: ImmutablePropTypes.list.isRequired,
@ -48,5 +49,3 @@ class UploadForm extends React.PureComponent {
}
}
export default injectIntl(UploadForm);

View File

@ -4,7 +4,7 @@ import Motion from 'react-motion/lib/Motion';
import spring from 'react-motion/lib/spring';
import { FormattedMessage } from 'react-intl';
class UploadProgress extends React.PureComponent {
export default class UploadProgress extends React.PureComponent {
static propTypes = {
active: PropTypes.bool,
@ -40,5 +40,3 @@ class UploadProgress extends React.PureComponent {
}
}
export default UploadProgress;

View File

@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
class Warning extends React.PureComponent {
export default class Warning extends React.PureComponent {
static propTypes = {
message: PropTypes.node.isRequired,
@ -18,5 +18,3 @@ class Warning extends React.PureComponent {
}
}
export default Warning;

View File

@ -23,7 +23,9 @@ const mapStateToProps = state => ({
showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),
});
class Compose extends React.PureComponent {
@connect(mapStateToProps)
@injectIntl
export default class Compose extends React.PureComponent {
static propTypes = {
dispatch: PropTypes.func.isRequired,
@ -82,5 +84,3 @@ class Compose extends React.PureComponent {
}
}
export default connect(mapStateToProps)(injectIntl(Compose));