{"version":3,"file":"adjai-ngx-library-src-lib-elements-comments.mjs","sources":["../../../projects/ngx-library/src/lib/elements/comments/comment.service.ts","../../../projects/ngx-library/src/lib/elements/comments/comment-add/comment-add.component.ts","../../../projects/ngx-library/src/lib/elements/comments/comment-add/comment-add.component.html","../../../projects/ngx-library/src/lib/elements/comments/comment-node/comment-node.component.ts","../../../projects/ngx-library/src/lib/elements/comments/comment-node/comment-node.component.html","../../../projects/ngx-library/src/lib/elements/comments/comments.component.ts","../../../projects/ngx-library/src/lib/elements/comments/comments.component.html","../../../projects/ngx-library/src/lib/elements/comments/comments.module.ts","../../../projects/ngx-library/src/lib/elements/comments/adjai-ngx-library-src-lib-elements-comments.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {Observable} from \"rxjs\";\nimport {ApiService} from \"@adjai/ngx-library/src/lib/api\";\nimport {User} from \"@adjai/ngx-library/src/lib/auth\";\n\nexport interface Comment {\n  created: string\n  id: number\n  object_id: number\n  parent_comment_id: number | null\n  text: string\n  user_id: number\n  user: User\n  comments?: Comment[]\n}\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class CommentService {\n\n  constructor(\n    private apiService: ApiService,\n  ) { }\n\n  addComment$(objectId: number, parentCommentId: number | null, text: string): Observable<Comment> {\n    return this.apiService.execute('comment', 'add', {objectId, parentCommentId, text})\n  }\n\n  getItems$(objectId: number): Observable<Comment[]> {\n    return this.apiService.execute('comment', 'items', {objectId})\n  }\n}\n","import {\n  AfterViewInit,\n  Component,\n  ElementRef,\n  EventEmitter,\n  HostListener,\n  Input,\n  OnInit,\n  Output,\n  ViewChild\n} from '@angular/core';\nimport {UntypedFormControl, UntypedFormGroup, Validators} from \"@angular/forms\";\nimport {Comment, CommentService} from \"../comment.service\";\nimport {AuthService} from \"@adjai/ngx-library/src/lib/auth\";\nimport {Router} from \"@angular/router\";\nimport {LanguageService} from \"@adjai/ngx-library/src/lib/language\";\n\n@Component({\n  selector: 'app-comment-add',\n  templateUrl: './comment-add.component.html',\n  styleUrls: ['./comment-add.component.scss']\n})\nexport class CommentAddComponent implements OnInit, AfterViewInit {\n  @Input() objectId!: number\n  @Input() parentCommentId: number | null = null\n  @Input() isTopMost = false\n  @Output() onAdd: EventEmitter<Comment> = new EventEmitter<Comment>()\n  @Output() onCancel: EventEmitter<void> = new EventEmitter<void>()\n  @ViewChild('textInput') textInput!: ElementRef\n  form = new UntypedFormGroup({\n    text: new UntypedFormControl(null, Validators.required)\n  })\n  isFormProcessing = false\n  isLoggedIn = this.authService.isLoggedIn()\n  loggedInReturnUrl = this.router.url\n\n  constructor(\n    private commentService: CommentService,\n    private authService: AuthService,\n    private router: Router,\n  ) { }\n\n  ngOnInit(): void {\n\n  }\n\n  ngAfterViewInit() {\n    if (!this.isTopMost && this.textInput) {\n      this.textInput.nativeElement.focus()\n    }\n  }\n\n  submit() {\n    if (this.form.valid) {\n      this.commentService.addComment$(this.objectId, this.parentCommentId, this.form.value.text ?? '').subscribe(comment => {\n        this.form.reset()\n        this.onAdd.emit(comment)\n        this.cancel()\n      })\n    }\n  }\n\n  cancel() {\n    this.onCancel.emit()\n  }\n\n  onEnter(event: Event) {\n    if (this.form.valid) {\n      event.preventDefault()\n      this.submit()\n    }\n  }\n}\n","<ng-container *ngIf=\"isLoggedIn; else loggedOut\">\n<form [formGroup]=\"form\" (submit)=\"submit()\">\n  <div class=\"control-row single-element-row\">\n    <textarea #textInput formControlName=\"text\" [placeholder]=\"'Enter your comment' | translate: 'comments'\" (keydown.enter)=\"onEnter($event)\"></textarea>\n  </div>\n  <div class=\"control-row actions\">\n    <button type=\"button\" [disabled]=\"isFormProcessing\" *ngIf=\"!isTopMost\" (click)=\"cancel()\">{{ 'Cancel' | translate: 'comments' }}</button>\n    <button type=\"submit\" [disabled]=\"form.invalid || isFormProcessing\">{{ 'Send' | translate: 'comments'}}</button>\n  </div>\n</form>\n</ng-container>\n<ng-template #loggedOut>\n  <div class=\"logged-out-message\">{{ 'logged-out-message-part1' | translate: 'comments' }} <a [routerLink]=\"['/auth']\" [queryParams]=\"{'returnUrl': loggedInReturnUrl}\">{{ 'logged-out-message-part2' | translate: 'comments' }}</a>{{ 'logged-out-message-part3' | translate: 'comments' }}</div>\n</ng-template>\n","import {Component, Input, OnInit} from '@angular/core';\nimport {Comment} from \"../comment.service\";\n\n@Component({\n  selector: 'app-comment-node',\n  templateUrl: './comment-node.component.html',\n  styleUrls: ['./comment-node.component.scss']\n})\nexport class CommentNodeComponent implements OnInit {\n  @Input() objectId!: number\n  @Input() isTopMost = false\n  @Input('comments') items: Comment[] = []\n  trackByCommentId = (index: number, comment: Comment) => comment.id;\n\n  constructor() { }\n\n  ngOnInit(): void {\n  }\n\n  onCommentAdd(item: Comment, reply: Comment) {\n    if (!item.comments) {\n      item.comments = []\n    }\n    item.comments.unshift(reply)\n  }\n}\n","<div class=\"comments-node\" [class.is-top-most]=\"isTopMost\">\n  <div class=\"comment\" *ngFor=\"let item of items; trackBy: trackByCommentId\">\n    <div class=\"text\">\n      <span class=\"author\">{{ item.user.name }}:</span>\n      {{ item.text }}\n    </div>\n    <ng-container *ngIf=\"{isAddCommentFormVisible: false} as vars\">\n      <button (click)=\"vars.isAddCommentFormVisible = true\" class=\"btn-reply\" title=\"{{'Reply to the comment' | translate: 'comments'}}\"></button>\n      <app-comment-add\n        *ngIf=\"vars.isAddCommentFormVisible\"\n        [objectId]=\"objectId\"\n        [parentCommentId]=\"item.id\"\n        (onAdd)=\"onCommentAdd(item, $event)\"\n        (onCancel)=\"vars.isAddCommentFormVisible = false\"\n      ></app-comment-add>\n    </ng-container>\n    <app-comment-node *ngIf=\"item.comments\" [comments]=\"item.comments\" [objectId]=\"objectId\"></app-comment-node>\n  </div>\n</div>\n","import {Component, Input, OnInit} from '@angular/core';\nimport {Comment, CommentService} from './comment.service'\nimport {LanguageService} from \"@adjai/ngx-library/src/lib/language\";\n\n@Component({\n  selector: 'mx-comments',\n  templateUrl: './comments.component.html',\n  styleUrls: ['./comments.component.scss']\n})\nexport class CommentsComponent implements OnInit {\n  @Input() objectId!: number\n  items: Comment[] = []\n  trackByCommentId = (index: number, comment: Comment) => comment.id;\n\n  constructor(\n    private commentService: CommentService,\n  ) { }\n\n  ngOnInit(): void {\n    this.commentService.getItems$(this.objectId).subscribe(items => {\n      this.items = items\n    })\n  }\n\n  onCommentAdd(comment: Comment) {\n    this.items.unshift(comment)\n  }\n\n}\n","<app-comment-add [objectId]=\"objectId\" (onAdd)=\"onCommentAdd($event)\"></app-comment-add>\n<ng-container *ngIf=\"items.length\">\n  <app-comment-node [comments]=\"items\" [objectId]=\"objectId\"></app-comment-node>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CommentsComponent } from './comments.component';\nimport {CommentAddComponent} from \"./comment-add/comment-add.component\";\nimport {CommentNodeComponent} from \"./comment-node/comment-node.component\";\nimport {ReactiveFormsModule} from \"@angular/forms\";\nimport {RouterModule} from \"@angular/router\";\nimport {LanguageModule, LanguageService} from \"@adjai/ngx-library/src/lib/language\";\n\nLanguageService.addTranslations('comments', [\n  {\n    en: 'Send',\n    ru: 'Отправить',\n  },\n  {\n    en: 'Cancel',\n    ru: 'Отмена',\n  },\n  {\n    en: 'Enter your comment',\n    ru: 'Введите текст комментария',\n  },\n  {\n    en: 'You should login to be able to comment.',\n    ru: 'Для того, чтобы оставить комменатрий необходимо войти в систему.'\n  },\n  {\n    en: 'You should login to be able to comment.',\n    ru: 'Вход в ситему'\n  },\n  {\n    en: \"Reply to the comment\",\n    ru: \"Ответить на комментарий\",\n  },\n], 'en')\n\nLanguageService.addTranslations('comments', [\n  {\n    alias: 'logged-out-message-part1',\n    en: 'You should',\n    ru: 'Для того, чтобы оставить комменатрий необходимо',\n  },\n  {\n    alias: 'logged-out-message-part2',\n    en: 'login',\n    ru: 'войти в систему',\n  },\n  {\n    alias: 'logged-out-message-part3',\n    en: ' to be able to comment.',\n    ru: '.',\n  },\n], 'alias')\n\n@NgModule({\n  declarations: [\n    CommentsComponent,\n    CommentAddComponent,\n    CommentNodeComponent,\n  ],\n    imports: [\n        CommonModule,\n        ReactiveFormsModule,\n        RouterModule,\n        LanguageModule,\n    ],\n  exports: [\n    CommentsComponent,\n  ],\n})\nexport class CommentsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CommentService","i4","i1","i2.CommentAddComponent","i3","i2","i3.CommentAddComponent","i4.CommentNodeComponent"],"mappings":"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"}