You are on page 1of 2

class TaskView {

constructor() {

this.taskList = document.getElementById('task-list');

this.taskInput = document.getElementById('task-input');

this.addTaskForm = document.getElementById('add-task-form');

bindAddTask(handler) {

this.addTaskForm.addEventListener('submit', event => {

event.preventDefault();

const taskName = this.taskInput.value;

handler(taskName);

this.taskInput.value = '';

});

bindCompleteTask(handler) {

this.taskList.addEventListener('click', event => {

if (event.target.tagName === 'LI') {

const taskId = event.target.dataset.taskId;

handler(taskId);

});

bindDeleteTask(handler) {

this.taskList.addEventListener('click', event => {

if (event.target.classList.contains('delete-button')) {

const taskId = event.target.parentElement.dataset.taskId;


handler(taskId);

});

displayTasks(tasks) {

this.taskList.innerHTML = '';

tasks.forEach(task => {

const li = document.createElement('li');

li.dataset.taskId = task.id;

li.innerHTML = `

<span>${task.name}</span>

<button class="delete-button">Eliminar</button>

`;

if (task.completed) {

li.classList.add('completed');

this.taskList.appendChild(li);

});

You might also like