verben-workflow-ui 0.5.77 → 0.5.79

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 (196) hide show
  1. package/README.md +13 -0
  2. package/esm2022/src/lib/components/actors/actors.component.mjs +5 -5
  3. package/esm2022/src/lib/components/actors/actors.facade.mjs +3 -3
  4. package/esm2022/src/lib/components/actors/actors.form.component.mjs +5 -5
  5. package/esm2022/src/lib/components/actors/actors.module.mjs +4 -4
  6. package/esm2022/src/lib/components/actors/actors.service.mjs +3 -3
  7. package/esm2022/src/lib/components/actors/actors.state.mjs +3 -3
  8. package/esm2022/src/lib/components/designer/components/label-editor.component.mjs +6 -6
  9. package/esm2022/src/lib/components/designer/components/node-selector.component.mjs +4 -4
  10. package/esm2022/src/lib/components/designer/components/swimlane-label.component.mjs +3 -3
  11. package/esm2022/src/lib/components/designer/components/swimlane-popup.component.mjs +3 -3
  12. package/esm2022/src/lib/components/designer/components/wf-canvas.component.mjs +6 -6
  13. package/esm2022/src/lib/components/designer/components/wf-designer.component.mjs +3 -3
  14. package/esm2022/src/lib/components/designer/components/wf-toolbar.component.mjs +6 -6
  15. package/esm2022/src/lib/components/designer/services/canvas-state.service.mjs +3 -3
  16. package/esm2022/src/lib/components/designer/services/connection-segment-interaction.service.mjs +3 -3
  17. package/esm2022/src/lib/components/designer/services/connection.service.mjs +3 -3
  18. package/esm2022/src/lib/components/designer/services/keyboard-handler.service.mjs +3 -3
  19. package/esm2022/src/lib/components/designer/services/label-management.service.mjs +3 -3
  20. package/esm2022/src/lib/components/designer/services/node-finder.service.mjs +3 -3
  21. package/esm2022/src/lib/components/designer/services/node-interaction.service.mjs +3 -3
  22. package/esm2022/src/lib/components/designer/services/node-precondition.service.mjs +3 -3
  23. package/esm2022/src/lib/components/designer/services/node-selection.service.mjs +3 -3
  24. package/esm2022/src/lib/components/designer/services/orthogonal-router.service.mjs +3 -3
  25. package/esm2022/src/lib/components/designer/services/position-update.service.mjs +3 -3
  26. package/esm2022/src/lib/components/designer/services/rendering.service.mjs +3 -3
  27. package/esm2022/src/lib/components/designer/services/swimlane-management.service.mjs +3 -3
  28. package/esm2022/src/lib/components/designer/services/swimlane-stats.service.mjs +3 -3
  29. package/esm2022/src/lib/components/designer/services/viewport.service.mjs +3 -3
  30. package/esm2022/src/lib/components/designer/services/wf-facade.service.mjs +3 -3
  31. package/esm2022/src/lib/components/designer/services/wf-mapper.service.mjs +3 -3
  32. package/esm2022/src/lib/components/designer/services/wf-persistence.service.mjs +3 -3
  33. package/esm2022/src/lib/components/designer/services/wf-state.service.mjs +3 -3
  34. package/esm2022/src/lib/components/expiration/expiration.component.mjs +3 -3
  35. package/esm2022/src/lib/components/expiration/expiration.module.mjs +4 -4
  36. package/esm2022/src/lib/components/file-render/file-render.component.mjs +5 -5
  37. package/esm2022/src/lib/components/file-render/file-render.module.mjs +4 -4
  38. package/esm2022/src/lib/components/file-upload/file-upload.component.mjs +5 -5
  39. package/esm2022/src/lib/components/file-upload/file-upload.module.mjs +4 -4
  40. package/esm2022/src/lib/components/flowable-status/flowable-status.component.mjs +5 -5
  41. package/esm2022/src/lib/components/flowable-status/flowable-status.facade.mjs +3 -3
  42. package/esm2022/src/lib/components/flowable-status/flowable-status.form.component.mjs +5 -5
  43. package/esm2022/src/lib/components/flowable-status/flowable-status.module.mjs +4 -4
  44. package/esm2022/src/lib/components/flowable-status/flowable-status.service.mjs +3 -3
  45. package/esm2022/src/lib/components/flowable-status/flowable-status.state.mjs +3 -3
  46. package/esm2022/src/lib/components/form-control/form-control.component.mjs +5 -5
  47. package/esm2022/src/lib/components/form-control/form-control.module.mjs +4 -4
  48. package/esm2022/src/lib/components/form-group/base-table-style.mjs +6 -6
  49. package/esm2022/src/lib/components/form-group/form-fields/form-fields.component.mjs +32 -15
  50. package/esm2022/src/lib/components/form-group/form-fields/form-fields.module.mjs +4 -4
  51. package/esm2022/src/lib/components/form-group/form-fields/form-fields.service.mjs +3 -3
  52. package/esm2022/src/lib/components/form-group/form-group.component.mjs +64 -13
  53. package/esm2022/src/lib/components/form-group/form-group.module.mjs +10 -6
  54. package/esm2022/src/lib/components/form-group/form-group.service.mjs +9 -4
  55. package/esm2022/src/lib/components/form-response/form-response.component.mjs +5 -5
  56. package/esm2022/src/lib/components/form-response/form-response.module.mjs +4 -4
  57. package/esm2022/src/lib/components/form-response/form-response.service.mjs +3 -3
  58. package/esm2022/src/lib/components/form-timer/form-timer.component.mjs +5 -5
  59. package/esm2022/src/lib/components/form-timer/form-timer.module.mjs +4 -4
  60. package/esm2022/src/lib/components/forms/base-table-style.mjs +6 -6
  61. package/esm2022/src/lib/components/forms/forms.component.mjs +8 -8
  62. package/esm2022/src/lib/components/forms/forms.module.mjs +4 -4
  63. package/esm2022/src/lib/components/forms/forms.service.mjs +3 -3
  64. package/esm2022/src/lib/components/journal/journal.component.mjs +3 -3
  65. package/esm2022/src/lib/components/journal/journal.module.mjs +4 -4
  66. package/esm2022/src/lib/components/my-queue/my-queue.component.mjs +7 -7
  67. package/esm2022/src/lib/components/my-queue/my-queue.facade.mjs +6 -41
  68. package/esm2022/src/lib/components/my-queue/my-queue.module.mjs +4 -4
  69. package/esm2022/src/lib/components/my-queue/my-queue.service.mjs +3 -3
  70. package/esm2022/src/lib/components/my-queue/my-queue.state.mjs +3 -3
  71. package/esm2022/src/lib/components/my-queue/tasks.form.component.mjs +5 -5
  72. package/esm2022/src/lib/components/operation-popup/operation-popup.component.mjs +5 -5
  73. package/esm2022/src/lib/components/operation-popup/operation-popup.facade.mjs +3 -3
  74. package/esm2022/src/lib/components/operation-popup/operation-popup.service.mjs +3 -3
  75. package/esm2022/src/lib/components/operation-popup/operation-popup.state.mjs +3 -3
  76. package/esm2022/src/lib/components/stage-details/stage-details.component.mjs +5 -5
  77. package/esm2022/src/lib/components/stage-details/stage-details.module.mjs +4 -4
  78. package/esm2022/src/lib/components/task-form/task-form.component.mjs +5 -5
  79. package/esm2022/src/lib/components/task-form/task-form.module.mjs +4 -4
  80. package/esm2022/src/lib/components/task-history/task-history.component.mjs +5 -5
  81. package/esm2022/src/lib/components/task-history/task-history.module.mjs +4 -4
  82. package/esm2022/src/lib/components/task-history/task-history.service.mjs +3 -3
  83. package/esm2022/src/lib/components/task-notification/base-table-style.mjs +6 -6
  84. package/esm2022/src/lib/components/task-notification/task-notification.component.mjs +5 -5
  85. package/esm2022/src/lib/components/task-notification/task-notification.module.mjs +4 -4
  86. package/esm2022/src/lib/components/task-notification/task-notification.service.mjs +3 -3
  87. package/esm2022/src/lib/components/tasks/tasks.component.mjs +5 -5
  88. package/esm2022/src/lib/components/tasks/tasks.facade.mjs +3 -3
  89. package/esm2022/src/lib/components/tasks/tasks.form.component.mjs +5 -5
  90. package/esm2022/src/lib/components/tasks/tasks.module.mjs +4 -4
  91. package/esm2022/src/lib/components/tasks/tasks.service.mjs +3 -3
  92. package/esm2022/src/lib/components/tasks/tasks.state.mjs +3 -3
  93. package/esm2022/src/lib/components/wf/wf.component.mjs +3 -3
  94. package/esm2022/src/lib/components/wf/wf.module.mjs +4 -4
  95. package/esm2022/src/lib/components/wf/wf.service.mjs +3 -3
  96. package/esm2022/src/lib/components/workflow/table-style.mjs +6 -6
  97. package/esm2022/src/lib/components/workflow/workflow.component.mjs +8 -8
  98. package/esm2022/src/lib/components/workflow/workflow.module.mjs +4 -4
  99. package/esm2022/src/lib/components/workflow-designer/action-dialog/action-dialog.component.mjs +5 -5
  100. package/esm2022/src/lib/components/workflow-designer/actor-tags-dialog/actor-tags-dialog.component.mjs +5 -5
  101. package/esm2022/src/lib/components/workflow-designer/conditions-popup/conditions-popup.component.mjs +3 -3
  102. package/esm2022/src/lib/components/workflow-designer/decision-popup/decision-popup.component.mjs +4 -4
  103. package/esm2022/src/lib/components/workflow-designer/designer-canvas/designer-canvas.component.mjs +3 -3
  104. package/esm2022/src/lib/components/workflow-designer/designer-toolbar/designer-toolbar.component.mjs +5 -5
  105. package/esm2022/src/lib/components/workflow-designer/escalation-dialog/escalation-dialog.component.mjs +5 -5
  106. package/esm2022/src/lib/components/workflow-designer/services/connection.service.mjs +3 -3
  107. package/esm2022/src/lib/components/workflow-designer/services/node-management.service.mjs +3 -3
  108. package/esm2022/src/lib/components/workflow-designer/services/popup.service.mjs +3 -3
  109. package/esm2022/src/lib/components/workflow-designer/services/swimlane.service.mjs +3 -3
  110. package/esm2022/src/lib/components/workflow-designer/services/transformer.service.mjs +3 -3
  111. package/esm2022/src/lib/components/workflow-designer/stage-dialog/stage-dialog.component.mjs +5 -5
  112. package/esm2022/src/lib/components/workflow-designer/stage-node/stage-node.component.mjs +5 -5
  113. package/esm2022/src/lib/components/workflow-designer/swimlane-dialog/swimlane-dialog.component.mjs +5 -5
  114. package/esm2022/src/lib/components/workflow-designer/workflow-data.service.mjs +3 -3
  115. package/esm2022/src/lib/components/workflow-designer/workflow-designer.component.mjs +4 -4
  116. package/esm2022/src/lib/components/workflow-designer/workflow-designer.module.mjs +4 -4
  117. package/esm2022/src/lib/components/workflow-designer/workflow-designer.state.mjs +3 -3
  118. package/esm2022/src/lib/components/workflows/workflow-form/workflow-form.component.mjs +5 -5
  119. package/esm2022/src/lib/components/workflows/workflows.component.mjs +5 -5
  120. package/esm2022/src/lib/components/workflows/workflows.facade.mjs +3 -3
  121. package/esm2022/src/lib/components/workflows/workflows.module.mjs +4 -4
  122. package/esm2022/src/lib/components/workflows/workflows.service.mjs +3 -3
  123. package/esm2022/src/lib/components/workflows/workflows.state.mjs +3 -3
  124. package/esm2022/src/lib/models/DataType.mjs +7 -1
  125. package/esm2022/src/lib/models/EAVEntity.mjs +2 -0
  126. package/esm2022/src/lib/models/FormEntity.mjs +1 -1
  127. package/esm2022/src/lib/models/public-api.mjs +2 -1
  128. package/esm2022/src/lib/pipes/async-label.pipe.mjs +3 -3
  129. package/esm2022/src/lib/services/environment.service.mjs +3 -3
  130. package/esm2022/src/lib/services/http-web-request.service.mjs +3 -3
  131. package/esm2022/src/lib/services/label.service.mjs +3 -3
  132. package/esm2022/src/lib/services/util.service.mjs +3 -3
  133. package/esm2022/src/lib/shared/base-table-style.mjs +6 -6
  134. package/esm2022/src/lib/shared/components/base-data-view.component.mjs +3 -3
  135. package/esm2022/src/lib/shared/shared.module.mjs +4 -4
  136. package/fesm2022/verben-workflow-ui-src-lib-components-actors.mjs +21 -21
  137. package/fesm2022/verben-workflow-ui-src-lib-components-actors.mjs.map +1 -1
  138. package/fesm2022/verben-workflow-ui-src-lib-components-designer.mjs +85 -85
  139. package/fesm2022/verben-workflow-ui-src-lib-components-designer.mjs.map +1 -1
  140. package/fesm2022/verben-workflow-ui-src-lib-components-expiration.mjs +7 -7
  141. package/fesm2022/verben-workflow-ui-src-lib-components-expiration.mjs.map +1 -1
  142. package/fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs +8 -8
  143. package/fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs.map +1 -1
  144. package/fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs +8 -8
  145. package/fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs.map +1 -1
  146. package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs +21 -21
  147. package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs.map +1 -1
  148. package/fesm2022/verben-workflow-ui-src-lib-components-form-control.mjs +8 -8
  149. package/fesm2022/verben-workflow-ui-src-lib-components-form-control.mjs.map +1 -1
  150. package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs +120 -43
  151. package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs.map +1 -1
  152. package/fesm2022/verben-workflow-ui-src-lib-components-form-response.mjs +11 -11
  153. package/fesm2022/verben-workflow-ui-src-lib-components-form-response.mjs.map +1 -1
  154. package/fesm2022/verben-workflow-ui-src-lib-components-form-timer.mjs +8 -8
  155. package/fesm2022/verben-workflow-ui-src-lib-components-form-timer.mjs.map +1 -1
  156. package/fesm2022/verben-workflow-ui-src-lib-components-forms.mjs +16 -16
  157. package/fesm2022/verben-workflow-ui-src-lib-components-forms.mjs.map +1 -1
  158. package/fesm2022/verben-workflow-ui-src-lib-components-journal.mjs +7 -7
  159. package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs +25 -60
  160. package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs.map +1 -1
  161. package/fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs +13 -13
  162. package/fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs.map +1 -1
  163. package/fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs +8 -8
  164. package/fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs.map +1 -1
  165. package/fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs +8 -8
  166. package/fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs.map +1 -1
  167. package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs +11 -11
  168. package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs.map +1 -1
  169. package/fesm2022/verben-workflow-ui-src-lib-components-task-notification.mjs +16 -16
  170. package/fesm2022/verben-workflow-ui-src-lib-components-task-notification.mjs.map +1 -1
  171. package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs +21 -21
  172. package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs.map +1 -1
  173. package/fesm2022/verben-workflow-ui-src-lib-components-wf.mjs +10 -10
  174. package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs +67 -67
  175. package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs.map +1 -1
  176. package/fesm2022/verben-workflow-ui-src-lib-components-workflow.mjs +16 -16
  177. package/fesm2022/verben-workflow-ui-src-lib-components-workflow.mjs.map +1 -1
  178. package/fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs +21 -21
  179. package/fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs.map +1 -1
  180. package/fesm2022/verben-workflow-ui-src-lib-models.mjs +6 -0
  181. package/fesm2022/verben-workflow-ui-src-lib-models.mjs.map +1 -1
  182. package/fesm2022/verben-workflow-ui-src-lib-pipes.mjs +3 -3
  183. package/fesm2022/verben-workflow-ui-src-lib-services.mjs +12 -12
  184. package/fesm2022/verben-workflow-ui-src-lib-shared.mjs +12 -12
  185. package/fesm2022/verben-workflow-ui-src-lib-shared.mjs.map +1 -1
  186. package/package.json +20 -20
  187. package/src/lib/components/form-group/form-fields/form-fields.component.d.ts +1 -0
  188. package/src/lib/components/form-group/form-group.component.d.ts +6 -1
  189. package/src/lib/components/form-group/form-group.module.d.ts +3 -2
  190. package/src/lib/components/my-queue/my-queue.facade.d.ts +0 -1
  191. package/src/lib/components/workflow/workflow.component.d.ts +1 -1
  192. package/src/lib/models/DataType.d.ts +7 -1
  193. package/src/lib/models/EAVEntity.d.ts +4 -0
  194. package/src/lib/models/FormEntity.d.ts +1 -0
  195. package/src/lib/models/public-api.d.ts +1 -0
  196. package/styles/styles.css +19 -1436
@@ -1 +1 @@
1
- {"version":3,"file":"verben-workflow-ui-src-lib-components-task-notification.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/task-notification/base-table-style.ts","../../../projects/verben-workflow-ui/src/lib/components/task-notification/task-notification.service.ts","../../../projects/verben-workflow-ui/src/lib/components/task-notification/task-notification.component.ts","../../../projects/verben-workflow-ui/src/lib/components/task-notification/task-notification.component.html","../../../projects/verben-workflow-ui/src/lib/components/task-notification/task-notification.module.ts","../../../projects/verben-workflow-ui/src/lib/components/task-notification/verben-workflow-ui-src-lib-components-task-notification.ts"],"sourcesContent":["export const baseStyle: any = {\n width: '100%',\n fontFamily: '\"Fraunces\", serif',\n fontSize: '125%',\n whiteSpace: 'nowrap',\n margin: '0',\n border: '1px solid #D4A007',\n borderRadius: '16px',\n borderCollapse: 'separate',\n borderSpacing: '0',\n // tableLayout: 'fixed',\n overflow: 'hidden',\n rows: {\n even: {\n backgroundColor: '#FDFDFD',\n },\n odd: {\n backgroundColor: '#F1F4FB',\n },\n height: '68px',\n },\n cells: {\n padding: '0.5rem 1rem',\n },\n header: {\n // stickyTop: true,\n // zIndex: 2,\n backgroundColor: '#EFF2FB',\n fontWeight: 'bold',\n textAlign: 'left',\n padding: '12px 16px',\n height: '30px',\n },\n footer: {\n // stickyBottom: true,\n // zIndex: 2,\n padding: '3px',\n },\n // body: {\n // background: '#fff',\n // padding: '4px 5px',\n // textAlign: 'center',\n // },\n // firstColumn: {\n // stickyLeft: true,\n // zIndex: 1,\n // },\n lastColumn: {\n // stickyRight: true,\n // zIndex: 1,\n },\n};\n","import { Injectable } from '@angular/core';\nimport { ColumnDefinition, DropdownLoadEvent } from 'verben-ng-ui';\nimport { ErrorResponse, MailConfig, PagedResult, ReportSchedule, SearchDynamicWrapper, SearchOperator, SearchPropertySign, SMSConfig, SortDirection, TaskNotification } from 'verben-workflow-ui/src/lib/models';\nimport { EnvironmentService, HttpWebRequestService, UtilService } from 'verben-workflow-ui/src/lib/services';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TaskNotificationService {\n pageSize: number = 10;\n constructor(\n private utilService: UtilService,\n private server: HttpWebRequestService,\n private envSvc: EnvironmentService\n ) { }\n\n get taskNotificationColumns(): ColumnDefinition<TaskNotification>[] {\n return [\n {\n id: 'select',\n header: '',\n },\n {\n id: 'createdAt',\n header: 'CREATED',\n accessorKey: 'CreatedAt',\n },\n // {\n // id: 'code',\n // header: 'CODE',\n // accessorKey: 'Code',\n // },\n {\n id: 'name',\n header: 'NAME',\n accessorFn: (row: TaskNotification) => {\n return row;\n },\n },\n {\n id: 'subject',\n header: 'SUBJECT',\n accessorFn: (row: TaskNotification) => {\n return row;\n },\n },\n {\n id: 'notificationType',\n header: 'NOTIFICATION TYPE',\n accessorFn: (row: TaskNotification) => {\n return row;\n },\n },\n {\n id: 'medium',\n header: 'MEDIUM',\n accessorFn: (row: TaskNotification) => {\n return row;\n },\n },\n {\n id: 'senderConfig',\n header: 'SENDER CONFIG',\n accessorFn: (row: TaskNotification) => {\n return row;\n },\n },\n // {\n // id: 'isMessageId',\n // header: 'IS MESSAGE ID',\n // accessorFn: (row: TaskNotification) => {\n // return row;\n // },\n // },\n {\n id: 'actions',\n header: 'ACTIONS',\n accessorFn: (row: TaskNotification) => {\n return row;\n },\n },\n ];\n }\n\n async getAllReportSchedules(): Promise<ReportSchedule[] | undefined> {\n const fields: string[] = ['Code', 'Name'];\n return await this.loadEntitiesOld<ReportSchedule>(\n 'ReportSchedule',\n fields,\n this.envSvc.environment.ReportingAPI\n );\n }\n\n async loadMoreReportSchedules(\n event: DropdownLoadEvent\n ): Promise<ReportSchedule[]> {\n const fields: string[] = ['Code', 'Name'];\n return await this.loadEntitiesOld<ReportSchedule>(\n 'ReportSchedule',\n fields,\n this.envSvc.environment.ReportingAPI,\n event\n );\n }\n\n async searchReportSchedules(\n param: string,\n event: DropdownLoadEvent\n ): Promise<ReportSchedule[]> {\n const fields: string[] = ['Code', 'Name'];\n const searchBy: string[] = ['Code', 'Name'];\n return await this.searchEntitiesOld<ReportSchedule>(\n 'ReportSchedule',\n fields,\n searchBy,\n this.envSvc.environment.ReportingAPI,\n param,\n event\n );\n }\n\n async getAsyncReportScheduleLabel(value: string): Promise<string> {\n return await this.getAsyncLabelOld(\n 'ReportSchedule',\n 'Name',\n value,\n this.envSvc.environment.ReportingAPI\n );\n }\n\n async getAllSMSConfigs(): Promise<SMSConfig[] | undefined> {\n const fields: string[] = ['Code', 'Name'];\n return await this.loadEntities<SMSConfig>(\n 'SMSConfig',\n fields,\n this.envSvc.environment.MessagingAPI\n );\n }\n\n async loadMoreSMSConfigs(event: DropdownLoadEvent): Promise<SMSConfig[]> {\n const fields: string[] = ['Code', 'Name'];\n return await this.loadEntities<SMSConfig>(\n 'SMSConfig',\n fields,\n this.envSvc.environment.MessagingAPI,\n event\n );\n }\n\n async searchSMSConfigs(\n param: string,\n event: DropdownLoadEvent\n ): Promise<SMSConfig[]> {\n const fields: string[] = ['Code', 'Name'];\n const searchBy: string[] = ['Code', 'Name'];\n return await this.searchEntities<SMSConfig>(\n 'SMSConfig',\n fields,\n searchBy,\n this.envSvc.environment.MessagingAPI,\n param,\n event\n );\n }\n\n async getAsyncSMSConfigLabel(value: string): Promise<string> {\n return await this.getAsyncLabel(\n 'SMSConfig',\n 'Name',\n value,\n this.envSvc.environment.MessagingAPI\n );\n }\n async getAllMailConfigs(): Promise<MailConfig[] | undefined> {\n const fields: string[] = ['Code', 'Name'];\n return await this.loadEntities<MailConfig>(\n 'MailConfig',\n fields,\n this.envSvc.environment.MessagingAPI\n );\n }\n\n async loadMoreMailConfigs(event: DropdownLoadEvent): Promise<MailConfig[]> {\n const fields: string[] = ['Code', 'Name'];\n return await this.loadEntities<MailConfig>(\n 'MailConfig',\n fields,\n this.envSvc.environment.MessagingAPI,\n event\n );\n }\n\n async searchMailConfigs(\n param: string,\n event: DropdownLoadEvent\n ): Promise<MailConfig[]> {\n const fields: string[] = ['Code', 'Name'];\n const searchBy: string[] = ['Code', 'Name'];\n return await this.searchEntities<MailConfig>(\n 'MailConfig',\n fields,\n searchBy,\n this.envSvc.environment.MessagingAPI,\n param,\n event\n );\n }\n\n async getAsyncMailConfigLabel(value: string): Promise<string> {\n return await this.getAsyncLabel(\n 'MailConfig',\n 'Name',\n value,\n this.envSvc.environment.MessagingAPI\n );\n }\n\n async loadEntities<T>(\n entity: string,\n fields: string[],\n env: string,\n event: DropdownLoadEvent | null = null\n ): Promise<T[]> {\n var payload: SearchDynamicWrapper = {\n Fields: fields,\n SearchKeyValues: [\n {\n PropertyName: 'Code',\n EntityValue: '',\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n Sort: SortDirection.Asc,\n },\n ],\n };\n\n if (!event) {\n this.utilService.sendBI(true);\n }\n\n const res = await this.server.post(\n `SearchDynamic${entity}/${event ? event.loadTimes * this.pageSize : 0}/${this.pageSize\n }`,\n payload,\n env\n );\n if (!event) {\n this.utilService.sendBI(false);\n }\n if (res instanceof ErrorResponse) {\n return [];\n } else {\n var result = (res as PagedResult<T>).Result;\n return result;\n }\n }\n\n async loadEntitiesOld<T>(\n entity: string,\n fields: string[],\n env: string,\n event: DropdownLoadEvent | null = null\n ): Promise<T[]> {\n if (!event) {\n this.utilService.sendBI(true);\n }\n\n const res = await this.server.get(\n `Get${entity}s/${event ? event.loadTimes * this.pageSize : 0}/${this.pageSize\n }`,\n env\n );\n if (!event) {\n this.utilService.sendBI(false);\n }\n if (res instanceof ErrorResponse) {\n return [];\n } else {\n var result = (res as PagedResult<T>).Result;\n return result;\n }\n }\n\n async searchEntities<T>(\n entity: string,\n fields: string[],\n searchBy: string[],\n env: string,\n param: string,\n event: DropdownLoadEvent | null = null\n ): Promise<T[]> {\n var payload: SearchDynamicWrapper = {\n Fields: fields,\n SearchKeyValues: searchBy.map((x) => {\n return {\n PropertyName: x,\n EntityValue: param,\n Operator: SearchOperator.Or,\n Sign: SearchPropertySign.EQ,\n };\n }),\n };\n\n // this.utilService.sendBI(true);\n const res = await this.server.post(\n `SearchDynamic${entity}/${event ? event.loadTimes * this.pageSize : 0}/${this.pageSize\n }`,\n payload,\n env\n );\n // this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return [];\n } else {\n var result = (res as PagedResult<T>).Result;\n return result;\n }\n }\n\n async searchEntitiesOld<T>(\n entity: string,\n fields: string[],\n searchBy: string[],\n env: string,\n param: string,\n event: DropdownLoadEvent | null = null\n ): Promise<T[]> {\n // this.utilService.sendBI(true);\n const res = await this.server.get(\n `Search${entity}s/${param}/${event ? event.loadTimes * this.pageSize : 0\n }/${this.pageSize}`,\n env\n );\n // this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return [];\n } else {\n var result = (res as PagedResult<T>).Result;\n return result;\n }\n }\n\n async getAsyncLabel(\n entity: string,\n labelProp: string,\n value: any,\n env: string,\n key: string = 'Code'\n ): Promise<string> {\n var payload: SearchDynamicWrapper = {\n Fields: [labelProp],\n SearchKeyValues: [\n {\n PropertyName: key,\n EntityValue: value,\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n },\n ],\n };\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SearchDynamic${entity}/0/1`,\n payload,\n env\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return value;\n } else {\n var result = (res as PagedResult<string>).Result;\n return result.length > 0 ? result[0] : '';\n }\n }\n\n async getAsyncLabelOld<T>(\n entity: string,\n labelProp: string,\n value: any,\n env: string,\n key: string = 'Code'\n ): Promise<string> {\n if (!value || (value.length && value.length == 0)) {\n return value;\n }\n this.utilService.sendBI(true);\n const res = await this.server.get(`Search${entity}s/${value}/0/1`, env);\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return value;\n } else {\n var result = (res as PagedResult<T>).Result;\n return result.length > 0 ? (result[0] as any)[labelProp] : '';\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n QueryList,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Subject, debounceTime } from 'rxjs';\nimport {\n CardData,\n CardDataViewComponent,\n ColumnDefinition,\n DataFilterType,\n DataTableComponent,\n DataViewComponent,\n IDataFilter,\n VerbenPopUpComponent,\n} from 'verben-ng-ui';\nimport { EditorConfig, EditorMode, EditorState } from 'verben-reporting-ui';\nimport { ErrorResponse, FilterTypes, MailConfig, MessageMedium, ObjectState, PagedResult, PermissionConfig, ReportSchedule, SMSConfig, SearchOperator, SearchPropertySign, SearchPropertyValue, SearchPropertyValueType, SortDirection, TaskNotification, TaskNotificationType } from 'verben-workflow-ui/src/lib/models';\nimport { EnvironmentService, HttpWebRequestService, UtilService } from 'verben-workflow-ui/src/lib/services';\nimport { baseStyle } from './base-table-style';\nimport { TaskNotificationService } from './task-notification.service';\n\nenum TaskNotificationPropertyName {\n CreatedAt = 'Created At',\n Name = 'Name',\n Subject = 'Subject',\n SenderConfig = 'Sendor Config',\n Medium = 'Medium',\n NotificationType = 'Notification Type',\n IsMessageId = 'Is Message Id',\n}\n\nenum TaskNotificationPropertyMap {\n CreatedAt = 'CreatedAt',\n Name = 'Name',\n Subject = 'Subject',\n SenderConfig = 'SendorConfig',\n Medium = 'Medium',\n NotificationType = 'NotificationType',\n IsMessageId = 'IsMessageId',\n}\n\n@Component({\n selector: 'lib-task-notification',\n templateUrl: './task-notification.component.html',\n styleUrl: './task-notification.component.css',\n})\nexport class TaskNotificationComponent implements OnInit {\n @Input() permissionConfig: PermissionConfig | null = null;\n visibleColumnDef: ColumnDefinition<any>[] = [];\n styles = baseStyle;\n data: TaskNotification[] = [];\n cardData: CardData[] = [];\n currentData: CardData | null = null;\n workflowAPI: string = '';\n configAPI: string = '';\n\n @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n @ViewChild('vdv') dataView!: DataViewComponent;\n @ViewChild('dt') tableView!: DataTableComponent<TaskNotification>;\n @ViewChildren('popup') popUps!: QueryList<VerbenPopUpComponent>;\n pageSize: number = 10;\n searchDebounceTime: number = 500;\n\n pageState: PagedResult<TaskNotification> | null = null;\n isOpen: boolean = false;\n openDropdownId: string | null = null;\n currentFilters: IDataFilter[] = [];\n currentSorts: IDataFilter[] = [];\n searchTerm$ = new Subject<string>();\n // searchTermHistory: string[] = [];\n\n smsConfigs: SMSConfig[] = [];\n mailConfigs: MailConfig[] = [];\n reportSchedules: ReportSchedule[] = [];\n mediumOptions: string[] = Object.keys(MessageMedium);\n notificationTypeOptions: string[] = Object.keys(TaskNotificationType);\n\n smsRef: MessageMedium = MessageMedium.SMS;\n mailRef: MessageMedium = MessageMedium.Mail;\n\n editorMode: EditorMode = EditorMode.Designer;\n editorConfig: EditorConfig = {\n editable: true,\n height: '',\n width: '',\n showToolbar: true,\n menuItems: [\n {\n Label: 'ToggleView',\n Icon: 'code-toggle',\n IconWidth: 20,\n IconHeight: 20,\n IsStroke: false,\n GroupBy: 'local',\n OnClick: (event: EditorState | undefined) => {\n this.editorMode =\n this.editorMode == EditorMode.Designer\n ? EditorMode.Code\n : EditorMode.Designer;\n },\n IsDisabled: (event: EditorState | undefined) => {\n return false;\n },\n IsEnabled: (event: EditorState | undefined) => {\n return this.editorMode == EditorMode.Code;\n },\n },\n ],\n };\n\n visibleColumns: IDataFilter[] = [];\n\n filterArray: IDataFilter[] = [\n {\n name: TaskNotificationPropertyName.CreatedAt,\n type: DataFilterType.Date,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.Name,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.Subject,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.SenderConfig,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.Medium,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.NotificationType,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.IsMessageId,\n type: DataFilterType.String,\n checked: false,\n },\n ];\n\n sortOptions: IDataFilter[] = [\n {\n name: TaskNotificationPropertyName.CreatedAt,\n type: DataFilterType.Date,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.Name,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.Subject,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.SenderConfig,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.Medium,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.NotificationType,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.IsMessageId,\n type: DataFilterType.String,\n checked: false,\n },\n ];\n\n private currentSearchTerm: string = '';\n\n constructor(\n private utilService: UtilService,\n private server: HttpWebRequestService,\n private cdr: ChangeDetectorRef,\n private fb: FormBuilder,\n private envSvc: EnvironmentService,\n public service: TaskNotificationService\n ) {\n this.workflowAPI = this.envSvc.environment.WorkFlowAPI;\n this.configAPI = `${this.envSvc.environment.MessagingAPI}`;\n }\n\n async ngOnInit(): Promise<void> {\n this.visibleColumnDef = this.service.taskNotificationColumns.filter(\n (x) =>\n x.id != 'actions' ||\n !this.permissionConfig ||\n this.permissionConfig.Actions['Create']\n );\n this.visibleColumns = this.service.taskNotificationColumns\n .filter(\n (x) =>\n x.id != 'actions' ||\n !this.permissionConfig ||\n this.permissionConfig.Actions['CreateLine']\n )\n .map((col) => ({\n checked: true,\n name: typeof col.header === 'string' ? col.header : col.id,\n type: DataFilterType.Bool,\n }));\n const groups = await this.getAllTaskNotifications();\n if (groups) {\n this.data = groups.map((x) => {\n return {\n ...x,\n Id: x.Code,\n };\n });\n this.setUpCardData();\n }\n\n this.service.getAllSMSConfigs().then((res) => {\n if (res) {\n this.smsConfigs = res;\n }\n });\n\n this.service.getAllMailConfigs().then((res) => {\n if (res) {\n this.mailConfigs = res;\n }\n });\n\n this.service.getAllReportSchedules().then((res) => {\n if (res) {\n this.reportSchedules = res;\n }\n });\n\n this.searchTerm$\n .pipe(debounceTime(this.searchDebounceTime)) // Adjust debounce time here (in ms)\n .subscribe(async (searchTerm) => {\n this.currentSearchTerm = searchTerm;\n this.updateFiltersAndSorts(true);\n });\n }\n\n async getAllTaskNotifications(): Promise<TaskNotification[] | undefined> {\n this.utilService.sendBI(true);\n const res = await this.server.get(\n `GetTaskNotifications/0/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return undefined;\n } else {\n this.pageState = res as PagedResult<TaskNotification>;\n var result = (res as PagedResult<TaskNotification>).Result;\n return result;\n }\n }\n\n async loadMore() {\n if (!this.pageState) {\n return;\n }\n this.utilService.sendBI(true);\n const res =\n this.currentFilters.length > 0 ||\n this.currentSorts.length > 0 ||\n this.currentSearchTerm.trim().length > 0\n ? await this.loadMoreFiltersAndSorts()\n : await this.server.get(\n `GetTaskNotifications/${this.pageState.Skip}/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return;\n } else {\n this.pageState = res as PagedResult<TaskNotification>;\n var result = (res as PagedResult<TaskNotification>).Result;\n const mappedData: TaskNotification[] = result.map((x) => {\n return {\n ...x,\n Id: x.Code,\n };\n });\n this.data = (this.data as TaskNotification[]).concat(mappedData);\n this.setUpCardDataExtra(mappedData);\n }\n }\n\n setUpCardData() {\n const cardData: CardData[] = this.data.map((x) => {\n return {\n selected: false,\n title: x.Id.toString(),\n data: x,\n body: [],\n children: [],\n };\n });\n this.cardData = cardData;\n }\n setUpCardDataExtra(baseData: TaskNotification[]) {\n const cardData: CardData[] = baseData.map((x) => {\n return {\n selected: false,\n title: x.Id.toString(),\n data: x,\n body: [],\n children: [],\n };\n });\n this.cardData = this.cardData.concat(cardData);\n }\n\n goToCardView(data: TaskNotification) {\n const item = this.cardData.find((x) => x.data == data);\n if (item) {\n this.cardClicked(item, true);\n }\n }\n\n goToTableView() {\n if (!this.currentData) {\n return;\n }\n this.dataView.toggleView();\n const id = this.currentData.data ? this.currentData.data.Id : '';\n if (id.trim().length > 0 && !this.tableView.isRowEditing(id)) {\n this.tableView.toggleRowEdit(id);\n }\n }\n\n viewVendors(code: string) {\n if (code.trim().length == 0) {\n return;\n }\n // this.onViewProcessClicked.emit(code);\n this.closePopUp();\n }\n\n cardClicked(item: CardData, toggleView: boolean = false) {\n this.currentData = this.cardDataView.onItemClick(item);\n if (toggleView) {\n this.dataView.toggleView();\n }\n }\n\n async saveTaskNotification() {\n if (this.currentData) {\n var group: TaskNotification = this.currentData.data as TaskNotification;\n\n if (this.currentData.data.Name.trim().length == 0) {\n this.utilService.showInfo('Name cannot be empty');\n return;\n }\n group.DataState =\n group.DataState == ObjectState.New\n ? ObjectState.New\n : ObjectState.Changed;\n group.Id = '';\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SaveTaskNotifications`,\n [group],\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n } else {\n this.utilService.showSuccess('Vendor Group saved successfully');\n const result = res as TaskNotification[];\n if (result.length > 0) {\n var resultItem = result[0];\n const itemIndex = this.data.findIndex(\n (x) => x == this.currentData?.data\n );\n if (itemIndex > -1) {\n this.data[itemIndex].Code = resultItem.Code;\n this.data[itemIndex].Id = resultItem.Code;\n this.data[itemIndex].id = resultItem.Code;\n this.data[itemIndex].DataState = resultItem.DataState;\n this.data[itemIndex].TenantId = resultItem.TenantId;\n this.data[itemIndex].ServiceName = resultItem.ServiceName;\n this.data = this.data.map((x) => x);\n this.cacheItem(this.data[itemIndex]);\n }\n }\n }\n }\n }\n async tableSaveTaskNotification(form: TaskNotification, callBack: () => any) {\n if (form.Name.trim().length == 0) {\n this.utilService.showInfo('Name cannot be empty');\n return;\n }\n form.DataState =\n form.DataState == ObjectState.New ? ObjectState.New : ObjectState.Changed;\n form.Id = '';\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SaveTaskNotifications`,\n [form],\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n } else {\n this.utilService.showSuccess('Vendor Group saved successfully');\n const result = res as TaskNotification[];\n if (result.length > 0) {\n var resultItem = result[0];\n const itemIndex = this.data.findIndex((x) => x == form);\n if (itemIndex > -1) {\n this.data[itemIndex].Code = resultItem.Code;\n this.data[itemIndex].Id = resultItem.Code;\n this.data[itemIndex].id = resultItem.Code;\n this.data[itemIndex].DataState = resultItem.DataState;\n this.data[itemIndex].TenantId = resultItem.TenantId;\n this.data[itemIndex].ServiceName = resultItem.ServiceName;\n this.data = this.data.map((x) => x);\n this.cacheItem(this.data[itemIndex]);\n }\n callBack();\n }\n }\n }\n\n updateTable() {\n this.data = this.data.map((x) => x);\n }\n\n updateItem(value: any, key: string): any {\n return {\n [key]: value,\n };\n }\n\n closePopUp() {\n this.openDropdownId = null;\n this.popUps.forEach((popUp) => {\n if (popUp.dropdownOpen) {\n popUp.toggleDropdown();\n }\n });\n }\n\n onViewChange(isGridView: boolean): void { }\n\n onStateChange(event: { key: string; value: boolean }): void {\n switch (event.key) {\n case 'create':\n var newGroup: TaskNotification = {\n Name: '',\n Message: '',\n Subject: '',\n SenderConfig: '',\n Medium: MessageMedium.Mail,\n NotificationType: TaskNotificationType.Assignment,\n IsMessageId: false,\n IsTaskDataSource: true,\n id: this.data.length.toString(),\n Id: this.data.length.toString(),\n Code: '',\n TenantId: '',\n ServiceName: '',\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n DataState: ObjectState.New,\n };\n const cardData: CardData = {\n selected: false,\n title: newGroup.Name,\n data: newGroup,\n body: [],\n children: [],\n };\n this.data = this.data.concat([newGroup]);\n this.cardData.push(cardData);\n this.cardClicked(cardData);\n this.dataView.isTableView = false;\n break;\n default:\n break;\n }\n }\n\n showTableView: boolean = false;\n onSelectionChange(selectedRows: TaskNotification[]) { }\n\n onColumnsUpdated(updatedColumns: IDataFilter[]) {\n const updatedColumnDef: ColumnDefinition<TaskNotification>[] = [];\n updatedColumns.forEach((col) => {\n const matchingCol = this.service.taskNotificationColumns\n .filter(\n (x) =>\n x.id != 'actions' ||\n !this.permissionConfig ||\n this.permissionConfig.Actions['Create']\n )\n .find((column) => column.header === col.name || column.id === col.name);\n if (matchingCol) {\n updatedColumnDef.push(matchingCol);\n }\n });\n\n this.visibleColumnDef = [...updatedColumnDef];\n }\n\n async updateFiltersAndSorts(isSearch: boolean = false) {\n if (!isSearch) {\n this.dataView.onClearSearch();\n this.currentSearchTerm = '';\n this.cdr.detectChanges();\n const clickEvent = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window,\n });\n document.dispatchEvent(clickEvent);\n }\n var payload: SearchPropertyValue[] = this.currentFilters.map((x) => {\n return {\n PropertyName:\n TaskNotificationPropertyMap[\n x.name\n .split(' ')\n .join('') as keyof typeof TaskNotificationPropertyMap\n ],\n EntityValue: x.value,\n Operator: SearchOperator.And,\n Sign:\n x.condition && Object.keys(FilterTypes).includes(x.condition)\n ? (FilterTypes[\n x.condition as keyof typeof FilterTypes\n ] as unknown as SearchPropertySign)\n : SearchPropertySign.EQ,\n Type:\n x.name == TaskNotificationPropertyName.CreatedAt\n ? SearchPropertyValueType.Date\n : x.name == TaskNotificationPropertyName.IsMessageId\n ? SearchPropertyValueType.Bool\n : SearchPropertyValueType.String,\n };\n });\n // payload.push({\n // PropertyName: 'APIKey',\n // EntityValue: this.envSvc.environment.APIKey,\n // Operator: SearchOperator.And,\n // Sign: SearchPropertySign.EQ,\n // });\n for (let sort of this.currentSorts) {\n payload.push({\n PropertyName:\n TaskNotificationPropertyMap[\n sort.name\n .split(' ')\n .join('') as keyof typeof TaskNotificationPropertyMap\n ],\n EntityValue: '',\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n Sort:\n sort.value.toLowerCase() == SortDirection.Asc.toLowerCase()\n ? SortDirection.Asc\n : sort.value.toLowerCase() == SortDirection.Desc.toLowerCase()\n ? SortDirection.Desc\n : SortDirection.None,\n });\n }\n const searchTermExists = this.currentSearchTerm.trim().length > 0;\n this.utilService.sendBI(true);\n const res = searchTermExists\n ? await this.server.get(\n `GetTaskNotificationWithParam/${this.currentSearchTerm.trim()}/0/${this.pageSize\n }`,\n this.envSvc.environment.WorkFlowAPI\n )\n : payload.length == 0\n ? await this.server.get(\n `GetTaskNotifications/0/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n )\n : await this.server.post(\n `SearchTaskNotification/0/${this.pageSize}`,\n payload,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n this.currentFilters = [];\n this.currentSorts = [];\n return undefined;\n } else {\n this.cardDataView.clearData();\n this.currentData = null;\n this.pageState = res as PagedResult<TaskNotification>;\n var result = (res as PagedResult<TaskNotification>).Result;\n this.data = result.map((x) => {\n return {\n ...x,\n Id: x.Code,\n };\n });\n this.setUpCardData();\n }\n }\n async loadMoreFiltersAndSorts(): Promise<\n PagedResult<TaskNotification> | undefined\n > {\n if (!this.pageState) {\n return;\n }\n var payload: SearchPropertyValue[] = this.currentFilters.map((x) => {\n return {\n PropertyName:\n TaskNotificationPropertyMap[\n x.name\n .split(' ')\n .join('') as keyof typeof TaskNotificationPropertyMap\n ],\n EntityValue: x.value,\n Operator: SearchOperator.And,\n Sign:\n x.condition && Object.keys(FilterTypes).includes(x.condition)\n ? (FilterTypes[\n x.condition as keyof typeof FilterTypes\n ] as unknown as SearchPropertySign)\n : SearchPropertySign.EQ,\n Type:\n x.name == TaskNotificationPropertyName.CreatedAt\n ? SearchPropertyValueType.Date\n : x.name == TaskNotificationPropertyName.IsMessageId\n ? SearchPropertyValueType.Bool\n : SearchPropertyValueType.String,\n };\n });\n for (let sort of this.currentSorts) {\n payload.push({\n PropertyName:\n TaskNotificationPropertyMap[\n sort.name\n .split(' ')\n .join('') as keyof typeof TaskNotificationPropertyMap\n ],\n EntityValue: '',\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n Sort:\n sort.value.toLowerCase() == SortDirection.Asc.toLowerCase()\n ? SortDirection.Asc\n : sort.value.toLowerCase() == SortDirection.Desc.toLowerCase()\n ? SortDirection.Desc\n : SortDirection.None,\n });\n }\n const searchTermExists = this.currentSearchTerm.trim().length > 0;\n this.utilService.sendBI(true);\n const res = searchTermExists\n ? await this.server.get(\n `GetTaskNotificationsWithParam/${this.currentSearchTerm.trim()}/${this.pageState.Skip\n }/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n )\n : payload.length == 0\n ? await this.server.get(\n `GetTaskNotifications/${this.pageState.Skip}/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n )\n : await this.server.post(\n `SearchTaskNotification/${this.pageState.Skip}/${this.pageSize}`,\n payload,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return undefined;\n } else {\n var result = res as PagedResult<TaskNotification>;\n return result;\n }\n }\n\n onFilterUpdated(updatedFilters: IDataFilter[] | string) {\n // Ensure updatedFilters is an array\n if (Array.isArray(updatedFilters)) {\n this.currentFilters = updatedFilters;\n this.updateFiltersAndSorts();\n }\n }\n onSortUpdated(updatedSorts: IDataFilter[]) {\n this.currentSorts = updatedSorts;\n this.updateFiltersAndSorts();\n }\n\n handleSearch(event: { key: string; value: string }) {\n this.searchTerm$.next(event.value);\n }\n\n handleExport(exportedData: Partial<any>[]) {\n // console.log('Exported data:', exportedData);\n this.downloadCSV(exportedData);\n }\n\n private downloadCSV(data: Partial<any>[]) {\n const headers = Object.keys(data[0]);\n const csvContent = [\n headers.join(','),\n ...data.map((row) => headers.map((header) => row[header]).join(',')),\n ].join('\\n');\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', 'export.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n\n toggleIsMessageId(item: TaskNotification, isMessageId: boolean) {\n item.Message = '';\n item.IsMessageId = isMessageId;\n }\n\n tableCache = new Map<string, TaskNotification>();\n\n cacheItem(item: TaskNotification) {\n const cacheKey = item.Id;\n this.tableCache.set(cacheKey, JSON.parse(JSON.stringify(item)));\n }\n\n restoreCache(item: TaskNotification) {\n const cacheKey = item.Id;\n const itemCache = this.tableCache.get(cacheKey);\n if (itemCache) {\n item.Name = itemCache.Name;\n item.Subject = itemCache.Subject;\n item.NotificationType = itemCache.NotificationType;\n item.Medium = itemCache.Medium;\n item.SenderConfig = itemCache.SenderConfig;\n }\n this.tableCache.delete(cacheKey);\n }\n}\n","<div #messageLog class=\"flex flex-col gap-4 message-log-container\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: (!permissionConfig || permissionConfig.Actions['Export']),\n isSelect: true,\n isCreate: (!permissionConfig || permissionConfig.Actions['Create']),\n isToggle:true,\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\"\n >\n <div class=\"mt-2\" table-content>\n <lib-data-table\n [dataKey]=\"'Id'\"\n class=\"form-table\"\n #dt\n [data]=\"data\"\n [columns]=\"visibleColumnDef\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"select\">\n <ng-template\n #cell\n let-isSelected=\"isSelected\"\n let-toggleRowSelection=\"toggleRowSelection\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isSelected\"\n (change)=\"toggleRowSelection()\"\n />\n </ng-template>\n <ng-template\n #header\n let-allRowsSelected=\"allRowsSelected\"\n let-someRowsSelected=\"someRowsSelected\"\n let-toggleAllRows=\"toggleAllRows\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"allRowsSelected()\"\n [indeterminate]=\"someRowsSelected()\"\n (change)=\"toggleAllRows()\"\n />\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"medium\">\n <ng-template #cell let-row=\"row\" let-value>\n {{ value.Medium }}\n </ng-template>\n <ng-template\n #cellEdit\n let-row=\"row\"\n let-updateData=\"updateData\"\n let-value\n >\n <verben-drop-down\n width=\"100%\"\n placeholder=\"Select Message Medium\"\n [(options)]=\"mediumOptions\"\n [(ngModel)]=\"value.Medium\"\n >\n </verben-drop-down>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"name\">\n <ng-template #cell let-row=\"row\" let-value>\n {{ value.Name }}\n </ng-template>\n <ng-template\n #cellEdit\n let-row=\"row\"\n let-updateData=\"updateData\"\n let-value\n >\n <div class=\"width-max\">\n <verbena-input [(ngModel)]=\"value.Name\"></verbena-input>\n </div>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"subject\">\n <ng-template #cell let-row=\"row\" let-value>\n {{ value.Subject }}\n </ng-template>\n <ng-template\n #cellEdit\n let-row=\"row\"\n let-updateData=\"updateData\"\n let-value\n >\n <div class=\"width-max\">\n <verbena-input [(ngModel)]=\"value.Subject\"></verbena-input>\n </div>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"senderConfig\">\n <ng-template #cell let-row=\"row\" let-value>\n <div *ngIf=\"value.Medium == this.smsRef\">\n {{\n value.SenderConfig\n | asyncLabel : \"SMSConfig\" : \"Name\" : configAPI\n | async\n }}\n </div>\n <div *ngIf=\"value.Medium == this.mailRef\">\n {{\n value.SenderConfig\n | asyncLabel : \"MailConfig\" : \"Name\" : configAPI\n | async\n }}\n </div>\n </ng-template>\n <ng-template\n #cellEdit\n let-row=\"row\"\n let-updateData=\"updateData\"\n let-value\n >\n <verben-drop-down\n *ngIf=\"value.Medium == this.smsRef\"\n [filter]=\"true\"\n [load]=\"service.loadMoreSMSConfigs.bind(service)\"\n [search]=\"service.searchSMSConfigs.bind(service)\"\n [lazyLoad]=\"true\"\n [asyncLabel]=\"service.getAsyncSMSConfigLabel.bind(service)\"\n width=\"100%\"\n placeholder=\"Select Sender Config\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n [(options)]=\"smsConfigs\"\n [(ngModel)]=\"value.SenderConfig\"\n >\n </verben-drop-down>\n <verben-drop-down\n *ngIf=\"value.Medium == this.mailRef\"\n [filter]=\"true\"\n [load]=\"service.loadMoreMailConfigs.bind(service)\"\n [search]=\"service.searchMailConfigs.bind(service)\"\n [lazyLoad]=\"true\"\n [asyncLabel]=\"service.getAsyncMailConfigLabel.bind(service)\"\n width=\"100%\"\n placeholder=\"Select Sender Config\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n [(options)]=\"mailConfigs\"\n [(ngModel)]=\"value.SenderConfig\"\n >\n </verben-drop-down>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"notificationType\">\n <ng-template #cell let-row=\"row\" let-value>\n {{ value.NotificationType }}\n </ng-template>\n <ng-template\n #cellEdit\n let-row=\"row\"\n let-updateData=\"updateData\"\n let-value\n >\n <verben-drop-down\n width=\"100%\"\n placeholder=\"Select Notification Type\"\n [(options)]=\"notificationTypeOptions\"\n [(ngModel)]=\"value.NotificationType\"\n >\n </verben-drop-down>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template\n #cell\n let-isEditing=\"isEditing\"\n let-toggleRowEdit=\"toggleRowEdit\"\n let-row=\"row\"\n let-value\n >\n <verben-pop-Up\n #popup\n [customStyles]=\"{ 'z-index': '99' }\"\n [enableMouseLeave]=\"false\"\n >\n <verben-svg\n class=\"cursor-pointer actions-icon\"\n dropdown-trigger\n icon=\"list\"\n ></verben-svg>\n <div class=\"pop-up-content flex flex-col\" dropdown-content>\n <!-- <div (click)=\"viewVendors(value.Code)\" class=\"pop-up-value cursor-pointer\">View vendors</div> -->\n <div\n (click)=\"toggleRowEdit(); cacheItem(value); closePopUp()\"\n class=\"pop-up-value cursor-pointer\"\n >\n Edit\n </div>\n <!-- <div class=\"pop-up-value cursor-pointer\">Delete</div> -->\n </div>\n </verben-pop-Up>\n </ng-template>\n <ng-template\n #cellEdit\n let-isEditing=\"isEditing\"\n let-toggleRowEdit=\"toggleRowEdit\"\n let-row=\"row\"\n let-value\n >\n <div class=\"flex gap-2 items-center\">\n <verben-svg\n icon=\"tick\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"tableSaveTaskNotification(value, toggleRowEdit)\"\n ></verben-svg>\n <verben-svg\n (click)=\"restoreCache(value); toggleRowEdit()\"\n icon=\"close-no-circle\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n <!-- <verben-svg (click)=\"toggleRowEdit()\" icon=\"delete\" [width]=\"15\" [height]=\"15\"></verben-svg> -->\n <verben-svg\n icon=\"cardViewAlt\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"goToCardView(value)\"\n ></verben-svg>\n </div>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n #vdcv\n dataId=\"Id\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"0px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"Id\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div\n (click)=\"cardClicked(item)\"\n class=\"flex cursor-pointer h-[max-content]\"\n >\n <!-- <verben-svg [width]=\"15\" [height]=\"15\" (click)=\"toggleChildren(item); $event.stopPropagation()\"\n [ngClass]=\"item.children && item.children.length?'visible':'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\" [icon]=\"item.isChildrenExpanded?'minus':'plus'\" /> -->\n <div class=\"flex w-full bg-secondary rounded-xl\">\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"py-3 px-4 flex-1 h-[100%]\">\n <div\n class=\"flex items-start flex-1 gap-1 justify-between h-[100%]\"\n >\n <div\n class=\"flex flex-col flex-1 card-min-height justify-between h-[100%]\"\n >\n <h3\n class=\"my-0 font-bold text-[#404040] leading-[19.5px]\"\n >\n {{ item.data.Name }}\n </h3>\n <!-- <span class=\"flex items-center gap-1\">\n <span class=\"!text-[10px] font-light text-[#404040]\">Ledger Header:</span> <span\n class=\"!text-[12px]\">{{item.data.SenderConfig}}</span>\n </span> -->\n </div>\n\n <div class=\"flex flex-col items-between h-[100%]\">\n <div class=\"flex flex-col gap-1\">\n <span class=\"!text-[10px] font-light text-[#404040]\"\n >Medium:</span\n >\n <div>{{ item.data.Medium }}</div>\n </div>\n <!-- <p [ngClass]=\"{'disabled': item.data.DataState == 'New'}\" (click)=\"viewVendors(item.data.Code) ;$event.stopPropagation()\"\n class=\"view-lines my-0 underline text-[#3479E9] text-[12px] leading-[16.6px] cursor-pointer font-medium\">\n view vendors</p> -->\n <!-- <span class=\"enum-val {{item.data.Status}}\">{{item.data.Status}}</span> -->\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n <verben-right-card-data-view>\n <ng-template #parent>\n <div\n *ngIf=\"this.currentData\"\n class=\"flex flex-col rounded-xl h-full w-full justify-between relative space-y-4\"\n >\n <div class=\"flex flex-col gap-3\">\n <div class=\"options-container flex flex-col gap-2\">\n <div class=\"options-item flex gap-2 items-center\">\n <div\n (click)=\"toggleIsMessageId(this.currentData.data, false)\"\n [ngClass]=\"{ active: !this.currentData.data.IsMessageId }\"\n class=\"option-toggle rounded-full flex items-center justify-center\"\n >\n <div class=\"option-toggle-dot rounded-full\"></div>\n </div>\n <div>Type Message</div>\n </div>\n <div class=\"options-item flex gap-2 items-center\">\n <div\n (click)=\"toggleIsMessageId(this.currentData.data, true)\"\n [ngClass]=\"{ active: this.currentData.data.IsMessageId }\"\n class=\"option-toggle rounded-full flex items-center justify-center\"\n >\n <div class=\"option-toggle-dot rounded-full\"></div>\n </div>\n <div>Select Existing Message</div>\n </div>\n </div>\n <div\n class=\"task-notification-inputs-container flex flex-col gap-3\"\n >\n <!-- <verbena-input [disabled]=\"true\" name=\"Code\" label=\"Code\" [(ngModel)]=\"this.currentData.data.Code\" /> -->\n\n <div\n *ngIf=\"this.currentData.data.IsMessageId\"\n class=\"flex flex-col gap-1\"\n >\n <div>Message Config</div>\n <verben-drop-down\n [filter]=\"true\"\n [load]=\"service.loadMoreReportSchedules.bind(service)\"\n [search]=\"service.searchReportSchedules.bind(service)\"\n [lazyLoad]=\"true\"\n [asyncLabel]=\"\n service.getAsyncReportScheduleLabel.bind(service)\n \"\n width=\"100%\"\n placeholder=\"Select Message Config\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n [(options)]=\"reportSchedules\"\n [(ngModel)]=\"this.currentData.data.Message\"\n >\n </verben-drop-down>\n </div>\n\n <verbena-input\n name=\"Name\"\n label=\"Name\"\n (ngModelChange)=\"updateTable()\"\n [(ngModel)]=\"this.currentData.data.Name\"\n />\n <verbena-input\n name=\"Subject\"\n label=\"Subject\"\n (ngModelChange)=\"updateTable()\"\n [(ngModel)]=\"this.currentData.data.Subject\"\n />\n <div class=\"flex flex-col gap-1\">\n <div>Notification Type</div>\n <verben-drop-down\n width=\"100%\"\n placeholder=\"Select Notification Type\"\n [(options)]=\"notificationTypeOptions\"\n [(ngModel)]=\"this.currentData.data.NotificationType\"\n >\n </verben-drop-down>\n </div>\n <div class=\"flex flex-col gap-1\">\n <div>Message Medium</div>\n <verben-drop-down\n width=\"100%\"\n placeholder=\"Select Message Medium\"\n [(options)]=\"mediumOptions\"\n [(ngModel)]=\"this.currentData.data.Medium\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"flex flex-col gap-1\">\n <div>Sender Config</div>\n <verben-drop-down\n *ngIf=\"this.currentData.data.Medium == this.smsRef\"\n [filter]=\"true\"\n [load]=\"service.loadMoreSMSConfigs.bind(service)\"\n [search]=\"service.searchSMSConfigs.bind(service)\"\n [lazyLoad]=\"true\"\n [asyncLabel]=\"\n service.getAsyncSMSConfigLabel.bind(service)\n \"\n width=\"100%\"\n placeholder=\"Select Sender Config\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n [(options)]=\"smsConfigs\"\n [(ngModel)]=\"this.currentData.data.SenderConfig\"\n >\n </verben-drop-down>\n <verben-drop-down\n *ngIf=\"this.currentData.data.Medium == this.mailRef\"\n [filter]=\"true\"\n [load]=\"service.loadMoreMailConfigs.bind(service)\"\n [search]=\"service.searchMailConfigs.bind(service)\"\n [lazyLoad]=\"true\"\n [asyncLabel]=\"\n service.getAsyncMailConfigLabel.bind(service)\n \"\n width=\"100%\"\n placeholder=\"Select Sender Config\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n [(options)]=\"mailConfigs\"\n [(ngModel)]=\"this.currentData.data.SenderConfig\"\n >\n </verben-drop-down>\n </div>\n\n <div\n *ngIf=\"!this.currentData.data.IsMessageId\"\n class=\"flex editor-container-wrapper flex-col gap-1\"\n >\n <lib-editor\n [editorConfig]=\"editorConfig\"\n [editorMode]=\"editorMode\"\n [(ngModel)]=\"this.currentData.data.Message\"\n ></lib-editor>\n </div>\n </div>\n </div>\n <!-- buttons -->\n <div class=\"flex justify-between bottom-8 left-0 right-0\">\n <div></div>\n <!-- <verbena-button class=\"verben-delete-button\" text=\"Delete\"></verbena-button> -->\n <div class=\"flex gap-3\">\n <!-- <verbena-button class=\"verben-switch-button\"\n (click)=\"viewVendors(this.currentData? this.currentData.data? this.currentData.data.Code: '':'')\"\n text=\"View Vendors\"></verbena-button> -->\n <verbena-button\n class=\"verben-switch-button\"\n (click)=\"goToTableView()\"\n text=\"Switch To Table\"\n ></verbena-button>\n <verbena-button\n *ngIf=\"\n !permissionConfig || permissionConfig.Actions['Create']\n \"\n class=\"verben-primary-button\"\n (click)=\"this.saveTaskNotification()\"\n text=\"Save\"\n ></verbena-button>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-right-card-data-view>\n <!-- <verben-right-card-data-view>\n yeshhhhhh\n </verben-right-card-data-view> -->\n\n <verben-card-data-view-footer>\n <div class=\"flex gap-2 justify-between\">\n <div\n *ngIf=\"!vdcv.hasCurrentItem()\"\n class=\"message-log-button-container flex justify-between\"\n >\n <!-- <verbena-button [fontWeight]=\"'bold'\" [bgColor]=\"'#8E8D87'\" [borderRadius]=\"'4px'\" [textColor]=\"'#fff'\"\n [text]=\"'Delete'\">\n </verbena-button> -->\n </div>\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more view-links\">\n Load more\n </button>\n </div>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n (filtersApplied)=\"onFilterUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-between\">\n <div class=\"message-log-button-container flex justify-between\">\n <!-- <verbena-button [fontWeight]=\"'bold'\" [bgColor]=\"'#8E8D87'\" [borderRadius]=\"'4px'\" [textColor]=\"'#fff'\"\n [text]=\"'Delete'\">\n </verbena-button> -->\n </div>\n <div class=\"flex justify-end items-center gap-5\">\n <span class=\"paginator-text\">{{ cardData.length }} records loaded</span>\n <button (click)=\"loadMore()\" class=\"load-more view-links\">\n Load more\n </button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { TaskNotificationComponent } from './task-notification.component';\nimport { SharedModule } from 'verben-workflow-ui/src/lib/shared';\n\n@NgModule({\n declarations: [TaskNotificationComponent],\n imports: [SharedModule],\n exports: [TaskNotificationComponent],\n})\nexport class TaskNotificationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.TaskNotificationService"],"mappings":"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"}
1
+ {"version":3,"file":"verben-workflow-ui-src-lib-components-task-notification.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/task-notification/base-table-style.ts","../../../projects/verben-workflow-ui/src/lib/components/task-notification/task-notification.service.ts","../../../projects/verben-workflow-ui/src/lib/components/task-notification/task-notification.component.ts","../../../projects/verben-workflow-ui/src/lib/components/task-notification/task-notification.component.html","../../../projects/verben-workflow-ui/src/lib/components/task-notification/task-notification.module.ts","../../../projects/verben-workflow-ui/src/lib/components/task-notification/verben-workflow-ui-src-lib-components-task-notification.ts"],"sourcesContent":["export const baseStyle: any = {\n width: '100%',\n fontFamily: '\"Fraunces\", serif',\n fontSize: '125%',\n whiteSpace: 'nowrap',\n margin: '0',\n border: '1px solid var(--vbn-color-primary)',\n borderRadius: '16px',\n borderCollapse: 'separate',\n borderSpacing: '0',\n // tableLayout: 'fixed',\n overflow: 'hidden',\n rows: {\n even: {\n backgroundColor: 'var(--vbn-color-surface)',\n },\n odd: {\n backgroundColor: 'var(--vbn-color-surface-alt)',\n },\n height: '68px',\n },\n cells: {\n padding: '0.5rem 1rem',\n },\n header: {\n // stickyTop: true,\n // zIndex: 2,\n backgroundColor: 'var(--vbn-color-surface-alt)',\n fontWeight: 'bold',\n textAlign: 'left',\n padding: '12px 16px',\n height: '30px',\n },\n footer: {\n // stickyBottom: true,\n // zIndex: 2,\n padding: '3px',\n },\n // body: {\n // background: 'var(--vbn-color-surface)',\n // padding: '4px 5px',\n // textAlign: 'center',\n // },\n // firstColumn: {\n // stickyLeft: true,\n // zIndex: 1,\n // },\n lastColumn: {\n // stickyRight: true,\n // zIndex: 1,\n },\n};\n","import { Injectable } from '@angular/core';\nimport { ColumnDefinition, DropdownLoadEvent } from 'verben-ng-ui';\nimport { ErrorResponse, MailConfig, PagedResult, ReportSchedule, SearchDynamicWrapper, SearchOperator, SearchPropertySign, SMSConfig, SortDirection, TaskNotification } from 'verben-workflow-ui/src/lib/models';\nimport { EnvironmentService, HttpWebRequestService, UtilService } from 'verben-workflow-ui/src/lib/services';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TaskNotificationService {\n pageSize: number = 10;\n constructor(\n private utilService: UtilService,\n private server: HttpWebRequestService,\n private envSvc: EnvironmentService\n ) { }\n\n get taskNotificationColumns(): ColumnDefinition<TaskNotification>[] {\n return [\n {\n id: 'select',\n header: '',\n },\n {\n id: 'createdAt',\n header: 'CREATED',\n accessorKey: 'CreatedAt',\n },\n // {\n // id: 'code',\n // header: 'CODE',\n // accessorKey: 'Code',\n // },\n {\n id: 'name',\n header: 'NAME',\n accessorFn: (row: TaskNotification) => {\n return row;\n },\n },\n {\n id: 'subject',\n header: 'SUBJECT',\n accessorFn: (row: TaskNotification) => {\n return row;\n },\n },\n {\n id: 'notificationType',\n header: 'NOTIFICATION TYPE',\n accessorFn: (row: TaskNotification) => {\n return row;\n },\n },\n {\n id: 'medium',\n header: 'MEDIUM',\n accessorFn: (row: TaskNotification) => {\n return row;\n },\n },\n {\n id: 'senderConfig',\n header: 'SENDER CONFIG',\n accessorFn: (row: TaskNotification) => {\n return row;\n },\n },\n // {\n // id: 'isMessageId',\n // header: 'IS MESSAGE ID',\n // accessorFn: (row: TaskNotification) => {\n // return row;\n // },\n // },\n {\n id: 'actions',\n header: 'ACTIONS',\n accessorFn: (row: TaskNotification) => {\n return row;\n },\n },\n ];\n }\n\n async getAllReportSchedules(): Promise<ReportSchedule[] | undefined> {\n const fields: string[] = ['Code', 'Name'];\n return await this.loadEntitiesOld<ReportSchedule>(\n 'ReportSchedule',\n fields,\n this.envSvc.environment.ReportingAPI\n );\n }\n\n async loadMoreReportSchedules(\n event: DropdownLoadEvent\n ): Promise<ReportSchedule[]> {\n const fields: string[] = ['Code', 'Name'];\n return await this.loadEntitiesOld<ReportSchedule>(\n 'ReportSchedule',\n fields,\n this.envSvc.environment.ReportingAPI,\n event\n );\n }\n\n async searchReportSchedules(\n param: string,\n event: DropdownLoadEvent\n ): Promise<ReportSchedule[]> {\n const fields: string[] = ['Code', 'Name'];\n const searchBy: string[] = ['Code', 'Name'];\n return await this.searchEntitiesOld<ReportSchedule>(\n 'ReportSchedule',\n fields,\n searchBy,\n this.envSvc.environment.ReportingAPI,\n param,\n event\n );\n }\n\n async getAsyncReportScheduleLabel(value: string): Promise<string> {\n return await this.getAsyncLabelOld(\n 'ReportSchedule',\n 'Name',\n value,\n this.envSvc.environment.ReportingAPI\n );\n }\n\n async getAllSMSConfigs(): Promise<SMSConfig[] | undefined> {\n const fields: string[] = ['Code', 'Name'];\n return await this.loadEntities<SMSConfig>(\n 'SMSConfig',\n fields,\n this.envSvc.environment.MessagingAPI\n );\n }\n\n async loadMoreSMSConfigs(event: DropdownLoadEvent): Promise<SMSConfig[]> {\n const fields: string[] = ['Code', 'Name'];\n return await this.loadEntities<SMSConfig>(\n 'SMSConfig',\n fields,\n this.envSvc.environment.MessagingAPI,\n event\n );\n }\n\n async searchSMSConfigs(\n param: string,\n event: DropdownLoadEvent\n ): Promise<SMSConfig[]> {\n const fields: string[] = ['Code', 'Name'];\n const searchBy: string[] = ['Code', 'Name'];\n return await this.searchEntities<SMSConfig>(\n 'SMSConfig',\n fields,\n searchBy,\n this.envSvc.environment.MessagingAPI,\n param,\n event\n );\n }\n\n async getAsyncSMSConfigLabel(value: string): Promise<string> {\n return await this.getAsyncLabel(\n 'SMSConfig',\n 'Name',\n value,\n this.envSvc.environment.MessagingAPI\n );\n }\n async getAllMailConfigs(): Promise<MailConfig[] | undefined> {\n const fields: string[] = ['Code', 'Name'];\n return await this.loadEntities<MailConfig>(\n 'MailConfig',\n fields,\n this.envSvc.environment.MessagingAPI\n );\n }\n\n async loadMoreMailConfigs(event: DropdownLoadEvent): Promise<MailConfig[]> {\n const fields: string[] = ['Code', 'Name'];\n return await this.loadEntities<MailConfig>(\n 'MailConfig',\n fields,\n this.envSvc.environment.MessagingAPI,\n event\n );\n }\n\n async searchMailConfigs(\n param: string,\n event: DropdownLoadEvent\n ): Promise<MailConfig[]> {\n const fields: string[] = ['Code', 'Name'];\n const searchBy: string[] = ['Code', 'Name'];\n return await this.searchEntities<MailConfig>(\n 'MailConfig',\n fields,\n searchBy,\n this.envSvc.environment.MessagingAPI,\n param,\n event\n );\n }\n\n async getAsyncMailConfigLabel(value: string): Promise<string> {\n return await this.getAsyncLabel(\n 'MailConfig',\n 'Name',\n value,\n this.envSvc.environment.MessagingAPI\n );\n }\n\n async loadEntities<T>(\n entity: string,\n fields: string[],\n env: string,\n event: DropdownLoadEvent | null = null\n ): Promise<T[]> {\n var payload: SearchDynamicWrapper = {\n Fields: fields,\n SearchKeyValues: [\n {\n PropertyName: 'Code',\n EntityValue: '',\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n Sort: SortDirection.Asc,\n },\n ],\n };\n\n if (!event) {\n this.utilService.sendBI(true);\n }\n\n const res = await this.server.post(\n `SearchDynamic${entity}/${event ? event.loadTimes * this.pageSize : 0}/${this.pageSize\n }`,\n payload,\n env\n );\n if (!event) {\n this.utilService.sendBI(false);\n }\n if (res instanceof ErrorResponse) {\n return [];\n } else {\n var result = (res as PagedResult<T>).Result;\n return result;\n }\n }\n\n async loadEntitiesOld<T>(\n entity: string,\n fields: string[],\n env: string,\n event: DropdownLoadEvent | null = null\n ): Promise<T[]> {\n if (!event) {\n this.utilService.sendBI(true);\n }\n\n const res = await this.server.get(\n `Get${entity}s/${event ? event.loadTimes * this.pageSize : 0}/${this.pageSize\n }`,\n env\n );\n if (!event) {\n this.utilService.sendBI(false);\n }\n if (res instanceof ErrorResponse) {\n return [];\n } else {\n var result = (res as PagedResult<T>).Result;\n return result;\n }\n }\n\n async searchEntities<T>(\n entity: string,\n fields: string[],\n searchBy: string[],\n env: string,\n param: string,\n event: DropdownLoadEvent | null = null\n ): Promise<T[]> {\n var payload: SearchDynamicWrapper = {\n Fields: fields,\n SearchKeyValues: searchBy.map((x) => {\n return {\n PropertyName: x,\n EntityValue: param,\n Operator: SearchOperator.Or,\n Sign: SearchPropertySign.EQ,\n };\n }),\n };\n\n // this.utilService.sendBI(true);\n const res = await this.server.post(\n `SearchDynamic${entity}/${event ? event.loadTimes * this.pageSize : 0}/${this.pageSize\n }`,\n payload,\n env\n );\n // this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return [];\n } else {\n var result = (res as PagedResult<T>).Result;\n return result;\n }\n }\n\n async searchEntitiesOld<T>(\n entity: string,\n fields: string[],\n searchBy: string[],\n env: string,\n param: string,\n event: DropdownLoadEvent | null = null\n ): Promise<T[]> {\n // this.utilService.sendBI(true);\n const res = await this.server.get(\n `Search${entity}s/${param}/${event ? event.loadTimes * this.pageSize : 0\n }/${this.pageSize}`,\n env\n );\n // this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return [];\n } else {\n var result = (res as PagedResult<T>).Result;\n return result;\n }\n }\n\n async getAsyncLabel(\n entity: string,\n labelProp: string,\n value: any,\n env: string,\n key: string = 'Code'\n ): Promise<string> {\n var payload: SearchDynamicWrapper = {\n Fields: [labelProp],\n SearchKeyValues: [\n {\n PropertyName: key,\n EntityValue: value,\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n },\n ],\n };\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SearchDynamic${entity}/0/1`,\n payload,\n env\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return value;\n } else {\n var result = (res as PagedResult<string>).Result;\n return result.length > 0 ? result[0] : '';\n }\n }\n\n async getAsyncLabelOld<T>(\n entity: string,\n labelProp: string,\n value: any,\n env: string,\n key: string = 'Code'\n ): Promise<string> {\n if (!value || (value.length && value.length == 0)) {\n return value;\n }\n this.utilService.sendBI(true);\n const res = await this.server.get(`Search${entity}s/${value}/0/1`, env);\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return value;\n } else {\n var result = (res as PagedResult<T>).Result;\n return result.length > 0 ? (result[0] as any)[labelProp] : '';\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n QueryList,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Subject, debounceTime } from 'rxjs';\nimport {\n CardData,\n CardDataViewComponent,\n ColumnDefinition,\n DataFilterType,\n DataTableComponent,\n DataViewComponent,\n IDataFilter,\n VerbenPopUpComponent,\n} from 'verben-ng-ui';\nimport { EditorConfig, EditorMode, EditorState } from 'verben-reporting-ui';\nimport { ErrorResponse, FilterTypes, MailConfig, MessageMedium, ObjectState, PagedResult, PermissionConfig, ReportSchedule, SMSConfig, SearchOperator, SearchPropertySign, SearchPropertyValue, SearchPropertyValueType, SortDirection, TaskNotification, TaskNotificationType } from 'verben-workflow-ui/src/lib/models';\nimport { EnvironmentService, HttpWebRequestService, UtilService } from 'verben-workflow-ui/src/lib/services';\nimport { baseStyle } from './base-table-style';\nimport { TaskNotificationService } from './task-notification.service';\n\nenum TaskNotificationPropertyName {\n CreatedAt = 'Created At',\n Name = 'Name',\n Subject = 'Subject',\n SenderConfig = 'Sendor Config',\n Medium = 'Medium',\n NotificationType = 'Notification Type',\n IsMessageId = 'Is Message Id',\n}\n\nenum TaskNotificationPropertyMap {\n CreatedAt = 'CreatedAt',\n Name = 'Name',\n Subject = 'Subject',\n SenderConfig = 'SendorConfig',\n Medium = 'Medium',\n NotificationType = 'NotificationType',\n IsMessageId = 'IsMessageId',\n}\n\n@Component({\n selector: 'lib-task-notification',\n templateUrl: './task-notification.component.html',\n styleUrl: './task-notification.component.css',\n})\nexport class TaskNotificationComponent implements OnInit {\n @Input() permissionConfig: PermissionConfig | null = null;\n visibleColumnDef: ColumnDefinition<any>[] = [];\n styles = baseStyle;\n data: TaskNotification[] = [];\n cardData: CardData[] = [];\n currentData: CardData | null = null;\n workflowAPI: string = '';\n configAPI: string = '';\n\n @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n @ViewChild('vdv') dataView!: DataViewComponent;\n @ViewChild('dt') tableView!: DataTableComponent<TaskNotification>;\n @ViewChildren('popup') popUps!: QueryList<VerbenPopUpComponent>;\n pageSize: number = 10;\n searchDebounceTime: number = 500;\n\n pageState: PagedResult<TaskNotification> | null = null;\n isOpen: boolean = false;\n openDropdownId: string | null = null;\n currentFilters: IDataFilter[] = [];\n currentSorts: IDataFilter[] = [];\n searchTerm$ = new Subject<string>();\n // searchTermHistory: string[] = [];\n\n smsConfigs: SMSConfig[] = [];\n mailConfigs: MailConfig[] = [];\n reportSchedules: ReportSchedule[] = [];\n mediumOptions: string[] = Object.keys(MessageMedium);\n notificationTypeOptions: string[] = Object.keys(TaskNotificationType);\n\n smsRef: MessageMedium = MessageMedium.SMS;\n mailRef: MessageMedium = MessageMedium.Mail;\n\n editorMode: EditorMode = EditorMode.Designer;\n editorConfig: EditorConfig = {\n editable: true,\n height: '',\n width: '',\n showToolbar: true,\n menuItems: [\n {\n Label: 'ToggleView',\n Icon: 'code-toggle',\n IconWidth: 20,\n IconHeight: 20,\n IsStroke: false,\n GroupBy: 'local',\n OnClick: (event: EditorState | undefined) => {\n this.editorMode =\n this.editorMode == EditorMode.Designer\n ? EditorMode.Code\n : EditorMode.Designer;\n },\n IsDisabled: (event: EditorState | undefined) => {\n return false;\n },\n IsEnabled: (event: EditorState | undefined) => {\n return this.editorMode == EditorMode.Code;\n },\n },\n ],\n };\n\n visibleColumns: IDataFilter[] = [];\n\n filterArray: IDataFilter[] = [\n {\n name: TaskNotificationPropertyName.CreatedAt,\n type: DataFilterType.Date,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.Name,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.Subject,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.SenderConfig,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.Medium,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.NotificationType,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.IsMessageId,\n type: DataFilterType.String,\n checked: false,\n },\n ];\n\n sortOptions: IDataFilter[] = [\n {\n name: TaskNotificationPropertyName.CreatedAt,\n type: DataFilterType.Date,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.Name,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.Subject,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.SenderConfig,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.Medium,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.NotificationType,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: TaskNotificationPropertyName.IsMessageId,\n type: DataFilterType.String,\n checked: false,\n },\n ];\n\n private currentSearchTerm: string = '';\n\n constructor(\n private utilService: UtilService,\n private server: HttpWebRequestService,\n private cdr: ChangeDetectorRef,\n private fb: FormBuilder,\n private envSvc: EnvironmentService,\n public service: TaskNotificationService\n ) {\n this.workflowAPI = this.envSvc.environment.WorkFlowAPI;\n this.configAPI = `${this.envSvc.environment.MessagingAPI}`;\n }\n\n async ngOnInit(): Promise<void> {\n this.visibleColumnDef = this.service.taskNotificationColumns.filter(\n (x) =>\n x.id != 'actions' ||\n !this.permissionConfig ||\n this.permissionConfig.Actions['Create']\n );\n this.visibleColumns = this.service.taskNotificationColumns\n .filter(\n (x) =>\n x.id != 'actions' ||\n !this.permissionConfig ||\n this.permissionConfig.Actions['CreateLine']\n )\n .map((col) => ({\n checked: true,\n name: typeof col.header === 'string' ? col.header : col.id,\n type: DataFilterType.Bool,\n }));\n const groups = await this.getAllTaskNotifications();\n if (groups) {\n this.data = groups.map((x) => {\n return {\n ...x,\n Id: x.Code,\n };\n });\n this.setUpCardData();\n }\n\n this.service.getAllSMSConfigs().then((res) => {\n if (res) {\n this.smsConfigs = res;\n }\n });\n\n this.service.getAllMailConfigs().then((res) => {\n if (res) {\n this.mailConfigs = res;\n }\n });\n\n this.service.getAllReportSchedules().then((res) => {\n if (res) {\n this.reportSchedules = res;\n }\n });\n\n this.searchTerm$\n .pipe(debounceTime(this.searchDebounceTime)) // Adjust debounce time here (in ms)\n .subscribe(async (searchTerm) => {\n this.currentSearchTerm = searchTerm;\n this.updateFiltersAndSorts(true);\n });\n }\n\n async getAllTaskNotifications(): Promise<TaskNotification[] | undefined> {\n this.utilService.sendBI(true);\n const res = await this.server.get(\n `GetTaskNotifications/0/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return undefined;\n } else {\n this.pageState = res as PagedResult<TaskNotification>;\n var result = (res as PagedResult<TaskNotification>).Result;\n return result;\n }\n }\n\n async loadMore() {\n if (!this.pageState) {\n return;\n }\n this.utilService.sendBI(true);\n const res =\n this.currentFilters.length > 0 ||\n this.currentSorts.length > 0 ||\n this.currentSearchTerm.trim().length > 0\n ? await this.loadMoreFiltersAndSorts()\n : await this.server.get(\n `GetTaskNotifications/${this.pageState.Skip}/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return;\n } else {\n this.pageState = res as PagedResult<TaskNotification>;\n var result = (res as PagedResult<TaskNotification>).Result;\n const mappedData: TaskNotification[] = result.map((x) => {\n return {\n ...x,\n Id: x.Code,\n };\n });\n this.data = (this.data as TaskNotification[]).concat(mappedData);\n this.setUpCardDataExtra(mappedData);\n }\n }\n\n setUpCardData() {\n const cardData: CardData[] = this.data.map((x) => {\n return {\n selected: false,\n title: x.Id.toString(),\n data: x,\n body: [],\n children: [],\n };\n });\n this.cardData = cardData;\n }\n setUpCardDataExtra(baseData: TaskNotification[]) {\n const cardData: CardData[] = baseData.map((x) => {\n return {\n selected: false,\n title: x.Id.toString(),\n data: x,\n body: [],\n children: [],\n };\n });\n this.cardData = this.cardData.concat(cardData);\n }\n\n goToCardView(data: TaskNotification) {\n const item = this.cardData.find((x) => x.data == data);\n if (item) {\n this.cardClicked(item, true);\n }\n }\n\n goToTableView() {\n if (!this.currentData) {\n return;\n }\n this.dataView.toggleView();\n const id = this.currentData.data ? this.currentData.data.Id : '';\n if (id.trim().length > 0 && !this.tableView.isRowEditing(id)) {\n this.tableView.toggleRowEdit(id);\n }\n }\n\n viewVendors(code: string) {\n if (code.trim().length == 0) {\n return;\n }\n // this.onViewProcessClicked.emit(code);\n this.closePopUp();\n }\n\n cardClicked(item: CardData, toggleView: boolean = false) {\n this.currentData = this.cardDataView.onItemClick(item);\n if (toggleView) {\n this.dataView.toggleView();\n }\n }\n\n async saveTaskNotification() {\n if (this.currentData) {\n var group: TaskNotification = this.currentData.data as TaskNotification;\n\n if (this.currentData.data.Name.trim().length == 0) {\n this.utilService.showInfo('Name cannot be empty');\n return;\n }\n group.DataState =\n group.DataState == ObjectState.New\n ? ObjectState.New\n : ObjectState.Changed;\n group.Id = '';\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SaveTaskNotifications`,\n [group],\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n } else {\n this.utilService.showSuccess('Vendor Group saved successfully');\n const result = res as TaskNotification[];\n if (result.length > 0) {\n var resultItem = result[0];\n const itemIndex = this.data.findIndex(\n (x) => x == this.currentData?.data\n );\n if (itemIndex > -1) {\n this.data[itemIndex].Code = resultItem.Code;\n this.data[itemIndex].Id = resultItem.Code;\n this.data[itemIndex].id = resultItem.Code;\n this.data[itemIndex].DataState = resultItem.DataState;\n this.data[itemIndex].TenantId = resultItem.TenantId;\n this.data[itemIndex].ServiceName = resultItem.ServiceName;\n this.data = this.data.map((x) => x);\n this.cacheItem(this.data[itemIndex]);\n }\n }\n }\n }\n }\n async tableSaveTaskNotification(form: TaskNotification, callBack: () => any) {\n if (form.Name.trim().length == 0) {\n this.utilService.showInfo('Name cannot be empty');\n return;\n }\n form.DataState =\n form.DataState == ObjectState.New ? ObjectState.New : ObjectState.Changed;\n form.Id = '';\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SaveTaskNotifications`,\n [form],\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n } else {\n this.utilService.showSuccess('Vendor Group saved successfully');\n const result = res as TaskNotification[];\n if (result.length > 0) {\n var resultItem = result[0];\n const itemIndex = this.data.findIndex((x) => x == form);\n if (itemIndex > -1) {\n this.data[itemIndex].Code = resultItem.Code;\n this.data[itemIndex].Id = resultItem.Code;\n this.data[itemIndex].id = resultItem.Code;\n this.data[itemIndex].DataState = resultItem.DataState;\n this.data[itemIndex].TenantId = resultItem.TenantId;\n this.data[itemIndex].ServiceName = resultItem.ServiceName;\n this.data = this.data.map((x) => x);\n this.cacheItem(this.data[itemIndex]);\n }\n callBack();\n }\n }\n }\n\n updateTable() {\n this.data = this.data.map((x) => x);\n }\n\n updateItem(value: any, key: string): any {\n return {\n [key]: value,\n };\n }\n\n closePopUp() {\n this.openDropdownId = null;\n this.popUps.forEach((popUp) => {\n if (popUp.dropdownOpen) {\n popUp.toggleDropdown();\n }\n });\n }\n\n onViewChange(isGridView: boolean): void { }\n\n onStateChange(event: { key: string; value: boolean }): void {\n switch (event.key) {\n case 'create':\n var newGroup: TaskNotification = {\n Name: '',\n Message: '',\n Subject: '',\n SenderConfig: '',\n Medium: MessageMedium.Mail,\n NotificationType: TaskNotificationType.Assignment,\n IsMessageId: false,\n IsTaskDataSource: true,\n id: this.data.length.toString(),\n Id: this.data.length.toString(),\n Code: '',\n TenantId: '',\n ServiceName: '',\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n DataState: ObjectState.New,\n };\n const cardData: CardData = {\n selected: false,\n title: newGroup.Name,\n data: newGroup,\n body: [],\n children: [],\n };\n this.data = this.data.concat([newGroup]);\n this.cardData.push(cardData);\n this.cardClicked(cardData);\n this.dataView.isTableView = false;\n break;\n default:\n break;\n }\n }\n\n showTableView: boolean = false;\n onSelectionChange(selectedRows: TaskNotification[]) { }\n\n onColumnsUpdated(updatedColumns: IDataFilter[]) {\n const updatedColumnDef: ColumnDefinition<TaskNotification>[] = [];\n updatedColumns.forEach((col) => {\n const matchingCol = this.service.taskNotificationColumns\n .filter(\n (x) =>\n x.id != 'actions' ||\n !this.permissionConfig ||\n this.permissionConfig.Actions['Create']\n )\n .find((column) => column.header === col.name || column.id === col.name);\n if (matchingCol) {\n updatedColumnDef.push(matchingCol);\n }\n });\n\n this.visibleColumnDef = [...updatedColumnDef];\n }\n\n async updateFiltersAndSorts(isSearch: boolean = false) {\n if (!isSearch) {\n this.dataView.onClearSearch();\n this.currentSearchTerm = '';\n this.cdr.detectChanges();\n const clickEvent = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window,\n });\n document.dispatchEvent(clickEvent);\n }\n var payload: SearchPropertyValue[] = this.currentFilters.map((x) => {\n return {\n PropertyName:\n TaskNotificationPropertyMap[\n x.name\n .split(' ')\n .join('') as keyof typeof TaskNotificationPropertyMap\n ],\n EntityValue: x.value,\n Operator: SearchOperator.And,\n Sign:\n x.condition && Object.keys(FilterTypes).includes(x.condition)\n ? (FilterTypes[\n x.condition as keyof typeof FilterTypes\n ] as unknown as SearchPropertySign)\n : SearchPropertySign.EQ,\n Type:\n x.name == TaskNotificationPropertyName.CreatedAt\n ? SearchPropertyValueType.Date\n : x.name == TaskNotificationPropertyName.IsMessageId\n ? SearchPropertyValueType.Bool\n : SearchPropertyValueType.String,\n };\n });\n // payload.push({\n // PropertyName: 'APIKey',\n // EntityValue: this.envSvc.environment.APIKey,\n // Operator: SearchOperator.And,\n // Sign: SearchPropertySign.EQ,\n // });\n for (let sort of this.currentSorts) {\n payload.push({\n PropertyName:\n TaskNotificationPropertyMap[\n sort.name\n .split(' ')\n .join('') as keyof typeof TaskNotificationPropertyMap\n ],\n EntityValue: '',\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n Sort:\n sort.value.toLowerCase() == SortDirection.Asc.toLowerCase()\n ? SortDirection.Asc\n : sort.value.toLowerCase() == SortDirection.Desc.toLowerCase()\n ? SortDirection.Desc\n : SortDirection.None,\n });\n }\n const searchTermExists = this.currentSearchTerm.trim().length > 0;\n this.utilService.sendBI(true);\n const res = searchTermExists\n ? await this.server.get(\n `GetTaskNotificationWithParam/${this.currentSearchTerm.trim()}/0/${this.pageSize\n }`,\n this.envSvc.environment.WorkFlowAPI\n )\n : payload.length == 0\n ? await this.server.get(\n `GetTaskNotifications/0/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n )\n : await this.server.post(\n `SearchTaskNotification/0/${this.pageSize}`,\n payload,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n this.currentFilters = [];\n this.currentSorts = [];\n return undefined;\n } else {\n this.cardDataView.clearData();\n this.currentData = null;\n this.pageState = res as PagedResult<TaskNotification>;\n var result = (res as PagedResult<TaskNotification>).Result;\n this.data = result.map((x) => {\n return {\n ...x,\n Id: x.Code,\n };\n });\n this.setUpCardData();\n }\n }\n async loadMoreFiltersAndSorts(): Promise<\n PagedResult<TaskNotification> | undefined\n > {\n if (!this.pageState) {\n return;\n }\n var payload: SearchPropertyValue[] = this.currentFilters.map((x) => {\n return {\n PropertyName:\n TaskNotificationPropertyMap[\n x.name\n .split(' ')\n .join('') as keyof typeof TaskNotificationPropertyMap\n ],\n EntityValue: x.value,\n Operator: SearchOperator.And,\n Sign:\n x.condition && Object.keys(FilterTypes).includes(x.condition)\n ? (FilterTypes[\n x.condition as keyof typeof FilterTypes\n ] as unknown as SearchPropertySign)\n : SearchPropertySign.EQ,\n Type:\n x.name == TaskNotificationPropertyName.CreatedAt\n ? SearchPropertyValueType.Date\n : x.name == TaskNotificationPropertyName.IsMessageId\n ? SearchPropertyValueType.Bool\n : SearchPropertyValueType.String,\n };\n });\n for (let sort of this.currentSorts) {\n payload.push({\n PropertyName:\n TaskNotificationPropertyMap[\n sort.name\n .split(' ')\n .join('') as keyof typeof TaskNotificationPropertyMap\n ],\n EntityValue: '',\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n Sort:\n sort.value.toLowerCase() == SortDirection.Asc.toLowerCase()\n ? SortDirection.Asc\n : sort.value.toLowerCase() == SortDirection.Desc.toLowerCase()\n ? SortDirection.Desc\n : SortDirection.None,\n });\n }\n const searchTermExists = this.currentSearchTerm.trim().length > 0;\n this.utilService.sendBI(true);\n const res = searchTermExists\n ? await this.server.get(\n `GetTaskNotificationsWithParam/${this.currentSearchTerm.trim()}/${this.pageState.Skip\n }/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n )\n : payload.length == 0\n ? await this.server.get(\n `GetTaskNotifications/${this.pageState.Skip}/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n )\n : await this.server.post(\n `SearchTaskNotification/${this.pageState.Skip}/${this.pageSize}`,\n payload,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return undefined;\n } else {\n var result = res as PagedResult<TaskNotification>;\n return result;\n }\n }\n\n onFilterUpdated(updatedFilters: IDataFilter[] | string) {\n // Ensure updatedFilters is an array\n if (Array.isArray(updatedFilters)) {\n this.currentFilters = updatedFilters;\n this.updateFiltersAndSorts();\n }\n }\n onSortUpdated(updatedSorts: IDataFilter[]) {\n this.currentSorts = updatedSorts;\n this.updateFiltersAndSorts();\n }\n\n handleSearch(event: { key: string; value: string }) {\n this.searchTerm$.next(event.value);\n }\n\n handleExport(exportedData: Partial<any>[]) {\n // console.log('Exported data:', exportedData);\n this.downloadCSV(exportedData);\n }\n\n private downloadCSV(data: Partial<any>[]) {\n const headers = Object.keys(data[0]);\n const csvContent = [\n headers.join(','),\n ...data.map((row) => headers.map((header) => row[header]).join(',')),\n ].join('\\n');\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', 'export.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n\n toggleIsMessageId(item: TaskNotification, isMessageId: boolean) {\n item.Message = '';\n item.IsMessageId = isMessageId;\n }\n\n tableCache = new Map<string, TaskNotification>();\n\n cacheItem(item: TaskNotification) {\n const cacheKey = item.Id;\n this.tableCache.set(cacheKey, JSON.parse(JSON.stringify(item)));\n }\n\n restoreCache(item: TaskNotification) {\n const cacheKey = item.Id;\n const itemCache = this.tableCache.get(cacheKey);\n if (itemCache) {\n item.Name = itemCache.Name;\n item.Subject = itemCache.Subject;\n item.NotificationType = itemCache.NotificationType;\n item.Medium = itemCache.Medium;\n item.SenderConfig = itemCache.SenderConfig;\n }\n this.tableCache.delete(cacheKey);\n }\n}\n","<div #messageLog class=\"flex flex-col gap-4 message-log-container\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: (!permissionConfig || permissionConfig.Actions['Export']),\n isSelect: true,\n isCreate: (!permissionConfig || permissionConfig.Actions['Create']),\n isToggle:true,\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\"\n >\n <div class=\"mt-2\" table-content>\n <lib-data-table\n [dataKey]=\"'Id'\"\n class=\"form-table\"\n #dt\n [data]=\"data\"\n [columns]=\"visibleColumnDef\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"select\">\n <ng-template\n #cell\n let-isSelected=\"isSelected\"\n let-toggleRowSelection=\"toggleRowSelection\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"isSelected\"\n (change)=\"toggleRowSelection()\"\n />\n </ng-template>\n <ng-template\n #header\n let-allRowsSelected=\"allRowsSelected\"\n let-someRowsSelected=\"someRowsSelected\"\n let-toggleAllRows=\"toggleAllRows\"\n >\n <input\n type=\"checkbox\"\n [checked]=\"allRowsSelected()\"\n [indeterminate]=\"someRowsSelected()\"\n (change)=\"toggleAllRows()\"\n />\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"medium\">\n <ng-template #cell let-row=\"row\" let-value>\n {{ value.Medium }}\n </ng-template>\n <ng-template\n #cellEdit\n let-row=\"row\"\n let-updateData=\"updateData\"\n let-value\n >\n <verben-drop-down\n width=\"100%\"\n placeholder=\"Select Message Medium\"\n [(options)]=\"mediumOptions\"\n [(ngModel)]=\"value.Medium\"\n >\n </verben-drop-down>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"name\">\n <ng-template #cell let-row=\"row\" let-value>\n {{ value.Name }}\n </ng-template>\n <ng-template\n #cellEdit\n let-row=\"row\"\n let-updateData=\"updateData\"\n let-value\n >\n <div class=\"width-max\">\n <verbena-input [(ngModel)]=\"value.Name\"></verbena-input>\n </div>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"subject\">\n <ng-template #cell let-row=\"row\" let-value>\n {{ value.Subject }}\n </ng-template>\n <ng-template\n #cellEdit\n let-row=\"row\"\n let-updateData=\"updateData\"\n let-value\n >\n <div class=\"width-max\">\n <verbena-input [(ngModel)]=\"value.Subject\"></verbena-input>\n </div>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"senderConfig\">\n <ng-template #cell let-row=\"row\" let-value>\n <div *ngIf=\"value.Medium == this.smsRef\">\n {{\n value.SenderConfig\n | asyncLabel : \"SMSConfig\" : \"Name\" : configAPI\n | async\n }}\n </div>\n <div *ngIf=\"value.Medium == this.mailRef\">\n {{\n value.SenderConfig\n | asyncLabel : \"MailConfig\" : \"Name\" : configAPI\n | async\n }}\n </div>\n </ng-template>\n <ng-template\n #cellEdit\n let-row=\"row\"\n let-updateData=\"updateData\"\n let-value\n >\n <verben-drop-down\n *ngIf=\"value.Medium == this.smsRef\"\n [filter]=\"true\"\n [load]=\"service.loadMoreSMSConfigs.bind(service)\"\n [search]=\"service.searchSMSConfigs.bind(service)\"\n [lazyLoad]=\"true\"\n [asyncLabel]=\"service.getAsyncSMSConfigLabel.bind(service)\"\n width=\"100%\"\n placeholder=\"Select Sender Config\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n [(options)]=\"smsConfigs\"\n [(ngModel)]=\"value.SenderConfig\"\n >\n </verben-drop-down>\n <verben-drop-down\n *ngIf=\"value.Medium == this.mailRef\"\n [filter]=\"true\"\n [load]=\"service.loadMoreMailConfigs.bind(service)\"\n [search]=\"service.searchMailConfigs.bind(service)\"\n [lazyLoad]=\"true\"\n [asyncLabel]=\"service.getAsyncMailConfigLabel.bind(service)\"\n width=\"100%\"\n placeholder=\"Select Sender Config\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n [(options)]=\"mailConfigs\"\n [(ngModel)]=\"value.SenderConfig\"\n >\n </verben-drop-down>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"notificationType\">\n <ng-template #cell let-row=\"row\" let-value>\n {{ value.NotificationType }}\n </ng-template>\n <ng-template\n #cellEdit\n let-row=\"row\"\n let-updateData=\"updateData\"\n let-value\n >\n <verben-drop-down\n width=\"100%\"\n placeholder=\"Select Notification Type\"\n [(options)]=\"notificationTypeOptions\"\n [(ngModel)]=\"value.NotificationType\"\n >\n </verben-drop-down>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template\n #cell\n let-isEditing=\"isEditing\"\n let-toggleRowEdit=\"toggleRowEdit\"\n let-row=\"row\"\n let-value\n >\n <verben-pop-Up\n #popup\n [customStyles]=\"{ 'z-index': '99' }\"\n [enableMouseLeave]=\"false\"\n >\n <verben-svg\n class=\"cursor-pointer actions-icon\"\n dropdown-trigger\n icon=\"list\"\n ></verben-svg>\n <div class=\"pop-up-content flex flex-col\" dropdown-content>\n <!-- <div (click)=\"viewVendors(value.Code)\" class=\"pop-up-value cursor-pointer\">View vendors</div> -->\n <div\n (click)=\"toggleRowEdit(); cacheItem(value); closePopUp()\"\n class=\"pop-up-value cursor-pointer\"\n >\n Edit\n </div>\n <!-- <div class=\"pop-up-value cursor-pointer\">Delete</div> -->\n </div>\n </verben-pop-Up>\n </ng-template>\n <ng-template\n #cellEdit\n let-isEditing=\"isEditing\"\n let-toggleRowEdit=\"toggleRowEdit\"\n let-row=\"row\"\n let-value\n >\n <div class=\"flex gap-2 items-center\">\n <verben-svg\n icon=\"tick\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"tableSaveTaskNotification(value, toggleRowEdit)\"\n ></verben-svg>\n <verben-svg\n (click)=\"restoreCache(value); toggleRowEdit()\"\n icon=\"close-no-circle\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n <!-- <verben-svg (click)=\"toggleRowEdit()\" icon=\"delete\" [width]=\"15\" [height]=\"15\"></verben-svg> -->\n <verben-svg\n icon=\"cardViewAlt\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"goToCardView(value)\"\n ></verben-svg>\n </div>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n #vdcv\n dataId=\"Id\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"var(--vbn-color-surface-alt)\"\n mg=\"0px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"Id\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div\n (click)=\"cardClicked(item)\"\n class=\"flex cursor-pointer h-[max-content]\"\n >\n <!-- <verben-svg [width]=\"15\" [height]=\"15\" (click)=\"toggleChildren(item); $event.stopPropagation()\"\n [ngClass]=\"item.children && item.children.length?'visible':'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\" [icon]=\"item.isChildrenExpanded?'minus':'plus'\" /> -->\n <div class=\"flex w-full bg-secondary rounded-xl\">\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"py-3 px-4 flex-1 h-[100%]\">\n <div\n class=\"flex items-start flex-1 gap-1 justify-between h-[100%]\"\n >\n <div\n class=\"flex flex-col flex-1 card-min-height justify-between h-[100%]\"\n >\n <h3\n class=\"my-0 font-bold text-[var(--vbn-color-on-primary)] leading-[19.5px]\"\n >\n {{ item.data.Name }}\n </h3>\n <!-- <span class=\"flex items-center gap-1\">\n <span class=\"!text-[10px] font-light text-[var(--vbn-color-on-primary)]\">Ledger Header:</span> <span\n class=\"!text-[12px]\">{{item.data.SenderConfig}}</span>\n </span> -->\n </div>\n\n <div class=\"flex flex-col items-between h-[100%]\">\n <div class=\"flex flex-col gap-1\">\n <span class=\"!text-[10px] font-light text-[var(--vbn-color-on-primary)]\"\n >Medium:</span\n >\n <div>{{ item.data.Medium }}</div>\n </div>\n <!-- <p [ngClass]=\"{'disabled': item.data.DataState == 'New'}\" (click)=\"viewVendors(item.data.Code) ;$event.stopPropagation()\"\n class=\"view-lines my-0 underline text-[var(--vbn-color-border-focus)] text-[12px] leading-[16.6px] cursor-pointer font-medium\">\n view vendors</p> -->\n <!-- <span class=\"enum-val {{item.data.Status}}\">{{item.data.Status}}</span> -->\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n <verben-right-card-data-view>\n <ng-template #parent>\n <div\n *ngIf=\"this.currentData\"\n class=\"flex flex-col rounded-xl h-full w-full justify-between relative space-y-4\"\n >\n <div class=\"flex flex-col gap-3\">\n <div class=\"options-container flex flex-col gap-2\">\n <div class=\"options-item flex gap-2 items-center\">\n <div\n (click)=\"toggleIsMessageId(this.currentData.data, false)\"\n [ngClass]=\"{ active: !this.currentData.data.IsMessageId }\"\n class=\"option-toggle rounded-full flex items-center justify-center\"\n >\n <div class=\"option-toggle-dot rounded-full\"></div>\n </div>\n <div>Type Message</div>\n </div>\n <div class=\"options-item flex gap-2 items-center\">\n <div\n (click)=\"toggleIsMessageId(this.currentData.data, true)\"\n [ngClass]=\"{ active: this.currentData.data.IsMessageId }\"\n class=\"option-toggle rounded-full flex items-center justify-center\"\n >\n <div class=\"option-toggle-dot rounded-full\"></div>\n </div>\n <div>Select Existing Message</div>\n </div>\n </div>\n <div\n class=\"task-notification-inputs-container flex flex-col gap-3\"\n >\n <!-- <verbena-input [disabled]=\"true\" name=\"Code\" label=\"Code\" [(ngModel)]=\"this.currentData.data.Code\" /> -->\n\n <div\n *ngIf=\"this.currentData.data.IsMessageId\"\n class=\"flex flex-col gap-1\"\n >\n <div>Message Config</div>\n <verben-drop-down\n [filter]=\"true\"\n [load]=\"service.loadMoreReportSchedules.bind(service)\"\n [search]=\"service.searchReportSchedules.bind(service)\"\n [lazyLoad]=\"true\"\n [asyncLabel]=\"\n service.getAsyncReportScheduleLabel.bind(service)\n \"\n width=\"100%\"\n placeholder=\"Select Message Config\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n [(options)]=\"reportSchedules\"\n [(ngModel)]=\"this.currentData.data.Message\"\n >\n </verben-drop-down>\n </div>\n\n <verbena-input\n name=\"Name\"\n label=\"Name\"\n (ngModelChange)=\"updateTable()\"\n [(ngModel)]=\"this.currentData.data.Name\"\n />\n <verbena-input\n name=\"Subject\"\n label=\"Subject\"\n (ngModelChange)=\"updateTable()\"\n [(ngModel)]=\"this.currentData.data.Subject\"\n />\n <div class=\"flex flex-col gap-1\">\n <div>Notification Type</div>\n <verben-drop-down\n width=\"100%\"\n placeholder=\"Select Notification Type\"\n [(options)]=\"notificationTypeOptions\"\n [(ngModel)]=\"this.currentData.data.NotificationType\"\n >\n </verben-drop-down>\n </div>\n <div class=\"flex flex-col gap-1\">\n <div>Message Medium</div>\n <verben-drop-down\n width=\"100%\"\n placeholder=\"Select Message Medium\"\n [(options)]=\"mediumOptions\"\n [(ngModel)]=\"this.currentData.data.Medium\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"flex flex-col gap-1\">\n <div>Sender Config</div>\n <verben-drop-down\n *ngIf=\"this.currentData.data.Medium == this.smsRef\"\n [filter]=\"true\"\n [load]=\"service.loadMoreSMSConfigs.bind(service)\"\n [search]=\"service.searchSMSConfigs.bind(service)\"\n [lazyLoad]=\"true\"\n [asyncLabel]=\"\n service.getAsyncSMSConfigLabel.bind(service)\n \"\n width=\"100%\"\n placeholder=\"Select Sender Config\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n [(options)]=\"smsConfigs\"\n [(ngModel)]=\"this.currentData.data.SenderConfig\"\n >\n </verben-drop-down>\n <verben-drop-down\n *ngIf=\"this.currentData.data.Medium == this.mailRef\"\n [filter]=\"true\"\n [load]=\"service.loadMoreMailConfigs.bind(service)\"\n [search]=\"service.searchMailConfigs.bind(service)\"\n [lazyLoad]=\"true\"\n [asyncLabel]=\"\n service.getAsyncMailConfigLabel.bind(service)\n \"\n width=\"100%\"\n placeholder=\"Select Sender Config\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n [(options)]=\"mailConfigs\"\n [(ngModel)]=\"this.currentData.data.SenderConfig\"\n >\n </verben-drop-down>\n </div>\n\n <div\n *ngIf=\"!this.currentData.data.IsMessageId\"\n class=\"flex editor-container-wrapper flex-col gap-1\"\n >\n <lib-editor\n [editorConfig]=\"editorConfig\"\n [editorMode]=\"editorMode\"\n [(ngModel)]=\"this.currentData.data.Message\"\n ></lib-editor>\n </div>\n </div>\n </div>\n <!-- buttons -->\n <div class=\"flex justify-between bottom-8 left-0 right-0\">\n <div></div>\n <!-- <verbena-button class=\"verben-delete-button\" text=\"Delete\"></verbena-button> -->\n <div class=\"flex gap-3\">\n <!-- <verbena-button class=\"verben-switch-button\"\n (click)=\"viewVendors(this.currentData? this.currentData.data? this.currentData.data.Code: '':'')\"\n text=\"View Vendors\"></verbena-button> -->\n <verbena-button\n class=\"verben-switch-button\"\n (click)=\"goToTableView()\"\n text=\"Switch To Table\"\n ></verbena-button>\n <verbena-button\n *ngIf=\"\n !permissionConfig || permissionConfig.Actions['Create']\n \"\n class=\"verben-primary-button\"\n (click)=\"this.saveTaskNotification()\"\n text=\"Save\"\n ></verbena-button>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-right-card-data-view>\n <!-- <verben-right-card-data-view>\n yeshhhhhh\n </verben-right-card-data-view> -->\n\n <verben-card-data-view-footer>\n <div class=\"flex gap-2 justify-between\">\n <div\n *ngIf=\"!vdcv.hasCurrentItem()\"\n class=\"message-log-button-container flex justify-between\"\n >\n <!-- <verbena-button [fontWeight]=\"'bold'\" [bgColor]=\"'var(--vbn-color-text-muted)'\" [borderRadius]=\"'4px'\" [textColor]=\"'var(--vbn-color-surface)'\"\n [text]=\"'Delete'\">\n </verbena-button> -->\n </div>\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more view-links\">\n Load more\n </button>\n </div>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid var(--vbn-color-primary)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"var(--vbn-color-primary)\"\n secondaryColor=\"var(--vbn-color-border-focus)\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n (filtersApplied)=\"onFilterUpdated($event)\"\n [border]=\"'1px solid var(--vbn-color-primary)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"var(--vbn-color-primary)\"\n secondaryColor=\"var(--vbn-color-border-focus)\"\n tertiaryColor=\"var(--vbn-color-on-primary)\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid var(--vbn-color-primary)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"var(--vbn-color-primary)\"\n secondaryColor=\"var(--vbn-color-border-focus)\"\n tertiaryColor=\"var(--vbn-color-on-primary)\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-between\">\n <div class=\"message-log-button-container flex justify-between\">\n <!-- <verbena-button [fontWeight]=\"'bold'\" [bgColor]=\"'var(--vbn-color-text-muted)'\" [borderRadius]=\"'4px'\" [textColor]=\"'var(--vbn-color-surface)'\"\n [text]=\"'Delete'\">\n </verbena-button> -->\n </div>\n <div class=\"flex justify-end items-center gap-5\">\n <span class=\"paginator-text\">{{ cardData.length }} records loaded</span>\n <button (click)=\"loadMore()\" class=\"load-more view-links\">\n Load more\n </button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { TaskNotificationComponent } from './task-notification.component';\nimport { SharedModule } from 'verben-workflow-ui/src/lib/shared';\n\n@NgModule({\n declarations: [TaskNotificationComponent],\n imports: [SharedModule],\n exports: [TaskNotificationComponent],\n})\nexport class TaskNotificationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.TaskNotificationService"],"mappings":"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"}