You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

62 line
3.6 KiB

  1. <div class="spt-container">
  2. <div class="spt-accordion">
  3. <div class="d-flex justify-content-between align-items-start">
  4. <h2>{{'basic.tasks' | translate}}</h2>
  5. <button class="btn btn-primary" (click)="openModalNewTask()">{{'basic.new-task' | translate}}</button>
  6. </div>
  7. <div class="tasks mb-3" *ngFor="let task of tasks">
  8. <div class="card p-3">
  9. <div class="position-relative" data-bs-toggle="collapse" [attr.data-bs-target]="'#collapse-' + ApiConverter.extractId(task.id)"
  10. aria-expanded="false"
  11. aria-controls="collapseExample">
  12. <h3 class="m-0">{{task.partnerName}}</h3>
  13. <span class="info d-flex position-absolute">
  14. <span class="due-date">{{ task.dueAt | date:'dd.MM.YYYY':'GMT+0000' }}</span>
  15. <span class="importance" [attr.data-importance]="task.prio"></span>
  16. </span>
  17. <h2 class="m-0">{{task.headline}}</h2>
  18. </div>
  19. <div class="collapse" id="collapse-{{ApiConverter.extractId(task.id)}}">
  20. <div class="pt-3 pe-5 position-relative">
  21. <p class="m-0">{{task.description}}</p>
  22. <p>Zugewiesen an: {{task.assignedToName}}</p>
  23. <span *ngIf="task.createdBy === user?.id" class="position-absolute bi bi-pencil p-2"
  24. data-type="user-tool" data-action="edit" (click)="openModalEditTask(task)"></span>
  25. </div>
  26. </div>
  27. </div>
  28. <div *ngIf="task.id && taskNotesVisibility.get(task.id)">
  29. <div class="card ms-5" *ngFor="let taskNote of task.taskNotes">
  30. <div class="card-body">
  31. <div class="d-flex justify-content-between align-items-center">
  32. <p>{{ taskNote.createdAt | date:'dd.MM.YYYY HH:mm' }}</p>
  33. <p>{{ taskNote.ownerName }}</p>
  34. </div>
  35. <div>
  36. <p>{{ taskNote.message }}</p>
  37. </div>
  38. <span *ngIf="taskNote.owner === user?.id" class="position-absolute bi bi-pencil p-2"
  39. data-type="user-tool" data-action="edit" (click)="openModalEditTaskNote(taskNote)"></span>
  40. </div>
  41. </div>
  42. </div>
  43. <div class="d-flex justify-content-end mt-1">
  44. <span *ngIf="task.taskNotes?.length !== 0" role="button" class="badge bg-secondary p-2 me-2"
  45. (click)="showTaskNotes(task)">
  46. <ng-container *ngIf="task.id && taskNotesVisibility.get(task.id)">{{ 'basic.hide-comments' | translate }}</ng-container>
  47. <ng-container *ngIf="task.id && !taskNotesVisibility.get(task.id)">{{ 'basic.show-comments' | translate }}</ng-container>
  48. </span>
  49. <span role="button" class="badge bg-secondary p-2" (click)="openModalNewTaskNote(task)">{{'basic.comment-it' | translate}}</span>
  50. </div>
  51. </div>
  52. <mat-paginator *ngIf="tasks.length > 0" class="rounded-1"
  53. [pageSizeOptions]="[10,20,30]"
  54. [length]="tasksLength"
  55. (page)="tasksHandlePageEvent($event)"
  56. [pageSize]="tasksPageSize"
  57. [pageIndex]="tasksPageIndex"
  58. showFirstLastButtons>
  59. </mat-paginator>
  60. </div>
  61. </div>