|
@@ -1,5 +1,10 @@
|
|
|
import React, { Component } from "react";
|
|
|
-import { View, Text, StyleSheet, Platform } from "react-native";
|
|
|
+import {
|
|
|
+ Platform,
|
|
|
+ StyleSheet,
|
|
|
+ Text,
|
|
|
+ View
|
|
|
+} from "react-native";
|
|
|
import Header from "./header";
|
|
|
import Footer from "./footer";
|
|
|
|
|
@@ -22,10 +27,12 @@ class App extends Component {
|
|
|
constructor(props) {
|
|
|
super(props);
|
|
|
this.state = {
|
|
|
- value: "",
|
|
|
- items: []
|
|
|
+ allComplete: false,
|
|
|
+ items: [],
|
|
|
+ value: ""
|
|
|
};
|
|
|
this.handleAddItem = this.handleAddItem.bind(this);
|
|
|
+ this.handleToggleAllComplete = this.handleToggleAllComplete.bind(this);
|
|
|
}
|
|
|
|
|
|
handleAddItem() {
|
|
@@ -46,6 +53,19 @@ class App extends Component {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ handleToggleAllComplete() {
|
|
|
+ const complete = !this.state.allComplete;
|
|
|
+ const newItems = this.state.items.map((item) => ({
|
|
|
+ ...item,
|
|
|
+ complete
|
|
|
+ }));
|
|
|
+ console.table(newItems);
|
|
|
+ this.setState({
|
|
|
+ allComplete: complete,
|
|
|
+ items: newItems
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
render() {
|
|
|
console.log(this.state);
|
|
|
return (
|
|
@@ -53,6 +73,7 @@ class App extends Component {
|
|
|
<Header
|
|
|
onAddItem={this.handleAddItem}
|
|
|
onChange={(value) => this.setState({ value })}
|
|
|
+ onToggleAllComplete={this.handleToggleAllComplete}
|
|
|
value={this.state.value}
|
|
|
/>
|
|
|
<View style={styles.content} />
|