Pārlūkot izejas kodu

Posts fixed

master
Florian Eisenmenger pirms 1 gada
vecāks
revīzija
44baf66c03
7 mainītis faili ar 50 papildinājumiem un 89 dzēšanām
  1. +3
    -4
      matsen-tool/src/app/_components/linked-label/linked-label.component.html
  2. +3
    -2
      matsen-tool/src/app/_views/posts/new-post/new-post.component.html
  3. +6
    -6
      matsen-tool/src/app/_views/posts/post-list/post-list.component.html
  4. +30
    -20
      matsen-tool/src/app/_views/posts/post-list/post-list.component.ts
  5. +3
    -3
      matsen-tool/src/app/_views/sales/sale-list/sale-list.component.html
  6. +4
    -53
      matsen-tool/src/app/_views/sales/sales-detail/sales-detail.component.html
  7. +1
    -1
      matsen-tool/src/app/_views/sales/sales-detail/sales-detail.component.ts

+ 3
- 4
matsen-tool/src/app/_components/linked-label/linked-label.component.html Parādīt failu

@@ -5,10 +5,9 @@
<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>
<span *ngIf="contact"> <span *ngIf="contact">
<!-- change here for contact -->
<img src="/assets/images/icons/contact.svg" class="icon-mini" alt="" /><a href="/contact/{{this.appHelperService.extractId(contact.id)}}">{{contact.firstName}} {{contact.lastName}}</a>
<!-- 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>
</span> </span>
<span *ngIf="user"> <span *ngIf="user">
<!-- change here for contact -->
<img src="/assets/images/icons/profile.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> </span>

+ 3
- 2
matsen-tool/src/app/_views/posts/new-post/new-post.component.html Parādīt failu

@@ -11,7 +11,7 @@
</div> </div>


<div class="mb-3"> <div class="mb-3">
<app-search-input #productSearchInput
<app-search-input *ngIf="this.posting.id === null || this.posting.id === undefined" #productSearchInput
[formId]="'productIri'" [formId]="'productIri'"
[formLabelLangKey]="'form.product'" [formLabelLangKey]="'form.product'"
[dataField]="'productName'" [dataField]="'productName'"
@@ -19,7 +19,8 @@
[documentFormField]="'productName'" [documentFormField]="'productName'"
[fetchFunction]="fetchProducts"> [fetchFunction]="fetchProducts">
</app-search-input> </app-search-input>
<input type="hidden" formControlName="product"/>
<input type="hidden" *ngIf="this.posting.id === null || this.posting.id === undefined" formControlName="product"/>
<input type="text" *ngIf="this.posting.id !== null && this.posting.id !== undefined" class="form-control" disabled value="{{posting.product?.name}}" />
</div> </div>


<div class="mb-3"> <div class="mb-3">


+ 6
- 6
matsen-tool/src/app/_views/posts/post-list/post-list.component.html Parādīt failu

@@ -4,7 +4,7 @@
<button class="btn btn-primary" (click)="openModalNewPost()">+ {{ 'basic.new-post' | translate }}</button> <button class="btn btn-primary" (click)="openModalNewPost()">+ {{ 'basic.new-post' | translate }}</button>
</div> </div>
<app-paging #pagingComponent <app-paging #pagingComponent
[getDataFunction]="getData"
[getDataFunction]="getPostsData"
[dataSource]="dataSource" [dataSource]="dataSource"
> >
<div class="post pb-1" *ngFor="let post of posts"> <div class="post pb-1" *ngFor="let post of posts">
@@ -21,23 +21,23 @@
<h3 class="m-0" *ngIf="post.product"> <h3 class="m-0" *ngIf="post.product">
<app-linked-label [product]="post.product"></app-linked-label> <app-linked-label [product]="post.product"></app-linked-label>
</h3> </h3>
<p>{{ post.owner?.firstName }} {{ post.owner?.lastName }}</p>
<p>{{ post.owner?.fullName }}</p>
</div> </div>
<div class="spt-border col-8"> <div class="spt-border col-8">
<h2 class="m-0">{{ post.headline }}</h2> <h2 class="m-0">{{ post.headline }}</h2>
<p class="m-0" [innerHTML]="appHelperService.getSafeLongtext(post.message)"></p> <p class="m-0" [innerHTML]="appHelperService.getSafeLongtext(post.message)"></p>
<span *ngIf="post.owner === currentUser?.id" class="position-absolute bi bi-pencil p-2"
<span *ngIf="post.owner?.id === currentUser?.id" class="position-absolute bi bi-pencil p-2"
data-type="user-tool" data-type="user-tool"
data-action="edit" (click)="openModalEditPost(post)"></span> data-action="edit" (click)="openModalEditPost(post)"></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="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"-->


<span role="button" class="badge bg-secondary p-2 me-2"
<span *ngIf="post.numComments !== 0" role="button" class="badge bg-secondary p-2 me-2"
(click)="showComments(post)"> (click)="showComments(post)">
<ng-container <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 <ng-container
*ngIf="post.id && !commentsVisibility.get(post.id)">{{ 'basic.show-comments' | translate }}</ng-container>
*ngIf="post.id && !commentsVisibility.get(post.id)">{{ 'basic.show-comments' | translate }} ({{post.numComments}})</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>
@@ -55,7 +55,7 @@
<div> <div>
<p [innerHTML]="appHelperService.getSafeLongtext(comment.message)"></p> <p [innerHTML]="appHelperService.getSafeLongtext(comment.message)"></p>
</div> </div>
<span *ngIf="comment.owner === currentUser?.id" class="position-absolute bi bi-pencil p-2"
<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> data-type="user-tool" data-action="edit" (click)="openModalEditComment(comment)"></span>
</div> </div>
</div> </div>


+ 30
- 20
matsen-tool/src/app/_views/posts/post-list/post-list.component.ts Parādīt failu

@@ -43,6 +43,7 @@ export class PostListComponent implements OnInit, AfterViewInit {
protected commentsVisibility: Map<string, boolean>; protected commentsVisibility: Map<string, boolean>;
protected commentsSub: Subscription; protected commentsSub: Subscription;
protected comments: Map<string, CommentJsonld[]>; protected comments: Map<string, CommentJsonld[]>;
protected postSub: Subscription;


constructor( constructor(
private postService: PostService, private postService: PostService,
@@ -59,6 +60,7 @@ export class PostListComponent implements OnInit, AfterViewInit {
this.currentUser = this.accountService.userValue; this.currentUser = this.accountService.userValue;
this.commentsSub = new Subscription(); this.commentsSub = new Subscription();
this.comments = new Map<string, CommentJsonld[]>(); this.comments = new Map<string, CommentJsonld[]>();
this.postSub = new Subscription();
} }


ngOnInit() { ngOnInit() {
@@ -68,7 +70,7 @@ export class PostListComponent implements OnInit, AfterViewInit {
this.pagingComponent.getData(); this.pagingComponent.getData();
} }


getData = () => {
getPostsData = () => {
this.postsSub = this.postService.postsGetCollection( this.postsSub = this.postService.postsGetCollection(
this.pagingComponent.getPageIndex(), this.pagingComponent.getPageIndex(),
this.pagingComponent.getPageSize(), this.pagingComponent.getPageSize(),
@@ -86,11 +88,20 @@ export class PostListComponent implements OnInit, AfterViewInit {
data => { data => {
this.posts = data["hydra:member"]; this.posts = data["hydra:member"];
this.pagingComponent.dataLength = Number(data["hydra:totalItems"]); this.pagingComponent.dataLength = Number(data["hydra:totalItems"]);
// this.posts.forEach(posts => {
// if (posts.id) {
// this.commentsVisibility.set(posts.id, false);
// }
// });
}
);
}

getPostData = (postIri: string) => {
this.postSub = this.postService.postsIdGet(this.appHelperService.extractId(postIri)).subscribe(
data => {
for (let index = 0; index < this.posts.length; index++) {
const item = this.posts[index];
if (data.id === item.id) {
this.posts[index] = data;
break;
}
}
} }
); );
} }
@@ -100,48 +111,47 @@ export class PostListComponent implements OnInit, AfterViewInit {
const currentVisibility = this.commentsVisibility.get(post.id); const currentVisibility = this.commentsVisibility.get(post.id);
this.commentsVisibility.set(post.id, !currentVisibility); this.commentsVisibility.set(post.id, !currentVisibility);
if (this.comments.get(post.id) === undefined) { if (this.comments.get(post.id) === undefined) {
this.getComments(post);
this.getComments(post.id);
} }
} }


} }


getComments = (post: PostJsonld) => {
if (post.id) {
getComments = (postIri: string) => {
// TODO: Weiterblättern, 50 comments only // TODO: Weiterblättern, 50 comments only
this.commentsSub = this.commentService.commentsGetCollection( this.commentsSub = this.commentService.commentsGetCollection(
1, 1,
50, 50,
post.id
postIri
).subscribe( ).subscribe(
data => { data => {
if (post.id) {
this.comments.set(post.id, data["hydra:member"]);
}
this.comments.set(postIri, data["hydra:member"]);
} }
); );
}
}

afterCommentCreation = (postIri: string) => {
this.getComments(postIri);
this.getPostData(postIri);
} }


openModalNewPost() { openModalNewPost() {
let post: PostJsonld = {} as PostJsonld; let post: PostJsonld = {} as PostJsonld;
post.partnerIri = this.partner.id; post.partnerIri = this.partner.id;
this.appHelperService.openModal(NewPostComponent, { 'posting': post }, this.getData);
this.appHelperService.openModal(NewPostComponent, { 'posting': post }, this.getPostsData);
} }


openModalEditPost(post: PostJsonld) { openModalEditPost(post: PostJsonld) {
this.appHelperService.openModal(NewPostComponent, { 'posting': post }, this.getData);
this.appHelperService.openModal(NewPostComponent, { 'posting': post }, this.getPostsData);
} }


openModalNewComment(post: PostJsonld) { openModalNewComment(post: PostJsonld) {
let comment: CommentJsonld = {} as CommentJsonld; let comment: CommentJsonld = {} as CommentJsonld;
comment.postIri = post.id; comment.postIri = post.id;
this.appHelperService.openModal(NewCommentComponent, { 'comment': comment }, this.getComments, post);
this.appHelperService.openModal(NewCommentComponent, { 'comment': comment }, this.afterCommentCreation, post.id);
} }


openModalEditComment(comment: CommentJsonld) { openModalEditComment(comment: CommentJsonld) {
this.appHelperService.openModal(NewCommentComponent, { 'comment': comment }, this.getData);
this.appHelperService.openModal(NewCommentComponent, { 'comment': comment }, this.afterCommentCreation, comment.postIri);
} }






+ 3
- 3
matsen-tool/src/app/_views/sales/sale-list/sale-list.component.html Parādīt failu

@@ -24,7 +24,7 @@
{{ 'overview.sale-user' | translate }} {{ 'overview.sale-user' | translate }}
</th> </th>
<td mat-cell *matCellDef="let element"> <td mat-cell *matCellDef="let element">
<a [routerLink]="['/user', appHelperService.extractId(element.owner)]">{{ element.ownerName }}</a>
<a [routerLink]="['/user', appHelperService.extractId(element.owner.id)]">{{ element.owner.fullName }}</a>
</td> </td>
</ng-container> </ng-container>


@@ -34,7 +34,7 @@
{{ 'overview.sale-partner' | translate }} {{ 'overview.sale-partner' | translate }}
</th> </th>
<td mat-cell *matCellDef="let element"> <td mat-cell *matCellDef="let element">
<a [routerLink]="['/customer', appHelperService.extractId(element.partner)]">{{ element.partnerName }}</a>
<a [routerLink]="['/customer', appHelperService.extractId(element.partner.id)]">{{ element.partner.name }}</a>
</td> </td>
</ng-container> </ng-container>


@@ -44,7 +44,7 @@
{{ 'overview.productname' | translate }} {{ 'overview.productname' | translate }}
</th> </th>
<td mat-cell *matCellDef="let element"> <td mat-cell *matCellDef="let element">
<a [routerLink]="['/product', appHelperService.extractId(element.product)]">{{ element.productName }}</a>
<a [routerLink]="['/product', appHelperService.extractId(element.product.id)]">{{ element.product.name }}</a>
</td> </td>
</ng-container> </ng-container>




+ 4
- 53
matsen-tool/src/app/_views/sales/sales-detail/sales-detail.component.html Parādīt failu

@@ -24,56 +24,7 @@
</div> </div>


<app-toggle #togglePosts [headline]="'basic.posts' | translate"> <app-toggle #togglePosts [headline]="'basic.posts' | translate">
<div *ngIf="togglePosts.isOpened" class="spt-container">
<div class="posts">
<div class="top-btn">
<button class="btn btn-primary" (click)="openModalNewPosting()">+ {{'basic.new-post' | translate}}</button>
</div>
<app-paging #pagingComponent
[getDataFunction]="getPostsData"
[dataSource]="dataSource"
>
<div class="post mb-3" *ngFor="let post of posts">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center">
<p>{{ post.createdAt | date:'dd.MM.YYYY' }}</p>
<p>{{ post.owner?.fullName }}</p>
</div>
<div>
<h3>{{ post.headline }}</h3>
<p class="m-0" [innerHTML]="appHelperService.getSafeLongtext(post.message)"></p>
</div>
<span *ngIf="post.owner === user?.id" class="position-absolute bi bi-pencil p-2" data-type="user-tool"
data-action="edit" (click)="openModalEditPosting(post)"></span>
</div>
</div>
<div *ngIf="post.id && commentsVisibility.get(post.id)">
<!-- <div class="card ms-5" *ngFor="let comment of post.comments">-->
<!-- <div class="card-body">-->
<!-- <div class="d-flex justify-content-between align-items-center">-->
<!-- <p>{{ comment.createdAt | date:'dd.MM.YYYY' }}</p>-->
<!-- <p>{{ comment.ownerName }}</p>-->
<!-- </div>-->
<!-- <div>-->
<!-- <p class="m-0" [innerHTML]="appHelperService.getSafeLongtext(comment.message)"></p>-->
<!-- </div>-->
<!-- <span *ngIf="comment.owner === user?.id" class="position-absolute bi bi-pencil p-2" data-type="user-tool"-->
<!-- data-action="edit" (click)="openModalEditComment(comment)"></span>-->
<!-- </div>-->
<!-- </div>-->
</div>

<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"-->
<!-- (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>-->
<!-- </span>-->
<!-- <span role="button" class="badge bg-secondary p-2" (click)="openModalNewComment(post)">{{'basic.comment-it' | translate}}</span>-->
</div>
</div>
</app-paging>
</div>
</div>
</app-toggle>
<app-post-list *ngIf="togglePosts.isOpened" #postListComponent
[sale]="sale"
></app-post-list>
</app-toggle>

+ 1
- 1
matsen-tool/src/app/_views/sales/sales-detail/sales-detail.component.ts Parādīt failu

@@ -68,7 +68,7 @@ export class SalesDetailComponent implements OnInit, AfterViewInit {
).subscribe( ).subscribe(
data => { data => {
this.sale = data; this.sale = data;
this.pagingComponent.getData();
// this.pagingComponent.getData();
} }
); );
} }


Notiek ielāde…
Atcelt
Saglabāt