|
|
@@ -7,51 +7,52 @@ |
|
|
[getDataFunction]="getData" |
|
|
[getDataFunction]="getData" |
|
|
[dataSource]="dataSource" |
|
|
[dataSource]="dataSource" |
|
|
> |
|
|
> |
|
|
<div class="tasks mb-3" *ngFor="let task of tasks"> |
|
|
|
|
|
<div class="card p-3"> |
|
|
|
|
|
<div class="position-relative"> |
|
|
|
|
|
<h3 class="m-0" *ngIf="task.partner"><a href="/{{task.partnerType}}/{{this.appHelperService.extractId(task.partner)}}">{{task.partnerName}}</a></h3> |
|
|
|
|
|
<h3 class="m-0" *ngIf="task.product"><a href="/product/{{this.appHelperService.extractId(task.product)}}">{{task.productName}}</a></h3> |
|
|
|
|
|
<span class="info d-flex position-absolute"> |
|
|
|
|
|
|
|
|
<div class="tasks-box"> |
|
|
|
|
|
<div class="tasks pb-1" *ngFor="let task of tasks"> |
|
|
|
|
|
<div class="card p-3"> |
|
|
|
|
|
<div class="row"> |
|
|
|
|
|
<div class="col-4"> |
|
|
<span class="due-date">{{ task.dueAt | date:'dd.MM.YYYY':'GMT+0000' }}</span> |
|
|
<span class="due-date">{{ task.dueAt | date:'dd.MM.YYYY':'GMT+0000' }}</span> |
|
|
|
|
|
<h3 class="m-0" *ngIf="task.partner"><a href="/{{task.partnerType}}/{{this.appHelperService.extractId(task.partner)}}">{{task.partnerName}}</a></h3> |
|
|
|
|
|
<h3 class="m-0" *ngIf="task.product"><a href="/product/{{this.appHelperService.extractId(task.product)}}">{{task.productName}}</a></h3> |
|
|
|
|
|
<p>Zugewiesen an: {{ task.assignedToName }}</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="spt-border col-8"> |
|
|
<span class="importance" [attr.data-importance]="task.prio"></span> |
|
|
<span class="importance" [attr.data-importance]="task.prio"></span> |
|
|
</span> |
|
|
|
|
|
<h2 class="m-0">{{ task.headline }}</h2> |
|
|
|
|
|
<div class="pt-3 pe-5 position-relative"> |
|
|
|
|
|
<p class="m-0" [innerHTML]="appHelperService.getSafeLongtext(task.description)"></p> |
|
|
|
|
|
<p>Zugewiesen an: {{ task.assignedToName }}</p> |
|
|
|
|
|
<span *ngIf="task.createdBy === currentUser?.id" class="position-absolute bi bi-pencil p-2" |
|
|
|
|
|
data-type="user-tool" data-action="edit" (click)="openModalEditTask(task)"></span> |
|
|
|
|
|
|
|
|
<h2 class="m-0">{{ task.headline }}</h2> |
|
|
|
|
|
<p class="m-0" [innerHTML]="appHelperService.getSafeLongtext(task.description)"></p> |
|
|
|
|
|
<span *ngIf="task.createdBy === currentUser?.id" class="position-absolute bi bi-pencil p-2" |
|
|
|
|
|
data-type="user-tool" data-action="edit" (click)="openModalEditTask(task)"></span> |
|
|
|
|
|
<div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> |
|
|
|
|
|
<span *ngIf="task.taskNotes?.length !== 0" role="button" class="spt-btn-low badge bg-secondary p-2 me-2" |
|
|
|
|
|
(click)="showTaskNotes(task)"> |
|
|
|
|
|
<ng-container |
|
|
|
|
|
*ngIf="task.id && taskNotesVisibility.get(task.id)">{{ 'basic.hide-comments' | translate }}</ng-container> |
|
|
|
|
|
<ng-container |
|
|
|
|
|
*ngIf="task.id && !taskNotesVisibility.get(task.id)">{{ 'basic.show-comments' | translate }}</ng-container> |
|
|
|
|
|
</span> |
|
|
|
|
|
<span role="button" class="badge bg-secondary p-2" |
|
|
|
|
|
(click)="openModalNewTaskNote(task)">{{ 'basic.comment-it' | translate }}</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div *ngIf="task.id && taskNotesVisibility.get(task.id)"> |
|
|
|
|
|
<div class="card ms-5" *ngFor="let taskNote of task.taskNotes"> |
|
|
|
|
|
<div class="card-body"> |
|
|
|
|
|
<div class="d-flex justify-content-between align-items-center"> |
|
|
|
|
|
<p>{{ taskNote.createdAt | date:'dd.MM.YYYY' }}</p> |
|
|
|
|
|
<p>{{ taskNote.ownerName }}</p> |
|
|
|
|
|
|
|
|
<div *ngIf="task.id && taskNotesVisibility.get(task.id)" class="pb-1"> |
|
|
|
|
|
<div class="card spt-comments" *ngFor="let taskNote of task.taskNotes"> |
|
|
|
|
|
<div class="card-body"> |
|
|
|
|
|
<div class="d-flex justify-content-between align-items-center"> |
|
|
|
|
|
<p>{{ taskNote.createdAt | date:'dd.MM.YYYY' }}</p> |
|
|
|
|
|
<p>{{ taskNote.ownerName }}</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div> |
|
|
|
|
|
<p>{{ taskNote.message }}</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<span *ngIf="taskNote.owner === currentUser?.id" class="position-absolute bi bi-pencil p-2" |
|
|
|
|
|
data-type="user-tool" data-action="edit" (click)="openModalEditTaskNote(taskNote)"></span> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
|
|
|
<p>{{ taskNote.message }}</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<span *ngIf="taskNote.owner === currentUser?.id" class="position-absolute bi bi-pencil p-2" |
|
|
|
|
|
data-type="user-tool" data-action="edit" (click)="openModalEditTaskNote(taskNote)"></span> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="d-flex justify-content-end mt-1"> |
|
|
|
|
|
<span *ngIf="task.taskNotes?.length !== 0" role="button" class="badge bg-secondary p-2 me-2" |
|
|
|
|
|
(click)="showTaskNotes(task)"> |
|
|
|
|
|
<ng-container |
|
|
|
|
|
*ngIf="task.id && taskNotesVisibility.get(task.id)">{{ 'basic.hide-comments' | translate }}</ng-container> |
|
|
|
|
|
<ng-container |
|
|
|
|
|
*ngIf="task.id && !taskNotesVisibility.get(task.id)">{{ 'basic.show-comments' | translate }}</ng-container> |
|
|
|
|
|
</span> |
|
|
|
|
|
<span role="button" class="badge bg-secondary p-2" |
|
|
|
|
|
(click)="openModalNewTaskNote(task)">{{ 'basic.comment-it' | translate }}</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</app-paging> |
|
|
</app-paging> |
|
|
</div> |
|
|
</div> |