| @@ -1,13 +1,17 @@ | |||
| <span *ngIf="partner"> | |||
| <img src="/assets/images/icons/{{partner.partnerType}}.svg" class="icon-mini" alt="" /><a href="/{{partner.partnerType}}/{{this.appHelperService.extractId(partner.id)}}">{{partner.name}}</a> | |||
| <img src="/assets/images/icons/{{partner.partnerType}}.svg" class="icon-mini" alt=""/><a | |||
| href="/{{partner.partnerType}}/{{this.appHelperService.extractId(partner.id)}}">{{ partner.name }}</a> | |||
| </span> | |||
| <span *ngIf="product"> | |||
| <img src="/assets/images/icons/product.svg" class="icon-mini" alt="" /><a href="/product/{{this.appHelperService.extractId(product.id)}}">{{product.name}}</a> | |||
| <img src="/assets/images/icons/product.svg" class="icon-mini" alt=""/><a | |||
| href="/product/{{this.appHelperService.extractId(product.id)}}">{{ product.name }}</a> | |||
| </span> | |||
| <span *ngIf="contact"> | |||
| <!-- TODO: We need a Contact Icon --> | |||
| <img src="/assets/images/icons/user.svg" class="icon-mini" alt="" /><a href="/contact/{{this.appHelperService.extractId(contact.id)}}">{{contact.firstName}} {{contact.lastName}}</a> | |||
| <img src="/assets/images/icons/user.svg" class="icon-mini" alt=""/><a | |||
| href="/contact/{{this.appHelperService.extractId(contact.id)}}">{{ contact.firstName }} {{ contact.lastName }}</a> | |||
| </span> | |||
| <span *ngIf="user"> | |||
| <img src="/assets/images/icons/user.svg" class="icon-mini" alt="" /><a href="/user/{{this.appHelperService.extractId(user.id)}}">{{user.firstName}} {{user.lastName}}</a> | |||
| <img src="/assets/images/icons/user.svg" class="icon-mini" alt=""/><a | |||
| href="/user/{{this.appHelperService.extractId(user.id)}}">{{ user.firstName }} {{ user.lastName }}</a> | |||
| </span> | |||
| @@ -58,7 +58,7 @@ | |||
| sortActionDescription="{{ 'overview.sort' | translate }}: {{ 'overview.uploaded' | translate }}"> | |||
| {{ 'overview.uploaded' | translate }} | |||
| </th> | |||
| <td mat-cell *matCellDef="let element">{{ element.createdAt | date:'dd.MM.YYYY HH:mm' }} | |||
| <td mat-cell *matCellDef="let element">{{ element.createdAt | date:'dd.MM.YYYY - HH:mm':'GMT+0000' }} Uhr | |||
| </td> | |||
| </ng-container> | |||
| @@ -4,14 +4,15 @@ | |||
| <button class="btn btn-primary" (click)="openModalNewPost()">+ {{ 'basic.new-post' | translate }}</button> | |||
| </div> | |||
| <app-paging #pagingComponent | |||
| [getDataFunction]="getPostsData" | |||
| [dataSource]="dataSource" | |||
| [getDataFunction]="getPostsData" | |||
| [dataSource]="dataSource" | |||
| > | |||
| <div class="post pb-1" *ngFor="let post of posts"> | |||
| <div class="card p-3"> | |||
| <div class="row"> | |||
| <div class="col-12 col-md-4"> | |||
| <span class="due-date">{{ post.createdAt | date:'dd.MM.YYYY':'GMT+0000' }}</span> | |||
| <span class="due-date">{{ post.createdAt | date:'dd.MM.YYYY - HH:mm':'GMT+0000' }} | |||
| Uhr</span> | |||
| <h3 class="m-0" *ngIf="post.partner"> | |||
| <app-linked-label [partner]="post.partner"></app-linked-label> | |||
| </h3> | |||
| @@ -21,7 +22,8 @@ | |||
| <h3 class="m-0" *ngIf="post.product"> | |||
| <app-linked-label [product]="post.product"></app-linked-label> | |||
| </h3> | |||
| <p>{{ post.owner?.fullName }}</p> | |||
| <p><img src="/assets/images/icons/user.svg" class="icon-mini" alt=""/><a | |||
| href="/user/{{this.appHelperService.extractId(post.owner?.id)}}">{{ post.owner?.fullName }}</a></p> | |||
| </div> | |||
| <div class="spt-border col-12 col-md-8"> | |||
| <h2 class="m-0">{{ post.headline }}</h2> | |||
| @@ -30,12 +32,14 @@ | |||
| data-type="user-tool" | |||
| data-action="edit" (click)="openModalEditPost(post)"></span> | |||
| <div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> | |||
| <span *ngIf="post?.numComments !== undefined && post?.numComments !== null && post?.numComments !== 0" role="button" class="badge bg-secondary p-2 me-2" | |||
| <span *ngIf="post?.numComments !== undefined && post?.numComments !== null && post?.numComments !== 0" | |||
| role="button" class="badge bg-secondary p-2 me-2" | |||
| (click)="showComments(post)"> | |||
| <ng-container | |||
| *ngIf="post.id && commentsVisibility.get(post.id)">{{ 'basic.hide-comments' | translate }}</ng-container> | |||
| *ngIf="post.id && commentsVisibility.get(post.id)">{{ 'basic.hide-comments' | translate }}</ng-container> | |||
| <ng-container | |||
| *ngIf="post.id && !commentsVisibility.get(post.id)">{{ 'basic.show-comments' | translate }} ({{post.numComments}})</ng-container> | |||
| *ngIf="post.id && !commentsVisibility.get(post.id)">{{ 'basic.show-comments' | translate }} | |||
| ({{ post.numComments }})</ng-container> | |||
| </span> | |||
| <span role="button" class="badge bg-secondary p-2" | |||
| (click)="openModalNewComment(post)">{{ 'basic.comment-it' | translate }}</span> | |||
| @@ -47,14 +51,16 @@ | |||
| <div class="card spt-comments" *ngFor="let comment of comments.get(post.id)"> | |||
| <div class="card-body"> | |||
| <div class="d-flex justify-content-between align-items-center"> | |||
| <p>{{ comment.createdAt | date:'dd.MM.YYYY' }}</p> | |||
| <p>{{ comment.owner?.fullName }}</p> | |||
| <p>{{ comment.createdAt | date:'dd.MM.YYYY - HH:mm':'GMT+0000' }} Uhr</p> | |||
| </div> | |||
| <div> | |||
| <p [innerHTML]="appHelperService.getSafeLongtext(comment.message)"></p> | |||
| </div> | |||
| <span *ngIf="comment.owner?.id === currentUser?.id" class="position-absolute bi bi-pencil p-2" | |||
| data-type="user-tool" data-action="edit" (click)="openModalEditComment(comment)"></span> | |||
| <span *ngIf="comment.owner?.id === currentUser?.id" | |||
| class="position-absolute bi bi-pencil p-2" | |||
| data-type="user-tool" data-action="edit" | |||
| (click)="openModalEditComment(comment)"></span> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| @@ -75,7 +75,7 @@ | |||
| {{ 'overview.createdAt' | translate }} | |||
| </th> | |||
| <td mat-cell *matCellDef="let element"> | |||
| {{ element.createdAt | date:'dd.MM.YYYY HH:mm' }} | |||
| {{ element.createdAt | date:'dd.MM.YYYY - HH:mm':'GMT+0000' }} Uhr | |||
| </td> | |||
| </ng-container> | |||
| @@ -1,20 +1,25 @@ | |||
| <div class="spt-container"> | |||
| <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> | |||
| <app-paging #pagingComponent | |||
| [getDataFunction]="getTasksData" | |||
| [dataSource]="dataSource" | |||
| > | |||
| <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="card p-3" *ngIf="taskCompactMode"> | |||
| <div class="row pb-1"> | |||
| <div class="col-12"> | |||
| <div class="info-box"> | |||
| <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"> | |||
| <app-linked-label [partner]="task.partner"></app-linked-label> | |||
| </h3> | |||
| @@ -32,16 +37,19 @@ | |||
| <h2 class="m-0">{{ task.headline }}</h2> | |||
| </div> | |||
| <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" | |||
| 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.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)"> | |||
| <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 }} ({{task.numTaskNotes}})</ng-container> | |||
| *ngIf="task.id && !taskNotesVisibility.get(task.id)">{{ 'basic.show-comments' | translate }} | |||
| ({{ task.numTaskNotes }})</ng-container> | |||
| </span> | |||
| <span role="button" class="badge bg-secondary p-2" | |||
| (click)="openModalNewTaskNote(task)">{{ 'basic.comment-it' | translate }}</span> | |||
| @@ -52,7 +60,7 @@ | |||
| <div class="card p-3" *ngIf="!taskCompactMode"> | |||
| <div class="row"> | |||
| <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"> | |||
| <app-linked-label [partner]="task.partner"></app-linked-label> | |||
| </h3> | |||
| @@ -70,12 +78,14 @@ | |||
| <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.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)"> | |||
| <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 | |||
| *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 role="button" class="badge bg-secondary p-2" | |||
| (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-body"> | |||
| <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.createdAt | date:'dd.MM.YYYY - HH:mm':'GMT+0000' }} Uhr</p> | |||
| </div> | |||
| <div> | |||
| <p [innerHTML]="appHelperService.getSafeLongtext(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> | |||
| data-type="user-tool" data-action="edit" | |||
| (click)="openModalEditTaskNote(taskNote)"></span> | |||
| </div> | |||
| </div> | |||
| </div> | |||