diff --git a/client/coral-admin/src/actions/community.js b/client/coral-admin/src/actions/community.js index b7102b8ff..89427f7bb 100644 --- a/client/coral-admin/src/actions/community.js +++ b/client/coral-admin/src/actions/community.js @@ -5,7 +5,7 @@ import { FETCH_USERS_SUCCESS, FETCH_USERS_FAILURE, SORT_UPDATE, - COMMENTERS_NEW_PAGE, + SET_PAGE, SET_ROLE, SET_COMMENTER_STATUS, SHOW_BANUSER_DIALOG, @@ -45,8 +45,9 @@ export const updateSorting = (sort) => ({ sort }); -export const newPage = () => ({ - type: COMMENTERS_NEW_PAGE +export const setPage = (page) => ({ + type: SET_PAGE, + page, }); export const setRole = (id, role) => (dispatch, _, {rest}) => { diff --git a/client/coral-admin/src/constants/community.js b/client/coral-admin/src/constants/community.js index dc11572ed..6e8a82bfe 100644 --- a/client/coral-admin/src/constants/community.js +++ b/client/coral-admin/src/constants/community.js @@ -1,18 +1,20 @@ -export const FETCH_USERS_REQUEST = 'FETCH_USERS_REQUEST'; -export const FETCH_USERS_SUCCESS = 'FETCH_USERS_SUCCESS'; -export const FETCH_USERS_FAILURE = 'FETCH_USERS_FAILURE'; +const prefix = 'COMMUNITY'; -export const SORT_UPDATE = 'SORT_UPDATE'; -export const COMMENTERS_NEW_PAGE = 'COMMENTERS_NEW_PAGE'; -export const SET_ROLE = 'SET_ROLE'; -export const SET_COMMENTER_STATUS = 'SET_COMMENTER_STATUS'; +export const FETCH_USERS_REQUEST = `${prefix}_FETCH_USERS_REQUEST`; +export const FETCH_USERS_SUCCESS = `${prefix}_FETCH_USERS_SUCCESS`; +export const FETCH_USERS_FAILURE = `${prefix}_FETCH_USERS_FAILURE`; -export const FETCH_FLAGGED_COMMENTERS_REQUEST = 'FETCH_FLAGGED_COMMENTERS_REQUEST'; -export const FETCH_FLAGGED_COMMENTERS_SUCCESS = 'FETCH_FLAGGED_COMMENTERS_SUCCESS'; -export const FETCH_FLAGGED_COMMENTERS_FAILURE = 'FETCH_FLAGGED_COMMENTERS_FAILURE'; +export const SORT_UPDATE = `${prefix}_SORT_UPDATE`; +export const SET_PAGE = `${prefix}_SET_PAGE`; +export const SET_ROLE = `${prefix}_SET_ROLE`; +export const SET_COMMENTER_STATUS = `${prefix}_SET_COMMENTER_STATUS`; -export const SHOW_BANUSER_DIALOG = 'SHOW_BANUSER_DIALOG'; -export const HIDE_BANUSER_DIALOG = 'HIDE_BANUSER_DIALOG'; +export const FETCH_FLAGGED_COMMENTERS_REQUEST = `${prefix}_FETCH_FLAGGED_COMMENTERS_REQUEST`; +export const FETCH_FLAGGED_COMMENTERS_SUCCESS = `${prefix}_FETCH_FLAGGED_COMMENTERS_SUCCESS`; +export const FETCH_FLAGGED_COMMENTERS_FAILURE = `${prefix}_FETCH_FLAGGED_COMMENTERS_FAILURE`; -export const SHOW_REJECT_USERNAME_DIALOG = 'SHOW_REJECT_USERNAME_DIALOG'; -export const HIDE_REJECT_USERNAME_DIALOG = 'HIDE_REJECT_USERNAME_DIALOG'; +export const SHOW_BANUSER_DIALOG = `${prefix}_SHOW_BANUSER_DIALOG`; +export const HIDE_BANUSER_DIALOG = `${prefix}_HIDE_BANUSER_DIALOG`; + +export const SHOW_REJECT_USERNAME_DIALOG = `${prefix}_SHOW_REJECT_USERNAME_DIALOG`; +export const HIDE_REJECT_USERNAME_DIALOG = `${prefix}_HIDE_REJECT_USERNAME_DIALOG`; diff --git a/client/coral-admin/src/reducers/community.js b/client/coral-admin/src/reducers/community.js index 31fb6aa17..cb71634cc 100644 --- a/client/coral-admin/src/reducers/community.js +++ b/client/coral-admin/src/reducers/community.js @@ -3,6 +3,7 @@ import { FETCH_USERS_SUCCESS, FETCH_USERS_FAILURE, SORT_UPDATE, + SET_PAGE, SET_ROLE, SET_COMMENTER_STATUS, SHOW_BANUSER_DIALOG, @@ -52,6 +53,11 @@ export default function community (state = initialState, action) { users, // Sets to normal array }; } + case SET_PAGE: + return { + ...state, + pagePeople: action.page, + }; case SET_ROLE : { const commenters = state.users; const idx = commenters.findIndex((el) => el.id === action.id); diff --git a/client/coral-admin/src/routes/Community/components/People.js b/client/coral-admin/src/routes/Community/components/People.js index 9626dd53f..664173cb0 100644 --- a/client/coral-admin/src/routes/Community/components/People.js +++ b/client/coral-admin/src/routes/Community/components/People.js @@ -13,7 +13,7 @@ const People = (props) => { searchValue, onSearchChange, onHeaderClickHandler, - onNewPageHandler, + onPageChange, totalPages, setRole, setCommenterStatus, @@ -47,7 +47,7 @@ const People = (props) => { setCommenterStatus={setCommenterStatus} onHeaderClickHandler={onHeaderClickHandler} pageCount={totalPages} - onPageChange={onNewPageHandler} + onPageChange={onPageChange} /> : {t('community.no_results')} } @@ -62,7 +62,7 @@ People.propTypes = { searchValue: PropTypes.string, onSearchChange: PropTypes.func, totalPages: PropTypes.number, - onNewPageHandler: PropTypes.func, + onPageChange: PropTypes.func, setCommenterStatus: PropTypes.func.isRequired, setRole: PropTypes.func.isRequired, viewUserDetail: PropTypes.func.isRequired, diff --git a/client/coral-admin/src/routes/Community/containers/People.js b/client/coral-admin/src/routes/Community/containers/People.js index 561e0fcfb..5780529e8 100644 --- a/client/coral-admin/src/routes/Community/containers/People.js +++ b/client/coral-admin/src/routes/Community/containers/People.js @@ -9,7 +9,7 @@ import {viewUserDetail} from '../../../actions/userDetail'; import { fetchUsers, updateSorting, - newPage, + setPage, hideRejectUsernameDialog, setCommenterStatus, setRole, @@ -23,7 +23,7 @@ class PeopleContainer extends React.Component { fetchUsers = (query = {}) => { const {community} = this.props; - + this.props.fetchUsers({ value: this.state.searchValue, field: community.fieldPeople, @@ -62,19 +62,19 @@ class PeopleContainer extends React.Component { this.fetchUsers(); } - onNewPageHandler = ({selected}) => { + onPageChange = ({selected}) => { const page = selected + 1; - this.props.newPage(page); + this.props.setPage(page); this.fetchUsers({page}); } render() { - return bindActionCreators({ - newPage, + setPage, fetchUsers, updateSorting, hideRejectUsernameDialog, diff --git a/client/coral-ui/components/Paginate.js b/client/coral-ui/components/Paginate.js index 3a404db69..df19450c3 100644 --- a/client/coral-ui/components/Paginate.js +++ b/client/coral-ui/components/Paginate.js @@ -4,9 +4,10 @@ import ReactPaginate from 'react-paginate'; import styles from './Paginate.css'; import Icon from './Icon'; -const Paginate = ({pageCount, onPageChange}) => ( +const Paginate = ({pageCount, page, onPageChange}) => ( ( ); Paginate.propTypes = { + page: PropTypes.number.isRequired, pageCount: PropTypes.number.isRequired, onPageChange: PropTypes.func.isRequired, };