Add proptypes

This commit is contained in:
Chi Vinh Le
2017-09-23 01:09:32 +07:00
parent a19de7bfb4
commit 171a6d506b
9 changed files with 81 additions and 19 deletions
@@ -226,8 +226,12 @@ Comment.propTypes = {
title: PropTypes.string,
url: PropTypes.string,
id: PropTypes.string
})
})
}),
}),
data: PropTypes.object.isRequired,
root: PropTypes.object.isRequired,
actions: PropTypes.array.isRequired,
selected: PropTypes.bool,
};
export default Comment;
@@ -1,4 +1,5 @@
import React, {Component} from 'react';
import PropTypes from 'prop-types';
import key from 'keymaster';
import ModerationQueue from './ModerationQueue';
@@ -8,7 +9,7 @@ import ModerationKeysModal from '../../../components/ModerationKeysModal';
import StorySearch from '../containers/StorySearch';
import Slot from 'coral-framework/components/Slot';
export default class Moderation extends Component {
class Moderation extends Component {
constructor(props) {
super(props);
const comments = this.getComments(props);
@@ -259,3 +260,30 @@ export default class Moderation extends Component {
);
}
}
Moderation.propTypes = {
viewUserDetail: PropTypes.func.isRequired,
hideUserDetail: PropTypes.func.isRequired,
singlView: PropTypes.func.isRequired,
toggleModal: PropTypes.func.isRequired,
toggleStorySearch: PropTypes.func.isRequired,
getModPath: PropTypes.func.isRequired,
storySearchChange: PropTypes.func.isRequired,
moderation: PropTypes.object.isRequired,
auth: PropTypes.object.isRequired,
settings: PropTypes.object.isRequired,
queueConfig: PropTypes.object.isRequired,
handleCommentChange: PropTypes.func.isRequired,
setSortOrder: PropTypes.func.isRequired,
showBanUserDialog: PropTypes.func.isRequired,
showSuspendUserDialog: PropTypes.func.isRequired,
rejectComment: PropTypes.func.isRequired,
acceptComment: PropTypes.func.isRequired,
loadMore: PropTypes.func.isRequired,
singleView: PropTypes.bool,
activeTab: PropTypes.string.isRequired,
data: PropTypes.object.isRequired,
root: PropTypes.object.isRequired,
};
export default Moderation;
@@ -30,7 +30,8 @@ ModerationHeader.propTypes = {
id: PropTypes.string
}),
openSearch: PropTypes.func.isRequired,
closeSearch: PropTypes.func.isRequired
closeSearch: PropTypes.func.isRequired,
searchVisible: PropTypes.bool,
};
export default ModerationHeader;
@@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
const ModerationLayout = (props) => (
<div>
@@ -6,4 +7,8 @@ const ModerationLayout = (props) => (
</div>
);
ModerationLayout.propTypes = {
children: PropTypes.node,
};
export default ModerationLayout;
@@ -49,7 +49,11 @@ ModerationMenu.propTypes = {
items: PropTypes.array.isRequired,
asset: PropTypes.shape({
id: PropTypes.string
})
}),
selectSort: PropTypes.func.isRequired,
sort: PropTypes.string.isRequired,
getModPath: PropTypes.func.isRequired,
activeTab: PropTypes.string.isRequired,
};
export default ModerationMenu;
@@ -47,18 +47,6 @@ function invalidateCursor(invalidated, state, props) {
class ModerationQueue extends React.Component {
isLoadingMore = false;
static propTypes = {
viewUserDetail: PropTypes.func.isRequired,
bannedWords: PropTypes.arrayOf(PropTypes.string).isRequired,
suspectWords: PropTypes.arrayOf(PropTypes.string).isRequired,
currentAsset: PropTypes.object,
showBanUserDialog: PropTypes.func.isRequired,
showSuspendUserDialog: PropTypes.func.isRequired,
rejectComment: PropTypes.func.isRequired,
acceptComment: PropTypes.func.isRequired,
comments: PropTypes.array.isRequired
}
constructor(props) {
super(props);
this.state = {
@@ -233,4 +221,24 @@ class ModerationQueue extends React.Component {
}
}
ModerationQueue.propTypes = {
viewUserDetail: PropTypes.func.isRequired,
bannedWords: PropTypes.arrayOf(PropTypes.string).isRequired,
suspectWords: PropTypes.arrayOf(PropTypes.string).isRequired,
currentAsset: PropTypes.object,
showBanUserDialog: PropTypes.func.isRequired,
showSuspendUserDialog: PropTypes.func.isRequired,
rejectComment: PropTypes.func.isRequired,
acceptComment: PropTypes.func.isRequired,
comments: PropTypes.array.isRequired,
commentCount: PropTypes.number.isRequired,
loadMore: PropTypes.func.isRequired,
selectedCommentId: PropTypes.string,
singleView: PropTypes.bool,
activeTab: PropTypes.string.isRequired,
data: PropTypes.object.isRequired,
root: PropTypes.object.isRequired,
currentUserId: PropTypes.string.isRequired,
};
export default ModerationQueue;
@@ -1,6 +1,7 @@
import React from 'react';
import {Link} from 'react-router';
import styles from './NotFoundAsset.css';
import PropTypes from 'prop-types';
const NotFound = (props) => (
<div className={`mdl-card mdl-shadow--2dp ${styles.notFound}`}>
@@ -11,4 +12,8 @@ const NotFound = (props) => (
</div>
);
NotFound.propTypes = {
assetId: PropTypes.string.isRequired,
};
export default NotFound;
@@ -25,7 +25,8 @@ Story.propTypes = {
author: PropTypes.string.isRequired,
title: PropTypes.string.isRequired,
createdAt: PropTypes.string.isRequired,
open: PropTypes.bool.isRequired
open: PropTypes.bool.isRequired,
goToStory: PropTypes.func.isRequired,
};
export default Story;
@@ -93,7 +93,13 @@ StorySearch.propTypes = {
clearAndCloseSearch: PropTypes.func.isRequired,
moderation: PropTypes.object.isRequired,
handleSearchChange: PropTypes.func.isRequired,
assetId: PropTypes.string
assetId: PropTypes.string,
data: PropTypes.object.isRequired,
root: PropTypes.object.isRequired,
handleEsc: PropTypes.func.isRequired,
handleEnter: PropTypes.func.isRequired,
goToModerateAll: PropTypes.func.isRequired,
searchValue: PropTypes.string,
};
export default StorySearch;