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
@@ -57,10 +57,10 @@ class FormResponseService {
57
57
  },
58
58
  ];
59
59
  }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormResponseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
61
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormResponseService, providedIn: 'root' });
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormResponseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
61
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormResponseService, providedIn: 'root' });
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormResponseService, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormResponseService, decorators: [{
64
64
  type: Injectable,
65
65
  args: [{
66
66
  providedIn: 'root',
@@ -671,12 +671,12 @@ class FormResponseComponent {
671
671
  document.body.removeChild(link);
672
672
  }
673
673
  }
674
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormResponseComponent, deps: [{ token: i1.UtilService }, { token: i1.HttpWebRequestService }, { token: i0.ChangeDetectorRef }, { token: i2.FormBuilder }, { token: i1.EnvironmentService }, { token: i3.Router }, { token: FormResponseService }, { token: i5.Location }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
675
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormResponseComponent, selector: "lib-form-response", inputs: { path: "path", application: "application", pageSize: "pageSize", taskCodeKey: "taskCodeKey" }, outputs: { onViewProcessClicked: "onViewProcessClicked" }, viewQueries: [{ propertyName: "cardDataView", first: true, predicate: ["vdcv"], descendants: true }, { propertyName: "dataView", first: true, predicate: ["vdv"], descendants: true }, { propertyName: "tableView", first: true, predicate: ["dt"], descendants: true }], ngImport: i0, template: "<div #messageLog class=\"flex flex-col gap-4 message-log-container\">\n <!-- <header\n class=\"rounded-lg shadow-lg flex justify-between items-center px-6 py-2 bg-[#D4A00773]\"\n >\n <h4 class=\"font-semibold\">{{ \"Contact Info\" }}</h4>\n <verben-svg\n (click)=\"goBack()\"\n class=\"cursor-pointer\"\n [width]=\"17\"\n [height]=\"17\"\n [icon]=\"'close'\"\n ></verben-svg>\n </header> -->\n\n <div>\n <verben-card-data-view\n borderRadius=\"12px\"\n #vdcv\n dataId=\"Code\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"0px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"Code\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div\n (click)=\"cardClicked(item)\"\n class=\"flex cursor-pointer h-[max-content]\"\n >\n <!-- <verben-svg [width]=\"15\" [height]=\"15\" (click)=\"toggleChildren(item); $event.stopPropagation()\"\n [ngClass]=\"item.children && item.children.length?'visible':'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\" [icon]=\"item.isChildrenExpanded?'minus':'plus'\" /> -->\n <div class=\"flex w-full bg-secondary rounded-xl\">\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"item.selected ? 'bg-primary' : 'bg-secondary-200'\"\n ></div>\n <div class=\"py-3 px-4 flex-1 h-[100%]\">\n <div\n class=\"flex items-start flex-1 gap-1 justify-between h-[100%]\"\n >\n <div\n class=\"flex flex-col flex-1 card-min-height justify-between h-[100%]\"\n >\n <div class=\"flex justify-between\">\n <div>\n <h3\n class=\"my-0 font-bold text-[#404040] leading-[19.5px]\"\n >\n {{ item.data.Name ?? \"Null\" }}\n </h3>\n <span class=\"flex mt-2 items-center gap-1\">\n <span class=\"!text-[10px] font-light text-[#404040]\"\n >Expiry Date:</span\n >\n <span class=\"!text-[12px] font-semibold\">{{\n item.data.ExpiryDate | date\n }}</span>\n </span>\n </div>\n\n <div>\n <span class=\"!text-[10px] text-[#404040]\"\n >Duration</span\n >\n <p class=\"!text-[12px]\">{{ item.data.Duration }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n <verben-right-card-data-view>\n <ng-template #parent>\n <div *ngIf=\"this.currentData\">\n <div\n *ngIf=\"currentData.data.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\n *ngFor=\"\n let group of currentData.data.Entities;\n let index = index\n \"\n >\n <p\n (click)=\"setActive(index)\"\n [ngClass]=\"{\n 'bg-[#fff] text-primary rounded-lg shadow-lg':\n active === index,\n }\"\n class=\"px-6 py-2 cursor-pointer\"\n >\n {{ group.Name }}\n </p>\n </div>\n </div>\n\n <div\n *ngIf=\"currentData.data.Entities[active]; else emptyState\"\n class=\"mt-4\"\n >\n <form-control\n [dataType]=\"dataType\"\n [formProperties]=\"currentData.data.Entities[active].Properties\"\n ></form-control>\n <div\n class=\"flex justify-between w-full bottom-8 left-0 right-0 mt-4\"\n >\n <!-- <verbena-button\n class=\"verben-delete-button\"\n text=\"Delete\"\n ></verbena-button> -->\n <div></div>\n\n <div class=\"flex gap-3\">\n <!-- <verbena-button\n class=\"verben-switch-button\"\n (click)=\"goToTableView()\"\n text=\"Switch To Table\"\n ></verbena-button> -->\n <verbena-button\n class=\"verben-primary-button\"\n (click)=\"saveItem()\"\n text=\"Save\"\n ></verbena-button>\n </div>\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 </div>\n </ng-template>\n </verben-right-card-data-view>\n <!-- <verben-right-card-data-view>\n yeshhhhhh\n </verben-right-card-data-view> -->\n\n <verben-card-data-view-footer>\n <!-- <div class=\"flex gap-2 justify-between\">\n <div\n *ngIf=\"!vdcv.hasCurrentItem()\"\n class=\"message-log-button-container flex justify-between\"\n >\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div>\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more view-links\">\n Load more\n </button>\n </div>\n </div> -->\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n</div>\n", styles: [".view-links{font-size:14px!important;color:#00f;font-weight:600;cursor:pointer}.view-links:hover{text-decoration:underline;text-underline-offset:3px}.context-banner{background-color:#d4a00773}.card-min-height{gap:10px}::ng-deep .childrenPadding{max-height:300px;overflow-y:auto}::ng-deep .toolbar{margin-bottom:15px}::ng-deep .master-only-container{margin:0!important;padding:0!important}::ng-deep .master-detail-container{margin:0!important;padding:0!important}.pop-up-content{border-radius:4px;background-color:#fff;border:1px solid rgba(212,161,7,.5)}.pop-up-value{padding:10px 20px}.pop-up-content>div:nth-child(1){border-bottom:4px solid #FFE681}.enum-val{padding:2px 10px;width:100%;min-width:max-content;text-align:center}.enum-val.Active{background-color:#d6f3e6;color:#2db76f}.enum-val.InActive{background-color:#ffdfdf;color:#eb5757}.toggle-container{width:53px;padding:1px;color:#fff;height:22px;position:relative;background-color:#1a237e;border-radius:2rem;cursor:pointer}.toggle-circle{width:50%;height:100%;position:absolute;left:0;padding:5px;top:0;background-color:#fff;border-radius:50%;transform:scale(1);transition:transform .3s}.translate-100{transform:translate(100%)}.translate-0{transform:translate(0)}.toggle-text-on{display:block;font-size:12px;margin-left:4px}.toggle-text-off{display:block;font-size:12px;margin-right:4px;text-align:right}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i6.CardDataViewComponent, selector: "verben-card-data-view", inputs: ["pd", "mg", "lHeight", "rHeight", "rWidth", "lWidth", "textColor", "lbgColor", "rbgColor", "border", "display", "borderRadius", "activeCss", "inActiveCss", "displayAsRow", "cardDataList", "dataId", "totalRecords", "footer", "noOfVisibleChildren", "showEditIcon", "onItemClick", "onCardChildClick"], outputs: ["editClicked", "loadMoreClick"] }, { kind: "component", type: i6.LeftCardDataComponent, selector: "verben-left-card-data", inputs: ["pd", "mg", "height", "weight", "activeCss", "inActiveCss", "cardDataList", "iconCollapse", "iconExpanded", "parent", "dataId"] }, { kind: "component", type: i6.LeftCardDataViewComponent, selector: "verben-left-card-data-view", inputs: ["cardDataList"] }, { kind: "component", type: i6.RightCardDataViewComponent, selector: "verben-right-card-data-view", inputs: ["parentData", "chilData", "meth"] }, { kind: "component", type: i6.CardDataViewFooterComponent, selector: "verben-card-data-view-footer" }, { kind: "component", type: i7.FormControlComponent, selector: "form-control", inputs: ["dataType", "value", "boolInputType", "formProperties", "disabled"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
674
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormResponseComponent, deps: [{ token: i1.UtilService }, { token: i1.HttpWebRequestService }, { token: i0.ChangeDetectorRef }, { token: i2.FormBuilder }, { token: i1.EnvironmentService }, { token: i3.Router }, { token: FormResponseService }, { token: i5.Location }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
675
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormResponseComponent, selector: "lib-form-response", inputs: { path: "path", application: "application", pageSize: "pageSize", taskCodeKey: "taskCodeKey" }, outputs: { onViewProcessClicked: "onViewProcessClicked" }, viewQueries: [{ propertyName: "cardDataView", first: true, predicate: ["vdcv"], descendants: true }, { propertyName: "dataView", first: true, predicate: ["vdv"], descendants: true }, { propertyName: "tableView", first: true, predicate: ["dt"], descendants: true }], ngImport: i0, template: "<div #messageLog class=\"flex flex-col gap-4 message-log-container\">\n <!-- <header\n class=\"rounded-lg shadow-lg flex justify-between items-center px-6 py-2 bg-[#D4A00773]\"\n >\n <h4 class=\"font-semibold\">{{ \"Contact Info\" }}</h4>\n <verben-svg\n (click)=\"goBack()\"\n class=\"cursor-pointer\"\n [width]=\"17\"\n [height]=\"17\"\n [icon]=\"'close'\"\n ></verben-svg>\n </header> -->\n\n <div>\n <verben-card-data-view\n borderRadius=\"12px\"\n #vdcv\n dataId=\"Code\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"var(--vbn-color-surface-alt)\"\n mg=\"0px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"Code\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div\n (click)=\"cardClicked(item)\"\n class=\"flex cursor-pointer h-[max-content]\"\n >\n <!-- <verben-svg [width]=\"15\" [height]=\"15\" (click)=\"toggleChildren(item); $event.stopPropagation()\"\n [ngClass]=\"item.children && item.children.length?'visible':'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\" [icon]=\"item.isChildrenExpanded?'minus':'plus'\" /> -->\n <div class=\"flex w-full bg-secondary rounded-xl\">\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"item.selected ? 'bg-primary' : 'bg-secondary-200'\"\n ></div>\n <div class=\"py-3 px-4 flex-1 h-[100%]\">\n <div\n class=\"flex items-start flex-1 gap-1 justify-between h-[100%]\"\n >\n <div\n class=\"flex flex-col flex-1 card-min-height justify-between h-[100%]\"\n >\n <div class=\"flex justify-between\">\n <div>\n <h3\n class=\"my-0 font-bold text-[var(--vbn-color-on-primary)] leading-[19.5px]\"\n >\n {{ item.data.Name ?? \"Null\" }}\n </h3>\n <span class=\"flex mt-2 items-center gap-1\">\n <span class=\"!text-[10px] font-light text-[var(--vbn-color-on-primary)]\"\n >Expiry Date:</span\n >\n <span class=\"!text-[12px] font-semibold\">{{\n item.data.ExpiryDate | date\n }}</span>\n </span>\n </div>\n\n <div>\n <span class=\"!text-[10px] text-[var(--vbn-color-on-primary)]\"\n >Duration</span\n >\n <p class=\"!text-[12px]\">{{ item.data.Duration }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n <verben-right-card-data-view>\n <ng-template #parent>\n <div *ngIf=\"this.currentData\">\n <div\n *ngIf=\"currentData.data.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\n *ngFor=\"\n let group of currentData.data.Entities;\n let index = index\n \"\n >\n <p\n (click)=\"setActive(index)\"\n [ngClass]=\"{\n 'bg-[var(--vbn-color-surface)] text-primary rounded-lg shadow-lg':\n active === index,\n }\"\n class=\"px-6 py-2 cursor-pointer\"\n >\n {{ group.Name }}\n </p>\n </div>\n </div>\n\n <div\n *ngIf=\"currentData.data.Entities[active]; else emptyState\"\n class=\"mt-4\"\n >\n <form-control\n [dataType]=\"dataType\"\n [formProperties]=\"currentData.data.Entities[active].Properties\"\n ></form-control>\n <div\n class=\"flex justify-between w-full bottom-8 left-0 right-0 mt-4\"\n >\n <!-- <verbena-button\n class=\"verben-delete-button\"\n text=\"Delete\"\n ></verbena-button> -->\n <div></div>\n\n <div class=\"flex gap-3\">\n <!-- <verbena-button\n class=\"verben-switch-button\"\n (click)=\"goToTableView()\"\n text=\"Switch To Table\"\n ></verbena-button> -->\n <verbena-button\n class=\"verben-primary-button\"\n (click)=\"saveItem()\"\n text=\"Save\"\n ></verbena-button>\n </div>\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 </div>\n </ng-template>\n </verben-right-card-data-view>\n <!-- <verben-right-card-data-view>\n yeshhhhhh\n </verben-right-card-data-view> -->\n\n <verben-card-data-view-footer>\n <!-- <div class=\"flex gap-2 justify-between\">\n <div\n *ngIf=\"!vdcv.hasCurrentItem()\"\n class=\"message-log-button-container flex justify-between\"\n >\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'var(--vbn-color-text-muted)'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'var(--vbn-color-surface)'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div>\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more view-links\">\n Load more\n </button>\n </div>\n </div> -->\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n</div>\n", styles: [".view-links{font-size:14px!important;color:var(--vbn-color-border-focus);font-weight:600;cursor:pointer}.view-links:hover{text-decoration:underline;text-underline-offset:3px}.context-banner{background-color:#d4a00773}.card-min-height{gap:10px}::ng-deep .childrenPadding{max-height:300px;overflow-y:auto}::ng-deep .toolbar{margin-bottom:15px}::ng-deep .master-only-container{margin:0!important;padding:0!important}::ng-deep .master-detail-container{margin:0!important;padding:0!important}.pop-up-content{border-radius:4px;background-color:var(--vbn-color-surface);border:1px solid rgba(212,161,7,.5)}.pop-up-value{padding:10px 20px}.pop-up-content>div:nth-child(1){border-bottom:4px solid var(--vbn-color-primary)}.enum-val{padding:2px 10px;width:100%;min-width:max-content;text-align:center}.enum-val.Active{background-color:var(--vbn-color-success-bg);color:var(--vbn-color-success)}.enum-val.InActive{background-color:#ffdfdf;color:var(--vbn-color-error)}.toggle-container{width:53px;padding:1px;color:var(--vbn-color-surface);height:22px;position:relative;background-color:var(--vbn-color-text);border-radius:2rem;cursor:pointer}.toggle-circle{width:50%;height:100%;position:absolute;left:0;padding:5px;top:0;background-color:var(--vbn-color-surface);border-radius:50%;transform:scale(1);transition:transform .3s}.translate-100{transform:translate(100%)}.translate-0{transform:translate(0)}.toggle-text-on{display:block;font-size:12px;margin-left:4px}.toggle-text-off{display:block;font-size:12px;margin-right:4px;text-align:right}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.VerbenaButtonComponent, selector: "verbena-button", inputs: ["type", "text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i6.CardDataViewComponent, selector: "verben-card-data-view", inputs: ["pd", "mg", "lHeight", "rHeight", "rWidth", "lWidth", "textColor", "lbgColor", "rbgColor", "border", "display", "borderRadius", "activeCss", "inActiveCss", "displayAsRow", "cardDataList", "dataId", "totalRecords", "footer", "noOfVisibleChildren", "showEditIcon", "useVirtualScroll", "virtualScrollItemSize", "onItemClick", "onCardChildClick"], outputs: ["editClicked", "loadMoreClick"] }, { kind: "component", type: i6.LeftCardDataComponent, selector: "verben-left-card-data", inputs: ["pd", "mg", "height", "weight", "activeCss", "inActiveCss", "cardDataList", "iconCollapse", "iconExpanded", "parent", "useVirtualScroll", "virtualScrollItemSize", "dataId"] }, { kind: "component", type: i6.LeftCardDataViewComponent, selector: "verben-left-card-data-view", inputs: ["cardDataList"] }, { kind: "component", type: i6.RightCardDataViewComponent, selector: "verben-right-card-data-view", inputs: ["parentData", "chilData", "meth"] }, { kind: "component", type: i6.CardDataViewFooterComponent, selector: "verben-card-data-view-footer" }, { kind: "component", type: i7.FormControlComponent, selector: "form-control", inputs: ["dataType", "value", "boolInputType", "formProperties", "disabled"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
676
676
  }
677
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormResponseComponent, decorators: [{
677
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormResponseComponent, decorators: [{
678
678
  type: Component,
679
- args: [{ selector: 'lib-form-response', template: "<div #messageLog class=\"flex flex-col gap-4 message-log-container\">\n <!-- <header\n class=\"rounded-lg shadow-lg flex justify-between items-center px-6 py-2 bg-[#D4A00773]\"\n >\n <h4 class=\"font-semibold\">{{ \"Contact Info\" }}</h4>\n <verben-svg\n (click)=\"goBack()\"\n class=\"cursor-pointer\"\n [width]=\"17\"\n [height]=\"17\"\n [icon]=\"'close'\"\n ></verben-svg>\n </header> -->\n\n <div>\n <verben-card-data-view\n borderRadius=\"12px\"\n #vdcv\n dataId=\"Code\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"0px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"Code\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div\n (click)=\"cardClicked(item)\"\n class=\"flex cursor-pointer h-[max-content]\"\n >\n <!-- <verben-svg [width]=\"15\" [height]=\"15\" (click)=\"toggleChildren(item); $event.stopPropagation()\"\n [ngClass]=\"item.children && item.children.length?'visible':'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\" [icon]=\"item.isChildrenExpanded?'minus':'plus'\" /> -->\n <div class=\"flex w-full bg-secondary rounded-xl\">\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"item.selected ? 'bg-primary' : 'bg-secondary-200'\"\n ></div>\n <div class=\"py-3 px-4 flex-1 h-[100%]\">\n <div\n class=\"flex items-start flex-1 gap-1 justify-between h-[100%]\"\n >\n <div\n class=\"flex flex-col flex-1 card-min-height justify-between h-[100%]\"\n >\n <div class=\"flex justify-between\">\n <div>\n <h3\n class=\"my-0 font-bold text-[#404040] leading-[19.5px]\"\n >\n {{ item.data.Name ?? \"Null\" }}\n </h3>\n <span class=\"flex mt-2 items-center gap-1\">\n <span class=\"!text-[10px] font-light text-[#404040]\"\n >Expiry Date:</span\n >\n <span class=\"!text-[12px] font-semibold\">{{\n item.data.ExpiryDate | date\n }}</span>\n </span>\n </div>\n\n <div>\n <span class=\"!text-[10px] text-[#404040]\"\n >Duration</span\n >\n <p class=\"!text-[12px]\">{{ item.data.Duration }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n <verben-right-card-data-view>\n <ng-template #parent>\n <div *ngIf=\"this.currentData\">\n <div\n *ngIf=\"currentData.data.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\n *ngFor=\"\n let group of currentData.data.Entities;\n let index = index\n \"\n >\n <p\n (click)=\"setActive(index)\"\n [ngClass]=\"{\n 'bg-[#fff] text-primary rounded-lg shadow-lg':\n active === index,\n }\"\n class=\"px-6 py-2 cursor-pointer\"\n >\n {{ group.Name }}\n </p>\n </div>\n </div>\n\n <div\n *ngIf=\"currentData.data.Entities[active]; else emptyState\"\n class=\"mt-4\"\n >\n <form-control\n [dataType]=\"dataType\"\n [formProperties]=\"currentData.data.Entities[active].Properties\"\n ></form-control>\n <div\n class=\"flex justify-between w-full bottom-8 left-0 right-0 mt-4\"\n >\n <!-- <verbena-button\n class=\"verben-delete-button\"\n text=\"Delete\"\n ></verbena-button> -->\n <div></div>\n\n <div class=\"flex gap-3\">\n <!-- <verbena-button\n class=\"verben-switch-button\"\n (click)=\"goToTableView()\"\n text=\"Switch To Table\"\n ></verbena-button> -->\n <verbena-button\n class=\"verben-primary-button\"\n (click)=\"saveItem()\"\n text=\"Save\"\n ></verbena-button>\n </div>\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 </div>\n </ng-template>\n </verben-right-card-data-view>\n <!-- <verben-right-card-data-view>\n yeshhhhhh\n </verben-right-card-data-view> -->\n\n <verben-card-data-view-footer>\n <!-- <div class=\"flex gap-2 justify-between\">\n <div\n *ngIf=\"!vdcv.hasCurrentItem()\"\n class=\"message-log-button-container flex justify-between\"\n >\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div>\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more view-links\">\n Load more\n </button>\n </div>\n </div> -->\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n</div>\n", styles: [".view-links{font-size:14px!important;color:#00f;font-weight:600;cursor:pointer}.view-links:hover{text-decoration:underline;text-underline-offset:3px}.context-banner{background-color:#d4a00773}.card-min-height{gap:10px}::ng-deep .childrenPadding{max-height:300px;overflow-y:auto}::ng-deep .toolbar{margin-bottom:15px}::ng-deep .master-only-container{margin:0!important;padding:0!important}::ng-deep .master-detail-container{margin:0!important;padding:0!important}.pop-up-content{border-radius:4px;background-color:#fff;border:1px solid rgba(212,161,7,.5)}.pop-up-value{padding:10px 20px}.pop-up-content>div:nth-child(1){border-bottom:4px solid #FFE681}.enum-val{padding:2px 10px;width:100%;min-width:max-content;text-align:center}.enum-val.Active{background-color:#d6f3e6;color:#2db76f}.enum-val.InActive{background-color:#ffdfdf;color:#eb5757}.toggle-container{width:53px;padding:1px;color:#fff;height:22px;position:relative;background-color:#1a237e;border-radius:2rem;cursor:pointer}.toggle-circle{width:50%;height:100%;position:absolute;left:0;padding:5px;top:0;background-color:#fff;border-radius:50%;transform:scale(1);transition:transform .3s}.translate-100{transform:translate(100%)}.translate-0{transform:translate(0)}.toggle-text-on{display:block;font-size:12px;margin-left:4px}.toggle-text-off{display:block;font-size:12px;margin-right:4px;text-align:right}\n"] }]
679
+ args: [{ selector: 'lib-form-response', template: "<div #messageLog class=\"flex flex-col gap-4 message-log-container\">\n <!-- <header\n class=\"rounded-lg shadow-lg flex justify-between items-center px-6 py-2 bg-[#D4A00773]\"\n >\n <h4 class=\"font-semibold\">{{ \"Contact Info\" }}</h4>\n <verben-svg\n (click)=\"goBack()\"\n class=\"cursor-pointer\"\n [width]=\"17\"\n [height]=\"17\"\n [icon]=\"'close'\"\n ></verben-svg>\n </header> -->\n\n <div>\n <verben-card-data-view\n borderRadius=\"12px\"\n #vdcv\n dataId=\"Code\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"var(--vbn-color-surface-alt)\"\n mg=\"0px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"Code\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div\n (click)=\"cardClicked(item)\"\n class=\"flex cursor-pointer h-[max-content]\"\n >\n <!-- <verben-svg [width]=\"15\" [height]=\"15\" (click)=\"toggleChildren(item); $event.stopPropagation()\"\n [ngClass]=\"item.children && item.children.length?'visible':'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\" [icon]=\"item.isChildrenExpanded?'minus':'plus'\" /> -->\n <div class=\"flex w-full bg-secondary rounded-xl\">\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"item.selected ? 'bg-primary' : 'bg-secondary-200'\"\n ></div>\n <div class=\"py-3 px-4 flex-1 h-[100%]\">\n <div\n class=\"flex items-start flex-1 gap-1 justify-between h-[100%]\"\n >\n <div\n class=\"flex flex-col flex-1 card-min-height justify-between h-[100%]\"\n >\n <div class=\"flex justify-between\">\n <div>\n <h3\n class=\"my-0 font-bold text-[var(--vbn-color-on-primary)] leading-[19.5px]\"\n >\n {{ item.data.Name ?? \"Null\" }}\n </h3>\n <span class=\"flex mt-2 items-center gap-1\">\n <span class=\"!text-[10px] font-light text-[var(--vbn-color-on-primary)]\"\n >Expiry Date:</span\n >\n <span class=\"!text-[12px] font-semibold\">{{\n item.data.ExpiryDate | date\n }}</span>\n </span>\n </div>\n\n <div>\n <span class=\"!text-[10px] text-[var(--vbn-color-on-primary)]\"\n >Duration</span\n >\n <p class=\"!text-[12px]\">{{ item.data.Duration }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n <verben-right-card-data-view>\n <ng-template #parent>\n <div *ngIf=\"this.currentData\">\n <div\n *ngIf=\"currentData.data.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\n *ngFor=\"\n let group of currentData.data.Entities;\n let index = index\n \"\n >\n <p\n (click)=\"setActive(index)\"\n [ngClass]=\"{\n 'bg-[var(--vbn-color-surface)] text-primary rounded-lg shadow-lg':\n active === index,\n }\"\n class=\"px-6 py-2 cursor-pointer\"\n >\n {{ group.Name }}\n </p>\n </div>\n </div>\n\n <div\n *ngIf=\"currentData.data.Entities[active]; else emptyState\"\n class=\"mt-4\"\n >\n <form-control\n [dataType]=\"dataType\"\n [formProperties]=\"currentData.data.Entities[active].Properties\"\n ></form-control>\n <div\n class=\"flex justify-between w-full bottom-8 left-0 right-0 mt-4\"\n >\n <!-- <verbena-button\n class=\"verben-delete-button\"\n text=\"Delete\"\n ></verbena-button> -->\n <div></div>\n\n <div class=\"flex gap-3\">\n <!-- <verbena-button\n class=\"verben-switch-button\"\n (click)=\"goToTableView()\"\n text=\"Switch To Table\"\n ></verbena-button> -->\n <verbena-button\n class=\"verben-primary-button\"\n (click)=\"saveItem()\"\n text=\"Save\"\n ></verbena-button>\n </div>\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 </div>\n </ng-template>\n </verben-right-card-data-view>\n <!-- <verben-right-card-data-view>\n yeshhhhhh\n </verben-right-card-data-view> -->\n\n <verben-card-data-view-footer>\n <!-- <div class=\"flex gap-2 justify-between\">\n <div\n *ngIf=\"!vdcv.hasCurrentItem()\"\n class=\"message-log-button-container flex justify-between\"\n >\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'var(--vbn-color-text-muted)'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'var(--vbn-color-surface)'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div>\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more view-links\">\n Load more\n </button>\n </div>\n </div> -->\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n</div>\n", styles: [".view-links{font-size:14px!important;color:var(--vbn-color-border-focus);font-weight:600;cursor:pointer}.view-links:hover{text-decoration:underline;text-underline-offset:3px}.context-banner{background-color:#d4a00773}.card-min-height{gap:10px}::ng-deep .childrenPadding{max-height:300px;overflow-y:auto}::ng-deep .toolbar{margin-bottom:15px}::ng-deep .master-only-container{margin:0!important;padding:0!important}::ng-deep .master-detail-container{margin:0!important;padding:0!important}.pop-up-content{border-radius:4px;background-color:var(--vbn-color-surface);border:1px solid rgba(212,161,7,.5)}.pop-up-value{padding:10px 20px}.pop-up-content>div:nth-child(1){border-bottom:4px solid var(--vbn-color-primary)}.enum-val{padding:2px 10px;width:100%;min-width:max-content;text-align:center}.enum-val.Active{background-color:var(--vbn-color-success-bg);color:var(--vbn-color-success)}.enum-val.InActive{background-color:#ffdfdf;color:var(--vbn-color-error)}.toggle-container{width:53px;padding:1px;color:var(--vbn-color-surface);height:22px;position:relative;background-color:var(--vbn-color-text);border-radius:2rem;cursor:pointer}.toggle-circle{width:50%;height:100%;position:absolute;left:0;padding:5px;top:0;background-color:var(--vbn-color-surface);border-radius:50%;transform:scale(1);transition:transform .3s}.translate-100{transform:translate(100%)}.translate-0{transform:translate(0)}.toggle-text-on{display:block;font-size:12px;margin-left:4px}.toggle-text-off{display:block;font-size:12px;margin-right:4px;text-align:right}\n"] }]
680
680
  }], ctorParameters: () => [{ type: i1.UtilService }, { type: i1.HttpWebRequestService }, { type: i0.ChangeDetectorRef }, { type: i2.FormBuilder }, { type: i1.EnvironmentService }, { type: i3.Router }, { type: FormResponseService }, { type: i5.Location }, { type: i3.ActivatedRoute }], propDecorators: { path: [{
681
681
  type: Input
682
682
  }], cardDataView: [{
@@ -699,8 +699,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
699
699
  }] } });
700
700
 
701
701
  class FormResponseLibModule {
702
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormResponseLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
703
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FormResponseLibModule, declarations: [FormResponseComponent], imports: [CommonModule,
702
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormResponseLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
703
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: FormResponseLibModule, declarations: [FormResponseComponent], imports: [CommonModule,
704
704
  FormsModule,
705
705
  ReactiveFormsModule,
706
706
  DataTableModule,
@@ -718,7 +718,7 @@ class FormResponseLibModule {
718
718
  VerbenaInputModule,
719
719
  FormControlerModule,
720
720
  FormTimerModule], exports: [FormResponseComponent] });
721
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormResponseLibModule, imports: [CommonModule,
721
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormResponseLibModule, imports: [CommonModule,
722
722
  FormsModule,
723
723
  ReactiveFormsModule,
724
724
  DataTableModule,
@@ -737,7 +737,7 @@ class FormResponseLibModule {
737
737
  FormControlerModule,
738
738
  FormTimerModule] });
739
739
  }
740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormResponseLibModule, decorators: [{
740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormResponseLibModule, decorators: [{
741
741
  type: NgModule,
742
742
  args: [{
743
743
  declarations: [FormResponseComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"verben-workflow-ui-src-lib-components-form-response.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/form-response/form-response.service.ts","../../../projects/verben-workflow-ui/src/lib/components/form-response/form-response.component.ts","../../../projects/verben-workflow-ui/src/lib/components/form-response/form-response.component.html","../../../projects/verben-workflow-ui/src/lib/components/form-response/form-response.module.ts","../../../projects/verben-workflow-ui/src/lib/components/form-response/verben-workflow-ui-src-lib-components-form-response.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ColumnDefinition } from 'verben-ng-ui';\nimport { Form } from 'verben-workflow-ui/src/lib/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FormResponseService {\n constructor() {}\n\n get formColumns(): ColumnDefinition<Form>[] {\n return [\n {\n id: 'select',\n header: '',\n },\n {\n id: 'createdAt',\n header: 'CREATED',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'name',\n header: 'NAME',\n accessorKey: 'Name',\n },\n {\n id: 'isValid',\n header: 'ISVAliDATED',\n accessorKey: 'IsValid',\n },\n {\n id: 'expiryDate',\n header: 'EXPIRY DATE',\n accessorKey: 'ExpiryDate',\n },\n {\n id: 'duration',\n header: 'Duration',\n accessorKey: 'Duration',\n },\n\n {\n id: 'actions',\n header: 'ACTIONS',\n accessorFn: (row: Form) => {\n return row;\n },\n },\n ];\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n FormBuilder\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport {\n CardData,\n CardDataViewComponent,\n ColumnDefinition,\n ConditionalOptions,\n DataFilterType,\n DataTableComponent,\n DataViewComponent,\n DropdownChangeEvent,\n IDataFilter,\n} from 'verben-ng-ui';\nimport { workflowBaseStyle as baseStyle } from 'verben-workflow-ui/src/lib/components/workflow';\nimport { ErrorResponse, ObjectState, PagedResult, SearchOperator, SearchPropertySign, SearchPropertyValue, SearchPropertyValueType, Status } from 'verben-workflow-ui/src/lib/models';\nimport { EnvironmentService, HttpWebRequestService, UtilService } from 'verben-workflow-ui/src/lib/services';\nimport { FormResponseService } from './form-response.service';\n\nimport { Location } from '@angular/common';\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\nimport { DataType, Form } from 'verben-workflow-ui/src/lib/models';\n\nenum FormFieldProperty {\n Name = 'Name',\n Description = 'Description',\n IsValidated = 'IsValidated',\n WorkFlow = 'WorkFlow',\n ServiceName = 'ServiceName',\n CreatedAt = 'CreatedAt',\n}\n\nenum FilterTypes {\n Before = SearchPropertySign.LT,\n On = SearchPropertySign.EQ,\n After = SearchPropertySign.GT,\n NEQ = SearchPropertySign.NEQ,\n}\n\n@Component({\n selector: 'lib-form-response',\n templateUrl: './form-response.component.html',\n styleUrl: './form-response.component.css',\n})\nexport class FormResponseComponent implements OnInit {\n visibleColumnDef: ColumnDefinition<Form>[] = [];\n styles = baseStyle;\n data: Form[] = [];\n @Input() path: string = '/documentation/form-group/fields';\n cardData: CardData[] = [];\n selectedFilterTableCount: number = 0;\n showFilter: boolean = false;\n currentData: CardData | null = null;\n @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n @ViewChild('vdv') dataView!: DataViewComponent;\n @ViewChild('dt') tableView!: DataTableComponent<Form>;\n @Input() application: string | null = null;\n @Input() pageSize: number = 10;\n @Input() taskCodeKey: string = 'taskCode';\n skip: number = 0;\n hasMore: boolean = true;\n @Output() onViewProcessClicked: EventEmitter<string> = new EventEmitter();\n searchTerm: string = '';\n pageState: PagedResult<Form> | null = null;\n isOpen: boolean = false;\n openDropdownId: string | null = null;\n currentFilters: IDataFilter[] = [];\n currentSorts: IDataFilter[] = [];\n dataType: DataType = DataType.Text;\n searchTerm$ = new Subject<string>();\n statusOptions: Status[] = Object.values(Status);\n active: number = 0;\n taskCode: string = '';\n users: Form[] = [];\n\n visibleColumns: IDataFilter[] = [];\n\n filterArray: IDataFilter[] = [\n {\n name: FormFieldProperty.Name,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.Description,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.IsValidated,\n type: DataFilterType.Bool,\n checked: false,\n },\n {\n name: FormFieldProperty.ServiceName,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.WorkFlow,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.CreatedAt,\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n closePopUp(row: Form) {\n this.openDropdownId = row.Id;\n this.onClose();\n }\n toggleTable(rowId: any) {\n this.tableView.toggleRowEdit(rowId);\n }\n sortOptions: IDataFilter[] = [\n {\n name: FormFieldProperty.Name,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.Description,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.IsValidated,\n type: DataFilterType.Bool,\n checked: false,\n },\n {\n name: FormFieldProperty.ServiceName,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.WorkFlow,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.CreatedAt,\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n\n private currentSearchTerm: string = '';\n\n constructor(\n private utilService: UtilService,\n private server: HttpWebRequestService,\n private cdr: ChangeDetectorRef,\n private fb: FormBuilder,\n private envSvc: EnvironmentService,\n private router: Router,\n private formResponseSvc: FormResponseService,\n private _location: Location,\n private route: ActivatedRoute,\n ) {\n this.visibleColumnDef = formResponseSvc.formColumns;\n this.visibleColumns = formResponseSvc.formColumns.map((col) => ({\n checked: true,\n name: typeof col.header === 'string' ? col.header : col.id,\n type: DataFilterType.Bool,\n }));\n }\n goBack() {\n this._location.back();\n }\n async ngOnInit(): Promise<void> {\n this.active = 0;\n this.route.paramMap.subscribe(async (params: ParamMap) => {\n const code = params.get(this.taskCodeKey);\n this.taskCode = code || '';\n if (this.taskCode && this.taskCode.trim().length > 0) {\n await this.getForms(this.taskCode);\n if (this.cardData.length == 1) {\n // console.log({\n // CardData: JSON.parse(JSON.stringify(this.cardData[0])),\n // });\n this.cardClicked(this.cardData[0]);\n }\n }\n });\n }\n setActive(i: number = 0) {\n this.active = i;\n }\n\n async getAllTaskUsers(): Promise<Form[] | undefined> {\n this.utilService.sendBI(true);\n const res = await this.server.get(\n `GetTaskUsers/0/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return undefined;\n } else {\n this.pageState = res as PagedResult<Form>;\n var result = (res as PagedResult<Form>).Result;\n return result;\n }\n }\n clearLogs(sortValue: string = 'CreatedAt', order: string = 'asc') {\n this.data = [];\n this.skip = 0;\n this.hasMore = true;\n this.getForms(this.taskCode);\n }\n async getForms(taskCode: string): Promise<Form[] | undefined> {\n this.utilService.sendBI(true);\n const res = await this.server.get(\n `GetCurrentFormsForTask/${taskCode}`,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n\n if (res instanceof ErrorResponse) {\n return undefined;\n }\n\n // this.pageState = res as Form[];\n const result = res as Form[];\n if (this.data && Array.isArray(this.data)) {\n this.data = [...this.data, ...result];\n } else {\n this.data = result;\n }\n this.data.forEach((x) => (x.id = x.Id));\n\n this.skip += this.pageSize;\n this.hasMore = this.skip < result.length;\n this.setUpCardData();\n return result;\n }\n\n loadMore() {\n if (this.hasMore) {\n this.getForms(this.taskCode);\n }\n }\n\n reset() {\n this.skip = 0;\n this.pageSize = 10;\n }\n onUserSelected(event: DropdownChangeEvent, item: Form) {\n const user = this.users.find((x) => x.Name == event.value);\n if (user) {\n item.Name = user.Name;\n item.Duration = user.Duration;\n item.ExpiryDate = user.ExpiryDate;\n item.IsValid = user.IsValid;\n item.ServiceName = user.ServiceName;\n }\n }\n onClear(event: Event, item: Form) { }\n\n setUpCardData() {\n const cardData: CardData[] = this.data.map((x) => {\n return {\n selected: false,\n title: x.Name,\n data: x,\n body: [],\n children: [],\n };\n });\n this.cardData = cardData;\n this.cdr.detectChanges();\n }\n\n goToCardView(data: Form) {\n const item = this.cardData.find((x) => x.data == data);\n\n if (item) {\n this.cardClicked(item, true);\n this.onClose();\n }\n }\n areRequiredPropertiesFilled(data: Form): boolean {\n const properties = data.Entities[this.active].Properties || [];\n return properties.every((property: any) => {\n return (\n !property.isRequired ||\n (property.Value !== undefined &&\n property.Value !== null &&\n property.Value !== '')\n );\n });\n }\n\n goToTableView() {\n if (!this.currentData) {\n return;\n }\n this.dataView.toggleView();\n const id = this.currentData.data ? this.currentData.data.Id : '';\n if (id.trim().length > 0 && !this.tableView.isRowEditing(id)) {\n // console.log(id);\n\n this.tableView.toggleRowEdit(id);\n }\n }\n\n viewProcesses(code: string) {\n if (code.trim().length == 0) {\n return;\n }\n this.onViewProcessClicked.emit(code);\n }\n\n cardClicked(item: CardData, toggleView: boolean = false) {\n this.cardData.forEach((card) => (card.selected = false));\n item.selected = true;\n this.setActive(0);\n // console.log({ PassedItem: JSON.parse(JSON.stringify(item)) });\n // console.log({\n // ListChecked: JSON.parse(JSON.stringify(this.cardDataView.cardDataList)),\n // });\n this.currentData = this.cardDataView.onItemClick(item);\n // console.log({ Item: JSON.parse(JSON.stringify(this.currentData)) });\n\n if (toggleView) {\n this.dataView.toggleView();\n }\n }\n\n async saveItem() {\n if (this.currentData) {\n var form: Form = this.currentData.data as Form;\n\n if (this.currentData.data.Name.trim().length == 0) {\n this.utilService.showInfo('Name cannot be empty');\n return;\n }\n form.DataState =\n form.DataState == ObjectState.New\n ? ObjectState.New\n : ObjectState.Changed;\n form.Id = form.DataState == ObjectState.New ? '' : form.Id;\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `FillForm/${this.taskCode}`,\n form,\n this.envSvc.environment.WorkFlowAPI,\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n } else {\n this.utilService.showSuccess('Form entity saved successfully');\n // const result = res as Form[];\n // if (result.length > 0) {\n // var userResult = result[0];\n // const itemIndex = this.data.findIndex(\n // (x) => x == this.currentData?.data\n // );\n // if (itemIndex > -1) {\n // this.data[itemIndex].Name = userResult.Name;\n // this.data[itemIndex].Id = userResult.Id;\n // this.data[itemIndex].id = userResult.id;\n // this.data[itemIndex].DataState = userResult.DataState;\n // this.data[itemIndex].Name = userResult.Name;\n // this.data[itemIndex].Duration = userResult.Duration;\n // this.data[itemIndex].Entities = userResult.Entities;\n // this.data[itemIndex].ExpiryDate = userResult.ExpiryDate;\n // this.data[itemIndex].IsValid = userResult.IsValid;\n // this.data = this.data.map((x) => x);\n // }\n // }\n }\n }\n }\n\n async tableSaveItem(form: Form, callBack: () => any) {\n form.DataState =\n form.DataState == ObjectState.New ? ObjectState.New : ObjectState.Changed;\n form.Id = form.DataState == ObjectState.New ? '' : form.Id;\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SaveFormEntities`,\n [form],\n this.envSvc.environment.WorkFlowAPI,\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n } else {\n this.utilService.showSuccess('Form saved successfully');\n const result = res as Form[];\n if (result.length > 0) {\n var userResult = result[0];\n const itemIndex = this.data.findIndex((x) => x == form);\n if (itemIndex > -1) {\n this.data[itemIndex].Name = userResult.Name;\n this.data[itemIndex].Id = userResult.Id;\n this.data[itemIndex].id = userResult.id;\n this.data[itemIndex].DataState = userResult.DataState;\n this.data[itemIndex].Name = userResult.Name;\n this.data[itemIndex].Duration = userResult.Duration;\n this.data[itemIndex].Entities = userResult.Entities;\n this.data[itemIndex].ExpiryDate = userResult.ExpiryDate;\n this.data[itemIndex].IsValid = userResult.IsValid;\n this.data = this.data.map((x) => x);\n }\n callBack();\n }\n }\n }\n\n updateTable() {\n this.data = this.data.map((x) => x);\n // console.log(this.data);\n }\n\n navigateToFields(card: Form) {\n const queryParams = { FormId: card.Id, Name: card.Name };\n this.router.navigate([`${this.path}`], { queryParams });\n }\n onClose() {\n this.isOpen = false;\n }\n\n openDropdown(item: Form): void {\n if (this.openDropdownId === item.Id) {\n this.openDropdownId = null;\n } else {\n this.openDropdownId = item.Id;\n }\n }\n\n async onSearch(event: { key: string; value: string }) {\n this.searchTerm = event.value;\n this.reset();\n if (!this.searchTerm) {\n this.getForms(this.taskCode);\n return;\n }\n\n this.utilService.sendBI(true);\n\n try {\n const res = await this.server.get(\n `GetFormEntitiesWithParam/${this.searchTerm}/${this.skip}/${this.pageSize}/CreatedAt/asc`\n );\n\n this.utilService.sendBI(false);\n\n if (res instanceof ErrorResponse) {\n console.error('Error during search:', res);\n } else {\n this.pageState = res as PagedResult<Form>;\n var result = (res as PagedResult<Form>).Result;\n this.data = result;\n this.setUpCardData();\n }\n } catch (error) {\n console.error('Search error:', error);\n } finally {\n }\n }\n isDropdownOpen(item: any): boolean {\n return this.openDropdownId === item.id;\n }\n\n onViewChange(isGridView: boolean): void { }\n\n onStateChange(event: { key: string; value: boolean }): void {\n switch (event.key) {\n case 'filter':\n this.showFilter = event.value;\n break;\n default:\n break;\n }\n }\n\n showTableView: boolean = false;\n onSelectionChange(selectedRows: Form[]) { }\n retryMessage() { }\n\n onColumnsUpdated(updatedColumns: IDataFilter[]) {\n const updatedColumnDef: ColumnDefinition<Form>[] = [];\n updatedColumns.forEach((col) => {\n const matchingCol = this.formResponseSvc.formColumns.find(\n (column) => column.header === col.name || column.id === col.name,\n );\n if (matchingCol) {\n updatedColumnDef.push(matchingCol);\n }\n });\n\n this.visibleColumnDef = [...updatedColumnDef];\n }\n\n async updateFiltersAndSorts(isSearch: boolean = false) {\n if (!isSearch) {\n this.dataView.onClearSearch();\n this.currentSearchTerm = '';\n this.cdr.detectChanges();\n const clickEvent = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window,\n });\n document.dispatchEvent(clickEvent);\n }\n var payload: SearchPropertyValue[] = this.currentFilters.map((x) => {\n return {\n PropertyName:\n FormFieldProperty[x.name as keyof typeof FormFieldProperty],\n EntityValue: x.value,\n Operator: SearchOperator.And,\n Sign:\n x.condition && Object.keys(FilterTypes).includes(x.condition)\n ? (FilterTypes[\n x.condition as keyof typeof FilterTypes\n ] as unknown as SearchPropertySign)\n : SearchPropertySign.EQ,\n Type:\n x.name == FormFieldProperty.CreatedAt\n ? SearchPropertyValueType.Date\n : SearchPropertyValueType.String,\n };\n });\n // payload.push({\n // PropertyName: 'APIKey',\n // EntityValue: this.envSvc.environment.APIKey,\n // Operator: SearchOperator.And,\n // Sign: SearchPropertySign.EQ,\n // });\n const sortParam: { Param: string; Order: string } | null =\n this.currentSorts.length > 0\n ? {\n Param:\n FormFieldProperty[\n this.currentSorts[0].name as keyof typeof FormFieldProperty\n ],\n Order: this.currentSorts[0].value,\n }\n : null;\n const searchTermExists = this.currentSearchTerm.trim().length > 0;\n this.utilService.sendBI(true);\n const res = searchTermExists\n ? await this.server.get(\n `GetFormEntitiesWithParam/${this.currentSearchTerm.trim()}/0/${this.pageSize\n }`,\n this.envSvc.environment.WorkFlowAPI\n )\n : await this.server.post(\n sortParam\n ? `SearchFormEntities/0/${this.pageSize}/${sortParam.Param}/${sortParam.Order}`\n : `SearchFormEntities/0/${this.pageSize}`,\n payload,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n this.currentFilters = [];\n this.currentSorts = [];\n return undefined;\n } else {\n this.pageState = res as PagedResult<Form>;\n var result = (res as PagedResult<Form>).Result;\n this.data = result;\n this.setUpCardData();\n }\n }\n\n async postSearch(payload: any) {\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SearchFormEntities/0/${this.pageSize}`,\n payload\n );\n\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return;\n } else {\n this.pageState = res as PagedResult<Form>;\n var result = (res as PagedResult<Form>).Result;\n this.data = result;\n\n this.setUpCardData();\n // this.setUpCardDataExtra(this.data)\n\n return result;\n }\n }\n async loadMoreFiltersAndSorts(): Promise<PagedResult<Form> | undefined> {\n if (!this.pageState) {\n return;\n }\n var payload: SearchPropertyValue[] = this.currentFilters.map((x) => {\n return {\n PropertyName:\n FormFieldProperty[x.name as keyof typeof FormFieldProperty],\n EntityValue: x.value,\n Operator: SearchOperator.And,\n Sign:\n x.condition && Object.keys(FilterTypes).includes(x.condition)\n ? (FilterTypes[\n x.condition as keyof typeof FilterTypes\n ] as unknown as SearchPropertySign)\n : SearchPropertySign.EQ,\n Type:\n x.name == FormFieldProperty.CreatedAt\n ? SearchPropertyValueType.Date\n : SearchPropertyValueType.String,\n };\n });\n const sortParam: { Param: string; Order: string } | null =\n this.currentSorts.length > 0\n ? {\n Param:\n FormFieldProperty[\n this.currentSorts[0].name as keyof typeof FormFieldProperty\n ],\n Order: this.currentSorts[0].value,\n }\n : null;\n const searchTermExists = this.currentSearchTerm.trim().length > 0;\n this.utilService.sendBI(true);\n const res = searchTermExists\n ? await this.server.get(\n `GetFormEntitiesWithParam/${this.currentSearchTerm.trim()}/${this.pageState.Skip\n }/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n )\n : await this.server.post(\n sortParam\n ? `SearchFormEntities/${this.pageState.Skip}/${this.pageSize}/${sortParam.Param}/${sortParam.Order}`\n : `SearchFormEntities/${this.pageState.Skip}/${this.pageSize}`,\n payload,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return undefined;\n } else {\n var result = res as PagedResult<Form>;\n this.data = result.Result;\n return result;\n }\n }\n onFilterApplied(appliedFilter: IDataFilter[]) {\n this.showFilter = false;\n if (Array.isArray(appliedFilter)) {\n this.selectedFilterTableCount = appliedFilter.length;\n // console.log(appliedFilter);\n\n const queryParams = appliedFilter\n .filter((filter) => filter.checked)\n .map((filter) => ({\n PropertyName: filter.name,\n EntityValue: filter.value,\n Type: filter.type,\n Operator: 'And',\n Sign: this.getCondition(filter.condition),\n }));\n\n this.postSearch(queryParams);\n }\n }\n getCondition(value: any) {\n switch (value) {\n case ConditionalOptions.On:\n return SearchPropertySign.EQ;\n case ConditionalOptions.After:\n return SearchPropertySign.EQ;\n case ConditionalOptions.Before:\n return SearchPropertySign.LT;\n case ConditionalOptions.NotEqual:\n return SearchPropertySign.NEQ;\n default:\n return value;\n }\n }\n\n onSortUpdated(updatedSorts: IDataFilter[]) {\n this.currentSorts = updatedSorts;\n this.updateFiltersAndSorts();\n }\n\n handleSearch(event: { key: string; value: string }) {\n this.searchTerm$.next(event.value);\n }\n\n handleExport(exportedData: Partial<any>[]) {\n // console.log('Exported data:', exportedData);\n this.downloadCSV(exportedData);\n }\n private downloadCSV(data: Partial<any>[]) {\n const headers = Object.keys(data[0]);\n const csvContent = [\n headers.join(','),\n ...data.map((row) => headers.map((header) => row[header]).join(',')),\n ].join('\\n');\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', 'export.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n}\n","<div #messageLog class=\"flex flex-col gap-4 message-log-container\">\n <!-- <header\n class=\"rounded-lg shadow-lg flex justify-between items-center px-6 py-2 bg-[#D4A00773]\"\n >\n <h4 class=\"font-semibold\">{{ \"Contact Info\" }}</h4>\n <verben-svg\n (click)=\"goBack()\"\n class=\"cursor-pointer\"\n [width]=\"17\"\n [height]=\"17\"\n [icon]=\"'close'\"\n ></verben-svg>\n </header> -->\n\n <div>\n <verben-card-data-view\n borderRadius=\"12px\"\n #vdcv\n dataId=\"Code\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"0px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"Code\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div\n (click)=\"cardClicked(item)\"\n class=\"flex cursor-pointer h-[max-content]\"\n >\n <!-- <verben-svg [width]=\"15\" [height]=\"15\" (click)=\"toggleChildren(item); $event.stopPropagation()\"\n [ngClass]=\"item.children && item.children.length?'visible':'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\" [icon]=\"item.isChildrenExpanded?'minus':'plus'\" /> -->\n <div class=\"flex w-full bg-secondary rounded-xl\">\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"item.selected ? 'bg-primary' : 'bg-secondary-200'\"\n ></div>\n <div class=\"py-3 px-4 flex-1 h-[100%]\">\n <div\n class=\"flex items-start flex-1 gap-1 justify-between h-[100%]\"\n >\n <div\n class=\"flex flex-col flex-1 card-min-height justify-between h-[100%]\"\n >\n <div class=\"flex justify-between\">\n <div>\n <h3\n class=\"my-0 font-bold text-[#404040] leading-[19.5px]\"\n >\n {{ item.data.Name ?? \"Null\" }}\n </h3>\n <span class=\"flex mt-2 items-center gap-1\">\n <span class=\"!text-[10px] font-light text-[#404040]\"\n >Expiry Date:</span\n >\n <span class=\"!text-[12px] font-semibold\">{{\n item.data.ExpiryDate | date\n }}</span>\n </span>\n </div>\n\n <div>\n <span class=\"!text-[10px] text-[#404040]\"\n >Duration</span\n >\n <p class=\"!text-[12px]\">{{ item.data.Duration }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n <verben-right-card-data-view>\n <ng-template #parent>\n <div *ngIf=\"this.currentData\">\n <div\n *ngIf=\"currentData.data.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\n *ngFor=\"\n let group of currentData.data.Entities;\n let index = index\n \"\n >\n <p\n (click)=\"setActive(index)\"\n [ngClass]=\"{\n 'bg-[#fff] text-primary rounded-lg shadow-lg':\n active === index,\n }\"\n class=\"px-6 py-2 cursor-pointer\"\n >\n {{ group.Name }}\n </p>\n </div>\n </div>\n\n <div\n *ngIf=\"currentData.data.Entities[active]; else emptyState\"\n class=\"mt-4\"\n >\n <form-control\n [dataType]=\"dataType\"\n [formProperties]=\"currentData.data.Entities[active].Properties\"\n ></form-control>\n <div\n class=\"flex justify-between w-full bottom-8 left-0 right-0 mt-4\"\n >\n <!-- <verbena-button\n class=\"verben-delete-button\"\n text=\"Delete\"\n ></verbena-button> -->\n <div></div>\n\n <div class=\"flex gap-3\">\n <!-- <verbena-button\n class=\"verben-switch-button\"\n (click)=\"goToTableView()\"\n text=\"Switch To Table\"\n ></verbena-button> -->\n <verbena-button\n class=\"verben-primary-button\"\n (click)=\"saveItem()\"\n text=\"Save\"\n ></verbena-button>\n </div>\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 </div>\n </ng-template>\n </verben-right-card-data-view>\n <!-- <verben-right-card-data-view>\n yeshhhhhh\n </verben-right-card-data-view> -->\n\n <verben-card-data-view-footer>\n <!-- <div class=\"flex gap-2 justify-between\">\n <div\n *ngIf=\"!vdcv.hasCurrentItem()\"\n class=\"message-log-button-container flex justify-between\"\n >\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div>\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more view-links\">\n Load more\n </button>\n </div>\n </div> -->\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n CardDataViewModule,\n DataExportModule,\n DataTableModule,\n DataViewModule,\n DropDownModule,\n SortTableModule,\n SvgModule,\n TableFilterModule,\n VerbenaButtonModule,\n VerbenaInputModule,\n VerbenaSwitchModule,\n VerbenPopUpModule,\n VisibleColumnModule,\n} from 'verben-ng-ui';\nimport { FormResponseComponent } from './form-response.component';\nimport { FormControlerModule } from 'verben-workflow-ui/src/lib/components/form-control';\nimport { FormTimerModule } from 'verben-workflow-ui/src/lib/components/form-timer';\n\n@NgModule({\n declarations: [FormResponseComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DataTableModule,\n SvgModule,\n VerbenPopUpModule,\n DataViewModule,\n VerbenaButtonModule,\n CardDataViewModule,\n DropDownModule,\n VerbenaSwitchModule,\n TableFilterModule,\n VisibleColumnModule,\n SortTableModule,\n DataExportModule,\n VerbenaInputModule,\n FormControlerModule,\n FormTimerModule,\n ],\n exports: [FormResponseComponent],\n})\nexport class FormResponseLibModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["baseStyle","i4.FormResponseService"],"mappings":"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"}
1
+ {"version":3,"file":"verben-workflow-ui-src-lib-components-form-response.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/form-response/form-response.service.ts","../../../projects/verben-workflow-ui/src/lib/components/form-response/form-response.component.ts","../../../projects/verben-workflow-ui/src/lib/components/form-response/form-response.component.html","../../../projects/verben-workflow-ui/src/lib/components/form-response/form-response.module.ts","../../../projects/verben-workflow-ui/src/lib/components/form-response/verben-workflow-ui-src-lib-components-form-response.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ColumnDefinition } from 'verben-ng-ui';\nimport { Form } from 'verben-workflow-ui/src/lib/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FormResponseService {\n constructor() {}\n\n get formColumns(): ColumnDefinition<Form>[] {\n return [\n {\n id: 'select',\n header: '',\n },\n {\n id: 'createdAt',\n header: 'CREATED',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'name',\n header: 'NAME',\n accessorKey: 'Name',\n },\n {\n id: 'isValid',\n header: 'ISVAliDATED',\n accessorKey: 'IsValid',\n },\n {\n id: 'expiryDate',\n header: 'EXPIRY DATE',\n accessorKey: 'ExpiryDate',\n },\n {\n id: 'duration',\n header: 'Duration',\n accessorKey: 'Duration',\n },\n\n {\n id: 'actions',\n header: 'ACTIONS',\n accessorFn: (row: Form) => {\n return row;\n },\n },\n ];\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n FormBuilder\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport {\n CardData,\n CardDataViewComponent,\n ColumnDefinition,\n ConditionalOptions,\n DataFilterType,\n DataTableComponent,\n DataViewComponent,\n DropdownChangeEvent,\n IDataFilter,\n} from 'verben-ng-ui';\nimport { workflowBaseStyle as baseStyle } from 'verben-workflow-ui/src/lib/components/workflow';\nimport { ErrorResponse, ObjectState, PagedResult, SearchOperator, SearchPropertySign, SearchPropertyValue, SearchPropertyValueType, Status } from 'verben-workflow-ui/src/lib/models';\nimport { EnvironmentService, HttpWebRequestService, UtilService } from 'verben-workflow-ui/src/lib/services';\nimport { FormResponseService } from './form-response.service';\n\nimport { Location } from '@angular/common';\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\nimport { DataType, Form } from 'verben-workflow-ui/src/lib/models';\n\nenum FormFieldProperty {\n Name = 'Name',\n Description = 'Description',\n IsValidated = 'IsValidated',\n WorkFlow = 'WorkFlow',\n ServiceName = 'ServiceName',\n CreatedAt = 'CreatedAt',\n}\n\nenum FilterTypes {\n Before = SearchPropertySign.LT,\n On = SearchPropertySign.EQ,\n After = SearchPropertySign.GT,\n NEQ = SearchPropertySign.NEQ,\n}\n\n@Component({\n selector: 'lib-form-response',\n templateUrl: './form-response.component.html',\n styleUrl: './form-response.component.css',\n})\nexport class FormResponseComponent implements OnInit {\n visibleColumnDef: ColumnDefinition<Form>[] = [];\n styles = baseStyle;\n data: Form[] = [];\n @Input() path: string = '/documentation/form-group/fields';\n cardData: CardData[] = [];\n selectedFilterTableCount: number = 0;\n showFilter: boolean = false;\n currentData: CardData | null = null;\n @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n @ViewChild('vdv') dataView!: DataViewComponent;\n @ViewChild('dt') tableView!: DataTableComponent<Form>;\n @Input() application: string | null = null;\n @Input() pageSize: number = 10;\n @Input() taskCodeKey: string = 'taskCode';\n skip: number = 0;\n hasMore: boolean = true;\n @Output() onViewProcessClicked: EventEmitter<string> = new EventEmitter();\n searchTerm: string = '';\n pageState: PagedResult<Form> | null = null;\n isOpen: boolean = false;\n openDropdownId: string | null = null;\n currentFilters: IDataFilter[] = [];\n currentSorts: IDataFilter[] = [];\n dataType: DataType = DataType.Text;\n searchTerm$ = new Subject<string>();\n statusOptions: Status[] = Object.values(Status);\n active: number = 0;\n taskCode: string = '';\n users: Form[] = [];\n\n visibleColumns: IDataFilter[] = [];\n\n filterArray: IDataFilter[] = [\n {\n name: FormFieldProperty.Name,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.Description,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.IsValidated,\n type: DataFilterType.Bool,\n checked: false,\n },\n {\n name: FormFieldProperty.ServiceName,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.WorkFlow,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.CreatedAt,\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n closePopUp(row: Form) {\n this.openDropdownId = row.Id;\n this.onClose();\n }\n toggleTable(rowId: any) {\n this.tableView.toggleRowEdit(rowId);\n }\n sortOptions: IDataFilter[] = [\n {\n name: FormFieldProperty.Name,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.Description,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.IsValidated,\n type: DataFilterType.Bool,\n checked: false,\n },\n {\n name: FormFieldProperty.ServiceName,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.WorkFlow,\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: FormFieldProperty.CreatedAt,\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n\n private currentSearchTerm: string = '';\n\n constructor(\n private utilService: UtilService,\n private server: HttpWebRequestService,\n private cdr: ChangeDetectorRef,\n private fb: FormBuilder,\n private envSvc: EnvironmentService,\n private router: Router,\n private formResponseSvc: FormResponseService,\n private _location: Location,\n private route: ActivatedRoute,\n ) {\n this.visibleColumnDef = formResponseSvc.formColumns;\n this.visibleColumns = formResponseSvc.formColumns.map((col) => ({\n checked: true,\n name: typeof col.header === 'string' ? col.header : col.id,\n type: DataFilterType.Bool,\n }));\n }\n goBack() {\n this._location.back();\n }\n async ngOnInit(): Promise<void> {\n this.active = 0;\n this.route.paramMap.subscribe(async (params: ParamMap) => {\n const code = params.get(this.taskCodeKey);\n this.taskCode = code || '';\n if (this.taskCode && this.taskCode.trim().length > 0) {\n await this.getForms(this.taskCode);\n if (this.cardData.length == 1) {\n // console.log({\n // CardData: JSON.parse(JSON.stringify(this.cardData[0])),\n // });\n this.cardClicked(this.cardData[0]);\n }\n }\n });\n }\n setActive(i: number = 0) {\n this.active = i;\n }\n\n async getAllTaskUsers(): Promise<Form[] | undefined> {\n this.utilService.sendBI(true);\n const res = await this.server.get(\n `GetTaskUsers/0/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return undefined;\n } else {\n this.pageState = res as PagedResult<Form>;\n var result = (res as PagedResult<Form>).Result;\n return result;\n }\n }\n clearLogs(sortValue: string = 'CreatedAt', order: string = 'asc') {\n this.data = [];\n this.skip = 0;\n this.hasMore = true;\n this.getForms(this.taskCode);\n }\n async getForms(taskCode: string): Promise<Form[] | undefined> {\n this.utilService.sendBI(true);\n const res = await this.server.get(\n `GetCurrentFormsForTask/${taskCode}`,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n\n if (res instanceof ErrorResponse) {\n return undefined;\n }\n\n // this.pageState = res as Form[];\n const result = res as Form[];\n if (this.data && Array.isArray(this.data)) {\n this.data = [...this.data, ...result];\n } else {\n this.data = result;\n }\n this.data.forEach((x) => (x.id = x.Id));\n\n this.skip += this.pageSize;\n this.hasMore = this.skip < result.length;\n this.setUpCardData();\n return result;\n }\n\n loadMore() {\n if (this.hasMore) {\n this.getForms(this.taskCode);\n }\n }\n\n reset() {\n this.skip = 0;\n this.pageSize = 10;\n }\n onUserSelected(event: DropdownChangeEvent, item: Form) {\n const user = this.users.find((x) => x.Name == event.value);\n if (user) {\n item.Name = user.Name;\n item.Duration = user.Duration;\n item.ExpiryDate = user.ExpiryDate;\n item.IsValid = user.IsValid;\n item.ServiceName = user.ServiceName;\n }\n }\n onClear(event: Event, item: Form) { }\n\n setUpCardData() {\n const cardData: CardData[] = this.data.map((x) => {\n return {\n selected: false,\n title: x.Name,\n data: x,\n body: [],\n children: [],\n };\n });\n this.cardData = cardData;\n this.cdr.detectChanges();\n }\n\n goToCardView(data: Form) {\n const item = this.cardData.find((x) => x.data == data);\n\n if (item) {\n this.cardClicked(item, true);\n this.onClose();\n }\n }\n areRequiredPropertiesFilled(data: Form): boolean {\n const properties = data.Entities[this.active].Properties || [];\n return properties.every((property: any) => {\n return (\n !property.isRequired ||\n (property.Value !== undefined &&\n property.Value !== null &&\n property.Value !== '')\n );\n });\n }\n\n goToTableView() {\n if (!this.currentData) {\n return;\n }\n this.dataView.toggleView();\n const id = this.currentData.data ? this.currentData.data.Id : '';\n if (id.trim().length > 0 && !this.tableView.isRowEditing(id)) {\n // console.log(id);\n\n this.tableView.toggleRowEdit(id);\n }\n }\n\n viewProcesses(code: string) {\n if (code.trim().length == 0) {\n return;\n }\n this.onViewProcessClicked.emit(code);\n }\n\n cardClicked(item: CardData, toggleView: boolean = false) {\n this.cardData.forEach((card) => (card.selected = false));\n item.selected = true;\n this.setActive(0);\n // console.log({ PassedItem: JSON.parse(JSON.stringify(item)) });\n // console.log({\n // ListChecked: JSON.parse(JSON.stringify(this.cardDataView.cardDataList)),\n // });\n this.currentData = this.cardDataView.onItemClick(item);\n // console.log({ Item: JSON.parse(JSON.stringify(this.currentData)) });\n\n if (toggleView) {\n this.dataView.toggleView();\n }\n }\n\n async saveItem() {\n if (this.currentData) {\n var form: Form = this.currentData.data as Form;\n\n if (this.currentData.data.Name.trim().length == 0) {\n this.utilService.showInfo('Name cannot be empty');\n return;\n }\n form.DataState =\n form.DataState == ObjectState.New\n ? ObjectState.New\n : ObjectState.Changed;\n form.Id = form.DataState == ObjectState.New ? '' : form.Id;\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `FillForm/${this.taskCode}`,\n form,\n this.envSvc.environment.WorkFlowAPI,\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n } else {\n this.utilService.showSuccess('Form entity saved successfully');\n // const result = res as Form[];\n // if (result.length > 0) {\n // var userResult = result[0];\n // const itemIndex = this.data.findIndex(\n // (x) => x == this.currentData?.data\n // );\n // if (itemIndex > -1) {\n // this.data[itemIndex].Name = userResult.Name;\n // this.data[itemIndex].Id = userResult.Id;\n // this.data[itemIndex].id = userResult.id;\n // this.data[itemIndex].DataState = userResult.DataState;\n // this.data[itemIndex].Name = userResult.Name;\n // this.data[itemIndex].Duration = userResult.Duration;\n // this.data[itemIndex].Entities = userResult.Entities;\n // this.data[itemIndex].ExpiryDate = userResult.ExpiryDate;\n // this.data[itemIndex].IsValid = userResult.IsValid;\n // this.data = this.data.map((x) => x);\n // }\n // }\n }\n }\n }\n\n async tableSaveItem(form: Form, callBack: () => any) {\n form.DataState =\n form.DataState == ObjectState.New ? ObjectState.New : ObjectState.Changed;\n form.Id = form.DataState == ObjectState.New ? '' : form.Id;\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SaveFormEntities`,\n [form],\n this.envSvc.environment.WorkFlowAPI,\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n } else {\n this.utilService.showSuccess('Form saved successfully');\n const result = res as Form[];\n if (result.length > 0) {\n var userResult = result[0];\n const itemIndex = this.data.findIndex((x) => x == form);\n if (itemIndex > -1) {\n this.data[itemIndex].Name = userResult.Name;\n this.data[itemIndex].Id = userResult.Id;\n this.data[itemIndex].id = userResult.id;\n this.data[itemIndex].DataState = userResult.DataState;\n this.data[itemIndex].Name = userResult.Name;\n this.data[itemIndex].Duration = userResult.Duration;\n this.data[itemIndex].Entities = userResult.Entities;\n this.data[itemIndex].ExpiryDate = userResult.ExpiryDate;\n this.data[itemIndex].IsValid = userResult.IsValid;\n this.data = this.data.map((x) => x);\n }\n callBack();\n }\n }\n }\n\n updateTable() {\n this.data = this.data.map((x) => x);\n // console.log(this.data);\n }\n\n navigateToFields(card: Form) {\n const queryParams = { FormId: card.Id, Name: card.Name };\n this.router.navigate([`${this.path}`], { queryParams });\n }\n onClose() {\n this.isOpen = false;\n }\n\n openDropdown(item: Form): void {\n if (this.openDropdownId === item.Id) {\n this.openDropdownId = null;\n } else {\n this.openDropdownId = item.Id;\n }\n }\n\n async onSearch(event: { key: string; value: string }) {\n this.searchTerm = event.value;\n this.reset();\n if (!this.searchTerm) {\n this.getForms(this.taskCode);\n return;\n }\n\n this.utilService.sendBI(true);\n\n try {\n const res = await this.server.get(\n `GetFormEntitiesWithParam/${this.searchTerm}/${this.skip}/${this.pageSize}/CreatedAt/asc`\n );\n\n this.utilService.sendBI(false);\n\n if (res instanceof ErrorResponse) {\n console.error('Error during search:', res);\n } else {\n this.pageState = res as PagedResult<Form>;\n var result = (res as PagedResult<Form>).Result;\n this.data = result;\n this.setUpCardData();\n }\n } catch (error) {\n console.error('Search error:', error);\n } finally {\n }\n }\n isDropdownOpen(item: any): boolean {\n return this.openDropdownId === item.id;\n }\n\n onViewChange(isGridView: boolean): void { }\n\n onStateChange(event: { key: string; value: boolean }): void {\n switch (event.key) {\n case 'filter':\n this.showFilter = event.value;\n break;\n default:\n break;\n }\n }\n\n showTableView: boolean = false;\n onSelectionChange(selectedRows: Form[]) { }\n retryMessage() { }\n\n onColumnsUpdated(updatedColumns: IDataFilter[]) {\n const updatedColumnDef: ColumnDefinition<Form>[] = [];\n updatedColumns.forEach((col) => {\n const matchingCol = this.formResponseSvc.formColumns.find(\n (column) => column.header === col.name || column.id === col.name,\n );\n if (matchingCol) {\n updatedColumnDef.push(matchingCol);\n }\n });\n\n this.visibleColumnDef = [...updatedColumnDef];\n }\n\n async updateFiltersAndSorts(isSearch: boolean = false) {\n if (!isSearch) {\n this.dataView.onClearSearch();\n this.currentSearchTerm = '';\n this.cdr.detectChanges();\n const clickEvent = new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window,\n });\n document.dispatchEvent(clickEvent);\n }\n var payload: SearchPropertyValue[] = this.currentFilters.map((x) => {\n return {\n PropertyName:\n FormFieldProperty[x.name as keyof typeof FormFieldProperty],\n EntityValue: x.value,\n Operator: SearchOperator.And,\n Sign:\n x.condition && Object.keys(FilterTypes).includes(x.condition)\n ? (FilterTypes[\n x.condition as keyof typeof FilterTypes\n ] as unknown as SearchPropertySign)\n : SearchPropertySign.EQ,\n Type:\n x.name == FormFieldProperty.CreatedAt\n ? SearchPropertyValueType.Date\n : SearchPropertyValueType.String,\n };\n });\n // payload.push({\n // PropertyName: 'APIKey',\n // EntityValue: this.envSvc.environment.APIKey,\n // Operator: SearchOperator.And,\n // Sign: SearchPropertySign.EQ,\n // });\n const sortParam: { Param: string; Order: string } | null =\n this.currentSorts.length > 0\n ? {\n Param:\n FormFieldProperty[\n this.currentSorts[0].name as keyof typeof FormFieldProperty\n ],\n Order: this.currentSorts[0].value,\n }\n : null;\n const searchTermExists = this.currentSearchTerm.trim().length > 0;\n this.utilService.sendBI(true);\n const res = searchTermExists\n ? await this.server.get(\n `GetFormEntitiesWithParam/${this.currentSearchTerm.trim()}/0/${this.pageSize\n }`,\n this.envSvc.environment.WorkFlowAPI\n )\n : await this.server.post(\n sortParam\n ? `SearchFormEntities/0/${this.pageSize}/${sortParam.Param}/${sortParam.Order}`\n : `SearchFormEntities/0/${this.pageSize}`,\n payload,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n this.currentFilters = [];\n this.currentSorts = [];\n return undefined;\n } else {\n this.pageState = res as PagedResult<Form>;\n var result = (res as PagedResult<Form>).Result;\n this.data = result;\n this.setUpCardData();\n }\n }\n\n async postSearch(payload: any) {\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `SearchFormEntities/0/${this.pageSize}`,\n payload\n );\n\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return;\n } else {\n this.pageState = res as PagedResult<Form>;\n var result = (res as PagedResult<Form>).Result;\n this.data = result;\n\n this.setUpCardData();\n // this.setUpCardDataExtra(this.data)\n\n return result;\n }\n }\n async loadMoreFiltersAndSorts(): Promise<PagedResult<Form> | undefined> {\n if (!this.pageState) {\n return;\n }\n var payload: SearchPropertyValue[] = this.currentFilters.map((x) => {\n return {\n PropertyName:\n FormFieldProperty[x.name as keyof typeof FormFieldProperty],\n EntityValue: x.value,\n Operator: SearchOperator.And,\n Sign:\n x.condition && Object.keys(FilterTypes).includes(x.condition)\n ? (FilterTypes[\n x.condition as keyof typeof FilterTypes\n ] as unknown as SearchPropertySign)\n : SearchPropertySign.EQ,\n Type:\n x.name == FormFieldProperty.CreatedAt\n ? SearchPropertyValueType.Date\n : SearchPropertyValueType.String,\n };\n });\n const sortParam: { Param: string; Order: string } | null =\n this.currentSorts.length > 0\n ? {\n Param:\n FormFieldProperty[\n this.currentSorts[0].name as keyof typeof FormFieldProperty\n ],\n Order: this.currentSorts[0].value,\n }\n : null;\n const searchTermExists = this.currentSearchTerm.trim().length > 0;\n this.utilService.sendBI(true);\n const res = searchTermExists\n ? await this.server.get(\n `GetFormEntitiesWithParam/${this.currentSearchTerm.trim()}/${this.pageState.Skip\n }/${this.pageSize}`,\n this.envSvc.environment.WorkFlowAPI\n )\n : await this.server.post(\n sortParam\n ? `SearchFormEntities/${this.pageState.Skip}/${this.pageSize}/${sortParam.Param}/${sortParam.Order}`\n : `SearchFormEntities/${this.pageState.Skip}/${this.pageSize}`,\n payload,\n this.envSvc.environment.WorkFlowAPI\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return undefined;\n } else {\n var result = res as PagedResult<Form>;\n this.data = result.Result;\n return result;\n }\n }\n onFilterApplied(appliedFilter: IDataFilter[]) {\n this.showFilter = false;\n if (Array.isArray(appliedFilter)) {\n this.selectedFilterTableCount = appliedFilter.length;\n // console.log(appliedFilter);\n\n const queryParams = appliedFilter\n .filter((filter) => filter.checked)\n .map((filter) => ({\n PropertyName: filter.name,\n EntityValue: filter.value,\n Type: filter.type,\n Operator: 'And',\n Sign: this.getCondition(filter.condition),\n }));\n\n this.postSearch(queryParams);\n }\n }\n getCondition(value: any) {\n switch (value) {\n case ConditionalOptions.On:\n return SearchPropertySign.EQ;\n case ConditionalOptions.After:\n return SearchPropertySign.EQ;\n case ConditionalOptions.Before:\n return SearchPropertySign.LT;\n case ConditionalOptions.NotEqual:\n return SearchPropertySign.NEQ;\n default:\n return value;\n }\n }\n\n onSortUpdated(updatedSorts: IDataFilter[]) {\n this.currentSorts = updatedSorts;\n this.updateFiltersAndSorts();\n }\n\n handleSearch(event: { key: string; value: string }) {\n this.searchTerm$.next(event.value);\n }\n\n handleExport(exportedData: Partial<any>[]) {\n // console.log('Exported data:', exportedData);\n this.downloadCSV(exportedData);\n }\n private downloadCSV(data: Partial<any>[]) {\n const headers = Object.keys(data[0]);\n const csvContent = [\n headers.join(','),\n ...data.map((row) => headers.map((header) => row[header]).join(',')),\n ].join('\\n');\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', 'export.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n}\n","<div #messageLog class=\"flex flex-col gap-4 message-log-container\">\n <!-- <header\n class=\"rounded-lg shadow-lg flex justify-between items-center px-6 py-2 bg-[#D4A00773]\"\n >\n <h4 class=\"font-semibold\">{{ \"Contact Info\" }}</h4>\n <verben-svg\n (click)=\"goBack()\"\n class=\"cursor-pointer\"\n [width]=\"17\"\n [height]=\"17\"\n [icon]=\"'close'\"\n ></verben-svg>\n </header> -->\n\n <div>\n <verben-card-data-view\n borderRadius=\"12px\"\n #vdcv\n dataId=\"Code\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"var(--vbn-color-surface-alt)\"\n mg=\"0px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"Code\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div\n (click)=\"cardClicked(item)\"\n class=\"flex cursor-pointer h-[max-content]\"\n >\n <!-- <verben-svg [width]=\"15\" [height]=\"15\" (click)=\"toggleChildren(item); $event.stopPropagation()\"\n [ngClass]=\"item.children && item.children.length?'visible':'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\" [icon]=\"item.isChildrenExpanded?'minus':'plus'\" /> -->\n <div class=\"flex w-full bg-secondary rounded-xl\">\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"item.selected ? 'bg-primary' : 'bg-secondary-200'\"\n ></div>\n <div class=\"py-3 px-4 flex-1 h-[100%]\">\n <div\n class=\"flex items-start flex-1 gap-1 justify-between h-[100%]\"\n >\n <div\n class=\"flex flex-col flex-1 card-min-height justify-between h-[100%]\"\n >\n <div class=\"flex justify-between\">\n <div>\n <h3\n class=\"my-0 font-bold text-[var(--vbn-color-on-primary)] leading-[19.5px]\"\n >\n {{ item.data.Name ?? \"Null\" }}\n </h3>\n <span class=\"flex mt-2 items-center gap-1\">\n <span class=\"!text-[10px] font-light text-[var(--vbn-color-on-primary)]\"\n >Expiry Date:</span\n >\n <span class=\"!text-[12px] font-semibold\">{{\n item.data.ExpiryDate | date\n }}</span>\n </span>\n </div>\n\n <div>\n <span class=\"!text-[10px] text-[var(--vbn-color-on-primary)]\"\n >Duration</span\n >\n <p class=\"!text-[12px]\">{{ item.data.Duration }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n <verben-right-card-data-view>\n <ng-template #parent>\n <div *ngIf=\"this.currentData\">\n <div\n *ngIf=\"currentData.data.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\n *ngFor=\"\n let group of currentData.data.Entities;\n let index = index\n \"\n >\n <p\n (click)=\"setActive(index)\"\n [ngClass]=\"{\n 'bg-[var(--vbn-color-surface)] text-primary rounded-lg shadow-lg':\n active === index,\n }\"\n class=\"px-6 py-2 cursor-pointer\"\n >\n {{ group.Name }}\n </p>\n </div>\n </div>\n\n <div\n *ngIf=\"currentData.data.Entities[active]; else emptyState\"\n class=\"mt-4\"\n >\n <form-control\n [dataType]=\"dataType\"\n [formProperties]=\"currentData.data.Entities[active].Properties\"\n ></form-control>\n <div\n class=\"flex justify-between w-full bottom-8 left-0 right-0 mt-4\"\n >\n <!-- <verbena-button\n class=\"verben-delete-button\"\n text=\"Delete\"\n ></verbena-button> -->\n <div></div>\n\n <div class=\"flex gap-3\">\n <!-- <verbena-button\n class=\"verben-switch-button\"\n (click)=\"goToTableView()\"\n text=\"Switch To Table\"\n ></verbena-button> -->\n <verbena-button\n class=\"verben-primary-button\"\n (click)=\"saveItem()\"\n text=\"Save\"\n ></verbena-button>\n </div>\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 </div>\n </ng-template>\n </verben-right-card-data-view>\n <!-- <verben-right-card-data-view>\n yeshhhhhh\n </verben-right-card-data-view> -->\n\n <verben-card-data-view-footer>\n <!-- <div class=\"flex gap-2 justify-between\">\n <div\n *ngIf=\"!vdcv.hasCurrentItem()\"\n class=\"message-log-button-container flex justify-between\"\n >\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'var(--vbn-color-text-muted)'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'var(--vbn-color-surface)'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div>\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more view-links\">\n Load more\n </button>\n </div>\n </div> -->\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n CardDataViewModule,\n DataExportModule,\n DataTableModule,\n DataViewModule,\n DropDownModule,\n SortTableModule,\n SvgModule,\n TableFilterModule,\n VerbenaButtonModule,\n VerbenaInputModule,\n VerbenaSwitchModule,\n VerbenPopUpModule,\n VisibleColumnModule,\n} from 'verben-ng-ui';\nimport { FormResponseComponent } from './form-response.component';\nimport { FormControlerModule } from 'verben-workflow-ui/src/lib/components/form-control';\nimport { FormTimerModule } from 'verben-workflow-ui/src/lib/components/form-timer';\n\n@NgModule({\n declarations: [FormResponseComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DataTableModule,\n SvgModule,\n VerbenPopUpModule,\n DataViewModule,\n VerbenaButtonModule,\n CardDataViewModule,\n DropDownModule,\n VerbenaSwitchModule,\n TableFilterModule,\n VisibleColumnModule,\n SortTableModule,\n DataExportModule,\n VerbenaInputModule,\n FormControlerModule,\n FormTimerModule,\n ],\n exports: [FormResponseComponent],\n})\nexport class FormResponseLibModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["baseStyle","i4.FormResponseService"],"mappings":"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"}
@@ -41,26 +41,26 @@ class FormTimerComponent {
41
41
  this.subscription.unsubscribe();
42
42
  }
43
43
  }
44
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormTimerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormTimerComponent, selector: "app-form-timer", inputs: { expiryDate: "expiryDate" }, ngImport: i0, template: "<div class=\"bg-[#fff] flex justify-center gap-4 p-6\" *ngIf=\"remainingTime\">\n <h2 class=\"mt-3 text-lg\">Form closes in</h2>\n <div class=\"flex items-center gap-4\">\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[#FFE681] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.days }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Days</span>\n </div>\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[#FFE681] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.hours }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Hours</span>\n \n </div>\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[#FFE681] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.minutes }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Minutes</span>\n </div>\n <div>\n <p\n class=\"bg-[#FFE681] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.seconds }}\n </p>\n <span>Seconds</span>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
44
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormTimerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormTimerComponent, selector: "app-form-timer", inputs: { expiryDate: "expiryDate" }, ngImport: i0, template: "<div class=\"bg-[var(--vbn-color-surface)] flex justify-center gap-4 p-6\" *ngIf=\"remainingTime\">\n <h2 class=\"mt-3 text-lg\">Form closes in</h2>\n <div class=\"flex items-center gap-4\">\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[var(--vbn-color-primary)] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.days }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Days</span>\n </div>\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[var(--vbn-color-primary)] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.hours }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Hours</span>\n \n </div>\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[var(--vbn-color-primary)] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.minutes }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Minutes</span>\n </div>\n <div>\n <p\n class=\"bg-[var(--vbn-color-primary)] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.seconds }}\n </p>\n <span>Seconds</span>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormTimerComponent, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormTimerComponent, decorators: [{
48
48
  type: Component,
49
- args: [{ selector: 'app-form-timer', template: "<div class=\"bg-[#fff] flex justify-center gap-4 p-6\" *ngIf=\"remainingTime\">\n <h2 class=\"mt-3 text-lg\">Form closes in</h2>\n <div class=\"flex items-center gap-4\">\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[#FFE681] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.days }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Days</span>\n </div>\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[#FFE681] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.hours }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Hours</span>\n \n </div>\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[#FFE681] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.minutes }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Minutes</span>\n </div>\n <div>\n <p\n class=\"bg-[#FFE681] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.seconds }}\n </p>\n <span>Seconds</span>\n </div>\n </div>\n</div>\n" }]
49
+ args: [{ selector: 'app-form-timer', template: "<div class=\"bg-[var(--vbn-color-surface)] flex justify-center gap-4 p-6\" *ngIf=\"remainingTime\">\n <h2 class=\"mt-3 text-lg\">Form closes in</h2>\n <div class=\"flex items-center gap-4\">\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[var(--vbn-color-primary)] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.days }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Days</span>\n </div>\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[var(--vbn-color-primary)] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.hours }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Hours</span>\n \n </div>\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[var(--vbn-color-primary)] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.minutes }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Minutes</span>\n </div>\n <div>\n <p\n class=\"bg-[var(--vbn-color-primary)] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.seconds }}\n </p>\n <span>Seconds</span>\n </div>\n </div>\n</div>\n" }]
50
50
  }], propDecorators: { expiryDate: [{
51
51
  type: Input
52
52
  }] } });
53
53
 
54
54
  class FormTimerModule {
55
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormTimerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
56
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FormTimerModule, declarations: [FormTimerComponent], imports: [CommonModule,
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormTimerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
56
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: FormTimerModule, declarations: [FormTimerComponent], imports: [CommonModule,
57
57
  FormsModule,
58
58
  ReactiveFormsModule], exports: [FormTimerComponent] });
59
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormTimerModule, imports: [CommonModule,
59
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormTimerModule, imports: [CommonModule,
60
60
  FormsModule,
61
61
  ReactiveFormsModule] });
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormTimerModule, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormTimerModule, decorators: [{
64
64
  type: NgModule,
65
65
  args: [{
66
66
  declarations: [FormTimerComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"verben-workflow-ui-src-lib-components-form-timer.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/form-timer/form-timer.component.ts","../../../projects/verben-workflow-ui/src/lib/components/form-timer/form-timer.component.html","../../../projects/verben-workflow-ui/src/lib/components/form-timer/form-timer.module.ts","../../../projects/verben-workflow-ui/src/lib/components/form-timer/verben-workflow-ui-src-lib-components-form-timer.ts"],"sourcesContent":["import { Component, Input, OnInit, OnDestroy } from '@angular/core';\nimport { interval, Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-form-timer',\n templateUrl: './form-timer.component.html',\n styleUrls: ['./form-timer.component.css']\n})\nexport class FormTimerComponent implements OnInit, OnDestroy {\n @Input() expiryDate: string='2025-02-12'\n remainingTime: any;\n private subscription!: Subscription;\n\n ngOnInit(): void {\n if (this.expiryDate) {\n this.startCountdown(new Date(this.expiryDate).getTime());\n } else {\n console.error('expiryDate is required');\n }\n }\n\n private startCountdown(targetTime: number): void {\n this.subscription = interval(1000).subscribe(() => {\n const now = new Date().getTime();\n const timeLeft = targetTime - now;\n\n if (timeLeft <= 0) {\n this.remainingTime = { days: 0, hours: 0, minutes: 0, seconds: 0 };\n this.subscription.unsubscribe();\n return;\n }\n\n this.remainingTime = this.calculateTimeUnits(timeLeft);\n });\n }\n\n private calculateTimeUnits(timeLeft: number): any {\n const days = Math.floor(timeLeft / (1000 * 60 * 60 * 24));\n const hours = Math.floor((timeLeft % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n const minutes = Math.floor((timeLeft % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((timeLeft % (1000 * 60)) / 1000);\n\n return { days, hours, minutes, seconds };\n }\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n","<div class=\"bg-[#fff] flex justify-center gap-4 p-6\" *ngIf=\"remainingTime\">\n <h2 class=\"mt-3 text-lg\">Form closes in</h2>\n <div class=\"flex items-center gap-4\">\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[#FFE681] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.days }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Days</span>\n </div>\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[#FFE681] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.hours }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Hours</span>\n \n </div>\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[#FFE681] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.minutes }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Minutes</span>\n </div>\n <div>\n <p\n class=\"bg-[#FFE681] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.seconds }}\n </p>\n <span>Seconds</span>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormTimerComponent } from './form-timer.component';\n\n@NgModule({\n declarations: [FormTimerComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n \n \n \n ],\n exports: [FormTimerComponent],\n})\nexport class FormTimerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verben-workflow-ui-src-lib-components-form-timer.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/form-timer/form-timer.component.ts","../../../projects/verben-workflow-ui/src/lib/components/form-timer/form-timer.component.html","../../../projects/verben-workflow-ui/src/lib/components/form-timer/form-timer.module.ts","../../../projects/verben-workflow-ui/src/lib/components/form-timer/verben-workflow-ui-src-lib-components-form-timer.ts"],"sourcesContent":["import { Component, Input, OnInit, OnDestroy } from '@angular/core';\nimport { interval, Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-form-timer',\n templateUrl: './form-timer.component.html',\n styleUrls: ['./form-timer.component.css']\n})\nexport class FormTimerComponent implements OnInit, OnDestroy {\n @Input() expiryDate: string='2025-02-12'\n remainingTime: any;\n private subscription!: Subscription;\n\n ngOnInit(): void {\n if (this.expiryDate) {\n this.startCountdown(new Date(this.expiryDate).getTime());\n } else {\n console.error('expiryDate is required');\n }\n }\n\n private startCountdown(targetTime: number): void {\n this.subscription = interval(1000).subscribe(() => {\n const now = new Date().getTime();\n const timeLeft = targetTime - now;\n\n if (timeLeft <= 0) {\n this.remainingTime = { days: 0, hours: 0, minutes: 0, seconds: 0 };\n this.subscription.unsubscribe();\n return;\n }\n\n this.remainingTime = this.calculateTimeUnits(timeLeft);\n });\n }\n\n private calculateTimeUnits(timeLeft: number): any {\n const days = Math.floor(timeLeft / (1000 * 60 * 60 * 24));\n const hours = Math.floor((timeLeft % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n const minutes = Math.floor((timeLeft % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((timeLeft % (1000 * 60)) / 1000);\n\n return { days, hours, minutes, seconds };\n }\n\n ngOnDestroy(): void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n","<div class=\"bg-[var(--vbn-color-surface)] flex justify-center gap-4 p-6\" *ngIf=\"remainingTime\">\n <h2 class=\"mt-3 text-lg\">Form closes in</h2>\n <div class=\"flex items-center gap-4\">\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[var(--vbn-color-primary)] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.days }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Days</span>\n </div>\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[var(--vbn-color-primary)] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.hours }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Hours</span>\n \n </div>\n <div>\n <div class=\"flex gap-1 items-center\">\n <p\n class=\"bg-[var(--vbn-color-primary)] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.minutes }}\n </p>\n <span class=\"ml-2 font-bold text-2xl\">:</span>\n </div>\n <span>Minutes</span>\n </div>\n <div>\n <p\n class=\"bg-[var(--vbn-color-primary)] w-[50px] font-bold text-[20px] flex items-center justify-center h-[40px] rounded-md\"\n >\n {{ remainingTime.seconds }}\n </p>\n <span>Seconds</span>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormTimerComponent } from './form-timer.component';\n\n@NgModule({\n declarations: [FormTimerComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n \n \n \n ],\n exports: [FormTimerComponent],\n})\nexport class FormTimerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}