aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorThomas Haddad2016-12-13 11:53:11 +0100
committerThomas Haddad2016-12-13 11:54:30 +0100
commitd33014e05b556134eaf30c8bd06d36e832d66bdd (patch)
tree939aa08477fd464b1c4bb0e28bcdc3d65961106c /app/assets/javascripts
parentcce91fc058275ec8f7f504aed4180f5b64abc9f3 (diff)
downloadchouette-core-d33014e05b556134eaf30c8bd06d36e832d66bdd.tar.bz2
Add simple counter for pagination before plugging it for real Refs #2205
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com>
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js21
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/App.js2
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js13
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/containers/Navigate.js35
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/containers/test.js0
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/index.js5
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/reducers/index.js4
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/reducers/journey_patterns.js15
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/reducers/pagination.js12
9 files changed, 96 insertions, 11 deletions
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 98144938c..a03b64b10 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js
@@ -1,11 +1,20 @@
const actions = {
- receiveJourneyPatterns : (state) => ({
+ receiveJourneyPatterns : (json) => ({
type: "RECEIVE_JOURNEY_PATTERNS",
- state
+ json
+ }),
+ loadFirstPage: (dispatch) => ({
+ type: 'LOAD_FIRST_PAGE',
+ dispatch
+ }),
+ goToPreviousPage : () => ({
+ type: 'GO_TO_PREVIOUS_PAGE'
+ }),
+ goToNextPage : () => ({
+ type: 'GO_TO_NEXT_PAGE'
}),
-
fetchJourneyPatterns : (dispatch) => {
- let state = []
+ let journeyPatterns = []
let urlJSON = window.location.pathname + '.json'
let req = new Request(urlJSON, {
credentials: 'same-origin'
@@ -23,14 +32,14 @@ const actions = {
for (let stopArea of val.stop_area_short_descriptions){
stop_points[stopArea.stop_area_short_description.object_id].checked = true
}
- state.push({
+ journeyPatterns.push({
name: val.name,
object_id: val.object_id,
published_name: val.published_name,
stop_points: stop_points
})
}
- dispatch(actions.receiveJourneyPatterns(state))
+ dispatch(actions.receiveJourneyPatterns(journeyPatterns))
})
}
}
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/App.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/App.js
index 8e22bfe45..c61613b9e 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/components/App.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/App.js
@@ -1,10 +1,12 @@
var React = require('react')
var AddJourneyPattern = require('../containers/AddJourneyPattern')
+var Navigate = require('../containers/Navigate')
var JourneyPatternList = require('../containers/JourneyPatternList')
const App = () => (
<div>
<AddJourneyPattern />
+ <Navigate />
<JourneyPatternList />
</div>
)
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js b/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js
index a6710c690..067167a4d 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js
@@ -13,7 +13,7 @@ class JourneyPatternList extends Component{
componentDidMount() {
const dispatch = this.props.dispatch
const journeyPatterns = this.props.journeyPatterns
- actions.fetchJourneyPatterns(dispatch)
+ dispatch(actions.loadFirstPage(dispatch))
}
render() {
@@ -36,6 +36,17 @@ const mapStateToProps = (state) => {
}
}
+// const mapDispatchToProps = (dispatch) => {
+// return {
+// onPreviousClick: (index) =>{
+// dispatch(actions.fetchNextPage(index))
+// },
+// onNextClick: (index) =>{
+// dispatch(actions.fetchPreviousPage(index))
+// }
+// }
+// }
+
JourneyPatternList.propTypes = {
dispatch: PropTypes.func.isRequired,
journeyPatterns: PropTypes.array.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
new file mode 100644
index 000000000..feaa73ba3
--- /dev/null
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/Navigate.js
@@ -0,0 +1,35 @@
+var React = require('react')
+var connect = require('react-redux').connect
+var actions = require('../actions')
+
+let Navigate = ({ dispatch, journeyPatterns, page }) => {
+ return (
+ <div className="clearfix" style={{marginBottom: 10}}>
+ <form onSubmit={e => {
+ e.preventDefault()
+ }}>
+ <button
+ onClick={e => {
+ e.preventDefault()
+ dispatch(actions.goToNextPage())
+ }}
+ type="submit"
+ className="btn btn-primary btn-xs pull-right">
+ <span className="fa fa-plus"></span> Suivant
+ </button>
+ <button
+ onClick={e => {
+ e.preventDefault()
+ dispatch(actions.goToPreviousPage())
+ }}
+ type="submit"
+ className="btn btn-primary btn-xs pull-right">
+ <span className="fa fa-plus"></span> Précédent
+ </button>
+ </form>
+ </div>
+ )
+}
+Navigate = connect()(Navigate)
+
+module.exports = Navigate
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/containers/test.js b/app/assets/javascripts/es6_browserified/journey_patterns/containers/test.js
deleted file mode 100644
index e69de29bb..000000000
--- a/app/assets/javascripts/es6_browserified/journey_patterns/containers/test.js
+++ /dev/null
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/index.js b/app/assets/javascripts/es6_browserified/journey_patterns/index.js
index e0104db09..4590d1013 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/index.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/index.js
@@ -11,7 +11,10 @@ var createLogger = require('redux-logger')
var thunkMiddleware = require('redux-thunk').default
var promise = require('redux-promise')
-var initialState = {journeyPatterns: []}
+var initialState = {
+ journeyPatterns: [],
+ pagination: 0
+}
const loggerMiddleware = createLogger()
let store = createStore(
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/index.js b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/index.js
index 2a71bcf15..9210dfd4d 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/index.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/index.js
@@ -1,8 +1,10 @@
var combineReducers = require('redux').combineReducers
var journeyPatterns = require('./journey_patterns')
+var pagination = require('./pagination')
const journeyPatternsApp = combineReducers({
- journeyPatterns
+ journeyPatterns,
+ pagination
})
module.exports = journeyPatternsApp
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/journey_patterns.js b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/journey_patterns.js
index 0d7dc569b..8ef6b07d8 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/journey_patterns.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/journey_patterns.js
@@ -1,7 +1,18 @@
-const journeyPatterns = (state = [], action) => {
+var actions = require("../actions")
+
+const journeyPatterns = (state = {}, action) => {
switch (action.type) {
case 'RECEIVE_JOURNEY_PATTERNS':
- return [...action.state]
+ return [...action.json]
+ case 'LOAD_FIRST_PAGE':
+ actions.fetchJourneyPatterns(action.dispatch)
+ case 'GO_TO_PREVIOUS_PAGE':
+ if(state.page >= 0){
+ actions.fetchJourneyPatterns()
+ }
+ return state
+ case 'GO_TO_NEXT_PAGE':
+ actions.fetchJourneyPatterns()
default:
return state
}
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/pagination.js b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/pagination.js
new file mode 100644
index 000000000..09f003fbd
--- /dev/null
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/pagination.js
@@ -0,0 +1,12 @@
+const pagination = (state = 0, action) => {
+ switch (action.type) {
+ case 'GO_TO_PREVIOUS_PAGE':
+ return state - 1
+ case 'GO_TO_NEXT_PAGE':
+ return state + 1
+ default:
+ return state
+ }
+}
+
+module.exports = pagination