1
1
import React , { Component , PropTypes } from 'react' ;
2
2
import { connect } from 'react-redux' ;
3
3
import NumberPicker from '../components/NumberPicker' ;
4
+ import Preset from '../components/Preset' ;
4
5
import NumberList from '../components/NumberList' ;
5
6
import WorkingMessage from '../components/WorkingMessage' ;
6
7
import { setNumberEntry } from '../actions/numberentry' ;
@@ -11,6 +12,7 @@ class App extends Component {
11
12
super ( props ) ;
12
13
this . handleNumberEntryChange = this . handleNumberEntryChange . bind ( this ) ;
13
14
this . handleNumberEntrySubmit = this . handleNumberEntrySubmit . bind ( this ) ;
15
+ this . handlePresetClick = this . handlePresetClick . bind ( this ) ;
14
16
}
15
17
16
18
handleNumberEntryChange ( e ) {
@@ -25,9 +27,13 @@ class App extends Component {
25
27
this . props . dispatch ( addQueueNumber ( numberEntry ) ) ;
26
28
}
27
29
30
+ handlePresetClick ( preset ) {
31
+ this . props . dispatch ( addQueueNumber ( preset ) ) ;
32
+ }
33
+
28
34
render ( ) {
29
35
const submitText = "Add Number" ;
30
- const { numberEntry, primes, nonPrimes, queue } = this . props ;
36
+ const { numberEntry, presets , primes, nonPrimes, queue } = this . props ;
31
37
let workMessage = < span > </ span > ;
32
38
33
39
if ( queue . length > 0 ) {
@@ -42,6 +48,15 @@ class App extends Component {
42
48
onChange = { this . handleNumberEntryChange }
43
49
onSubmit = { this . handleNumberEntrySubmit } />
44
50
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
+
45
60
< em > { workMessage } </ em >
46
61
47
62
< h2 > Primes</ h2 >
@@ -55,6 +70,7 @@ class App extends Component {
55
70
56
71
App . propTypes = {
57
72
numberEntry : PropTypes . string . isRequired ,
73
+ presets : PropTypes . array . isRequired ,
58
74
primes : PropTypes . array . isRequired ,
59
75
nonPrimes : PropTypes . array . isRequired ,
60
76
queue : PropTypes . array . isRequired ,
@@ -63,10 +79,11 @@ App.propTypes = {
63
79
64
80
function mapStateToProps ( state ) {
65
81
const { numberEntry, primeState } = state ;
66
- const { primes, nonPrimes, queue } = primeState ;
82
+ const { presets , primes, nonPrimes, queue } = primeState ;
67
83
68
84
return {
69
85
numberEntry,
86
+ presets,
70
87
primes,
71
88
nonPrimes,
72
89
queue
0 commit comments