浏览代码

cleanup and longtext

master
Florian Eisenmenger 2 年前
父节点
当前提交
c22b627bf7
共有 7 个文件被更改,包括 45 次插入31 次删除
  1. +13
    -0
      matsen-tool/src/app/_helpers/api.converter.ts
  2. +1
    -1
      matsen-tool/src/app/contacts/contacts-detail/contacts-detail.component.html
  3. +1
    -0
      matsen-tool/src/app/contacts/contacts-detail/contacts-detail.component.ts
  4. +5
    -0
      matsen-tool/src/app/partners/new-partner/new-partner.component.html
  5. +13
    -29
      matsen-tool/src/app/partners/partners-detail/partners-detail.component.html
  6. +3
    -1
      matsen-tool/src/app/partners/partners-detail/partners-detail.component.ts
  7. +9
    -0
      matsen-tool/src/assets/scss/_basics.scss

+ 13
- 0
matsen-tool/src/app/_helpers/api.converter.ts 查看文件

@@ -1,5 +1,11 @@
import {DomSanitizer, SafeHtml} from "@angular/platform-browser";
import {Injectable} from "@angular/core";

@Injectable({ providedIn: 'root' })
export class ApiConverter { export class ApiConverter {


constructor(private sanitizer: DomSanitizer) {}

public static extractId(iri: string | undefined): string { public static extractId(iri: string | undefined): string {
if (iri !== undefined) { if (iri !== undefined) {
const iriRegex = /\/(\d+)$/; const iriRegex = /\/(\d+)$/;
@@ -20,4 +26,11 @@ export class ApiConverter {
} }
return ""; return "";
} }

public getSafeLongtext(longtext: any): SafeHtml {
if (longtext) {
return this.sanitizer.bypassSecurityTrustHtml(longtext.replace(/\n/g, '<br>'));
}
return false;
}
} }

+ 1
- 1
matsen-tool/src/app/contacts/contacts-detail/contacts-detail.component.html 查看文件

@@ -1,5 +1,5 @@
<div class="spt-container"> <div class="spt-container">
<div class="card">
<div class="card contacts-detail">
<div class="card-body row pb-5"> <div class="card-body row pb-5">
<div class="col-8"> <div class="col-8">
<h1>{{ contact.firstName }} {{ contact.lastName }}</h1> <h1>{{ contact.firstName }} {{ contact.lastName }}</h1>


+ 1
- 0
matsen-tool/src/app/contacts/contacts-detail/contacts-detail.component.ts 查看文件

@@ -12,6 +12,7 @@ import {User} from "@app/_models";
import {AccountService} from "@app/_services"; import {AccountService} from "@app/_services";
import {NewCommentComponent} from "@app/postings/new-comment/new-comment.component"; import {NewCommentComponent} from "@app/postings/new-comment/new-comment.component";
import {ApiConverter} from "@app/_helpers/api.converter"; import {ApiConverter} from "@app/_helpers/api.converter";
import {constructorParametersDownlevelTransform} from "@angular/compiler-cli";


@Component({ @Component({
selector: 'app-contacts-detail', selector: 'app-contacts-detail',


+ 5
- 0
matsen-tool/src/app/partners/new-partner/new-partner.component.html 查看文件

@@ -40,6 +40,11 @@
<input type="text" class="form-control" id="website" formControlName="website"/> <input type="text" class="form-control" id="website" formControlName="website"/>
</div> </div>


<div class="mb-3">
<label for="description" class="form-label">{{ 'form.description' | translate }}:</label>
<textarea class="form-control" id="description" formControlName="description" cols="50" rows="5"></textarea>
</div>

<div class="mb-3" *ngIf="partnerForm.get('logoUrl')?.value === null"> <div class="mb-3" *ngIf="partnerForm.get('logoUrl')?.value === null">
<label for="logo" class="form-label">{{ 'form.upload-image' | translate }}:</label> <label for="logo" class="form-label">{{ 'form.upload-image' | translate }}:</label>
<input type="file" class="form-control" id="logo" (change)="onFileSelected($event)" accept="image/*"/> <input type="file" class="form-control" id="logo" (change)="onFileSelected($event)" accept="image/*"/>


+ 13
- 29
matsen-tool/src/app/partners/partners-detail/partners-detail.component.html 查看文件

@@ -39,6 +39,11 @@
<span class="position-absolute bi bi-pencil p-2" data-type="user-tool" data-action="edit" <span class="position-absolute bi bi-pencil p-2" data-type="user-tool" data-action="edit"
(click)="openModalEditPartner()"></span> (click)="openModalEditPartner()"></span>
</div> </div>
<div class="card-body row" *ngIf="partner.description">
<div class="col-12">
<p [innerHTML]="apiConverter.getSafeLongtext(partner.description)"></p>
</div>
</div>
</div> </div>
</div> </div>
<div class="spt-container"> <div class="spt-container">
@@ -82,31 +87,6 @@
</mat-paginator> </mat-paginator>
</div> </div>
</div> </div>
<div class="spt-container">
<div class="posts">
<div class="d-flex justify-content-between align-items-start">
<h2>Kunden Details</h2>
</div>
<div class="card mb-3">
<div class="card-body">
<div>
<h3>Viel Platz für Freitext</h3>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
ut
labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
dolores
et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
ut
labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
dolores
et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
amet.</p>
</div>
</div>
</div>
</div>
</div>
<div class="spt-container"> <div class="spt-container">
<div class="spt-accordion"> <div class="spt-accordion">
<div class="d-flex justify-content-between align-items-start"> <div class="d-flex justify-content-between align-items-start">
@@ -154,8 +134,10 @@
<div class="d-flex justify-content-end mt-1"> <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" <span *ngIf="task.taskNotes?.length !== 0" role="button" class="badge bg-secondary p-2 me-2"
(click)="showTaskNotes(task)"> (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>
<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>
<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>
@@ -212,8 +194,10 @@
<div class="d-flex justify-content-end mt-1"> <div class="d-flex justify-content-end mt-1">
<span *ngIf="post.comments?.length !== 0" role="button" class="badge bg-secondary p-2 me-2" <span *ngIf="post.comments?.length !== 0" role="button" class="badge bg-secondary p-2 me-2"
(click)="showComments(post)"> (click)="showComments(post)">
<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 }}</ng-container>
<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 }}</ng-container>
</span> </span>
<span role="button" class="badge bg-secondary p-2" <span role="button" class="badge bg-secondary p-2"
(click)="openModalNewComment(post)">{{ 'basic.comment-it' | translate }}</span> (click)="openModalNewComment(post)">{{ 'basic.comment-it' | translate }}</span>


+ 3
- 1
matsen-tool/src/app/partners/partners-detail/partners-detail.component.ts 查看文件

@@ -87,7 +87,8 @@ export class PartnersDetailComponent implements OnInit, AfterViewInit {
private partnerFollowService: PartnerFollowService, private partnerFollowService: PartnerFollowService,
private contactService: ContactService, private contactService: ContactService,
private postService: PostService, private postService: PostService,
private taskService: TaskService
private taskService: TaskService,
protected apiConverter: ApiConverter
) { ) {
this.id = ""; this.id = "";
this.partnerDetailSub = new Subscription(); this.partnerDetailSub = new Subscription();
@@ -151,6 +152,7 @@ export class PartnersDetailComponent implements OnInit, AfterViewInit {
).subscribe( ).subscribe(
data => { data => {
this.partner = data; this.partner = data;
console.log(this.partner);
} }
); );
} }


+ 9
- 0
matsen-tool/src/assets/scss/_basics.scss 查看文件

@@ -34,6 +34,7 @@ img {
.importance { .importance {
display: block; display: block;
width: 50vw; width: 50vw;
max-width: 800px;
height: 5px; height: 5px;
position: absolute; position: absolute;
right: 0; right: 0;
@@ -47,4 +48,12 @@ img {
&[data-importance="high"] { &[data-importance="high"] {
background: #bb1414; background: #bb1414;
} }
}

.contacts {
img {
object-fit: cover;
height: 120px;
width: 100%;
}
} }

正在加载...
取消
保存