Skip to content
This repository was archived by the owner on Feb 11, 2021. It is now read-only.

Commit e4b96fd

Browse files
committed
Add WorkingMessage component
Add a "Working" message for those numbers in the queue.
1 parent daa0a6c commit e4b96fd

File tree

2 files changed

+35
-4
lines changed

2 files changed

+35
-4
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import React, { Component, PropTypes } from 'react';
2+
3+
export default class WorkingMessage extends Component {
4+
render() {
5+
const { count, itemType } = this.props;
6+
7+
return (
8+
<span>
9+
Working on { count } { itemType }(s).
10+
</span>
11+
);
12+
}
13+
}
14+
15+
WorkingMessage.propTypes = {
16+
count: PropTypes.number.isRequired,
17+
itemType: PropTypes.string.isRequired
18+
};
19+

examples/simple/containers/App.jsx

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React, { Component, PropTypes } from 'react';
22
import { connect } from 'react-redux';
33
import NumberPicker from '../components/NumberPicker';
44
import NumberList from '../components/NumberList';
5+
import WorkingMessage from '../components/WorkingMessage';
56
import { setNumberEntry } from '../actions/numberentry';
67
import { addNumber } from '../actions/primes';
78

@@ -26,14 +27,23 @@ class App extends Component {
2627

2728
render() {
2829
const submitText = "Add Number";
29-
const { numberEntry, primes, nonPrimes } = this.props;
30+
const { numberEntry, primes, nonPrimes, queue } = this.props;
31+
let workMessage = <span> &nbsp; </span>;
32+
33+
if ( queue.length > 0 ) {
34+
workMessage = <WorkingMessage count={ queue.length } itemType="number" />;
35+
}
3036

3137
return (
3238
<div>
39+
<h1>Calculate Prime Numbers</h1>
3340
<NumberPicker submitText={ submitText }
3441
value={ numberEntry }
3542
onChange={ this.handleNumberEntryChange }
36-
onSubmit={ this.handleNumberEntrySubmit } />
43+
onSubmit={ this.handleNumberEntrySubmit } />
44+
45+
<em>{ workMessage }</em>
46+
3747
<h2>Primes</h2>
3848
<NumberList numbers={ primes } />
3949
<h2>Non-Primes</h2>
@@ -47,17 +57,19 @@ App.propTypes = {
4757
numberEntry: PropTypes.string.isRequired,
4858
primes: PropTypes.array.isRequired,
4959
nonPrimes: PropTypes.array.isRequired,
60+
queue: PropTypes.array.isRequired,
5061
dispatch: PropTypes.func.isRequired
5162
};
5263

5364
function mapStateToProps( state ) {
5465
const { numberEntry, primeState } = state;
55-
const { primes, nonPrimes } = primeState;
66+
const { primes, nonPrimes, queue } = primeState;
5667

5768
return {
5869
numberEntry,
5970
primes,
60-
nonPrimes
71+
nonPrimes,
72+
queue
6173
};
6274
}
6375

0 commit comments

Comments
 (0)