Skip to content
Snippets Groups Projects

Development

Merged Ghost User requested to merge development into testing
2 files
+ 68
26
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 43
6
@@ -3,21 +3,58 @@ import React from 'react';
@@ -3,21 +3,58 @@ import React from 'react';
import TaskItem from './TaskItem';
import TaskItem from './TaskItem';
class TaskList extends React.Component{
class TaskList extends React.Component{
 
constructor(props){
 
super(props);
 
this.state = {
 
taskName: "",
 
taskDescription: "",
 
tasks: [{
 
name: "asd",
 
description: "qweqweqwsd a dasdsa dsada asda sdas cverfer "
 
}]
 
}
 
}
 
 
handleTaskCreation = (e) => {
 
if(this.state.taskName !== ""){
 
console.log(`"${this.state.taskName}" task created :)`);
 
this.setState((state) => {
 
var tasks = state.tasks;
 
tasks.push({name: state.taskName, description: state.taskDescription});
 
var object = {
 
taskName: "",
 
taskDescription: "",
 
tasks: tasks
 
}
 
return object;
 
});
 
}
 
else{
 
console.log("Task needs a name!");
 
}
 
}
 
render(){
render(){
let token = sessionStorage.getItem('token');
let token = sessionStorage.getItem('token');
 
let tasks = [];
 
for (let i = 0; i < this.state.tasks.length; i++) {
 
const task = this.state.tasks[i];
 
tasks.push(
 
<TaskItem key={i} text={task.name} description={task.description}/>
 
);
 
}
 
return ReactDOM.createPortal(
return ReactDOM.createPortal(
<div className='tasklist'>
<div className='tasklist'>
{token &&
{token &&
<div className='task-form'>
<div className='task-form'>
<input type='text' placeholder='Task name'></input>
<input type='text' placeholder='Task name' value={this.state.taskName} onChange={(e) => this.setState({taskName: e.target.value})}></input>
<textarea placeholder='Task description'></textarea>
<textarea placeholder='Task description' value={this.state.taskDescription} onChange={(e) => this.setState({taskDescription: e.target.value})}></textarea>
<button>Add new task</button>
<button onClick={this.handleTaskCreation}>Add new task</button>
</div>
</div>
}
}
<TaskItem text='asd' description='asudhaiud'/>
{tasks}
<TaskItem text='asd2' description='q7213761923769821'/>
<TaskItem text='asd3' description='tehtävä3'/>
</div>,
</div>,
document.getElementById('tasklist')
document.getElementById('tasklist')
);
);
Loading