verben-workflow-ui 0.5.76 → 0.5.78

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 (182) 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 +17 -10
  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 +5 -5
  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 +5 -5
  53. package/esm2022/src/lib/components/form-group/form-group.module.mjs +4 -4
  54. package/esm2022/src/lib/components/form-group/form-group.service.mjs +3 -3
  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 +5 -5
  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 +5 -5
  67. package/esm2022/src/lib/components/my-queue/my-queue.facade.mjs +3 -3
  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 +17 -26
  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 +18 -9
  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/pipes/async-label.pipe.mjs +3 -3
  125. package/esm2022/src/lib/services/environment.service.mjs +3 -3
  126. package/esm2022/src/lib/services/http-web-request.service.mjs +3 -3
  127. package/esm2022/src/lib/services/label.service.mjs +3 -3
  128. package/esm2022/src/lib/services/util.service.mjs +3 -3
  129. package/esm2022/src/lib/shared/base-table-style.mjs +6 -6
  130. package/esm2022/src/lib/shared/components/base-data-view.component.mjs +3 -3
  131. package/esm2022/src/lib/shared/shared.module.mjs +4 -4
  132. package/fesm2022/verben-workflow-ui-src-lib-components-actors.mjs +21 -21
  133. package/fesm2022/verben-workflow-ui-src-lib-components-actors.mjs.map +1 -1
  134. package/fesm2022/verben-workflow-ui-src-lib-components-designer.mjs +85 -85
  135. package/fesm2022/verben-workflow-ui-src-lib-components-designer.mjs.map +1 -1
  136. package/fesm2022/verben-workflow-ui-src-lib-components-expiration.mjs +7 -7
  137. package/fesm2022/verben-workflow-ui-src-lib-components-expiration.mjs.map +1 -1
  138. package/fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs +8 -8
  139. package/fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs.map +1 -1
  140. package/fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs +8 -8
  141. package/fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs.map +1 -1
  142. package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs +33 -26
  143. package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs.map +1 -1
  144. package/fesm2022/verben-workflow-ui-src-lib-components-form-control.mjs +8 -8
  145. package/fesm2022/verben-workflow-ui-src-lib-components-form-control.mjs.map +1 -1
  146. package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs +27 -27
  147. package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs.map +1 -1
  148. package/fesm2022/verben-workflow-ui-src-lib-components-form-response.mjs +11 -11
  149. package/fesm2022/verben-workflow-ui-src-lib-components-form-response.mjs.map +1 -1
  150. package/fesm2022/verben-workflow-ui-src-lib-components-form-timer.mjs +8 -8
  151. package/fesm2022/verben-workflow-ui-src-lib-components-form-timer.mjs.map +1 -1
  152. package/fesm2022/verben-workflow-ui-src-lib-components-forms.mjs +16 -16
  153. package/fesm2022/verben-workflow-ui-src-lib-components-forms.mjs.map +1 -1
  154. package/fesm2022/verben-workflow-ui-src-lib-components-journal.mjs +7 -7
  155. package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs +21 -21
  156. package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs.map +1 -1
  157. package/fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs +13 -13
  158. package/fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs.map +1 -1
  159. package/fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs +8 -8
  160. package/fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs.map +1 -1
  161. package/fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs +8 -8
  162. package/fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs.map +1 -1
  163. package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs +11 -11
  164. package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs.map +1 -1
  165. package/fesm2022/verben-workflow-ui-src-lib-components-task-notification.mjs +16 -16
  166. package/fesm2022/verben-workflow-ui-src-lib-components-task-notification.mjs.map +1 -1
  167. package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs +33 -42
  168. package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs.map +1 -1
  169. package/fesm2022/verben-workflow-ui-src-lib-components-wf.mjs +10 -10
  170. package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs +67 -67
  171. package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs.map +1 -1
  172. package/fesm2022/verben-workflow-ui-src-lib-components-workflow.mjs +16 -16
  173. package/fesm2022/verben-workflow-ui-src-lib-components-workflow.mjs.map +1 -1
  174. package/fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs +34 -25
  175. package/fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs.map +1 -1
  176. package/fesm2022/verben-workflow-ui-src-lib-pipes.mjs +3 -3
  177. package/fesm2022/verben-workflow-ui-src-lib-services.mjs +12 -12
  178. package/fesm2022/verben-workflow-ui-src-lib-shared.mjs +12 -12
  179. package/fesm2022/verben-workflow-ui-src-lib-shared.mjs.map +1 -1
  180. package/package.json +30 -30
  181. package/src/lib/components/workflow/workflow.component.d.ts +1 -1
  182. package/styles/styles.css +19 -1436
@@ -1 +1 @@
1
- {"version":3,"file":"verben-workflow-ui-src-lib-components-tasks.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.columns.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.service.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.state.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.facade.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.models.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.form.component.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.form.component.html","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.component.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.component.html","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.module.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/verben-workflow-ui-src-lib-components-tasks.ts"],"sourcesContent":["import { ColumnDefinition } from 'verben-ng-ui';\nimport { Task } from 'verben-workflow-ui/src/lib/models';\n\nexport const columns: ColumnDefinition<Task>[] = [\n {\n id: 'task',\n header: 'TASK',\n accessorKey: 'Name',\n },\n {\n id: 'stage',\n header: 'STAGE',\n accessorFn: (row) => row.CurrentStages?.join(', '),\n },\n // {\n // id: 'status',\n // header: 'STATUS',\n // accessorKey: 'Status',\n // },\n {\n id: 'currentActor',\n header: 'ASSIGNED TO',\n accessorFn: (row) => row.CurrentActors?.map((flwr) => flwr.Name).join(', '),\n },\n {\n id: 'history',\n header: 'HISTORY',\n accessorKey: 'Code',\n },\n {\n id: 'workflow',\n header: 'WORKFLOW',\n accessorKey: 'WorkflowCode',\n },\n { id: 'actions', header: 'Actions' },\n];\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Actor, ErrorResponse, Form, Paged, Task, Workflow } from 'verben-workflow-ui/src/lib/models';\nimport { HttpWebRequestService } from 'verben-workflow-ui/src/lib/services';\n\n@Injectable()\nexport class TasksService {\n\n\n constructor(private httpService: HttpWebRequestService) { }\n\n /**\n * Get tasks with pagination and sorting\n * @param skip Number of records to skip\n * @param limit Number of records to take\n * @param sortParam Sort parameter\n * @param sortOrder Sort order ('asc' or 'desc')\n * @returns Promise containing the tasks\n */\n getTasks(\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string\n ): Promise<Paged<Task> | ErrorResponse> {\n const url = `GetTasks/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.get(url) as Promise<Paged<Task> | ErrorResponse>;\n }\n\n /**\n * Get tasks with additional parameter, pagination and sorting\n * @param param Search parameter\n * @param skip Number of records to skip\n * @param limit Number of records to take\n * @param sortParam Sort parameter\n * @param sortOrder Sort order ('asc' or 'desc')\n * @returns Promise containing the filtered tasks\n */\n getTaskWithParam(\n param: string,\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string\n ): Promise<Paged<Task> | ErrorResponse> {\n const url = `GetTasksWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.get(url) as Promise<Paged<Task> | ErrorResponse>;\n }\n\n /**\n * Save multiple tasks\n * @param requests Array of tasks to save\n * @returns Promise containing the save operation result\n */\n saveTasks(requests: Task[]): Promise<any | ErrorResponse> {\n const url = `SaveTasks`;\n return this.httpService.post(url, requests);\n }\n\n /**\n * Approve or reject multiple tasks\n * @param requests Array of tasks to save\n * @param isApproval True for approval, false for decline\n * @returns Promise containing the save operation result\n */\n processTasks(requests: Task[], isApproval: boolean): Promise<any | ErrorResponse> {\n const url = `TaskAction/${isApproval}`;\n return this.httpService.post(url, requests);\n }\n\n /**\n * Delete multiple tasks\n * @param requestIds Array of request IDs to delete\n * @returns Observable containing the delete operation result\n */\n deleteTasks(requestIds: string[]): Observable<any | ErrorResponse> {\n const url = `DeleteTasks`;\n return this.httpService.delete(`${url}?data=${requestIds.join(',')}`);\n }\n\n getWorkflows(): Promise<Paged<Workflow> | ErrorResponse> {\n const url = `GetWorkflows/0/0`;\n return this.httpService.get(url) as Promise<Paged<Workflow> | ErrorResponse>;\n }\n\n getFormWithParam(param: string): Promise<Paged<Form> | ErrorResponse> {\n const url = `GetFormsWithParam/${param}/0/1`;\n return this.httpService.get(url) as Promise<Paged<Form> | ErrorResponse>;\n }\n\n followTask(actorId: string, task: Task): Promise<Task | ErrorResponse> {\n const url = `FollowTask/${actorId}`;\n return this.httpService.post(url, task);\n }\n\n unFollowTask(\n taskId: string,\n actorId: string\n // task: Task,\n ): Promise<void | ErrorResponse> {\n const url = `UnFollowTask/${taskId}/${actorId}`;\n return this.httpService.post(url, {});\n }\n\n reAssign(\n task: Task,\n comment: string,\n toUser?: string,\n fromUser?: string\n ): Promise<Task | ErrorResponse> {\n const url = `Reassign/${comment}/${toUser}/${fromUser}`;\n return this.httpService.post(url, task);\n }\n\n getNextActors(\n taskCode: string,\n stageCode?: string,\n forCurrentStage?: boolean\n ): Promise<Actor[] | ErrorResponse> {\n const url = `GetNextActors/${taskCode}/${forCurrentStage}${stageCode ? `/${stageCode}` : ''\n }`;\n return this.httpService.get(url) as Promise<Actor[] | ErrorResponse>;\n }\n\n pickTask(\n task: Task,\n comment: string,\n recipient?: string,\n targetStage?: string,\n ): Promise<Task | ErrorResponse> {\n const url = `PickTask/${comment}/${targetStage}${recipient ? '/' + recipient : ''\n }`;\n return this.httpService.post(url, task);\n }\n\n unPickTask(\n targetStage: string,\n task: Task,\n comment: string,\n recipient?: string\n ): Promise<Task | ErrorResponse> {\n const url = `UnPickTask/${comment}/${targetStage}${recipient ? '/' + recipient : ''\n }`;\n return this.httpService.post(url, task);\n }\n\n getPossibleTasksForUser(\n user: string,\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string\n ): Promise<Paged<Task> | ErrorResponse> {\n const url = `GetPossibleTasksForUser/${skip}/${limit}/${sortParam}/${sortOrder}/${user}`;\n return this.httpService.get(url) as Promise<Paged<Task> | ErrorResponse>;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Actor, Form, QueryParams, SortDirection, Task, Workflow } from 'verben-workflow-ui/src/lib/models';\n\n@Injectable()\nexport class TaskState {\n private updating$ = new BehaviorSubject<boolean>(false);\n private tasks$ = new BehaviorSubject<Task[]>([]);\n private searchTerm$ = new BehaviorSubject<string>('');\n private queryParams$ = new BehaviorSubject<QueryParams<Task>>({\n skip: 0,\n limit: 20,\n sortParam: 'CreatedAt',\n sortOrder: SortDirection.Desc,\n });\n\n private workflows$ = new BehaviorSubject<Workflow[]>([]);\n private forms$ = new BehaviorSubject<Form[]>([]);\n private nextActors$ = new BehaviorSubject<Actor[]>([]);\n\n isUpdating$(): Observable<boolean> {\n return this.updating$.asObservable();\n }\n\n setUpdating(isUpdating: boolean): void {\n this.updating$.next(isUpdating);\n }\n\n getRequests$(): Observable<Task[]> {\n return this.tasks$.asObservable();\n }\n\n setRequests(tasks: Task[]): void {\n this.tasks$.next(tasks);\n }\n\n getNextActors$(): Observable<Actor[]> {\n return this.nextActors$.asObservable();\n }\n\n setNextActors(nextActors: Actor[]): void {\n this.nextActors$.next(nextActors);\n }\n\n getWorkflows$(): Observable<Workflow[]> {\n return this.workflows$.asObservable();\n }\n\n setWorkflows(workflows: Workflow[]): void {\n this.workflows$.next(workflows);\n }\n\n getForms$(): Observable<Form[]> {\n return this.forms$.asObservable();\n }\n\n setForms(forms: Form[]): void {\n this.forms$.next(forms);\n }\n\n getSearchTerm$(): Observable<string> {\n return this.searchTerm$.asObservable();\n }\n\n getSearchTermValue(): string {\n return this.searchTerm$.getValue();\n }\n\n setSearchTerm(term: string): void {\n this.searchTerm$.next(term);\n }\n\n getQueryParams$(): Observable<QueryParams<Task>> {\n return this.queryParams$.asObservable();\n }\n\n getQueryParamsValue(): QueryParams<Task> {\n return this.queryParams$.getValue();\n }\n\n updateQueryParams(params: Partial<QueryParams<Task>>): void {\n this.queryParams$.next({ ...this.queryParams$.getValue(), ...params });\n }\n\n addRequest(task: Task): void {\n const currentValue = this.tasks$.getValue();\n this.tasks$.next([task, ...currentValue]);\n }\n\n resetPagination(): void {\n const currentParams = this.queryParams$.getValue();\n this.queryParams$.next({ ...currentParams, skip: 0 });\n }\n\n updateRequest(updatedRequest: Task): void {\n const tasks = this.tasks$.getValue();\n const index = tasks.findIndex((r) => r.Code === updatedRequest.Code);\n if (index !== -1) {\n tasks[index] = updatedRequest;\n this.tasks$.next([...tasks]);\n }\n }\n\n removeRequest(taskId: string): void {\n const currentValue = this.tasks$.getValue();\n this.tasks$.next(currentValue.filter((r) => r.Code !== taskId));\n }\n\n appendRequests(newRequests: Task[]): void {\n const currentRequests = this.tasks$.getValue();\n this.tasks$.next([...currentRequests, ...newRequests]);\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport {\n Observable,\n Subject,\n debounceTime,\n distinctUntilChanged,\n lastValueFrom,\n takeUntil,\n} from 'rxjs';\nimport { Actor, ErrorResponse, Form, QueryParams, Task, Workflow } from 'verben-workflow-ui/src/lib/models';\nimport { UtilService } from 'verben-workflow-ui/src/lib/services';\nimport { TasksService } from './tasks.service';\nimport { TaskState } from './tasks.state';\n\n@Injectable()\nexport class TaskFacade implements OnDestroy {\n private searchSubject = new Subject<{ term: string; user?: string }>();\n private destroy$ = new Subject<void>();\n\n constructor(\n private taskService: TasksService,\n private taskState: TaskState,\n private utilService: UtilService\n ) {\n // Set up debounced search handling\n this.searchSubject\n .pipe(\n debounceTime(1000),\n distinctUntilChanged((a, b) => a.term === b.term),\n takeUntil(this.destroy$)\n )\n .subscribe(({ term, user }) => {\n this.handleSearch(term, user);\n });\n\n this.isUpdating$().subscribe((loading) => {\n this.utilService.sendBI(loading);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n // Search handling\n search(term: string, user?: string): void {\n this.searchSubject.next({ term, user });\n }\n\n private async handleSearch(searchTerm: string, user?: string): Promise<void> {\n this.taskState.setSearchTerm(searchTerm);\n this.taskState.resetPagination();\n\n try {\n this.taskState.setUpdating(true);\n if (searchTerm.trim()) {\n await this.loadRequestsWithParam(searchTerm);\n } else {\n await this.loadRequests(user);\n }\n } catch (error) {\n console.error('Search failed:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n isUpdating$(): Observable<boolean> {\n return this.taskState.isUpdating$();\n }\n\n getRequests$(): Observable<Task[]> {\n return this.taskState.getRequests$();\n }\n\n getWorkflow$(): Observable<Workflow[]> {\n return this.taskState.getWorkflows$();\n }\n\n getForms$(): Observable<Form[]> {\n return this.taskState.getForms$();\n }\n\n getNextActors$(): Observable<Actor[]> {\n return this.taskState.getNextActors$();\n }\n\n getQueryParams$(): Observable<QueryParams<Task>> {\n return this.taskState.getQueryParams$();\n }\n\n addNewRequest(task: Task) {\n this.taskState.addRequest(task);\n }\n\n async loadRequests(user?: string): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const params = this.taskState.getQueryParamsValue();\n\n const requests = user ? await this.taskService.getPossibleTasksForUser(\n user,\n params.skip,\n params.limit,\n params.sortParam || 'createdDate',\n params.sortOrder\n ) : await this.taskService.getTasks(\n params.skip,\n params.limit,\n params.sortParam || 'createdDate',\n params.sortOrder\n );\n\n if (requests instanceof ErrorResponse) {\n this.utilService.showError(requests.ErrorMsg);\n return;\n }\n\n if (requests?.Result) {\n this.taskState.setRequests(requests.Result);\n this.taskState.updateQueryParams({ skip: requests.Skip });\n }\n } catch (error) {\n console.error('Failed to load requests:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async loadRequestsWithParam(param: string): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const params = this.taskState.getQueryParamsValue();\n\n const requests = await this.taskService.getTaskWithParam(\n param,\n params.skip,\n params.limit,\n params.sortParam || 'CreatedDate',\n params.sortOrder\n );\n\n if (requests instanceof ErrorResponse) {\n this.utilService.showError(requests.ErrorMsg);\n return;\n }\n\n this.taskState.setRequests(requests.Result);\n this.taskState.updateQueryParams({ skip: requests.Skip });\n } catch (error) {\n console.error('Failed to load requests with param:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n updateQueryParams(params: Partial<QueryParams<Task>>): void {\n this.taskState.updateQueryParams(params);\n // this.loadRequests();\n }\n\n async addRequest(request: Partial<Task>): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const newRequest = { ...request, TaskForms: [] } as Task;\n // this.taskState.addRequest(newRequest);\n\n const response = await this.taskService.saveTasks([newRequest]);\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n this.utilService.showSuccess('Task added successfully');\n this.taskState.resetPagination();\n await this.loadRequests(); // Reload to get server-side changes\n } catch (error) {\n console.error('Failed to add request:', error);\n this.taskState.removeRequest(request.Code!);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async updateRequest(request: Task): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const response = await this.taskService.saveTasks([request]);\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n this.utilService.showSuccess('Task updated successfully');\n this.taskState.updateRequest(request);\n } catch (error) {\n console.error('Failed to update request:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async deleteRequest(requestId: string): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n await lastValueFrom(this.taskService.deleteTasks([requestId]));\n this.taskState.removeRequest(requestId);\n } catch (error) {\n console.error('Failed to delete request:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async approveRequest(request: Task): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const response = await this.taskService.processTasks([request], true);\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n // console.log(response);\n const data = (response as Task[])?.[0];\n if (data) {\n this.taskState.updateRequest(data);\n this.utilService.showSuccess('Task approved successfully');\n }\n } catch (error) {\n console.error('Failed to update request:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async loadWorkflows(): Promise<void> {\n try {\n const requests = await this.taskService.getWorkflows();\n\n if (requests instanceof ErrorResponse) {\n this.utilService.showError(requests.ErrorMsg);\n return;\n }\n\n this.taskState.setWorkflows(requests.Result);\n } catch (error) {\n console.error('Failed to load requests:', error);\n throw error;\n } finally {\n }\n }\n\n async loadFormsWithParam(param: string): Promise<Form | void> {\n try {\n this.taskState.setUpdating(true);\n\n const requests = await this.taskService.getFormWithParam(param);\n\n if (requests instanceof ErrorResponse) {\n this.utilService.showError(requests.ErrorMsg);\n return;\n }\n\n const form = requests.Result[0];\n if (form) return form;\n } catch (error) {\n console.error('Failed to load requests with param:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async reAssign(\n request: Task,\n comment: string,\n toUser?: string,\n fromUser?: string\n ): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const response = await this.taskService.reAssign(\n {\n ...request,\n FullStages: [],\n CurrentActors: request.CurrentActors.map((c) => ({\n ...c,\n ActorTags: [],\n })),\n },\n comment,\n toUser,\n fromUser\n );\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n // console.log(response);\n this.utilService.showSuccess('Task re-assigned successfully');\n const data = response as Task;\n if (data) {\n this.taskState.updateRequest(data);\n }\n } catch (error) {\n console.error('Failed to update request:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async loadNextActors(\n taskCode: string,\n stageCode?: string,\n forCurrentStage?: boolean\n ): Promise<Actor[]> {\n try {\n this.taskState.setUpdating(true);\n const params = this.taskState.getQueryParamsValue();\n\n const requests = await this.taskService.getNextActors(\n taskCode,\n stageCode,\n forCurrentStage\n );\n\n if (requests instanceof ErrorResponse) {\n this.utilService.showError(requests.ErrorMsg);\n return [];\n }\n\n this.taskState.setNextActors(requests);\n\n return requests;\n } catch (error) {\n console.error('Failed to load requests with param:', error);\n return [];\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n // Load more handling\n async loadMore(queue: boolean = false): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const currentParams = this.taskState.getQueryParamsValue();\n const searchTerm = this.taskState.getSearchTermValue();\n\n // The first page is already loaded at skip=0 without advancing the\n // pointer, so fetch the *next* page starting at newSkip.\n const newSkip = currentParams.skip + currentParams.limit;\n\n // Load and append data, honouring any active search term\n const response = searchTerm\n ? await this.taskService.getTaskWithParam(\n searchTerm,\n newSkip,\n currentParams.limit,\n currentParams.sortParam || 'createdDate',\n currentParams.sortOrder\n )\n : await this.taskService.getTasks(\n newSkip,\n currentParams.limit,\n currentParams.sortParam || 'createdDate',\n currentParams.sortOrder\n );\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n this.taskState.appendRequests(response.Result);\n this.taskState.updateQueryParams({\n skip: newSkip,\n limit: currentParams.limit,\n });\n } catch (error) {\n console.error('Load more failed:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async pickTask(\n request: Task,\n comment: string,\n toUser?: string,\n targetStageCode?: string\n ): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const response = await this.taskService.pickTask(\n {\n ...request,\n FullStages: [],\n CurrentActors: request.CurrentActors.map((c) => ({\n ...c,\n ActorTags: [],\n })),\n },\n comment,\n toUser,\n targetStageCode,\n );\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n // console.log(response);\n this.utilService.showSuccess('Task picked successfully');\n const data = response as Task;\n if (data) {\n this.taskState.updateRequest(data);\n }\n } catch (error) {\n console.error('Failed to pick task', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n}\n","import { ResourceModel } from 'verben-workflow-ui/src/lib/models';\nimport { Task } from 'verben-workflow-ui/src/lib/models';\n\nexport class TaskModel extends ResourceModel<Task> {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CardData } from 'verben-ng-ui';\nimport { Task } from 'verben-workflow-ui/src/lib/models';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Status } from 'verben-workflow-ui/src/lib/models';\nimport { Workflow } from 'verben-workflow-ui/src/lib/models';\nimport { TaskFacade } from './tasks.facade';\nimport { Form } from 'verben-workflow-ui/src/lib/models';\nimport { DataType } from 'verben-workflow-ui/src/lib/models';\n\n@Component({\n selector: 'tasks-form',\n templateUrl: './tasks.form.component.html',\n})\nexport class TasksFormComponent {\n @Input()\n get currentData(): CardData | null {\n return this._currentData;\n }\n set currentData(value: CardData | null) {\n this._currentData = value;\n console.log(value?.data);\n if (value?.data) {\n this.form.patchValue({\n Name: value.data.Name || '',\n Description: value.data.Description || '',\n WorkflowCode: value.data.WorkflowCode || '',\n Status: value.data.Status || '',\n });\n } else {\n this.form.reset();\n }\n }\n\n private _currentData: CardData | null = null;\n\n taskForm: Form | null = null;\n active: number = 0;\n dataType: DataType = DataType.Text;\n\n @Output() onTaskFormSave = new EventEmitter<Form>();\n @Output() onSave = new EventEmitter<Partial<Task>>();\n\n form: FormGroup;\n statuses = Object.values(Status);\n workflows: Workflow[] = [];\n loadingTaskForm: boolean = false;\n taskFormView: boolean = false;\n\n // active: boolean = false;\n\n constructor(private fb: FormBuilder, private taskFacade: TaskFacade) {\n this.taskFacade.getWorkflow$().subscribe((workflows) => {\n this.workflows = workflows;\n });\n this.form = this.fb.group({\n Name: ['', { validators: [Validators.required] }],\n Description: ['', { validators: [Validators.required] }],\n WorkflowCode: ['', { validators: [Validators.required] }],\n Status: ['', { validators: [Validators.required] }],\n TaskForms: [],\n });\n }\n\n ngOnInit() {\n try {\n this.taskFacade.loadWorkflows().then(() => {});\n } catch (error) {\n // Handle error\n }\n\n this.form.get('WorkflowCode')?.valueChanges.subscribe((value) => {\n if (value) {\n const selectedWorkflow = this.workflows.find(\n ({ Code }) => Code === value\n );\n if (selectedWorkflow?.Form) {\n this.loadingTaskForm = true;\n this.taskFacade\n .loadFormsWithParam(selectedWorkflow.Form)\n .then((form) => {\n if (form) {\n this.taskForm = form;\n }\n })\n .finally(() => {\n this.loadingTaskForm = false;\n });\n } else {\n this.taskForm = null;\n }\n }\n });\n }\n\n handleSubmit(): void {\n if (this.form.valid) {\n // Emit save event with form value\n console.log('Form saved:', this.form.value);\n if (\n !this.taskForm ||\n (this.form.get('TaskForms')?.value as Form[])?.length > 0\n ) {\n this.onSave.emit(this.form.value);\n }\n }\n }\n\n onDelete(): void {\n // Emit delete event\n console.log('Delete requested');\n }\n\n sendTaskForm() {\n if (this.taskForm) {\n this.form\n .get('TaskForms')\n ?.setValue([{ ...this.taskForm, Swimlane: '' }]);\n this.taskFormView = false;\n this.onTaskFormSave.emit(this.taskForm);\n }\n }\n\n areRequiredPropertiesFilled(): boolean {\n const properties = this.taskForm?.Entities[this.active].Properties || [];\n\n // Check if all required properties have valid values\n // return properties.every((property: any) => {\n // console.log(property);\n // return (\n // !property.isRequired ||\n // (property.Value !== undefined &&\n // property.Value !== null &&\n // property.Value !== '')\n // );\n // });\n return true;\n }\n\n disableProcessing() {\n const selectedWorkflow = this.workflows.find(\n ({ Code }) => Code === this.form.get('WorkflowCode')?.value\n );\n\n if (\n selectedWorkflow?.Form &&\n (this.currentData?.data as Task)?.TaskForms?.length === 0\n ) {\n return true;\n } else return this.form.invalid;\n }\n}\n","@if (taskFormView && taskForm) {\n<div\n *ngIf=\"taskForm.Entities[active]\"\n class=\"flex flex-wrap bg-[#9A9FBF80] rounded-xl px-3 py-2 w-full relative gap-6\"\n>\n <app-form-timer></app-form-timer>\n <div *ngFor=\"let group of taskForm.Entities; let index = index\">\n <p\n (click)=\"active = index\"\n [ngClass]=\"{\n 'bg-[#fff] text-primary rounded-lg shadow-lg': active === index\n }\"\n class=\"px-6 py-2 cursor-pointer\"\n >\n {{ group.Name }}group\n </p>\n </div>\n</div>\n\n<div *ngIf=\"taskForm.Entities[active]; else emptyState\" class=\"mt-4\">\n <form-control\n [dataType]=\"dataType\"\n [formProperties]=\"taskForm.Entities[active].Properties\"\n ></form-control>\n\n <div class=\"flex gap-3 justify-end\">\n <verbena-button\n (click)=\"areRequiredPropertiesFilled()\"\n text=\"CHECK\"\n styleType=\"ylw-outline\"\n class=\"ml-auto\"\n ></verbena-button>\n\n <verbena-button\n (click)=\"taskFormView = false\"\n text=\"Close task form\"\n styleType=\"ylw-outline\"\n class=\"ml-auto\"\n ></verbena-button>\n\n <verbena-button\n class=\"verben-primary-button\"\n (click)=\"sendTaskForm()\"\n [disable]=\"!areRequiredPropertiesFilled()\"\n text=\"Save\"\n ></verbena-button>\n </div>\n</div>\n\n<!-- Empty state template -->\n<ng-template #emptyState>\n <p class=\"mt-4 p-4 text-gray-600 text-center\">\n No entries available for the selected form group.\n </p>\n</ng-template>\n\n} @else {\n<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n (ngSubmit)=\"handleSubmit()\"\n>\n <verbena-input\n name=\"Name\"\n label=\"Name\"\n formControlName=\"Name\"\n placeHolder=\"Enter Name\"\n />\n <verbena-input\n name=\"Description\"\n label=\"Description\"\n formControlName=\"Description\"\n placeHolder=\"Enter Description\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"workflow\">Workflow</label>\n\n <verben-drop-down\n label=\"Workflow\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n placeholder=\"Select\"\n [options]=\"workflows\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n id=\"workflow\"\n formControlName=\"WorkflowCode\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"status\">Status</label>\n\n <verben-drop-down\n label=\"Status\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [showClear]=\"true\"\n placeholder=\"Null\"\n [(options)]=\"statuses\"\n id=\"status\"\n formControlName=\"Status\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between gap-4 my-2\">\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Delete\"\n bgColor=\"#999999\"\n textColor=\"#404040\"\n borderRadius=\"10px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n <verbena-button\n [disable]=\"!taskForm || loadingTaskForm\"\n (click)=\"taskFormView = true\"\n [text]=\"loadingTaskForm ? 'Checking for form' : 'Fill task form'\"\n styleType=\"ylw-outline\"\n class=\"ml-auto\"\n ></verbena-button>\n <verbena-button\n type=\"submit\"\n text=\"Save\"\n bgColor=\"#FFE681\"\n textColor=\"#404040\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n </div>\n</form>\n}\n","import { ChangeDetectorRef, Component, input } from '@angular/core';\nimport { CardData } from 'verben-ng-ui';\nimport { ObjectState, Task, TaskStatus } from 'verben-workflow-ui/src/lib/models';\nimport { BaseDataViewComponent, DataViewConfig } from 'verben-workflow-ui/src/lib/shared';\nimport { columns } from './tasks.columns';\nimport { TaskFacade } from './tasks.facade';\nimport { TaskModel } from './tasks.models';\nimport { TasksService } from './tasks.service';\nimport { TaskState } from './tasks.state';\n\n@Component({\n selector: 'lib-tasks',\n templateUrl: './tasks.component.html',\n styleUrl: './tasks.component.css',\n providers: [TasksService, TaskFacade, TaskState],\n})\nexport class TasksComponent extends BaseDataViewComponent<Task> {\n user = input<string>('');\n config: DataViewConfig<Task> = {\n dataSource: [], // Populate from service\n columns: columns, // Your existing column definitions\n cardDataMapper: (task) => ({\n selected: false,\n title: task.Name,\n data: task,\n body: [\n { title: 'Name', value: task.Name },\n { title: 'Status', value: task.Status },\n ],\n children: [],\n }),\n onDetailView: (task) => {\n // Custom detail view logic\n },\n };\n constructor(private cdr: ChangeDetectorRef, private taskFacade: TaskFacade) {\n super();\n\n this.taskFacade.getRequests$().subscribe((data) => {\n this.data.set(data);\n });\n }\n\n override loadInitialData() {\n try {\n this.taskFacade.loadRequests(this.user());\n } catch (error) {\n // Handle error\n }\n }\n\n handleSearch(event: { key: string; value: string }) {\n this.taskFacade.search(event.value, this.user());\n }\n\n getActionNamesForTask(task: Task): string[] {\n return ['followtask', 'reassign'];\n }\n\n override onStateChange(event: { key: string; value: boolean }): void {\n switch (event.key) {\n case 'create':\n var newItem: Task = new TaskModel({\n WorkflowCode: '',\n Status: TaskStatus.Active,\n Flowable: '',\n FlowableData: null,\n FlowablePath: '',\n CurrentActors: [],\n DataState: ObjectState.New,\n }) as unknown as Task;\n this.taskFacade.addNewRequest(newItem);\n // const cardData: CardData = {\n // selected: false,\n // title: ,\n // data: newGroup,\n // body: [],\n // children: [],\n // };\n // this.data = this.data.concat([newGroup]);\n // this.cardData.push(cardData);\n // this.userCardClicked(cardData);\n this.dataView.isTableView = false;\n break;\n // case 'filter':\n // this.showFilter = event.value;\n // break;\n // case 'sort':\n // this.showSort = event.value;\n // break;\n // case 'column':\n // this.showColumn = event.value;\n // break;\n default:\n break;\n }\n }\n\n protected getCardDataByIdentifier(code: string): CardData | undefined {\n return this.cardData()?.find(({ data }) => data.data.Code === code);\n }\n\n async loadMore() {\n try {\n await this.taskFacade.loadMore();\n } catch (error) {\n // Handle error\n }\n }\n\n async onSave(data: Partial<Task>) {\n const payload = {\n ...this.currentData?.data,\n ...data,\n } as Task;\n await this.taskFacade.addRequest(payload);\n }\n}\n","<div class=\"space-y-8\">\n <verben-data-view #vdv [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: true,\n isToggle: true,\n }\" [buttonClass]=\"'my-custom-button-class'\" [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\" [selectedColumnCount]=\"0\" [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\" (viewChange)=\"onViewChange($event)\" (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\">\n <div table-content>\n <lib-data-table [data]=\"data()\" [columns]=\"config.columns\" [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\">\n <ng-container libColumn=\"history\">\n <ng-template #cell let-value>\n <a [routerLink]=\"['/workflow/task-history', value]\" routerLinkActive=\"router-link-active\"\n class=\"underline text-[#0000FF]\">view history</a>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"workflow\">\n <ng-template #cell let-value>\n <a [routerLink]=\"['/workflow/workflows', value]\" routerLinkActive=\"router-link-active\"\n class=\"underline text-[#0000FF]\">view Workflow</a>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-row=\"row\">\n <lib-operation-popup [user]=\"user()\" [task]=\"row\" [allowedActions]=\"getActionNamesForTask(row)\"\n (actionComplete)=\"loadInitialData()\">\n <div trigger class=\"cursor-pointer p-2 -m-2 inline-flex items-center justify-center\">\n <verben-svg icon=\"dots\" [width]=\"3\" [height]=\"18\" class=\"w-auto\"></verben-svg>\n </div>\n </lib-operation-popup>\n </ng-template>\n <ng-template #header>\n <strong>Actions</strong>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n\n <div card-content>\n <verben-card-data-view borderRadius=\"12px\" (loadMoreClick)=\"loadMore()\" #vdcv dataId=\"Id\" border=\"5px\"\n [cardDataList]=\"cardData()\" rbgColor=\"#f5f6f9\" mg=\"20px\">\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data #vlcd [parent]=\"vdcv\" dataId=\"Code\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\" [cardDataList]=\"cardData()\">\n <ng-template #card let-cardItem>\n <div (click)=\"currentData = vdcv.onItemClick(cardItem)\" class=\"flex\">\n <div (click)=\"currentData = vdcv.onItemClick(cardItem)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\">\n <div class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\" [ngClass]=\"\n cardItem.selected ? 'bg-primary' : 'bg-secondary-200'\n \"></div>\n <div class=\"flex flex-col py-2 px-4 w-full\">\n <div class=\"flex items-center gap-4 justify-between\">\n <div class=\"grid gap-y-2\">\n <span class=\"font-semibold text-[#404040]\">{{\n cardItem.title\n }}</span>\n <p class=\"flex items-center\">\n <!-- <label for=\"phone\" class=\"text-[10px] font-light\">Current Actors:</label> -->\n @if (cardItem.data.CurrentActors && cardItem.data.CurrentActors.length > 0) {\n @if (cardItem.data.CurrentActors.length === 1) {\n <span id=\"phone\" class=\"text-sm\">{{ cardItem.data.CurrentActors[0].Identifier }}</span>\n } @else {\n <verben-tooltip [top]=\"'0px'\" [textColor]=\"'#000'\" [backgroundColor]=\"'#D3D3D3'\" [left]=\"'0'\"\n [tooltipContent]=\"actorsTooltipTemplate\" #actorsTooltip>\n <span id=\"phone\" class=\"text-sm cursor-pointer\">\n {{ cardItem.data.CurrentActors[0].Identifier }} and {{ cardItem.data.CurrentActors.length\n - 1 }} others\n </span>\n </verben-tooltip>\n\n <ng-template #actorsTooltipTemplate>\n <div class=\"p-2\">\n <p class=\"text-xs font-semibold mb-1\">Current Actors:</p>\n <ul class=\"list-disc list-inside\">\n @for (actor of cardItem.data.CurrentActors; track actor.Identifier) {\n <li class=\"text-xs\">{{ actor.Identifier }}</li>\n }\n </ul>\n </div>\n </ng-template>\n }\n } @else {\n <span id=\"phone\" class=\"text-sm text-gray-400\">No actors assigned</span>\n }\n </p>\n </div>\n\n <div class=\"grid gap-y-2\">\n <span for=\"role\" class=\"font-light\">{{\n cardItem.data.Code\n }}</span>\n\n <div (click)=\"$event.stopPropagation();\" class=\"flex items-end gap-4\">\n <a [routerLink]=\"[\n '/workflow/task-history',\n cardItem.data.Code\n ]\" routerLinkActive=\"router-link-active\"\n class=\"underline text-[#0000FF] text-xs relative z-10\">view\n history</a>\n\n <lib-operation-popup [user]=\"user()\" [task]=\"cardItem.data\"\n [allowedActions]=\"getActionNamesForTask(cardItem.data)\" (actionComplete)=\"loadInitialData()\">\n <div trigger class=\"cursor-pointer p-2 -m-2 inline-flex items-center justify-center\">\n <verben-svg icon=\"dots\" [width]=\"3\" [height]=\"18\" class=\"w-auto\"></verben-svg>\n </div>\n </lib-operation-popup>\n </div>\n </div>\n </div>\n\n <!-- <div class=\"flex\">\n <span class=\"font-normal text-sm\">{{ item.title }}</span>\n </div>\n @for (ciItem of item.body; track ciItem.value) {\n <div class=\"\">\n <span class=\"text-muted font-light text-xs\"\n >{{ ciItem.title }}:</span\n >\n <span class=\"text-black\">{{ ciItem.value }}</span>\n </div>\n } -->\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <!-- <lib-user-request-form\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n (onApproval)=\"onApprove($event)\"\n ></lib-user-request-form> -->\n <tasks-form [currentData]=\"currentData\" (switchView)=\"vdv.toggleView()\"\n (onSave)=\"onSave($event)\"></tasks-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"w-full\">\n <div [ngClass]=\"{\n 'flex gap-2 items-center': true,\n 'justify-end': true\n }\">\n <!-- <verbena-button\n *ngIf=\"!vdcv.hasCurrentItem()\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button> -->\n <div class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} 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 text-[#3479E9] underline\">\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 <lib-data-columns [columns]=\"config.columns\" (columnsUpdated)=\"onColumnsUpdated($event)\"></lib-data-columns>\n </div>\n <div filter-content>\n <verben-table-filter [border]=\"'1px solid rgba(212, 160, 7, 1)'\" borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\" bgColor=\"white\" width=\"420px\" textColor=\"black\" pd=\"1rem\"\n primaryColor=\"#FFE681\" secondaryColor=\"#3479E9\" tertiaryColor=\"#404040\" [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"></verben-table-filter>\n </div>\n <div sort-content>\n <lib-data-sort [columns]=\"config.columns\" [data]=\"data()\" (sortApplied)=\"onSortUpdated($event)\"></lib-data-sort>\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\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-between\">\n <div class=\"message-log-button-container flex justify-between\">\n <!-- <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\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 text-[#3479E9] underline\">\n Load more\n </button>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { TooltipModule } from 'verben-ng-ui';\nimport { FormControlerModule } from 'verben-workflow-ui/src/lib/components/form-control';\nimport { FormTimerModule } from 'verben-workflow-ui/src/lib/components/form-timer';\nimport { OperationPopupComponent } from 'verben-workflow-ui/src/lib/components/operation-popup';\nimport { TaskFormModule } from 'verben-workflow-ui/src/lib/components/task-form';\nimport { SharedModule } from 'verben-workflow-ui/src/lib/shared';\nimport { TasksComponent } from './tasks.component';\nimport { TasksFormComponent } from './tasks.form.component';\n\n@NgModule({\n declarations: [TasksComponent, TasksFormComponent],\n imports: [\n CommonModule,\n SharedModule,\n TaskFormModule,\n FormControlerModule,\n FormTimerModule,\n RouterLink,\n TooltipModule,\n OperationPopupComponent,\n ],\n exports: [TasksComponent],\n})\nexport class TasksModule { }\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TasksService","i2.TaskState","i3","i1","i2.TaskFacade","i4","i1.TaskFacade","i2","i5","i6.TasksFormComponent"],"mappings":"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"}
1
+ {"version":3,"file":"verben-workflow-ui-src-lib-components-tasks.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.columns.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.service.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.state.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.facade.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.models.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.form.component.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.form.component.html","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.component.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.component.html","../../../projects/verben-workflow-ui/src/lib/components/tasks/tasks.module.ts","../../../projects/verben-workflow-ui/src/lib/components/tasks/verben-workflow-ui-src-lib-components-tasks.ts"],"sourcesContent":["import { ColumnDefinition } from 'verben-ng-ui';\nimport { Task } from 'verben-workflow-ui/src/lib/models';\n\nexport const columns: ColumnDefinition<Task>[] = [\n {\n id: 'task',\n header: 'TASK',\n accessorKey: 'Name',\n },\n {\n id: 'stage',\n header: 'STAGE',\n accessorFn: (row) => row.CurrentStages?.join(', '),\n },\n // {\n // id: 'status',\n // header: 'STATUS',\n // accessorKey: 'Status',\n // },\n {\n id: 'currentActor',\n header: 'ASSIGNED TO',\n accessorFn: (row) => row.CurrentActors?.map((flwr) => flwr.Name).join(', '),\n },\n {\n id: 'history',\n header: 'HISTORY',\n accessorKey: 'Code',\n },\n {\n id: 'workflow',\n header: 'WORKFLOW',\n accessorKey: 'WorkflowCode',\n },\n { id: 'actions', header: 'Actions' },\n];\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Actor, ErrorResponse, Form, Paged, Task, Workflow } from 'verben-workflow-ui/src/lib/models';\nimport { HttpWebRequestService } from 'verben-workflow-ui/src/lib/services';\n\n@Injectable()\nexport class TasksService {\n\n\n constructor(private httpService: HttpWebRequestService) { }\n\n /**\n * Get tasks with pagination and sorting\n * @param skip Number of records to skip\n * @param limit Number of records to take\n * @param sortParam Sort parameter\n * @param sortOrder Sort order ('asc' or 'desc')\n * @returns Promise containing the tasks\n */\n getTasks(\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string\n ): Promise<Paged<Task> | ErrorResponse> {\n const url = `GetTasks/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.get(url) as Promise<Paged<Task> | ErrorResponse>;\n }\n\n /**\n * Get tasks with additional parameter, pagination and sorting\n * @param param Search parameter\n * @param skip Number of records to skip\n * @param limit Number of records to take\n * @param sortParam Sort parameter\n * @param sortOrder Sort order ('asc' or 'desc')\n * @returns Promise containing the filtered tasks\n */\n getTaskWithParam(\n param: string,\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string\n ): Promise<Paged<Task> | ErrorResponse> {\n const url = `GetTasksWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.get(url) as Promise<Paged<Task> | ErrorResponse>;\n }\n\n /**\n * Save multiple tasks\n * @param requests Array of tasks to save\n * @returns Promise containing the save operation result\n */\n saveTasks(requests: Task[]): Promise<any | ErrorResponse> {\n const url = `SaveTasks`;\n return this.httpService.post(url, requests);\n }\n\n /**\n * Approve or reject multiple tasks\n * @param requests Array of tasks to save\n * @param isApproval True for approval, false for decline\n * @returns Promise containing the save operation result\n */\n processTasks(requests: Task[], isApproval: boolean): Promise<any | ErrorResponse> {\n const url = `TaskAction/${isApproval}`;\n return this.httpService.post(url, requests);\n }\n\n /**\n * Delete multiple tasks\n * @param requestIds Array of request IDs to delete\n * @returns Observable containing the delete operation result\n */\n deleteTasks(requestIds: string[]): Observable<any | ErrorResponse> {\n const url = `DeleteTasks`;\n return this.httpService.delete(`${url}?data=${requestIds.join(',')}`);\n }\n\n getWorkflows(): Promise<Paged<Workflow> | ErrorResponse> {\n const url = `GetWorkflows/0/0`;\n return this.httpService.get(url) as Promise<Paged<Workflow> | ErrorResponse>;\n }\n\n getFormWithParam(param: string): Promise<Paged<Form> | ErrorResponse> {\n const url = `GetFormsWithParam/${param}/0/1`;\n return this.httpService.get(url) as Promise<Paged<Form> | ErrorResponse>;\n }\n\n followTask(actorId: string, task: Task): Promise<Task | ErrorResponse> {\n const url = `FollowTask/${actorId}`;\n return this.httpService.post(url, task);\n }\n\n unFollowTask(\n taskId: string,\n actorId: string\n // task: Task,\n ): Promise<void | ErrorResponse> {\n const url = `UnFollowTask/${taskId}/${actorId}`;\n return this.httpService.post(url, {});\n }\n\n reAssign(\n task: Task,\n comment: string,\n toUser?: string,\n fromUser?: string\n ): Promise<Task | ErrorResponse> {\n const url = `Reassign/${comment}/${toUser}/${fromUser}`;\n return this.httpService.post(url, task);\n }\n\n getNextActors(\n taskCode: string,\n stageCode?: string,\n forCurrentStage?: boolean\n ): Promise<Actor[] | ErrorResponse> {\n const url = `GetNextActors/${taskCode}/${forCurrentStage}${stageCode ? `/${stageCode}` : ''\n }`;\n return this.httpService.get(url) as Promise<Actor[] | ErrorResponse>;\n }\n\n pickTask(\n task: Task,\n comment: string,\n recipient?: string,\n targetStage?: string,\n ): Promise<Task | ErrorResponse> {\n const url = `PickTask/${comment}/${targetStage}${recipient ? '/' + recipient : ''\n }`;\n return this.httpService.post(url, task);\n }\n\n unPickTask(\n targetStage: string,\n task: Task,\n comment: string,\n recipient?: string\n ): Promise<Task | ErrorResponse> {\n const url = `UnPickTask/${comment}/${targetStage}${recipient ? '/' + recipient : ''\n }`;\n return this.httpService.post(url, task);\n }\n\n getPossibleTasksForUser(\n user: string,\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string\n ): Promise<Paged<Task> | ErrorResponse> {\n const url = `GetPossibleTasksForUser/${skip}/${limit}/${sortParam}/${sortOrder}/${user}`;\n return this.httpService.get(url) as Promise<Paged<Task> | ErrorResponse>;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Actor, Form, QueryParams, SortDirection, Task, Workflow } from 'verben-workflow-ui/src/lib/models';\n\n@Injectable()\nexport class TaskState {\n private updating$ = new BehaviorSubject<boolean>(false);\n private tasks$ = new BehaviorSubject<Task[]>([]);\n private searchTerm$ = new BehaviorSubject<string>('');\n private queryParams$ = new BehaviorSubject<QueryParams<Task>>({\n skip: 0,\n limit: 20,\n sortParam: 'CreatedAt',\n sortOrder: SortDirection.Desc,\n });\n\n private workflows$ = new BehaviorSubject<Workflow[]>([]);\n private forms$ = new BehaviorSubject<Form[]>([]);\n private nextActors$ = new BehaviorSubject<Actor[]>([]);\n\n isUpdating$(): Observable<boolean> {\n return this.updating$.asObservable();\n }\n\n setUpdating(isUpdating: boolean): void {\n this.updating$.next(isUpdating);\n }\n\n getRequests$(): Observable<Task[]> {\n return this.tasks$.asObservable();\n }\n\n setRequests(tasks: Task[]): void {\n this.tasks$.next(tasks);\n }\n\n getNextActors$(): Observable<Actor[]> {\n return this.nextActors$.asObservable();\n }\n\n setNextActors(nextActors: Actor[]): void {\n this.nextActors$.next(nextActors);\n }\n\n getWorkflows$(): Observable<Workflow[]> {\n return this.workflows$.asObservable();\n }\n\n setWorkflows(workflows: Workflow[]): void {\n this.workflows$.next(workflows);\n }\n\n getForms$(): Observable<Form[]> {\n return this.forms$.asObservable();\n }\n\n setForms(forms: Form[]): void {\n this.forms$.next(forms);\n }\n\n getSearchTerm$(): Observable<string> {\n return this.searchTerm$.asObservable();\n }\n\n getSearchTermValue(): string {\n return this.searchTerm$.getValue();\n }\n\n setSearchTerm(term: string): void {\n this.searchTerm$.next(term);\n }\n\n getQueryParams$(): Observable<QueryParams<Task>> {\n return this.queryParams$.asObservable();\n }\n\n getQueryParamsValue(): QueryParams<Task> {\n return this.queryParams$.getValue();\n }\n\n updateQueryParams(params: Partial<QueryParams<Task>>): void {\n this.queryParams$.next({ ...this.queryParams$.getValue(), ...params });\n }\n\n addRequest(task: Task): void {\n const currentValue = this.tasks$.getValue();\n this.tasks$.next([task, ...currentValue]);\n }\n\n resetPagination(): void {\n const currentParams = this.queryParams$.getValue();\n this.queryParams$.next({ ...currentParams, skip: 0 });\n }\n\n updateRequest(updatedRequest: Task): void {\n const tasks = this.tasks$.getValue();\n const index = tasks.findIndex((r) => r.Code === updatedRequest.Code);\n if (index !== -1) {\n tasks[index] = updatedRequest;\n this.tasks$.next([...tasks]);\n }\n }\n\n removeRequest(taskId: string): void {\n const currentValue = this.tasks$.getValue();\n this.tasks$.next(currentValue.filter((r) => r.Code !== taskId));\n }\n\n appendRequests(newRequests: Task[]): void {\n const currentRequests = this.tasks$.getValue();\n this.tasks$.next([...currentRequests, ...newRequests]);\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport {\n Observable,\n Subject,\n debounceTime,\n distinctUntilChanged,\n lastValueFrom,\n takeUntil,\n} from 'rxjs';\nimport { Actor, ErrorResponse, Form, QueryParams, Task, Workflow } from 'verben-workflow-ui/src/lib/models';\nimport { UtilService } from 'verben-workflow-ui/src/lib/services';\nimport { TasksService } from './tasks.service';\nimport { TaskState } from './tasks.state';\n\n@Injectable()\nexport class TaskFacade implements OnDestroy {\n private searchSubject = new Subject<{ term: string; user?: string }>();\n private destroy$ = new Subject<void>();\n\n constructor(\n private taskService: TasksService,\n private taskState: TaskState,\n private utilService: UtilService\n ) {\n // Set up debounced search handling\n this.searchSubject\n .pipe(\n debounceTime(1000),\n distinctUntilChanged((a, b) => a.term === b.term),\n takeUntil(this.destroy$)\n )\n .subscribe(({ term, user }) => {\n this.handleSearch(term, user);\n });\n\n this.isUpdating$().subscribe((loading) => {\n this.utilService.sendBI(loading);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n // Search handling\n search(term: string, user?: string): void {\n this.searchSubject.next({ term, user });\n }\n\n private async handleSearch(searchTerm: string, user?: string): Promise<void> {\n this.taskState.setSearchTerm(searchTerm);\n this.taskState.resetPagination();\n\n try {\n this.taskState.setUpdating(true);\n if (searchTerm.trim()) {\n await this.loadRequestsWithParam(searchTerm);\n } else {\n await this.loadRequests(user);\n }\n } catch (error) {\n console.error('Search failed:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n isUpdating$(): Observable<boolean> {\n return this.taskState.isUpdating$();\n }\n\n getRequests$(): Observable<Task[]> {\n return this.taskState.getRequests$();\n }\n\n getWorkflow$(): Observable<Workflow[]> {\n return this.taskState.getWorkflows$();\n }\n\n getForms$(): Observable<Form[]> {\n return this.taskState.getForms$();\n }\n\n getNextActors$(): Observable<Actor[]> {\n return this.taskState.getNextActors$();\n }\n\n getQueryParams$(): Observable<QueryParams<Task>> {\n return this.taskState.getQueryParams$();\n }\n\n addNewRequest(task: Task) {\n this.taskState.addRequest(task);\n }\n\n async loadRequests(user?: string): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const params = this.taskState.getQueryParamsValue();\n\n const requests = user ? await this.taskService.getPossibleTasksForUser(\n user,\n params.skip,\n params.limit,\n params.sortParam || 'createdDate',\n params.sortOrder\n ) : await this.taskService.getTasks(\n params.skip,\n params.limit,\n params.sortParam || 'createdDate',\n params.sortOrder\n );\n\n if (requests instanceof ErrorResponse) {\n this.utilService.showError(requests.ErrorMsg);\n return;\n }\n\n if (requests?.Result) {\n this.taskState.setRequests(requests.Result);\n this.taskState.updateQueryParams({ skip: requests.Skip });\n }\n } catch (error) {\n console.error('Failed to load requests:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async loadRequestsWithParam(param: string): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const params = this.taskState.getQueryParamsValue();\n\n const requests = await this.taskService.getTaskWithParam(\n param,\n params.skip,\n params.limit,\n params.sortParam || 'CreatedDate',\n params.sortOrder\n );\n\n if (requests instanceof ErrorResponse) {\n this.utilService.showError(requests.ErrorMsg);\n return;\n }\n\n this.taskState.setRequests(requests.Result);\n this.taskState.updateQueryParams({ skip: requests.Skip });\n } catch (error) {\n console.error('Failed to load requests with param:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n updateQueryParams(params: Partial<QueryParams<Task>>): void {\n this.taskState.updateQueryParams(params);\n // this.loadRequests();\n }\n\n async addRequest(request: Partial<Task>): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const newRequest = { ...request, TaskForms: [] } as Task;\n // this.taskState.addRequest(newRequest);\n\n const response = await this.taskService.saveTasks([newRequest]);\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n this.utilService.showSuccess('Task added successfully');\n this.taskState.resetPagination();\n await this.loadRequests(); // Reload to get server-side changes\n } catch (error) {\n console.error('Failed to add request:', error);\n this.taskState.removeRequest(request.Code!);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async updateRequest(request: Task): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const response = await this.taskService.saveTasks([request]);\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n this.utilService.showSuccess('Task updated successfully');\n this.taskState.updateRequest(request);\n } catch (error) {\n console.error('Failed to update request:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async deleteRequest(requestId: string): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n await lastValueFrom(this.taskService.deleteTasks([requestId]));\n this.taskState.removeRequest(requestId);\n } catch (error) {\n console.error('Failed to delete request:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async approveRequest(request: Task): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const response = await this.taskService.processTasks([request], true);\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n // console.log(response);\n const data = (response as Task[])?.[0];\n if (data) {\n this.taskState.updateRequest(data);\n this.utilService.showSuccess('Task approved successfully');\n }\n } catch (error) {\n console.error('Failed to update request:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async loadWorkflows(): Promise<void> {\n try {\n const requests = await this.taskService.getWorkflows();\n\n if (requests instanceof ErrorResponse) {\n this.utilService.showError(requests.ErrorMsg);\n return;\n }\n\n this.taskState.setWorkflows(requests.Result);\n } catch (error) {\n console.error('Failed to load requests:', error);\n throw error;\n } finally {\n }\n }\n\n async loadFormsWithParam(param: string): Promise<Form | void> {\n try {\n this.taskState.setUpdating(true);\n\n const requests = await this.taskService.getFormWithParam(param);\n\n if (requests instanceof ErrorResponse) {\n this.utilService.showError(requests.ErrorMsg);\n return;\n }\n\n const form = requests.Result[0];\n if (form) return form;\n } catch (error) {\n console.error('Failed to load requests with param:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async reAssign(\n request: Task,\n comment: string,\n toUser?: string,\n fromUser?: string\n ): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const response = await this.taskService.reAssign(\n {\n ...request,\n FullStages: [],\n CurrentActors: request.CurrentActors.map((c) => ({\n ...c,\n ActorTags: [],\n })),\n },\n comment,\n toUser,\n fromUser\n );\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n // console.log(response);\n this.utilService.showSuccess('Task re-assigned successfully');\n const data = response as Task;\n if (data) {\n this.taskState.updateRequest(data);\n }\n } catch (error) {\n console.error('Failed to update request:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async loadNextActors(\n taskCode: string,\n stageCode?: string,\n forCurrentStage?: boolean\n ): Promise<Actor[]> {\n try {\n this.taskState.setUpdating(true);\n const params = this.taskState.getQueryParamsValue();\n\n const requests = await this.taskService.getNextActors(\n taskCode,\n stageCode,\n forCurrentStage\n );\n\n if (requests instanceof ErrorResponse) {\n this.utilService.showError(requests.ErrorMsg);\n return [];\n }\n\n this.taskState.setNextActors(requests);\n\n return requests;\n } catch (error) {\n console.error('Failed to load requests with param:', error);\n return [];\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n // Load more handling\n async loadMore(queue: boolean = false): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const currentParams = this.taskState.getQueryParamsValue();\n const searchTerm = this.taskState.getSearchTermValue();\n\n // The first page is already loaded at skip=0 without advancing the\n // pointer, so fetch the *next* page starting at newSkip.\n const newSkip = currentParams.skip + currentParams.limit;\n\n // Load and append data, honouring any active search term\n const response = searchTerm\n ? await this.taskService.getTaskWithParam(\n searchTerm,\n newSkip,\n currentParams.limit,\n currentParams.sortParam || 'createdDate',\n currentParams.sortOrder\n )\n : await this.taskService.getTasks(\n newSkip,\n currentParams.limit,\n currentParams.sortParam || 'createdDate',\n currentParams.sortOrder\n );\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n this.taskState.appendRequests(response.Result);\n this.taskState.updateQueryParams({\n skip: newSkip,\n limit: currentParams.limit,\n });\n } catch (error) {\n console.error('Load more failed:', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n\n async pickTask(\n request: Task,\n comment: string,\n toUser?: string,\n targetStageCode?: string\n ): Promise<void> {\n try {\n this.taskState.setUpdating(true);\n const response = await this.taskService.pickTask(\n {\n ...request,\n FullStages: [],\n CurrentActors: request.CurrentActors.map((c) => ({\n ...c,\n ActorTags: [],\n })),\n },\n comment,\n toUser,\n targetStageCode,\n );\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n // console.log(response);\n this.utilService.showSuccess('Task picked successfully');\n const data = response as Task;\n if (data) {\n this.taskState.updateRequest(data);\n }\n } catch (error) {\n console.error('Failed to pick task', error);\n throw error;\n } finally {\n this.taskState.setUpdating(false);\n }\n }\n}\n","import { ResourceModel } from 'verben-workflow-ui/src/lib/models';\nimport { Task } from 'verben-workflow-ui/src/lib/models';\n\nexport class TaskModel extends ResourceModel<Task> {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CardData } from 'verben-ng-ui';\nimport { Task } from 'verben-workflow-ui/src/lib/models';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Status } from 'verben-workflow-ui/src/lib/models';\nimport { Workflow } from 'verben-workflow-ui/src/lib/models';\nimport { TaskFacade } from './tasks.facade';\nimport { Form } from 'verben-workflow-ui/src/lib/models';\nimport { DataType } from 'verben-workflow-ui/src/lib/models';\n\n@Component({\n selector: 'tasks-form',\n templateUrl: './tasks.form.component.html',\n})\nexport class TasksFormComponent {\n @Input()\n get currentData(): CardData | null {\n return this._currentData;\n }\n set currentData(value: CardData | null) {\n this._currentData = value;\n console.log(value?.data);\n if (value?.data) {\n this.form.patchValue({\n Name: value.data.Name || '',\n Description: value.data.Description || '',\n WorkflowCode: value.data.WorkflowCode || '',\n Status: value.data.Status || '',\n });\n } else {\n this.form.reset();\n }\n }\n\n private _currentData: CardData | null = null;\n\n taskForm: Form | null = null;\n active: number = 0;\n dataType: DataType = DataType.Text;\n\n @Output() onTaskFormSave = new EventEmitter<Form>();\n @Output() onSave = new EventEmitter<Partial<Task>>();\n\n form: FormGroup;\n statuses = Object.values(Status);\n workflows: Workflow[] = [];\n loadingTaskForm: boolean = false;\n taskFormView: boolean = false;\n\n // active: boolean = false;\n\n constructor(private fb: FormBuilder, private taskFacade: TaskFacade) {\n this.taskFacade.getWorkflow$().subscribe((workflows) => {\n this.workflows = workflows;\n });\n this.form = this.fb.group({\n Name: ['', { validators: [Validators.required] }],\n Description: ['', { validators: [Validators.required] }],\n WorkflowCode: ['', { validators: [Validators.required] }],\n Status: ['', { validators: [Validators.required] }],\n TaskForms: [],\n });\n }\n\n ngOnInit() {\n try {\n this.taskFacade.loadWorkflows().then(() => {});\n } catch (error) {\n // Handle error\n }\n\n this.form.get('WorkflowCode')?.valueChanges.subscribe((value) => {\n if (value) {\n const selectedWorkflow = this.workflows.find(\n ({ Code }) => Code === value\n );\n if (selectedWorkflow?.Form) {\n this.loadingTaskForm = true;\n this.taskFacade\n .loadFormsWithParam(selectedWorkflow.Form)\n .then((form) => {\n if (form) {\n this.taskForm = form;\n }\n })\n .finally(() => {\n this.loadingTaskForm = false;\n });\n } else {\n this.taskForm = null;\n }\n }\n });\n }\n\n handleSubmit(): void {\n if (this.form.valid) {\n // Emit save event with form value\n console.log('Form saved:', this.form.value);\n if (\n !this.taskForm ||\n (this.form.get('TaskForms')?.value as Form[])?.length > 0\n ) {\n this.onSave.emit(this.form.value);\n }\n }\n }\n\n onDelete(): void {\n // Emit delete event\n console.log('Delete requested');\n }\n\n sendTaskForm() {\n if (this.taskForm) {\n this.form\n .get('TaskForms')\n ?.setValue([{ ...this.taskForm, Swimlane: '' }]);\n this.taskFormView = false;\n this.onTaskFormSave.emit(this.taskForm);\n }\n }\n\n areRequiredPropertiesFilled(): boolean {\n const properties = this.taskForm?.Entities[this.active].Properties || [];\n\n // Check if all required properties have valid values\n // return properties.every((property: any) => {\n // console.log(property);\n // return (\n // !property.isRequired ||\n // (property.Value !== undefined &&\n // property.Value !== null &&\n // property.Value !== '')\n // );\n // });\n return true;\n }\n\n disableProcessing() {\n const selectedWorkflow = this.workflows.find(\n ({ Code }) => Code === this.form.get('WorkflowCode')?.value\n );\n\n if (\n selectedWorkflow?.Form &&\n (this.currentData?.data as Task)?.TaskForms?.length === 0\n ) {\n return true;\n } else return this.form.invalid;\n }\n}\n","@if (taskFormView && taskForm) {\n<div\n *ngIf=\"taskForm.Entities[active]\"\n class=\"flex flex-wrap bg-[#9A9FBF80] rounded-xl px-3 py-2 w-full relative gap-6\"\n>\n <app-form-timer></app-form-timer>\n <div *ngFor=\"let group of taskForm.Entities; let index = index\">\n <p\n (click)=\"active = index\"\n [ngClass]=\"{\n 'bg-[var(--vbn-color-surface)] text-primary rounded-lg shadow-lg': active === index\n }\"\n class=\"px-6 py-2 cursor-pointer\"\n >\n {{ group.Name }}group\n </p>\n </div>\n</div>\n\n<div *ngIf=\"taskForm.Entities[active]; else emptyState\" class=\"mt-4\">\n <form-control\n [dataType]=\"dataType\"\n [formProperties]=\"taskForm.Entities[active].Properties\"\n ></form-control>\n\n <div class=\"flex gap-3 justify-end\">\n <verbena-button\n (click)=\"areRequiredPropertiesFilled()\"\n text=\"CHECK\"\n styleType=\"ylw-outline\"\n class=\"ml-auto\"\n ></verbena-button>\n\n <verbena-button\n (click)=\"taskFormView = false\"\n text=\"Close task form\"\n styleType=\"ylw-outline\"\n class=\"ml-auto\"\n ></verbena-button>\n\n <verbena-button\n class=\"verben-primary-button\"\n (click)=\"sendTaskForm()\"\n [disable]=\"!areRequiredPropertiesFilled()\"\n text=\"Save\"\n ></verbena-button>\n </div>\n</div>\n\n<!-- Empty state template -->\n<ng-template #emptyState>\n <p class=\"mt-4 p-4 text-gray-600 text-center\">\n No entries available for the selected form group.\n </p>\n</ng-template>\n\n} @else {\n<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n (ngSubmit)=\"handleSubmit()\"\n>\n <verbena-input\n name=\"Name\"\n label=\"Name\"\n formControlName=\"Name\"\n placeHolder=\"Enter Name\"\n />\n <verbena-input\n name=\"Description\"\n label=\"Description\"\n formControlName=\"Description\"\n placeHolder=\"Enter Description\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"workflow\">Workflow</label>\n\n <verben-drop-down\n label=\"Workflow\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n placeholder=\"Select\"\n [options]=\"workflows\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n id=\"workflow\"\n formControlName=\"WorkflowCode\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"status\">Status</label>\n\n <verben-drop-down\n label=\"Status\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [showClear]=\"true\"\n placeholder=\"Null\"\n [(options)]=\"statuses\"\n id=\"status\"\n formControlName=\"Status\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between gap-4 my-2\">\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Delete\"\n bgColor=\"var(--vbn-color-text-muted)\"\n textColor=\"var(--vbn-color-on-primary)\"\n borderRadius=\"10px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n <verbena-button\n [disable]=\"!taskForm || loadingTaskForm\"\n (click)=\"taskFormView = true\"\n [text]=\"loadingTaskForm ? 'Checking for form' : 'Fill task form'\"\n styleType=\"ylw-outline\"\n class=\"ml-auto\"\n ></verbena-button>\n <verbena-button\n type=\"submit\"\n text=\"Save\"\n bgColor=\"var(--vbn-color-primary)\"\n textColor=\"var(--vbn-color-on-primary)\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n </div>\n</form>\n}\n","import { ChangeDetectorRef, Component, input } from '@angular/core';\nimport { CardData } from 'verben-ng-ui';\nimport { ObjectState, Task, TaskStatus } from 'verben-workflow-ui/src/lib/models';\nimport { BaseDataViewComponent, DataViewConfig } from 'verben-workflow-ui/src/lib/shared';\nimport { columns } from './tasks.columns';\nimport { TaskFacade } from './tasks.facade';\nimport { TaskModel } from './tasks.models';\nimport { TasksService } from './tasks.service';\nimport { TaskState } from './tasks.state';\n\n@Component({\n selector: 'lib-tasks',\n templateUrl: './tasks.component.html',\n styleUrl: './tasks.component.css',\n providers: [TasksService, TaskFacade, TaskState],\n})\nexport class TasksComponent extends BaseDataViewComponent<Task> {\n user = input<string>('');\n config: DataViewConfig<Task> = {\n dataSource: [], // Populate from service\n columns: columns, // Your existing column definitions\n cardDataMapper: (task) => ({\n selected: false,\n title: task.Name,\n data: task,\n body: [\n { title: 'Name', value: task.Name },\n { title: 'Status', value: task.Status },\n ],\n children: [],\n }),\n onDetailView: (task) => {\n // Custom detail view logic\n },\n };\n constructor(private cdr: ChangeDetectorRef, private taskFacade: TaskFacade) {\n super();\n\n this.taskFacade.getRequests$().subscribe((data) => {\n this.data.set(data);\n });\n }\n\n override loadInitialData() {\n try {\n this.taskFacade.loadRequests(this.user());\n } catch (error) {\n // Handle error\n }\n }\n\n handleSearch(event: { key: string; value: string }) {\n this.taskFacade.search(event.value, this.user());\n }\n\n getActionNamesForTask(task: Task): string[] {\n return ['followtask', 'reassign'];\n }\n\n override onStateChange(event: { key: string; value: boolean }): void {\n switch (event.key) {\n case 'create': {\n const newItem: Task = new TaskModel({\n WorkflowCode: '',\n Status: TaskStatus.Active,\n Flowable: '',\n FlowableData: null,\n FlowablePath: '',\n CurrentActors: [],\n DataState: ObjectState.New,\n }) as unknown as Task;\n this.taskFacade.addNewRequest(newItem);\n this.dataView.isTableView = false;\n\n // CardDataViewComponent matches clicks against its cardDataList input,\n // which only receives the new card after a change-detection pass. Force\n // one so the freshly added card is resolvable before we open it.\n this.cdr.detectChanges();\n\n const card = this.cardData().find((c) => c.data === newItem);\n if (card) {\n this.currentData = this.cardDataView.onItemClick(card);\n this.cdr.detectChanges();\n }\n break;\n }\n default:\n break;\n }\n }\n\n protected getCardDataByIdentifier(code: string): CardData | undefined {\n return this.cardData()?.find(({ data }) => data.data.Code === code);\n }\n\n async loadMore() {\n try {\n await this.taskFacade.loadMore();\n } catch (error) {\n // Handle error\n }\n }\n\n async onSave(data: Partial<Task>) {\n const payload = {\n ...this.currentData?.data,\n ...data,\n } as Task;\n await this.taskFacade.addRequest(payload);\n }\n}\n","<div class=\"space-y-8\">\n <verben-data-view #vdv [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: true,\n isToggle: true,\n }\" [buttonClass]=\"'my-custom-button-class'\" [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\" [selectedColumnCount]=\"0\" [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\" (viewChange)=\"onViewChange($event)\" (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\">\n <div table-content>\n <lib-data-table [data]=\"data()\" [columns]=\"config.columns\" [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\">\n <ng-container libColumn=\"history\">\n <ng-template #cell let-value>\n <a [routerLink]=\"['/workflow/task-history', value]\" routerLinkActive=\"router-link-active\"\n class=\"underline text-[var(--vbn-color-border-focus)]\">view history</a>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"workflow\">\n <ng-template #cell let-value>\n <a [routerLink]=\"['/workflow/workflows', value]\" routerLinkActive=\"router-link-active\"\n class=\"underline text-[var(--vbn-color-border-focus)]\">view Workflow</a>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-row=\"row\">\n <lib-operation-popup [user]=\"user()\" [task]=\"row\" [allowedActions]=\"getActionNamesForTask(row)\"\n (actionComplete)=\"loadInitialData()\">\n <div trigger class=\"cursor-pointer p-2 -m-2 inline-flex items-center justify-center\">\n <verben-svg icon=\"dots\" [width]=\"3\" [height]=\"18\" class=\"w-auto\"></verben-svg>\n </div>\n </lib-operation-popup>\n </ng-template>\n <ng-template #header>\n <strong>Actions</strong>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n\n <div card-content>\n <verben-card-data-view borderRadius=\"12px\" (loadMoreClick)=\"loadMore()\" #vdcv dataId=\"Id\" border=\"5px\"\n [cardDataList]=\"cardData()\" rbgColor=\"var(--vbn-color-surface-alt)\" mg=\"20px\">\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data #vlcd [parent]=\"vdcv\" dataId=\"Code\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\" [cardDataList]=\"cardData()\">\n <ng-template #card let-cardItem>\n <div (click)=\"currentData = vdcv.onItemClick(cardItem)\" class=\"flex\">\n <div (click)=\"currentData = vdcv.onItemClick(cardItem)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\">\n <div class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\" [ngClass]=\"\n cardItem.selected ? 'bg-primary' : 'bg-secondary-200'\n \"></div>\n <div class=\"flex flex-col py-2 px-4 w-full\">\n <div class=\"flex items-center gap-4 justify-between\">\n <div class=\"grid gap-y-2\">\n <span class=\"font-semibold text-[var(--vbn-color-on-primary)]\">{{\n cardItem.title\n }}</span>\n <p class=\"flex items-center\">\n <!-- <label for=\"phone\" class=\"text-[10px] font-light\">Current Actors:</label> -->\n @if (cardItem.data.CurrentActors && cardItem.data.CurrentActors.length > 0) {\n @if (cardItem.data.CurrentActors.length === 1) {\n <span id=\"phone\" class=\"text-sm\">{{ cardItem.data.CurrentActors[0].Identifier }}</span>\n } @else {\n <verben-tooltip [top]=\"'0px'\" [textColor]=\"'var(--vbn-color-text)'\" [backgroundColor]=\"'var(--vbn-color-border)'\" [left]=\"'0'\"\n [tooltipContent]=\"actorsTooltipTemplate\" #actorsTooltip>\n <span id=\"phone\" class=\"text-sm cursor-pointer\">\n {{ cardItem.data.CurrentActors[0].Identifier }} and {{ cardItem.data.CurrentActors.length\n - 1 }} others\n </span>\n </verben-tooltip>\n\n <ng-template #actorsTooltipTemplate>\n <div class=\"p-2\">\n <p class=\"text-xs font-semibold mb-1\">Current Actors:</p>\n <ul class=\"list-disc list-inside\">\n @for (actor of cardItem.data.CurrentActors; track actor.Identifier) {\n <li class=\"text-xs\">{{ actor.Identifier }}</li>\n }\n </ul>\n </div>\n </ng-template>\n }\n } @else {\n <span id=\"phone\" class=\"text-sm text-gray-400\">No actors assigned</span>\n }\n </p>\n </div>\n\n <div class=\"grid gap-y-2\">\n <span for=\"role\" class=\"font-light\">{{\n cardItem.data.Code\n }}</span>\n\n <div (click)=\"$event.stopPropagation();\" class=\"flex items-end gap-4\">\n <a [routerLink]=\"[\n '/workflow/task-history',\n cardItem.data.Code\n ]\" routerLinkActive=\"router-link-active\"\n class=\"underline text-[var(--vbn-color-border-focus)] text-xs relative z-10\">view\n history</a>\n\n <lib-operation-popup [user]=\"user()\" [task]=\"cardItem.data\"\n [allowedActions]=\"getActionNamesForTask(cardItem.data)\" (actionComplete)=\"loadInitialData()\">\n <div trigger class=\"cursor-pointer p-2 -m-2 inline-flex items-center justify-center\">\n <verben-svg icon=\"dots\" [width]=\"3\" [height]=\"18\" class=\"w-auto\"></verben-svg>\n </div>\n </lib-operation-popup>\n </div>\n </div>\n </div>\n\n <!-- <div class=\"flex\">\n <span class=\"font-normal text-sm\">{{ item.title }}</span>\n </div>\n @for (ciItem of item.body; track ciItem.value) {\n <div class=\"\">\n <span class=\"text-muted font-light text-xs\"\n >{{ ciItem.title }}:</span\n >\n <span class=\"text-black\">{{ ciItem.value }}</span>\n </div>\n } -->\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <!-- <lib-user-request-form\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n (onApproval)=\"onApprove($event)\"\n ></lib-user-request-form> -->\n <tasks-form [currentData]=\"currentData\" (switchView)=\"vdv.toggleView()\"\n (onSave)=\"onSave($event)\"></tasks-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"w-full\">\n <div [ngClass]=\"{\n 'flex gap-2 items-center': true,\n 'justify-end': true\n }\">\n <!-- <verbena-button\n *ngIf=\"!vdcv.hasCurrentItem()\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'var(--vbn-color-text-muted)'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'var(--vbn-color-surface)'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button> -->\n <div class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} 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 text-[var(--vbn-color-border-focus)] underline\">\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 <lib-data-columns [columns]=\"config.columns\" (columnsUpdated)=\"onColumnsUpdated($event)\"></lib-data-columns>\n </div>\n <div filter-content>\n <verben-table-filter [border]=\"'1px solid var(--vbn-color-primary)'\" borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\" bgColor=\"white\" width=\"420px\" textColor=\"black\" pd=\"1rem\"\n primaryColor=\"var(--vbn-color-primary)\" secondaryColor=\"var(--vbn-color-border-focus)\" tertiaryColor=\"var(--vbn-color-on-primary)\" [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"></verben-table-filter>\n </div>\n <div sort-content>\n <lib-data-sort [columns]=\"config.columns\" [data]=\"data()\" (sortApplied)=\"onSortUpdated($event)\"></lib-data-sort>\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\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-between\">\n <div class=\"message-log-button-container flex justify-between\">\n <!-- <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'var(--vbn-color-text-muted)'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'var(--vbn-color-surface)'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\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 text-[var(--vbn-color-border-focus)] underline\">\n Load more\n </button>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { TooltipModule } from 'verben-ng-ui';\nimport { FormControlerModule } from 'verben-workflow-ui/src/lib/components/form-control';\nimport { FormTimerModule } from 'verben-workflow-ui/src/lib/components/form-timer';\nimport { OperationPopupComponent } from 'verben-workflow-ui/src/lib/components/operation-popup';\nimport { TaskFormModule } from 'verben-workflow-ui/src/lib/components/task-form';\nimport { SharedModule } from 'verben-workflow-ui/src/lib/shared';\nimport { TasksComponent } from './tasks.component';\nimport { TasksFormComponent } from './tasks.form.component';\n\n@NgModule({\n declarations: [TasksComponent, TasksFormComponent],\n imports: [\n CommonModule,\n SharedModule,\n TaskFormModule,\n FormControlerModule,\n FormTimerModule,\n RouterLink,\n TooltipModule,\n OperationPopupComponent,\n ],\n exports: [TasksComponent],\n})\nexport class TasksModule { }\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TasksService","i2.TaskState","i3","i1","i2.TaskFacade","i4","i1.TaskFacade","i2","i5","i6.TasksFormComponent"],"mappings":"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"}
@@ -94,10 +94,10 @@ class WfComponent extends BaseDataViewComponent {
94
94
  break;
95
95
  }
96
96
  }
97
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WfComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
98
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: WfComponent, selector: "lib-wf", usesInheritance: true, ngImport: i0, template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: true,\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 >\n <div table-content></div>\n\n <div card-content></div>\n\n <div column-content></div>\n\n <div filter-content></div>\n\n <div sort-content></div>\n\n <div export-content></div>\n </verben-data-view>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.DataViewComponent, selector: "verben-data-view", inputs: ["buttonClass", "iconClass", "activeIconClass", "columnCustomClass", "filterCustomClass", "sortCustomClass", "extendCustomClass", "exportCustomClass", "selectCustomClass", "importCustomClass", "zIndex", "createCustomClass", "tableIcon", "cardIcon", "cardClass", "tableClass", "searchKey", "searchValue", "viewState", "searchTemplate", "importTemplate", "columnTemplate", "extendTemplate", "filterTemplate", "sortTemplate", "children", "exportTemplate", "createTemplate", "selectedColumnCount", "selectedSortCount", "selectedFilterTableCount", "inputWidth", "milliseconds", "showColumnChild", "showSortChild", "showFilterChild", "showImportChild", "showExportChild", "showExtendChild", "create", "showSelected", "isTableView"], outputs: ["viewChange", "stateChange", "onSearchChange"] }] });
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WfComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
98
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: WfComponent, selector: "lib-wf", usesInheritance: true, ngImport: i0, template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: true,\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 >\n <div table-content></div>\n\n <div card-content></div>\n\n <div column-content></div>\n\n <div filter-content></div>\n\n <div sort-content></div>\n\n <div export-content></div>\n </verben-data-view>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.DataViewComponent, selector: "verben-data-view", inputs: ["buttonClass", "iconClass", "activeIconClass", "columnCustomClass", "filterCustomClass", "sortCustomClass", "extendCustomClass", "exportCustomClass", "selectCustomClass", "importCustomClass", "zIndex", "createCustomClass", "tableIcon", "cardIcon", "cardClass", "tableClass", "searchKey", "searchValue", "viewState", "searchTemplate", "importTemplate", "columnTemplate", "extendTemplate", "filterTemplate", "sortTemplate", "children", "exportTemplate", "createTemplate", "selectedColumnCount", "selectedSortCount", "selectedFilterTableCount", "inputWidth", "milliseconds", "showColumnChild", "showSortChild", "showFilterChild", "showImportChild", "showExportChild", "showExtendChild", "create", "showSelected", "isTableView"], outputs: ["viewChange", "stateChange", "onSearchChange"] }] });
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WfComponent, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WfComponent, decorators: [{
101
101
  type: Component,
102
102
  args: [{ selector: 'lib-wf', template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: true,\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 >\n <div table-content></div>\n\n <div card-content></div>\n\n <div column-content></div>\n\n <div filter-content></div>\n\n <div sort-content></div>\n\n <div export-content></div>\n </verben-data-view>\n</div>\n" }]
103
103
  }] });
@@ -171,10 +171,10 @@ class WfService {
171
171
  const url = `DeleteWorkflows`;
172
172
  return this.httpService.delete(`${url}?data=${requestIds.join(',')}`);
173
173
  }
174
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WfService, deps: [{ token: i1$1.HttpWebRequestService }], target: i0.ɵɵFactoryTarget.Injectable });
175
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WfService, providedIn: 'root' });
174
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WfService, deps: [{ token: i1$1.HttpWebRequestService }], target: i0.ɵɵFactoryTarget.Injectable });
175
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WfService, providedIn: 'root' });
176
176
  }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WfService, decorators: [{
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WfService, decorators: [{
178
178
  type: Injectable,
179
179
  args: [{
180
180
  providedIn: 'root',
@@ -182,11 +182,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
182
182
  }], ctorParameters: () => [{ type: i1$1.HttpWebRequestService }] });
183
183
 
184
184
  class WfModule {
185
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WfModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
186
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: WfModule, declarations: [WfComponent], imports: [CommonModule, SharedModule, RouterLink], exports: [WfComponent] });
187
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WfModule, providers: [WfService], imports: [CommonModule, SharedModule] });
185
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WfModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
186
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: WfModule, declarations: [WfComponent], imports: [CommonModule, SharedModule, RouterLink], exports: [WfComponent] });
187
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WfModule, providers: [WfService], imports: [CommonModule, SharedModule] });
188
188
  }
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WfModule, decorators: [{
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WfModule, decorators: [{
190
190
  type: NgModule,
191
191
  args: [{
192
192
  declarations: [WfComponent],