/
githubmirror
/
socket.io
Обзор
Документация
Войти
/
githubmirror
/
socket.io
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
examples/basic-crud-application/angular-client/src/app/app.component.ts
63 строки
1 KB
Damien Arrachequesne
docs(examples): upgrade basic-crud-application to Angular v17
21 ноя 2023, 16:15
Не верифицирован
21 ноя 2023, 16:15
3848280
Код
Авторство
О чём код?
import { Component } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RouterOutlet } from '@angular/router'; import {type Todo, TodoStore} from "./store"; import { FormControl, ReactiveFormsModule } from '@angular/forms'; @Component({ selector: 'app-root', standalone: true, imports: [CommonModule, RouterOutlet, ReactiveFormsModule], templateUrl: './app.component.html', styleUrl: './app.component.css', providers: [TodoStore] }) export class AppComponent { newTodoText = new FormControl(''); constructor(readonly todoStore: TodoStore) { } stopEditing(todo: Todo, editedTitle: string) { todo.title = editedTitle; todo.editing = false; } cancelEditingTodo(todo: Todo) { todo.editing = false; } updateEditingTodo(todo: Todo, editedTitle: string) { editedTitle = editedTitle.trim(); todo.editing = false; if (editedTitle.length === 0) { return this.todoStore.remove(todo); } todo.title = editedTitle; } editTodo(todo: Todo) { todo.editing = true; } removeCompleted() { this.todoStore.removeCompleted(); } toggleCompletion(todo: Todo) { this.todoStore.toggleCompletion(todo); } remove(todo: Todo){ this.todoStore.remove(todo); } addTodo() { if (this.newTodoText.value?.trim().length) { this.todoStore.add(this.newTodoText.value!); this.newTodoText.setValue(''); } } }