aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorThomas Haddad2016-12-08 16:10:32 +0100
committerThomas Haddad2016-12-08 16:10:32 +0100
commit8df23449499ad9934880db6a8856b5e25baacf5f (patch)
treea1625ab0d6901a8cd3cd3114e68b78da3b140e74 /app
parent0595ee02e0b0f7d0a29db99ae997e127835734c5 (diff)
downloadchouette-core-8df23449499ad9934880db6a8856b5e25baacf5f.tar.bz2
Add Journey_patterns display with initialized state Refs #2204
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com> Signed-off-by: Jean-Paul Lescouzeres <jean-paul.lescouzeres@af83.com>
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js3
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/App.js12
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js19
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPatterns.js21
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js21
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js20
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/index.js29
-rw-r--r--app/views/journey_patterns_collections/show.html.slim1
8 files changed, 124 insertions, 2 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 e69de29bb..a51c11b9c 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js
@@ -0,0 +1,3 @@
+const actions = {}
+
+module.exports = actions
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/App.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/App.js
new file mode 100644
index 000000000..8e22bfe45
--- /dev/null
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/App.js
@@ -0,0 +1,12 @@
+var React = require('react')
+var AddJourneyPattern = require('../containers/AddJourneyPattern')
+var JourneyPatternList = require('../containers/JourneyPatternList')
+
+const App = () => (
+ <div>
+ <AddJourneyPattern />
+ <JourneyPatternList />
+ </div>
+)
+
+module.exports = App
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js
new file mode 100644
index 000000000..8848eec35
--- /dev/null
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js
@@ -0,0 +1,19 @@
+var React = require('react')
+var PropTypes = require('react').PropTypes
+
+const JourneyPattern = (props) => {
+ return (
+ <div className='list-group-item'>
+ <span className='label label-default' style={{marginRight: 10}}>{props.index}</span>
+ <span className='label label-default' style={{marginRight: 10}}>{props.value.name}</span>
+ <span className='label label-default' style={{marginRight: 10}}>{props.value.object_id}</span>
+ <span className='label label-default' style={{marginRight: 10}}>{props.value.published_name}</span>
+ </div>
+ )
+}
+
+JourneyPattern.propTypes = {
+ value: PropTypes.object
+}
+
+module.exports = JourneyPattern
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPatterns.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPatterns.js
new file mode 100644
index 000000000..b291494e4
--- /dev/null
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPatterns.js
@@ -0,0 +1,21 @@
+var React = require('react')
+var PropTypes = require('react').PropTypes
+var JourneyPattern = require('./JourneyPattern')
+
+const JourneyPatterns = ({ journeyPatterns }) => {
+ return (
+ <div className='list-group'>
+ {journeyPatterns.map((journeyPattern, index) =>
+ <JourneyPattern
+ value={ journeyPattern }
+ />
+ )}
+ </div>
+ )
+}
+
+JourneyPatterns.propTypes = {
+ journeyPatterns: PropTypes.array.isRequired
+}
+
+module.exports = JourneyPatterns
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js b/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js
new file mode 100644
index 000000000..b4f18bf66
--- /dev/null
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js
@@ -0,0 +1,21 @@
+var React = require('react')
+var connect = require('react-redux').connect
+var actions = require('../actions')
+
+let AddJourneyPattern = ({ dispatch }) => {
+ return (
+ <div className="clearfix" style={{marginBottom: 10}}>
+ <form onSubmit={e => {
+ e.preventDefault()
+ dispatch(actions.addStop())
+ }}>
+ <button type="submit" className="btn btn-primary btn-xs pull-right">
+ <span className="fa fa-plus"></span> Ajouter une mission
+ </button>
+ </form>
+ </div>
+ )
+}
+AddJourneyPattern = connect()(AddJourneyPattern)
+
+module.exports = AddJourneyPattern
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js b/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js
new file mode 100644
index 000000000..0e3e57b21
--- /dev/null
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js
@@ -0,0 +1,20 @@
+var actions = require('../actions')
+var connect = require('react-redux').connect
+var JourneyPatterns = require('../components/JourneyPatterns')
+
+const mapStateToProps = (state) => {
+ return {
+ journeyPatterns: state.journeyPatterns
+ }
+}
+
+const mapDispatchToProps = (dispatch) => {
+ return {}
+}
+
+const JourneyPatternList = connect(
+ mapStateToProps,
+ mapDispatchToProps
+)(JourneyPatterns)
+
+module.exports = JourneyPatternList
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/index.js b/app/assets/javascripts/es6_browserified/journey_patterns/index.js
index c35ac2681..626997f4c 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/index.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/index.js
@@ -3,6 +3,7 @@ var render = require('react-dom').render
var Provider = require('react-redux').Provider
var createStore = require('redux').createStore
var journeyPatternsApp = require('./reducers')
+var App = require('./components/App')
// logger, DO NOT REMOVE
var applyMiddleware = require('redux').applyMiddleware
@@ -16,11 +17,28 @@ var req = new Request(urlJSON, {
});
const getInitialState = () => {
console.log(urlJSON)
+ let state = []
fetch(req)
.then(response => response.json())
// .then(json => dispatch(receivePosts(reddit, json)))
- .then(json => console.log(json))
- let state = []
+ .then((json) => {
+ console.log(json)
+ for (let [i, val] of json.entries()){
+ let stop_points = []
+ for (let [i, stopArea] of val['stop_area_short_descriptions'].entries()){
+ stop_points.push("id", false)
+ }
+ for (let [i, stopArea] of val['stop_area_short_descriptions'].entries()){
+ stop_points["id"] = true
+ }
+ state.push({
+ name: val.name,
+ object_id: val.object_id,
+ published_name: val.published_name
+ // stop_points: stop_points
+ })
+ }
+ })
return state
}
@@ -33,3 +51,10 @@ let store = createStore(
initialState,
applyMiddleware(thunkMiddleware, promise, loggerMiddleware)
)
+
+render(
+ <Provider store={store}>
+ <App />
+ </Provider>,
+ document.getElementById('journey_patterns')
+)
diff --git a/app/views/journey_patterns_collections/show.html.slim b/app/views/journey_patterns_collections/show.html.slim
index 2c4a38bd6..0d16daf1a 100644
--- a/app/views/journey_patterns_collections/show.html.slim
+++ b/app/views/journey_patterns_collections/show.html.slim
@@ -1 +1,2 @@
+#journey_patterns
= javascript_include_tag 'es6_browserified/journey_patterns/index.js'