| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 | import React from 'react'
import PropTypes from 'prop-types'
import { render } from 'react-dom'
import { Provider } from 'react-redux'
import { createStore } from 'redux'
import reducers from '../../routes/reducers'
import App from '../../routes/components/App'
import formHelper from '../../routes/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
import {createLogger} from '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()
    formHelper.handleForm("#route_name", "#route_published_name")
  }
  formHelper.handleStopPoints(event, state)
})
 |