@acorex/platform 18.1.2 → 18.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/common/lib/schema/widgets/text/largetext-widget-edit.component.d.ts +1 -1
  2. package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +15 -16
  3. package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +2 -1
  4. package/esm2022/layout/builder/lib/builder/widget.types.mjs +4 -2
  5. package/esm2022/layout/designer/lib/designer/index.mjs +5 -4
  6. package/esm2022/layout/entity/lib/entity.module.mjs +4 -3
  7. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +22 -5
  8. package/esm2022/layout/entity/lib/widgets/widget-selector/index.mjs +4 -0
  9. package/esm2022/layout/entity/lib/widgets/widget-selector/widget-selector-widget-edit.component.mjs +130 -0
  10. package/esm2022/layout/entity/lib/widgets/widget-selector/widget-selector-widget-view.component.mjs +18 -0
  11. package/esm2022/layout/entity/lib/widgets/widget-selector/widget-selector-widget.config.mjs +19 -0
  12. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +2 -1
  13. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +3 -3
  14. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +2 -2
  15. package/esm2022/themes/default/lib/layouts/entity-layouts/index.mjs +1 -2
  16. package/esm2022/themes/shared/acorex-platform-themes-shared.mjs +5 -0
  17. package/esm2022/themes/shared/index.mjs +6 -0
  18. package/esm2022/themes/shared/lib/comments/comment-list-view.component.mjs +421 -0
  19. package/esm2022/themes/{default/lib/layouts/entity-layouts/entity-master-single-view → shared/lib}/comments/comment-lookup-popup.component.mjs +1 -1
  20. package/esm2022/themes/shared/lib/comments/comments.service.mjs +3 -0
  21. package/esm2022/themes/shared/lib/comments/comments.type.mjs +2 -0
  22. package/esm2022/themes/shared/lib/shared.module.mjs +16 -0
  23. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-edit.component.mjs +25 -8
  24. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.mjs +32 -22
  25. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-edit.component.mjs +23 -11
  26. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-CrqPJ58V.mjs → acorex-platform-common-largetext-widget-edit.component-DD7S5j12.mjs} +15 -16
  27. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DD7S5j12.mjs.map +1 -0
  28. package/fesm2022/acorex-platform-common.mjs +1 -1
  29. package/fesm2022/acorex-platform-layout-builder.mjs +4 -1
  30. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  31. package/fesm2022/acorex-platform-layout-designer.mjs +190 -100
  32. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  33. package/fesm2022/acorex-platform-layout-entity.mjs +177 -8
  34. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  35. package/fesm2022/acorex-platform-layouts.mjs +1 -0
  36. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  37. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-LyEomIA6.mjs → acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs} +3 -3
  38. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-LyEomIA6.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs.map} +1 -1
  39. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-CKRwvJTp.mjs → acorex-platform-themes-default-entity-master-list-view.component-fZ6QEYcd.mjs} +8 -8
  40. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-CKRwvJTp.mjs.map → acorex-platform-themes-default-entity-master-list-view.component-fZ6QEYcd.mjs.map} +1 -1
  41. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CMRfspMB.mjs → acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs} +3 -3
  42. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CMRfspMB.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs.map} +1 -1
  43. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bnrabotu.mjs +145 -0
  44. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bnrabotu.mjs.map +1 -0
  45. package/fesm2022/acorex-platform-themes-default.mjs +13 -16
  46. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-themes-shared.mjs +493 -0
  48. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-widgets.mjs +94 -57
  50. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  51. package/layout/builder/lib/builder/widget.types.d.ts +1 -0
  52. package/layout/designer/lib/designer/index.d.ts +4 -3
  53. package/layout/entity/lib/widgets/widget-selector/index.d.ts +3 -0
  54. package/layout/entity/lib/widgets/widget-selector/widget-selector-widget-edit.component.d.ts +25 -0
  55. package/layout/entity/lib/widgets/widget-selector/widget-selector-widget-view.component.d.ts +6 -0
  56. package/layout/entity/lib/widgets/widget-selector/widget-selector-widget.config.d.ts +7 -0
  57. package/package.json +19 -13
  58. package/themes/default/lib/layouts/entity-layouts/index.d.ts +0 -1
  59. package/themes/shared/README.md +3 -0
  60. package/themes/shared/index.d.ts +5 -0
  61. package/themes/{default/lib/layouts/entity-layouts/entity-master-single-view → shared/lib}/comments/comment-list-view.component.d.ts +22 -16
  62. package/themes/shared/lib/shared.module.d.ts +6 -0
  63. package/widgets/lib/widgets/editors/contact/contact-widget-edit.component.d.ts +4 -2
  64. package/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.d.ts +1 -3
  65. package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +2 -0
  66. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-list-view.component.mjs +0 -284
  67. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.service.mjs +0 -3
  68. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.type.mjs +0 -2
  69. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-CrqPJ58V.mjs.map +0 -1
  70. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-BZryrCyh.mjs +0 -100
  71. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-BZryrCyh.mjs.map +0 -1
  72. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DhcKSyrX.mjs +0 -457
  73. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DhcKSyrX.mjs.map +0 -1
  74. /package/themes/{default/lib/layouts/entity-layouts/entity-master-single-view → shared/lib}/comments/comment-lookup-popup.component.d.ts +0 -0
  75. /package/themes/{default/lib/layouts/entity-layouts/entity-master-single-view → shared/lib}/comments/comments.service.d.ts +0 -0
  76. /package/themes/{default/lib/layouts/entity-layouts/entity-master-single-view → shared/lib}/comments/comments.type.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-themes-shared.mjs","sources":["../../../../libs/platform/themes/shared/src/lib/comments/comment-lookup-popup.component.ts","../../../../libs/platform/themes/shared/src/lib/comments/comments.service.ts","../../../../libs/platform/themes/shared/src/lib/comments/comment-list-view.component.ts","../../../../libs/platform/themes/shared/src/lib/comments/comment-list-view.component.html","../../../../libs/platform/themes/shared/src/lib/shared.module.ts","../../../../libs/platform/themes/shared/src/acorex-platform-themes-shared.ts"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXPLayoutBuilderModule, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { Component } from '@angular/core';\n\n@Component({\n template: `<axp-widgets-container class=\"ax-flex ax-flex-col ax-gap-2 ax-p-4\" [(context)]=\"context\">\n <div class=\"ax-m-5\"><axp-widget-renderer [node]=\"lookupNode\" [mode]=\"'edit'\"> </axp-widget-renderer></div>\n </axp-widgets-container>\n\n <ax-footer>\n <ax-suffix>\n <ax-button text=\"Accept & Send\" color=\"primary\" (onClick)=\"handleClose()\"></ax-button>\n </ax-suffix>\n </ax-footer>`,\n imports: [AXDecoratorModule, AXPLayoutBuilderModule, AXButtonModule],\n standalone: true,\n})\nexport class AXPCommentLookupPopup extends AXBasePageComponent {\n protected lookupNode: AXPWidgetNode = {\n name: 'lookup',\n path: 'lookup',\n type: 'lookup-editor',\n options: {\n entity: 'axoidc.users',\n },\n };\n context = {};\n\n handleClose() {\n this.close({\n result: true,\n data: this.context,\n });\n }\n}\n","import {\n AXPCommentResponse,\n AXPDeleteRequest,\n AXPGetRequest,\n AXPLikeRequest,\n AXPPostRequest,\n AXPPutRequest,\n} from './comments.type';\n\nexport abstract class AXPCommentService {\n abstract get(payload: AXPGetRequest): Promise<AXPCommentResponse>;\n abstract post(payload: AXPPostRequest): Promise<string>;\n abstract delete(payload: AXPDeleteRequest): Promise<void>;\n abstract put(payload: AXPPutRequest): Promise<string>;\n abstract like(payload: AXPLikeRequest): Promise<string>;\n // abstract deleteComment(commentId: string): Promise<void>;\n // abstract editComment(payload: AXPComment): Promise<AXPComment>;\n}\n","import { AXCommentModule } from '@acorex/components/comment';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXWysiwygContainerComponent, AXWysiwygModule } from '@acorex/components/wysiwyg';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, OnInit, signal, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\n\nimport { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXStyleLookType } from '@acorex/components/common';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopupConfig, AXPopupService } from '@acorex/components/popup';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPHtmlUtils } from '@acorex/platform/core';\nimport { AXPCommentLookupPopup } from './comment-lookup-popup.component';\nimport { AXPCommentService } from './comments.service';\nimport { AXPComment, AXPLikeRequest, AXPPostRequest, AXPPutRequest } from './comments.type';\n@Component({\n templateUrl: './comment-list-view.component.html',\n selector: 'axp-comment-list-view',\n imports: [\n FormsModule,\n CommonModule,\n RouterModule,\n AXDecoratorModule,\n AXCommentModule,\n AXWysiwygModule,\n AXButtonModule,\n AXTextBoxModule,\n AXLabelModule,\n AXAvatarModule,\n AXImageModule,\n AXSelectBoxModule,\n AXFormModule,\n AXLoadingModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXFormatModule,\n AXSkeletonModule,\n ],\n standalone: true,\n styles: `ax-wysiwyg-container{\n .ax-editor-container{\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n }\n .ax-error-message{\n padding-left: 0.5rem;\n }\n\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPCommentListViewComponent implements OnInit {\n protected hasCooldown = signal(false);\n protected commentContent = signal('');\n\n protected isSubmitting = signal(false);\n protected isReplyingMode = signal(false);\n protected isEditingMode = signal(false);\n protected isLoading = signal(true);\n\n protected failedImageIds = signal<string[]>([]);\n protected activeReplyComment = signal<undefined | AXPComment>(undefined);\n protected activeEditComment = signal<undefined | AXPComment>(undefined);\n protected wysiwygEditor = viewChild.required<AXWysiwygContainerComponent>('w');\n\n private commentService = inject(AXPCommentService);\n private platform = inject(AXPlatform);\n private route = inject(ActivatedRoute);\n private popupService = inject(AXPopupService);\n private toastService = inject(AXToastService);\n private dialogService = inject(AXDialogService);\n private htmlUtils = inject(AXPHtmlUtils);\n\n private readonly routeParams = this.route.snapshot;\n private payload = computed(() => ({\n roomType: 'default',\n entityId: this.routeParams.params?.['module'] + '.' + this.routeParams.params?.['entity'],\n instanceId: this.routeParams.params?.['id'],\n }));\n time?: number;\n\n protected comments = signal<AXPComment[]>([]);\n private wysiwyg = viewChild<AXWysiwygContainerComponent>('w');\n\n ngOnInit(): void {\n this.loadComments();\n this.time = Math.random() * -100000000;\n }\n\n protected wysiwygOptions = signal<{\n look: AXStyleLookType;\n }>({\n look: 'solid',\n });\n\n protected avatarConfig = signal<{\n color: string;\n look: 'sharp' | 'soft' | 'rounded';\n type: string;\n }>({\n color: 'primary',\n look: 'rounded',\n type: 'solid', // 'image' | 'text' | 'icon' | 'default'\n });\n\n validateContent = (content: string) => {\n let isValid = true;\n\n if (!content || content === '<p><br></p>') {\n isValid = false;\n }\n return {\n rule: 'callback',\n result: isValid,\n message: isValid ? '' : 'Please fill the content',\n value: content,\n };\n };\n\n sanitizeHtml(htmlContent: string) {\n return this.htmlUtils.getSafeHTMLfromHTML(htmlContent);\n }\n\n handleImageError(imageId: string): void {\n this.failedImageIds.update((ids) => [...ids, imageId]);\n }\n\n checkImageExists(imageId: string): boolean {\n return !this.failedImageIds().includes(imageId);\n }\n\n extractInitials(name: string): string {\n const words = name.split(' ');\n const initials = words.map((word) => word.charAt(0).toUpperCase());\n return initials.join('');\n }\n\n async loadComments() {\n this.isLoading.set(true);\n const response = await this.commentService.get(this.payload());\n this.comments.set(response.items);\n setTimeout(() => {\n this.isLoading.set(false);\n }, 250);\n }\n\n editMessage(comment: AXPComment, reply?: AXPComment) {\n this.isReplyingMode.set(false);\n this.activeReplyComment.set(undefined);\n this.isEditingMode.set(true);\n this.activeEditComment.set(comment);\n const contentToEdit = reply ? reply.content : comment.content;\n this.commentContent.set(contentToEdit);\n document.getElementsByClassName('ql-editor')[0].innerHTML = contentToEdit;\n this.wysiwygEditor().getHostElement().scrollIntoView({ behavior: 'smooth', block: 'start' });\n }\n\n replyMessage(comment: AXPComment, reply?: AXPComment) {\n this.isEditingMode.set(false);\n this.activeEditComment.set(undefined);\n this.isReplyingMode.set(true);\n this.activeReplyComment.set(comment);\n if (reply) {\n const mention = `<a data-id=\"${reply.id}\">@${reply.user.userName}</a> `;\n this.commentContent.set(mention);\n this.wysiwyg()?.focus();\n document.getElementsByClassName('ql-editor')[0].innerHTML = mention;\n }\n this.wysiwygEditor().getHostElement().scrollIntoView({ behavior: 'smooth', block: 'start' });\n }\n\n async deleteComment(comment: AXPComment) {\n const dialog = this.dialogService.open({\n icon: 'fa-regular fa-warning',\n content: 'Are you sure you want to delete this comment?',\n title: 'Delete Comment',\n type: 'danger',\n orientation: 'horizontal',\n buttons: [\n {\n text: 'Delete',\n color: 'danger',\n onClick: async (e: any) => {\n e.handled = true;\n e.source.text = 'Deleting...';\n e.source.disabled = true;\n e.source.loading = true;\n try {\n await this.commentService.delete({ id: comment.id });\n this.removeMessageById(comment.id);\n this.toastService.show({\n content: 'Comment deleted successfully.',\n color: 'success',\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n (this.isEditingMode() && this.activeEditComment()?.id === comment.id) || this.resetReplyEditState;\n dialog.close();\n } catch (error) {\n this.toastService.show({\n content: typeof error === 'string' ? error : 'Failed to delete comment!',\n color: 'danger',\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n }\n },\n },\n {\n text: 'Cancel',\n color: 'ghost',\n autofocus: true,\n onClick: (e) => {\n dialog.close();\n },\n },\n ],\n closeButton: false,\n });\n }\n\n async deleteReply(comment: AXPComment, reply: AXPComment) {\n const dialog = this.dialogService.open({\n icon: 'fa-regular fa-warning',\n content: 'Are you sure you want to delete this reply?',\n title: 'Delete Reply',\n type: 'danger',\n orientation: 'horizontal',\n buttons: [\n {\n text: 'Delete',\n color: 'danger',\n onClick: async (e: any) => {\n e.handled = true;\n e.source.text = 'Deleting...';\n e.source.disabled = true;\n e.source.loading = true;\n try {\n await this.commentService.delete({ id: comment.id });\n this.removeMessageById(comment.id, reply.id);\n this.toastService.show({\n content: 'Comment deleted successfully.',\n color: 'success',\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n dialog.close();\n } catch (error) {\n this.toastService.show({\n content: typeof error === 'string' ? error : 'Failed to delete comment!',\n color: 'danger',\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n }\n },\n },\n {\n text: 'Cancel',\n color: 'ghost',\n autofocus: true,\n onClick: (e) => {\n dialog.close();\n },\n },\n ],\n closeButton: false,\n });\n }\n\n resetReplyEditState() {\n this.isEditingMode.set(false);\n this.activeEditComment.set(undefined);\n this.isReplyingMode.set(false);\n this.activeReplyComment.set(undefined);\n }\n\n async toggleLike(comment: AXPComment, reply?: AXPComment) {\n if (reply) {\n this.updateLikeStatus(comment.id, reply.id);\n const payload: AXPLikeRequest = {\n messageId: reply.id,\n type: 'like',\n };\n\n try {\n await this.commentService.like(payload);\n } catch (error) {\n this.updateLikeStatus(comment.id, reply.id);\n }\n } else {\n this.updateLikeStatus(comment.id);\n const payload: AXPLikeRequest = {\n messageId: comment.id,\n type: 'like',\n };\n\n try {\n await this.commentService.like(payload);\n } catch (error) {\n this.updateLikeStatus(comment.id);\n }\n }\n }\n\n private updateLikeStatus(commentId: string, replyId?: string) {\n this.comments.update((commentsList) => {\n return commentsList.map((comment) => {\n if (comment.id === commentId) {\n if (replyId) {\n const updatedReplies = comment.replies.map((reply) =>\n reply.id === replyId\n ? {\n ...reply,\n isLiked: !reply.isLiked,\n reactionsCount: reply.isLiked ? --reply.reactionsCount : ++reply.reactionsCount,\n }\n : reply\n );\n\n return {\n ...comment,\n replies: updatedReplies,\n };\n } else {\n return {\n ...comment,\n isLiked: !comment.isLiked,\n reactionsCount: comment.isLiked ? --comment.reactionsCount : ++comment.reactionsCount,\n };\n }\n }\n return comment;\n });\n });\n }\n\n private removeMessageById(commentId: string, replyId?: string) {\n this.comments.update((commentsList) =>\n commentsList\n .map((comment) => {\n if (comment.id === commentId) {\n if (replyId) {\n return {\n ...comment,\n replies: comment.replies.filter((reply) => reply.id !== replyId),\n };\n }\n return null;\n }\n return comment;\n })\n .filter((comment) => comment !== null)\n );\n }\n\n async submitComment(isPrivate: boolean = false): Promise<void> {\n debugger;\n if (!this.validateContent(this.commentContent()).result) {\n return;\n }\n\n let memberLookup;\n if (isPrivate) {\n const popupConfig: AXPopupConfig = {\n header: true,\n size: 'md',\n draggable: true,\n hasBackdrop: true,\n closeButton: true,\n closeOnBackdropClick: false,\n };\n const popup = await this.popupService.open(AXPCommentLookupPopup, popupConfig);\n memberLookup = popup.data?.data?.lookup;\n }\n if (this.isEditingMode()) {\n const payload: AXPPutRequest = {\n id: this.activeEditComment()?.id,\n content: this.commentContent(),\n } as AXPPutRequest;\n await this.commentService.put(payload);\n this.isSubmitting.set(true);\n this.hasCooldown.set(true);\n this.isEditingMode.set(false);\n this.activeEditComment.set(undefined);\n } else {\n const payload: AXPPostRequest = {\n ...this.payload(),\n content: this.commentContent(),\n contentType: 'text',\n isPrivate: isPrivate,\n replyId: this.activeReplyComment()?.id,\n members: isPrivate ? [memberLookup] : [],\n } as AXPPostRequest;\n await this.commentService.post(payload);\n this.isSubmitting.set(true);\n this.hasCooldown.set(true);\n\n this.isReplyingMode.set(false);\n this.activeReplyComment.set(undefined);\n }\n const response = await this.commentService.get(this.payload());\n this.comments.set(response.items);\n this.commentContent.set('');\n document.getElementsByClassName('ql-editor')[0].innerHTML = '';\n this.isSubmitting.set(false);\n setTimeout(() => {\n this.hasCooldown.set(false);\n }, 1000);\n }\n\n scrollMain() {\n console.log('clicked');\n // debugger\n const comment = this.isReplyingMode() ? this.activeReplyComment() : this.activeEditComment();\n const el = document.getElementById((comment as AXPComment).id);\n if (el) {\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\n const content = el?.firstElementChild as HTMLElement;\n const prevBg = content.style.background;\n content.style.borderRadius = '0.25rem';\n content.style.transition = 'background 1s ease-in-out';\n content.style.background = '#e2fffc';\n setTimeout(() => {\n content.style.background = prevBg || 'rgba(0, 0, 0, 0)';\n }, 1000);\n }\n }\n}\n","<div class=\"ax-mt-2\">\n <ax-comment-container>\n @if(isLoading()){\n <div class=\"ax-flex ax-items-center ax-py-12 ax-bg-surface ax-px-5\">\n <ax-skeleton class=\"ax-min-w-16 ax-h-16 ax-rounded-full ax-me-4\"></ax-skeleton>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-w-full\">\n <ax-skeleton class=\"ax-w-full ax-h-6 ax-rounded\"></ax-skeleton>\n <ax-skeleton class=\"ax-w-full ax-h-2 ax-rounded-full\"></ax-skeleton>\n <ax-skeleton class=\"ax-w-full ax-h-2 ax-rounded-full\"></ax-skeleton>\n <ax-skeleton class=\"ax-w-8/12 ax-h-2 ax-rounded-full\"></ax-skeleton>\n </div>\n </div>\n } @else if(!isLoading() && comments().length > 0){\n <ax-comment-view class=\"ax-bg-surface\">\n @for(comment of comments(); track comment.id){\n <ax-comment-item [id]=\"comment.id\" [replyCount]=\"comment.replies.length\">\n <ax-avatar [color]=\"avatarConfig().color\" [look]=\"avatarConfig().look\">\n @if(checkImageExists(comment.id) && comment.user.picture){\n <ax-image (onError)=\"handleImageError(comment.id)\" [src]=\"comment.user.picture\">\n <ax-loading></ax-loading>\n </ax-image>\n }@else{\n <ax-text>\n <span class=\"ax-text-base ax-overflow-hidden\">{{\n extractInitials(comment.user.firstName + ' ' + comment.user.lastName)\n }}</span>\n </ax-text>\n }\n </ax-avatar>\n <ax-title>{{ comment.user.firstName + ' ' + comment.user.lastName }}</ax-title>\n <ax-comment-date>{{ time | format : 'timeleft' | async }} </ax-comment-date>\n <ax-comment-menu-options>\n <ax-button class=\"ax-sm\" look=\"blank\" color=\"secondary\">\n <ax-icon icon=\"ax-icon ax-icon-solid ax-icon-more-horizontal\"></ax-icon>\n </ax-button>\n\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Edit\" color=\"secondary\" (click)=\"editMessage(comment)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-edit\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n <ax-button-item text=\"Delete\" color=\"danger\" (click)=\"deleteComment(comment)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-comment-menu-options>\n <ax-content [innerHTML]=\"sanitizeHtml(comment.content)\"></ax-content>\n <ax-comment-like (click)=\"toggleLike(comment)\" [liked]=\"comment.isLiked\">\n {{ comment.reactionsCount }}\n </ax-comment-like>\n <ax-comment-reply-text (click)=\"replyMessage(comment)\"></ax-comment-reply-text>\n @for(reply of comment.replies; track reply.id){\n <ax-comment-item [id]=\"reply.id\">\n <ax-avatar [color]=\"avatarConfig().color\" [look]=\"avatarConfig().look\">\n @if(checkImageExists(reply.id) && reply.user.picture){\n <ax-image (onError)=\"handleImageError(reply.id)\" [src]=\"reply.user.picture\">\n <ax-loading></ax-loading>\n </ax-image>\n }@else{\n <ax-text>\n <span class=\"ax-text-base ax-overflow-hidden\">{{\n extractInitials(reply.user.firstName + ' ' + reply.user.lastName)\n }}</span>\n </ax-text>\n }\n </ax-avatar>\n <ax-title>{{ (reply?.user?.firstName ?? '') + ' ' + (reply?.user?.lastName ?? '') }}</ax-title>\n <ax-comment-menu-options>\n <ax-button class=\"ax-sm\" look=\"blank\" color=\"secondary\">\n <ax-icon icon=\"ax-icon ax-icon-solid ax-icon-more-horizontal\"></ax-icon>\n </ax-button>\n\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Edit\" color=\"secondary\" (click)=\"editMessage(comment, reply)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-edit\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item text=\"Delete\" color=\"danger\" (click)=\"deleteReply(comment, reply)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-comment-menu-options>\n <ax-content [innerHTML]=\"sanitizeHtml(reply.content)\"></ax-content>\n <ax-comment-like (click)=\"toggleLike(comment, reply)\" [liked]=\"reply.isLiked\">\n {{ reply.reactionsCount }}\n </ax-comment-like>\n <ax-comment-reply-text (click)=\"replyMessage(comment, reply)\"></ax-comment-reply-text>\n </ax-comment-item>\n }\n </ax-comment-item>\n } </ax-comment-view\n >} @else{\n <div>\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-justify-center ax-items-center ax-p-10\">\n <svg\n class=\"ax-mx-auto\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"154\"\n height=\"161\"\n viewBox=\"0 0 154 161\"\n fill=\"none\"\n >\n <path\n d=\"M0.0616455 84.4268C0.0616455 42.0213 34.435 7.83765 76.6507 7.83765C118.803 7.83765 153.224 42.0055 153.224 84.4268C153.224 102.42 147.026 118.974 136.622 132.034C122.282 150.138 100.367 161 76.6507 161C52.7759 161 30.9882 150.059 16.6633 132.034C6.25961 118.974 0.0616455 102.42 0.0616455 84.4268Z\"\n fill=\"#EEF2FF\"\n />\n <path\n d=\"M96.8189 0.632498L96.8189 0.632384L96.8083 0.630954C96.2034 0.549581 95.5931 0.5 94.9787 0.5H29.338C22.7112 0.5 17.3394 5.84455 17.3394 12.4473V142.715C17.3394 149.318 22.7112 154.662 29.338 154.662H123.948C130.591 154.662 135.946 149.317 135.946 142.715V38.9309C135.946 38.0244 135.847 37.1334 135.648 36.2586L135.648 36.2584C135.117 33.9309 133.874 31.7686 132.066 30.1333C132.066 30.1331 132.065 30.1329 132.065 30.1327L103.068 3.65203C103.068 3.6519 103.067 3.65177 103.067 3.65164C101.311 2.03526 99.1396 0.995552 96.8189 0.632498Z\"\n fill=\"white\"\n stroke=\"#E5E7EB\"\n />\n <ellipse cx=\"80.0618\" cy=\"81\" rx=\"28.0342\" ry=\"28.0342\" fill=\"#EEF2FF\" />\n <path\n d=\"M99.2393 61.3061L99.2391 61.3058C88.498 50.5808 71.1092 50.5804 60.3835 61.3061C49.6423 72.0316 49.6422 89.4361 60.3832 100.162C71.109 110.903 88.4982 110.903 99.2393 100.162C109.965 89.4363 109.965 72.0317 99.2393 61.3061ZM105.863 54.6832C120.249 69.0695 120.249 92.3985 105.863 106.785C91.4605 121.171 68.1468 121.171 53.7446 106.785C39.3582 92.3987 39.3582 69.0693 53.7446 54.683C68.1468 40.2965 91.4605 40.2966 105.863 54.6832Z\"\n stroke=\"#E5E7EB\"\n />\n <path\n d=\"M110.782 119.267L102.016 110.492C104.888 108.267 107.476 105.651 109.564 102.955L118.329 111.729L110.782 119.267Z\"\n stroke=\"#E5E7EB\"\n />\n <path\n d=\"M139.122 125.781L139.122 125.78L123.313 109.988C123.313 109.987 123.313 109.987 123.312 109.986C121.996 108.653 119.849 108.657 118.521 109.985L118.871 110.335L118.521 109.985L109.047 119.459C107.731 120.775 107.735 122.918 109.044 124.247L109.047 124.249L124.858 140.06C128.789 143.992 135.191 143.992 139.122 140.06C143.069 136.113 143.069 129.728 139.122 125.781Z\"\n fill=\"#A5B4FC\"\n stroke=\"#818CF8\"\n />\n <path\n d=\"M83.185 87.2285C82.5387 87.2285 82.0027 86.6926 82.0027 86.0305C82.0027 83.3821 77.9987 83.3821 77.9987 86.0305C77.9987 86.6926 77.4627 87.2285 76.8006 87.2285C76.1543 87.2285 75.6183 86.6926 75.6183 86.0305C75.6183 80.2294 84.3831 80.2451 84.3831 86.0305C84.3831 86.6926 83.8471 87.2285 83.185 87.2285Z\"\n fill=\"#4F46E5\"\n />\n <path\n d=\"M93.3528 77.0926H88.403C87.7409 77.0926 87.2049 76.5567 87.2049 75.8946C87.2049 75.2483 87.7409 74.7123 88.403 74.7123H93.3528C94.0149 74.7123 94.5509 75.2483 94.5509 75.8946C94.5509 76.5567 94.0149 77.0926 93.3528 77.0926Z\"\n fill=\"#4F46E5\"\n />\n <path\n d=\"M71.5987 77.0925H66.6488C65.9867 77.0925 65.4507 76.5565 65.4507 75.8945C65.4507 75.2481 65.9867 74.7122 66.6488 74.7122H71.5987C72.245 74.7122 72.781 75.2481 72.781 75.8945C72.781 76.5565 72.245 77.0925 71.5987 77.0925Z\"\n fill=\"#4F46E5\"\n />\n <rect x=\"38.3522\" y=\"21.5128\" width=\"41.0256\" height=\"2.73504\" rx=\"1.36752\" fill=\"#4F46E5\" />\n <rect x=\"38.3522\" y=\"133.65\" width=\"54.7009\" height=\"5.47009\" rx=\"2.73504\" fill=\"#A5B4FC\" />\n <rect x=\"38.3522\" y=\"29.7179\" width=\"13.6752\" height=\"2.73504\" rx=\"1.36752\" fill=\"#4F46E5\" />\n <circle cx=\"56.13\" cy=\"31.0854\" r=\"1.36752\" fill=\"#4F46E5\" />\n <circle cx=\"61.6001\" cy=\"31.0854\" r=\"1.36752\" fill=\"#4F46E5\" />\n <circle cx=\"67.0702\" cy=\"31.0854\" r=\"1.36752\" fill=\"#4F46E5\" />\n </svg>\n <div>\n <h2 class=\"ax-text-center ax-text-neutral-600 ax-font-semibold ax-leading-loose ax-pb-2\">\n There is no Comment!\n </h2>\n </div>\n </div>\n </div>\n }\n </ax-comment-container>\n <ax-form>\n <ax-form-field>\n <div>\n @if(isReplyingMode() || isEditingMode()){\n <div\n class=\"ax-flex ax-justify-between ax-rounded-b-none ax-border ax-border-b-0 ax-rounded-lg ax-bg-on-surface ax-px-6 ax-py-3 ax-w-full ax-items-center ax-overflow-hidden ax-text-sm ax-leading-none\"\n >\n <div (click)=\"scrollMain()\" class=\"ax-flex ax-justify-start ax-items-center ax-cursor-pointer\">\n <i\n [class]=\"isReplyingMode() ? 'fa-reply' : 'fa-pen'\"\n class=\"fa-solid ax-text-primary-500 dark:ax-text-primary-300 ax-text-2xl ax-me-4\"\n ></i>\n <div\n class=\"ax-flex ax-flex-col ax-gap-2 ax-justify-between ax-align-middle ax-leading-4 ax-overflow-hidden\"\n >\n <p class=\"ax-text-primary-500 dark:ax-text-primary-300\">\n {{ isReplyingMode() ? 'Reply to ' : 'Edit Message' }}\n <span class=\"ax-font-bold\">\n {{\n isReplyingMode()\n ? activeReplyComment()?.user?.firstName + ' ' + activeReplyComment()?.user?.lastName\n : ''\n }}\n </span>\n </p>\n <div\n class=\"ax-truncate\"\n [innerHTML]=\"\n isReplyingMode()\n ? sanitizeHtml(activeReplyComment()?.content ?? '')\n : sanitizeHtml(activeEditComment()?.content ?? '')\n \"\n ></div>\n </div>\n </div>\n <div><i (click)=\"resetReplyEditState()\" class=\"fa-solid ax-text-2xl fa-xmark ax-cursor-pointer\"></i></div>\n </div>\n }\n <ax-wysiwyg-container #w [look]=\"wysiwygOptions().look\" [(ngModel)]=\"commentContent\">\n <ax-wysiwyg-view class=\"ax-min-h-28\"></ax-wysiwyg-view>\n <ax-wysiwyg-toolbar>\n <ax-wysiwyg-history></ax-wysiwyg-history>\n <ax-wysiwyg-font-style></ax-wysiwyg-font-style>\n <ax-wysiwyg-colors></ax-wysiwyg-colors>\n <ax-wysiwyg-list></ax-wysiwyg-list>\n <ax-wysiwyg-alignment></ax-wysiwyg-alignment>\n <ax-suffix>\n <ax-dropdown-button\n [disabled]=\"hasCooldown()\"\n type=\"submit\"\n color=\"primary\"\n mode=\"split\"\n text=\"Send\"\n (onClick)=\"submitComment()\"\n >\n @if(isSubmitting()){ <ax-loading></ax-loading> }\n <ax-button-item-list>\n <ax-button-item (click)=\"submitComment(true)\" text=\"Send Private ...\" name=\"private\" data=\"private\">\n <ax-prefix>\n <ax-icon icon=\"fa-regular fa-user-secret\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n </ax-suffix>\n </ax-wysiwyg-toolbar>\n <ax-validation-rule rule=\"callback\" [options]=\"{ validate: validateContent }\"></ax-validation-rule>\n </ax-wysiwyg-container>\n </div>\n </ax-form-field>\n </ax-form>\n</div>\n","import { NgModule } from '@angular/core';\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n})\nexport class AXPSharedModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3","i2"],"mappings":"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"}