11import React , { Component , PropTypes } from 'react' ;
22import { connect } from 'react-redux' ;
33import NumberPicker from '../components/NumberPicker' ;
4+ import Preset from '../components/Preset' ;
45import NumberList from '../components/NumberList' ;
56import WorkingMessage from '../components/WorkingMessage' ;
67import { setNumberEntry } from '../actions/numberentry' ;
@@ -11,6 +12,7 @@ class App extends Component {
1112 super ( props ) ;
1213 this . handleNumberEntryChange = this . handleNumberEntryChange . bind ( this ) ;
1314 this . handleNumberEntrySubmit = this . handleNumberEntrySubmit . bind ( this ) ;
15+ this . handlePresetClick = this . handlePresetClick . bind ( this ) ;
1416 }
1517
1618 handleNumberEntryChange ( e ) {
@@ -25,9 +27,13 @@ class App extends Component {
2527 this . props . dispatch ( addQueueNumber ( numberEntry ) ) ;
2628 }
2729
30+ handlePresetClick ( preset ) {
31+ this . props . dispatch ( addQueueNumber ( preset ) ) ;
32+ }
33+
2834 render ( ) {
2935 const submitText = "Add Number" ;
30- const { numberEntry, primes, nonPrimes, queue } = this . props ;
36+ const { numberEntry, presets , primes, nonPrimes, queue } = this . props ;
3137 let workMessage = < span > </ span > ;
3238
3339 if ( queue . length > 0 ) {
@@ -42,6 +48,15 @@ class App extends Component {
4248 onChange = { this . handleNumberEntryChange }
4349 onSubmit = { this . handleNumberEntrySubmit } />
4450
51+ < div >
52+ Presets:
53+ {
54+ presets . map ( ( preset ) => {
55+ return < Preset key = { preset } value = { preset } onClick = { ( e ) => { this . handlePresetClick ( preset ) ; } } /> ;
56+ } )
57+ }
58+ </ div >
59+
4560 < em > { workMessage } </ em >
4661
4762 < h2 > Primes</ h2 >
@@ -55,6 +70,7 @@ class App extends Component {
5570
5671App . propTypes = {
5772 numberEntry : PropTypes . string . isRequired ,
73+ presets : PropTypes . array . isRequired ,
5874 primes : PropTypes . array . isRequired ,
5975 nonPrimes : PropTypes . array . isRequired ,
6076 queue : PropTypes . array . isRequired ,
@@ -63,10 +79,11 @@ App.propTypes = {
6379
6480function mapStateToProps ( state ) {
6581 const { numberEntry, primeState } = state ;
66- const { primes, nonPrimes, queue } = primeState ;
82+ const { presets , primes, nonPrimes, queue } = primeState ;
6783
6884 return {
6985 numberEntry,
86+ presets,
7087 primes,
7188 nonPrimes,
7289 queue
0 commit comments