Advertisement
zerinol

Untitled

Jul 7th, 2020
428
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { Component } from "react";
  2.  
  3. export default class CreateTodo extends Component {
  4.     constructor(props) {
  5.         super(props);
  6.  
  7.         this.onChangeTodoDescription = this.onChangeTodoDescription.bind(this);
  8.         this.onChangeTodoResponsible = this.onChangeTodoResponsible.bind(this);
  9.         this.onChangeTodoPriority = this.onChangeTodoPriority.bind(this);
  10.         this.onSubmit = this.onSubmit.bind(this);
  11.  
  12.         this.state = {
  13.             todoDescription: "",
  14.             todoResponsible: "",
  15.             todoPriority: "",
  16.             todoCompleted: false,
  17.         };
  18.     }
  19.  
  20.     onChangeTodoDescription(e) {
  21.         this.setState({
  22.             todoDescription: e.target.value,
  23.         });
  24.     }
  25.  
  26.     onChangeTodoResponsible(e) {
  27.         this.setState({
  28.             todoResponsible: e.target.value,
  29.         });
  30.     }
  31.  
  32.     onChangeTodoPriority(e) {
  33.         this.setState({
  34.             todoPriority: e.target.value,
  35.         });
  36.     }
  37.  
  38.     onSubmit(e) {
  39.         e.preventDefault();
  40.  
  41.         console.log(`Form submitted:`);
  42.         console.log(`Todo Description: ${this.state.todoDescription}`);
  43.         console.log(`Todo Responsible: ${this.state.todoResponsible}`);
  44.         console.log(`Todo Priority: ${this.state.todoPriority}`);
  45.  
  46.         this.setState({
  47.             todoDescription: "",
  48.             todoResponsible: "",
  49.             todoPriority: "",
  50.             todoCompleted: false,
  51.         });
  52.     }
  53.  
  54.     render() {
  55.         return (
  56.             <div style={{ marginTop: 10 }}>
  57.                 <h3>Create New Todo</h3>
  58.                 <form onSubmit={this.onSubmit}>
  59.                     <div className="form-group">
  60.                         <label>Description: </label>
  61.                         <input
  62.                             type="text"
  63.                             className="form-control"
  64.                             value={this.state.todoDescription}
  65.                             onChange={this.onChangeTodoDescription}
  66.                         />
  67.                     </div>
  68.                     <div className="form-group">
  69.                         <label>Responsible: </label>
  70.                         <input
  71.                             type="text"
  72.                             className="form-control"
  73.                             value={this.state.todoResponsible}
  74.                             onChange={this.onChangeTodoResponsible}
  75.                         />
  76.                     </div>
  77.                     <div className="form-group">
  78.                         <div className="form-check form-check-inline">
  79.                             <input
  80.                                 className="form-check-input"
  81.                                 type="radio"
  82.                                 name="priorityOptions"
  83.                                 id="priorityLow"
  84.                                 value="Low"
  85.                                 checked={this.state.todoPriority === "Low"}
  86.                                 onChange={this.onChangeTodoPriority}
  87.                             />
  88.                             <label className="form-check-label">Low</label>
  89.                         </div>
  90.                         <div className="form-check form-check-inline">
  91.                             <input
  92.                                 className="form-check-input"
  93.                                 type="radio"
  94.                                 name="priorityOptions"
  95.                                 id="priorityMedium"
  96.                                 value="Medium"
  97.                                 checked={this.state.todoPriority === "Medium"}
  98.                                 onChange={this.onChangeTodoPriority}
  99.                             />
  100.                             <label className="form-check-label">Medium</label>
  101.                         </div>
  102.                         <div className="form-check form-check-inline">
  103.                             <input
  104.                                 className="form-check-input"
  105.                                 type="radio"
  106.                                 name="priorityOptions"
  107.                                 id="priorityHigh"
  108.                                 value="High"
  109.                                 checked={this.state.todoPriority === "High"}
  110.                                 onChange={this.onChangeTodoPriority}
  111.                             />
  112.                             <label className="form-check-label">High</label>
  113.                         </div>
  114.                     </div>
  115.                     <div className="form-group">
  116.                         <input
  117.                             type="submit"
  118.                             value="Create Todo"
  119.                             className="btn btn-primary"
  120.                         />
  121.                     </div>
  122.                 </form>
  123.             </div>
  124.         );
  125.     }
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement