Guest User

react Todo Base Component

a guest
Sep 6th, 2021
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { useEffect, useState } from "react";
  2. import "./CentralPane.css";
  3. import FormAdder from "../FormAdder/FormAdder.jsx";
  4. import ToDoPane from "../ToDoPane/ToDoPane";
  5. import SearchBar from "../SearchBar/SearchBar";
  6.  
  7. export default function CentralPane() {
  8.   const [items, setitems] = useState([
  9.     { id: 0, title: "Buy Milk" },
  10.     { id: 1, title: "Buy Toast" },
  11.   ]);
  12.   const [deletedItems, setdeletedItems] = useState([
  13.     { id: 0, title: "Buy Coffee" },
  14.   ]);
  15.   const [searchValue, setsearchValue] = React.useState("");
  16.  
  17.   // useEffect(() => {
  18.   //   if (items.length) {
  19.   //     console.log(items);
  20.   //   }
  21.   //   console.log(deletedItems);
  22.   // });
  23.   const addItem = (newItem) => {
  24.     const newItemObject = {
  25.       id: items.length,
  26.       title: newItem,
  27.     };
  28.     deleteFromDeletedItems(newItemObject);
  29.     return setitems((prevState) => [...prevState, newItemObject]);
  30.   };
  31.   const deleteItem = (deleteItem) => {
  32.     console.log("Yhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", deleteItem);
  33.     return setitems((prevState) =>
  34.       prevState.filter((ele) => ele.title !== deleteItem.title)
  35.     );
  36.   };
  37.   const addToDeletedItems = (newItem) => {
  38.     const newItemObject = {
  39.       id: deletedItems.length,
  40.       title: newItem,
  41.     };
  42.     deleteItem(newItemObject);
  43.     return setdeletedItems((prevState) => [...prevState, newItemObject]);
  44.   };
  45.   const deleteFromDeletedItems = (deleteItem) => {
  46.     return setdeletedItems((prevState) =>
  47.       prevState.filter((ele) => ele.title !== deleteItem.title)
  48.     );
  49.   };
  50.   const editItem = (findItem, newTitle) => {
  51.     for (let i = 0; i < items.length; i++) {
  52.       if (items[i] === findItem) {
  53.         items[i].title = newTitle;
  54.       }
  55.     }
  56.     setitems([...items]);
  57.   };
  58.   const [content, setContent] = React.useState();
  59.   const handleChange = (val) => {
  60.     setsearchValue(val,()=>display());
  61.   };
  62.  
  63.   function display(props) {
  64.     if (props.searchValue !== -1) {
  65.       return
  66.    
  67.     } else {
  68.       return ;
  69.     }
  70.   }
  71.   return (
  72.     <div className="centralPane">
  73.       <FormAdder addFunc={addItem} />
  74.       <SearchBar searchValue={searchValue} handleChangeFunc={handleChange} />
  75.       {/* <display searchValue={searchValue}/> */}
  76.  
  77.       <div>
  78.       {items.map((item) => (
  79.         <ToDoPane
  80.           item={item}
  81.           delFunc={deleteItem}
  82.           done={addToDeletedItems}
  83.           edit={editItem}
  84.         />
  85.       ))}
  86.       <div className="doneWalaDiv">
  87.         {deletedItems.map((item) => (
  88.           <ToDoPane
  89.             item={item}
  90.             delFunc={deleteFromDeletedItems}
  91.             done={addItem}
  92.             edit={editItem}
  93.             type="checked"
  94.           />
  95.         ))}
  96.       </div>
  97.     </div>
  98.  
  99.  
  100.     {/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */}
  101.     </div>
  102.   );
  103. }
  104.  
Advertisement
Add Comment
Please, Sign In to add comment