diff options
Diffstat (limited to 'app/javascript/routes/index.js')
| -rw-r--r-- | app/javascript/routes/index.js | 80 | 
1 files changed, 80 insertions, 0 deletions
| diff --git a/app/javascript/routes/index.js b/app/javascript/routes/index.js new file mode 100644 index 000000000..febae7d54 --- /dev/null +++ b/app/javascript/routes/index.js @@ -0,0 +1,80 @@ +import React from 'react' +import { render  } from 'react-dom' +import { Provider } from 'react-redux' +import { createStore } from 'redux' +import reducers from './reducers' +import App from './components/App' +import { handleForm, handleStopPoints } from './form_helper' +import clone from '../helpers/clone' +let datas = clone(window, "itinerary_stop", true) +datas = JSON.parse(decodeURIComponent(datas)) + +// logger, DO NOT REMOVE +// var applyMiddleware = require('redux').applyMiddleware +// var createLogger = require('redux-logger') +// var thunkMiddleware = require('redux-thunk').default +// var promise = require('redux-promise') + +const getInitialState = () => { +  let state = [] + +  datas.map(function(v, i) { +    let fancyText = v.name.replace("'", "\'") +    if(v.zip_code && v.city_name) +      fancyText += ", " + v.zip_code + " " + v.city_name.replace("'", "\'") + +    state.push({ +      stoppoint_id: v.stoppoint_id, +      stoparea_id: v.stoparea_id, +      user_objectid: v.user_objectid, +      short_name: v.short_name ? v.short_name.replace("'", "\'") : '', +      area_type: v.area_type, +      index: i, +      edit: false, +      city_name: v.city_name ? v.city_name.replace("'", "\'") : '', +      zip_code: v.zip_code, +      name: v.name ? v.name.replace("'", "\'") : '', +      registration_number: v.registration_number, +      text: fancyText, +      for_boarding: v.for_boarding || "normal", +      for_alighting: v.for_alighting || "normal", +      longitude: v.longitude || 0, +      latitude: v.latitude || 0, +      comment: v.comment ? v.comment.replace("'", "\'") : '', +      olMap: { +        isOpened: false, +        json: {} +      } +    }) +  }) + +  return state +} + +var initialState = {stopPoints: getInitialState()} +// const loggerMiddleware = createLogger() +let store = createStore( +  reducers, +  initialState +  // applyMiddleware(thunkMiddleware, promise, loggerMiddleware) +) + +render( +  <Provider store={store}> +    <App /> +  </Provider>, +  document.getElementById('stop_points') +) + +document.querySelector('input[name=commit]').addEventListener('click', (event)=>{ +  let state = store.getState() + +  let name = $("#route_name").val() +  let publicName = $("#route_published_name").val() +  if (name == "" || publicName == "") { +    event.preventDefault() +    handleForm("#route_name", "#route_published_name") +  } +     +  handleStopPoints(event, state) +}) | 
