summaryrefslogtreecommitdiffstats
path: root/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.js b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.js
new file mode 100644
index 0000000000..9f192399d9
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.js
@@ -0,0 +1,25 @@
+import React, { PropTypes, Component } from 'react'
+import TodoTextInput from './TodoTextInput'
+
+export default class Header extends Component {
+ static propTypes = {
+ addTodo: PropTypes.func.isRequired
+ }
+
+ handleSave = text => {
+ if (text.length !== 0) {
+ this.props.addTodo(text)
+ }
+ }
+
+ render() {
+ return (
+ <header className="header">
+ <h1>todos</h1>
+ <TodoTextInput newTodo
+ onSave={this.handleSave}
+ placeholder="What needs to be done?" />
+ </header>
+ )
+ }
+}