|
|
@@ -1,20 +1,25 @@ |
|
|
<div class="spt-container"> |
|
|
<div class="spt-container"> |
|
|
<div class="top-btn"> |
|
|
<div class="top-btn"> |
|
|
<button *ngIf="partner" class="btn btn-primary" (click)="openModalNewTask()">+ {{ 'basic.new-task' | translate }}</button> |
|
|
|
|
|
|
|
|
<button *ngIf="partner" class="btn btn-primary" (click)="openModalNewTask()"> |
|
|
|
|
|
+ {{ 'basic.new-task' | translate }} |
|
|
|
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
<app-paging #pagingComponent |
|
|
<app-paging #pagingComponent |
|
|
[getDataFunction]="getTasksData" |
|
|
[getDataFunction]="getTasksData" |
|
|
[dataSource]="dataSource" |
|
|
[dataSource]="dataSource" |
|
|
> |
|
|
> |
|
|
<div class="tasks-box"> |
|
|
<div class="tasks-box"> |
|
|
<div class="mb-3 mt-3 taskCompactModeBox" (click)="switchTaskDisplay()" [class.taskCompactMode]="taskCompactMode">Kompaktansicht</div> |
|
|
|
|
|
|
|
|
<div class="mb-3 mt-3 taskCompactModeBox" (click)="switchTaskDisplay()" |
|
|
|
|
|
[class.taskCompactMode]="taskCompactMode">Kompaktansicht |
|
|
|
|
|
</div> |
|
|
<div class="tasks pb-1" *ngFor="let task of tasks"> |
|
|
<div class="tasks pb-1" *ngFor="let task of tasks"> |
|
|
<div class="card p-3" *ngIf="taskCompactMode"> |
|
|
<div class="card p-3" *ngIf="taskCompactMode"> |
|
|
<div class="row pb-1"> |
|
|
<div class="row pb-1"> |
|
|
<div class="col-12"> |
|
|
<div class="col-12"> |
|
|
<div class="info-box"> |
|
|
<div class="info-box"> |
|
|
<span class="importance" [attr.data-importance]="task.prio"></span> |
|
|
<span class="importance" [attr.data-importance]="task.prio"></span> |
|
|
<span class="due-date pe-3">{{ task.dueAt | date:'dd.MM.YYYY':'GMT+0000' }}</span> |
|
|
|
|
|
|
|
|
<span class="due-date pe-3">{{ task.dueAt | date:'dd.MM.YYYY - HH:mm':'GMT+0000' }} |
|
|
|
|
|
Uhr</span> |
|
|
<h3 class="m-0 pe-3" *ngIf="task.partner"> |
|
|
<h3 class="m-0 pe-3" *ngIf="task.partner"> |
|
|
<app-linked-label [partner]="task.partner"></app-linked-label> |
|
|
<app-linked-label [partner]="task.partner"></app-linked-label> |
|
|
</h3> |
|
|
</h3> |
|
|
@@ -32,16 +37,19 @@ |
|
|
<h2 class="m-0">{{ task.headline }}</h2> |
|
|
<h2 class="m-0">{{ task.headline }}</h2> |
|
|
</div> |
|
|
</div> |
|
|
<div class="col-12 col-md-8"> |
|
|
<div class="col-12 col-md-8"> |
|
|
<p class="m-0 mb-3 mt-2" [innerHTML]="appHelperService.getSafeLongtext(task.description)"></p> |
|
|
|
|
|
|
|
|
<p class="m-0 mb-3 mt-2" |
|
|
|
|
|
[innerHTML]="appHelperService.getSafeLongtext(task.description)"></p> |
|
|
<span *ngIf="task.createdBy === currentUser?.id" class="position-absolute bi bi-pencil p-2" |
|
|
<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> |
|
|
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"> |
|
|
<div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> |
|
|
<span *ngIf="task.numTaskNotes !== undefined && task.numTaskNotes !== null && task.numTaskNotes > 0" role="button" class="spt-btn-low badge bg-secondary p-2 me-2" |
|
|
|
|
|
|
|
|
<span *ngIf="task.numTaskNotes !== undefined && task.numTaskNotes !== null && task.numTaskNotes > 0" |
|
|
|
|
|
role="button" class="spt-btn-low badge bg-secondary p-2 me-2" |
|
|
(click)="showTaskNotes(task)"> |
|
|
(click)="showTaskNotes(task)"> |
|
|
<ng-container |
|
|
<ng-container |
|
|
*ngIf="task.id && taskNotesVisibility.get(task.id)">{{ 'basic.hide-comments' | translate }}</ng-container> |
|
|
*ngIf="task.id && taskNotesVisibility.get(task.id)">{{ 'basic.hide-comments' | translate }}</ng-container> |
|
|
<ng-container |
|
|
<ng-container |
|
|
*ngIf="task.id && !taskNotesVisibility.get(task.id)">{{ 'basic.show-comments' | translate }} ({{task.numTaskNotes}})</ng-container> |
|
|
|
|
|
|
|
|
*ngIf="task.id && !taskNotesVisibility.get(task.id)">{{ 'basic.show-comments' | translate }} |
|
|
|
|
|
({{ task.numTaskNotes }})</ng-container> |
|
|
</span> |
|
|
</span> |
|
|
<span role="button" class="badge bg-secondary p-2" |
|
|
<span role="button" class="badge bg-secondary p-2" |
|
|
(click)="openModalNewTaskNote(task)">{{ 'basic.comment-it' | translate }}</span> |
|
|
(click)="openModalNewTaskNote(task)">{{ 'basic.comment-it' | translate }}</span> |
|
|
@@ -52,7 +60,7 @@ |
|
|
<div class="card p-3" *ngIf="!taskCompactMode"> |
|
|
<div class="card p-3" *ngIf="!taskCompactMode"> |
|
|
<div class="row"> |
|
|
<div class="row"> |
|
|
<div class="col-12 col-sm-6 col-lg-4"> |
|
|
<div class="col-12 col-sm-6 col-lg-4"> |
|
|
<span class="due-date">{{ task.dueAt | date:'dd.MM.YYYY':'GMT+0000' }}</span> |
|
|
|
|
|
|
|
|
<span class="due-date">{{ task.dueAt | date:'dd.MM.YYYY - HH:mm':'GMT+0000' }} Uhr</span> |
|
|
<h3 class="m-0" *ngIf="task.partner"> |
|
|
<h3 class="m-0" *ngIf="task.partner"> |
|
|
<app-linked-label [partner]="task.partner"></app-linked-label> |
|
|
<app-linked-label [partner]="task.partner"></app-linked-label> |
|
|
</h3> |
|
|
</h3> |
|
|
@@ -70,12 +78,14 @@ |
|
|
<span *ngIf="task.createdBy === currentUser?.id" class="position-absolute bi bi-pencil p-2" |
|
|
<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> |
|
|
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"> |
|
|
<div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> |
|
|
<span *ngIf="task.numTaskNotes !== undefined && task.numTaskNotes !== null && task.numTaskNotes > 0" role="button" class="spt-btn-low badge bg-secondary p-2 me-2" |
|
|
|
|
|
|
|
|
<span *ngIf="task.numTaskNotes !== undefined && task.numTaskNotes !== null && task.numTaskNotes > 0" |
|
|
|
|
|
role="button" class="spt-btn-low badge bg-secondary p-2 me-2" |
|
|
(click)="showTaskNotes(task)"> |
|
|
(click)="showTaskNotes(task)"> |
|
|
<ng-container |
|
|
<ng-container |
|
|
*ngIf="task.id && taskNotesVisibility.get(task.id)">{{ 'basic.hide-comments' | translate }}</ng-container> |
|
|
|
|
|
|
|
|
*ngIf="task.id && taskNotesVisibility.get(task.id)">{{ 'basic.hide-comments' | translate }}</ng-container> |
|
|
<ng-container |
|
|
<ng-container |
|
|
*ngIf="task.id && !taskNotesVisibility.get(task.id)">{{ 'basic.show-comments' | translate }} ({{task.numTaskNotes}})</ng-container> |
|
|
|
|
|
|
|
|
*ngIf="task.id && !taskNotesVisibility.get(task.id)">{{ 'basic.show-comments' | translate }} |
|
|
|
|
|
({{ task.numTaskNotes }})</ng-container> |
|
|
</span> |
|
|
</span> |
|
|
<span role="button" class="badge bg-secondary p-2" |
|
|
<span role="button" class="badge bg-secondary p-2" |
|
|
(click)="openModalNewTaskNote(task)">{{ 'basic.comment-it' | translate }}</span> |
|
|
(click)="openModalNewTaskNote(task)">{{ 'basic.comment-it' | translate }}</span> |
|
|
@@ -87,14 +97,15 @@ |
|
|
<div class="card spt-comments" *ngFor="let taskNote of taskNotes.get(task.id)"> |
|
|
<div class="card spt-comments" *ngFor="let taskNote of taskNotes.get(task.id)"> |
|
|
<div class="card-body"> |
|
|
<div class="card-body"> |
|
|
<div class="d-flex justify-content-between align-items-center"> |
|
|
<div class="d-flex justify-content-between align-items-center"> |
|
|
<p>{{ taskNote.createdAt | date:'dd.MM.YYYY' }}</p> |
|
|
|
|
|
<p>{{ taskNote.owner?.firstName }} {{ taskNote.owner?.lastName }}</p> |
|
|
<p>{{ taskNote.owner?.firstName }} {{ taskNote.owner?.lastName }}</p> |
|
|
|
|
|
<p>{{ taskNote.createdAt | date:'dd.MM.YYYY - HH:mm':'GMT+0000' }} Uhr</p> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
<p [innerHTML]="appHelperService.getSafeLongtext(taskNote.message)"></p> |
|
|
<p [innerHTML]="appHelperService.getSafeLongtext(taskNote.message)"></p> |
|
|
</div> |
|
|
</div> |
|
|
<span *ngIf="taskNote.owner === currentUser?.id" class="position-absolute bi bi-pencil p-2" |
|
|
<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> |
|
|
|
|
|
|
|
|
data-type="user-tool" data-action="edit" |
|
|
|
|
|
(click)="openModalEditTaskNote(taskNote)"></span> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|