Guest User

Untitled

a guest
Feb 18th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. const tasksListsArr = Object.entries(this.state.tasks).map(list => {
  2. return (
  3. <TasksList
  4. key={list[0]}
  5. listrole={list[0]}
  6. listTitle={this.state.Lists[list[0]]}
  7. tasks={list[1]}
  8. listTextChangedHandler={event => this.listTextChangedHandler(list[0], event)}
  9. addTaskHandler={() => this.addTaskHandler(list[0])}
  10. taskDeleteHandler={this.taskDeleteHandler}
  11. moveTaskHandler={this.moveTaskHandler}
  12. taskEditHandler={this.taskEditHandler}
  13. taskEditApprove={this.taskEditApprove}
  14. />
  15. )
  16. })
  17.  
  18. import React from "react"
  19. import classes from "./TasksList.module.css"
  20.  
  21. const TasksList = props => {
  22. const tasks = props.tasks.map(task => {
  23. const buttonLeft =
  24. !task.isEdit && (props.listrole === "inprogress" || props.listrole === "done") ? (
  25. <button onClick={() => props.moveTaskHandler(task.id, "left")}>left</button>
  26. ) : null
  27.  
  28. const buttonRight =
  29. !task.isEdit && (props.listrole === "inprogress" || props.listrole === "backlog") ? (
  30. <button onClick={() => props.moveTaskHandler(task.id, "right")}>right</button>
  31. ) : null
  32.  
  33. const taskUtils = task.isEdit ? null : (
  34. <div>
  35. <span onClick={() => props.taskDeleteHandler(props.listrole, task.id)}>X</span>
  36. <span onClick={() => props.taskEditHandler(props.listrole, task.id)}>edit</span>
  37. </div>
  38. )
  39.  
  40. const taskContent = task.isEdit ? (
  41. <div>
  42. <input
  43. type='text'
  44. onChange={event => props.listTextChangedHandler(props.listrole, event)}
  45. />
  46. <button onClick={props.taskEditApprove(props.listrole, task.id)}>OK</button>
  47. </div>
  48. ) : (
  49. <div>
  50. <div>{task.text}</div>
  51. </div>
  52. )
  53.  
  54. return (
  55. <div key={task.id} className={classes.Task}>
  56. {buttonLeft}
  57. {taskContent}
  58. {buttonRight}
  59. {taskUtils}
  60. </div>
  61. )
  62. })
  63. console.log(tasks)
  64.  
  65. return (
  66. <div className={classes.List}>
  67. <h2 className={classes.ListTitle}> {props.listTitle} </h2>
  68. <input type='text' onChange={props.listTextChangedHandler} placeholder='Add task...' />
  69. <button onClick={props.addTaskHandler}>+</button>
  70. <div className={classes.TasksList}>{tasks}</div>
  71. </div>
  72. )
  73. }
Add Comment
Please, Sign In to add comment