article-delete-button.ts 717 B

123456789101112131415161718192021222324252627282930313233
  1. import { Component, EventEmitter, inject, Input, Output } from '@angular/core';
  2. import { Article } from '../bo/article';
  3. import { DataService } from '../data-service';
  4. import { NgClass } from '@angular/common';
  5. @Component({
  6. selector: 'is-article-delete-button',
  7. templateUrl: './article-delete-button.html',
  8. styleUrl: './article-delete-button.css',
  9. imports: [
  10. NgClass
  11. ],
  12. })
  13. export class ArticleDeleteButton {
  14. busy = false;
  15. dataService = inject(DataService);
  16. @Input({required: true})
  17. article!: Article;
  18. @Output()
  19. deleted = new EventEmitter();
  20. delete() {
  21. this.busy = true;
  22. this.dataService.deleteArticle(this.article.id).subscribe(() => {
  23. this.busy = false;
  24. this.deleted.emit();
  25. });
  26. }
  27. }