diff options
| author | Zog | 2018-04-11 16:22:22 +0200 | 
|---|---|---|
| committer | Zog | 2018-04-11 16:22:22 +0200 | 
| commit | 61130315087432434fbbae50d30ad1753ff596a8 (patch) | |
| tree | b1976594f2a074961c331fead0fc25c8298e98ec | |
| parent | 2d1ebb630ecfdd7b745571202ee60a35902b545f (diff) | |
| download | chouette-core-61130315087432434fbbae50d30ad1753ff596a8.tar.bz2 | |
Make ReactJS views IE-compliant :firework:ie-fixes
| -rw-r--r-- | app/javascript/helpers/polyfills.js | 4 | ||||
| -rw-r--r-- | app/javascript/journey_patterns/actions/index.js | 18 | ||||
| -rw-r--r-- | app/javascript/packs/calendars/edit.js | 2 | ||||
| -rw-r--r-- | app/javascript/packs/exports/new.js | 2 | ||||
| -rw-r--r-- | app/javascript/packs/journey_patterns/index.js | 2 | ||||
| -rw-r--r-- | app/javascript/packs/referential_lines/show.js | 2 | ||||
| -rw-r--r-- | app/javascript/packs/referential_overview/overview.js | 2 | ||||
| -rw-r--r-- | app/javascript/packs/routes/edit.js | 27 | ||||
| -rw-r--r-- | app/javascript/packs/routes/show.js | 2 | ||||
| -rw-r--r-- | app/javascript/packs/stop_areas/new.js | 2 | ||||
| -rw-r--r-- | app/javascript/packs/time_tables/edit.js | 2 | ||||
| -rw-r--r-- | app/javascript/packs/vehicle_journeys/index.js | 2 | ||||
| -rw-r--r-- | app/javascript/time_tables/actions/index.js | 11 | ||||
| -rw-r--r-- | app/javascript/vehicle_journeys/actions/index.js | 23 | ||||
| -rw-r--r-- | config/webpacker.yml | 2 | ||||
| -rw-r--r-- | package.json | 4 | ||||
| -rw-r--r-- | yarn.lock | 10 | 
17 files changed, 84 insertions, 33 deletions
| diff --git a/app/javascript/helpers/polyfills.js b/app/javascript/helpers/polyfills.js new file mode 100644 index 000000000..93e3e9846 --- /dev/null +++ b/app/javascript/helpers/polyfills.js @@ -0,0 +1,4 @@ +import 'promise-polyfill/src/polyfill' +import 'es6-symbol/implement' +import 'polyfill-array-includes' +import 'whatwg-fetch' diff --git a/app/javascript/journey_patterns/actions/index.js b/app/javascript/journey_patterns/actions/index.js index ea54f4e05..a813f4b9e 100644 --- a/app/javascript/journey_patterns/actions/index.js +++ b/app/javascript/journey_patterns/actions/index.js @@ -1,10 +1,3 @@ -import Promise from 'promise-polyfill' - -// To add to window -if (!window.Promise) { -  window.Promise = Promise; -} -  const actions = {    enterEditMode: () => ({      type: "ENTER_EDIT_MODE" @@ -195,15 +188,19 @@ const actions = {            dispatch(actions.unavailableServer())          } else {            if(json.length != 0){ -            let val -            for (val of json){ -              for (let stop_point of val.route_short_description.stop_points){ +            let j = 0 +            while(j < json.length){ +              let val = json[j] +              let i = 0 +              while(i < val.route_short_description.stop_points.length){ +                let stop_point = val.route_short_description.stop_points[i]                  stop_point.checked = false                  val.stop_area_short_descriptions.map((element) => {                    if(element.stop_area_short_description.id === stop_point.id){                      stop_point.checked = true                    }                  }) +                i ++                }                journeyPatterns.push(                  _.assign({}, val, { @@ -212,6 +209,7 @@ const actions = {                    deletable: false                  })                ) +              j ++              }            }            window.currentItemsLength = journeyPatterns.length diff --git a/app/javascript/packs/calendars/edit.js b/app/javascript/packs/calendars/edit.js index bd09657ec..0c46313b9 100644 --- a/app/javascript/packs/calendars/edit.js +++ b/app/javascript/packs/calendars/edit.js @@ -1,3 +1,5 @@ +import '../../helpers/polyfills' +  import React from 'react'  import { render } from 'react-dom'  import { Provider } from 'react-redux' diff --git a/app/javascript/packs/exports/new.js b/app/javascript/packs/exports/new.js index ffe702cdb..b113cc709 100644 --- a/app/javascript/packs/exports/new.js +++ b/app/javascript/packs/exports/new.js @@ -1,3 +1,5 @@ +import '../../helpers/polyfills' +  import MasterSlave from "../../helpers/master_slave"  new MasterSlave("form") diff --git a/app/javascript/packs/journey_patterns/index.js b/app/javascript/packs/journey_patterns/index.js index 367a8830f..075eea13a 100644 --- a/app/javascript/packs/journey_patterns/index.js +++ b/app/javascript/packs/journey_patterns/index.js @@ -1,3 +1,5 @@ +import '../../helpers/polyfills' +  import React from 'react'  import { render } from 'react-dom'  import { Provider } from 'react-redux' diff --git a/app/javascript/packs/referential_lines/show.js b/app/javascript/packs/referential_lines/show.js index 99c5072ef..523f2040f 100644 --- a/app/javascript/packs/referential_lines/show.js +++ b/app/javascript/packs/referential_lines/show.js @@ -1,3 +1,5 @@ +import '../../helpers/polyfills' +  import clone from '../../helpers/clone'  import RoutesMap from '../../helpers/routes_map' diff --git a/app/javascript/packs/referential_overview/overview.js b/app/javascript/packs/referential_overview/overview.js index 59c326e9a..03da12ef3 100644 --- a/app/javascript/packs/referential_overview/overview.js +++ b/app/javascript/packs/referential_overview/overview.js @@ -1 +1,3 @@ +import '../../helpers/polyfills' +  import ReferentialOverview from '../../referential_overview' diff --git a/app/javascript/packs/routes/edit.js b/app/javascript/packs/routes/edit.js index fc7aa203d..0512b7aff 100644 --- a/app/javascript/packs/routes/edit.js +++ b/app/javascript/packs/routes/edit.js @@ -1,3 +1,5 @@ +import '../../helpers/polyfills' +  import React from 'react'  import PropTypes from 'prop-types' @@ -56,12 +58,25 @@ const getInitialState = () => {  }  var initialState = { stopPoints: getInitialState() } -const loggerMiddleware = createLogger() -let store = createStore( -  reducers, -  initialState, -  applyMiddleware(thunkMiddleware, promise, loggerMiddleware) -) +let store = null + +if(Object.assign){ +  const loggerMiddleware = createLogger() +  store = createStore( +   reducers, +   initialState, +   applyMiddleware(thunkMiddleware, promise, loggerMiddleware) + ) +} +else{ +  // IE +  store = createStore( +   reducers, +   initialState, +   applyMiddleware(thunkMiddleware, promise) + ) +} +  render(    <Provider store={store}> diff --git a/app/javascript/packs/routes/show.js b/app/javascript/packs/routes/show.js index c20de0800..e8e068ddd 100644 --- a/app/javascript/packs/routes/show.js +++ b/app/javascript/packs/routes/show.js @@ -1,3 +1,5 @@ +import '../../helpers/polyfills' +  import clone from '../../helpers/clone'  import RoutesMap from '../../helpers/routes_map' diff --git a/app/javascript/packs/stop_areas/new.js b/app/javascript/packs/stop_areas/new.js index ffe702cdb..b113cc709 100644 --- a/app/javascript/packs/stop_areas/new.js +++ b/app/javascript/packs/stop_areas/new.js @@ -1,3 +1,5 @@ +import '../../helpers/polyfills' +  import MasterSlave from "../../helpers/master_slave"  new MasterSlave("form") diff --git a/app/javascript/packs/time_tables/edit.js b/app/javascript/packs/time_tables/edit.js index cf058d501..873bdea50 100644 --- a/app/javascript/packs/time_tables/edit.js +++ b/app/javascript/packs/time_tables/edit.js @@ -1,3 +1,5 @@ +import '../../helpers/polyfills' +  import React from 'react'  import { render } from 'react-dom'  import { Provider } from 'react-redux' diff --git a/app/javascript/packs/vehicle_journeys/index.js b/app/javascript/packs/vehicle_journeys/index.js index 9cad3870e..0b4351d26 100644 --- a/app/javascript/packs/vehicle_journeys/index.js +++ b/app/javascript/packs/vehicle_journeys/index.js @@ -1,3 +1,5 @@ +import '../../helpers/polyfills' +  import React from 'react'  import { render } from 'react-dom'  import { Provider } from 'react-redux' diff --git a/app/javascript/time_tables/actions/index.js b/app/javascript/time_tables/actions/index.js index 7c79dfe52..a5c454a18 100644 --- a/app/javascript/time_tables/actions/index.js +++ b/app/javascript/time_tables/actions/index.js @@ -191,10 +191,13 @@ const actions = {    isInPeriod: (periods, date) => {      date = new Date(date) -    for (let period of periods) { +    let i = 0; +    while(i < periods.length){ +      let period = periods[i]        let begin = new Date(period.period_start)        let end = new Date(period.period_end)        if (date >= begin && date <= end) return true +      i++      }      return false @@ -235,12 +238,14 @@ const actions = {      let error = ''      start = new Date(start)      end = new Date(end) - -    for (let day of in_days) { +    let i = 0; +    while(i < in_days){ +      let day = in_days[i]        if (start <= new Date(day.date) && end >= new Date(day.date)) {          error = I18n.t('time_tables.edit.error_submit.dates_overlaps')          break        } +      i ++      }      return error    }, diff --git a/app/javascript/vehicle_journeys/actions/index.js b/app/javascript/vehicle_journeys/actions/index.js index 537dcfc06..d51012cdb 100644 --- a/app/javascript/vehicle_journeys/actions/index.js +++ b/app/javascript/vehicle_journeys/actions/index.js @@ -1,9 +1,3 @@ -import Promise from 'promise-polyfill' - -// To add to window -if (!window.Promise) { -  window.Promise = Promise; -}  import { batchActions } from '../batch'  const actions = { @@ -339,16 +333,23 @@ const actions = {          if(hasError == true) {            dispatch(actions.unavailableServer())          } else { -          let val -          for (val of json.vehicle_journeys){ +          let i = 0 +          while(i < json.vehicle_journeys.length){ +            let val = json.vehicle_journeys[i] +            i++              var timeTables = []              var purchaseWindows = [] -            let tt -            for (tt of val.time_tables){ +            let k = 0 +            while(k < val.time_tables.length){ +              let tt = val.time_tables[k] +              k++                timeTables.push(tt)              }              if(val.purchase_windows){ -              for (tt of val.purchase_windows){ +              k = 0 +              while(k < val.purchase_windows.length){ +                let tt = val.purchase_windows[k] +                k++                  purchaseWindows.push(tt)                }              } diff --git a/config/webpacker.yml b/config/webpacker.yml index be1105bad..24a7e32dc 100644 --- a/config/webpacker.yml +++ b/config/webpacker.yml @@ -41,7 +41,7 @@ development:      public: localhost:3035      hmr: false      # Inline should be set to true if using HMR -    inline: true +    inline: false      overlay: true      disable_host_check: true      use_local_ip: false diff --git a/package.json b/package.json index 262d80b97..ef956105c 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,10 @@      "clean-webpack-plugin": "^0.1.18",      "coffee-loader": "^0.9.0",      "coffeescript": "1.12.7", +    "es6-symbol": "^3.1.1",      "jquery": "3.2.1",      "lodash": "4.17.4", +    "polyfill-array-includes": "^1.0.0",      "promise-polyfill": "7.0.0",      "prop-types": "^15.6.0",      "react": "16.2.0", @@ -24,7 +26,7 @@      "redux-promise": "0.5.3",      "redux-thunk": "2.2.0",      "uglify-js": "3.3.2", -    "whatwg-fetch": "2.0.3" +    "whatwg-fetch": "^2.0.4"    },    "license": "MIT",    "engines": { @@ -4719,6 +4719,10 @@ pn@^1.0.0:    version "1.1.0"    resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" +polyfill-array-includes@^1.0.0: +  version "1.0.0" +  resolved "https://registry.yarnpkg.com/polyfill-array-includes/-/polyfill-array-includes-1.0.0.tgz#3dda070475859e99d653acf06ec3622cc76f8430" +  portfinder@^1.0.9:    version "1.0.13"    resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" @@ -6777,10 +6781,14 @@ whatwg-encoding@^1.0.1:    dependencies:      iconv-lite "0.4.13" -whatwg-fetch@2.0.3, whatwg-fetch@>=0.10.0: +whatwg-fetch@>=0.10.0:    version "2.0.3"    resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" +whatwg-fetch@^2.0.4: +  version "2.0.4" +  resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" +  whatwg-url@^6.3.0:    version "6.4.0"    resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.4.0.tgz#08fdf2b9e872783a7a1f6216260a1d66cc722e08" | 
