From e19f37f690dd932f8f45b0c847e9fa5af197b7bd Mon Sep 17 00:00:00 2001 From: Thomas Haddad Date: Wed, 11 Jan 2017 15:28:08 +0100 Subject: Refactor Navigate container/component/specs Signed-off-by: Thomas Shawarma Haddad --- .../es6_browserified/journey_patterns/actions/index.js | 10 ++++------ .../journey_patterns/components/Navigate.js | 17 +++++++---------- .../journey_patterns/containers/Navigate.js | 5 +---- .../journey_patterns/reducers/journeyPatterns.js | 9 +++++---- .../journey_patterns/reducers/pagination.js | 8 ++++---- 5 files changed, 21 insertions(+), 28 deletions(-) (limited to 'app/assets/javascripts') diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js b/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js index 24fd37a34..4031f9bf1 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js @@ -11,18 +11,16 @@ const actions = { type: 'LOAD_FIRST_PAGE', dispatch }), - goToPreviousPage : (dispatch, currentPage) => ({ + goToPreviousPage : (dispatch, pagination) => ({ type: 'GO_TO_PREVIOUS_PAGE', dispatch, - currentPage, + pagination, nextPage : false }), - goToNextPage : (dispatch, currentPage, totalCount, perPage) => ({ + goToNextPage : (dispatch, pagination) => ({ type: 'GO_TO_NEXT_PAGE', dispatch, - currentPage, - totalCount, - perPage, + pagination, nextPage : true }), updateCheckboxValue : (e, index) => ({ diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/Navigate.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/Navigate.js index 826781890..077e8ab0d 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/components/Navigate.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/Navigate.js @@ -3,9 +3,9 @@ var Component = require('react').Component var PropTypes = require('react').PropTypes var actions = require('../actions') -let Navigate = ({ dispatch, journeyPatterns, page, stateChanged, totalCount, perPage }) => { +let Navigate = ({ dispatch, journeyPatterns, pagination }) => { let firstPage = 1 - let lastPage = Math.ceil(totalCount / window.journeyPatternsPerPage) + let lastPage = Math.ceil(pagination.totalCount / window.journeyPatternsPerPage) return (
{ @@ -14,23 +14,23 @@ let Navigate = ({ dispatch, journeyPatterns, page, stateChanged, totalCount, per
@@ -38,11 +38,8 @@ let Navigate = ({ dispatch, journeyPatterns, page, stateChanged, totalCount, per } Navigate.propTypes = { - page: PropTypes.number.isRequired, - totalCount: PropTypes.number.isRequired, - stateChanged: PropTypes.bool.isRequired, journeyPatterns: PropTypes.array.isRequired, - perPage: PropTypes.number.isRequired, + pagination: PropTypes.object.isRequired, dispatch: PropTypes.func.isRequired } diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/containers/Navigate.js b/app/assets/javascripts/es6_browserified/journey_patterns/containers/Navigate.js index a5e29ccc3..42bba6d2e 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/containers/Navigate.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/Navigate.js @@ -6,10 +6,7 @@ var NavigateComponent = require('../components/Navigate') const mapStateToProps = (state) => { return { journeyPatterns: state.journeyPatterns, - page: state.pagination.page, - totalCount: state.pagination.totalCount, - perPage: state.pagination.perPage, - stateChanged: state.pagination.stateChanged + pagination: state.pagination } } diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/journeyPatterns.js b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/journeyPatterns.js index 985725ade..ea2b1381e 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/journeyPatterns.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/journeyPatterns.js @@ -37,16 +37,17 @@ const journeyPatterns = (state = [], action) => { return [...action.json] case 'LOAD_FIRST_PAGE': actions.fetchJourneyPatterns(action.dispatch) + return state case 'GO_TO_PREVIOUS_PAGE': $('#ConfirmModal').modal('hide') - if(action.currentPage > 1){ - actions.fetchJourneyPatterns(action.dispatch, action.currentPage, action.nextPage) + if(action.pagination.page > 1){ + actions.fetchJourneyPatterns(action.dispatch, action.pagination.page, action.nextPage) } return state case 'GO_TO_NEXT_PAGE': $('#ConfirmModal').modal('hide') - if (action.totalCount - (action.currentPage * window.journeyPatternsPerPage) > 0){ - actions.fetchJourneyPatterns(action.dispatch, action.currentPage, action.nextPage) + if (action.pagination.totalCount - (action.pagination.page * action.pagination.perPage) > 0){ + actions.fetchJourneyPatterns(action.dispatch, action.pagination.page, action.nextPage) } return state case 'UPDATE_CHECKBOX_VALUE': diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/pagination.js b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/pagination.js index 02ccdea1f..48d95fdea 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/pagination.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/pagination.js @@ -3,15 +3,15 @@ const pagination = (state = {}, action) => { case 'RECEIVE_JOURNEY_PATTERNS': return Object.assign({}, state, {stateChanged: false}) case 'GO_TO_PREVIOUS_PAGE': - if (action.currentPage > 1){ + if (action.pagination.page > 1){ toggleOnConfirmModal() - return Object.assign({}, state, {page : action.currentPage - 1, stateChanged: false}) + return Object.assign({}, state, {page : action.pagination.page - 1, stateChanged: false}) } return state case 'GO_TO_NEXT_PAGE': - if (state.totalCount - (action.currentPage * action.perPage) > 0){ + if (state.totalCount - (action.pagination.page * action.pagination.perPage) > 0){ toggleOnConfirmModal() - return Object.assign({}, state, {page : action.currentPage + 1, stateChanged: false}) + return Object.assign({}, state, {page : action.pagination.page + 1, stateChanged: false}) } return state case 'UPDATE_CHECKBOX_VALUE': -- cgit v1.2.3