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
})