aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorThomas Haddad2016-12-21 12:19:10 +0100
committerThomas Haddad2016-12-21 12:19:10 +0100
commit59de9d7185a9ca01db675a75d081ccff33fb9ded (patch)
treedbafd7dcd7b24168caf722cc000fe163ef8aa875 /app/assets/javascripts
parent82e34b5f96ff0b8cb20ea4a7ee65d4a58fd070a8 (diff)
downloadchouette-core-59de9d7185a9ca01db675a75d081ccff33fb9ded.tar.bz2
Refs #2209: Add state to modal, Modal Container/Component/first reducer
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/assets/javascripts')
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js5
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/App.js2
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js9
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPatterns.js4
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/Modal.js17
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js3
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/containers/Modal.js12
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/index.js6
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/reducers/index.js4
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/reducers/modal.js18
10 files changed, 76 insertions, 4 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 110d02889..9e598fdbc 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js
@@ -24,6 +24,11 @@ const actions = {
id : e.currentTarget.id,
index
}),
+ openUpdateModalOpen : (index, journeyPattern) => ({
+ type : 'UPDATE_JOURNEYPATTERN_MODAL',
+ index,
+ journeyPattern
+ }),
savePage : (dispatch, currentPage) => ({
type: 'SAVE_PAGE',
dispatch
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 378e6db1e..3472d9dcc 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/components/App.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/App.js
@@ -1,6 +1,7 @@
var React = require('react')
var AddJourneyPattern = require('../containers/AddJourneyPattern')
var Navigate = require('../containers/Navigate')
+var Modal = require('../containers/Modal')
var SaveJourneyPattern = require('../containers/SaveJourneyPattern')
var JourneyPatternList = require('../containers/JourneyPatternList')
@@ -12,6 +13,7 @@ const App = () => (
</div>
<JourneyPatternList />
<SaveJourneyPattern />
+ <Modal/>
</div>
)
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js
index 01796154f..bf604d2ae 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPattern.js
@@ -4,6 +4,12 @@ var PropTypes = require('react').PropTypes
const JourneyPattern = (props) => {
return (
<div className='list-group-item'>
+ <p
+ onClick= {props.onUpdateModalOpen}
+ className='big'
+ >
+ <strong>MODAL</strong>
+ </p>
<p className='small'><strong>Index: </strong>{props.index}</p>
<p className='small'><strong>Name: </strong>{props.value.name}</p>
<p className='small'><strong>ObjectID: </strong>{props.value.object_id}</p>
@@ -33,7 +39,8 @@ const JourneyPattern = (props) => {
JourneyPattern.propTypes = {
value: PropTypes.object,
index: PropTypes.number,
- onCheckboxChange: PropTypes.func.isRequired
+ onCheckboxChange: PropTypes.func.isRequired,
+ onUpdateModalOpen: PropTypes.func.isRequired
}
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
index a22963ca3..4a74f7d19 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPatterns.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/JourneyPatterns.js
@@ -21,6 +21,7 @@ class JourneyPatterns extends Component{
value={ journeyPattern }
key={ index }
onCheckboxChange= {(e) => this.props.onCheckboxChange(e, index)}
+ onUpdateModalOpen= {() => this.props.onUpdateModalOpen(index, journeyPattern)}
/>
)}
</div>
@@ -31,7 +32,8 @@ class JourneyPatterns extends Component{
JourneyPatterns.propTypes = {
journeyPatterns: PropTypes.array.isRequired,
onCheckboxChange: PropTypes.func.isRequired,
- onLoadFirstPage: PropTypes.func.isRequired
+ onLoadFirstPage: PropTypes.func.isRequired,
+ onUpdateModalOpen: PropTypes.func.isRequired
}
module.exports = JourneyPatterns
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/Modal.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/Modal.js
new file mode 100644
index 000000000..90140661c
--- /dev/null
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/Modal.js
@@ -0,0 +1,17 @@
+var React = require('react')
+var PropTypes = require('react').PropTypes
+
+const ModalComponent = (props) => {
+ return (
+ <h1 className={ (props.modal.open ? "" : "hidden") + " btn btn-default" }>
+ COUCOU {props.index}
+ </h1>
+ )
+}
+
+ModalComponent.propTypes = {
+ index: PropTypes.number,
+ modal: PropTypes.object
+}
+
+module.exports = ModalComponent
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 2da8c304c..f475f7cfe 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/JourneyPatternList.js
@@ -16,6 +16,9 @@ const mapDispatchToProps = (dispatch) => {
onCheckboxChange: (e, index) =>{
dispatch(actions.updateCheckboxValue(e, index))
},
+ onUpdateModalOpen: (index, journeyPattern) =>{
+ dispatch(actions.openUpdateModalOpen(index, journeyPattern))
+ },
}
}
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/containers/Modal.js b/app/assets/javascripts/es6_browserified/journey_patterns/containers/Modal.js
new file mode 100644
index 000000000..22b36b35e
--- /dev/null
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/Modal.js
@@ -0,0 +1,12 @@
+var connect = require('react-redux').connect
+var ModalComponent = require('../components/modal')
+
+const mapStateToProps = (state) => {
+ return {
+ modal: state.modal,
+ }
+}
+
+const ModalContainer = connect(mapStateToProps)(ModalComponent)
+
+module.exports = ModalContainer
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/index.js b/app/assets/javascripts/es6_browserified/journey_patterns/index.js
index e420cff9f..86e9e1c35 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/index.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/index.js
@@ -14,7 +14,11 @@ var promise = require('redux-promise')
var initialState = {
journeyPatterns: [],
pagination: 1,
- totalCount: window.journeyPatternLength
+ totalCount: window.journeyPatternLength,
+ modal: {
+ open: false,
+ modalProps: {}
+ }
}
const loggerMiddleware = createLogger()
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 7e8270868..71ff8b6f5 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/index.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/index.js
@@ -2,11 +2,13 @@ var combineReducers = require('redux').combineReducers
var journeyPatterns = require('./journeyPatterns')
var pagination = require('./pagination')
var totalCount = require('./totalCount')
+var modal = require('./modal')
const journeyPatternsApp = combineReducers({
journeyPatterns,
pagination,
- totalCount
+ totalCount,
+ modal
})
module.exports = journeyPatternsApp
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/modal.js b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/modal.js
new file mode 100644
index 000000000..452c47011
--- /dev/null
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/modal.js
@@ -0,0 +1,18 @@
+const modal = (state = {}, action) => {
+ switch (action.type) {
+ case 'UPDATE_JOURNEYPATTERN_MODAL':
+ return {
+ open: true,
+ modalProps: {
+ index: action.index,
+ journeyPattern: action.journeyPattern
+ }
+ }
+ case 'HIDE_MODAL':
+ return {}
+ default:
+ return state
+ }
+}
+
+module.exports = modal