projects.component.ts 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import { Component, DestroyRef, inject, Input } from '@angular/core';
  2. import { ProjectsService } from '../../services/projects.service';
  3. import { AsyncPipe } from '@angular/common';
  4. import { Project } from '../../models/project';
  5. import { ProjectComponent } from '../../components/project/project.component';
  6. import { HttpClient } from '@angular/common/http';
  7. import { CommonModule } from '@angular/common';
  8. import { NgFor } from '@angular/common';
  9. @Component({
  10. selector: 'app-projects',
  11. standalone: true,
  12. imports: [ProjectComponent, NgFor],
  13. templateUrl: './projects.component.html',
  14. styleUrl: './projects.component.css'
  15. })
  16. /*export class ProjectsComponent {
  17. private projectsService = inject(ProjectsService);
  18. private pageNumber = 1;
  19. private destroyRef = inject(DestroyRef)
  20. public projectsObs$ = this.projectsService.fetchAll(this.pageNumber);
  21. public projectsResults: Project[] = [];
  22. @Input() project!: Project;
  23. }*/
  24. /*export class ProjectsComponent {
  25. private projectsService = inject(ProjectsService);
  26. private pageNumber = 1;
  27. private destroyRef = inject(DestroyRef)
  28. public projectsObs$ = this.projectsService.fetchAll(this.pageNumber);
  29. public projectsResults: Project[] = [];
  30. ngOnInit(){
  31. this.projectsObs$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((data) => {
  32. this.projectsResults = data.results;
  33. });
  34. }
  35. onScroll(): void {
  36. this.pageNumber++;
  37. console.log("scrolled!!");
  38. this.projectsObs$ = this.projectsService.fetchAll(this.pageNumber);
  39. this.projectsObs$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((data) => {
  40. this.projectsResults = this.projectsResults.concat(data.results);
  41. });
  42. }
  43. }*/
  44. /*export class ProjectsComponent {
  45. data$ = this.http.get('http://localhost/API/projects/').pipe(
  46. map(data => ({ state: "loaded", data })),
  47. catchError(error => of({ state: "error", error })),
  48. startWith({state: "loading"})
  49. );
  50. }*/
  51. export class ProjectsComponent {
  52. title = 'projects';
  53. projects: Project[] = [];
  54. errorMessage!: string;
  55. constructor(private projects_service: ProjectsService) {}
  56. ngOnInit() {
  57. this.projects_service.getAllProjects().subscribe({
  58. next: (projects) => {
  59. this.projects = projects;
  60. console.log(this.projects);
  61. },
  62. error: (error) => {
  63. this.errorMessage = error;
  64. },
  65. });
  66. }
  67. }