diff --git a/src/app/todo/table/filter/filter.component.css b/src/app/todo/table/filter/filter.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/todo/table/filter/filter.component.html b/src/app/todo/table/filter/filter.component.html new file mode 100644 index 0000000..ed60522 --- /dev/null +++ b/src/app/todo/table/filter/filter.component.html @@ -0,0 +1,4 @@ + diff --git a/src/app/todo/table/table-filter.component.ts b/src/app/todo/table/filter/filter.component.ts similarity index 52% rename from src/app/todo/table/table-filter.component.ts rename to src/app/todo/table/filter/filter.component.ts index c766b86..148509d 100644 --- a/src/app/todo/table/table-filter.component.ts +++ b/src/app/todo/table/filter/filter.component.ts @@ -1,22 +1,17 @@ -import {Component, EventEmitter, inject, Output} from "@angular/core"; -import {TodoService} from "../todo.service"; +import {Component, EventEmitter, inject, Output} from '@angular/core'; import {NgForOf} from "@angular/common"; - +import {TodoService} from "../../todo.service"; @Component({ - standalone: true, selector: 'app-table-filter', - imports: [ - NgForOf - ], - template: ` - - ` + standalone: true, + imports: [ + NgForOf + ], + templateUrl: './filter.component.html', + styleUrl: './filter.component.css' }) -export class TableFilterComponent { +export class FilterComponent { todoService: TodoService = inject(TodoService); diff --git a/src/app/todo/table/row/row.component.css b/src/app/todo/table/row/row.component.css new file mode 100644 index 0000000..92d692c --- /dev/null +++ b/src/app/todo/table/row/row.component.css @@ -0,0 +1,3 @@ +:host { + display: contents; +} diff --git a/src/app/todo/table/row/row.component.html b/src/app/todo/table/row/row.component.html new file mode 100644 index 0000000..18f7f3d --- /dev/null +++ b/src/app/todo/table/row/row.component.html @@ -0,0 +1,11 @@ + + +{{ todo.id }} +{{ todo.title }} +{{ todo.dueDate }} +{{ todo.category }} + + + diff --git a/src/app/todo/table/row/row.component.ts b/src/app/todo/table/row/row.component.ts new file mode 100644 index 0000000..ade54b7 --- /dev/null +++ b/src/app/todo/table/row/row.component.ts @@ -0,0 +1,31 @@ +import {Component, EventEmitter, inject, Input, Output} from '@angular/core'; +import {NgIf} from "@angular/common"; +import {Todo} from "../../todo"; +import {SettingsService} from "../../../settings/settings.service"; + +@Component({ + selector: 'app-row', + standalone: true, + imports: [ + NgIf + ], + templateUrl: './row.component.html', + styleUrl: './row.component.css' +}) +export class RowComponent { + @Input() + todo!: Todo; + + @Output() + _deleteTodo: EventEmitter = new EventEmitter; + + settingsService: SettingsService = inject(SettingsService); + + get displayDeleteButton(): boolean { + return this.settingsService.settings.displayDeleteButton; + } + + deleteTodo(todo: Todo): void { + this._deleteTodo.emit(todo); + } +} diff --git a/src/app/todo/table/todo-table.component.html b/src/app/todo/table/todo-table.component.html index 047ad24..f6e2393 100644 --- a/src/app/todo/table/todo-table.component.html +++ b/src/app/todo/table/todo-table.component.html @@ -19,17 +19,7 @@ - - - {{ todo.id }} - {{ todo.title }} - {{ todo.dueDate }} - {{ todo.category }} - - - + diff --git a/src/app/todo/table/todo-table.component.ts b/src/app/todo/table/todo-table.component.ts index f2a7991..6b51c95 100644 --- a/src/app/todo/table/todo-table.component.ts +++ b/src/app/todo/table/todo-table.component.ts @@ -2,9 +2,10 @@ import {Component, inject, OnInit} from "@angular/core"; import {TodoService} from "../todo.service"; import {Todo} from "../todo"; import {NgForOf, NgIf} from "@angular/common"; -import {TableFilterComponent} from "./table-filter.component"; import {SettingsService} from "../../settings/settings.service"; import {Router} from "@angular/router"; +import {FilterComponent} from "./filter/filter.component"; +import {RowComponent} from "./row/row.component"; @Component({ @@ -12,8 +13,9 @@ import {Router} from "@angular/router"; templateUrl: './todo-table.component.html', imports: [ NgForOf, - TableFilterComponent, NgIf, + FilterComponent, + RowComponent, ], standalone: true })