@@ -3,6 +3,7 @@ import { inject, observer, PropTypes } from 'mobx-react';
33import styled from 'styled-components' ;
44import FlatButton from 'material-ui/FlatButton' ;
55import RaisedButton from 'material-ui/RaisedButton' ;
6+ import { Switch } from '@material-ui/core' ;
67import DatePicker from 'material-ui/DatePicker' ;
78import TextField from 'material-ui/TextField' ;
89import RadioGroup from './RadioGroup' ;
@@ -13,7 +14,7 @@ import SelectTemplate from './SelectTemplate';
1314import SelectRuleTemplates from './SelectRuleTemplates' ;
1415import { componentsWithMapOptions } from '../stores/generatorStore' ;
1516import TerminalSelect from './TerminalSelect' ;
16- import LineSelect from './LineSelect' ;
17+ import { ObservedLineSelect , ObservedSingleLineSelect } from './LineSelect' ;
1718
1819const Root = styled . div `
1920 display: flex;
@@ -80,7 +81,11 @@ const Generator = props => {
8081 break ;
8182
8283 case 'StopRoutePlate' :
83- text = stopCount ;
84+ if ( generatorStore . useLineQuery && generatorStore . selectedRoutePlateLine ) {
85+ text = 1 ;
86+ } else {
87+ text = stopCount ;
88+ }
8489 break ;
8590
8691 default :
@@ -124,6 +129,22 @@ const Generator = props => {
124129 />
125130 </ div >
126131 ) }
132+ { generatorStore . component === 'StopRoutePlate' && (
133+ < div style = { { marginLeft : '20px' } } >
134+ < span style = { { opacity : generatorStore . useLineQuery ? 0.4 : 1.0 } } >
135+ Pysäkkihaku
136+ </ span >
137+ < Switch
138+ checked = { generatorStore . useLineQuery }
139+ onChange = { ( ) => generatorStore . toggleUseLineQuery ( ) }
140+ color = "primary"
141+ inputProps = { { 'aria-label' : 'Linjahaku' } }
142+ className = "muiSwitch-toggle"
143+ style = { { color : '#0077c7' } }
144+ />
145+ < span style = { { opacity : generatorStore . useLineQuery ? 1.0 : 0.4 } } > Linjahaku</ span >
146+ </ div >
147+ ) }
127148 </ div >
128149 </ Column >
129150
@@ -211,7 +232,7 @@ const Generator = props => {
211232
212233 { generatorStore . component === 'LineTimetable' && (
213234 < Main >
214- < LineSelect
235+ < ObservedLineSelect
215236 setLineQuery = { commonStore . setLineQuery }
216237 lines = { commonStore . lines }
217238 lineQuery = { commonStore . lineQuery }
@@ -222,7 +243,20 @@ const Generator = props => {
222243 </ Main >
223244 ) }
224245
225- { generatorStore . component !== 'LineTimetable' && (
246+ { generatorStore . component === 'StopRoutePlate' && generatorStore . useLineQuery && (
247+ < Main >
248+ < ObservedSingleLineSelect
249+ setLineQuery = { commonStore . setLineQuery }
250+ lines = { commonStore . lines }
251+ lineQuery = { commonStore . lineQuery }
252+ selectedRoutePlateLine = { generatorStore . selectedRoutePlateLine }
253+ setSelectedRoutePlateLine = { generatorStore . setSelectedRoutePlateLine }
254+ clearSelectedRoutePlateLine = { generatorStore . clearSelectedRoutePlateLine }
255+ />
256+ </ Main >
257+ ) }
258+
259+ { generatorStore . component !== 'LineTimetable' && ! generatorStore . useLineQuery && (
226260 < div >
227261 < Main >
228262 < StopList
@@ -302,7 +336,7 @@ const Generator = props => {
302336 </ Row >
303337 ) }
304338
305- { generatorStore . component !== 'LineTimetable' && (
339+ { generatorStore . component !== 'LineTimetable' && ! generatorStore . useLineQuery && (
306340 < div >
307341 < h3 > Poissuodatettavat linjat</ h3 >
308342 < Row >
@@ -334,7 +368,10 @@ const Generator = props => {
334368 < RaisedButton
335369 data-cy = "generate-button"
336370 disabled = {
337- ( stopCount < 1 && generatorStore . component !== 'LineTimetable' ) ||
371+ ( stopCount < 1 &&
372+ generatorStore . component !== 'LineTimetable' &&
373+ ! generatorStore . useLineQuery ) ||
374+ ( generatorStore . useLineQuery && generatorStore . selectedRoutePlateLine === null ) ||
338375 ! generatorStore . buildId ||
339376 ( generatorStore . component === 'TerminalPoster' && generatorStore . terminalId === '' ) ||
340377 ( generatorStore . component === 'LineTimetable' && generatorStore . lineId === '' ) ||
0 commit comments