vcomply-workflow-engine 2.0.4 → 2.0.167

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 (2394) hide show
  1. package/.editorconfig +16 -0
  2. package/.vscode/settings.json +23 -0
  3. package/README.md +11 -8
  4. package/angular.json +145 -0
  5. package/package.json +59 -25
  6. package/projects/vx-workflow-engine/README.md +24 -0
  7. package/projects/vx-workflow-engine/karma.conf.js +44 -0
  8. package/projects/vx-workflow-engine/ng-package.json +17 -0
  9. package/projects/vx-workflow-engine/package.json +18 -0
  10. package/projects/vx-workflow-engine/src/images/bottom-part.svg +3 -0
  11. package/projects/vx-workflow-engine/src/images/enter-icon.svg +6 -0
  12. package/projects/vx-workflow-engine/src/images/name.svg +32 -0
  13. package/projects/vx-workflow-engine/src/images/responsibility-center.svg +35 -0
  14. package/projects/vx-workflow-engine/src/images/risk-category.svg +57 -0
  15. package/projects/vx-workflow-engine/src/images/top-part.svg +3 -0
  16. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility/add-multiple-responsibility.component.html +43 -0
  17. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility/add-multiple-responsibility.component.less +133 -0
  18. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility/add-multiple-responsibility.component.spec.ts +141 -0
  19. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility/add-multiple-responsibility.component.ts +989 -0
  20. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility/data.ts +321 -0
  21. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.html +93 -0
  22. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.less +167 -0
  23. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.spec.ts +25 -0
  24. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.ts +226 -0
  25. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.html +48 -0
  26. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.less +133 -0
  27. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.spec.ts +220 -0
  28. package/projects/vx-workflow-engine/src/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.ts +1729 -0
  29. package/projects/vx-workflow-engine/src/lib/add-multiple-risk/add-multiple-risk.component.html +74 -0
  30. package/projects/vx-workflow-engine/src/lib/add-multiple-risk/add-multiple-risk.component.less +151 -0
  31. package/projects/vx-workflow-engine/src/lib/add-multiple-risk/add-multiple-risk.component.spec.ts +169 -0
  32. package/projects/vx-workflow-engine/src/lib/add-multiple-risk/add-multiple-risk.component.ts +871 -0
  33. package/projects/vx-workflow-engine/src/lib/configurations.ts +8 -0
  34. package/projects/vx-workflow-engine/src/lib/confirmation-alert/confirmation-alert.component.html +23 -0
  35. package/projects/vx-workflow-engine/src/lib/confirmation-alert/confirmation-alert.component.less +118 -0
  36. package/projects/vx-workflow-engine/src/lib/confirmation-alert/confirmation-alert.component.ts +21 -0
  37. package/projects/vx-workflow-engine/src/lib/create-documents/create-documents.component.html +281 -0
  38. package/projects/vx-workflow-engine/src/lib/create-documents/create-documents.component.less +333 -0
  39. package/projects/vx-workflow-engine/src/lib/create-documents/create-documents.component.ts +146 -0
  40. package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox/cs-checkbox.component.html +14 -0
  41. package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox/cs-checkbox.component.less +149 -0
  42. package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox/cs-checkbox.component.ts +26 -0
  43. package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.html +12 -0
  44. package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.less +109 -0
  45. package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.spec.ts +25 -0
  46. package/projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ts +30 -0
  47. package/projects/vx-workflow-engine/src/lib/formgroup/cs-radio/cs-radio.component.html +14 -0
  48. package/projects/vx-workflow-engine/src/lib/formgroup/cs-radio/cs-radio.component.less +148 -0
  49. package/projects/vx-workflow-engine/src/lib/formgroup/cs-radio/cs-radio.component.ts +24 -0
  50. package/projects/vx-workflow-engine/src/lib/formgroup/cs-radio-group/cs-radio-group.component.html +4 -0
  51. package/projects/vx-workflow-engine/src/lib/formgroup/cs-radio-group/cs-radio-group.component.less +0 -0
  52. package/projects/vx-workflow-engine/src/lib/formgroup/cs-radio-group/cs-radio-group.component.ts +12 -0
  53. package/projects/vx-workflow-engine/src/lib/formgroup/cs-select/cs-select.component.html +46 -0
  54. package/projects/vx-workflow-engine/src/lib/formgroup/cs-select/cs-select.component.less +177 -0
  55. package/projects/vx-workflow-engine/src/lib/formgroup/cs-select/cs-select.component.ts +80 -0
  56. package/projects/vx-workflow-engine/src/lib/formgroup/cs-switch/cs-switch.component.html +19 -0
  57. package/projects/vx-workflow-engine/src/lib/formgroup/cs-switch/cs-switch.component.less +100 -0
  58. package/projects/vx-workflow-engine/src/lib/formgroup/cs-switch/cs-switch.component.ts +23 -0
  59. package/projects/vx-workflow-engine/src/lib/formgroup/formgroup.module.ts +35 -0
  60. package/projects/vx-workflow-engine/src/lib/formgroup/pipes/pascal.pipe.ts +13 -0
  61. package/projects/vx-workflow-engine/src/lib/formgroup/select/cs-option/cs-option.component.html +8 -0
  62. package/projects/vx-workflow-engine/src/lib/formgroup/select/cs-option/cs-option.component.less +47 -0
  63. package/projects/vx-workflow-engine/src/lib/formgroup/select/cs-option/cs-option.component.ts +33 -0
  64. package/projects/vx-workflow-engine/src/lib/formgroup/select/cs-select/cs-select.component.html +32 -0
  65. package/projects/vx-workflow-engine/src/lib/formgroup/select/cs-select/cs-select.component.less +113 -0
  66. package/projects/vx-workflow-engine/src/lib/formgroup/select/cs-select/cs-select.component.ts +107 -0
  67. package/projects/vx-workflow-engine/src/lib/formgroup/select/select.module.ts +13 -0
  68. package/projects/vx-workflow-engine/src/lib/formgroup/select/select.service.ts +45 -0
  69. package/projects/vx-workflow-engine/src/lib/forms.less +3361 -0
  70. package/projects/vx-workflow-engine/src/lib/interceptor/business-cycle.interceptor.ts +24 -0
  71. package/projects/vx-workflow-engine/src/lib/interfaces/categoryList.ts +23 -0
  72. package/projects/vx-workflow-engine/src/lib/interfaces/checkbox-list-config.ts +7 -0
  73. package/projects/vx-workflow-engine/src/lib/interfaces/confirmation-alert.ts +9 -0
  74. package/projects/vx-workflow-engine/src/lib/interfaces/issue-data.ts +29 -0
  75. package/projects/vx-workflow-engine/src/lib/interfaces/radio-list-config.ts +5 -0
  76. package/projects/vx-workflow-engine/src/lib/interfaces/submenu-option.ts +21 -0
  77. package/projects/vx-workflow-engine/src/lib/log-an-issue/data.ts +18 -0
  78. package/projects/vx-workflow-engine/src/lib/log-an-issue/log-an-issue.component.html +701 -0
  79. package/projects/vx-workflow-engine/src/lib/log-an-issue/log-an-issue.component.less +9 -0
  80. package/projects/vx-workflow-engine/src/lib/log-an-issue/log-an-issue.component.spec.ts +101 -0
  81. package/projects/vx-workflow-engine/src/lib/log-an-issue/log-an-issue.component.ts +1205 -0
  82. package/projects/vx-workflow-engine/src/lib/more-option/more-option.component.html +108 -0
  83. package/projects/vx-workflow-engine/src/lib/more-option/more-option.component.less +377 -0
  84. package/projects/vx-workflow-engine/src/lib/more-option/more-option.component.spec.ts +132 -0
  85. package/projects/vx-workflow-engine/src/lib/more-option/more-option.component.ts +872 -0
  86. package/projects/vx-workflow-engine/src/lib/pipes/data-type.pipe.ts +12 -0
  87. package/projects/vx-workflow-engine/src/lib/pipes/dom-sanitizer.pipe.spec.ts +8 -0
  88. package/projects/vx-workflow-engine/src/lib/pipes/dom-sanitizer.pipe.ts +17 -0
  89. package/projects/vx-workflow-engine/src/lib/pipes/filter.pipe.ts +18 -0
  90. package/projects/vx-workflow-engine/src/lib/pipes/list-mapper.pipe.ts +18 -0
  91. package/projects/vx-workflow-engine/src/lib/pipes/pipes.module.ts +38 -0
  92. package/projects/vx-workflow-engine/src/lib/pipes/search.pipe.ts +63 -0
  93. package/projects/vx-workflow-engine/src/lib/pipes/space-breaker.pipe.spec.ts +8 -0
  94. package/projects/vx-workflow-engine/src/lib/pipes/space-breaker.pipe.ts +18 -0
  95. package/projects/vx-workflow-engine/src/lib/pipes/uncategorized-filter.pipe.spec.ts +8 -0
  96. package/projects/vx-workflow-engine/src/lib/pipes/uncategorized-filter.pipe.ts +16 -0
  97. package/projects/vx-workflow-engine/src/lib/pipes/user-filter.pipe.ts +28 -0
  98. package/projects/vx-workflow-engine/src/lib/services/auth.service.spec.ts +16 -0
  99. package/projects/vx-workflow-engine/src/lib/services/auth.service.ts +174 -0
  100. package/projects/vx-workflow-engine/src/lib/services/bulk-upload.service.spec.ts +16 -0
  101. package/projects/vx-workflow-engine/src/lib/services/bulk-upload.service.ts +43 -0
  102. package/projects/vx-workflow-engine/src/lib/services/event-bridge.service.spec.ts +16 -0
  103. package/projects/vx-workflow-engine/src/lib/services/event-bridge.service.ts +47 -0
  104. package/projects/vx-workflow-engine/src/lib/services/permission.service.spec.ts +16 -0
  105. package/projects/vx-workflow-engine/src/lib/services/permission.service.ts +23 -0
  106. package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.html +380 -0
  107. package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.less +127 -0
  108. package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.spec.ts +25 -0
  109. package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ts +285 -0
  110. package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.html +335 -0
  111. package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.less +290 -0
  112. package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.spec.ts +25 -0
  113. package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ts +82 -0
  114. package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow.component.html +21 -0
  115. package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow.component.less +299 -0
  116. package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow.component.spec.ts +25 -0
  117. package/projects/vx-workflow-engine/src/lib/sharedComponents/approval-workflow/approval-workflow.component.ts +86 -0
  118. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.html +62 -0
  119. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.less +225 -0
  120. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.spec.ts +25 -0
  121. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.ts +371 -0
  122. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.html +33 -0
  123. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.less +209 -0
  124. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.spec.ts +25 -0
  125. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ts +85 -0
  126. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.html +120 -0
  127. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.less +459 -0
  128. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.spec.ts +25 -0
  129. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.ts +29 -0
  130. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.html +42 -0
  131. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.less +201 -0
  132. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.spec.ts +25 -0
  133. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ts +112 -0
  134. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.html +117 -0
  135. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.less +567 -0
  136. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.spec.ts +25 -0
  137. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ts +209 -0
  138. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/build.module.ts +70 -0
  139. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.html +30 -0
  140. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.less +151 -0
  141. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.spec.ts +25 -0
  142. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.ts +22 -0
  143. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.html +14 -0
  144. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.less +74 -0
  145. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.spec.ts +25 -0
  146. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.ts +66 -0
  147. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.html +14 -0
  148. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.less +87 -0
  149. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.spec.ts +25 -0
  150. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.ts +15 -0
  151. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.html +30 -0
  152. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.less +151 -0
  153. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.spec.ts +25 -0
  154. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.ts +21 -0
  155. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.html +17 -0
  156. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.less +147 -0
  157. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.spec.ts +25 -0
  158. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.ts +15 -0
  159. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.html +45 -0
  160. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.less +113 -0
  161. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.spec.ts +25 -0
  162. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.ts +15 -0
  163. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.html +32 -0
  164. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.less +74 -0
  165. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.spec.ts +25 -0
  166. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.ts +15 -0
  167. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.html +30 -0
  168. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.less +98 -0
  169. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.spec.ts +25 -0
  170. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.ts +22 -0
  171. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.html +13 -0
  172. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.less +103 -0
  173. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.spec.ts +25 -0
  174. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.ts +15 -0
  175. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.html +15 -0
  176. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.less +74 -0
  177. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.spec.ts +25 -0
  178. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.ts +15 -0
  179. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.html +17 -0
  180. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.less +43 -0
  181. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.spec.ts +25 -0
  182. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.ts +15 -0
  183. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.html +120 -0
  184. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.less +193 -0
  185. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.spec.ts +25 -0
  186. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.ts +27 -0
  187. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.html +10 -0
  188. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.less +59 -0
  189. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.spec.ts +25 -0
  190. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.ts +15 -0
  191. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.html +6 -0
  192. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.less +64 -0
  193. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.spec.ts +25 -0
  194. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.ts +54 -0
  195. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.html +10 -0
  196. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.less +59 -0
  197. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.spec.ts +25 -0
  198. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.ts +15 -0
  199. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.html +89 -0
  200. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.less +256 -0
  201. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.spec.ts +25 -0
  202. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.ts +160 -0
  203. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/errorInterface/error.ts +14 -0
  204. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/errorInterface/question.ts +5 -0
  205. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.ts +8 -0
  206. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic/logic.component.html +52 -0
  207. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic/logic.component.less +193 -0
  208. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic/logic.component.spec.ts +25 -0
  209. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic/logic.component.ts +102 -0
  210. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.html +14 -0
  211. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.less +61 -0
  212. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.spec.ts +25 -0
  213. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.ts +20 -0
  214. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.html +3 -0
  215. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.less +40 -0
  216. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.spec.ts +25 -0
  217. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.ts +15 -0
  218. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.html +23 -0
  219. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.less +97 -0
  220. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.spec.ts +25 -0
  221. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.ts +36 -0
  222. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.html +3 -0
  223. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.less +33 -0
  224. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.spec.ts +25 -0
  225. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.ts +28 -0
  226. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.html +12 -0
  227. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.less +63 -0
  228. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.spec.ts +25 -0
  229. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.ts +15 -0
  230. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.html +14 -0
  231. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.less +50 -0
  232. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.spec.ts +25 -0
  233. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.ts +20 -0
  234. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.html +6 -0
  235. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.less +43 -0
  236. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.spec.ts +25 -0
  237. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.ts +15 -0
  238. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.ts +63 -0
  239. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.html +16 -0
  240. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.less +66 -0
  241. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.spec.ts +25 -0
  242. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.ts +15 -0
  243. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.html +4 -0
  244. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.less +39 -0
  245. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.spec.ts +25 -0
  246. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.ts +23 -0
  247. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.html +14 -0
  248. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.less +48 -0
  249. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.spec.ts +25 -0
  250. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.ts +15 -0
  251. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.html +18 -0
  252. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.less +38 -0
  253. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.spec.ts +25 -0
  254. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.ts +15 -0
  255. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/move/move.component.html +63 -0
  256. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/move/move.component.less +90 -0
  257. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/move/move.component.spec.ts +25 -0
  258. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/move/move.component.ts +95 -0
  259. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.html +6 -0
  260. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.less +41 -0
  261. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.spec.ts +25 -0
  262. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.ts +18 -0
  263. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.spec.ts +8 -0
  264. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.ts +18 -0
  265. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.spec.ts +8 -0
  266. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.ts +23 -0
  267. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.spec.ts +8 -0
  268. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.ts +17 -0
  269. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.spec.ts +8 -0
  270. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.ts +12 -0
  271. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.spec.ts +8 -0
  272. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.ts +12 -0
  273. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.spec.ts +8 -0
  274. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.ts +17 -0
  275. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.spec.ts +8 -0
  276. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.ts +13 -0
  277. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.html +10 -0
  278. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.less +49 -0
  279. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.spec.ts +25 -0
  280. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.ts +25 -0
  281. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.html +3 -0
  282. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.less +44 -0
  283. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.spec.ts +25 -0
  284. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.ts +15 -0
  285. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.html +28 -0
  286. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.less +248 -0
  287. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.spec.ts +25 -0
  288. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.ts +28 -0
  289. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.html +5 -0
  290. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.less +25 -0
  291. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.spec.ts +25 -0
  292. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.ts +29 -0
  293. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.html +7 -0
  294. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.less +55 -0
  295. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.spec.ts +25 -0
  296. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.ts +19 -0
  297. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.html +12 -0
  298. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.less +77 -0
  299. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.spec.ts +25 -0
  300. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.ts +15 -0
  301. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.html +98 -0
  302. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.less +132 -0
  303. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.spec.ts +25 -0
  304. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.ts +34 -0
  305. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.html +40 -0
  306. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.less +111 -0
  307. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.spec.ts +25 -0
  308. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.ts +22 -0
  309. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.html +11 -0
  310. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.less +49 -0
  311. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.spec.ts +25 -0
  312. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.ts +24 -0
  313. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.html +8 -0
  314. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.less +45 -0
  315. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.spec.ts +25 -0
  316. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.ts +15 -0
  317. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.html +16 -0
  318. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.less +66 -0
  319. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.spec.ts +25 -0
  320. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.ts +15 -0
  321. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.html +3 -0
  322. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.less +39 -0
  323. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.spec.ts +25 -0
  324. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.ts +15 -0
  325. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.html +16 -0
  326. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.less +49 -0
  327. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.spec.ts +25 -0
  328. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.ts +15 -0
  329. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.html +18 -0
  330. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.less +42 -0
  331. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.spec.ts +25 -0
  332. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.ts +15 -0
  333. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.html +27 -0
  334. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.less +81 -0
  335. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.spec.ts +25 -0
  336. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.ts +62 -0
  337. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview.module.ts +90 -0
  338. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.html +5 -0
  339. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.less +32 -0
  340. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.spec.ts +25 -0
  341. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.ts +15 -0
  342. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.html +5 -0
  343. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.less +32 -0
  344. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.spec.ts +25 -0
  345. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.ts +15 -0
  346. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.html +100 -0
  347. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.less +120 -0
  348. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.spec.ts +25 -0
  349. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.ts +16 -0
  350. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.html +46 -0
  351. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.less +245 -0
  352. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.spec.ts +25 -0
  353. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.ts +247 -0
  354. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.html +71 -0
  355. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.less +254 -0
  356. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.spec.ts +25 -0
  357. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.ts +36 -0
  358. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.html +62 -0
  359. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.less +665 -0
  360. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.spec.ts +25 -0
  361. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.ts +52 -0
  362. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.html +64 -0
  363. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.less +552 -0
  364. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.spec.ts +25 -0
  365. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ts +159 -0
  366. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.html +20 -0
  367. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.less +109 -0
  368. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.spec.ts +25 -0
  369. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.ts +130 -0
  370. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.html +112 -0
  371. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.less +192 -0
  372. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.spec.ts +25 -0
  373. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.ts +18 -0
  374. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.html +52 -0
  375. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.less +226 -0
  376. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.spec.ts +25 -0
  377. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ts +91 -0
  378. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.html +122 -0
  379. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.less +667 -0
  380. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.spec.ts +25 -0
  381. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ts +481 -0
  382. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/create-assessment.module.ts +96 -0
  383. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/editor.service.spec.ts +16 -0
  384. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/editor.service.ts +664 -0
  385. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/result-criteria.service.spec.ts +16 -0
  386. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/result-criteria.service.ts +51 -0
  387. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/validation-worker.worker.ts +7 -0
  388. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/validator.service.spec.ts +16 -0
  389. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/validator.service.ts +556 -0
  390. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.html +13 -0
  391. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.less +58 -0
  392. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.spec.ts +25 -0
  393. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.ts +15 -0
  394. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.html +15 -0
  395. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.less +59 -0
  396. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.spec.ts +25 -0
  397. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ts +15 -0
  398. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list.component.html +126 -0
  399. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list.component.less +516 -0
  400. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list.component.spec.ts +78 -0
  401. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list.component.ts +218 -0
  402. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/service/assessment.interface.ts +24 -0
  403. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/service/assessment.service.spec.ts +16 -0
  404. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/service/assessment.service.ts +25 -0
  405. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/assessment-preview.module.ts +59 -0
  406. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.html +27 -0
  407. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.less +109 -0
  408. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.spec.ts +25 -0
  409. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.ts +26 -0
  410. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/date-time/date-time.component.html +35 -0
  411. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/date-time/date-time.component.less +302 -0
  412. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/date-time/date-time.component.spec.ts +25 -0
  413. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/date-time/date-time.component.ts +32 -0
  414. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/device/device.component.html +23 -0
  415. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/device/device.component.less +59 -0
  416. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/device/device.component.spec.ts +25 -0
  417. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/device/device.component.ts +17 -0
  418. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.html +35 -0
  419. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.less +144 -0
  420. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.spec.ts +25 -0
  421. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.ts +16 -0
  422. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/page-header/page-header.component.html +7 -0
  423. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/page-header/page-header.component.less +51 -0
  424. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/page-header/page-header.component.spec.ts +25 -0
  425. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/page-header/page-header.component.ts +16 -0
  426. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview/preview.component.html +132 -0
  427. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview/preview.component.less +386 -0
  428. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview/preview.component.spec.ts +25 -0
  429. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview/preview.component.ts +41 -0
  430. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.html +42 -0
  431. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.less +78 -0
  432. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.spec.ts +25 -0
  433. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.ts +15 -0
  434. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.html +70 -0
  435. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.less +163 -0
  436. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.spec.ts +25 -0
  437. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.ts +18 -0
  438. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.html +27 -0
  439. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.less +103 -0
  440. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.spec.ts +25 -0
  441. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.ts +25 -0
  442. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/select-question/select-question.component.html +18 -0
  443. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/select-question/select-question.component.less +88 -0
  444. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/select-question/select-question.component.spec.ts +25 -0
  445. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/select-question/select-question.component.ts +32 -0
  446. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.html +16 -0
  447. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.less +91 -0
  448. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.spec.ts +25 -0
  449. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.ts +16 -0
  450. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/welcome/welcome.component.html +5 -0
  451. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/welcome/welcome.component.less +48 -0
  452. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/welcome/welcome.component.spec.ts +25 -0
  453. package/projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/welcome/welcome.component.ts +15 -0
  454. package/projects/vx-workflow-engine/src/lib/sharedComponents/audit-category-list/audit-category-list.component.html +35 -0
  455. package/projects/vx-workflow-engine/src/lib/sharedComponents/audit-category-list/audit-category-list.component.less +202 -0
  456. package/projects/vx-workflow-engine/src/lib/sharedComponents/audit-category-list/audit-category-list.component.ts +57 -0
  457. package/projects/vx-workflow-engine/src/lib/sharedComponents/audit-category-list/audit-category-list.spec.ts +42 -0
  458. package/projects/vx-workflow-engine/src/lib/sharedComponents/audit-category-list/audit-category.model.ts +6 -0
  459. package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.html +566 -0
  460. package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.less +337 -0
  461. package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.spec.ts +32 -0
  462. package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ts +63 -0
  463. package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-responsibility-view/data.ts +175 -0
  464. package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-view/bulk-view.component.html +117 -0
  465. package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-view/bulk-view.component.less +211 -0
  466. package/projects/vx-workflow-engine/src/lib/sharedComponents/bulk-view/bulk-view.component.ts +66 -0
  467. package/projects/vx-workflow-engine/src/lib/sharedComponents/category-list/category-list.component.html +72 -0
  468. package/projects/vx-workflow-engine/src/lib/sharedComponents/category-list/category-list.component.less +198 -0
  469. package/projects/vx-workflow-engine/src/lib/sharedComponents/category-list/category-list.component.ts +77 -0
  470. package/projects/vx-workflow-engine/src/lib/sharedComponents/category-multiselect/category-multi-select.component.html +89 -0
  471. package/projects/vx-workflow-engine/src/lib/sharedComponents/category-multiselect/category-multi-select.component.less +337 -0
  472. package/projects/vx-workflow-engine/src/lib/sharedComponents/category-multiselect/category-multi-select.component.ts +161 -0
  473. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkbox-list/checkbox-list.component.html +54 -0
  474. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkbox-list/checkbox-list.component.less +321 -0
  475. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkbox-list/checkbox-list.component.ts +67 -0
  476. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkbox-list/checkbox-list.spec.ts +76 -0
  477. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.html +17 -0
  478. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.less +96 -0
  479. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.ts +242 -0
  480. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.html +14 -0
  481. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.less +107 -0
  482. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.ts +19 -0
  483. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.html +317 -0
  484. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.less +713 -0
  485. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ts +103 -0
  486. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.html +56 -0
  487. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.less +172 -0
  488. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.spec.ts +25 -0
  489. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.ts +31 -0
  490. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.html +34 -0
  491. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.less +112 -0
  492. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.ts +65 -0
  493. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.html +59 -0
  494. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.less +97 -0
  495. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.ts +15 -0
  496. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.html +96 -0
  497. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.less +703 -0
  498. package/projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.ts +181 -0
  499. package/projects/vx-workflow-engine/src/lib/sharedComponents/directive/autofocus.directive.ts +19 -0
  500. package/projects/vx-workflow-engine/src/lib/sharedComponents/directive/conditional-focus.directive.ts +33 -0
  501. package/projects/vx-workflow-engine/src/lib/sharedComponents/directive/drag-drop.directive.ts +42 -0
  502. package/projects/vx-workflow-engine/src/lib/sharedComponents/directive/input-trim.directive.ts +16 -0
  503. package/projects/vx-workflow-engine/src/lib/sharedComponents/directive/scroll-in-view.directive.ts +28 -0
  504. package/projects/vx-workflow-engine/src/lib/sharedComponents/document-section/document-section.component.html +261 -0
  505. package/projects/vx-workflow-engine/src/lib/sharedComponents/document-section/document-section.component.less +313 -0
  506. package/projects/vx-workflow-engine/src/lib/sharedComponents/document-section/document-section.component.spec.ts +25 -0
  507. package/projects/vx-workflow-engine/src/lib/sharedComponents/document-section/document-section.component.ts +181 -0
  508. package/projects/vx-workflow-engine/src/lib/sharedComponents/floating-bar/floating-bar.component.html +299 -0
  509. package/projects/vx-workflow-engine/src/lib/sharedComponents/floating-bar/floating-bar.component.less +711 -0
  510. package/projects/vx-workflow-engine/src/lib/sharedComponents/floating-bar/floating-bar.component.ts +78 -0
  511. package/projects/vx-workflow-engine/src/lib/sharedComponents/floating-bar/floating-bar.module.ts +12 -0
  512. package/projects/vx-workflow-engine/src/lib/sharedComponents/format-and-evidence/format-and-evidence.component.html +293 -0
  513. package/projects/vx-workflow-engine/src/lib/sharedComponents/format-and-evidence/format-and-evidence.component.less +108 -0
  514. package/projects/vx-workflow-engine/src/lib/sharedComponents/format-and-evidence/format-and-evidence.component.spec.ts +25 -0
  515. package/projects/vx-workflow-engine/src/lib/sharedComponents/format-and-evidence/format-and-evidence.component.ts +307 -0
  516. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-integration-interfaces.ts +9 -0
  517. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.html +56 -0
  518. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.less +268 -0
  519. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.spec.ts +25 -0
  520. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.ts +27 -0
  521. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list.component.html +116 -0
  522. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list.component.less +218 -0
  523. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list.component.spec.ts +308 -0
  524. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list.component.ts +431 -0
  525. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.html +76 -0
  526. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.less +273 -0
  527. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.spec.ts +25 -0
  528. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.ts +31 -0
  529. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.html +19 -0
  530. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.less +98 -0
  531. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.spec.ts +25 -0
  532. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.ts +15 -0
  533. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/parent-table/parent-table.component.html +129 -0
  534. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/parent-table/parent-table.component.less +619 -0
  535. package/projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/parent-table/parent-table.component.ts +84 -0
  536. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.html +39 -0
  537. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.less +3 -0
  538. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.ts +306 -0
  539. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.html +37 -0
  540. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.less +3 -0
  541. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.ts +231 -0
  542. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.html +19 -0
  543. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.less +81 -0
  544. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.ts +26 -0
  545. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-container/frequency-container.component.html +232 -0
  546. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-container/frequency-container.component.less +118 -0
  547. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-container/frequency-container.component.ts +321 -0
  548. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-container/frequency-container.spec.ts +117 -0
  549. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.html +32 -0
  550. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.less +69 -0
  551. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.ts +171 -0
  552. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-due-date/due-date.contant.ts +21 -0
  553. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.html +170 -0
  554. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.less +124 -0
  555. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.ts +70 -0
  556. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.html +137 -0
  557. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.less +557 -0
  558. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ts +205 -0
  559. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.spec.ts +35 -0
  560. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-lifecycle/lifecycl.constant.ts +11 -0
  561. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.html +39 -0
  562. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.less +3 -0
  563. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.ts +241 -0
  564. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.html +89 -0
  565. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.less +288 -0
  566. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.ts +166 -0
  567. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.html +80 -0
  568. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.less +297 -0
  569. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.ts +206 -0
  570. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.html +42 -0
  571. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.less +53 -0
  572. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.ts +64 -0
  573. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.html +38 -0
  574. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.less +3 -0
  575. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.ts +235 -0
  576. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.html +28 -0
  577. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.less +64 -0
  578. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.ts +25 -0
  579. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-random/frequency-random.component.html +55 -0
  580. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-random/frequency-random.component.less +67 -0
  581. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-random/frequency-random.component.ts +292 -0
  582. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.html +149 -0
  583. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.less +498 -0
  584. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.spec.ts +25 -0
  585. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.ts +208 -0
  586. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-top/frequency-top.component.html +53 -0
  587. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-top/frequency-top.component.less +89 -0
  588. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ts +111 -0
  589. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-top/frequency-top.spec.ts +40 -0
  590. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.html +40 -0
  591. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.less +13 -0
  592. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.ts +220 -0
  593. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency.service.spec.ts +16 -0
  594. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency.service.ts +609 -0
  595. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.html +34 -0
  596. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.less +27 -0
  597. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.spec.ts +25 -0
  598. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.ts +314 -0
  599. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.html +31 -0
  600. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.less +27 -0
  601. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.spec.ts +25 -0
  602. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.ts +225 -0
  603. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.html +34 -0
  604. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.less +103 -0
  605. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.spec.ts +25 -0
  606. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.ts +21 -0
  607. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.html +67 -0
  608. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.less +119 -0
  609. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.spec.ts +25 -0
  610. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.ts +299 -0
  611. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.html +76 -0
  612. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.less +95 -0
  613. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.spec.ts +25 -0
  614. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.ts +95 -0
  615. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.html +33 -0
  616. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.less +27 -0
  617. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.spec.ts +25 -0
  618. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.ts +233 -0
  619. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.html +39 -0
  620. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.less +275 -0
  621. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.spec.ts +25 -0
  622. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.ts +215 -0
  623. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.html +33 -0
  624. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.less +27 -0
  625. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.spec.ts +25 -0
  626. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.ts +221 -0
  627. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.html +32 -0
  628. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.less +73 -0
  629. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.spec.ts +25 -0
  630. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.ts +24 -0
  631. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.html +35 -0
  632. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.less +74 -0
  633. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.spec.ts +25 -0
  634. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.ts +111 -0
  635. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.html +32 -0
  636. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.less +27 -0
  637. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.spec.ts +25 -0
  638. package/projects/vx-workflow-engine/src/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.ts +209 -0
  639. package/projects/vx-workflow-engine/src/lib/sharedComponents/group-users-list/group-users-list.component.html +342 -0
  640. package/projects/vx-workflow-engine/src/lib/sharedComponents/group-users-list/group-users-list.component.less +338 -0
  641. package/projects/vx-workflow-engine/src/lib/sharedComponents/group-users-list/group-users-list.component.ts +261 -0
  642. package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/link-program/link-program.component.html +385 -0
  643. package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/link-program/link-program.component.less +931 -0
  644. package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/link-program/link-program.component.spec.ts +31 -0
  645. package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/link-program/link-program.component.ts +474 -0
  646. package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/link-program/program-list-model.ts +25 -0
  647. package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/link-program.module.ts +33 -0
  648. package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/program-integration-interfaces.ts +9 -0
  649. package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/restapi.service.ts +139 -0
  650. package/projects/vx-workflow-engine/src/lib/sharedComponents/link-program/tooltip-validation.pipe.ts +23 -0
  651. package/projects/vx-workflow-engine/src/lib/sharedComponents/list-loader/list-loader.component.html +33 -0
  652. package/projects/vx-workflow-engine/src/lib/sharedComponents/list-loader/list-loader.component.less +140 -0
  653. package/projects/vx-workflow-engine/src/lib/sharedComponents/list-loader/list-loader.component.spec.ts +25 -0
  654. package/projects/vx-workflow-engine/src/lib/sharedComponents/list-loader/list-loader.component.ts +15 -0
  655. package/projects/vx-workflow-engine/src/lib/sharedComponents/list-loader/list-loader.module.ts +10 -0
  656. package/projects/vx-workflow-engine/src/lib/sharedComponents/no-data/no-data.component.html +9 -0
  657. package/projects/vx-workflow-engine/src/lib/sharedComponents/no-data/no-data.component.less +78 -0
  658. package/projects/vx-workflow-engine/src/lib/sharedComponents/no-data/no-data.component.ts +26 -0
  659. package/projects/vx-workflow-engine/src/lib/sharedComponents/no-data/no-data.module.ts +10 -0
  660. package/projects/vx-workflow-engine/src/lib/sharedComponents/owner-list/owner-list.component.html +49 -0
  661. package/projects/vx-workflow-engine/src/lib/sharedComponents/owner-list/owner-list.component.less +213 -0
  662. package/projects/vx-workflow-engine/src/lib/sharedComponents/owner-list/owner-list.component.ts +127 -0
  663. package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/array-filter.pipe.ts +14 -0
  664. package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/filterPipe.ts +22 -0
  665. package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/rcTreeToolTip.pipe.ts +20 -0
  666. package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/short-merge.pipe.ts +20 -0
  667. package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/spaceTrim.pipe.ts +15 -0
  668. package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/within-data.pipe.spec.ts +8 -0
  669. package/projects/vx-workflow-engine/src/lib/sharedComponents/pipes/within-data.pipe.ts +16 -0
  670. package/projects/vx-workflow-engine/src/lib/sharedComponents/policy-access/policy-access.component.html +101 -0
  671. package/projects/vx-workflow-engine/src/lib/sharedComponents/policy-access/policy-access.component.less +295 -0
  672. package/projects/vx-workflow-engine/src/lib/sharedComponents/policy-access/policy-access.component.spec.ts +25 -0
  673. package/projects/vx-workflow-engine/src/lib/sharedComponents/policy-access/policy-access.component.ts +63 -0
  674. package/projects/vx-workflow-engine/src/lib/sharedComponents/program-listing/program-list-model.ts +27 -0
  675. package/projects/vx-workflow-engine/src/lib/sharedComponents/program-listing/program-listing.component.html +259 -0
  676. package/projects/vx-workflow-engine/src/lib/sharedComponents/program-listing/program-listing.component.less +826 -0
  677. package/projects/vx-workflow-engine/src/lib/sharedComponents/program-listing/program-listing.component.spec.ts +190 -0
  678. package/projects/vx-workflow-engine/src/lib/sharedComponents/program-listing/program-listing.component.ts +696 -0
  679. package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list/radio-list.component.html +51 -0
  680. package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list/radio-list.component.less +233 -0
  681. package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list/radio-list.component.ts +60 -0
  682. package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.html +33 -0
  683. package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.less +140 -0
  684. package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.spec.ts +24 -0
  685. package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.ts +12 -0
  686. package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/radio-list.component.html +55 -0
  687. package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/radio-list.component.less +259 -0
  688. package/projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/radio-list.component.ts +116 -0
  689. package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-centers-list/rc-list.module.ts +23 -0
  690. package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.html +117 -0
  691. package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.less +308 -0
  692. package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.ts +102 -0
  693. package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.html +37 -0
  694. package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.less +450 -0
  695. package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.spec.ts +25 -0
  696. package/projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.ts +63 -0
  697. package/projects/vx-workflow-engine/src/lib/sharedComponents/review-frequency/review-frequency.component.html +56 -0
  698. package/projects/vx-workflow-engine/src/lib/sharedComponents/review-frequency/review-frequency.component.less +141 -0
  699. package/projects/vx-workflow-engine/src/lib/sharedComponents/review-frequency/review-frequency.component.ts +37 -0
  700. package/projects/vx-workflow-engine/src/lib/sharedComponents/risk-classification/risk-classification.component.html +77 -0
  701. package/projects/vx-workflow-engine/src/lib/sharedComponents/risk-classification/risk-classification.component.less +235 -0
  702. package/projects/vx-workflow-engine/src/lib/sharedComponents/risk-classification/risk-classification.component.spec.ts +25 -0
  703. package/projects/vx-workflow-engine/src/lib/sharedComponents/risk-classification/risk-classification.component.ts +84 -0
  704. package/projects/vx-workflow-engine/src/lib/sharedComponents/roles-list/roles-list.component.html +68 -0
  705. package/projects/vx-workflow-engine/src/lib/sharedComponents/roles-list/roles-list.component.less +234 -0
  706. package/projects/vx-workflow-engine/src/lib/sharedComponents/roles-list/roles-list.component.spec.ts +25 -0
  707. package/projects/vx-workflow-engine/src/lib/sharedComponents/roles-list/roles-list.component.ts +25 -0
  708. package/projects/vx-workflow-engine/src/lib/sharedComponents/select-approvers/select-approvers.component.html +71 -0
  709. package/projects/vx-workflow-engine/src/lib/sharedComponents/select-approvers/select-approvers.component.less +211 -0
  710. package/projects/vx-workflow-engine/src/lib/sharedComponents/select-approvers/select-approvers.component.spec.ts +25 -0
  711. package/projects/vx-workflow-engine/src/lib/sharedComponents/select-approvers/select-approvers.component.ts +73 -0
  712. package/projects/vx-workflow-engine/src/lib/sharedComponents/table-card-loader/table-card-loader.component.html +12 -0
  713. package/projects/vx-workflow-engine/src/lib/sharedComponents/table-card-loader/table-card-loader.component.less +43 -0
  714. package/projects/vx-workflow-engine/src/lib/sharedComponents/table-card-loader/table-card-loader.component.spec.ts +23 -0
  715. package/projects/vx-workflow-engine/src/lib/sharedComponents/table-card-loader/table-card-loader.component.ts +15 -0
  716. package/projects/vx-workflow-engine/src/lib/sharedComponents/users-radio-list/users-radio-list.component.html +34 -0
  717. package/projects/vx-workflow-engine/src/lib/sharedComponents/users-radio-list/users-radio-list.component.less +248 -0
  718. package/projects/vx-workflow-engine/src/lib/sharedComponents/users-radio-list/users-radio-list.component.ts +55 -0
  719. package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader/loader.component.html +6 -0
  720. package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader/loader.component.less +54 -0
  721. package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader/loader.component.ts +23 -0
  722. package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.html +6 -0
  723. package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.less +54 -0
  724. package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.ts +23 -0
  725. package/projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/v-loader.module.ts +13 -0
  726. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/action-dialog.module.ts +13 -0
  727. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/active/active.component.html +17 -0
  728. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/active/active.component.less +124 -0
  729. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/active/active.component.spec.ts +24 -0
  730. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/active/active.component.ts +30 -0
  731. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/deactivate/deactivate.component.html +17 -0
  732. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/deactivate/deactivate.component.less +123 -0
  733. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/deactivate/deactivate.component.spec.ts +24 -0
  734. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/deactivate/deactivate.component.ts +28 -0
  735. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/delete/delete.component.html +25 -0
  736. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/delete/delete.component.less +230 -0
  737. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/delete/delete.component.spec.ts +24 -0
  738. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/delete/delete.component.ts +22 -0
  739. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/duplicate/duplicate.component.html +17 -0
  740. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/duplicate/duplicate.component.less +123 -0
  741. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/duplicate/duplicate.component.spec.ts +25 -0
  742. package/projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/duplicate/duplicate.component.ts +26 -0
  743. package/projects/vx-workflow-engine/src/lib/ui-kit/click-outside/click-outside.directive.ts +16 -0
  744. package/projects/vx-workflow-engine/src/lib/ui-kit/click-outside/click-outside.module.ts +16 -0
  745. package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog-config.ts +5 -0
  746. package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog-injector.ts +15 -0
  747. package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog-ref.ts +11 -0
  748. package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.component.css +97 -0
  749. package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.component.html +27 -0
  750. package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.component.ts +98 -0
  751. package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.module.ts +11 -0
  752. package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.service.ts +77 -0
  753. package/projects/vx-workflow-engine/src/lib/ui-kit/dialog/insertion.directive.ts +8 -0
  754. package/projects/vx-workflow-engine/src/lib/ui-kit/directive/directive.module.ts +17 -0
  755. package/projects/vx-workflow-engine/src/lib/ui-kit/directive/stop-propagation.directive.spec.ts +8 -0
  756. package/projects/vx-workflow-engine/src/lib/ui-kit/directive/stop-propagation.directive.ts +15 -0
  757. package/projects/vx-workflow-engine/src/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.html +61 -0
  758. package/projects/vx-workflow-engine/src/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.less +263 -0
  759. package/projects/vx-workflow-engine/src/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.spec.ts +25 -0
  760. package/projects/vx-workflow-engine/src/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.ts +15 -0
  761. package/projects/vx-workflow-engine/src/lib/ui-kit/editor-loader/editor-loader.module.ts +16 -0
  762. package/projects/vx-workflow-engine/src/lib/ui-kit/format-html.pipe.ts +14 -0
  763. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/click-outside.directive.ts +16 -0
  764. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.html +11 -0
  765. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.less +102 -0
  766. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ts +23 -0
  767. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.html +12 -0
  768. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.less +109 -0
  769. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.spec.ts +25 -0
  770. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ts +30 -0
  771. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.html +11 -0
  772. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.less +125 -0
  773. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ts +21 -0
  774. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.html +4 -0
  775. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.less +0 -0
  776. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ts +12 -0
  777. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-select/cs-select.component.html +78 -0
  778. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-select/cs-select.component.less +279 -0
  779. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-select/cs-select.component.ts +83 -0
  780. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.html +30 -0
  781. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.less +103 -0
  782. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ts +23 -0
  783. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/formgroup.module.ts +38 -0
  784. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/pipes/pascal.pipe.ts +13 -0
  785. package/projects/vx-workflow-engine/src/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ts +18 -0
  786. package/projects/vx-workflow-engine/src/lib/ui-kit/hover-popover/hover-popover.component.html +1 -0
  787. package/projects/vx-workflow-engine/src/lib/ui-kit/hover-popover/hover-popover.component.less +0 -0
  788. package/projects/vx-workflow-engine/src/lib/ui-kit/hover-popover/hover-popover.component.ts +15 -0
  789. package/projects/vx-workflow-engine/src/lib/ui-kit/hover-popover/hover-popover.module.ts +15 -0
  790. package/projects/vx-workflow-engine/src/lib/ui-kit/line-loader/line-loader.component.html +3 -0
  791. package/projects/vx-workflow-engine/src/lib/ui-kit/line-loader/line-loader.component.less +34 -0
  792. package/projects/vx-workflow-engine/src/lib/ui-kit/line-loader/line-loader.component.ts +14 -0
  793. package/projects/vx-workflow-engine/src/lib/ui-kit/line-loader/line-loader.module.ts +10 -0
  794. package/projects/vx-workflow-engine/src/lib/ui-kit/no-data/no-data.component.html +16 -0
  795. package/projects/vx-workflow-engine/src/lib/ui-kit/no-data/no-data.component.less +81 -0
  796. package/projects/vx-workflow-engine/src/lib/ui-kit/no-data/no-data.component.ts +31 -0
  797. package/projects/vx-workflow-engine/src/lib/ui-kit/no-data/no-data.module.ts +10 -0
  798. package/projects/vx-workflow-engine/src/lib/ui-kit/pagination/pagination/pagination.component.html +57 -0
  799. package/projects/vx-workflow-engine/src/lib/ui-kit/pagination/pagination/pagination.component.less +228 -0
  800. package/projects/vx-workflow-engine/src/lib/ui-kit/pagination/pagination/pagination.component.spec.ts +25 -0
  801. package/projects/vx-workflow-engine/src/lib/ui-kit/pagination/pagination/pagination.component.ts +112 -0
  802. package/projects/vx-workflow-engine/src/lib/ui-kit/pagination/pagination.module.ts +20 -0
  803. package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover-event.directive.ts +19 -0
  804. package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover-longpress.directive.ts +34 -0
  805. package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.component.html +6 -0
  806. package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.component.less +19 -0
  807. package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.component.ts +113 -0
  808. package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.directive.ts +77 -0
  809. package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.module.ts +15 -0
  810. package/projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.service.ts +15 -0
  811. package/projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.component.html +6 -0
  812. package/projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.component.less +29 -0
  813. package/projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.component.ts +103 -0
  814. package/projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.directive.ts +21 -0
  815. package/projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.module.ts +23 -0
  816. package/projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.service.ts +14 -0
  817. package/projects/vx-workflow-engine/src/lib/ui-kit/ripple/ripple.directive.ts +33 -0
  818. package/projects/vx-workflow-engine/src/lib/ui-kit/ripple/ripple.module.ts +10 -0
  819. package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.html +49 -0
  820. package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.less +518 -0
  821. package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.ts +36 -0
  822. package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog/smiley-dialog.module.ts +11 -0
  823. package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.html +49 -0
  824. package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.less +471 -0
  825. package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.ts +34 -0
  826. package/projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.ts +11 -0
  827. package/projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.component.html +9 -0
  828. package/projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.component.less +112 -0
  829. package/projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.component.ts +51 -0
  830. package/projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.module.ts +10 -0
  831. package/projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.service.ts +27 -0
  832. package/projects/vx-workflow-engine/src/lib/ui-kit/tooltip/tooltip.directive.ts +127 -0
  833. package/projects/vx-workflow-engine/src/lib/ui-kit/tooltip/tooltip.module.ts +10 -0
  834. package/projects/vx-workflow-engine/src/lib/vx-workflow-engine.component.spec.ts +25 -0
  835. package/projects/vx-workflow-engine/src/lib/vx-workflow-engine.component.ts +20 -0
  836. package/projects/vx-workflow-engine/src/lib/vx-workflow-engine.module.ts +18 -0
  837. package/projects/vx-workflow-engine/src/lib/vx-workflow-engine.service.spec.ts +16 -0
  838. package/projects/vx-workflow-engine/src/lib/vx-workflow-engine.service.ts +9 -0
  839. package/projects/vx-workflow-engine/src/lib/workflow/grc-object/grc-object-container/grc-object-container.component.html +303 -0
  840. package/projects/vx-workflow-engine/src/lib/workflow/grc-object/grc-object-container/grc-object-container.component.less +11 -0
  841. package/projects/vx-workflow-engine/src/lib/workflow/grc-object/grc-object-container/grc-object-container.component.ts +980 -0
  842. package/projects/vx-workflow-engine/src/lib/workflow/grc-object/grc-object.module.ts +34 -0
  843. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.html +86 -0
  844. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.less +288 -0
  845. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.ts +111 -0
  846. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.ts +86 -0
  847. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.ts +86 -0
  848. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes.component.html +131 -0
  849. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes.component.less +28 -0
  850. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/attributes.component.ts +112 -0
  851. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/attributes/date-picker/date-picker.component.ts +81 -0
  852. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/edit-mode/edit-mode.component.ts +129 -0
  853. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.html +25 -0
  854. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.less +244 -0
  855. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.spec.ts +25 -0
  856. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.ts +121 -0
  857. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-object-list/grc-object-list.component.html +239 -0
  858. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-object-list/grc-object-list.component.less +689 -0
  859. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-object-list/grc-object-list.component.spec.ts +23 -0
  860. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-object-list/grc-object-list.component.ts +208 -0
  861. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.html +63 -0
  862. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.less +483 -0
  863. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.spec.ts +23 -0
  864. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.ts +239 -0
  865. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.html +63 -0
  866. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.less +483 -0
  867. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.spec.ts +24 -0
  868. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.ts +211 -0
  869. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.html +32 -0
  870. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.less +242 -0
  871. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.spec.ts +25 -0
  872. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.ts +85 -0
  873. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/list-popup/list-popup.component.ts +165 -0
  874. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.html +48 -0
  875. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.less +113 -0
  876. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.spec.ts +25 -0
  877. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.ts +448 -0
  878. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.html +26 -0
  879. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.less +114 -0
  880. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.spec.ts +25 -0
  881. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.ts +275 -0
  882. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/table-card/table-card.component.html +46 -0
  883. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/table-card/table-card.component.less +19 -0
  884. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/table-card/table-card.component.spec.ts +25 -0
  885. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/table-card/table-card.component.ts +42 -0
  886. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/text-field/text-field.component.less +33 -0
  887. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/text-field/text-field.component.ts +87 -0
  888. package/projects/vx-workflow-engine/src/lib/workflow/shared/components/text-field-icon/text-field-icon.component.ts +36 -0
  889. package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/cdn-link.constant.ts +18 -0
  890. package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/field-text.constant.ts +17 -0
  891. package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/grcObject.constant.ts +94 -0
  892. package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/link-responsibility.constant.ts +18 -0
  893. package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/message.contstant.ts +4 -0
  894. package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/pagination-limits.constant.ts +5 -0
  895. package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/svg-link.constant.ts +3 -0
  896. package/projects/vx-workflow-engine/src/lib/workflow/shared/constants/validation-message.constant.ts +7 -0
  897. package/projects/vx-workflow-engine/src/lib/workflow/shared/interfaces/add-grc.ts +169 -0
  898. package/projects/vx-workflow-engine/src/lib/workflow/shared/services/grc.service.spec.ts +16 -0
  899. package/projects/vx-workflow-engine/src/lib/workflow/shared/services/grc.service.ts +371 -0
  900. package/projects/vx-workflow-engine/src/lib/workflow/shared/workflow-pipes/get-selected-value.pipe.ts +24 -0
  901. package/projects/vx-workflow-engine/src/lib/workflow/shared/workflow-pipes/is-attributes-valid.pipe.ts +46 -0
  902. package/projects/vx-workflow-engine/src/lib/workflow/shared/workflow-pipes/unique-responsibilities.pipe.spec.ts +8 -0
  903. package/projects/vx-workflow-engine/src/lib/workflow/shared/workflow-pipes/unique-responsibilities.pipe.ts +19 -0
  904. package/projects/vx-workflow-engine/src/lib/workflow/shared/workflow-pipes/workflow-pipes.module.ts +20 -0
  905. package/projects/vx-workflow-engine/src/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.html +46 -0
  906. package/projects/vx-workflow-engine/src/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.less +148 -0
  907. package/projects/vx-workflow-engine/src/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.spec.ts +25 -0
  908. package/projects/vx-workflow-engine/src/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.ts +577 -0
  909. package/projects/vx-workflow-engine/src/lib/workflow-assessment/workflow-assessment.component.html +212 -0
  910. package/projects/vx-workflow-engine/src/lib/workflow-assessment/workflow-assessment.component.less +77 -0
  911. package/projects/vx-workflow-engine/src/lib/workflow-assessment/workflow-assessment.component.spec.ts +25 -0
  912. package/projects/vx-workflow-engine/src/lib/workflow-assessment/workflow-assessment.component.ts +258 -0
  913. package/projects/vx-workflow-engine/src/lib/workflow-compliance/workflow-compliance.component.html +3393 -0
  914. package/projects/vx-workflow-engine/src/lib/workflow-compliance/workflow-compliance.component.less +325 -0
  915. package/projects/vx-workflow-engine/src/lib/workflow-compliance/workflow-compliance.component.spec.ts +552 -0
  916. package/projects/vx-workflow-engine/src/lib/workflow-compliance/workflow-compliance.component.ts +4713 -0
  917. package/projects/vx-workflow-engine/src/lib/workflow-engine-container/workflow-engine-container.component.html +497 -0
  918. package/projects/vx-workflow-engine/src/lib/workflow-engine-container/workflow-engine-container.component.less +426 -0
  919. package/projects/vx-workflow-engine/src/lib/workflow-engine-container/workflow-engine-container.component.ts +740 -0
  920. package/projects/vx-workflow-engine/src/lib/workflow-engine-container/workflow-engine-container.spec.ts +409 -0
  921. package/projects/vx-workflow-engine/src/lib/workflow-engine.module.ts +298 -0
  922. package/projects/vx-workflow-engine/src/lib/workflow-engine.service.spec.ts +16 -0
  923. package/projects/vx-workflow-engine/src/lib/workflow-engine.service.ts +8 -0
  924. package/projects/vx-workflow-engine/src/lib/workflow-interfaces/create-policy-form.ts +75 -0
  925. package/projects/vx-workflow-engine/src/lib/workflow-pagination/workflow-pagination.component.html +37 -0
  926. package/projects/vx-workflow-engine/src/lib/workflow-pagination/workflow-pagination.component.less +269 -0
  927. package/projects/vx-workflow-engine/src/lib/workflow-pagination/workflow-pagination.component.ts +112 -0
  928. package/projects/vx-workflow-engine/src/lib/workflow-policy/workflow-policy.component.html +3586 -0
  929. package/projects/vx-workflow-engine/src/lib/workflow-policy/workflow-policy.component.less +92 -0
  930. package/projects/vx-workflow-engine/src/lib/workflow-policy/workflow-policy.component.spec.ts +636 -0
  931. package/projects/vx-workflow-engine/src/lib/workflow-policy/workflow-policy.component.ts +2217 -0
  932. package/projects/vx-workflow-engine/src/lib/workflow-program/constants.ts +51 -0
  933. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-loader/assessment-list-loader.component.html +13 -0
  934. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-loader/assessment-list-loader.component.less +58 -0
  935. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-loader/assessment-list-loader.component.spec.ts +25 -0
  936. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-loader/assessment-list-loader.component.ts +15 -0
  937. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.html +15 -0
  938. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.less +59 -0
  939. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.spec.ts +25 -0
  940. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ts +15 -0
  941. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list.component.html +136 -0
  942. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list.component.less +519 -0
  943. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list.component.spec.ts +78 -0
  944. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/assessment-list.component.ts +211 -0
  945. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/service/assessment.interface.ts +24 -0
  946. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/service/assessment.service.spec.ts +16 -0
  947. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-list/service/assessment.service.ts +39 -0
  948. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.html +13 -0
  949. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.less +58 -0
  950. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.spec.ts +25 -0
  951. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ts +15 -0
  952. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.html +155 -0
  953. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.less +779 -0
  954. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.spec.ts +25 -0
  955. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ts +329 -0
  956. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.html +15 -0
  957. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.less +59 -0
  958. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.spec.ts +25 -0
  959. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ts +15 -0
  960. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.ts +39 -0
  961. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.spec.ts +8 -0
  962. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.ts +19 -0
  963. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.html +37 -0
  964. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.less +269 -0
  965. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ts +112 -0
  966. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/checkbox/checkbox.component.html +23 -0
  967. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/checkbox/checkbox.component.less +127 -0
  968. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/checkbox/checkbox.component.spec.ts +25 -0
  969. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ts +45 -0
  970. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/create-program-ui.module.ts +118 -0
  971. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.html +35 -0
  972. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.less +103 -0
  973. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ts +46 -0
  974. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/custom-field/custom-field.component.html +17 -0
  975. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/custom-field/custom-field.component.less +0 -0
  976. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/custom-field/custom-field.component.spec.ts +25 -0
  977. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/custom-field/custom-field.component.ts +83 -0
  978. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.html +240 -0
  979. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.less +700 -0
  980. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.spec.ts +25 -0
  981. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ts +252 -0
  982. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.spec.ts +16 -0
  983. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.ts +37 -0
  984. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.html +13 -0
  985. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.less +58 -0
  986. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.spec.ts +25 -0
  987. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.ts +15 -0
  988. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.spec.ts +8 -0
  989. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.ts +17 -0
  990. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.spec.ts +8 -0
  991. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.ts +19 -0
  992. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.spec.ts +8 -0
  993. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.ts +22 -0
  994. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.spec.ts +8 -0
  995. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.ts +60 -0
  996. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/directives/input-trim.directive.spec.ts +8 -0
  997. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/directives/input-trim.directive.ts +16 -0
  998. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/file-pill/file-pill.component.html +9 -0
  999. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/file-pill/file-pill.component.less +29 -0
  1000. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/file-pill/file-pill.component.spec.ts +25 -0
  1001. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ts +18 -0
  1002. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.html +46 -0
  1003. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.less +647 -0
  1004. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ts +72 -0
  1005. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/form-field/form-field.component.html +11 -0
  1006. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/form-field/form-field.component.less +0 -0
  1007. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/form-field/form-field.component.spec.ts +25 -0
  1008. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/form-field/form-field.component.ts +20 -0
  1009. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.html +9 -0
  1010. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.less +12 -0
  1011. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.spec.ts +25 -0
  1012. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ts +19 -0
  1013. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.html +53 -0
  1014. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.less +225 -0
  1015. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.spec.ts +25 -0
  1016. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ts +140 -0
  1017. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pagination/pagination.module.ts +20 -0
  1018. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.spec.ts +8 -0
  1019. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.ts +12 -0
  1020. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.spec.ts +8 -0
  1021. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.ts +19 -0
  1022. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/filter.pipe.spec.ts +8 -0
  1023. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/filter.pipe.ts +22 -0
  1024. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.spec.ts +8 -0
  1025. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.ts +12 -0
  1026. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/pager.pipe.ts +14 -0
  1027. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.spec.ts +8 -0
  1028. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.ts +13 -0
  1029. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/search.pipe.spec.ts +8 -0
  1030. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/search.pipe.ts +19 -0
  1031. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/removed-code.ts +101 -0
  1032. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/loader/loader.component.html +13 -0
  1033. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/loader/loader.component.less +58 -0
  1034. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/loader/loader.component.spec.ts +25 -0
  1035. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/loader/loader.component.ts +15 -0
  1036. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/role-list.component.html +121 -0
  1037. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/role-list.component.less +596 -0
  1038. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/role-list.component.spec.ts +55 -0
  1039. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/role-list.component.ts +221 -0
  1040. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.html +6 -0
  1041. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.less +144 -0
  1042. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.spec.ts +25 -0
  1043. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ts +50 -0
  1044. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.html +6 -0
  1045. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.less +35 -0
  1046. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.spec.ts +25 -0
  1047. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ts +15 -0
  1048. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.html +217 -0
  1049. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.less +634 -0
  1050. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.spec.ts +25 -0
  1051. package/projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ts +444 -0
  1052. package/projects/vx-workflow-engine/src/lib/workflow-program/data.ts +37 -0
  1053. package/projects/vx-workflow-engine/src/lib/workflow-program/workflow-program.component.html +984 -0
  1054. package/projects/vx-workflow-engine/src/lib/workflow-program/workflow-program.component.less +449 -0
  1055. package/projects/vx-workflow-engine/src/lib/workflow-program/workflow-program.component.spec.ts +322 -0
  1056. package/projects/vx-workflow-engine/src/lib/workflow-program/workflow-program.component.ts +1448 -0
  1057. package/projects/vx-workflow-engine/src/lib/workflow-risk/workflow-risk.component.html +1574 -0
  1058. package/projects/vx-workflow-engine/src/lib/workflow-risk/workflow-risk.component.less +9 -0
  1059. package/projects/vx-workflow-engine/src/lib/workflow-risk/workflow-risk.component.spec.ts +223 -0
  1060. package/projects/vx-workflow-engine/src/lib/workflow-risk/workflow-risk.component.ts +1778 -0
  1061. package/projects/vx-workflow-engine/src/lib/workflow-services/add-risk.service.ts +210 -0
  1062. package/projects/vx-workflow-engine/src/lib/workflow-services/assessment.service.spec.ts +16 -0
  1063. package/projects/vx-workflow-engine/src/lib/workflow-services/assessment.service.ts +167 -0
  1064. package/projects/vx-workflow-engine/src/lib/workflow-services/auth.service.ts +234 -0
  1065. package/projects/vx-workflow-engine/src/lib/workflow-services/frequency.service.ts +171 -0
  1066. package/projects/vx-workflow-engine/src/lib/workflow-services/log-issue.service.ts +263 -0
  1067. package/projects/vx-workflow-engine/src/lib/workflow-services/policy.service.ts +245 -0
  1068. package/projects/vx-workflow-engine/src/lib/workflow-services/programs.service.spec.ts +16 -0
  1069. package/projects/vx-workflow-engine/src/lib/workflow-services/programs.service.ts +211 -0
  1070. package/projects/vx-workflow-engine/src/lib/workflow-services/responsibility.service.ts +484 -0
  1071. package/projects/vx-workflow-engine/src/lib/workflow-services/token-decoder.service.spec.ts +16 -0
  1072. package/projects/vx-workflow-engine/src/lib/workflow-services/token-decoder.service.ts +32 -0
  1073. package/projects/vx-workflow-engine/src/lib/workflow-services/ui-kit.service.ts +11 -0
  1074. package/projects/vx-workflow-engine/src/lib/workflow-survey-form/workflow-survey-form.component.html +272 -0
  1075. package/projects/vx-workflow-engine/src/lib/workflow-survey-form/workflow-survey-form.component.less +27 -0
  1076. package/projects/vx-workflow-engine/src/lib/workflow-survey-form/workflow-survey-form.component.spec.ts +25 -0
  1077. package/projects/vx-workflow-engine/src/lib/workflow-survey-form/workflow-survey-form.component.ts +21 -0
  1078. package/projects/vx-workflow-engine/src/public-api.ts +8 -0
  1079. package/projects/vx-workflow-engine/src/test.ts +26 -0
  1080. package/projects/vx-workflow-engine/tsconfig.lib.json +20 -0
  1081. package/projects/vx-workflow-engine/tsconfig.lib.prod.json +10 -0
  1082. package/projects/vx-workflow-engine/tsconfig.spec.json +17 -0
  1083. package/projects/workflow-client/.browserslistrc +17 -0
  1084. package/projects/workflow-client/karma.conf.js +44 -0
  1085. package/projects/workflow-client/src/app/app-routing.module.ts +10 -0
  1086. package/projects/workflow-client/src/app/app.component.html +26 -0
  1087. package/projects/workflow-client/src/app/app.component.less +0 -0
  1088. package/projects/workflow-client/src/app/app.component.spec.ts +29 -0
  1089. package/projects/workflow-client/src/app/app.component.ts +111 -0
  1090. package/projects/workflow-client/src/app/app.module.ts +37 -0
  1091. package/projects/workflow-client/src/assets/.gitkeep +0 -0
  1092. package/projects/workflow-client/src/assets/v-loader.json +1 -0
  1093. package/projects/workflow-client/src/assets/vLoader.json +1 -0
  1094. package/projects/workflow-client/src/environments/environment.prod.ts +92 -0
  1095. package/projects/workflow-client/src/environments/environment.ts +100 -0
  1096. package/projects/workflow-client/src/favicon.ico +0 -0
  1097. package/projects/workflow-client/src/featureFlag/feature-flag.directive.spec.ts +46 -0
  1098. package/projects/workflow-client/src/featureFlag/feature-flag.directive.ts +29 -0
  1099. package/projects/workflow-client/src/featureFlag/feature-flag.module.ts +14 -0
  1100. package/projects/workflow-client/src/featureFlag/feature-flag.service.spec.ts +175 -0
  1101. package/projects/workflow-client/src/featureFlag/feature-flag.service.ts +94 -0
  1102. package/projects/workflow-client/src/index.html +16 -0
  1103. package/projects/workflow-client/src/main.ts +12 -0
  1104. package/projects/workflow-client/src/polyfills.ts +53 -0
  1105. package/projects/workflow-client/src/styles.less +416 -0
  1106. package/projects/workflow-client/src/test.ts +27 -0
  1107. package/projects/workflow-client/tsconfig.app.json +15 -0
  1108. package/projects/workflow-client/tsconfig.spec.json +18 -0
  1109. package/tsconfig.json +38 -0
  1110. package/bundles/vcomply-workflow-engine.umd.js +0 -26431
  1111. package/bundles/vcomply-workflow-engine.umd.js.map +0 -1
  1112. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.js +0 -700
  1113. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.ngfactory.js +0 -79
  1114. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.ngsummary.json +0 -1
  1115. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +0 -569
  1116. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.ngfactory.js +0 -102
  1117. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.ngsummary.json +0 -1
  1118. package/esm2015/lib/configurations.js +0 -6
  1119. package/esm2015/lib/configurations.ngsummary.json +0 -1
  1120. package/esm2015/lib/confirmation-alert/confirmation-alert.component.js +0 -27
  1121. package/esm2015/lib/confirmation-alert/confirmation-alert.component.ngfactory.js +0 -25
  1122. package/esm2015/lib/confirmation-alert/confirmation-alert.component.ngsummary.json +0 -1
  1123. package/esm2015/lib/create-documents/create-documents.component.js +0 -148
  1124. package/esm2015/lib/create-documents/create-documents.component.ngfactory.js +0 -42
  1125. package/esm2015/lib/create-documents/create-documents.component.ngsummary.json +0 -1
  1126. package/esm2015/lib/formgroup/cs-checkbox/cs-checkbox.component.js +0 -31
  1127. package/esm2015/lib/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.js +0 -36
  1128. package/esm2015/lib/formgroup/cs-checkbox/cs-checkbox.component.ngsummary.json +0 -1
  1129. package/esm2015/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.js +0 -33
  1130. package/esm2015/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.js +0 -33
  1131. package/esm2015/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngsummary.json +0 -1
  1132. package/esm2015/lib/formgroup/cs-radio/cs-radio.component.js +0 -30
  1133. package/esm2015/lib/formgroup/cs-radio/cs-radio.component.ngfactory.js +0 -23
  1134. package/esm2015/lib/formgroup/cs-radio/cs-radio.component.ngsummary.json +0 -1
  1135. package/esm2015/lib/formgroup/cs-radio-group/cs-radio-group.component.js +0 -14
  1136. package/esm2015/lib/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.js +0 -19
  1137. package/esm2015/lib/formgroup/cs-radio-group/cs-radio-group.component.ngsummary.json +0 -1
  1138. package/esm2015/lib/formgroup/cs-select/cs-select.component.js +0 -79
  1139. package/esm2015/lib/formgroup/cs-select/cs-select.component.ngfactory.js +0 -74
  1140. package/esm2015/lib/formgroup/cs-select/cs-select.component.ngsummary.json +0 -1
  1141. package/esm2015/lib/formgroup/cs-switch/cs-switch.component.js +0 -29
  1142. package/esm2015/lib/formgroup/cs-switch/cs-switch.component.ngfactory.js +0 -45
  1143. package/esm2015/lib/formgroup/cs-switch/cs-switch.component.ngsummary.json +0 -1
  1144. package/esm2015/lib/formgroup/formgroup.module.js +0 -38
  1145. package/esm2015/lib/formgroup/formgroup.module.ngfactory.js +0 -13
  1146. package/esm2015/lib/formgroup/formgroup.module.ngsummary.json +0 -1
  1147. package/esm2015/lib/formgroup/pipes/pascal.pipe.js +0 -15
  1148. package/esm2015/lib/formgroup/pipes/pascal.pipe.ngsummary.json +0 -1
  1149. package/esm2015/lib/formgroup/select/cs-option/cs-option.component.js +0 -41
  1150. package/esm2015/lib/formgroup/select/cs-option/cs-option.component.ngfactory.js +0 -38
  1151. package/esm2015/lib/formgroup/select/cs-option/cs-option.component.ngsummary.json +0 -1
  1152. package/esm2015/lib/formgroup/select/cs-select/cs-select.component.js +0 -98
  1153. package/esm2015/lib/formgroup/select/cs-select/cs-select.component.ngfactory.js +0 -40
  1154. package/esm2015/lib/formgroup/select/cs-select/cs-select.component.ngsummary.json +0 -1
  1155. package/esm2015/lib/formgroup/select/select.module.js +0 -16
  1156. package/esm2015/lib/formgroup/select/select.module.ngfactory.js +0 -14
  1157. package/esm2015/lib/formgroup/select/select.module.ngsummary.json +0 -1
  1158. package/esm2015/lib/formgroup/select/select.service.js +0 -48
  1159. package/esm2015/lib/formgroup/select/select.service.ngsummary.json +0 -1
  1160. package/esm2015/lib/interfaces/categoryList.js +0 -2
  1161. package/esm2015/lib/interfaces/categoryList.ngsummary.json +0 -1
  1162. package/esm2015/lib/interfaces/confirmation-alert.js +0 -2
  1163. package/esm2015/lib/interfaces/confirmation-alert.ngsummary.json +0 -1
  1164. package/esm2015/lib/interfaces/issue-data.js +0 -2
  1165. package/esm2015/lib/interfaces/issue-data.ngsummary.json +0 -1
  1166. package/esm2015/lib/log-an-issue/log-an-issue.component.js +0 -904
  1167. package/esm2015/lib/log-an-issue/log-an-issue.component.ngfactory.js +0 -517
  1168. package/esm2015/lib/log-an-issue/log-an-issue.component.ngsummary.json +0 -1
  1169. package/esm2015/lib/more-option/more-option.component.js +0 -498
  1170. package/esm2015/lib/more-option/more-option.component.ngfactory.js +0 -60
  1171. package/esm2015/lib/more-option/more-option.component.ngsummary.json +0 -1
  1172. package/esm2015/lib/pipes/data-type.pipe.js +0 -12
  1173. package/esm2015/lib/pipes/data-type.pipe.ngsummary.json +0 -1
  1174. package/esm2015/lib/pipes/list-mapper.pipe.js +0 -17
  1175. package/esm2015/lib/pipes/list-mapper.pipe.ngsummary.json +0 -1
  1176. package/esm2015/lib/pipes/search.pipe.js +0 -64
  1177. package/esm2015/lib/pipes/search.pipe.ngsummary.json +0 -1
  1178. package/esm2015/lib/pipes/space-breaker.pipe.js +0 -17
  1179. package/esm2015/lib/pipes/space-breaker.pipe.ngsummary.json +0 -1
  1180. package/esm2015/lib/pipes/uncategorized-filter.pipe.js +0 -17
  1181. package/esm2015/lib/pipes/uncategorized-filter.pipe.ngsummary.json +0 -1
  1182. package/esm2015/lib/pipes/user-filter.pipe.js +0 -26
  1183. package/esm2015/lib/pipes/user-filter.pipe.ngsummary.json +0 -1
  1184. package/esm2015/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.js +0 -333
  1185. package/esm2015/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.ngfactory.js +0 -160
  1186. package/esm2015/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.ngsummary.json +0 -1
  1187. package/esm2015/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.js +0 -73
  1188. package/esm2015/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ngfactory.js +0 -39
  1189. package/esm2015/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ngsummary.json +0 -1
  1190. package/esm2015/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.js +0 -27
  1191. package/esm2015/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.ngfactory.js +0 -153
  1192. package/esm2015/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.ngsummary.json +0 -1
  1193. package/esm2015/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.js +0 -116
  1194. package/esm2015/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ngfactory.js +0 -116
  1195. package/esm2015/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ngsummary.json +0 -1
  1196. package/esm2015/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.js +0 -165
  1197. package/esm2015/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ngfactory.js +0 -85
  1198. package/esm2015/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ngsummary.json +0 -1
  1199. package/esm2015/lib/sharedComponents/assessment-editor/components/build/build.module.js +0 -71
  1200. package/esm2015/lib/sharedComponents/assessment-editor/components/build/build.module.ngfactory.js +0 -17
  1201. package/esm2015/lib/sharedComponents/assessment-editor/components/build/build.module.ngsummary.json +0 -1
  1202. package/esm2015/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.js +0 -35
  1203. package/esm2015/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.ngfactory.js +0 -89
  1204. package/esm2015/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.ngsummary.json +0 -1
  1205. package/esm2015/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.js +0 -66
  1206. package/esm2015/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.ngfactory.js +0 -72
  1207. package/esm2015/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.ngsummary.json +0 -1
  1208. package/esm2015/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.js +0 -18
  1209. package/esm2015/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.ngfactory.js +0 -51
  1210. package/esm2015/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.ngsummary.json +0 -1
  1211. package/esm2015/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.js +0 -35
  1212. package/esm2015/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.ngfactory.js +0 -104
  1213. package/esm2015/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.ngsummary.json +0 -1
  1214. package/esm2015/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.js +0 -15
  1215. package/esm2015/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.ngfactory.js +0 -20
  1216. package/esm2015/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.ngsummary.json +0 -1
  1217. package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.js +0 -15
  1218. package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.ngfactory.js +0 -17
  1219. package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.ngsummary.json +0 -1
  1220. package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.js +0 -15
  1221. package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.ngfactory.js +0 -17
  1222. package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.ngsummary.json +0 -1
  1223. package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.js +0 -35
  1224. package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.ngfactory.js +0 -104
  1225. package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.ngsummary.json +0 -1
  1226. package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.js +0 -15
  1227. package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.ngfactory.js +0 -17
  1228. package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.ngsummary.json +0 -1
  1229. package/esm2015/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.js +0 -15
  1230. package/esm2015/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.ngfactory.js +0 -17
  1231. package/esm2015/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.ngsummary.json +0 -1
  1232. package/esm2015/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.js +0 -15
  1233. package/esm2015/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.ngfactory.js +0 -17
  1234. package/esm2015/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.ngsummary.json +0 -1
  1235. package/esm2015/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.js +0 -26
  1236. package/esm2015/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.ngfactory.js +0 -60
  1237. package/esm2015/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.ngsummary.json +0 -1
  1238. package/esm2015/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.js +0 -15
  1239. package/esm2015/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.ngfactory.js +0 -17
  1240. package/esm2015/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.ngsummary.json +0 -1
  1241. package/esm2015/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.js +0 -55
  1242. package/esm2015/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.ngfactory.js +0 -51
  1243. package/esm2015/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.ngsummary.json +0 -1
  1244. package/esm2015/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.js +0 -15
  1245. package/esm2015/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.ngfactory.js +0 -17
  1246. package/esm2015/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.ngsummary.json +0 -1
  1247. package/esm2015/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.js +0 -154
  1248. package/esm2015/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.ngfactory.js +0 -205
  1249. package/esm2015/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.ngsummary.json +0 -1
  1250. package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/error.js +0 -2
  1251. package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/error.ngsummary.json +0 -1
  1252. package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/question.js +0 -2
  1253. package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/question.ngsummary.json +0 -1
  1254. package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.js +0 -2
  1255. package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.ngsummary.json +0 -1
  1256. package/esm2015/lib/sharedComponents/assessment-editor/components/logic/logic.component.js +0 -100
  1257. package/esm2015/lib/sharedComponents/assessment-editor/components/logic/logic.component.ngfactory.js +0 -119
  1258. package/esm2015/lib/sharedComponents/assessment-editor/components/logic/logic.component.ngsummary.json +0 -1
  1259. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.js +0 -24
  1260. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.ngfactory.js +0 -59
  1261. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.ngsummary.json +0 -1
  1262. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.js +0 -15
  1263. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.ngfactory.js +0 -17
  1264. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.ngsummary.json +0 -1
  1265. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.js +0 -37
  1266. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.ngfactory.js +0 -105
  1267. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.ngsummary.json +0 -1
  1268. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.js +0 -31
  1269. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.ngfactory.js +0 -22
  1270. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.ngsummary.json +0 -1
  1271. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.js +0 -15
  1272. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.ngfactory.js +0 -37
  1273. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.ngsummary.json +0 -1
  1274. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.js +0 -24
  1275. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.ngfactory.js +0 -59
  1276. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.ngsummary.json +0 -1
  1277. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.js +0 -15
  1278. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.ngfactory.js +0 -35
  1279. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.ngsummary.json +0 -1
  1280. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.js +0 -64
  1281. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.ngfactory.js +0 -21
  1282. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.ngsummary.json +0 -1
  1283. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.js +0 -15
  1284. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.ngfactory.js +0 -36
  1285. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.ngsummary.json +0 -1
  1286. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.js +0 -24
  1287. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.ngfactory.js +0 -36
  1288. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.ngsummary.json +0 -1
  1289. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.js +0 -15
  1290. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.ngfactory.js +0 -17
  1291. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.ngsummary.json +0 -1
  1292. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.js +0 -15
  1293. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.ngfactory.js +0 -40
  1294. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.ngsummary.json +0 -1
  1295. package/esm2015/lib/sharedComponents/assessment-editor/components/move/move.component.js +0 -97
  1296. package/esm2015/lib/sharedComponents/assessment-editor/components/move/move.component.ngfactory.js +0 -103
  1297. package/esm2015/lib/sharedComponents/assessment-editor/components/move/move.component.ngsummary.json +0 -1
  1298. package/esm2015/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.js +0 -22
  1299. package/esm2015/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.ngfactory.js +0 -23
  1300. package/esm2015/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.ngsummary.json +0 -1
  1301. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.js +0 -18
  1302. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.ngsummary.json +0 -1
  1303. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.js +0 -23
  1304. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.ngsummary.json +0 -1
  1305. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.js +0 -17
  1306. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.ngsummary.json +0 -1
  1307. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.js +0 -13
  1308. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.ngsummary.json +0 -1
  1309. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.js +0 -12
  1310. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.ngsummary.json +0 -1
  1311. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.js +0 -17
  1312. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.ngsummary.json +0 -1
  1313. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.js +0 -12
  1314. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.ngsummary.json +0 -1
  1315. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.js +0 -28
  1316. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.ngfactory.js +0 -22
  1317. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.ngsummary.json +0 -1
  1318. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.js +0 -15
  1319. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.ngfactory.js +0 -17
  1320. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.ngsummary.json +0 -1
  1321. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.js +0 -31
  1322. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.ngfactory.js +0 -81
  1323. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.ngsummary.json +0 -1
  1324. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.js +0 -31
  1325. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.ngfactory.js +0 -19
  1326. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.ngsummary.json +0 -1
  1327. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.js +0 -23
  1328. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.ngfactory.js +0 -20
  1329. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.ngsummary.json +0 -1
  1330. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.js +0 -15
  1331. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.ngfactory.js +0 -37
  1332. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.ngsummary.json +0 -1
  1333. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.js +0 -24
  1334. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.ngfactory.js +0 -60
  1335. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.ngsummary.json +0 -1
  1336. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.js +0 -24
  1337. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.ngfactory.js +0 -60
  1338. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.ngsummary.json +0 -1
  1339. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.js +0 -28
  1340. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.ngfactory.js +0 -22
  1341. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.ngsummary.json +0 -1
  1342. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.js +0 -15
  1343. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.ngfactory.js +0 -35
  1344. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.ngsummary.json +0 -1
  1345. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.js +0 -15
  1346. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.ngfactory.js +0 -36
  1347. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.ngsummary.json +0 -1
  1348. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.js +0 -18
  1349. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.ngfactory.js +0 -17
  1350. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.ngsummary.json +0 -1
  1351. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.js +0 -15
  1352. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.ngfactory.js +0 -17
  1353. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.ngsummary.json +0 -1
  1354. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.js +0 -15
  1355. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.ngfactory.js +0 -40
  1356. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.ngsummary.json +0 -1
  1357. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.js +0 -67
  1358. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.ngfactory.js +0 -90
  1359. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.ngsummary.json +0 -1
  1360. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.js +0 -90
  1361. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngfactory.js +0 -29
  1362. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngsummary.json +0 -1
  1363. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.js +0 -15
  1364. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.ngfactory.js +0 -17
  1365. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.ngsummary.json +0 -1
  1366. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.js +0 -15
  1367. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.ngfactory.js +0 -17
  1368. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.ngsummary.json +0 -1
  1369. package/esm2015/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.js +0 -20
  1370. package/esm2015/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.ngfactory.js +0 -76
  1371. package/esm2015/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.ngsummary.json +0 -1
  1372. package/esm2015/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.js +0 -248
  1373. package/esm2015/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.ngfactory.js +0 -109
  1374. package/esm2015/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.ngsummary.json +0 -1
  1375. package/esm2015/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.js +0 -35
  1376. package/esm2015/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.ngfactory.js +0 -95
  1377. package/esm2015/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.ngsummary.json +0 -1
  1378. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.js +0 -56
  1379. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.ngfactory.js +0 -108
  1380. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.ngsummary.json +0 -1
  1381. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.js +0 -153
  1382. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ngfactory.js +0 -130
  1383. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ngsummary.json +0 -1
  1384. package/esm2015/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.js +0 -123
  1385. package/esm2015/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.ngfactory.js +0 -47
  1386. package/esm2015/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.ngsummary.json +0 -1
  1387. package/esm2015/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.js +0 -24
  1388. package/esm2015/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.ngfactory.js +0 -97
  1389. package/esm2015/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.ngsummary.json +0 -1
  1390. package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.js +0 -50
  1391. package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ngfactory.js +0 -47
  1392. package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ngsummary.json +0 -1
  1393. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.js +0 -437
  1394. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ngfactory.js +0 -236
  1395. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ngsummary.json +0 -1
  1396. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.js +0 -86
  1397. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.js +0 -37
  1398. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngsummary.json +0 -1
  1399. package/esm2015/lib/sharedComponents/assessment-editor/services/editor.service.js +0 -636
  1400. package/esm2015/lib/sharedComponents/assessment-editor/services/editor.service.ngsummary.json +0 -1
  1401. package/esm2015/lib/sharedComponents/assessment-editor/services/result-criteria.service.js +0 -48
  1402. package/esm2015/lib/sharedComponents/assessment-editor/services/result-criteria.service.ngsummary.json +0 -1
  1403. package/esm2015/lib/sharedComponents/assessment-editor/services/validator.service.js +0 -543
  1404. package/esm2015/lib/sharedComponents/assessment-editor/services/validator.service.ngsummary.json +0 -1
  1405. package/esm2015/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.js +0 -15
  1406. package/esm2015/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.ngfactory.js +0 -19
  1407. package/esm2015/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.ngsummary.json +0 -1
  1408. package/esm2015/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.js +0 -15
  1409. package/esm2015/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ngfactory.js +0 -19
  1410. package/esm2015/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ngsummary.json +0 -1
  1411. package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.js +0 -187
  1412. package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.ngfactory.js +0 -208
  1413. package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.ngsummary.json +0 -1
  1414. package/esm2015/lib/sharedComponents/assessment-list/service/assessment.interface.js +0 -2
  1415. package/esm2015/lib/sharedComponents/assessment-list/service/assessment.interface.ngsummary.json +0 -1
  1416. package/esm2015/lib/sharedComponents/assessment-list/service/assessment.service.js +0 -34
  1417. package/esm2015/lib/sharedComponents/assessment-list/service/assessment.service.ngsummary.json +0 -1
  1418. package/esm2015/lib/sharedComponents/assessment-preview/assessment-preview.module.js +0 -61
  1419. package/esm2015/lib/sharedComponents/assessment-preview/assessment-preview.module.ngfactory.js +0 -21
  1420. package/esm2015/lib/sharedComponents/assessment-preview/assessment-preview.module.ngsummary.json +0 -1
  1421. package/esm2015/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.js +0 -29
  1422. package/esm2015/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.ngfactory.js +0 -57
  1423. package/esm2015/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.ngsummary.json +0 -1
  1424. package/esm2015/lib/sharedComponents/assessment-preview/date-time/date-time.component.js +0 -32
  1425. package/esm2015/lib/sharedComponents/assessment-preview/date-time/date-time.component.ngfactory.js +0 -88
  1426. package/esm2015/lib/sharedComponents/assessment-preview/date-time/date-time.component.ngsummary.json +0 -1
  1427. package/esm2015/lib/sharedComponents/assessment-preview/device/device.component.js +0 -22
  1428. package/esm2015/lib/sharedComponents/assessment-preview/device/device.component.ngfactory.js +0 -26
  1429. package/esm2015/lib/sharedComponents/assessment-preview/device/device.component.ngsummary.json +0 -1
  1430. package/esm2015/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.js +0 -19
  1431. package/esm2015/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.ngfactory.js +0 -39
  1432. package/esm2015/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.ngsummary.json +0 -1
  1433. package/esm2015/lib/sharedComponents/assessment-preview/page-header/page-header.component.js +0 -19
  1434. package/esm2015/lib/sharedComponents/assessment-preview/page-header/page-header.component.ngfactory.js +0 -22
  1435. package/esm2015/lib/sharedComponents/assessment-preview/page-header/page-header.component.ngsummary.json +0 -1
  1436. package/esm2015/lib/sharedComponents/assessment-preview/preview/preview.component.js +0 -47
  1437. package/esm2015/lib/sharedComponents/assessment-preview/preview/preview.component.ngfactory.js +0 -69
  1438. package/esm2015/lib/sharedComponents/assessment-preview/preview/preview.component.ngsummary.json +0 -1
  1439. package/esm2015/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.js +0 -15
  1440. package/esm2015/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.ngfactory.js +0 -109
  1441. package/esm2015/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.ngsummary.json +0 -1
  1442. package/esm2015/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.js +0 -18
  1443. package/esm2015/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.ngfactory.js +0 -96
  1444. package/esm2015/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.ngsummary.json +0 -1
  1445. package/esm2015/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.js +0 -29
  1446. package/esm2015/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.ngfactory.js +0 -56
  1447. package/esm2015/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.ngsummary.json +0 -1
  1448. package/esm2015/lib/sharedComponents/assessment-preview/select-question/select-question.component.js +0 -32
  1449. package/esm2015/lib/sharedComponents/assessment-preview/select-question/select-question.component.ngfactory.js +0 -23
  1450. package/esm2015/lib/sharedComponents/assessment-preview/select-question/select-question.component.ngsummary.json +0 -1
  1451. package/esm2015/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.js +0 -19
  1452. package/esm2015/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.ngfactory.js +0 -21
  1453. package/esm2015/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.ngsummary.json +0 -1
  1454. package/esm2015/lib/sharedComponents/assessment-preview/welcome/welcome.component.js +0 -18
  1455. package/esm2015/lib/sharedComponents/assessment-preview/welcome/welcome.component.ngfactory.js +0 -21
  1456. package/esm2015/lib/sharedComponents/assessment-preview/welcome/welcome.component.ngsummary.json +0 -1
  1457. package/esm2015/lib/sharedComponents/audit-category-list/audit-category-list.component.js +0 -54
  1458. package/esm2015/lib/sharedComponents/audit-category-list/audit-category-list.component.ngfactory.js +0 -87
  1459. package/esm2015/lib/sharedComponents/audit-category-list/audit-category-list.component.ngsummary.json +0 -1
  1460. package/esm2015/lib/sharedComponents/audit-category-list/audit-category.model.js +0 -2
  1461. package/esm2015/lib/sharedComponents/audit-category-list/audit-category.model.ngsummary.json +0 -1
  1462. package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.js +0 -43
  1463. package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ngfactory.js +0 -323
  1464. package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ngsummary.json +0 -1
  1465. package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.js +0 -63
  1466. package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.ngfactory.js +0 -107
  1467. package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.ngsummary.json +0 -1
  1468. package/esm2015/lib/sharedComponents/category-list/category-list.component.js +0 -76
  1469. package/esm2015/lib/sharedComponents/category-list/category-list.component.ngfactory.js +0 -89
  1470. package/esm2015/lib/sharedComponents/category-list/category-list.component.ngsummary.json +0 -1
  1471. package/esm2015/lib/sharedComponents/category-multiselect/category-multi-select.component.js +0 -155
  1472. package/esm2015/lib/sharedComponents/category-multiselect/category-multi-select.component.ngfactory.js +0 -95
  1473. package/esm2015/lib/sharedComponents/category-multiselect/category-multi-select.component.ngsummary.json +0 -1
  1474. package/esm2015/lib/sharedComponents/checkbox-list/checkbox-list.component.js +0 -78
  1475. package/esm2015/lib/sharedComponents/checkbox-list/checkbox-list.component.ngfactory.js +0 -78
  1476. package/esm2015/lib/sharedComponents/checkbox-list/checkbox-list.component.ngsummary.json +0 -1
  1477. package/esm2015/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.js +0 -247
  1478. package/esm2015/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.ngfactory.js +0 -57
  1479. package/esm2015/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.ngsummary.json +0 -1
  1480. package/esm2015/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.js +0 -25
  1481. package/esm2015/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.ngfactory.js +0 -22
  1482. package/esm2015/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.ngsummary.json +0 -1
  1483. package/esm2015/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.js +0 -114
  1484. package/esm2015/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ngfactory.js +0 -298
  1485. package/esm2015/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ngsummary.json +0 -1
  1486. package/esm2015/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.js +0 -40
  1487. package/esm2015/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.ngfactory.js +0 -76
  1488. package/esm2015/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.ngsummary.json +0 -1
  1489. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.js +0 -73
  1490. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.ngfactory.js +0 -40
  1491. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.ngsummary.json +0 -1
  1492. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.js +0 -15
  1493. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.ngfactory.js +0 -17
  1494. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.ngsummary.json +0 -1
  1495. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.js +0 -186
  1496. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.ngfactory.js +0 -144
  1497. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.ngsummary.json +0 -1
  1498. package/esm2015/lib/sharedComponents/define-framework-listing/define-framework-listing.component.js +0 -29
  1499. package/esm2015/lib/sharedComponents/define-framework-listing/define-framework-listing.component.ngfactory.js +0 -211
  1500. package/esm2015/lib/sharedComponents/define-framework-listing/define-framework-listing.component.ngsummary.json +0 -1
  1501. package/esm2015/lib/sharedComponents/directive/autofocus.directive.js +0 -21
  1502. package/esm2015/lib/sharedComponents/directive/autofocus.directive.ngsummary.json +0 -1
  1503. package/esm2015/lib/sharedComponents/directive/conditional-focus.directive.js +0 -36
  1504. package/esm2015/lib/sharedComponents/directive/conditional-focus.directive.ngsummary.json +0 -1
  1505. package/esm2015/lib/sharedComponents/directive/drag-drop.directive.js +0 -41
  1506. package/esm2015/lib/sharedComponents/directive/drag-drop.directive.ngsummary.json +0 -1
  1507. package/esm2015/lib/sharedComponents/directive/scroll-in-view.directive.js +0 -36
  1508. package/esm2015/lib/sharedComponents/directive/scroll-in-view.directive.ngsummary.json +0 -1
  1509. package/esm2015/lib/sharedComponents/document-section/document-section.component.js +0 -158
  1510. package/esm2015/lib/sharedComponents/document-section/document-section.component.ngfactory.js +0 -44
  1511. package/esm2015/lib/sharedComponents/document-section/document-section.component.ngsummary.json +0 -1
  1512. package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.js +0 -75
  1513. package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.ngfactory.js +0 -107
  1514. package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.ngsummary.json +0 -1
  1515. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +0 -299
  1516. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.ngfactory.js +0 -149
  1517. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.ngsummary.json +0 -1
  1518. package/esm2015/lib/sharedComponents/framework-list/framework-list.component.js +0 -79
  1519. package/esm2015/lib/sharedComponents/framework-list/framework-list.component.ngfactory.js +0 -90
  1520. package/esm2015/lib/sharedComponents/framework-list/framework-list.component.ngsummary.json +0 -1
  1521. package/esm2015/lib/sharedComponents/framework-list/parent-table/parent-table.component.js +0 -87
  1522. package/esm2015/lib/sharedComponents/framework-list/parent-table/parent-table.component.ngfactory.js +0 -147
  1523. package/esm2015/lib/sharedComponents/framework-list/parent-table/parent-table.component.ngsummary.json +0 -1
  1524. package/esm2015/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.js +0 -209
  1525. package/esm2015/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.ngfactory.js +0 -46
  1526. package/esm2015/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.ngsummary.json +0 -1
  1527. package/esm2015/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.js +0 -184
  1528. package/esm2015/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.ngfactory.js +0 -43
  1529. package/esm2015/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.ngsummary.json +0 -1
  1530. package/esm2015/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.js +0 -30
  1531. package/esm2015/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.ngfactory.js +0 -24
  1532. package/esm2015/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.ngsummary.json +0 -1
  1533. package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.js +0 -277
  1534. package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.ngfactory.js +0 -92
  1535. package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.ngsummary.json +0 -1
  1536. package/esm2015/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.js +0 -150
  1537. package/esm2015/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.ngfactory.js +0 -38
  1538. package/esm2015/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.ngsummary.json +0 -1
  1539. package/esm2015/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.js +0 -69
  1540. package/esm2015/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.ngfactory.js +0 -197
  1541. package/esm2015/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.ngsummary.json +0 -1
  1542. package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.js +0 -167
  1543. package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ngfactory.js +0 -102
  1544. package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ngsummary.json +0 -1
  1545. package/esm2015/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.js +0 -192
  1546. package/esm2015/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.ngfactory.js +0 -43
  1547. package/esm2015/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.ngsummary.json +0 -1
  1548. package/esm2015/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.js +0 -119
  1549. package/esm2015/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.ngfactory.js +0 -90
  1550. package/esm2015/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.ngsummary.json +0 -1
  1551. package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.js +0 -133
  1552. package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.ngfactory.js +0 -78
  1553. package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.ngsummary.json +0 -1
  1554. package/esm2015/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.js +0 -66
  1555. package/esm2015/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.ngfactory.js +0 -32
  1556. package/esm2015/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.ngsummary.json +0 -1
  1557. package/esm2015/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.js +0 -178
  1558. package/esm2015/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.ngfactory.js +0 -43
  1559. package/esm2015/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.ngsummary.json +0 -1
  1560. package/esm2015/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.js +0 -31
  1561. package/esm2015/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.ngfactory.js +0 -24
  1562. package/esm2015/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.ngsummary.json +0 -1
  1563. package/esm2015/lib/sharedComponents/frequency/frequency-random/frequency-random.component.js +0 -244
  1564. package/esm2015/lib/sharedComponents/frequency/frequency-random/frequency-random.component.ngfactory.js +0 -69
  1565. package/esm2015/lib/sharedComponents/frequency/frequency-random/frequency-random.component.ngsummary.json +0 -1
  1566. package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.js +0 -102
  1567. package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ngfactory.js +0 -100
  1568. package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ngsummary.json +0 -1
  1569. package/esm2015/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.js +0 -180
  1570. package/esm2015/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.ngfactory.js +0 -43
  1571. package/esm2015/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.ngsummary.json +0 -1
  1572. package/esm2015/lib/sharedComponents/frequency/frequency.service.js +0 -456
  1573. package/esm2015/lib/sharedComponents/frequency/frequency.service.ngsummary.json +0 -1
  1574. package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.js +0 -126
  1575. package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.ngfactory.js +0 -92
  1576. package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.ngsummary.json +0 -1
  1577. package/esm2015/lib/sharedComponents/list-loader/list-loader.component.js +0 -15
  1578. package/esm2015/lib/sharedComponents/list-loader/list-loader.component.ngfactory.js +0 -19
  1579. package/esm2015/lib/sharedComponents/list-loader/list-loader.component.ngsummary.json +0 -1
  1580. package/esm2015/lib/sharedComponents/no-data/no-data.component.js +0 -29
  1581. package/esm2015/lib/sharedComponents/no-data/no-data.component.ngfactory.js +0 -23
  1582. package/esm2015/lib/sharedComponents/no-data/no-data.component.ngsummary.json +0 -1
  1583. package/esm2015/lib/sharedComponents/no-data/no-data.module.js +0 -13
  1584. package/esm2015/lib/sharedComponents/no-data/no-data.module.ngfactory.js +0 -12
  1585. package/esm2015/lib/sharedComponents/no-data/no-data.module.ngsummary.json +0 -1
  1586. package/esm2015/lib/sharedComponents/owner-list/owner-list.component.js +0 -129
  1587. package/esm2015/lib/sharedComponents/owner-list/owner-list.component.ngfactory.js +0 -81
  1588. package/esm2015/lib/sharedComponents/owner-list/owner-list.component.ngsummary.json +0 -1
  1589. package/esm2015/lib/sharedComponents/pipes/array-filter.pipe.js +0 -14
  1590. package/esm2015/lib/sharedComponents/pipes/array-filter.pipe.ngsummary.json +0 -1
  1591. package/esm2015/lib/sharedComponents/pipes/filterPipe.js +0 -26
  1592. package/esm2015/lib/sharedComponents/pipes/filterPipe.ngsummary.json +0 -1
  1593. package/esm2015/lib/sharedComponents/pipes/short-merge.pipe.js +0 -20
  1594. package/esm2015/lib/sharedComponents/pipes/short-merge.pipe.ngsummary.json +0 -1
  1595. package/esm2015/lib/sharedComponents/pipes/within-data.pipe.js +0 -17
  1596. package/esm2015/lib/sharedComponents/pipes/within-data.pipe.ngsummary.json +0 -1
  1597. package/esm2015/lib/sharedComponents/radio-list/radio-list.component.js +0 -66
  1598. package/esm2015/lib/sharedComponents/radio-list/radio-list.component.ngfactory.js +0 -97
  1599. package/esm2015/lib/sharedComponents/radio-list/radio-list.component.ngsummary.json +0 -1
  1600. package/esm2015/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.js +0 -14
  1601. package/esm2015/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.ngfactory.js +0 -19
  1602. package/esm2015/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.ngsummary.json +0 -1
  1603. package/esm2015/lib/sharedComponents/radio-list-with-pagination/radio-list.component.js +0 -111
  1604. package/esm2015/lib/sharedComponents/radio-list-with-pagination/radio-list.component.ngfactory.js +0 -103
  1605. package/esm2015/lib/sharedComponents/radio-list-with-pagination/radio-list.component.ngsummary.json +0 -1
  1606. package/esm2015/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.js +0 -109
  1607. package/esm2015/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.ngfactory.js +0 -104
  1608. package/esm2015/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.ngsummary.json +0 -1
  1609. package/esm2015/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.js +0 -70
  1610. package/esm2015/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.ngfactory.js +0 -51
  1611. package/esm2015/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.ngsummary.json +0 -1
  1612. package/esm2015/lib/sharedComponents/review-frequency/review-frequency.component.js +0 -41
  1613. package/esm2015/lib/sharedComponents/review-frequency/review-frequency.component.ngfactory.js +0 -77
  1614. package/esm2015/lib/sharedComponents/review-frequency/review-frequency.component.ngsummary.json +0 -1
  1615. package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.js +0 -92
  1616. package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.ngfactory.js +0 -76
  1617. package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.ngsummary.json +0 -1
  1618. package/esm2015/lib/sharedComponents/roles-list/roles-list.component.js +0 -25
  1619. package/esm2015/lib/sharedComponents/roles-list/roles-list.component.ngfactory.js +0 -51
  1620. package/esm2015/lib/sharedComponents/roles-list/roles-list.component.ngsummary.json +0 -1
  1621. package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.js +0 -55
  1622. package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.ngfactory.js +0 -75
  1623. package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.ngsummary.json +0 -1
  1624. package/esm2015/lib/sharedComponents/v-loader/loader/loader.component.js +0 -14
  1625. package/esm2015/lib/sharedComponents/v-loader/loader/loader.component.ngfactory.js +0 -17
  1626. package/esm2015/lib/sharedComponents/v-loader/loader/loader.component.ngsummary.json +0 -1
  1627. package/esm2015/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.js +0 -14
  1628. package/esm2015/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.ngfactory.js +0 -17
  1629. package/esm2015/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.ngsummary.json +0 -1
  1630. package/esm2015/lib/sharedComponents/v-loader/v-loader.module.js +0 -14
  1631. package/esm2015/lib/sharedComponents/v-loader/v-loader.module.ngfactory.js +0 -12
  1632. package/esm2015/lib/sharedComponents/v-loader/v-loader.module.ngsummary.json +0 -1
  1633. package/esm2015/lib/ui-kit/action-dialog/action-dialog.module.js +0 -16
  1634. package/esm2015/lib/ui-kit/action-dialog/action-dialog.module.ngfactory.js +0 -12
  1635. package/esm2015/lib/ui-kit/action-dialog/action-dialog.module.ngsummary.json +0 -1
  1636. package/esm2015/lib/ui-kit/action-dialog/active/active.component.js +0 -36
  1637. package/esm2015/lib/ui-kit/action-dialog/active/active.component.ngfactory.js +0 -25
  1638. package/esm2015/lib/ui-kit/action-dialog/active/active.component.ngsummary.json +0 -1
  1639. package/esm2015/lib/ui-kit/action-dialog/deactivate/deactivate.component.js +0 -38
  1640. package/esm2015/lib/ui-kit/action-dialog/deactivate/deactivate.component.ngfactory.js +0 -25
  1641. package/esm2015/lib/ui-kit/action-dialog/deactivate/deactivate.component.ngsummary.json +0 -1
  1642. package/esm2015/lib/ui-kit/action-dialog/delete/delete.component.js +0 -30
  1643. package/esm2015/lib/ui-kit/action-dialog/delete/delete.component.ngfactory.js +0 -25
  1644. package/esm2015/lib/ui-kit/action-dialog/delete/delete.component.ngsummary.json +0 -1
  1645. package/esm2015/lib/ui-kit/action-dialog/duplicate/duplicate.component.js +0 -32
  1646. package/esm2015/lib/ui-kit/action-dialog/duplicate/duplicate.component.ngfactory.js +0 -25
  1647. package/esm2015/lib/ui-kit/action-dialog/duplicate/duplicate.component.ngsummary.json +0 -1
  1648. package/esm2015/lib/ui-kit/click-outside/click-outside.directive.js +0 -26
  1649. package/esm2015/lib/ui-kit/click-outside/click-outside.directive.ngsummary.json +0 -1
  1650. package/esm2015/lib/ui-kit/click-outside/click-outside.module.js +0 -17
  1651. package/esm2015/lib/ui-kit/click-outside/click-outside.module.ngfactory.js +0 -12
  1652. package/esm2015/lib/ui-kit/click-outside/click-outside.module.ngsummary.json +0 -1
  1653. package/esm2015/lib/ui-kit/dialog/dialog-config.js +0 -3
  1654. package/esm2015/lib/ui-kit/dialog/dialog-config.ngsummary.json +0 -1
  1655. package/esm2015/lib/ui-kit/dialog/dialog-injector.js +0 -15
  1656. package/esm2015/lib/ui-kit/dialog/dialog-injector.ngsummary.json +0 -1
  1657. package/esm2015/lib/ui-kit/dialog/dialog-ref.js +0 -11
  1658. package/esm2015/lib/ui-kit/dialog/dialog-ref.ngsummary.json +0 -1
  1659. package/esm2015/lib/ui-kit/dialog/dialog.component.js +0 -90
  1660. package/esm2015/lib/ui-kit/dialog/dialog.component.ngfactory.js +0 -29
  1661. package/esm2015/lib/ui-kit/dialog/dialog.component.ngsummary.json +0 -1
  1662. package/esm2015/lib/ui-kit/dialog/dialog.module.js +0 -16
  1663. package/esm2015/lib/ui-kit/dialog/dialog.module.ngfactory.js +0 -14
  1664. package/esm2015/lib/ui-kit/dialog/dialog.module.ngsummary.json +0 -1
  1665. package/esm2015/lib/ui-kit/dialog/dialog.service.js +0 -60
  1666. package/esm2015/lib/ui-kit/dialog/dialog.service.ngsummary.json +0 -1
  1667. package/esm2015/lib/ui-kit/dialog/insertion.directive.js +0 -15
  1668. package/esm2015/lib/ui-kit/dialog/insertion.directive.ngsummary.json +0 -1
  1669. package/esm2015/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.js +0 -15
  1670. package/esm2015/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.ngfactory.js +0 -23
  1671. package/esm2015/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.ngsummary.json +0 -1
  1672. package/esm2015/lib/ui-kit/editor-loader/editor-loader.module.js +0 -17
  1673. package/esm2015/lib/ui-kit/editor-loader/editor-loader.module.ngfactory.js +0 -12
  1674. package/esm2015/lib/ui-kit/editor-loader/editor-loader.module.ngsummary.json +0 -1
  1675. package/esm2015/lib/ui-kit/format-html.pipe.js +0 -19
  1676. package/esm2015/lib/ui-kit/format-html.pipe.ngsummary.json +0 -1
  1677. package/esm2015/lib/ui-kit/formgroup/click-outside.directive.js +0 -26
  1678. package/esm2015/lib/ui-kit/formgroup/click-outside.directive.ngsummary.json +0 -1
  1679. package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.js +0 -29
  1680. package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.js +0 -33
  1681. package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngsummary.json +0 -1
  1682. package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.js +0 -33
  1683. package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.js +0 -33
  1684. package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngsummary.json +0 -1
  1685. package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.js +0 -27
  1686. package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngfactory.js +0 -20
  1687. package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngsummary.json +0 -1
  1688. package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.js +0 -14
  1689. package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.js +0 -19
  1690. package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngsummary.json +0 -1
  1691. package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.js +0 -80
  1692. package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.ngfactory.js +0 -89
  1693. package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.ngsummary.json +0 -1
  1694. package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.js +0 -29
  1695. package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngfactory.js +0 -62
  1696. package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngsummary.json +0 -1
  1697. package/esm2015/lib/ui-kit/formgroup/formgroup.module.js +0 -41
  1698. package/esm2015/lib/ui-kit/formgroup/formgroup.module.ngfactory.js +0 -14
  1699. package/esm2015/lib/ui-kit/formgroup/formgroup.module.ngsummary.json +0 -1
  1700. package/esm2015/lib/ui-kit/formgroup/pipes/pascal.pipe.js +0 -15
  1701. package/esm2015/lib/ui-kit/formgroup/pipes/pascal.pipe.ngsummary.json +0 -1
  1702. package/esm2015/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.js +0 -20
  1703. package/esm2015/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ngsummary.json +0 -1
  1704. package/esm2015/lib/ui-kit/line-loader/line-loader.component.js +0 -17
  1705. package/esm2015/lib/ui-kit/line-loader/line-loader.component.ngfactory.js +0 -17
  1706. package/esm2015/lib/ui-kit/line-loader/line-loader.component.ngsummary.json +0 -1
  1707. package/esm2015/lib/ui-kit/line-loader/line-loader.module.js +0 -13
  1708. package/esm2015/lib/ui-kit/line-loader/line-loader.module.ngfactory.js +0 -12
  1709. package/esm2015/lib/ui-kit/line-loader/line-loader.module.ngsummary.json +0 -1
  1710. package/esm2015/lib/ui-kit/no-data/no-data.component.js +0 -36
  1711. package/esm2015/lib/ui-kit/no-data/no-data.component.ngfactory.js +0 -27
  1712. package/esm2015/lib/ui-kit/no-data/no-data.component.ngsummary.json +0 -1
  1713. package/esm2015/lib/ui-kit/no-data/no-data.module.js +0 -13
  1714. package/esm2015/lib/ui-kit/no-data/no-data.module.ngfactory.js +0 -12
  1715. package/esm2015/lib/ui-kit/no-data/no-data.module.ngsummary.json +0 -1
  1716. package/esm2015/lib/ui-kit/pagination/pagination/pagination.component.js +0 -109
  1717. package/esm2015/lib/ui-kit/pagination/pagination/pagination.component.ngfactory.js +0 -57
  1718. package/esm2015/lib/ui-kit/pagination/pagination/pagination.component.ngsummary.json +0 -1
  1719. package/esm2015/lib/ui-kit/pagination/pagination.module.js +0 -21
  1720. package/esm2015/lib/ui-kit/pagination/pagination.module.ngfactory.js +0 -13
  1721. package/esm2015/lib/ui-kit/pagination/pagination.module.ngsummary.json +0 -1
  1722. package/esm2015/lib/ui-kit/popover/popover-event.directive.js +0 -28
  1723. package/esm2015/lib/ui-kit/popover/popover-event.directive.ngsummary.json +0 -1
  1724. package/esm2015/lib/ui-kit/popover/popover-longpress.directive.js +0 -44
  1725. package/esm2015/lib/ui-kit/popover/popover-longpress.directive.ngsummary.json +0 -1
  1726. package/esm2015/lib/ui-kit/popover/popover.component.js +0 -121
  1727. package/esm2015/lib/ui-kit/popover/popover.component.ngfactory.js +0 -31
  1728. package/esm2015/lib/ui-kit/popover/popover.component.ngsummary.json +0 -1
  1729. package/esm2015/lib/ui-kit/popover/popover.directive.js +0 -91
  1730. package/esm2015/lib/ui-kit/popover/popover.directive.ngsummary.json +0 -1
  1731. package/esm2015/lib/ui-kit/popover/popover.module.js +0 -18
  1732. package/esm2015/lib/ui-kit/popover/popover.module.ngfactory.js +0 -13
  1733. package/esm2015/lib/ui-kit/popover/popover.module.ngsummary.json +0 -1
  1734. package/esm2015/lib/ui-kit/popover/popover.service.js +0 -14
  1735. package/esm2015/lib/ui-kit/popover/popover.service.ngsummary.json +0 -1
  1736. package/esm2015/lib/ui-kit/popover-hover/popover-hover.component.js +0 -109
  1737. package/esm2015/lib/ui-kit/popover-hover/popover-hover.component.ngfactory.js +0 -23
  1738. package/esm2015/lib/ui-kit/popover-hover/popover-hover.component.ngsummary.json +0 -1
  1739. package/esm2015/lib/ui-kit/popover-hover/popover-hover.directive.js +0 -31
  1740. package/esm2015/lib/ui-kit/popover-hover/popover-hover.directive.ngsummary.json +0 -1
  1741. package/esm2015/lib/ui-kit/popover-hover/popover-hover.module.js +0 -24
  1742. package/esm2015/lib/ui-kit/popover-hover/popover-hover.module.ngfactory.js +0 -13
  1743. package/esm2015/lib/ui-kit/popover-hover/popover-hover.module.ngsummary.json +0 -1
  1744. package/esm2015/lib/ui-kit/popover-hover/popover-hover.service.js +0 -13
  1745. package/esm2015/lib/ui-kit/popover-hover/popover-hover.service.ngsummary.json +0 -1
  1746. package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.component.js +0 -39
  1747. package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.component.ngfactory.js +0 -28
  1748. package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.component.ngsummary.json +0 -1
  1749. package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.module.js +0 -13
  1750. package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.module.ngfactory.js +0 -12
  1751. package/esm2015/lib/ui-kit/smiley-dialog/smiley-dialog.module.ngsummary.json +0 -1
  1752. package/esm2015/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.js +0 -39
  1753. package/esm2015/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.ngfactory.js +0 -28
  1754. package/esm2015/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.ngsummary.json +0 -1
  1755. package/esm2015/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.js +0 -13
  1756. package/esm2015/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.ngfactory.js +0 -12
  1757. package/esm2015/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.ngsummary.json +0 -1
  1758. package/esm2015/lib/ui-kit/snack-bar/snack-bar.component.js +0 -47
  1759. package/esm2015/lib/ui-kit/snack-bar/snack-bar.component.ngfactory.js +0 -23
  1760. package/esm2015/lib/ui-kit/snack-bar/snack-bar.component.ngsummary.json +0 -1
  1761. package/esm2015/lib/ui-kit/snack-bar/snack-bar.module.js +0 -13
  1762. package/esm2015/lib/ui-kit/snack-bar/snack-bar.module.ngfactory.js +0 -12
  1763. package/esm2015/lib/ui-kit/snack-bar/snack-bar.module.ngsummary.json +0 -1
  1764. package/esm2015/lib/ui-kit/snack-bar/snack-bar.service.js +0 -31
  1765. package/esm2015/lib/ui-kit/snack-bar/snack-bar.service.ngsummary.json +0 -1
  1766. package/esm2015/lib/ui-kit/tooltip/tooltip.directive.js +0 -138
  1767. package/esm2015/lib/ui-kit/tooltip/tooltip.directive.ngsummary.json +0 -1
  1768. package/esm2015/lib/ui-kit/tooltip/tooltip.module.js +0 -13
  1769. package/esm2015/lib/ui-kit/tooltip/tooltip.module.ngfactory.js +0 -12
  1770. package/esm2015/lib/ui-kit/tooltip/tooltip.module.ngsummary.json +0 -1
  1771. package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.js +0 -557
  1772. package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.ngfactory.js +0 -82
  1773. package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.ngsummary.json +0 -1
  1774. package/esm2015/lib/workflow-assessment/workflow-assessment.component.js +0 -230
  1775. package/esm2015/lib/workflow-assessment/workflow-assessment.component.ngfactory.js +0 -246
  1776. package/esm2015/lib/workflow-assessment/workflow-assessment.component.ngsummary.json +0 -1
  1777. package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +0 -1772
  1778. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +0 -948
  1779. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngsummary.json +0 -1
  1780. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +0 -426
  1781. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +0 -329
  1782. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +0 -1
  1783. package/esm2015/lib/workflow-engine.module.js +0 -232
  1784. package/esm2015/lib/workflow-engine.module.ngfactory.js +0 -52
  1785. package/esm2015/lib/workflow-engine.module.ngsummary.json +0 -1
  1786. package/esm2015/lib/workflow-engine.service.js +0 -13
  1787. package/esm2015/lib/workflow-engine.service.ngsummary.json +0 -1
  1788. package/esm2015/lib/workflow-interfaces/create-policy-form.js +0 -2
  1789. package/esm2015/lib/workflow-interfaces/create-policy-form.ngsummary.json +0 -1
  1790. package/esm2015/lib/workflow-pagination/workflow-pagination.component.js +0 -109
  1791. package/esm2015/lib/workflow-pagination/workflow-pagination.component.ngfactory.js +0 -37
  1792. package/esm2015/lib/workflow-pagination/workflow-pagination.component.ngsummary.json +0 -1
  1793. package/esm2015/lib/workflow-policy/workflow-policy.component.js +0 -1148
  1794. package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +0 -602
  1795. package/esm2015/lib/workflow-policy/workflow-policy.component.ngsummary.json +0 -1
  1796. package/esm2015/lib/workflow-program/constants.js +0 -43
  1797. package/esm2015/lib/workflow-program/constants.ngsummary.json +0 -1
  1798. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.js +0 -15
  1799. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngfactory.js +0 -19
  1800. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngsummary.json +0 -1
  1801. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.js +0 -214
  1802. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngfactory.js +0 -229
  1803. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngsummary.json +0 -1
  1804. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.js +0 -15
  1805. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngfactory.js +0 -19
  1806. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngsummary.json +0 -1
  1807. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.js +0 -46
  1808. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.ngsummary.json +0 -1
  1809. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.js +0 -109
  1810. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ngfactory.js +0 -37
  1811. package/esm2015/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ngsummary.json +0 -1
  1812. package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.js +0 -40
  1813. package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngfactory.js +0 -24
  1814. package/esm2015/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngsummary.json +0 -1
  1815. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.js +0 -89
  1816. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +0 -25
  1817. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngsummary.json +0 -1
  1818. package/esm2015/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.js +0 -45
  1819. package/esm2015/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ngfactory.js +0 -44
  1820. package/esm2015/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ngsummary.json +0 -1
  1821. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.js +0 -29
  1822. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ngfactory.js +0 -209
  1823. package/esm2015/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ngsummary.json +0 -1
  1824. package/esm2015/lib/workflow-program/create-program-ui/directives/input-trim.directive.js +0 -17
  1825. package/esm2015/lib/workflow-program/create-program-ui/directives/input-trim.directive.ngsummary.json +0 -1
  1826. package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.js +0 -24
  1827. package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ngfactory.js +0 -38
  1828. package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ngsummary.json +0 -1
  1829. package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.js +0 -75
  1830. package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngfactory.js +0 -25
  1831. package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngsummary.json +0 -1
  1832. package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.js +0 -16
  1833. package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.ngfactory.js +0 -24
  1834. package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.ngsummary.json +0 -1
  1835. package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.js +0 -23
  1836. package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ngfactory.js +0 -23
  1837. package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ngsummary.json +0 -1
  1838. package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.js +0 -138
  1839. package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngfactory.js +0 -58
  1840. package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngsummary.json +0 -1
  1841. package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination.module.js +0 -21
  1842. package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination.module.ngfactory.js +0 -13
  1843. package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination.module.ngsummary.json +0 -1
  1844. package/esm2015/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.js +0 -12
  1845. package/esm2015/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.ngsummary.json +0 -1
  1846. package/esm2015/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.js +0 -13
  1847. package/esm2015/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.ngsummary.json +0 -1
  1848. package/esm2015/lib/workflow-program/create-program-ui/pipes/search.pipe.js +0 -20
  1849. package/esm2015/lib/workflow-program/create-program-ui/pipes/search.pipe.ngsummary.json +0 -1
  1850. package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.js +0 -160
  1851. package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.ngfactory.js +0 -91
  1852. package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.ngsummary.json +0 -1
  1853. package/esm2015/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.js +0 -41
  1854. package/esm2015/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ngfactory.js +0 -23
  1855. package/esm2015/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ngsummary.json +0 -1
  1856. package/esm2015/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.js +0 -15
  1857. package/esm2015/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ngfactory.js +0 -19
  1858. package/esm2015/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ngsummary.json +0 -1
  1859. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +0 -239
  1860. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +0 -183
  1861. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +0 -1
  1862. package/esm2015/lib/workflow-program/workflow-program.component.js +0 -894
  1863. package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +0 -851
  1864. package/esm2015/lib/workflow-program/workflow-program.component.ngsummary.json +0 -1
  1865. package/esm2015/lib/workflow-risk/workflow-risk.component.js +0 -781
  1866. package/esm2015/lib/workflow-risk/workflow-risk.component.ngfactory.js +0 -479
  1867. package/esm2015/lib/workflow-risk/workflow-risk.component.ngsummary.json +0 -1
  1868. package/esm2015/lib/workflow-services/add-risk.service.js +0 -123
  1869. package/esm2015/lib/workflow-services/add-risk.service.ngsummary.json +0 -1
  1870. package/esm2015/lib/workflow-services/assessment.service.js +0 -114
  1871. package/esm2015/lib/workflow-services/assessment.service.ngsummary.json +0 -1
  1872. package/esm2015/lib/workflow-services/auth.service.js +0 -232
  1873. package/esm2015/lib/workflow-services/auth.service.ngsummary.json +0 -1
  1874. package/esm2015/lib/workflow-services/frequency.service.js +0 -144
  1875. package/esm2015/lib/workflow-services/frequency.service.ngsummary.json +0 -1
  1876. package/esm2015/lib/workflow-services/log-issue.service.js +0 -240
  1877. package/esm2015/lib/workflow-services/log-issue.service.ngsummary.json +0 -1
  1878. package/esm2015/lib/workflow-services/policy.service.js +0 -131
  1879. package/esm2015/lib/workflow-services/policy.service.ngsummary.json +0 -1
  1880. package/esm2015/lib/workflow-services/programs.service.js +0 -240
  1881. package/esm2015/lib/workflow-services/programs.service.ngsummary.json +0 -1
  1882. package/esm2015/lib/workflow-services/responsibility.service.js +0 -127
  1883. package/esm2015/lib/workflow-services/responsibility.service.ngsummary.json +0 -1
  1884. package/esm2015/lib/workflow-services/token-decoder.service.js +0 -38
  1885. package/esm2015/lib/workflow-services/token-decoder.service.ngsummary.json +0 -1
  1886. package/esm2015/lib/workflow-services/ui-kit.service.js +0 -16
  1887. package/esm2015/lib/workflow-services/ui-kit.service.ngsummary.json +0 -1
  1888. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.js +0 -22
  1889. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.ngfactory.js +0 -30
  1890. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.ngsummary.json +0 -1
  1891. package/esm2015/public-api.js +0 -8
  1892. package/esm2015/public-api.ngsummary.json +0 -1
  1893. package/esm2015/vcomply-workflow-engine.js +0 -274
  1894. package/esm2015/vcomply-workflow-engine.ngsummary.json +0 -1
  1895. package/fesm2015/vcomply-workflow-engine.js +0 -24776
  1896. package/fesm2015/vcomply-workflow-engine.js.map +0 -1
  1897. package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts +0 -81
  1898. package/lib/add-multiple-responsibility/add-multiple-responsibility.component.ngfactory.d.ts +0 -1
  1899. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +0 -65
  1900. package/lib/add-multiple-risk/add-multiple-risk.component.ngfactory.d.ts +0 -1
  1901. package/lib/configurations.d.ts +0 -4
  1902. package/lib/confirmation-alert/confirmation-alert.component.d.ts +0 -10
  1903. package/lib/confirmation-alert/confirmation-alert.component.ngfactory.d.ts +0 -1
  1904. package/lib/create-documents/create-documents.component.d.ts +0 -36
  1905. package/lib/create-documents/create-documents.component.ngfactory.d.ts +0 -1
  1906. package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts +0 -14
  1907. package/lib/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.d.ts +0 -1
  1908. package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +0 -11
  1909. package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.d.ts +0 -1
  1910. package/lib/formgroup/cs-radio/cs-radio.component.d.ts +0 -13
  1911. package/lib/formgroup/cs-radio/cs-radio.component.ngfactory.d.ts +0 -1
  1912. package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts +0 -5
  1913. package/lib/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.d.ts +0 -1
  1914. package/lib/formgroup/cs-select/cs-select.component.d.ts +0 -31
  1915. package/lib/formgroup/cs-select/cs-select.component.ngfactory.d.ts +0 -1
  1916. package/lib/formgroup/cs-switch/cs-switch.component.d.ts +0 -12
  1917. package/lib/formgroup/cs-switch/cs-switch.component.ngfactory.d.ts +0 -1
  1918. package/lib/formgroup/formgroup.module.d.ts +0 -2
  1919. package/lib/formgroup/formgroup.module.ngfactory.d.ts +0 -3
  1920. package/lib/formgroup/pipes/pascal.pipe.d.ts +0 -4
  1921. package/lib/formgroup/select/cs-option/cs-option.component.d.ts +0 -15
  1922. package/lib/formgroup/select/cs-option/cs-option.component.ngfactory.d.ts +0 -1
  1923. package/lib/formgroup/select/cs-select/cs-select.component.d.ts +0 -34
  1924. package/lib/formgroup/select/cs-select/cs-select.component.ngfactory.d.ts +0 -1
  1925. package/lib/formgroup/select/select.module.d.ts +0 -2
  1926. package/lib/formgroup/select/select.module.ngfactory.d.ts +0 -3
  1927. package/lib/formgroup/select/select.service.d.ts +0 -15
  1928. package/lib/interfaces/categoryList.d.ts +0 -23
  1929. package/lib/interfaces/confirmation-alert.d.ts +0 -8
  1930. package/lib/interfaces/issue-data.d.ts +0 -21
  1931. package/lib/log-an-issue/log-an-issue.component.d.ts +0 -217
  1932. package/lib/log-an-issue/log-an-issue.component.ngfactory.d.ts +0 -1
  1933. package/lib/more-option/more-option.component.d.ts +0 -17
  1934. package/lib/more-option/more-option.component.ngfactory.d.ts +0 -1
  1935. package/lib/pipes/data-type.pipe.d.ts +0 -4
  1936. package/lib/pipes/list-mapper.pipe.d.ts +0 -4
  1937. package/lib/pipes/search.pipe.d.ts +0 -4
  1938. package/lib/pipes/space-breaker.pipe.d.ts +0 -4
  1939. package/lib/pipes/uncategorized-filter.pipe.d.ts +0 -4
  1940. package/lib/pipes/user-filter.pipe.d.ts +0 -4
  1941. package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts +0 -117
  1942. package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.ngfactory.d.ts +0 -1
  1943. package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts +0 -18
  1944. package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ngfactory.d.ts +0 -1
  1945. package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts +0 -10
  1946. package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.ngfactory.d.ts +0 -1
  1947. package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts +0 -22
  1948. package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ngfactory.d.ts +0 -1
  1949. package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts +0 -47
  1950. package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ngfactory.d.ts +0 -1
  1951. package/lib/sharedComponents/assessment-editor/components/build/build.module.d.ts +0 -2
  1952. package/lib/sharedComponents/assessment-editor/components/build/build.module.ngfactory.d.ts +0 -3
  1953. package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts +0 -11
  1954. package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.ngfactory.d.ts +0 -1
  1955. package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts +0 -16
  1956. package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.ngfactory.d.ts +0 -1
  1957. package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts +0 -6
  1958. package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.ngfactory.d.ts +0 -1
  1959. package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts +0 -11
  1960. package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.ngfactory.d.ts +0 -1
  1961. package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +0 -5
  1962. package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.ngfactory.d.ts +0 -1
  1963. package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts +0 -5
  1964. package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.ngfactory.d.ts +0 -1
  1965. package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts +0 -5
  1966. package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.ngfactory.d.ts +0 -1
  1967. package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts +0 -11
  1968. package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.ngfactory.d.ts +0 -1
  1969. package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts +0 -5
  1970. package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.ngfactory.d.ts +0 -1
  1971. package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts +0 -5
  1972. package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.ngfactory.d.ts +0 -1
  1973. package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts +0 -5
  1974. package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.ngfactory.d.ts +0 -1
  1975. package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts +0 -9
  1976. package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.ngfactory.d.ts +0 -1
  1977. package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +0 -5
  1978. package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.ngfactory.d.ts +0 -1
  1979. package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts +0 -12
  1980. package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.ngfactory.d.ts +0 -1
  1981. package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +0 -5
  1982. package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.ngfactory.d.ts +0 -1
  1983. package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts +0 -57
  1984. package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.ngfactory.d.ts +0 -1
  1985. package/lib/sharedComponents/assessment-editor/components/errorInterface/error.d.ts +0 -14
  1986. package/lib/sharedComponents/assessment-editor/components/errorInterface/question.d.ts +0 -5
  1987. package/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.d.ts +0 -6
  1988. package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +0 -24
  1989. package/lib/sharedComponents/assessment-editor/components/logic/logic.component.ngfactory.d.ts +0 -1
  1990. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts +0 -8
  1991. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.ngfactory.d.ts +0 -1
  1992. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts +0 -5
  1993. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.ngfactory.d.ts +0 -1
  1994. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts +0 -14
  1995. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.ngfactory.d.ts +0 -1
  1996. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts +0 -9
  1997. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.ngfactory.d.ts +0 -1
  1998. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +0 -5
  1999. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.ngfactory.d.ts +0 -1
  2000. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts +0 -8
  2001. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.ngfactory.d.ts +0 -1
  2002. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts +0 -5
  2003. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.ngfactory.d.ts +0 -1
  2004. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.d.ts +0 -2
  2005. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.ngfactory.d.ts +0 -3
  2006. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts +0 -5
  2007. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.ngfactory.d.ts +0 -1
  2008. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts +0 -9
  2009. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.ngfactory.d.ts +0 -1
  2010. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts +0 -5
  2011. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.ngfactory.d.ts +0 -1
  2012. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts +0 -5
  2013. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.ngfactory.d.ts +0 -1
  2014. package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts +0 -23
  2015. package/lib/sharedComponents/assessment-editor/components/move/move.component.ngfactory.d.ts +0 -1
  2016. package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts +0 -8
  2017. package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.ngfactory.d.ts +0 -1
  2018. package/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.d.ts +0 -4
  2019. package/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.d.ts +0 -4
  2020. package/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.d.ts +0 -4
  2021. package/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.d.ts +0 -4
  2022. package/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.d.ts +0 -4
  2023. package/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.d.ts +0 -4
  2024. package/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.d.ts +0 -4
  2025. package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts +0 -8
  2026. package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.ngfactory.d.ts +0 -1
  2027. package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts +0 -5
  2028. package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.ngfactory.d.ts +0 -1
  2029. package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts +0 -11
  2030. package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.ngfactory.d.ts +0 -1
  2031. package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts +0 -8
  2032. package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.ngfactory.d.ts +0 -1
  2033. package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts +0 -8
  2034. package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.ngfactory.d.ts +0 -1
  2035. package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts +0 -5
  2036. package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.ngfactory.d.ts +0 -1
  2037. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts +0 -7
  2038. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.ngfactory.d.ts +0 -1
  2039. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts +0 -7
  2040. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.ngfactory.d.ts +0 -1
  2041. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts +0 -8
  2042. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.ngfactory.d.ts +0 -1
  2043. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts +0 -5
  2044. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.ngfactory.d.ts +0 -1
  2045. package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts +0 -5
  2046. package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.ngfactory.d.ts +0 -1
  2047. package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts +0 -6
  2048. package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.ngfactory.d.ts +0 -1
  2049. package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts +0 -5
  2050. package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.ngfactory.d.ts +0 -1
  2051. package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts +0 -5
  2052. package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.ngfactory.d.ts +0 -1
  2053. package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts +0 -27
  2054. package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.ngfactory.d.ts +0 -1
  2055. package/lib/sharedComponents/assessment-editor/components/preview/preview.module.d.ts +0 -2
  2056. package/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngfactory.d.ts +0 -3
  2057. package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +0 -5
  2058. package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.ngfactory.d.ts +0 -1
  2059. package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +0 -5
  2060. package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.ngfactory.d.ts +0 -1
  2061. package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts +0 -6
  2062. package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.ngfactory.d.ts +0 -1
  2063. package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts +0 -28
  2064. package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.ngfactory.d.ts +0 -1
  2065. package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts +0 -11
  2066. package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.ngfactory.d.ts +0 -1
  2067. package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts +0 -16
  2068. package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.ngfactory.d.ts +0 -1
  2069. package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts +0 -47
  2070. package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ngfactory.d.ts +0 -1
  2071. package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts +0 -35
  2072. package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.ngfactory.d.ts +0 -1
  2073. package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts +0 -8
  2074. package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.ngfactory.d.ts +0 -1
  2075. package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +0 -12
  2076. package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ngfactory.d.ts +0 -1
  2077. package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts +0 -66
  2078. package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ngfactory.d.ts +0 -1
  2079. package/lib/sharedComponents/assessment-editor/create-assessment.module.d.ts +0 -2
  2080. package/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.d.ts +0 -3
  2081. package/lib/sharedComponents/assessment-editor/services/editor.service.d.ts +0 -185
  2082. package/lib/sharedComponents/assessment-editor/services/result-criteria.service.d.ts +0 -4
  2083. package/lib/sharedComponents/assessment-editor/services/validator.service.d.ts +0 -31
  2084. package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts +0 -5
  2085. package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.ngfactory.d.ts +0 -1
  2086. package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts +0 -5
  2087. package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ngfactory.d.ts +0 -1
  2088. package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +0 -80
  2089. package/lib/sharedComponents/assessment-list/assessment-list.component.ngfactory.d.ts +0 -1
  2090. package/lib/sharedComponents/assessment-list/service/assessment.interface.d.ts +0 -22
  2091. package/lib/sharedComponents/assessment-list/service/assessment.service.d.ts +0 -10
  2092. package/lib/sharedComponents/assessment-preview/assessment-preview.module.d.ts +0 -2
  2093. package/lib/sharedComponents/assessment-preview/assessment-preview.module.ngfactory.d.ts +0 -3
  2094. package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts +0 -9
  2095. package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.ngfactory.d.ts +0 -1
  2096. package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts +0 -12
  2097. package/lib/sharedComponents/assessment-preview/date-time/date-time.component.ngfactory.d.ts +0 -1
  2098. package/lib/sharedComponents/assessment-preview/device/device.component.d.ts +0 -7
  2099. package/lib/sharedComponents/assessment-preview/device/device.component.ngfactory.d.ts +0 -1
  2100. package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts +0 -7
  2101. package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.ngfactory.d.ts +0 -1
  2102. package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts +0 -7
  2103. package/lib/sharedComponents/assessment-preview/page-header/page-header.component.ngfactory.d.ts +0 -1
  2104. package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts +0 -11
  2105. package/lib/sharedComponents/assessment-preview/preview/preview.component.ngfactory.d.ts +0 -1
  2106. package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts +0 -5
  2107. package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.ngfactory.d.ts +0 -1
  2108. package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts +0 -6
  2109. package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.ngfactory.d.ts +0 -1
  2110. package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts +0 -9
  2111. package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.ngfactory.d.ts +0 -1
  2112. package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts +0 -9
  2113. package/lib/sharedComponents/assessment-preview/select-question/select-question.component.ngfactory.d.ts +0 -1
  2114. package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts +0 -7
  2115. package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.ngfactory.d.ts +0 -1
  2116. package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts +0 -6
  2117. package/lib/sharedComponents/assessment-preview/welcome/welcome.component.ngfactory.d.ts +0 -1
  2118. package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +0 -19
  2119. package/lib/sharedComponents/audit-category-list/audit-category-list.component.ngfactory.d.ts +0 -1
  2120. package/lib/sharedComponents/audit-category-list/audit-category.model.d.ts +0 -6
  2121. package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +0 -14
  2122. package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ngfactory.d.ts +0 -1
  2123. package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts +0 -17
  2124. package/lib/sharedComponents/bulk-view/bulk-view.component.ngfactory.d.ts +0 -1
  2125. package/lib/sharedComponents/category-list/category-list.component.d.ts +0 -19
  2126. package/lib/sharedComponents/category-list/category-list.component.ngfactory.d.ts +0 -1
  2127. package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts +0 -28
  2128. package/lib/sharedComponents/category-multiselect/category-multi-select.component.ngfactory.d.ts +0 -1
  2129. package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +0 -22
  2130. package/lib/sharedComponents/checkbox-list/checkbox-list.component.ngfactory.d.ts +0 -1
  2131. package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts +0 -35
  2132. package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.ngfactory.d.ts +0 -1
  2133. package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts +0 -8
  2134. package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.ngfactory.d.ts +0 -1
  2135. package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts +0 -38
  2136. package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ngfactory.d.ts +0 -1
  2137. package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts +0 -15
  2138. package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.ngfactory.d.ts +0 -1
  2139. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts +0 -16
  2140. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.ngfactory.d.ts +0 -1
  2141. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts +0 -5
  2142. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.ngfactory.d.ts +0 -1
  2143. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts +0 -33
  2144. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.ngfactory.d.ts +0 -1
  2145. package/lib/sharedComponents/define-framework-listing/define-framework-listing.component.d.ts +0 -10
  2146. package/lib/sharedComponents/define-framework-listing/define-framework-listing.component.ngfactory.d.ts +0 -1
  2147. package/lib/sharedComponents/directive/autofocus.directive.d.ts +0 -6
  2148. package/lib/sharedComponents/directive/conditional-focus.directive.d.ts +0 -9
  2149. package/lib/sharedComponents/directive/drag-drop.directive.d.ts +0 -8
  2150. package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts +0 -9
  2151. package/lib/sharedComponents/document-section/document-section.component.d.ts +0 -38
  2152. package/lib/sharedComponents/document-section/document-section.component.ngfactory.d.ts +0 -1
  2153. package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts +0 -32
  2154. package/lib/sharedComponents/floating-bar/floating-bar.component.ngfactory.d.ts +0 -1
  2155. package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +0 -41
  2156. package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.ngfactory.d.ts +0 -1
  2157. package/lib/sharedComponents/framework-list/framework-list.component.d.ts +0 -22
  2158. package/lib/sharedComponents/framework-list/framework-list.component.ngfactory.d.ts +0 -1
  2159. package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts +0 -26
  2160. package/lib/sharedComponents/framework-list/parent-table/parent-table.component.ngfactory.d.ts +0 -1
  2161. package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts +0 -37
  2162. package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.ngfactory.d.ts +0 -1
  2163. package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts +0 -35
  2164. package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.ngfactory.d.ts +0 -1
  2165. package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts +0 -10
  2166. package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.ngfactory.d.ts +0 -1
  2167. package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts +0 -29
  2168. package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.ngfactory.d.ts +0 -1
  2169. package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts +0 -30
  2170. package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.ngfactory.d.ts +0 -1
  2171. package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts +0 -19
  2172. package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.ngfactory.d.ts +0 -1
  2173. package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts +0 -36
  2174. package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ngfactory.d.ts +0 -1
  2175. package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts +0 -33
  2176. package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.ngfactory.d.ts +0 -1
  2177. package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +0 -29
  2178. package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.ngfactory.d.ts +0 -1
  2179. package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +0 -32
  2180. package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.ngfactory.d.ts +0 -1
  2181. package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts +0 -19
  2182. package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.ngfactory.d.ts +0 -1
  2183. package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts +0 -32
  2184. package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.ngfactory.d.ts +0 -1
  2185. package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts +0 -10
  2186. package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.ngfactory.d.ts +0 -1
  2187. package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +0 -59
  2188. package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.ngfactory.d.ts +0 -1
  2189. package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +0 -22
  2190. package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ngfactory.d.ts +0 -1
  2191. package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts +0 -32
  2192. package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.ngfactory.d.ts +0 -1
  2193. package/lib/sharedComponents/frequency/frequency.service.d.ts +0 -46
  2194. package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +0 -29
  2195. package/lib/sharedComponents/group-users-list/group-users-list.component.ngfactory.d.ts +0 -1
  2196. package/lib/sharedComponents/list-loader/list-loader.component.d.ts +0 -5
  2197. package/lib/sharedComponents/list-loader/list-loader.component.ngfactory.d.ts +0 -1
  2198. package/lib/sharedComponents/no-data/no-data.component.d.ts +0 -14
  2199. package/lib/sharedComponents/no-data/no-data.component.ngfactory.d.ts +0 -1
  2200. package/lib/sharedComponents/no-data/no-data.module.d.ts +0 -2
  2201. package/lib/sharedComponents/no-data/no-data.module.ngfactory.d.ts +0 -3
  2202. package/lib/sharedComponents/owner-list/owner-list.component.d.ts +0 -36
  2203. package/lib/sharedComponents/owner-list/owner-list.component.ngfactory.d.ts +0 -1
  2204. package/lib/sharedComponents/pipes/array-filter.pipe.d.ts +0 -4
  2205. package/lib/sharedComponents/pipes/filterPipe.d.ts +0 -4
  2206. package/lib/sharedComponents/pipes/short-merge.pipe.d.ts +0 -4
  2207. package/lib/sharedComponents/pipes/within-data.pipe.d.ts +0 -4
  2208. package/lib/sharedComponents/radio-list/radio-list.component.d.ts +0 -24
  2209. package/lib/sharedComponents/radio-list/radio-list.component.ngfactory.d.ts +0 -1
  2210. package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts +0 -5
  2211. package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.ngfactory.d.ts +0 -1
  2212. package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +0 -47
  2213. package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.ngfactory.d.ts +0 -1
  2214. package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts +0 -26
  2215. package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.ngfactory.d.ts +0 -1
  2216. package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +0 -23
  2217. package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.ngfactory.d.ts +0 -1
  2218. package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts +0 -15
  2219. package/lib/sharedComponents/review-frequency/review-frequency.component.ngfactory.d.ts +0 -1
  2220. package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts +0 -35
  2221. package/lib/sharedComponents/risk-classification/risk-classification.component.ngfactory.d.ts +0 -1
  2222. package/lib/sharedComponents/roles-list/roles-list.component.d.ts +0 -8
  2223. package/lib/sharedComponents/roles-list/roles-list.component.ngfactory.d.ts +0 -1
  2224. package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +0 -21
  2225. package/lib/sharedComponents/users-radio-list/users-radio-list.component.ngfactory.d.ts +0 -1
  2226. package/lib/sharedComponents/v-loader/loader/loader.component.d.ts +0 -5
  2227. package/lib/sharedComponents/v-loader/loader/loader.component.ngfactory.d.ts +0 -1
  2228. package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts +0 -5
  2229. package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.ngfactory.d.ts +0 -1
  2230. package/lib/sharedComponents/v-loader/v-loader.module.d.ts +0 -2
  2231. package/lib/sharedComponents/v-loader/v-loader.module.ngfactory.d.ts +0 -3
  2232. package/lib/ui-kit/action-dialog/action-dialog.module.d.ts +0 -2
  2233. package/lib/ui-kit/action-dialog/action-dialog.module.ngfactory.d.ts +0 -3
  2234. package/lib/ui-kit/action-dialog/active/active.component.d.ts +0 -12
  2235. package/lib/ui-kit/action-dialog/active/active.component.ngfactory.d.ts +0 -1
  2236. package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts +0 -12
  2237. package/lib/ui-kit/action-dialog/deactivate/deactivate.component.ngfactory.d.ts +0 -1
  2238. package/lib/ui-kit/action-dialog/delete/delete.component.d.ts +0 -11
  2239. package/lib/ui-kit/action-dialog/delete/delete.component.ngfactory.d.ts +0 -1
  2240. package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts +0 -12
  2241. package/lib/ui-kit/action-dialog/duplicate/duplicate.component.ngfactory.d.ts +0 -1
  2242. package/lib/ui-kit/click-outside/click-outside.directive.d.ts +0 -7
  2243. package/lib/ui-kit/click-outside/click-outside.module.d.ts +0 -2
  2244. package/lib/ui-kit/click-outside/click-outside.module.ngfactory.d.ts +0 -3
  2245. package/lib/ui-kit/dialog/dialog-config.d.ts +0 -5
  2246. package/lib/ui-kit/dialog/dialog-injector.d.ts +0 -7
  2247. package/lib/ui-kit/dialog/dialog-ref.d.ts +0 -7
  2248. package/lib/ui-kit/dialog/dialog.component.d.ts +0 -29
  2249. package/lib/ui-kit/dialog/dialog.component.ngfactory.d.ts +0 -1
  2250. package/lib/ui-kit/dialog/dialog.module.d.ts +0 -2
  2251. package/lib/ui-kit/dialog/dialog.module.ngfactory.d.ts +0 -3
  2252. package/lib/ui-kit/dialog/dialog.service.d.ts +0 -15
  2253. package/lib/ui-kit/dialog/insertion.directive.d.ts +0 -5
  2254. package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts +0 -5
  2255. package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.ngfactory.d.ts +0 -1
  2256. package/lib/ui-kit/editor-loader/editor-loader.module.d.ts +0 -2
  2257. package/lib/ui-kit/editor-loader/editor-loader.module.ngfactory.d.ts +0 -3
  2258. package/lib/ui-kit/format-html.pipe.d.ts +0 -7
  2259. package/lib/ui-kit/formgroup/click-outside.directive.d.ts +0 -7
  2260. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +0 -11
  2261. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.d.ts +0 -1
  2262. package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +0 -11
  2263. package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.d.ts +0 -1
  2264. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +0 -12
  2265. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngfactory.d.ts +0 -1
  2266. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +0 -5
  2267. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.d.ts +0 -1
  2268. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +0 -33
  2269. package/lib/ui-kit/formgroup/cs-select/cs-select.component.ngfactory.d.ts +0 -1
  2270. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +0 -12
  2271. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngfactory.d.ts +0 -1
  2272. package/lib/ui-kit/formgroup/formgroup.module.d.ts +0 -2
  2273. package/lib/ui-kit/formgroup/formgroup.module.ngfactory.d.ts +0 -3
  2274. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +0 -4
  2275. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +0 -4
  2276. package/lib/ui-kit/line-loader/line-loader.component.d.ts +0 -6
  2277. package/lib/ui-kit/line-loader/line-loader.component.ngfactory.d.ts +0 -1
  2278. package/lib/ui-kit/line-loader/line-loader.module.d.ts +0 -2
  2279. package/lib/ui-kit/line-loader/line-loader.module.ngfactory.d.ts +0 -3
  2280. package/lib/ui-kit/no-data/no-data.component.d.ts +0 -18
  2281. package/lib/ui-kit/no-data/no-data.component.ngfactory.d.ts +0 -1
  2282. package/lib/ui-kit/no-data/no-data.module.d.ts +0 -2
  2283. package/lib/ui-kit/no-data/no-data.module.ngfactory.d.ts +0 -3
  2284. package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +0 -23
  2285. package/lib/ui-kit/pagination/pagination/pagination.component.ngfactory.d.ts +0 -1
  2286. package/lib/ui-kit/pagination/pagination.module.d.ts +0 -2
  2287. package/lib/ui-kit/pagination/pagination.module.ngfactory.d.ts +0 -3
  2288. package/lib/ui-kit/popover/popover-event.directive.d.ts +0 -7
  2289. package/lib/ui-kit/popover/popover-longpress.directive.d.ts +0 -13
  2290. package/lib/ui-kit/popover/popover.component.d.ts +0 -24
  2291. package/lib/ui-kit/popover/popover.component.ngfactory.d.ts +0 -1
  2292. package/lib/ui-kit/popover/popover.directive.d.ts +0 -16
  2293. package/lib/ui-kit/popover/popover.module.d.ts +0 -2
  2294. package/lib/ui-kit/popover/popover.module.ngfactory.d.ts +0 -3
  2295. package/lib/ui-kit/popover/popover.service.d.ts +0 -9
  2296. package/lib/ui-kit/popover-hover/popover-hover.component.d.ts +0 -22
  2297. package/lib/ui-kit/popover-hover/popover-hover.component.ngfactory.d.ts +0 -1
  2298. package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts +0 -12
  2299. package/lib/ui-kit/popover-hover/popover-hover.module.d.ts +0 -2
  2300. package/lib/ui-kit/popover-hover/popover-hover.module.ngfactory.d.ts +0 -3
  2301. package/lib/ui-kit/popover-hover/popover-hover.service.d.ts +0 -9
  2302. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +0 -12
  2303. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.ngfactory.d.ts +0 -1
  2304. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +0 -2
  2305. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.ngfactory.d.ts +0 -3
  2306. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts +0 -12
  2307. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.ngfactory.d.ts +0 -1
  2308. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.d.ts +0 -2
  2309. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.ngfactory.d.ts +0 -3
  2310. package/lib/ui-kit/snack-bar/snack-bar.component.d.ts +0 -15
  2311. package/lib/ui-kit/snack-bar/snack-bar.component.ngfactory.d.ts +0 -1
  2312. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +0 -2
  2313. package/lib/ui-kit/snack-bar/snack-bar.module.ngfactory.d.ts +0 -3
  2314. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +0 -8
  2315. package/lib/ui-kit/tooltip/tooltip.directive.d.ts +0 -24
  2316. package/lib/ui-kit/tooltip/tooltip.module.d.ts +0 -2
  2317. package/lib/ui-kit/tooltip/tooltip.module.ngfactory.d.ts +0 -3
  2318. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +0 -231
  2319. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.ngfactory.d.ts +0 -1
  2320. package/lib/workflow-assessment/workflow-assessment.component.d.ts +0 -63
  2321. package/lib/workflow-assessment/workflow-assessment.component.ngfactory.d.ts +0 -1
  2322. package/lib/workflow-compliance/workflow-compliance.component.d.ts +0 -189
  2323. package/lib/workflow-compliance/workflow-compliance.component.ngfactory.d.ts +0 -1
  2324. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +0 -106
  2325. package/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.d.ts +0 -1
  2326. package/lib/workflow-engine.module.d.ts +0 -5
  2327. package/lib/workflow-engine.module.ngfactory.d.ts +0 -3
  2328. package/lib/workflow-engine.service.d.ts +0 -3
  2329. package/lib/workflow-interfaces/create-policy-form.d.ts +0 -45
  2330. package/lib/workflow-pagination/workflow-pagination.component.d.ts +0 -24
  2331. package/lib/workflow-pagination/workflow-pagination.component.ngfactory.d.ts +0 -1
  2332. package/lib/workflow-policy/workflow-policy.component.d.ts +0 -281
  2333. package/lib/workflow-policy/workflow-policy.component.ngfactory.d.ts +0 -1
  2334. package/lib/workflow-program/constants.d.ts +0 -40
  2335. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts +0 -5
  2336. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ngfactory.d.ts +0 -1
  2337. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +0 -91
  2338. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ngfactory.d.ts +0 -1
  2339. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts +0 -5
  2340. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ngfactory.d.ts +0 -1
  2341. package/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.d.ts +0 -13
  2342. package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts +0 -24
  2343. package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ngfactory.d.ts +0 -1
  2344. package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts +0 -13
  2345. package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ngfactory.d.ts +0 -1
  2346. package/lib/workflow-program/create-program-ui/create-program-ui.module.d.ts +0 -2
  2347. package/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.d.ts +0 -3
  2348. package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts +0 -17
  2349. package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ngfactory.d.ts +0 -1
  2350. package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +0 -10
  2351. package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ngfactory.d.ts +0 -1
  2352. package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts +0 -3
  2353. package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts +0 -9
  2354. package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ngfactory.d.ts +0 -1
  2355. package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts +0 -32
  2356. package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngfactory.d.ts +0 -1
  2357. package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts +0 -9
  2358. package/lib/workflow-program/create-program-ui/form-field/form-field.component.ngfactory.d.ts +0 -1
  2359. package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts +0 -8
  2360. package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ngfactory.d.ts +0 -1
  2361. package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +0 -24
  2362. package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngfactory.d.ts +0 -1
  2363. package/lib/workflow-program/create-program-ui/pagination/pagination.module.d.ts +0 -2
  2364. package/lib/workflow-program/create-program-ui/pagination/pagination.module.ngfactory.d.ts +0 -3
  2365. package/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.d.ts +0 -4
  2366. package/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.d.ts +0 -4
  2367. package/lib/workflow-program/create-program-ui/pipes/search.pipe.d.ts +0 -4
  2368. package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +0 -61
  2369. package/lib/workflow-program/create-program-ui/role-list/role-list.component.ngfactory.d.ts +0 -1
  2370. package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts +0 -17
  2371. package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ngfactory.d.ts +0 -1
  2372. package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts +0 -5
  2373. package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ngfactory.d.ts +0 -1
  2374. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +0 -87
  2375. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.d.ts +0 -1
  2376. package/lib/workflow-program/workflow-program.component.d.ts +0 -153
  2377. package/lib/workflow-program/workflow-program.component.ngfactory.d.ts +0 -1
  2378. package/lib/workflow-risk/workflow-risk.component.d.ts +0 -105
  2379. package/lib/workflow-risk/workflow-risk.component.ngfactory.d.ts +0 -1
  2380. package/lib/workflow-services/add-risk.service.d.ts +0 -22
  2381. package/lib/workflow-services/assessment.service.d.ts +0 -29
  2382. package/lib/workflow-services/auth.service.d.ts +0 -29
  2383. package/lib/workflow-services/frequency.service.d.ts +0 -5
  2384. package/lib/workflow-services/log-issue.service.d.ts +0 -31
  2385. package/lib/workflow-services/policy.service.d.ts +0 -24
  2386. package/lib/workflow-services/programs.service.d.ts +0 -82
  2387. package/lib/workflow-services/responsibility.service.d.ts +0 -33
  2388. package/lib/workflow-services/token-decoder.service.d.ts +0 -4
  2389. package/lib/workflow-services/ui-kit.service.d.ts +0 -5
  2390. package/lib/workflow-survey-form/workflow-survey-form.component.d.ts +0 -7
  2391. package/lib/workflow-survey-form/workflow-survey-form.component.ngfactory.d.ts +0 -1
  2392. package/public-api.d.ts +0 -3
  2393. package/vcomply-workflow-engine.d.ts +0 -273
  2394. package/vcomply-workflow-engine.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"vcomply-workflow-engine.umd.js","sources":["../../../projects/vx-workflow-engine/src/lib/workflow-engine.service.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.service.ts","../../../projects/vx-workflow-engine/src/lib/configurations.ts","../../../projects/vx-workflow-engine/src/lib/workflow-services/token-decoder.service.ts","../../../projects/vx-workflow-engine/src/lib/workflow-services/auth.service.ts","../../../projects/vx-workflow-engine/src/lib/workflow-services/ui-kit.service.ts","../../../projects/vx-workflow-engine/src/lib/workflow-engine-container/workflow-engine-container.component.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/vx-workflow-engine/src/lib/workflow-services/add-risk.service.ts","../../../projects/vx-workflow-engine/src/lib/workflow-risk/workflow-risk.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-services/responsibility.service.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency.service.ts","../../../projects/vx-workflow-engine/src/lib/workflow-compliance/workflow-compliance.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-services/policy.service.ts","../../../projects/vx-workflow-engine/src/lib/workflow-policy/workflow-policy.component.ts","../../../projects/vx-workflow-engine/src/lib/more-option/more-option.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/owner-list/owner-list.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/category-list/category-list.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/floating-bar/floating-bar.component.ts","../../../projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox/cs-checkbox.component.ts","../../../projects/vx-workflow-engine/src/lib/formgroup/cs-radio/cs-radio.component.ts","../../../projects/vx-workflow-engine/src/lib/formgroup/cs-switch/cs-switch.component.ts","../../../projects/vx-workflow-engine/src/lib/formgroup/cs-radio-group/cs-radio-group.component.ts","../../../projects/vx-workflow-engine/src/lib/formgroup/cs-select/cs-select.component.ts","../../../projects/vx-workflow-engine/src/lib/formgroup/pipes/pascal.pipe.ts","../../../projects/vx-workflow-engine/src/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ts","../../../projects/vx-workflow-engine/src/lib/formgroup/formgroup.module.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/tooltip/tooltip.directive.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/tooltip/tooltip.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-pagination/workflow-pagination.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/line-loader/line-loader.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/line-loader/line-loader.module.ts","../../../projects/vx-workflow-engine/src/lib/add-multiple-risk/add-multiple-risk.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/bulk-view/bulk-view.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.ts","../../../projects/vx-workflow-engine/src/lib/confirmation-alert/confirmation-alert.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.ts","../../../projects/vx-workflow-engine/src/lib/formgroup/select/select.service.ts","../../../projects/vx-workflow-engine/src/lib/formgroup/select/cs-select/cs-select.component.ts","../../../projects/vx-workflow-engine/src/lib/formgroup/select/cs-option/cs-option.component.ts","../../../projects/vx-workflow-engine/src/lib/formgroup/select/select.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-container/frequency-container.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-random/frequency-random.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-services/frequency.service.ts","../../../projects/vx-workflow-engine/src/lib/add-multiple-responsibility/add-multiple-responsibility.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/no-data/no-data.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/no-data/no-data.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader/loader.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/v-loader/v-loader.module.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.service.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.directive.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/popover/popover-event.directive.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/popover/popover-longpress.directive.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/popover/popover.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-survey-form/workflow-survey-form.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-services/log-issue.service.ts","../../../projects/vx-workflow-engine/src/lib/log-an-issue/log-an-issue.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/pipes/filterPipe.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog/smiley-dialog.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog/smiley-dialog.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/checkbox-list/checkbox-list.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/radio-list/radio-list.component.ts","../../../projects/vx-workflow-engine/src/lib/pipes/list-mapper.pipe.ts","../../../projects/vx-workflow-engine/src/lib/create-documents/create-documents.component.ts","../../../projects/vx-workflow-engine/src/lib/pipes/search.pipe.ts","../../../projects/vx-workflow-engine/src/lib/pipes/user-filter.pipe.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/group-users-list/group-users-list.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/category-multiselect/category-multi-select.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/framework-list.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/framework-list/parent-table/parent-table.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/users-radio-list/users-radio-list.component.ts","../../../projects/vx-workflow-engine/src/lib/pipes/data-type.pipe.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/snack-bar/snack-bar.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/risk-classification/risk-classification.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/format-and-evidence/format-and-evidence.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/directive/drag-drop.directive.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/directive/autofocus.directive.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/review-frequency/review-frequency.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/directive/scroll-in-view.directive.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/click-outside/click-outside.directive.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/click-outside/click-outside.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/pipes/short-merge.pipe.ts","../../../projects/vx-workflow-engine/src/lib/pipes/space-breaker.pipe.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/format-html.pipe.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/pipes/within-data.pipe.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.service.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.directive.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/popover-hover/popover-hover.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/directive/conditional-focus.directive.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/list-loader/list-loader.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/pipes/array-filter.pipe.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/audit-category-list/audit-category-list.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/document-section/document-section.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-services/assessment.service.ts","../../../projects/vx-workflow-engine/src/lib/workflow-assessment/workflow-assessment.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/service/assessment.service.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/radio-list.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/pagination/pagination/pagination.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/pagination/pagination.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/date-time/date-time.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/device/device.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview/preview.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/select-question/select-question.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/page-header/page-header.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/welcome/welcome.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-preview/assessment-preview.module.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog-config.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog-ref.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/result-criteria.service.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/editor.service.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/dialog/insertion.directive.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.module.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog-injector.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/dialog/dialog.service.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/delete/delete.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/active/active.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/services/validator.service.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-select/cs-select.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/formgroup/pipes/pascal.pipe.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/formgroup/click-outside.directive.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/formgroup/formgroup.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/build/build.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/preview/preview.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/move/move.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic/logic.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/editor-loader/editor-loader.module.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/assessment-editor/create-assessment.module.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/deactivate/deactivate.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/duplicate/duplicate.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/action-dialog/action-dialog.module.ts","../../../projects/vx-workflow-engine/src/lib/pipes/uncategorized-filter.pipe.ts","../../../projects/vx-workflow-engine/src/lib/workflow-services/programs.service.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/constants.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/workflow-program.component.ts","../../../projects/vx-workflow-engine/src/lib/sharedComponents/roles-list/roles-list.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/form-field/form-field.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/file-pill/file-pill.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/directives/input-trim.directive.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/role-list/role-list.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/checkbox/checkbox.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pagination/pagination.module.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/search.pipe.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/no-data/no-data.component.ts","../../../projects/vx-workflow-engine/src/lib/ui-kit/no-data/no-data.module.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.ts","../../../projects/vx-workflow-engine/src/lib/workflow-program/create-program-ui/create-program-ui.module.ts","../../../projects/vx-workflow-engine/src/lib/workflow-engine.module.ts","../../../projects/vx-workflow-engine/src/public-api.ts","../../../projects/vx-workflow-engine/src/vcomply-workflow-engine.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WorkflowEngineService {\r\n constructor() {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SnackBarService {\r\n public snackbarSubject = new Subject <any>();\r\n public snackbarState = this.snackbarSubject.asObservable();\r\n constructor() {}\r\n\r\n show(message: string, icon?: string) {\r\n this.snackbarSubject.next({\r\n show: true,\r\n message,\r\n icon,\r\n });\r\n }\r\n\r\n hide(){\r\n this.snackbarSubject.next({\r\n show: false,\r\n message: '',\r\n icon: '',\r\n });\r\n }\r\n}\r\n","export class Configurations {\r\n public envConfig: any;\r\n\r\n constructor() {\r\n this.envConfig = {};\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TokenDecoderService {\r\n\r\n constructor() { }\r\n\r\n getUserDetailsFromToken(){\r\n if (localStorage.getItem(\"currentUser\")) {\r\n const helper = new JwtHelperService();\r\n const rawToken = JSON.parse(localStorage.getItem('currentUser')??'{}').token;\r\n const tokenInfo = helper.decodeToken(rawToken);\r\n if(tokenInfo?.iss){\r\n if(tokenInfo.user){\r\n try{\r\n return JSON.parse(tokenInfo?.user)\r\n }\r\n catch{\r\n return null;\r\n }\r\n }\r\n }else{\r\n return tokenInfo.user??null;\r\n }\r\n }else{\r\n return null;\r\n }\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { Configurations } from '../configurations';\r\nimport { retry } from 'rxjs/operators';\r\nimport { TokenDecoderService } from './token-decoder.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n public env !: any;\r\n \r\n public previewPanel = new BehaviorSubject<boolean>(false);\r\n constructor(private http: HttpClient,private decoder:TokenDecoderService, @Optional() config?: Configurations) {\r\n if (config) {\r\n this.env = config.envConfig;\r\n\r\n }\r\n }\r\n\r\n userId() {\r\n const helper = new JwtHelperService();\r\n const CURRENT_USER = localStorage.getItem('currentUser');\r\n let myRawToken;\r\n CURRENT_USER ? (myRawToken = CURRENT_USER) : (myRawToken = '');\r\n const isExpired = helper.isTokenExpired(myRawToken);\r\n if (isExpired === false) {\r\n const tokenInfo = helper.decodeToken(myRawToken);\r\n return tokenInfo._id;\r\n }\r\n return '';\r\n }\r\n\r\n getUserDetails(){\r\n const helper = new JwtHelperService();\r\n const CURRENT_USER = localStorage.getItem('currentUser');\r\n let myRawToken;\r\n CURRENT_USER ? (myRawToken = CURRENT_USER) : (myRawToken = '');\r\n const isExpired = helper.isTokenExpired(myRawToken);\r\n if (isExpired === false) {\r\n let tokenInfo = helper.decodeToken(myRawToken);\r\n tokenInfo['user'] = this.decoder.getUserDetailsFromToken();\r\n return tokenInfo;\r\n }\r\n return '';\r\n }\r\n isKeyAdmin(): boolean {\r\n if (this.isValidToken() && Object.keys(this.tokenInfo()).length > 0) {\r\n return this.tokenInfo().keyAdmin;\r\n }\r\n return false;\r\n }\r\n\r\n isAdmin(): boolean {\r\n if (this.isValidToken()) {\r\n return this.tokenInfo().admin;\r\n }\r\n return false;\r\n }\r\n isManager(): boolean {\r\n if (this.isValidToken()) {\r\n return this.tokenInfo().manager;\r\n }\r\n return false;\r\n }\r\n\r\n isUser(): boolean {\r\n if (this.isValidToken()) {\r\n return this.tokenInfo().user;\r\n }\r\n return false;\r\n }\r\n\r\n isValidToken(): boolean {\r\n const helper = new JwtHelperService();\r\n const userToken = localStorage.getItem('currentUser');\r\n if (userToken) {\r\n const CURRENT_USER = localStorage.getItem('currentUser');\r\n let myRawToken;\r\n CURRENT_USER ? (myRawToken = CURRENT_USER) : (myRawToken = '');\r\n const isExpired = helper.isTokenExpired(myRawToken);\r\n if (isExpired === true) {\r\n return false;\r\n }\r\n if (isExpired === false) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n tokenInfo() {\r\n const helper = new JwtHelperService();\r\n const userToken = localStorage.getItem('currentUser');\r\n if (userToken) {\r\n const CURRENT_USER = localStorage.getItem('currentUser');\r\n let myRawToken;\r\n CURRENT_USER ? (myRawToken = CURRENT_USER) : (myRawToken = '');\r\n const tokenInfo = helper.decodeToken(myRawToken);\r\n return this.decoder.getUserDetailsFromToken();\r\n }\r\n return {};\r\n }\r\n\r\n getAuthorizationToken(): any {\r\n try {\r\n if (this.isValidToken()) {\r\n const tk: string | null = localStorage.getItem('currentUser');\r\n if (tk) {\r\n const myRawToken = JSON.parse(tk).token;\r\n return myRawToken;\r\n }\r\n return '';\r\n }\r\n return '';\r\n } catch (err) {}\r\n return '';\r\n }\r\n\r\n getUserTimeZone(): string {\r\n try {\r\n if (this.isValidToken()) {\r\n const helper = new JwtHelperService();\r\n const tk: string | null = localStorage.getItem('currentUser');\r\n if (tk) {\r\n const myRawToken = JSON.parse(tk).token;\r\n const tokenInfo = helper.decodeToken(myRawToken);\r\n const userInfo = this.decoder.getUserDetailsFromToken();\r\n return userInfo?.timezone;\r\n }\r\n return '';\r\n }\r\n return '';\r\n } catch (err) {}\r\n return '';\r\n }\r\n\r\n getOrganizationId(): number {\r\n try {\r\n if (this.isValidToken()) {\r\n const helper = new JwtHelperService();\r\n const tk: string | null = localStorage.getItem('currentUser');\r\n if (tk) {\r\n const myRawToken = JSON.parse(tk).token;\r\n const tokenInfo = helper.decodeToken(myRawToken);\r\n const userInfo = this.decoder.getUserDetailsFromToken();\r\n return userInfo.organisation_id;\r\n }\r\n return -1;\r\n }\r\n return -1;\r\n } catch (err) {}\r\n return -1;\r\n }\r\n\r\n getMemberId(): number {\r\n try {\r\n if (this.isValidToken()) {\r\n const helper = new JwtHelperService();\r\n const tk: string | null = localStorage.getItem('currentUser');\r\n if (tk) {\r\n const myRawToken = JSON.parse(tk).token;\r\n const tokenInfo = helper.decodeToken(myRawToken);\r\n const userInfo = this.decoder.getUserDetailsFromToken();\r\n return userInfo?.id;\r\n }\r\n return -1;\r\n }\r\n return -1;\r\n } catch (err) {}\r\n return -1;\r\n }\r\n\r\n logout() {\r\n const primaryToken = localStorage.getItem('primaryuser');\r\n if (primaryToken != null) {\r\n localStorage.setItem('currentUser', primaryToken);\r\n localStorage.removeItem('primaryuser');\r\n window.location.href = this.env.appUrl;\r\n } else {\r\n localStorage.removeItem('currentUser');\r\n window.location.href = this.env.appUrl;\r\n }\r\n }\r\n\r\n isTokenExpired() {\r\n const helper = new JwtHelperService();\r\n const userToken = localStorage.getItem('currentUser');\r\n if (userToken !== null) {\r\n const myRawToken = JSON.parse(userToken).token;\r\n const isExpired = helper.isTokenExpired(myRawToken);\r\n return isExpired;\r\n }\r\n return false;\r\n }\r\n\r\n isLoggedIn(): boolean {\r\n const helper = new JwtHelperService();\r\n const userToken = localStorage.getItem('currentUser');\r\n if (userToken) {\r\n const myRawToken = JSON.parse(userToken).token;\r\n const isExpired = helper.isTokenExpired(myRawToken);\r\n if (isExpired === false) {\r\n return true;\r\n }\r\n if (isExpired === true) {\r\n this.logout();\r\n }\r\n window.location.href = this.env.appUrl + '#/signin?redirectURL= ' + encodeURIComponent(window.location.href);\r\n return false;\r\n }\r\n window.location.href = this.env.appUrl + '#/signin?redirectURL= ' + encodeURIComponent(window.location.href);\r\n return false;\r\n }\r\n\r\n getOrganizationDetails() {\r\n const headers = new HttpHeaders().set('token', this.getAuthorizationToken());\r\n return this.http.get(this.env.organizationGet + 'orgDetails&id=' + this.getOrganizationId(),{ headers }).pipe(retry(2));\r\n }\r\n\r\n getUserInfo(){\r\n const headers = new HttpHeaders().set('token', this.getAuthorizationToken());\r\n return this.http.get(this.env.organizationGet + 'users&id=' + this.userId(), { headers }).pipe(retry(2));\r\n } \r\n\r\n getSubscriptionDetails() {\r\n const headers = new HttpHeaders().set('token', this.getAuthorizationToken());\r\n return this.http.get(this.env.organizationGet + 'subscriptionList', { headers }).pipe(retry(2));\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class UiKitService {\r\n public isSmileyOn: boolean = false;\r\n public isLoader: boolean = false;\r\n constructor() { }\r\n}","import { AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { AddMultipleRiskComponent } from '../add-multiple-risk/add-multiple-risk.component';\r\nimport { ConfirmationAlert } from '../interfaces/confirmation-alert';\r\nimport { IssueConfiguration } from '../interfaces/issue-data';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\nimport { WorkflowAssessmentComponent } from '../workflow-assessment/workflow-assessment.component';\r\nimport { ImportAnAssessmentComponent } from '../workflow-assessment/import-an-assessment/import-an-assessment.component';\r\nimport { WorkflowComplianceComponent } from '../workflow-compliance/workflow-compliance.component';\r\nimport { WorkflowPolicyComponent } from '../workflow-policy/workflow-policy.component';\r\nimport { WorkflowRiskComponent } from '../workflow-risk/workflow-risk.component';\r\nimport { AuthService } from '../workflow-services/auth.service';\r\nimport { UiKitService } from '../workflow-services/ui-kit.service';\r\nimport { LogAnIssueComponent } from './../log-an-issue/log-an-issue.component';\r\nimport { MoreOptionComponent } from './../more-option/more-option.component';\r\nimport { WorkflowProgramComponent } from '../workflow-program/workflow-program.component';\r\n\r\n@Component({\r\n selector: 'app-vcomply-workflow-engine-container',\r\n templateUrl: './workflow-engine-container.component.html',\r\n styleUrls: ['./workflow-engine-container.component.less', '../forms.less'],\r\n})\r\nexport class WorkflowEngineContainerComponent implements OnInit, AfterViewInit {\r\n\r\n isHostRefreshActive = true;\r\n isRCSelected = false\r\n @HostListener('window:beforeunload', ['$event'])\r\n unloadNotification($event: any) {\r\n const token = localStorage.getItem('currentUser')\r\n if (this.isHostRefreshActive && token) {\r\n $event.returnValue = true;\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n constructor(public uiKitService: UiKitService, private snackBar: SnackBarService, public auth: AuthService) {\r\n console.info(\"3.0.0\")\r\n }\r\n @Input() workflowType = '';\r\n @Input() mode = 'CREATE';\r\n @Input() id = '';\r\n @Input() openedFrom = 'GLOBAL';\r\n @Output() closeWorkflow = new EventEmitter();\r\n @Input() allowedWorkflows: any = [];\r\n @Input() frameworkDetails: Array<any> = []; // only for compliance part for framework\r\n @Input() selectedRC = '';\r\n @Input() secondaryOpenPortal = '';\r\n @Input() defaultRiskType = 'NORMAL';\r\n @Input() moveToRegisterMode ='';\r\n @Input() reponsibilityData = { // only used by log an issue\r\n responsibilityId: null,\r\n responsibilityName: '',\r\n rcId:null\r\n };\r\n @Input() issueData ={\r\n auditPlanId : null,\r\n auditPlanName :'',\r\n rcId: null\r\n }\r\n @Input() entrustButtonName = 'Entrust'\r\n@Input() config !: IssueConfiguration\r\n @Input() convertFileData = {}\r\n @Input() selectedCategory = ''\r\n\r\n\r\n animation = true;\r\n workflowList = false;\r\n showMoreOption = true;\r\n isWorkflowSelectorEnabled = true;\r\n disableWorkflowChange!: boolean;\r\n checkpointCount: number = 0;\r\n @ViewChild('risk', { static: false }) riskComponent!: WorkflowRiskComponent;\r\n @ViewChild('multipleRisk', { static: false }) riskBulkUpload!: AddMultipleRiskComponent;\r\n @ViewChild('multipleResponsibility', { static: false }) responsibilityBulkUpload!: AddMultipleRiskComponent;\r\n @ViewChild('responsibility', { static: false }) compliance!: WorkflowComplianceComponent;\r\n @ViewChild('moreOption', { static: false }) moreOption!: MoreOptionComponent;\r\n @ViewChild('dropdown') dropdown!: ElementRef;\r\n @ViewChild('dropdownRow', { static: false }) dropdownRow!: ElementRef;\r\n @ViewChild('policy') policy!: WorkflowPolicyComponent;\r\n @ViewChild('logAnIssue') logIssueComponent!: LogAnIssueComponent;\r\n @ViewChild('assessment') workflowAssessmentComponent!: WorkflowAssessmentComponent;\r\n @ViewChild('importAssessment', { static: false }) importAnAssessment!: ImportAnAssessmentComponent;\r\n @ViewChild('program', { static: false }) program !: WorkflowProgramComponent;\r\n\r\n dropdownLeft!: any;\r\n dropdownTop!: any;\r\n dropdownWidth!: any;\r\n\r\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\r\n if ([this.riskComponent?.showSmiley,\r\n this.riskBulkUpload?.showSmiley,\r\n this.responsibilityBulkUpload?.showSmiley,\r\n this.compliance?.showSmiley,\r\n this.importAnAssessment?.showSmiley,\r\n this.logIssueComponent?.showSmiley].includes(true)) {\r\n //Do Nothing\r\n } else {\r\n this.closeWorkflowEngine()\r\n }\r\n\r\n }\r\n\r\n currentWorkflow !: any;\r\n workflowTypeList: any = [\r\n { workflowName: 'Create a Responsibility', code: 'CAR', permissionIdentifier: 'RESPONSIBILITY' },\r\n { workflowName: 'Create Multiple Responsibilities', code: 'CMR', permissionIdentifier: 'MULTIPLE_RESPONSIBILITY' },\r\n { workflowName: 'Add a Risk', code: 'AAR', permissionIdentifier: 'RISK' },\r\n { workflowName: 'Add Multiple Risks', code: 'AMR', permissionIdentifier: 'MULTIPLE_RISK' },\r\n { workflowName: 'Create a Policy', code: 'CAP', permissionIdentifier: 'POLICY' },\r\n { workflowName: 'Create a Survey', code: 'CAS', permissionIdentifier: 'SURVEY' },\r\n { workflowName: 'Create a Form', code: 'CAF', permissionIdentifier: 'FORM' },\r\n { workflowName: 'Log an Issue', code: 'LAI', permissionIdentifier: 'ISSUE' },\r\n { workflowName: 'Create an Assessment', code: 'AAA', permissionIdentifier: 'ASSESSMENT' },\r\n { workflowName: 'Import an Assessment', code: 'IAA', permissionIdentifier: 'IMPORT_ASSESSMENT' },\r\n { workflowName: 'Create a Program', code: 'CAPR', permissionIdentifier: 'PROGRAM' }\r\n ];\r\n additionalInformationList = [\r\n 'Objective',\r\n 'Responsibility Center',\r\n 'Responsibility Category'\r\n ];\r\n confirmationAlertConfig: ConfirmationAlert = { isVisible: false };\r\n closeWorkflowEngine(evt?: any) {\r\n if (evt?.confirm === false) {\r\n this.closeWorkflow.emit(evt ? evt.evt : evt);\r\n } else {\r\n this.closeConfirm(evt);\r\n }\r\n }\r\n\r\n closeConfirm(evt: any) {\r\n this.confirmationAlertConfig = { isVisible: true, message: 'If you navigate away, any unsaved changes will be lost.', action: 'WORKFLOW_CLOSE', data: evt };\r\n }\r\n executeClose(evt: any) {\r\n if (evt.action === 'YES') {\r\n this.closeWorkflow.emit()\r\n }\r\n }\r\n ngOnInit(): void {\r\n this.setNetworkListner();\r\n this.setWorkflow(this.workflowType, this.workflowTypeList);\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 500);\r\n this.setWorkflow(this.workflowType, this.workflowTypeList);\r\n this.decideViewMoreOption();\r\n }\r\n\r\n setNetworkListner() {\r\n addEventListener('offline', (e) => {\r\n this.snackBar.show('Connection lost!<br>Check your network connectivity.')\r\n });\r\n addEventListener('online', (e) => {\r\n this.snackBar.show('You\\'re back online!')\r\n });\r\n }\r\n ngAfterViewInit() {\r\n this.workflowTypeList = this.workflowTypeList.filter((workflow: any) => {\r\n if (this.allowedWorkflows.includes(workflow.permissionIdentifier)) {\r\n return workflow;\r\n }\r\n });\r\n if (this.openedFrom === 'RISK_TREATMENT') {\r\n this.isWorkflowSelectorEnabled = true;\r\n this.disableWorkflowChange = true;\r\n }\r\n }\r\n\r\n decideViewMoreOption(type?: boolean) {\r\n if ((this.currentWorkflow.code === 'CMR' || this.currentWorkflow.code === 'AMR' || this.currentWorkflow.code === 'AAA' || this.currentWorkflow.code === 'IAA')) {\r\n this.showMoreOption = false;\r\n if (type === true) {\r\n this.isWorkflowSelectorEnabled = false;\r\n } else {\r\n this.isWorkflowSelectorEnabled = true;\r\n }\r\n } else {\r\n\r\n if (type === true) { this.showMoreOption = false; this.isWorkflowSelectorEnabled = false; }\r\n if (type === false) { this.showMoreOption = true; this.isWorkflowSelectorEnabled = true; }\r\n if (type === undefined) {\r\n this.showMoreOption = true;\r\n this.isWorkflowSelectorEnabled = true;\r\n }\r\n }\r\n }\r\n\r\n submit() {\r\n switch (this.currentWorkflow?.code) {\r\n case 'AAR':\r\n this.riskComponent.submitRisk();\r\n break;\r\n case 'LAI':\r\n this.logIssueComponent.addIssue();\r\n break;\r\n case 'CAR':\r\n this.compliance.submitResponsibility();\r\n break;\r\n case 'CAP':\r\n this.policy.submitPolicy();\r\n break;\r\n case 'AAA':\r\n this.workflowAssessmentComponent.submitAssessment();\r\n break;\r\n case 'CAPR':{\r\n this.program.saveProgram();\r\n break;\r\n }\r\n // case 'IAA':\r\n // this.importAnAssessment.submitAssessment();\r\n \r\n }\r\n }\r\n\r\n editWorkflow() {\r\n this.workflowList = !this.workflowList;\r\n const dropdown = this.dropdown.nativeElement.getBoundingClientRect();\r\n this.dropdownLeft = dropdown.left;\r\n this.dropdownTop = dropdown.top + dropdown.height;\r\n this.dropdownWidth = dropdown.width;\r\n }\r\n closeWorkflowList() {\r\n this.workflowList = false;\r\n }\r\n @HostListener('window:resize', ['$event'])\r\n sizeChange(event: any) {\r\n this.workflowList = false;\r\n }\r\n changeWorkflow(evt: any, selectedWorkflow: any) {\r\n if (selectedWorkflow.code === this.currentWorkflow.code) { return; }\r\n this.confirmationAlertConfig = { isVisible: true, message: 'If you change the workflow, any unsaved changes would be lost.', action: 'WORKFLOW_CHANGE', data: selectedWorkflow };\r\n }\r\n\r\n confirmWorkflowChange(evt: any) {\r\n console.log(\"event ====>\", evt)\r\n if (evt.action === 'YES') {\r\n\r\n switch (evt.payload.action) {\r\n case 'WORKFLOW_CHANGE':\r\n this.currentWorkflow = evt?.payload?.data ?? null;\r\n\r\n if (this.currentWorkflow?.code) {\r\n if (this.moreOption) {\r\n this.moreOption.resetAll(this.currentWorkflow?.code);\r\n }\r\n }\r\n\r\n break;\r\n case 'EDIT_RISK':\r\n this.riskComponent.createRisk(this.riskComponent.riskForm);\r\n break;\r\n case 'POLICY_PORTAL':\r\n this.policy.confirmPolicyPortal(evt.action);\r\n break;\r\n case 'WORKFLOW_CLOSE':\r\n this.closeWorkflow.emit(evt?.payload?.data)\r\n break;\r\n case 'checkpoint':\r\n this.moreOption.moreOptionsList.CAR.forEach((option: any) => {\r\n if (option.code === 'ASSESSMENT' || option.code === 'CHECKPOINTS_NEW') {\r\n option.isDisabled = false;\r\n }\r\n\r\n if (option.code === 'CHECKPOINTS') {\r\n option.isDisabled = true;\r\n }\r\n\r\n });\r\n\r\n this.compliance.removeCheckpoint();\r\n break;\r\n\r\n case 'new-checkpoints':\r\n this.moreOption.moreOptionsList.CAR.forEach((option: any) => {\r\n if (option.code === 'ASSESSMENT' && !evt.payload.isDataRemoved) {\r\n option.isDisabled = false;\r\n }\r\n\r\n if (option.code === 'CHECKPOINTS' && !evt.payload.isDataRemoved) {\r\n option.isDisabled = true;\r\n }\r\n if(evt.payload.isCheckpointChecked && option.code === 'CHECKPOINTS_NEW') {\r\n option.checked = false;\r\n this.compliance.moreOptions.CHECKPOINTS_NEW = false;\r\n\r\n }\r\n\r\n });\r\n\r\n this.compliance.remove('new-checkpoints')\r\n\r\n }\r\n\r\n } else {\r\n switch (evt.payload.action) {\r\n case 'POLICY_PORTAL':\r\n this.policy.confirmPolicyPortal(evt.action);\r\n break;\r\n }\r\n }\r\n this.confirmationAlertConfig = { isVisible: false, message: '', action: '', data: null };\r\n this.decideViewMoreOption();\r\n return evt;\r\n }\r\n\r\n setWorkflow(workFlowCode: any, workFlowList: any) {\r\n const selectedWorkflow = workFlowList.find((element: any) => element.code === workFlowCode);\r\n selectedWorkflow ? this.currentWorkflow = selectedWorkflow : this.currentWorkflow = null;\r\n console.log(\"selected\",selectedWorkflow)\r\n return selectedWorkflow;\r\n }\r\n\r\n addMoreInfo(event: any) {\r\n console.log(\"event ==>\", event, this.checkpointCount)\r\n switch (this.currentWorkflow?.code) {\r\n case 'AAR':\r\n this.riskComponent.addMoreInfo(event);\r\n break;\r\n case 'LAI':\r\n this.logIssueComponent.addMoreInfo(event);\r\n break;\r\n\r\n case 'CAR':\r\n if (event.code === \"CHECKPOINTS\") {\r\n this.onRemovingCheckpoint('checkpoint');\r\n break;\r\n }\r\n if(event.code === 'CHECKPOINTS_NEW'){\r\n const index = this.moreOption.moreOptionsList.CAR.findIndex((ele: any) => ele.code === 'ASSESSMENT');\r\n this.moreOption.moreOptionsList.CAR[index].isDisabled = event.checked ? true : false;\r\n if( event.checkpoint_new && this.checkpointCount) {\r\n this.onRemovingCheckpoint('new-checkpoints', true);\r\n } else {\r\n const CHECKPOINT_INDEX = this.moreOption.moreOptionsList.CAR.findIndex((ele: any) => ele.code === 'CHECKPOINTS_NEW');\r\n this.compliance.moreOptions.CHECKPOINTS_NEW = event.checked;\r\n if(event.checkpoint_new) {\r\n const isChecked = event.checked ? false : true;\r\n event.checked = isChecked;\r\n }\r\n\r\n this.moreOption.moreOptionsList.CAR[CHECKPOINT_INDEX] = event;\r\n this.moreOption.moreOptionsList.CAR[index].isDisabled = event.checked\r\n }\r\n }\r\n if(event.code === 'ASSESSMENT'){\r\n const index = this.moreOption.moreOptionsList.CAR.findIndex((ele: any) => ele.code === 'CHECKPOINTS_NEW');\r\n this.moreOption.moreOptionsList.CAR[index].isDisabled = event.checked;\r\n }\r\n this.compliance.addMoreInfo(event);\r\n break;\r\n case 'CAP':\r\n this.policy.addMoreInfo(event);\r\n break;\r\n case 'CAPR':\r\n this.program.addMoreInfo(event);\r\n break;\r\n }\r\n }\r\n\r\n populateMoreOption(event: any) {\r\n if (this.moreOption) {\r\n this.moreOption.populate(event);\r\n }\r\n\r\n }\r\n hideElementsFromMoreOptions(event: any) {\r\n this.moreOption.hideElements(event);\r\n }\r\n\r\n showConfirmationPopup(config: ConfirmationAlert) {\r\n this.confirmationAlertConfig = config;\r\n }\r\n\r\n bulkUploadBrowse(event: any) {\r\n switch (event) {\r\n case 'AMR':\r\n this.riskBulkUpload.triggerBrowseFile();\r\n break;\r\n case 'CMR':\r\n this.responsibilityBulkUpload.triggerBrowseFile();\r\n break;\r\n case 'IAA':\r\n this.importAnAssessment.triggerBrowseFile();\r\n\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n }\r\n\r\n onResetForm() {\r\n this.mode = 'CREATE';\r\n this.entrustButtonName = 'Entrust';\r\n }\r\n shiftToEditMode() {\r\n this.mode = 'EDIT'\r\n }\r\n scrollForm() {\r\n if (this.dropdownRow.nativeElement.getBoundingClientRect().top < 38) {\r\n this.dropdownRow.nativeElement.classList.add('hide');\r\n } else {\r\n this.dropdownRow.nativeElement.classList.remove('hide');\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param event which more options we are removing.\r\n * @param isCheckpointChecked is true if value checkpoints is removed by clicking on more options\r\n */\r\n onRemovingCheckpoint(event: string, isCheckpointChecked?: boolean, isDataRemoved?: boolean): void {\r\n let msg = '';\r\n if(event === 'new-checkpoints') {\r\n msg = 'If you choose to remove these Checkpoints, they will be deleted and cannot be restored. However, you will still be able to create new Checkpoints or link an Assessment.'\r\n } else {\r\n msg = 'If you choose to remove these checkpoints, they will be deleted and cannot be restored.'\r\n }\r\n this.confirmationAlertConfig = { isVisible: true, message: msg, action: event, data: { type: 'responsibilityCheckpoint' } , isCheckpointChecked: (isCheckpointChecked ?? false), isDataRemoved: (isDataRemoved ?? false)};\r\n console.log(\"this.confirmationAlertConfig ===>\", this.confirmationAlertConfig)\r\n }\r\n\r\n isAssessmentDisabled(isDisabled: boolean) {\r\n this.moreOption.moreOptionsList.CAR.forEach((option: any) => {\r\n if (option.code === 'ASSESSMENT' || option.code === 'CHECKPOINTS_NEW') {\r\n option.isDisabled = true;\r\n }\r\n });\r\n }\r\n\r\n onCheckpointSelection(event: number) {\r\n this.checkpointCount = event;\r\n\r\n }\r\n\r\n onRcSelected(isRcSelected: boolean): void {\r\n console.log(\"isRcSelected ==>\", isRcSelected)\r\n this.isRCSelected = isRcSelected;\r\n }\r\n\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { HttpClient, HttpBackend, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { retry } from 'rxjs/operators';\r\nimport { AuthService } from './auth.service';\r\nimport { Configurations } from '../configurations';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AddRiskService {\r\n env !: any;\r\n constructor(private http: HttpClient, private authService: AuthService, @Optional() config?: Configurations) {\r\n if (config) {\r\n this.env = config.envConfig;\r\n\r\n }\r\n }\r\n\r\n getAdminKeyAdminList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.organizationGet + 'organisationUsersList&type=admin_keyadmin', { headers })\r\n .pipe(retry(2));\r\n }\r\n\r\n getCategoryList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.riskGet + 'category/list', { headers })\r\n .pipe(retry(2));\r\n }\r\n\r\n getOrganizationUsers() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.organizationGet + 'organizationUsers&from=risk', {\r\n headers,\r\n })\r\n .pipe(retry(2));\r\n }\r\n\r\n getResponsibilityCenterList(rcArray: any[]) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post<any[]>(this.env.riskPost + 'risk/responsibilityCenterList', { rc_id_arr: rcArray ?? [] }, { headers }).pipe(retry(2));\r\n }\r\n\r\n getRiskSettingDetails() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any>(this.env.riskGet + 'settings/GetRiskSettingsDetails', {\r\n headers,\r\n })\r\n .pipe(retry(2));\r\n }\r\n\r\n downLoadFile(data: any, type: string, filename: string) {\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n const blob = new Blob([this.base64ToArrayBuffer(data)], { type });\r\n window.navigator.msSaveOrOpenBlob(blob, filename);\r\n } else {\r\n const url = 'data:' + type.toString() + ';base64,' + data;\r\n const a = document.createElement('a');\r\n a.setAttribute('href', url);\r\n a.setAttribute('download', filename);\r\n a.style.visibility = 'hidden';\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n return 'DOWNLOADED'\r\n }\r\n\r\n base64ToArrayBuffer(base64: any) {\r\n const binaryString = window.atob(base64);\r\n const len = binaryString.length;\r\n const bytes = new Uint8Array(len);\r\n for (let i = 0; i < len; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n return bytes.buffer;\r\n }\r\n\r\n downloadTemplate(categoryId: string) {\r\n const headers = new HttpHeaders({\r\n token: this.authService.getAuthorizationToken(),\r\n });\r\n return this.http.get(this.env.riskGet + 'template/riskBulkUpload&catgeory_id=' + categoryId, { headers, observe: 'events', reportProgress: true });\r\n }\r\n\r\n downloadResponsibilityTemplate() {\r\n console.log(\"env\", this.env);\r\n const headers = new HttpHeaders({\r\n token: this.authService.getAuthorizationToken(),\r\n });\r\n return this.http.get(this.env.complianceGet + 'template/report', { headers, observe: 'events', reportProgress: true });\r\n }\r\n\r\n \r\n addRisk(payload: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .post<any>(this.env.riskPost + 'risk/CreateRisk', payload, { headers })\r\n .pipe(retry(2));\r\n }\r\n\r\n addBulkRisk(payload: any[]) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .post<any>(this.env.riskPost + 'risk/BulkUpload', payload, { headers })\r\n .pipe(retry(2));\r\n }\r\n\r\n getRiskDetail(riskId: string) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post<any>(this.env.riskPost + 'risk/RiskDetailsById&RiskId=' + riskId + '&callFrom=RISK_EDIT', {}, { headers }).pipe(retry(2));\r\n }\r\n\r\n updateRisk(riskId: string, payload: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .post<any>(this.env.riskPost + 'risk/CreateRisk&RiskId=' + riskId, payload, { headers })\r\n .pipe(retry(2));\r\n }\r\n}\r\n","import { ThrowStmt } from '@angular/compiler';\r\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\nimport { Component, Input, EventEmitter, OnInit, Optional, Output, ChangeDetectionStrategy } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { Configurations } from '../configurations';\r\nimport { CategoryList } from '../interfaces/categoryList';\r\nimport { ConfirmationAlert } from '../interfaces/confirmation-alert';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\nimport { AddRiskService } from '../workflow-services/add-risk.service';\r\nimport { AuthService } from '../workflow-services/auth.service';\r\nimport { UiKitService } from '../workflow-services/ui-kit.service';\r\n\r\n@Component({\r\n selector: 'app-workflow-risk',\r\n templateUrl: './workflow-risk.component.html',\r\n styleUrls: ['./workflow-risk.component.less', '../forms.less'],\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n\r\n})\r\nexport class WorkflowRiskComponent implements OnInit {\r\n\r\n responsibilityCentersList: any = [];\r\n selectedResponsibilityCenters: any = [];\r\n mitigationDetails: any = [];\r\n ownersList: any = [];\r\n nonRemovableUsersList: any = [];\r\n editDetails!: any;\r\n smileyMessage = `You're All Set!`;\r\n riskData !: any;\r\n actionButtons = [\r\n { buttonText: 'Add More Risks', class: 'white-btn', id: 'addMore' },\r\n { buttonText: 'View Risk', class: 'blue-btn', id: 'viewRisks' },\r\n ];\r\n sideSelectorElements: any = ['rc', 'owner', 'overseer', 'category'];\r\n showSmiley = false;\r\n @Input() mode = 'EDIT';\r\n @Input() riskId = '';\r\n @Input() defaultRiskType = 'NORMAL'\r\n @Input() moveToRegisterMode = ''\r\n @Input() secondaryOpenPortal = '';\r\n @Output() showConfirmationAlert = new EventEmitter();\r\n @Output() pickerChanged = new EventEmitter();\r\n @Output() populateOption = new EventEmitter();\r\n @Output() closeWorkflow = new EventEmitter();\r\n @Output() disconnectRefresh = new EventEmitter();\r\n @Output() refreshForm = new EventEmitter();\r\n @Output() hideElementsFromMoreOptions = new EventEmitter();\r\n @Input() openedFrom = ''\r\n scrollToBottom = false;\r\n categoryList: CategoryList = {\r\n strategic: {\r\n name: 'STRATEGIC',\r\n data: []\r\n },\r\n operational: {\r\n name: 'OPERATIONAL',\r\n data: []\r\n },\r\n compliance: {\r\n name: 'COMPLIANCE',\r\n data: []\r\n },\r\n others: {\r\n name: 'OTHERS',\r\n data: []\r\n },\r\n };\r\n overseersList: any = [];\r\n adminsList: any = [];\r\n overseersIdList: any = [];\r\n timezone!: string;\r\n date!: Date;\r\n riskNameFocus = false;\r\n assessmentFocus = false;\r\n riskTypeChangeAllowed = false;\r\n\r\n\r\n riskForm: any = {\r\n riskType: 'NORMAL',\r\n title: '',\r\n description: '',\r\n responsibilityCentersList: [],\r\n ownersList: [],\r\n category: {\r\n type: 'strategic',\r\n selectedCategory: '',\r\n },\r\n categoryCustomTags: [],\r\n overseersList: [],\r\n mitigation: 0,\r\n assessment_deadline_days: 0,\r\n head_ids: [],\r\n addOverseer: false,\r\n addMitigation: false,\r\n addMitigationPlan: false,\r\n mitigationDescriptionPlan: '',\r\n };\r\n apiUrl = '';\r\n memberId = 0;\r\n organizationId = 0;\r\n\r\n\r\n usersListLoaded = false;\r\n adminsListLoaded = false;\r\n categoryListLoaded = false;\r\n rcListLoaded = false;\r\n\r\n submitted = false;\r\n\r\n\r\n settingsInfo !: any;\r\n\r\n loader = false;\r\n //\r\n activeSelector = '';\r\n\r\n constructor(\r\n private riskService: AddRiskService,\r\n private authService: AuthService,\r\n private uiKitService: UiKitService,\r\n private snackBar: SnackBarService,\r\n @Optional() config?: Configurations\r\n\r\n ) {\r\n // if (config) {\r\n // this.apiUrl = config.apiUrl;\r\n // }\r\n this.timezone = this.authService.getUserTimeZone();\r\n\r\n }\r\n description: EditorConfig = {\r\n mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n placeholder: 'Describe the risk',\r\n };\r\n\r\n mitigationDescriptionPlan: EditorConfig = {\r\n mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n placeholder: 'Describe the recommended mitigation Plans'\r\n }\r\n\r\n ngOnInit(): void {\r\n this.pickerChanged.emit(false)\r\n this.loader = true;\r\n this.uiKitService.isLoader = true;\r\n this.getAdminsList();\r\n this.getRCList();\r\n this.getOwnersList();\r\n this.getCategoryList();\r\n this.getSettingsInfo();\r\n if (this.mode === 'CREATE') {\r\n this.organizationId = this.authService.getOrganizationId();\r\n }\r\n this.memberId = this.authService.getMemberId();\r\n console.log(\"member id of logged in user\", this.memberId)\r\n if (this.secondaryOpenPortal !== 'OTHER' && this.mode !== 'EDIT') {\r\n this.nonRemovableUsersList.push(this.memberId);\r\n }\r\n\r\n\r\n this.checkWhetherAllListsLoaded();\r\n if (this.openedFrom === 'REPORTED_RISK') {\r\n this.riskForm.riskType = 'REPORTED';\r\n this.riskTypeChangeAllowed = false;\r\n } else if (this.openedFrom === 'MOVE_TO_REGISTER') {\r\n this.riskForm.riskType = 'NORMAL';\r\n this.riskTypeChangeAllowed = false;\r\n } else {\r\n this.setRiskTypeBasedOnSubscription();\r\n }\r\n\r\n }\r\n\r\n setRiskTypeBasedOnSubscription() {\r\n if (this.openedFrom === 'REPORTED_RISK') {\r\n this.riskForm.riskType = 'REPORTED';\r\n }\r\n this.authService.getUserInfo().subscribe({\r\n next: (res: any) => {\r\n if (res && res?.permission) {\r\n const permission = JSON.parse(res?.permission)\r\n if (this.authService?.isAdmin() || this.authService?.isKeyAdmin()) {\r\n this.riskTypeChangeAllowed = true;\r\n } else if (this.authService.isManager()) {\r\n if (permission?.MRISK === 1) {\r\n this.riskTypeChangeAllowed = true;\r\n } else {\r\n this.riskTypeChangeAllowed = false;\r\n this.riskForm.riskType = 'REPORTED';\r\n }\r\n } else if (this.authService.isUser()) {\r\n this.riskTypeChangeAllowed = false;\r\n this.riskForm.riskType = 'REPORTED';\r\n }\r\n\r\n } else {\r\n this.riskTypeChangeAllowed = false;\r\n this.riskForm.riskType = 'REPORTED';\r\n }\r\n\r\n if (res && res?.roleActions) {\r\n const moduleIndex = res.roleActions.findIndex((element: any) => element.moduleName == \"risk\");\r\n const riskPermissions = res.roleActions[moduleIndex].subModule[1].permissions;\r\n riskPermissions.forEach((permission: any) => {\r\n if (permission.name == 'manage risks' && permission.enable) {\r\n this.riskTypeChangeAllowed = true;\r\n this.riskForm.riskType = 'NORMAL';\r\n }\r\n });\r\n\r\n }\r\n if (this.mode === 'EDIT') {\r\n this.riskForm.riskType = 'NORMAL';\r\n this.riskTypeChangeAllowed = false;\r\n\r\n }\r\n\r\n }\r\n })\r\n }\r\n\r\n changeRisk(type: string) {\r\n this.riskForm = { ...this.riskForm, ...{ riskType: type } }\r\n this.setPopupButtons();\r\n if (type === 'REPORTED') {\r\n this.riskForm.assessment_deadline_days = 0;\r\n }\r\n }\r\n\r\n\r\n setPopupButtons() {\r\n if (this.riskForm.riskType === 'REPORTED') {\r\n this.actionButtons = [\r\n { buttonText: 'Add More Risks', class: 'white-btn', id: 'addMore' },\r\n { buttonText: 'View Reported Risks', class: 'blue-btn', id: 'manageReportedRisk' },\r\n ];\r\n } else {\r\n this.actionButtons = [\r\n { buttonText: 'Add More Risks', class: 'white-btn', id: 'addMore' },\r\n { buttonText: 'View Risk', class: 'blue-btn', id: 'viewRisks' },\r\n ];\r\n }\r\n }\r\n getRiskDetails(riskId: any) {\r\n\r\n this.riskService.getRiskDetail(riskId).subscribe((res: any) => {\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.editDetails = cloneDeep(res);\r\n this.riskForm.title = res.title;\r\n if (this.openedFrom === 'MOVE_TO_REGISTER') {\r\n this.riskForm.riskType = 'NORMAL';\r\n this.riskTypeChangeAllowed = false;\r\n } else {\r\n this.riskForm.riskType = res?.risk_type ?? 'REPORTED'\r\n }\r\n\r\n this.riskForm.description = res.description;\r\n this.riskForm.responsibilityCentersList = this.setList(this.responsibilityCentersList, res.rc_id, 'item_id');\r\n this.riskForm.ownersList = this.setList(this.ownersList, res.owner, 'member_id');\r\n this.riskForm.mitigationDescriptionPlan = res.mitigationDescriptionPlan;\r\n const type = this.setCategoryType(res.category_type[0]);\r\n const categoryIndex = this.categoryList[type]?.data.findIndex((element: any) => element.category_id == res.category[0]);\r\n if (categoryIndex != -1) {\r\n this.riskForm.category = {\r\n type,\r\n selectedCategory: this.categoryList[type]?.data[categoryIndex],\r\n };\r\n this.riskForm.categoryCustomTags = res.category_custom_tag;\r\n }\r\n\r\n this.riskForm.overseersList = this.setList(this.ownersList, res.manage_oversight, 'member_id');\r\n this.riskForm.mitigation = res.mitigation;\r\n this.riskForm.assessment_deadline_days = res.assessment_deadline_days;\r\n this.riskForm.addOverseer = (res.manage_oversight.length > 0) ? true : false;\r\n this.riskForm.addMitigation = (res.mitigation) ? true : false;\r\n this.memberId = res.member_id;\r\n this.organizationId = res.organisation_id;\r\n this.riskForm.head_ids = res?.head_ids ? res?.head_ids : [];\r\n this.riskForm.mitigationDescriptionPlan = res?.mitigation_plan_recommendation ?? '';\r\n this.riskForm.addMitigationPlan = res?.mitigation_plan_recommendation.trim()?.length ? true : false;\r\n if (res.assessment_date_timestamp) {\r\n this.date = new Date(res.assessment_date);\r\n }\r\n if (res.IfAssessmentDone > 0) {\r\n res.all_owner_arr.forEach((element: any) => {\r\n if (element.assessment_done > 0) {\r\n this.nonRemovableUsersList.push(element.member_id);\r\n }\r\n });\r\n }\r\n if (this.secondaryOpenPortal === 'OTHER' && this.mode === 'EDIT') {\r\n this.nonRemovableUsersList = Array.from(new Set<any[]>([...this.nonRemovableUsersList, ...res?.owner]));\r\n }\r\n if (this.secondaryOpenPortal !== 'OTHER' && this.mode === 'EDIT') {\r\n this.nonRemovableUsersList = Array.from(new Set<any[]>([...this.nonRemovableUsersList, ...[this.authService.getMemberId()]]));\r\n }\r\n if (res?.risk_type === 'NORMAL') {\r\n this.nonRemovableUsersList = Array.from(new Set<any[]>([...this.nonRemovableUsersList, ...[this.authService.getMemberId()]]));\r\n }\r\n\r\n this.populateOptionalFields();\r\n }, err => {\r\n console.log(err);\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n\r\n });\r\n }\r\n\r\n populateOptionalFields() {\r\n const activatedOptions = [];\r\n if (this.riskForm.addMitigation) { activatedOptions.push('MITIGATION'); }\r\n if (this.riskForm.addOverseer) { activatedOptions.push('OVERSEER'); }\r\n if (this.riskForm.addMitigationPlan) { activatedOptions.push('MITIGATION_PLAN') }\r\n this.populateOption.emit(activatedOptions);\r\n }\r\n\r\n setCategoryType(type: any) {\r\n if (type === 1) {\r\n return 'strategic';\r\n } else if (type === 2) {\r\n return 'operational';\r\n } else if (type === 3) {\r\n return 'compliance';\r\n } else if (type === 0) {\r\n return 'others';\r\n } else { return 'strategic'; }\r\n }\r\n getRCList() {\r\n const rcArray: any[] = [];\r\n this.riskService.getResponsibilityCenterList(rcArray).subscribe(res => {\r\n this.responsibilityCentersList = res;\r\n this.rcListLoaded = true;\r\n\r\n }, err => {\r\n console.error(err);\r\n this.rcListLoaded = true;\r\n\r\n });\r\n }\r\n\r\n getCategoryList() {\r\n this.riskService.getCategoryList().subscribe((res: any) => {\r\n this.categoryList.strategic.data = res.strategic_arr;\r\n this.categoryList.operational.data = res.operational_arr;\r\n this.categoryList.compliance.data = res.compliance_arr;\r\n this.categoryList.others.data = res.others_arr;\r\n this.categoryListLoaded = true;\r\n\r\n }, err => {\r\n console.error(err);\r\n this.categoryListLoaded = true;\r\n\r\n });\r\n }\r\n\r\n\r\n getOwnersList() {\r\n this.riskService.getOrganizationUsers().subscribe((res: any) => {\r\n this.ownersList = res;\r\n\r\n this.usersListLoaded = true;\r\n const index: number = res.findIndex((user: any) => user.member_id === this.memberId);\r\n if (index !== -1) {\r\n if (this.secondaryOpenPortal !== 'OTHER' && this.mode !== 'EDIT') {\r\n this.riskForm.ownersList.push(res[index]);\r\n }\r\n }\r\n\r\n }, err => {\r\n console.error(err);\r\n this.usersListLoaded = true;\r\n });\r\n }\r\n getAdminsList() {\r\n this.riskService.getAdminKeyAdminList().subscribe(res => {\r\n this.adminsList = res;\r\n this.adminsListLoaded = true;\r\n\r\n }, err => {\r\n console.error(err);\r\n this.adminsListLoaded = true;\r\n\r\n });\r\n }\r\n\r\n getSettingsInfo() {\r\n\r\n this.riskService.getRiskSettingDetails().subscribe(res => {\r\n this.settingsInfo = res;\r\n this.hideOptionalFields(res);\r\n this.mitigationDetails = res?.risk_mitigation_priority?.mitigation_data;\r\n let defaultMitigation = this.mitigationDetails?.filter((ele: any) => ele?.mitigation_name === \"LOW\");\r\n if (defaultMitigation?.length) {\r\n this.riskForm.mitigation = defaultMitigation[0]?.mitigation_id;\r\n }\r\n\r\n }, err => {\r\n console.error(err);\r\n });\r\n\r\n }\r\n\r\n hideOptionalFields(res: any) {\r\n if (res?.risk_automation_enable === 1) {\r\n this.hideElementsFromMoreOptions.emit(['MITIGATION']);\r\n }\r\n\r\n }\r\n\r\n\r\n checkWhetherAllListsLoaded() {\r\n if (this.rcListLoaded && this.usersListLoaded && this.adminsListLoaded && this.categoryListLoaded) {\r\n\r\n this.setOverseersList();\r\n if (this.mode === 'EDIT') {\r\n this.getRiskDetails(this.riskId);\r\n } else {\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n\r\n }\r\n } else {\r\n setTimeout(() => {\r\n this.checkWhetherAllListsLoaded();\r\n }, 300);\r\n }\r\n }\r\n\r\n setOverseersList() {\r\n\r\n let ids: any = [];\r\n let rcOwnerIds: any = [];\r\n const users = cloneDeep(this.riskForm.ownersList);\r\n const responsibilityCenters = cloneDeep(this.riskForm.responsibilityCentersList);\r\n const admins = cloneDeep(this.adminsList);\r\n const allUsers = cloneDeep(this.ownersList);\r\n // console.log(allUsers, this.responsibilityCentersList)\r\n users.forEach((user: any) => {\r\n ids.push(user.member_id);\r\n });\r\n admins.forEach((user: any) => {\r\n ids.push(user.member_id);\r\n });\r\n responsibilityCenters.forEach((rc: any) => {\r\n const ary = [...rc.owner, ...rc.parent_owners];\r\n ids = [...ids, ...ary];\r\n rcOwnerIds = [...rcOwnerIds, ...ary];\r\n });\r\n\r\n ids = [...new Set(ids)];\r\n rcOwnerIds = [...new Set(rcOwnerIds)];\r\n this.riskForm.head_ids = rcOwnerIds;\r\n this.overseersList = allUsers.filter((user: any) => !ids.includes(user.member_id));\r\n console.log(\"overseer list\",this.overseersList)\r\n this.riskForm.overseersList = this.riskForm.overseersList.filter((user: any) => !ids.includes(user.member_id));\r\n }\r\n\r\n activateSelector(type: any, event: boolean) {\r\n this.activeSelector = event ? type : '';\r\n if (['rc', 'owner', 'overseer', 'category'].includes(type)) {\r\n this.pickerChanged.emit(event);\r\n }\r\n\r\n }\r\n\r\n activeDeselector() {\r\n this.activeSelector = '';\r\n this.pickerChanged.emit(false);\r\n }\r\n\r\n remove(type: any, event: any) {\r\n switch (type) {\r\n case 'rc':\r\n const rcIndex = this.riskForm.responsibilityCentersList.findIndex((rc: any) => rc.rc_id == event.rc_id);\r\n this.riskForm.responsibilityCentersList.splice(rcIndex, 1);\r\n break;\r\n case 'owner':\r\n const ownerIndex = this.riskForm.ownersList.findIndex((owner: any) => owner.member_id == event.member_id);\r\n this.riskForm.ownersList.splice(ownerIndex, 1);\r\n this.setOverseersList();\r\n break;\r\n case 'overseer':\r\n const overseerIndex = this.riskForm.overseersList.findIndex((overseer: any) => overseer.member_id == event.member_id);\r\n this.riskForm.overseersList.splice(overseerIndex, 1);\r\n break;\r\n case 'category':\r\n this.riskForm.category = {\r\n type: 'strategic',\r\n selectedCategory: ''\r\n };\r\n this.riskForm.categoryCustomTags = [];\r\n break;\r\n }\r\n\r\n }\r\n\r\n saveSelectedRCList(rcIds: any) {\r\n this.activeDeselector();\r\n const selectedRC = this.setList(this.responsibilityCentersList, rcIds, 'item_id');\r\n this.riskForm.responsibilityCentersList = selectedRC;\r\n this.setOverseersList();\r\n this.pickerChanged.emit(false);\r\n }\r\n\r\n saveSelectedCategory(category: any) {\r\n this.activeDeselector();\r\n this.riskForm.category = category;\r\n const customTags: any = [];\r\n category.selectedCategory.custom_tag.forEach((element: any) => {\r\n const tag = {\r\n custom_tag_name: element.tagName,\r\n custom_tag_value: ''\r\n };\r\n customTags.push(tag);\r\n });\r\n this.riskForm.categoryCustomTags = customTags;\r\n this.pickerChanged.emit(false);\r\n }\r\n\r\n saveSelectedOwnersList(ids: any) {\r\n this.activeDeselector();\r\n const selectedOwners = this.setList(this.ownersList, ids, 'member_id');\r\n this.riskForm.ownersList = selectedOwners;\r\n this.setOverseersList();\r\n this.pickerChanged.emit(false);\r\n }\r\n\r\n saveSelectedOverseersList(ids: any) {\r\n this.activeDeselector();\r\n const selectedOverseers = this.setList(this.overseersList, ids, 'member_id');\r\n this.riskForm.overseersList = selectedOverseers;\r\n this.pickerChanged.emit(false);\r\n }\r\n\r\n changeRiskAssessment(name: string): void {\r\n switch (name) {\r\n case 'subtract':\r\n if (this.riskForm.assessment_deadline_days > 1) {\r\n this.riskForm.assessment_deadline_days -= 1;\r\n this.setDate(this.riskForm.assessment_deadline_days);\r\n // this.riskAssessmentDeadlineDate = '';\r\n }\r\n break;\r\n case 'add':\r\n this.riskForm.assessment_deadline_days += 1;\r\n this.setDate(this.riskForm.assessment_deadline_days);\r\n // this.riskAssessmentDeadlineDate = '';\r\n break;\r\n\r\n }\r\n }\r\n\r\n setDate(days: number): void {\r\n if (days >= 0) {\r\n const miliseconds = days * 86400 * 1000;\r\n const d: number = new Date(\r\n new Date(Date.now()).toLocaleString('en-US', {\r\n timeZone: this.timezone,\r\n })\r\n ).getTime();\r\n this.date = new Date(d + miliseconds);\r\n }\r\n }\r\n\r\n changeRiskAssessmentDeadline(event: number): void {\r\n if (!isNaN(event)) {\r\n this.setDate(event);\r\n }\r\n }\r\n\r\n setList(list: any[], ids: any[], key: string) {\r\n const data: any = [];\r\n list.forEach((element: any) => {\r\n if (ids.includes(element[key])) {\r\n data.push(element);\r\n }\r\n });\r\n return data;\r\n }\r\n\r\n returnIds(list: any[], key: string) {\r\n return list.map(ele => { if (ele[key]) { return ele[key]; } });\r\n }\r\n\r\n submitRisk() {\r\n this.setPopupButtons();\r\n const valid = this.validateRisk();\r\n if (!valid) {\r\n return false;\r\n } else if (this.mode === 'EDIT' && this.editDetails.IfAssessmentDone > 0) {\r\n const prevRCArr = this.editDetails.rc_id;\r\n const currRCArr = this.returnIds(this.riskForm.responsibilityCentersList, 'rc_id');\r\n if (prevRCArr.length === currRCArr.length && prevRCArr.sort().every((value: any, index: any) => value === currRCArr.sort()[index])) {\r\n this.createRisk(this.riskForm);\r\n } else {\r\n const confirmationDetails: ConfirmationAlert = {\r\n isVisible: true,\r\n message: `The Responsibility Center(s) associated with this risk have been modified.\r\n This has caused the risk to move to the \"Identified & Assessed\" state and a new risk lifecycle for this risk is to begin.`,\r\n action: 'EDIT_RISK',\r\n };\r\n this.showConfirmationAlert.emit(confirmationDetails);\r\n }\r\n } else {\r\n this.createRisk(this.riskForm);\r\n }\r\n\r\n }\r\n\r\n addMoreInfo(event: any) {\r\n switch (event.name) {\r\n case 'Risk Overseer':\r\n this.riskForm.addOverseer = event?.checked;\r\n break;\r\n case 'Risk Mitigation Priority':\r\n this.riskForm.addMitigation = event?.checked;\r\n break;\r\n case 'Recommended Mitigation Plans':\r\n this.riskForm.addMitigationPlan = event?.checked;\r\n }\r\n this.scrollToBottom = true;\r\n }\r\n\r\n validateRisk() {\r\n this.submitted = true;\r\n const event = this.riskForm.title;\r\n const re = /&nbsp;|<br>/g;\r\n this.riskForm.title = event.replace(re, '').trim();\r\n if (!this.riskForm.title || this.riskForm.responsibilityCentersList.length == 0\r\n || this.riskForm.ownersList.length == 0 ||\r\n ((!this.settingsInfo.assessment_deadline_enable) && (this.riskForm?.assessment_deadline_days < 1) && this.riskForm?.riskType !== 'REPORTED') ||\r\n (this.riskForm.riskType === 'REPORTED' && !this.riskForm?.description?.trim()?.length)) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n createRisk(riskForm: any) {\r\n this.loader = true;\r\n this.uiKitService.isLoader = false;\r\n const payload = {\r\n title: riskForm.title,\r\n description: riskForm.description,\r\n category_custom_tag: riskForm.categoryCustomTags,\r\n assessment_deadline_enable: this.settingsInfo.assessment_deadline_enable,\r\n owner: this.returnIds(riskForm.ownersList, 'member_id'),\r\n category: (riskForm.category?.selectedCategory?.category_id) ? [riskForm.category.selectedCategory.category_id] : [],\r\n manage_oversight: riskForm.addOverseer ? this.returnIds(riskForm.overseersList, 'member_id') : [],\r\n rc_id: this.returnIds(riskForm.responsibilityCentersList, 'item_id'),\r\n head_ids: riskForm.head_ids,\r\n rating_arr: [],\r\n member_id: this.memberId,\r\n organisation_id: this.organizationId,\r\n risk_progress_flag: (this.mode === 'EDIT') ? this.editDetails.risk_progress_flag : 1,\r\n IfAssessmentDone: (this.mode == 'EDIT') ? this.editDetails.IfAssessmentDone : 0,\r\n workshop_id: (this.mode == 'EDIT') ? this.editDetails.workshop_id : 0,\r\n complete_assessment: 0,\r\n mitigation: (riskForm.addMitigation) ? riskForm.mitigation : 0,\r\n weightage_enable: this.settingsInfo.weightage_enable,\r\n treatment_type: this.settingsInfo.treatment_criteria,\r\n weightage_details: this.settingsInfo.weightage_details,\r\n weightage_set_by: this.settingsInfo.weightage_set_by,\r\n weightage_str: [\r\n this.settingsInfo.weightage_details.impact.value,\r\n this.settingsInfo.weightage_details.likelihood.value,\r\n this.settingsInfo.weightage_details.velocity.value,\r\n this.settingsInfo.weightage_details.vulnerability.value,\r\n ],\r\n assessment_deadline_set_by: this.settingsInfo.assessment_deadline_set_by,\r\n assessment_deadline_days: (this.settingsInfo.assessment_deadline_enable) ? this.settingsInfo.assessment_deadline_days : riskForm.assessment_deadline_days,\r\n risk_type: this.riskForm?.riskType ?? 'NORMAL',\r\n mitigation_plan_recommendation: this.riskForm?.addMitigationPlan ? this.riskForm?.mitigationDescriptionPlan ?? '' : ''\r\n\r\n\r\n };\r\n if (this.mode == 'CREATE') {\r\n this.riskService.addRisk(payload).subscribe((res: any) => {\r\n console.log(res);\r\n this.riskData = res;\r\n this.riskId = res._id;\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.showSmiley = true;\r\n this.uiKitService.isSmileyOn = true;\r\n\r\n // this.resetForm();\r\n },\r\n err => {\r\n console.log(err);\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n );\r\n }\r\n if (this.mode == 'EDIT' && this.openedFrom !== 'MOVE_TO_REGISTER') {\r\n this.smileyMessage = `The risk has been modified.`;\r\n this.riskService.updateRisk(this.riskId, payload).subscribe((res: any) => {\r\n this.riskData = res;\r\n this.showSmiley = true;\r\n this.uiKitService.isSmileyOn = true;\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n\r\n },\r\n err => {\r\n console.log(err);\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n );\r\n }\r\n\r\n if (this.openedFrom === 'MOVE_TO_REGISTER') {\r\n this.closeWorkflow.emit({ evt: { action: 'MOVE_TO_REGISTER', payload }, confirm: false });\r\n }\r\n\r\n }\r\n\r\n resetForm() {\r\n this.scrollToBottom = false;\r\n this.showSmiley = false;\r\n this.uiKitService.isSmileyOn = false;\r\n this.riskForm = {\r\n title: '',\r\n description: '',\r\n riskType: this.riskForm?.riskType,\r\n addMitigationPlan: false,\r\n mitigationDescriptionPlan: '',\r\n responsibilityCentersList: [],\r\n ownersList: [],\r\n category: {\r\n type: 'strategic',\r\n selectedCategory: '',\r\n },\r\n categoryCustomTags: [],\r\n overseersList: [],\r\n mitigation: 0,\r\n assessment_deadline_days: 0,\r\n head_ids: [],\r\n addOverseer: false,\r\n addMitigation: false\r\n };\r\n this.nonRemovableUsersList = [];\r\n this.organizationId = this.authService.getOrganizationId();\r\n this.memberId = this.authService.getMemberId();\r\n this.nonRemovableUsersList.push(this.memberId);\r\n this.date = new Date();\r\n this.submitted = false;\r\n this.refreshForm.emit(true);\r\n\r\n this.populateOptionalFields();\r\n this.getOwnersList();\r\n }\r\n\r\n\r\n action(event: string) {\r\n switch (event) {\r\n case 'addMore':\r\n this.resetForm();\r\n this.populateOptionalFields();\r\n break;\r\n case 'viewRisks':\r\n this.viewRisks();\r\n break;\r\n case 'manageReportedRisk':\r\n this.redirectToReported();\r\n break;\r\n }\r\n }\r\n\r\n closeSmiley(event: any) {\r\n this.showSmiley = false;\r\n this.uiKitService.isSmileyOn = false;\r\n this.closeWorkflow.emit({ evt: this.riskData, confirm: false });\r\n }\r\n\r\n\r\n\r\n viewRisks(): void {\r\n this.disconnectRefresh.emit(false);\r\n let url: string;\r\n if (window.location.host.startsWith('localhost')) {\r\n url = 'http://' + window.location.host;\r\n } else {\r\n url = 'https://' + window.location.host;\r\n }\r\n\r\n if (window.location.host.startsWith('localhost')) {\r\n url += '/manage-risk/' + this.riskId;\r\n } else {\r\n url += '/risk/manage-risk/' + this.riskId;\r\n }\r\n window.location.href = url;\r\n //this.resetForm();\r\n }\r\n\r\n redirectToReported(): void {\r\n this.disconnectRefresh.emit(false);\r\n let url: string;\r\n if (window.location.host.startsWith('localhost')) {\r\n url = 'http://' + window.location.host;\r\n } else {\r\n url = 'https://' + window.location.host;\r\n }\r\n\r\n if (window.location.host.startsWith('localhost')) {\r\n url += '/reported-risk/';\r\n } else {\r\n url += '/risk/reported-risk/';\r\n }\r\n window.location.href = url;\r\n //this.resetForm();\r\n }\r\n checkDescription() {\r\n if (this.riskForm.description == '<br>') {\r\n this.riskForm.description = '';\r\n }\r\n }\r\n\r\n checkMitigationPlan() {\r\n if (this.riskForm.mitigationDescriptionPlan == '<br>') {\r\n this.riskForm.mitigationDescriptionPlan = '';\r\n }\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { retry } from 'rxjs/operators';\r\nimport { Configurations } from '../configurations';\r\nimport { AuthService } from './auth.service';\r\nimport { AssessmentList } from '../sharedComponents/assessment-list/service/assessment.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ResponsibilityService {\r\n env !: any;\r\n dataPerPage = 30;\r\n\r\n constructor(private http: HttpClient, private authService: AuthService, @Optional() config?: Configurations) {\r\n if (config) {\r\n this.env = config.envConfig;\r\n\r\n }\r\n }\r\n\r\n getResponsibilityCenterList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'responsibilityCenterTree', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getOrganizationGroups() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.organizationGet + 'groupsList&status=1&type=compliance', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getOrganizationUsers() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.organizationGet + 'organizationUsers', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getOrganizationPeople() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.organizationGet + 'people', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getAssignorsList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.organizationGet + 'organizationUsers&isOnBehalf=1', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getCategoriesList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'complianceCategory/CategoryListTree', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getAssurance() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.assuranceGet + 'category/list&id=1', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getAssuranceForRequiresAudit() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.assuranceApi + 'Audit/Category/List/?mode=entrust_module', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getRCDetailsOfFramework(rc_id:any, category_id:any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get(this.env.complianceGet + 'complianceCategory/CategoryRCTreeById&id=' + category_id + '&rc_id=' + rc_id, { headers });\r\n }\r\n\r\n submitEntrust(entrust_body:any){\r\n\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.compliancePost + 'createReport', entrust_body, {headers});\r\n }\r\n updateEntrust(entrust_body:any, object_id:any, isDelegate:any){\r\n\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.compliancePost + 'createReport&reportId=' + object_id + '&isDelegate=0', entrust_body, {headers});\r\n }\r\n \r\n editResponsibility(objectId:any){\r\n\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get(this.env.complianceGet + 'complianceReport/reportById&id=' + objectId , { headers }).pipe(retry(2));\r\n\r\n }\r\n\r\n addBulkResponsibility(entrust_body:any){\r\n\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.compliancePost + 'import/create', entrust_body, {headers}).pipe(retry(2));\r\n\r\n }\r\n\r\n uploadToNode(payload: any, des: any) {\r\n // const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n // return this.http.post<any[]>(this.env.fileUploadEndPoint + 'risk/responsibilityCenterList', { rc_id_arr: rcArray ?? [] }, { headers }).pipe(retry(2));\r\n return this.http.post<any>(this.env.fileUploadEndPoint + des, payload);\r\n }\r\n\r\n filesUploading: any[] = [];\r\n filesUploaded: any[] = [];\r\n filesUploadedAndUploading: any[] = [];\r\n\r\n\r\n getCategoryDetailsById(id: any) {\r\n\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'complianceCategory/CategoryTreeById&id='+id,\r\n { headers, }).pipe(retry(2));\r\n }\r\n\r\n fileUpload(file:any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.compliancePost + 'file/upload', file, {headers}).pipe(retry(2));\r\n }\r\n\r\n \r\n getAssessmentCategory(payload: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.assessmentEnpoint + 'category/list&isCreateResponsibility=true', payload, {headers}).pipe(retry(2));\r\n }\r\n\r\n getAssessmentList(payload: any, id: string) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post<Array<AssessmentList>>(this.env.assessmentEnpoint + 'assessment/selectAssessment&isCreateResponsibility=true&catid='+id, payload, {headers}).pipe(retry(2));\r\n }\r\n\r\n getAssessmentDetailsByID(id: string) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post<Array<AssessmentList>>(this.env.assessmentEnpoint + 'assessment/getAssessmentById&id='+id, {}, {headers}).pipe(retry(2));\r\n }\r\n\r\n\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { catchError, map, retry } from 'rxjs/operators';\r\nimport { Configurations} from \"../../configurations\";\r\nimport { AuthService } from \"../../workflow-services/auth.service\";\r\nimport * as moment from 'moment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FrequencyService {\r\n\r\n public monthArray: Array<string> = [\r\n 'January',\r\n 'February',\r\n 'March',\r\n 'April',\r\n 'May',\r\n 'June',\r\n 'July',\r\n 'August',\r\n 'September',\r\n 'October',\r\n 'November',\r\n 'December'\r\n ]\r\n\r\n public dayName: Array<string> = [\r\n 'Monday', \r\n 'Tuesday', \r\n 'Wednesday', \r\n 'Thursday', \r\n 'Friday', \r\n 'Saturday', \r\n 'Sunday'\r\n ]; // full day name\r\n\r\n public quarterlyMonth: Array<string> = [\r\n 'January, April, July, October', \r\n 'February, May, August, November', \r\n 'March, June, September, December'];\r\n\r\n public dateConfig = {\r\n format: \"DD MMM YYYY\",\r\n showGoToCurrent: false\r\n };\r\n\r\n public frequencyInfo = {\r\n placeholder: '',\r\n pattern: '',\r\n case: '',\r\n failedAfter: 0,\r\n window: 0,\r\n timeIn12hr: '',\r\n timeIn24Hr: '',\r\n lifecycleDetails: '0000-00-00~~0',\r\n startFrom: Math.floor(Date.now() / 1000),\r\n reportId: 0,\r\n failed_time_utc: Math.floor(Date.now() / 1000),\r\n continuous_failed_days: 0,\r\n dateOfModified: 0,\r\n startDate: '',\r\n };\r\n\r\n public frequencyDetails: object = {\r\n pattern: '',\r\n notificationPending: 0,\r\n dateOfModified: 0,\r\n deactivationValue: 0,\r\n selectedReport: 0,\r\n lifecycle: '0000-00-00~~0',\r\n startDate: Math.floor(new Date().getTime() /1000),\r\n startOnTheDay: Math.floor(new Date().getTime() /1000),\r\n window: 0,\r\n failed: 0,\r\n time: '11:59 pm'\r\n };\r\n\r\n private env !: any;\r\n constructor( \r\n private http: HttpClient, \r\n private authService: AuthService, \r\n @Optional() config?: Configurations) { \r\n if (config) {\r\n this.env = config.envConfig;\r\n \r\n }\r\n }\r\n\r\n timeFrom12hTo24h(value: string) {\r\n if (value != undefined) {\r\n const time_arr = value.split(' ');\r\n const meridian = time_arr[1];\r\n const hr_min = time_arr[0].split(':').map(Number);\r\n const hr = hr_min[0];\r\n const min = hr_min[1];\r\n\r\n let return_time = '';\r\n\r\n if (meridian.toLowerCase() == 'pm') {\r\n if (hr == 12) {\r\n return_time = 12 + ':' + min + ':00';\r\n } else if (hr < 12) {\r\n return_time = +hr + 12 + ':' + min + ':00';\r\n }\r\n } else {\r\n if (hr == 12) {\r\n return_time = '00:' + min + ':00';\r\n } else if (hr < 12) {\r\n return_time = hr + ':' + min + ':00';\r\n }\r\n }\r\n\r\n return return_time;\r\n } else {\r\n }\r\n }\r\n\r\n timeIn12(value: any) {\r\n if (value != undefined) {\r\n let hr;\r\n let min;\r\n let meridian;\r\n if (value.split(':')[0] >= 12) {\r\n hr = value.split(':')[0] === '12' ? 12 : value.split(':')[0] - 12;\r\n min = value.split(':')[1];\r\n if(min.length < 2) {\r\n min = \"0\" + min;\r\n }\r\n meridian = 'pm';\r\n } else {\r\n hr = value.split(':')[0] == '00' ? 12 : value.split(':')[0];\r\n min = value.split(':')[1];\r\n if(min.length < 2) {\r\n min = \"0\" + min;\r\n }\r\n meridian = 'am';\r\n }\r\n return hr + ':' + min + ' ' + meridian;\r\n } else {\r\n }\r\n }\r\n\r\n frameworkStartDate(row: any) {\r\n console.log('row....', row);\r\n let calculatedDay:number = 0;\r\n const startDate = new Date(parseInt(row.start_date) * 1000).getDay();\r\n const getDate = new Date(parseInt(row.start_date) * 1000).getDate();\r\n const currentDate = new Date().getDay();\r\n const startMonth = new Date(parseInt(row.start_date) * 1000).getMonth();\r\n\r\n if (\r\n parseInt(row.start_date) < Date.now() / 1000 &&\r\n (row.frequency_template === 'every week' || row.frequency_template === 'every 2 weeks' || row.frequency_template === 'every 3 weeks')\r\n ) {\r\n let daysToBeAdded = 0;\r\n for (let i = 0; i < 7; i++) {\r\n if ((currentDate + i) % 7 === startDate) {\r\n daysToBeAdded = i;\r\n break;\r\n }\r\n }\r\n const timestampToBeAdded = daysToBeAdded * 24 * 60 * 60 * 1000;\r\n calculatedDay = new Date(new Date().getTime() + timestampToBeAdded).getTime();\r\n console.log('calculatedDay 1', calculatedDay);\r\n // tslint:disable-next-line: max-line-length\r\n } else if (\r\n parseInt(row.start_date) < Date.now() / 1000 &&\r\n !(row.frequency_template === 'every week' || row.frequency_template === 'every 2 weeks' || row.frequency_template === 'every 3 weeks') &&\r\n row.frequency_template !== 'every day'\r\n ) {\r\n const momentUnix = moment(getDate + '-' + (new Date().getMonth() + 1) + '-' + new Date().getFullYear() + ' 00:00', 'DD-MM-YYYY HH:mm').unix();\r\n calculatedDay = momentUnix * 1000;\r\n console.log('getDate', getDate, new Date().getMonth() + 2 + '-' + new Date().getFullYear(), momentUnix);\r\n console.log('calculatedDay 2', calculatedDay);\r\n } else if (row.frequency_template === 'every day' && parseInt(row.start_date) < Date.now() / 1000) {\r\n calculatedDay = Date.now();\r\n console.log('calculatedDay 3', calculatedDay);\r\n } else {\r\n calculatedDay = parseInt(row.start_date) * 1000;\r\n console.log('calculatedDay 4', calculatedDay);\r\n }\r\n return calculatedDay / 1000;\r\n }\r\n\r\n frameworkFrequency(frequency: any, start_date: any) {\r\n try {\r\n console.log('frequency', frequency, start_date);\r\n const startDate = new Date(start_date * 1000);\r\n console.log('strat date', start_date, startDate);\r\n const firstHalfMonth = ['1', '2', '3', '4', '5', '6'];\r\n const secondHalfMonth = ['7', '8', '9', '10', '11', '12'];\r\n const getDayData = startDate.getDay() === 0 ? 7 : startDate.getDay();\r\n const month = startDate.getMonth();\r\n let quarterPattern = '~1,4,7,10~0';\r\n switch (month) {\r\n case 0:\r\n case 3:\r\n case 6:\r\n case 9:\r\n quarterPattern = '~1,4,7,10~0';\r\n break;\r\n case 1:\r\n case 4:\r\n case 7:\r\n case 10:\r\n quarterPattern = '~2,5,8,11~0';\r\n break;\r\n case 2:\r\n case 5:\r\n case 8:\r\n case 11:\r\n quarterPattern = '~3,6,9,12~0';\r\n break;\r\n }\r\n // ];\r\n let frequency_pattern;\r\n\r\n frequency = frequency.toLowerCase();\r\n let continuous_failed_days = 0;\r\n // @ => day (1 to 7)\r\n // # => month (1 to 12)\r\n // ? => month % 2 == 0 ? \"2,4,6,8,10,12\" : \"1,3,5,7,9,11\"\r\n\r\n if (frequency === 'every week') {\r\n frequency_pattern = '2~' + getDayData + '~0~1';\r\n continuous_failed_days = 10;\r\n } else if (frequency === 'one time') {\r\n frequency_pattern = '0~' + startDate.getFullYear() + '~' + (startDate.getMonth() + 1) + '~' + startDate.getDate();\r\n } else if (frequency === 'every day') {\r\n frequency_pattern = '1~0~0~1';\r\n continuous_failed_days = 15;\r\n } else if (frequency === 'every alternate day') {\r\n frequency_pattern = '1~0~0~2';\r\n continuous_failed_days = 15;\r\n } else if (frequency === 'every 10 days') {\r\n frequency_pattern = '1~0~0~10';\r\n continuous_failed_days = 15;\r\n } else if (frequency === 'every 2 weeks') {\r\n frequency_pattern = '2~' + getDayData + '~0~2';\r\n continuous_failed_days = 10;\r\n } else if (frequency === 'every fortnight') {\r\n frequency_pattern = '1~' + getDayData + '~0~14';\r\n continuous_failed_days = 15;\r\n } else if (frequency === 'every 3 weeks') {\r\n frequency_pattern = '2~' + getDayData + '~0~3';\r\n continuous_failed_days = 10;\r\n } else if (frequency === 'every month') {\r\n frequency_pattern = '3~' + startDate.getDate() + '~1,2,3,4,5,6,7,8,9,10,11,12~0';\r\n continuous_failed_days = 10;\r\n } else if (frequency === 'every 45 days') {\r\n frequency_pattern = '1~0~0~45';\r\n continuous_failed_days = 15;\r\n } else if (frequency === 'every alternate month') {\r\n frequency_pattern = '3~' + startDate.getDate() + '~' + ((startDate.getMonth() + 1) % 2 == 0 ? '2,4,6,8,10,12' : '1,3,5,7,9,11') + '~0';\r\n continuous_failed_days = 10;\r\n } else if (frequency === 'every quarter') {\r\n frequency_pattern = '7~' + startDate.getDate() + quarterPattern;\r\n } else if (frequency === 'every 120 days') {\r\n frequency_pattern = '1~0~0~120';\r\n } else if (frequency === 'half yearly') {\r\n const index1 = firstHalfMonth.indexOf((startDate.getMonth() + 1).toString());\r\n const index2 = secondHalfMonth.indexOf((startDate.getMonth() + 1).toString());\r\n const pattern = index1 > -1 ? '~' + firstHalfMonth[index1] + ',' + secondHalfMonth[index1] + '~0' : '~' + firstHalfMonth[index2] + ',' + secondHalfMonth[index2] + '~0';\r\n frequency_pattern = '3~' + startDate.getDate() + pattern;\r\n continuous_failed_days = 10;\r\n } else if (frequency === 'yearly') {\r\n frequency_pattern = '4~' + startDate.getDate() + '~' + (startDate.getMonth() + 1) + '~1';\r\n } else if (frequency === 'every 2 years') {\r\n frequency_pattern = '4~' + startDate.getDate() + '~' + (startDate.getMonth() + 1) + '~2';\r\n } else if (frequency === 'every 3 years') {\r\n frequency_pattern = '4~' + startDate.getDate() + '~' + (startDate.getMonth() + 1) + '~3';\r\n } else if (frequency === 'every 4 years') {\r\n frequency_pattern = '4~' + startDate.getDate() + '~' + (startDate.getMonth() + 1) + '~4';\r\n } else if (frequency === 'every 5 years') {\r\n frequency_pattern = '4~' + startDate.getDate() + '~' + (startDate.getMonth() + 1) + '~5';\r\n } else if (frequency === 'every 10 years') {\r\n frequency_pattern = '4~' + startDate.getDate() + '~' + (startDate.getMonth() + 1) + '~10';\r\n } else if (frequency === 'to be decided later') {\r\n frequency_pattern = '';\r\n } else {\r\n frequency_pattern = '';\r\n }\r\n // this.editData.frequency_details = frequency_pattern;\r\n\r\n return {frequency_pattern, continuous_failed_days};\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n shortHand_freqCal(frequency: any, day: any, month: any, year?: any) {\r\n const monthNames = [\r\n { value: 1, month: 'Jan' },\r\n { value: 2, month: 'Feb' },\r\n { value: 3, month: 'Mar' },\r\n { value: 4, month: 'Apr' },\r\n { value: 5, month: 'May' },\r\n { value: 6, month: 'Jun' },\r\n { value: 7, month: 'Jul' },\r\n { value: 8, month: 'Aug' },\r\n { value: 9, month: 'Sep' },\r\n { value: 10, month: 'Oct' },\r\n { value: 11, month: 'Nov' },\r\n { value: 12, month: 'Dec' },\r\n ];\r\n let frequency_details;\r\n let continuous_failed_days = 0;\r\n const date_value = new Date();\r\n\r\n date_value.setMonth(typeof month !== 'number' ? monthNames.filter((x) => x.month === month?.substring(0, 3))[0]?.value - 1 : month);\r\n if (!year) {\r\n date_value.setFullYear(20 + month.split(\"'\")[1]);\r\n } else {\r\n date_value.setFullYear(year);\r\n }\r\n date_value.setDate(day);\r\n let quarterPattern = '~1,4,7,10~0';\r\n const firstHalfMonth = ['1', '2', '3', '4', '5', '6'];\r\n const secondHalfMonth = ['7', '8', '9', '10', '11', '12'];\r\n frequency = frequency.toLowerCase();\r\n\r\n switch (date_value.getMonth()) {\r\n case 0:\r\n case 3:\r\n case 6:\r\n case 9:\r\n quarterPattern = '~1,4,7,10~0';\r\n break;\r\n case 1:\r\n case 4:\r\n case 7:\r\n case 10:\r\n quarterPattern = '~2,5,8,11~0';\r\n break;\r\n case 2:\r\n case 5:\r\n case 8:\r\n case 11:\r\n quarterPattern = '~3,6,9,12~0';\r\n break;\r\n }\r\n const getDay = date_value.getDay() === 0 ? 7 : date_value.getDay();\r\n switch (frequency) {\r\n case 'every week':\r\n frequency_details = '2~' + getDay + '~0~1';\r\n continuous_failed_days = 10;\r\n break;\r\n case 'one time':\r\n frequency_details = '0~' + '' + date_value.getFullYear() + '~' + (date_value.getMonth() + 1) + '~' + date_value.getDate();\r\n break;\r\n case 'every day':\r\n frequency_details = '1~0~0~1';\r\n continuous_failed_days = 15;\r\n break;\r\n case 'every alternate day':\r\n frequency_details = '1~0~0~2';\r\n continuous_failed_days = 15;\r\n break;\r\n case 'every 10 days':\r\n frequency_details = '1~0~0~10';\r\n continuous_failed_days = 15;\r\n break;\r\n case 'every 2 weeks':\r\n frequency_details = '2~' + getDay + '~0~2';\r\n continuous_failed_days = 10;\r\n break;\r\n case 'every fortnight':\r\n frequency_details = '1~' + getDay + '~0~14';\r\n continuous_failed_days = 15;\r\n break;\r\n case 'every 3 weeks':\r\n frequency_details = '2~' + getDay + '~0~3';\r\n continuous_failed_days = 10;\r\n break;\r\n case 'every month':\r\n frequency_details = '3~' + date_value.getDate() + '~1,2,3,4,5,6,7,8,9,10,11,12~0';\r\n continuous_failed_days = 10;\r\n break;\r\n case 'every 45 days':\r\n frequency_details = '1~0~0~45';\r\n continuous_failed_days = 15;\r\n break;\r\n case 'every alternate month':\r\n frequency_details = '3~' + date_value.getDate() + '~' + ((date_value.getMonth() + 1) % 2 === 0 ? '2,4,6,8,10,12' : '1,3,5,7,9,11') + '~0';\r\n continuous_failed_days = 10;\r\n break;\r\n case 'every quarter':\r\n frequency_details = '7~' + date_value.getDate() + quarterPattern;\r\n break;\r\n case 'every 120 days':\r\n frequency_details = '1~0~0~120';\r\n continuous_failed_days = 15;\r\n break;\r\n case 'half yearly':\r\n const index1 = firstHalfMonth.indexOf((date_value.getMonth() + 1).toString());\r\n const index2 = secondHalfMonth.indexOf((date_value.getMonth() + 1).toString());\r\n const pattern = index1 > -1 ? '~' + firstHalfMonth[index1] + ',' + secondHalfMonth[index1] + '~0' : '~' + firstHalfMonth[index2] + ',' + secondHalfMonth[index2] + '~0';\r\n frequency_details = '3~' + date_value.getDate() + pattern;\r\n break;\r\n case 'annual':\r\n case 'yearly':\r\n frequency_details = '4~' + date_value.getDate() + '~' + (date_value.getMonth() + 1) + '~1';\r\n break;\r\n case 'every 2 years':\r\n frequency_details = '4~' + date_value.getDate() + '~' + (date_value.getMonth() + 1) + '~2';\r\n break;\r\n case 'every 3 years':\r\n frequency_details = '4~' + date_value.getDate() + '~' + (date_value.getMonth() + 1) + '~3';\r\n break;\r\n case 'every 4 years':\r\n frequency_details = '4~' + date_value.getDate() + '~' + (date_value.getMonth() + 1) + '~4';\r\n break;\r\n case 'every 5 years':\r\n frequency_details = '4~' + date_value.getDate() + '~' + (date_value.getMonth() + 1) + '~5';\r\n break;\r\n case 'every 10 years':\r\n frequency_details = '4~' + date_value.getDate() + '~' + (date_value.getMonth() + 1) + '~10';\r\n break;\r\n case 'ongoing':\r\n frequency_details = '10~0~0~0';\r\n break;\r\n case 'to be decided later':\r\n default:\r\n frequency_details = '5~0~0~0';\r\n }\r\n return {\r\n pattern: frequency_details,\r\n continuous_failed_days: continuous_failed_days \r\n }\r\n }\r\n\r\n\r\n getOnCompletionOfResponsibility() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.complianceGet + 'reports/onCompletionOfReports', { headers })\r\n .pipe(retry(2));\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { AuthService } from '../workflow-services/auth.service';\r\nimport { ResponsibilityService } from '../workflow-services/responsibility.service';\r\nimport { FrequencyService } from '../sharedComponents/frequency/frequency.service';\r\nimport * as moment from 'moment';\r\nimport { UiKitService } from '../workflow-services/ui-kit.service';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-workflow-compliance',\r\n templateUrl: './workflow-compliance.component.html',\r\n styleUrls: ['./workflow-compliance.component.less', '../forms.less'],\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n\r\n})\r\nexport class WorkflowComplianceComponent implements OnInit {\r\n @Input() mode = 'CREATE';\r\n @Input() responsibilityId = '';\r\n @Input() frameworkDetails: Array<any> = [];\r\n @Input() isEntrust: boolean = true;\r\n\r\n @Output() pickerChanged = new EventEmitter();\r\n @Output() populateOption = new EventEmitter();\r\n @Output() hideElementsFromMoreOptions = new EventEmitter();\r\n @Output() closeWorkflow = new EventEmitter();\r\n @Output() resetForm = new EventEmitter();\r\n @Output() disconnectRefresh = new EventEmitter();\r\n @Output() checkpointCountUpdated = new EventEmitter();\r\n @Output() rcSelected = new EventEmitter();\r\n @Input() openedFrom !: any; //when opened from risk treatment it will be 'RISK_TREATMENT'\r\n @Input() selectedRC: number = 0; // 4-5 digit id of selected rc by default when opened from risk treatment\r\n scrollToBottom = false;\r\n description: EditorConfig = {\r\n mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n placeholder: 'Add more information about completing the responsibility',\r\n };\r\n loader = false;\r\n submitted = false;\r\n editDetails!: any;\r\n smileyMessage = `Done!`;\r\n actionButtons = [\r\n { buttonText: 'Entrust More Responsibilities', class: 'white-btn', id: 'addMore' },\r\n { buttonText: 'View Responsibilities', class: 'blue-btn', id: 'view' },\r\n ];\r\n showSmiley = false;\r\n memberId = 0;\r\n organizationId = 0;\r\n rcListLoaded = false;\r\n assignorsListLoaded = false;\r\n assigneesListLoaded = false;\r\n categoriesListLoaded = false;\r\n groupsListLoaded = false;\r\n assuranceCategoryListLoaded = false;\r\n\r\n\r\n // usersList: any[] = [];\r\n assignorsList: any[] = [];\r\n assigneesList: any[] = [];\r\n reviewersList: any[] = [];\r\n overseersList: any[] = [];\r\n\r\n allUsersList: any[] = [];\r\n behalfOfUsersList: any[] = [];\r\n\r\n allCategories: any[] = [];\r\n assuranceCategoriesList: any[] = [];\r\n assuranceRequiresAuditList: any[] = [];\r\n groupsList: any[] = [];\r\n\r\n adminsList: any[] = [];\r\n responsibilityCentersList: any[] = [];\r\n categoryList: any[] = [];\r\n nonRemovableUsersList: any[] = [];\r\n\r\n responsibilityForm: any = {\r\n assignors: {\r\n enable: false,\r\n list: []\r\n },\r\n responsibility: {\r\n name: '',\r\n keyResponsibility: false,\r\n },\r\n assignees: {\r\n whoCanComplete: 'ALL',\r\n list: []\r\n },\r\n frequency: '',\r\n description: '',\r\n objective: '',\r\n rc: [],\r\n category: [],\r\n checkpointInstruction: '',\r\n customTags: [],\r\n checkpoints: [],\r\n reviewers: {\r\n sequentialWorkflow: true,\r\n reviewFrequency: {\r\n reviewCompleteDays: 2,\r\n reviewNOtCompletedDays: 2\r\n },\r\n list: []\r\n },\r\n\r\n overseers: {\r\n notifyList: [],\r\n list: []\r\n },\r\n formatAndEvidence: {\r\n formatRequired: false,\r\n formatFiles: [],\r\n formatLinks: [],\r\n evidenceRequired: false,\r\n },\r\n assuranceList: [],\r\n requiresAuditList: [],\r\n riskClass: 1,\r\n riskMatrix: '0,0,0,0,0,0',\r\n audit_category_details : {\r\n category_id: 0,\r\n sample: 5,\r\n percentage: 30 ,\r\n frequency_pattern: '1~0~3~1',\r\n frequency_time: '23:59:00'\r\n },\r\n assessment: {\r\n category_id: '', assessment_id: ''\r\n },\r\n new_checkpoints: {}\r\n };\r\n moreOptions: any = {\r\n OBJECTIVE: false,\r\n RC: false,\r\n CATEGORY: false,\r\n FORMATE_EVIDENCE: false,\r\n CHECKPOINTS: false,\r\n ASSESSMENT: false,\r\n RISK_CLASSIFICATION: false,\r\n REVIEWER: false,\r\n OVERSEER: false,\r\n ASSURANCE: false,\r\n APPS: false,\r\n REQUIRES_AUDIT: false,\r\n CHECKPOINTS_NEW: false\r\n };\r\n activeSelector = '';\r\n sideSelectorElements: any = ['assurance', 'framework', 'assignors', 'assignees', 'category', 'rc', 'checkpoints', 'frequency', 'reviewer', 'reviewerFrequency', 'overseer', 'overseerNotify', 'riskCalculator', 'isAssessment','requires_audit', 'checkpoints-new'];\r\n displayList = {\r\n // assignors: false,\r\n // assignees: false,\r\n // category: false,\r\n // responsibilityCenter: false,\r\n // responsibilityCategory: false,\r\n // checkpoints: false,\r\n // reviewer: false,\r\n // reviewerFrequency: false,\r\n // overseerList: false,\r\n // overseerNotifyList: false,\r\n // frequency: false,\r\n // frameWork: false,\r\n // assurance: false,\r\n // riskCalculator: false,\r\n };\r\n\r\n focus = {\r\n responsibilityName: false,\r\n description: false,\r\n objective: false,\r\n };\r\n\r\n categories: any = {\r\n regulations: {\r\n list: [],\r\n selectedList: []\r\n },\r\n standards: {\r\n list: [],\r\n selectedList: []\r\n },\r\n internalControls: {\r\n list: [],\r\n selectedList: []\r\n },\r\n others: {\r\n list: [],\r\n selectedList: []\r\n }\r\n };\r\n\r\n riskClassification = [\r\n { name: 'Low', value: 1, class: 'low' },\r\n { name: 'Low-Medium', value: 2, class: 'low-med' },\r\n { name: 'Medium-High', value: 3, class: 'med-high' },\r\n { name: 'High', value: 4, class: 'high' }\r\n ];\r\n\r\n assignorMode = 'checkbox';\r\n rcMode = 'checkbox';\r\n invalidType = '';\r\n responsibilityPayload!: any;\r\n assigneeRadioSelect = false;\r\n\r\n // frequency variable declaration\r\n frequencyDetails = {\r\n pattern: '',\r\n notificationPending: 0,\r\n dateOfModified: 0,\r\n deactivationValue: 0,\r\n selectedReport: 0,\r\n lifecycle: '0000-00-00~~0',\r\n startDate: Math.floor(new Date().getTime() / 1000),\r\n startOnTheDay: Math.floor(new Date().getTime() / 1000),\r\n window: 0,\r\n failed: 0,\r\n time: '11:59 pm',\r\n failedTime: '',\r\n continuous_failed_days: 0\r\n };\r\n frequencyPlaceholder = 'How often does the responsibility occur?';\r\n shortMonth: Array<string> = [];\r\n isEditWhat: Boolean = true;\r\n isFrameworkAvailable = 1;\r\n isNotificationPending = 0;\r\n\r\n assuranceFlag!: any;\r\n riskClassificationFlag!: any;\r\n hiddenList: any[] = [];\r\n subscriptionDetails!: any;\r\n isRiskEnable: boolean = true;\r\n isDuplicateEntrust: boolean = false;\r\n auditTime: string = '11:59 pm';\r\n sendAuditRemindersValue: number = 2;\r\n sampleValue: any;\r\n samplePercentage: any;\r\n selectedSample!: number;\r\n isSample: boolean = false;\r\n tempCheckValue: number = -1;\r\n isAssessment: boolean = false;\r\n checkpointCount: number = 0;\r\n\r\n @Output() onRemovingCheckpoint: EventEmitter<any> = new EventEmitter();\r\n @Output() isAssessmentDisabled = new EventEmitter();\r\n\r\n @ViewChild('what') whatInput!: ElementRef;\r\n constructor(\r\n private authService: AuthService,\r\n private responsibilityService: ResponsibilityService,\r\n private frequencyService: FrequencyService,\r\n private uiKitService: UiKitService,\r\n private snackBar: SnackBarService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.pickerChanged.emit(false);\r\n // this.responsibilityForm.responsibility.name = \"abcdef\"\r\n this.loader = true;\r\n this.uiKitService.isLoader = true;\r\n this.hiddenList.push('ASSESSMENT');\r\n this.getRCList();\r\n this.getCategoryList();\r\n this.getAssignorsList();\r\n this.getAssigneesList();\r\n this.getAssurance();\r\n this.getAssuranceForRequiresAudit();\r\n this.getGroupsList();\r\n this.checkWhetherAllListsLoaded();\r\n this.getOrganizationDetails();\r\n this.getUserDetails();\r\n this.shortMonth = this.frequencyService.monthArray.map(month => month.substring(0, 3));\r\n if (this.mode === 'CREATE') {\r\n this.organizationId = this.authService.getOrganizationId();\r\n console.log(\" this.authService.getMemberId() ==>\", this.authService.getMemberId())\r\n this.memberId = this.authService.getMemberId();\r\n this.hiddenList.push('CHECKPOINTS');\r\n }\r\n this.authService.getOrganizationDetails().subscribe((res: any) => {\r\n this.isRiskEnable = res.enable_riskclass ? true : false;\r\n if (!res.enable_riskclass) {\r\n this.hiddenList.push('RISK_CLASSIFICATION');\r\n this.hideElementsFromMoreOptions.emit(this.hiddenList);\r\n }\r\n });\r\n this.authService.getSubscriptionDetails().subscribe((res: any) => {\r\n this.subscriptionDetails = res;\r\n console.log(\"this.subscriptionDetails.assessment_flag\", this.subscriptionDetails)\r\n if(this.subscriptionDetails[0].assessment_flag) {\r\n this.hiddenList = this.hiddenList.filter(ele => ele !== 'ASSESSMENT')\r\n this.hideElementsFromMoreOptions.emit(this.hiddenList);\r\n }\r\n });\r\n this.hideElementsFromMoreOptions.emit(this.hiddenList);\r\n }\r\n activateSelector(type: any, event: boolean) {\r\n console.log(\"type ==>\", type, event)\r\n this.activeSelector = event ? type : '';\r\n if(type === 'checkpoints-new') this.authService.previewPanel.next(event);\r\n if (this.sideSelectorElements.includes(type)) {\r\n this.pickerChanged.emit(event);\r\n }\r\n }\r\n\r\n whatChanged(event: any) {\r\n\r\n this.responsibilityForm.responsibility.name = event?.target?.value;\r\n if (event.target.value.trim() !== '') {\r\n this.isEditWhat = true;\r\n if (this.invalidType === 'what') {\r\n this.invalidType = '';\r\n }\r\n } else {\r\n this.isEditWhat = false;\r\n }\r\n\r\n }\r\n\r\n activeDeselector() {\r\n this.activeSelector = '';\r\n this.pickerChanged.emit(false);\r\n }\r\n\r\n addMoreInfo(event: any) {\r\n console.log(\"event ==>\", event)\r\n this.scrollToBottom = true;\r\n if(event.code === 'CHECKPOINTS_NEW' && event.checkpoint_new && this.checkpointCount) {\r\n\r\n } else {\r\n this.moreOptions[event.code] = event.checked;\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n getRCList() {\r\n this.responsibilityService.getResponsibilityCenterList().subscribe(res => {\r\n this.responsibilityCentersList = res;\r\n this.rcListLoaded = true;\r\n\r\n if (this.openedFrom === 'RISK_TREATMENT') {\r\n this.responsibilityForm.rc = this.setList(this.responsibilityCentersList, [this.selectedRC], 'item_id');\r\n this.moreOptions.RC = true;\r\n this.actionButtons = [\r\n { buttonText: 'Go to risk treatment', class: 'blue-btn', id: 'view' },\r\n ]\r\n this.populateOption.emit(['RC']);\r\n\r\n }\r\n }, err => {\r\n console.error(err);\r\n this.rcListLoaded = true;\r\n });\r\n }\r\n\r\n getUserDetails() {\r\n this.authService.getUserInfo().subscribe((res: any) => {\r\n this.isNotificationPending = res.notification_pending_flag;\r\n this.actionButtons[1].buttonText = this.isNotificationPending ? 'View Responsibilities in Queue' : 'View Responsibilities';\r\n })\r\n }\r\n\r\n getAssurance() {\r\n this.assuranceCategoryListLoaded = true;\r\n this.responsibilityService.getAssurance().subscribe((res: any) => {\r\n this.assuranceCategoriesList = res;\r\n if ((this.subscriptionDetails && !this.subscriptionDetails[0].assurance_flag) || this.assuranceCategoriesList.length == 0) {\r\n this.hiddenList.push('ASSURANCE');\r\n }\r\n this.hideElementsFromMoreOptions.emit(this.hiddenList);\r\n this.assuranceCategoryListLoaded = true;\r\n }, err => {\r\n console.error(err);\r\n this.assuranceCategoryListLoaded = true;\r\n });\r\n }\r\n\r\n getAssuranceForRequiresAudit() {\r\n // this.assuranceCategoryListLoaded = true;\r\n this.responsibilityService.getAssuranceForRequiresAudit().subscribe((res: any) => {\r\n this.assuranceRequiresAuditList = res;\r\n if ((this.subscriptionDetails && !this.subscriptionDetails[0].audit_flag) || this.assuranceRequiresAuditList.length == 0) {\r\n this.hiddenList.push('REQUIRES_AUDIT');\r\n }\r\n this.hideElementsFromMoreOptions.emit(this.hiddenList);\r\n // this.assuranceCategoryListLoaded = true;\r\n }, err => {\r\n console.error(err);\r\n // this.assuranceCategoryListLoaded = true;\r\n });\r\n }\r\n\r\n getOrganizationDetails() {\r\n this.authService.getOrganizationDetails().subscribe((res: any) => {\r\n this.isFrameworkAvailable = res?.enable_responsibility_framework;\r\n })\r\n }\r\n\r\n getCategoryList() {\r\n this.loader = true;\r\n this.uiKitService.isLoader = true;\r\n this.responsibilityService.getCategoriesList().subscribe(res => {\r\n const data = res;\r\n this.allCategories = cloneDeep(res);\r\n data.forEach((element: any) => {\r\n if (element && element.compliance_type == 0) {\r\n this.categories.others.list.push(element);\r\n }\r\n if (element && element.compliance_type == 1) {\r\n this.categories.regulations.list.push(element);\r\n }\r\n if (element && element.compliance_type == 2) {\r\n this.categories.standards.list.push(element);\r\n }\r\n if (element && element.compliance_type == 3) {\r\n this.categories.internalControls.list.push(element);\r\n }\r\n });\r\n this.categoriesListLoaded = true;\r\n }, err => {\r\n console.error(err);\r\n this.categoriesListLoaded = true;\r\n });\r\n }\r\n\r\n getAssignorsList() {\r\n this.responsibilityService.getAssignorsList().subscribe((res: any) => {\r\n this.behalfOfUsersList = res;\r\n this.refreshAllLists();\r\n this.assignorsListLoaded = true;\r\n }, err => {\r\n console.error(err);\r\n this.assignorsListLoaded = true;\r\n });\r\n }\r\n\r\n getAssigneesList() {\r\n this.responsibilityService.getOrganizationPeople().subscribe((res: any) => {\r\n this.allUsersList = res.map((user: any) => {\r\n user.member_name = user.employee_name;\r\n return user;\r\n });\r\n this.refreshAllLists();\r\n this.assigneesListLoaded = true;\r\n }, err => {\r\n console.error(err);\r\n this.assigneesListLoaded = true;\r\n });\r\n }\r\n\r\n getGroupsList() {\r\n this.responsibilityService.getOrganizationGroups().subscribe((res: any) => {\r\n const data = res;\r\n const groups: any = [];\r\n data.forEach((element: any) => {\r\n const obj = {\r\n groupName: element.group_name,\r\n userIds: element.member_ids,\r\n };\r\n groups.push(obj);\r\n });\r\n this.groupsList = groups;\r\n this.groupsListLoaded = true;\r\n }, err => {\r\n console.error(err);\r\n this.groupsListLoaded = true;\r\n });\r\n }\r\n\r\n getEditResponsibilityDetails(id: any) {\r\n\r\n this.responsibilityService.editResponsibility(id).subscribe((res: any) => {\r\n this.isDuplicateEntrust = true;\r\n if (res) {\r\n const currentUser = this.authService.getUserDetails()?.user;\r\n const currentsUerInfo = {\r\n member_email: currentUser?.email,\r\n member_id: currentUser.id,\r\n member_name: currentUser.name,\r\n organisation_id: currentUser.organisation_id,\r\n _id: this.authService.getUserDetails()._id\r\n }\r\n console.log(\"currentsUerInfocurrentsUerInfo\", currentsUerInfo, this.authService.getUserDetails())\r\n const testPlanCategory = typeof (res?.testplan_category_id) === 'string' ? [] : res?.testplan_category_id;\r\n const requiredAuditCategoryId = res?.audit_category_details?.category_id ? [res?.audit_category_details?.category_id] : [];\r\n const reviewerDetails = Object.keys(res?.reviewer_arr);\r\n this.assigneeRadioSelect = (res?.assigned_to_member_id?.length == 0) ? true : false;\r\n this.isEntrust = res.isGroupAssignTo ? true : false;\r\n this.responsibilityForm = {\r\n assignors: {\r\n enable: false,\r\n list: this.setList(this.assignorsList, [res.member_id], 'member_id').length > 0 ? this.setList(this.assignorsList, [res.member_id], 'member_id') : [currentsUerInfo],\r\n },\r\n responsibility: {\r\n name: res?.report_name,\r\n keyResponsibility: res?.key_compliance,\r\n },\r\n assignees: {\r\n whoCanComplete: (res.isGroupAssignTo) ? 'ANY_ONE' : 'ALL',\r\n list: (res.assigned_to_member_id.length == 0) ? this.setList(this.assigneesList, [Number(res.assigned_to)], 'employee_id') :\r\n this.setList(this.assigneesList, res.assigned_to_member_id, 'my_member_id'),\r\n },\r\n frequency: res?.frequency_details,\r\n description: res?.remarks,\r\n objective: res?.objective,\r\n rc: this.setList(this.responsibilityCentersList, [Number(res?.rc_id)], 'rc_id'),\r\n category: this.setList(this.allCategories, (res?.category_id.split(',').map(Number)), 'category_id'),\r\n checkpointInstruction: res?.checkpoint_description,\r\n customTags: (res?.custom_tags) ? JSON.parse(res?.custom_tags) : '',\r\n checkpoints: (res?.checkpoint_details) ? JSON.parse(res?.checkpoint_details) : '',\r\n reviewers: {\r\n sequentialWorkflow: (res?.reviewer_arr?.level1?.type == 'SEQUENTIAL') ? true : false,\r\n reviewFrequency: {\r\n reviewCompleteDays: (reviewerDetails?.length > 0) ? res?.review_after_days : 2,\r\n reviewNOtCompletedDays: (reviewerDetails?.length > 0) ? res?.review_failed_after_days : 2\r\n },\r\n acceptedData: reviewerDetails?.length > 0 ? res?.reviewer_arr?.level1?.reviewers : [] ,\r\n list: reviewerDetails?.length > 0 ? this.setReviewerPayload(res?.reviewer_arr?.level1?.reviewers, 'object', res?.reviewer_arr?.level1?.type) : []\r\n },\r\n overseers: {\r\n list: (res?.cc_email) ? this.setList(this.overseersList, Object.keys(res?.cc_email).map(Number), 'employee_id') : [],\r\n notifyList: (res?.failure_cc_email) ? this.setList(this.overseersList, Object.keys(res?.failure_cc_email).map(Number), 'employee_id') : [],\r\n },\r\n formatAndEvidence: {\r\n formatRequired: (res?.report_format.length > 0 || res?.link_for_details?.length > 0) ? true : false,\r\n formatFiles: res?.report_format,\r\n formatLinks: res?.link_for_details,\r\n evidenceRequired: (res?.report_upload_flag) ? true : false,\r\n },\r\n assuranceList: this.setList(this.assuranceCategoriesList, testPlanCategory, 'category_id'),\r\n requiresAuditList: this.setList(this.assuranceRequiresAuditList, requiredAuditCategoryId, 'category_id'),\r\n riskClass: res?.risk_class,\r\n riskMatrix: res?.risk_matrix_data\r\n };\r\n this.isNotificationPending = res.notification_pending;\r\n if (this.isNotificationPending) {\r\n this.actionButtons[1].buttonText = 'View Responsibilities in Queue';\r\n } else {\r\n this.actionButtons[1].buttonText = 'View Responsibilities';\r\n }\r\n // 5~0~0~0 this is for other frequency\r\n if(res.frequency_details !== '' && res.frequency_details !== '5~0~0~0') {\r\n this.frequencyDataPopulation(res);\r\n this.getFrequencyPlaceholder(res);\r\n res.placeholder = this.frequencyPlaceholder;\r\n } else {\r\n this.isEntrust = true;\r\n this.mode = 'CREATE';\r\n this.assigneeRadioSelect = false;\r\n this.responsibilityForm.assignors.enable = false;\r\n this.responsibilityForm.assignors.list = [];\r\n this.organizationId = this.authService.getOrganizationId();\r\n this.memberId = this.authService.getMemberId();\r\n }\r\n\r\n if (this.responsibilityForm.assignees.list?.length === 0) {\r\n this.isEntrust = true;\r\n this.mode = 'CREATE';\r\n this.assigneeRadioSelect = false;\r\n this.responsibilityForm.assignors.enable = false;\r\n this.responsibilityForm.assignors.list = [];\r\n this.organizationId = this.authService.getOrganizationId();\r\n this.memberId = this.authService.getMemberId();\r\n }\r\n //\r\n if (res.frequency_details.split('~')[0] !== 6) {\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n }\r\n\r\n if(res?.rc_id > 0) {\r\n this.rcSelected.emit(true)\r\n }\r\n if(res?.audit_category_details) {\r\n this.populateAssuranceList(res?.audit_category_details )\r\n }\r\n\r\n if(res.assessment?.assessment_id) {\r\n this.getAssessmentDetails(res.assessment, res.questionnaire_type)\r\n }\r\n\r\n if(!this.responsibilityForm.checkpoints) {\r\n this.hiddenList.push('CHECKPOINTS');\r\n this.hideElementsFromMoreOptions.emit(this.hiddenList);\r\n } else {\r\n this.isAssessmentDisabled.emit(true)\r\n }\r\n this.refreshAllLists();\r\n this.getEditMoreOptions(res);\r\n }\r\n });\r\n\r\n }\r\n\r\n setMoreOptions() {\r\n\r\n }\r\n\r\n setList(list: any[], ids: any[], key: string) {\r\n const data: any = [];\r\n\r\n ids?.forEach((element: any) => {\r\n const index = list.findIndex((listElement: any) => listElement[key] == element);\r\n if (index !== -1) {\r\n data.push(list[index]);\r\n }\r\n });\r\n return data;\r\n }\r\n\r\n returnIds(list: any[], key: string) {\r\n return list.map(ele => { if (ele[key]) { return ele[key]; } }).filter(ele => ele);\r\n }\r\n\r\n setReviewerPayload(ids: any[], type: string, acceptedData?:Array<any>, reviewerType?: string) {\r\n console.log(\"reviewerTypereviewerType\",reviewerType)\r\n if (type === 'object') {\r\n const idObjArray = this.returnIds(ids, 'member_id');\r\n return this.setList(this.reviewersList, idObjArray, 'my_member_id');\r\n } else if (type === 'list') {\r\n const payLoad: any = [];\r\n const idsList = this.returnIds(ids, 'my_member_id');\r\n idsList.forEach((element: any) => {\r\n let index = -1;\r\n if((acceptedData ?? [])?.length > 0) {\r\n index = acceptedData?.findIndex(ele => ele.member_id === element) ?? -1\r\n }\r\n let acceptStatus = (index > -1 && acceptedData) ? acceptedData[index].reviewer_accept : 0\r\n if(acceptStatus === 0 && reviewerType === 'ANYONE') {\r\n acceptStatus = 1;\r\n }\r\n payLoad.push({ member_id: element, reviewer_accept: acceptStatus });\r\n });\r\n return payLoad;\r\n }\r\n }\r\n\r\n checkWhetherAllListsLoaded() {\r\n if (this.rcListLoaded && this.assigneesListLoaded && this.assignorsListLoaded &&\r\n this.categoriesListLoaded && this.assuranceCategoryListLoaded && this.groupsListLoaded) {\r\n\r\n if (this.frameworkDetails.length > 0) {\r\n this.entrustFramework(this.frameworkDetails[0]);\r\n }\r\n\r\n if (this.mode === 'EDIT') {\r\n this.getEditResponsibilityDetails(this.responsibilityId);\r\n } else {\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n\r\n }\r\n } else {\r\n setTimeout(() => {\r\n this.checkWhetherAllListsLoaded();\r\n }, 300);\r\n }\r\n }\r\n\r\n saveSelectedList(type: string, selectedItems: any) {\r\n switch (type) {\r\n case 'assignors':\r\n if (this.invalidType === 'whom') {\r\n this.invalidType = '';\r\n }\r\n this.responsibilityForm.assignors.list = this.setList(this.assignorsList, [selectedItems.member_id], 'member_id');\r\n this.refreshAllLists();\r\n break;\r\n case 'assignees':\r\n if (this.invalidType === 'who') {\r\n this.invalidType = '';\r\n }\r\n if (this.assigneeRadioSelect) {\r\n this.responsibilityForm.assignees.list = this.setList(this.assigneesList, [selectedItems.employee_id], 'employee_id');\r\n this.refreshAllLists();\r\n } else {\r\n this.responsibilityForm.assignees.list = this.setList(this.assigneesList, selectedItems, 'my_member_id');\r\n this.refreshAllLists();\r\n }\r\n break;\r\n case 'rc':\r\n this.responsibilityForm.rc = this.setList(this.responsibilityCentersList, selectedItems, 'item_id');\r\n this.rcSelected.emit(this.responsibilityForm.rc.length > 0)\r\n if(this.responsibilityForm.rc.length === 0) {\r\n this.responsibilityForm.requiresAuditList = [];\r\n this.responsibilityForm['audit_category_details']['category_id'] = 0;\r\n }\r\n break;\r\n case 'category':\r\n this.responsibilityForm.category = selectedItems;\r\n selectedItems.forEach((element: any) => {\r\n const tag = element.custom_tags !== '' && element.custom_tags !== \"null\" && element.custom_tags != \"[]\" ? JSON.parse(element.custom_tags) : [];\r\n if (tag.length > 0) {\r\n tag.forEach((tagData: any) => {\r\n const index = this.responsibilityForm.customTags.findIndex((tagElement: any) => tagElement.tag_name == tagData.tag_name);\r\n if (index == -1) {\r\n this.responsibilityForm.customTags.push(tagData);\r\n }\r\n });\r\n }\r\n });\r\n break;\r\n case 'reviewer':\r\n this.responsibilityForm.reviewers.list = this.setList(this.reviewersList, selectedItems, 'employee_id');\r\n this.refreshAllLists();\r\n break;\r\n case 'overseer':\r\n this.responsibilityForm.overseers.list = this.setList(this.overseersList, selectedItems, 'employee_id');\r\n this.refreshAllLists();\r\n break;\r\n case 'overseerNotify':\r\n this.responsibilityForm.overseers.notifyList = this.setList(this.overseersList, selectedItems, 'employee_id');\r\n this.refreshAllLists();\r\n break;\r\n // case 'assurance':\r\n // this.responsibilityForm.assuranceList = this.setList(this.assuranceCategoriesList, [selectedItems?.category_id], 'category_id');\r\n // console.log(\"this.responsibilityForm.assuranceList\", this.responsibilityForm.assuranceList, this.responsibilityForm, this.responsibilityForm.audit_category)\r\n // this.responsibilityForm['audit_category_details']['category_id'] = selectedItems?.category_id;\r\n // break;\r\n case 'assurance':\r\n this.responsibilityForm.assuranceList = this.setList(this.assuranceCategoriesList, selectedItems, 'category_id');\r\n break;\r\n case 'requires_audit':\r\n this.responsibilityForm.requiresAuditList = this.setList(this.assuranceRequiresAuditList, [selectedItems?.category_id], 'category_id');\r\n console.log(\"this.responsibilityForm.requiresAuditList\", this.responsibilityForm.requiresAuditList, this.responsibilityForm, this.responsibilityForm.audit_category)\r\n this.responsibilityForm['audit_category_details']['category_id'] = selectedItems?.category_id;\r\n break;\r\n case 'checkpoints':\r\n this.responsibilityForm.checkpoints = selectedItems?.checkpointDetails;\r\n this.responsibilityForm.checkpointInstruction = selectedItems?.checkpointInstruction;\r\n break;\r\n case 'calculatedrisk':\r\n this.responsibilityForm.riskClass = selectedItems?.riskClass;\r\n this.responsibilityForm.riskMatrix = selectedItems?.riskMatrix;\r\n break;\r\n case 'formate_evidence':\r\n\r\n this.responsibilityForm.formatAndEvidence.formatRequired = selectedItems?.isFormateUploaded ?? false;\r\n this.responsibilityForm.formatAndEvidence.formatFiles = selectedItems?.files ?? [];\r\n this.responsibilityForm.formatAndEvidence.formatLinks = selectedItems?.links ?? [];\r\n this.responsibilityForm.formatAndEvidence.evidenceRequired = selectedItems?.isEvidenceRequired ?? false;\r\n break;\r\n case 'reviewFrequency':\r\n this.responsibilityForm.reviewers.reviewFrequency = {\r\n reviewCompleteDays: selectedItems.completeDays,\r\n reviewNOtCompletedDays: selectedItems.notCompleted,\r\n };\r\n\r\n }\r\n this.activeDeselector();\r\n }\r\n\r\n\r\n remove(type: any, event?: any) {\r\n console.log(\"type ===>\", type, event)\r\n switch (type) {\r\n case 'rc':\r\n const rcIndex = this.responsibilityForm.rc.findIndex((rc: any) => rc.rc_id == event.rc_id);\r\n this.responsibilityForm.rc.splice(rcIndex, 1);\r\n this.rcSelected.emit(this.responsibilityForm.rc.length > 0)\r\n if(this.responsibilityForm.rc.length === 0) {\r\n this.responsibilityForm.requiresAuditList = [];\r\n this.responsibilityForm['audit_category_details']['category_id'] = 0;\r\n }\r\n break;\r\n case 'assignors':\r\n this.responsibilityForm.assignors.list = [];\r\n this.refreshAllLists();\r\n break;\r\n case 'assignees':\r\n const entrustIndex = this.responsibilityForm.assignees.list.findIndex((owner: any) => owner.employee_id == event.employee_id);\r\n this.responsibilityForm.assignees.list.splice(entrustIndex, 1);\r\n this.refreshAllLists();\r\n break;\r\n\r\n case 'reviewer':\r\n const reviewerIndex = this.responsibilityForm.reviewers.list.findIndex((reviewer: any) => reviewer.employee_id == event.employee_id);\r\n this.responsibilityForm.reviewers.list.splice(reviewerIndex, 1);\r\n this.refreshAllLists();\r\n break;\r\n case 'overseer':\r\n const overseerIndex = this.responsibilityForm.overseers.list.findIndex((overseer: any) => overseer.employee_id == event.employee_id);\r\n this.responsibilityForm.overseers.list.splice(overseerIndex, 1);\r\n this.refreshAllLists();\r\n break;\r\n case 'overseerNotifyList':\r\n const overseerNotifyIndex = this.responsibilityForm.overseers.notifyList.findIndex((overseerN: any) => overseerN.employee_id == event.employee_id);\r\n this.responsibilityForm.overseers.notifyList.splice(overseerNotifyIndex, 1);\r\n this.refreshAllLists();\r\n break;\r\n\r\n case 'category':\r\n const categoryIndex = this.responsibilityForm.category.findIndex((category: any) => category.category_id == event.category_id);\r\n this.responsibilityForm.category.splice(categoryIndex, 1);\r\n const tag = JSON.parse(event.custom_tags);\r\n if (tag.length > 0) {\r\n tag.forEach((tagData: any) => {\r\n const indexCT = this.responsibilityForm.customTags.findIndex((tagElement: any) => tagElement.tag_name == tagData.tag_name);\r\n if (indexCT != -1) {\r\n this.responsibilityForm.customTags.splice(indexCT, 1);\r\n }\r\n });\r\n }\r\n if (this.responsibilityForm.category.length > 0) {\r\n this.responsibilityForm.category.forEach((element: any) => {\r\n const tag = JSON.parse(element.custom_tags);\r\n if (tag.length > 0) {\r\n tag.forEach((tagData: any) => {\r\n const index = this.responsibilityForm.customTags.findIndex((tagElement: any) => tagElement.tag_name == tagData.tag_name);\r\n if (index == -1) {\r\n this.responsibilityForm.customTags.push(tagData);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n break;\r\n case 'requires_audit':\r\n this.responsibilityForm.requiresAuditList = [];\r\n this.responsibilityForm.audit_category_details = {\r\n category_id: 0,\r\n sample: 0,\r\n percentage: 0 ,\r\n frequency_pattern: '',\r\n frequency_time: ''\r\n }\r\n break;\r\n case 'assurance':\r\n const assuranceIndex = this.responsibilityForm.assuranceList.findIndex((assurance: any) => assurance.category_id == assurance.category_id);\r\n this.responsibilityForm.assuranceList.splice(assuranceIndex, 1);\r\n break;\r\n case 'checkpoint':\r\n this.responsibilityForm.checkpoints.splice(event, 1);\r\n break;\r\n case 'assessment':\r\n this.responsibilityForm.assessment = {\r\n category_id: \"\",\r\n assessment_id: \"\",\r\n\r\n }\r\n break;\r\n case 'new-checkpoints':\r\n this.responsibilityForm.new_checkpoints = {};\r\n this.checkpointCount = 0;\r\n this.checkpointCountUpdated.emit(this.checkpointCount);\r\n break;\r\n }\r\n }\r\n\r\n entrustFramework(event: any) {\r\n this.reset();\r\n this.activeDeselector();\r\n this.responsibilityForm.responsibility = {\r\n name: event.report_name,\r\n keyResponsibility: (event.key_compliance) ? true : false,\r\n };\r\n const newStartDate = event.start_date || event.start_date != null || event.start_date !== '' ? new Date(event.start_date * 1000) : new Date();\r\n const pvtTemplate = event.frequency_template && event.frequency_template !== '' ? event.frequency_template : event.frequency;\r\n const frequencyDetailsObject: any = this.frequencyService.shortHand_freqCal(\r\n pvtTemplate,\r\n newStartDate.getDate(),\r\n newStartDate.getMonth(),\r\n newStartDate.getFullYear()\r\n );\r\n this.responsibilityForm.frequency_details = frequencyDetailsObject?.pattern;\r\n event.frequency_details = this.responsibilityForm.frequency_details;\r\n event.frequency_time = '23:59:00';\r\n event.reminder_before_days = event.remind_days_before_due_date ? event.remind_days_before_due_date : 2;;\r\n event.failed_after_days = event.mark_failed_after ? event.mark_failed_after : 2;\r\n event.lifecycle_details = '0000-00-00~~0';\r\n event.start_of_day_utc = this.frequencyService.frameworkStartDate(event);\r\n event.on_completion_of = [];\r\n event.dom_utc = new Date().getTime();\r\n event.continuous_failed_days = frequencyDetailsObject.continuous_failed_days\r\n\r\n this.responsibilityForm.frequency = this.responsibilityForm.frequency_details;\r\n this.responsibilityForm.frequency_time = '23:59:00';\r\n this.responsibilityForm.reminder_before_days = event.remind_days_before_due_date ? event.remind_days_before_due_date : 2;;\r\n this.responsibilityForm.failed_after_days = event.mark_failed_after ? event.mark_failed_after : 2;\r\n this.responsibilityForm.lifecycleDetails = '0000-00-00~~0';\r\n this.responsibilityForm.start_of_day_utc = this.frequencyService.frameworkStartDate(event).toFixed().toString();\r\n this.responsibilityForm.on_completion_of = [];\r\n this.responsibilityForm.dom_utc = new Date().getTime();\r\n this.responsibilityForm.description = event.remarks.trim() != '' ? event.remarks : '';\r\n this.responsibilityForm.customTags = event.custom_tags && event.custom_tags !== null && event.custom_tags !== 'null' && event.custom_tags !== '' ? JSON.parse(event.custom_tags) : [];\r\n this.responsibilityForm.objective = event.control_objective ? event.control_objective : '';\r\n this.responsibilityForm.category = this.setList(this.allCategories, [event.category_id], 'category_id'); //\r\n this.responsibilityForm.reviewers.reviewFrequency.reviewCompleteDays = 2;\r\n this.responsibilityForm.reviewers.reviewFrequency.reviewNOtCompletedDays = 2;\r\n this.responsibilityForm.rc = this.responsibilityCentersList.find((rc: any) => rc.rc_id === event.entity_id) ? [this.responsibilityCentersList.find((rc: any) => rc.rc_id === event.entity_id)] : [];\r\n this.responsibilityForm.riskClass = this.isRiskEnable ? 1 : 2;\r\n this.responsibilityForm.private_library_id = event.report_id;\r\n this.responsibilityForm.frequency = this.responsibilityForm.frequency_details;\r\n this.responsibilityForm.classification = this.isRiskEnable ? 1 : 2;\r\n this.responsibilityForm.continuous_failed_days = frequencyDetailsObject.continuous_failed_days\r\n this.responsibilityForm.startDate = this.frequencyService.frameworkStartDate(event);\r\n this.responsibilityForm.formatAndEvidence = {\r\n evidenceRequired: event.report_upload_flag ? true : false,\r\n formatFiles: event.report_format,\r\n formatLinks: !(event.report_format_link) || event.report_format_link == '' ? [] : [event.report_format_link],\r\n formatRequired: (event.report_format.length > 0 || ((event.report_format_link) && event.report_format_link != '')) ? true : false\r\n }\r\n this.responsibilityForm.audit_category_details = {\r\n category_id: 0,\r\n sample: 5,\r\n percentage: 30 ,\r\n frequency_pattern: '1~0~3~1',\r\n frequency_time: '23:59:00'\r\n }\r\n\r\n event.frequency_time = '11:59 pm';\r\n if (event.frequency_details !== '' && event.frequency_details !== '5~0~0~0') {\r\n this.frequencyPopulation(event);\r\n } else {\r\n this.responsibilityForm.frequency = '';\r\n }\r\n\r\n event.frequency_time = '23:59:00';\r\n event.placeholder = this.getFrequencyPlaceholder(event);\r\n const checkedMoreOptions = [];\r\n\r\n if (this.responsibilityForm.objective !== '') {\r\n checkedMoreOptions.push('OBJECTIVE');\r\n this.moreOptions.OBJECTIVE = true;\r\n }\r\n checkedMoreOptions.push('RISK_CLASSIFICATION');\r\n this.moreOptions.RISK_CLASSIFICATION = true;\r\n if (this.responsibilityForm.category.length > 0) {\r\n checkedMoreOptions.push('CATEGORY');\r\n this.moreOptions.CATEGORY = true;\r\n }\r\n\r\n if (this.responsibilityForm?.formatAndEvidence?.evidenceRequired || this.responsibilityForm?.formatAndEvidence?.formatRequired) {\r\n checkedMoreOptions.push('FORMATE_EVIDENCE');\r\n this.moreOptions.FORMATE_EVIDENCE = true;\r\n }\r\n if (event.entity_id > 0) {\r\n checkedMoreOptions.push('RC');\r\n this.moreOptions.RC = true;\r\n }\r\n\r\n this.populateOption.emit(checkedMoreOptions);\r\n // event.placeholder\r\n }\r\n\r\n refreshAllLists() {\r\n let assignorAndAssigneesIds: any = [];\r\n let reviewersIds: any = [];\r\n let overseerIds: any = [];\r\n let assigneeIds: any = [];\r\n\r\n const allUsers = cloneDeep(this.allUsersList);\r\n const behalfUsers = cloneDeep(this.behalfOfUsersList);\r\n\r\n const assignors = cloneDeep(this.responsibilityForm.assignors.list);\r\n const assignees = cloneDeep(this.responsibilityForm.assignees.list);\r\n\r\n const reviewers = cloneDeep(this.responsibilityForm.reviewers.list);\r\n const overseerList = cloneDeep(this.responsibilityForm.overseers.list);\r\n const notifyOverseers = cloneDeep(this.responsibilityForm.overseers.notifyList);\r\n assignors?.forEach((user: any) => {\r\n assignorAndAssigneesIds.push(user.member_id);\r\n });\r\n assignees?.forEach((user: any) => {\r\n assignorAndAssigneesIds.push(user.my_member_id);\r\n assigneeIds.push(user.my_member_id);\r\n });\r\n if (this.responsibilityForm.assignors.list.length == 0) {\r\n assignorAndAssigneesIds.push(this.memberId);\r\n }\r\n\r\n reviewers?.forEach((user: any) => {\r\n reviewersIds.push(user.my_member_id);\r\n });\r\n overseerList?.forEach((user: any) => {\r\n overseerIds.push(user.my_member_id);\r\n });\r\n notifyOverseers?.forEach((user: any) => {\r\n overseerIds.push(user.my_member_id);\r\n });\r\n\r\n assignorAndAssigneesIds = [...new Set(assignorAndAssigneesIds)];\r\n assigneeIds = [...new Set(assigneeIds)];\r\n reviewersIds = [...new Set(reviewersIds)];\r\n overseerIds = [...new Set(overseerIds)];\r\n\r\n\r\n this.assignorsList = behalfUsers.filter((user: any) => !( overseerIds.includes(user.member_id)));\r\n this.assigneesList = allUsers.filter((user: any) => !(reviewersIds.includes(user.my_member_id) || overseerIds.includes(user.my_member_id)));\r\n\r\n\r\n\r\n this.reviewersList = allUsers.filter((user: any) => !( overseerIds.includes(user.my_member_id) || assigneeIds.includes(user.my_member_id)));\r\n this.overseersList = allUsers.filter((user: any) => !(assignorAndAssigneesIds.includes(user.my_member_id) || reviewersIds.includes(user.my_member_id)));\r\n }\r\n\r\n submitResponsibility() {\r\n const valid = this.validateResponsibility();\r\n if (!valid) {\r\n return false;\r\n } else if (this.mode == 'EDIT') {\r\n this.organizationId = this.authService.getOrganizationId();\r\n this.memberId = this.authService.getMemberId();\r\n this.entrustResponsibility(this.responsibilityForm);\r\n // edit conditions\r\n } else {\r\n this.entrustResponsibility(this.responsibilityForm);\r\n }\r\n\r\n }\r\n\r\n validateResponsibility() {\r\n this.submitted = true;\r\n if (this.responsibilityForm.assignors.enable && this.responsibilityForm.assignors.list.length === 0) {\r\n this.invalidType = \"whom\";\r\n return;\r\n }\r\n if (!this.responsibilityForm.responsibility.name || this.responsibilityForm.responsibility.name.trim() == '') {\r\n this.invalidType = 'what';\r\n } else if (!this.responsibilityForm.assignees.list || this.responsibilityForm.assignees.list.length == 0) {\r\n this.invalidType = 'who';\r\n } else if (!this.responsibilityForm.frequency || this.responsibilityForm.frequency == '' || this.responsibilityForm.frequency === '' || this.responsibilityForm.frequency === '5~0~0~0') {\r\n this.invalidType = 'when';\r\n } else {\r\n this.invalidType = '';\r\n }\r\n\r\n\r\n\r\n if (!this.responsibilityForm.responsibility.name || this.responsibilityForm.responsibility.name.trim() == ''\r\n || (!this.responsibilityForm.frequency || this.responsibilityForm.frequency === '' || this.responsibilityForm.frequency === '5~0~0~0') || this.responsibilityForm.assignees.list.length == 0) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n responsibilityData !: any;\r\n entrustResponsibility(entrustForm: any) {\r\n console.log(\"entrustForm ==>\", entrustForm)\r\n this.loader = true;\r\n this.uiKitService.isLoader = true;\r\n let startDate = moment(parseInt(entrustForm.startDate) * 1000).format(\"YYYY-MM-DD HH:mm:ss\");\r\n startDate = moment(startDate.split(' ')[0] + \" 00:00:00\").format(\"YYYY-MM-DD HH:mm:ss\");\r\n const rcDetails = entrustForm.rc.length > 0 ? entrustForm.rc.map((rc: any) => {\r\n if (rc) {\r\n const rcDetailsArr = {\r\n parent_rc_ids: rc.parent_rc_ids,\r\n rc_id: rc.rc_id\r\n };\r\n return rcDetailsArr;\r\n }\r\n }) : [];\r\n const moreOptions = this.moreOptions;\r\n\r\n const checkContinuousFailedValue = (details: string) => {\r\n const frequencyType = parseInt(details.split('~')[0]);\r\n if (frequencyType === 1 || frequencyType === 2 || frequencyType === 3) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n }\r\n const remarks = (entrustForm.description.replace(/\\&nbsp;/g, '').trim() !== '') ? entrustForm.description : ''\r\n const objective = (entrustForm.objective.replace(/\\&nbsp;/g, '').trim() !== '') ? entrustForm.objective : ''\r\n const payload = {\r\n app_association: [],\r\n assigned_to: this.returnIds(entrustForm.assignees.list, 'employee_id').toString(),\r\n category_id: (moreOptions.CATEGORY) ? this.returnIds(entrustForm.category, 'category_id').toString() : '',\r\n cc_email: (moreOptions.OVERSEER) ? this.returnIds(entrustForm.overseers.list, 'employee_id').toString() : '',\r\n checkpoint_description: (moreOptions.CHECKPOINTS) ? entrustForm.checkpointInstruction : '',\r\n checkpoint_details: (moreOptions.CHECKPOINTS) ? JSON.stringify(this.responsibilityForm.checkpoints) : '',\r\n checkpoint_flag: 0,\r\n collaborator_mark_done: 0,\r\n comment: '',\r\n continuous_failed_days: checkContinuousFailedValue(entrustForm.frequency) ? entrustForm.continuous_failed_days : 0,\r\n cost_of_compliance: '',\r\n created_by: entrustForm.assignors.list?.length < 1 ? 0 : this.memberId,\r\n creation_window: 0,\r\n custom_tags: JSON.stringify(entrustForm.customTags),\r\n entity_tree: (moreOptions.RC) ? rcDetails : [],\r\n entrust_from_risk: this.openedFrom === 'RISK_TREATMENT' ? true : false,\r\n failed_after_days: entrustForm.failed_after_days,\r\n failed_time_utc: entrustForm.failed_time_utc,\r\n failure_cc_email: (moreOptions.OVERSEER) ? this.returnIds(entrustForm.overseers.notifyList, 'employee_id').toString() : '',\r\n frequency_details: entrustForm.frequency,\r\n frequency_time: entrustForm.timeIn24Hr ?? \"23:59:00\",\r\n grc_object_id: 0,\r\n grc_relationship: '',\r\n if_testplan_failed: 0,\r\n impact: '',\r\n isGroupAssignTo: (entrustForm.assignees.whoCanComplete == 'ANY_ONE') ? 1 : 0,\r\n is_key_compliance: entrustForm.responsibility.keyResponsibility ? 1 : 0,\r\n library_report_id: 0,\r\n lifecycle_details: entrustForm.lifecycleDetails ?? '0000-00-00~~0',\r\n link_for_details: (moreOptions.FORMATE_EVIDENCE) ? entrustForm.formatAndEvidence.formatLinks : [],\r\n linkages: { compliance: [] },\r\n member_id: this.returnIds(entrustForm.assignors.list, 'member_id').length > 0 ? this.returnIds(entrustForm.assignors.list, 'member_id')[0] : this.memberId,\r\n objective: (moreOptions.OBJECTIVE) ? objective : '',\r\n on_completion_of: entrustForm.reportId ? [entrustForm.reportId] : [],\r\n on_completion_of_type: 1,\r\n organisation_id: this.organizationId,\r\n override_weekly: 0,\r\n parent_id: 0,\r\n penalty: '',\r\n private_library_id: 0,\r\n remarks: remarks,\r\n reminder_before_days: entrustForm.reminder_before_days,\r\n report_format: (moreOptions.FORMATE_EVIDENCE) ? entrustForm.formatAndEvidence.formatFiles : [],\r\n report_format_link: '',\r\n report_name: entrustForm.responsibility.name,\r\n report_upload_flag: entrustForm.formatAndEvidence.evidenceRequired ? 1 : 0,\r\n review_after_days: (moreOptions.REVIEWER) ? entrustForm.reviewers.reviewFrequency.reviewCompleteDays === '' ? 0 : Number(entrustForm.reviewers.reviewFrequency.reviewCompleteDays) : 0,\r\n review_failed_after_days: (moreOptions.REVIEWER) ? entrustForm.reviewers.reviewFrequency.reviewNOtCompletedDays === '' ? 0 : Number(entrustForm.reviewers.reviewFrequency.reviewNOtCompletedDays) : 0,\r\n reviewer_arr: (moreOptions.REVIEWER) ? {\r\n level1: {\r\n reviewers: this.setReviewerPayload(entrustForm.reviewers.list, 'list', entrustForm.reviewers.acceptedData, (entrustForm.reviewers.sequentialWorkflow) ? 'SEQUENTIAL' : 'ANYONE'),\r\n type: (entrustForm.reviewers.sequentialWorkflow) ? 'SEQUENTIAL' : 'ANYONE'\r\n },\r\n } : {},\r\n reviewer_checkpoints: [{ checkpoints: [], instruction: '' }],\r\n reviewer_id: 0,\r\n risk_class: this.isRiskEnable ? entrustForm.riskClass : 2,\r\n risk_ids: '',\r\n risk_matrix_data: (moreOptions.RISK_CLASSIFICATION) ? entrustForm.riskMatrix : '0,0,0,0,0,0',\r\n sample_size: 0,\r\n start_date_utc: startDate,\r\n statutory_day: 0,\r\n test_required_flag: (moreOptions.ASSURANCE) ? (entrustForm.assuranceList.length > 0 ? 1 : 0) : 0,\r\n testplan_category_id: (moreOptions.ASSURANCE) ? this.returnIds(entrustForm.assuranceList, 'category_id') : [],\r\n testplan_category_manager: '',\r\n audit_category_details: this.responsibilityForm ?.audit_category_details?.category_id ? {\r\n category_id: this.responsibilityForm.audit_category_details.category_id,\r\n sample: this.selectedSample === 0 ? this.sampleValue : 0,\r\n percentage: this.selectedSample === 1 ? this.samplePercentage : 0,\r\n frequency_pattern: `1~0~${this.sendAuditRemindersValue}~1`,\r\n frequency_time: moment(this.auditTime, 'HH:mm a').format('HH:mm:ss')\r\n } : {\r\n category_id: 0,\r\n sample: 0,\r\n percentage: 0,\r\n frequency_pattern: ``,\r\n frequency_time:''\r\n } ,\r\n assessment: {\r\n category_id: moreOptions.ASSESSMENT ? entrustForm?.assessment?.category_id : '',\r\n assessment_id: moreOptions.ASSESSMENT ? entrustForm?.assessment?.assessment_id : ''\r\n },\r\n assessment_checkpoint: moreOptions.CHECKPOINTS_NEW ? ( Object.keys(entrustForm?.new_checkpoints).length > 0 ? entrustForm?.new_checkpoints : {}) : {},\r\n questionnaire_type: moreOptions.CHECKPOINTS_NEW ? ( Object.keys(entrustForm?.new_checkpoints).length > 0 ? 'assessment_checkpoint' : (moreOptions.ASSESSMENT && entrustForm?.assessment?.category_id ? 'assessment': (JSON.stringify(this.responsibilityForm.checkpoints) != '' && moreOptions.CHECKPOINTS ? 'checkpoint' : ''))) : ''\r\n };\r\n this.responsibilityPayload = payload;\r\n console.log(\"payloaddd\", payload, this.mode)\r\n if (this.mode == 'CREATE' && !this.isDuplicateEntrust) {\r\n this.responsibilityService.submitEntrust(payload).subscribe((res: any) => {\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.showSmiley = true;\r\n this.uiKitService.isSmileyOn = true;\r\n this.responsibilityData = res;\r\n\r\n\r\n if (res.message && res.message.toLowerCase() === 'bulk entrust') {\r\n this.smileyMessage = `You have entrusted ${res.calculate_no_of_responsibiities} responsibilities. These would be reflected within your account in sometime.`;\r\n }\r\n if (this.isNotificationPending && payload.created_by == 0) {\r\n this.smileyMessage = 'This responsibility has been added to the notification queue.'\r\n } else {\r\n if (payload.created_by > 0) {\r\n this.actionButtons[1].buttonText = \"View Responsibilities\";\r\n this.smileyMessage = `You just created a responsibility on behalf ${entrustForm.assignors.list.find((member: any) => member.member_id === payload.member_id).member_name}`;\r\n }\r\n\r\n }\r\n\r\n\r\n //this.reset();\r\n },\r\n err => {\r\n console.log(err);\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n\r\n }\r\n );\r\n }\r\n if (this.mode == 'EDIT' || this.isDuplicateEntrust) {\r\n this.smileyMessage = `The responsibility has been modified.`;\r\n this.responsibilityService.updateEntrust(payload, this.responsibilityId, true).subscribe((res: any) => {\r\n this.responsibilityData = res;\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.showSmiley = true;\r\n this.uiKitService.isSmileyOn = true;\r\n this.isDuplicateEntrust = false;\r\n\r\n // this.resetForm();\r\n\r\n },\r\n err => {\r\n console.log(err);\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n );\r\n }\r\n\r\n }\r\n\r\n reset() {\r\n this.scrollToBottom = false;\r\n this.showSmiley = false;\r\n this.uiKitService.isSmileyOn = false;\r\n this.responsibilityForm = {\r\n assignors: {\r\n enable: false,\r\n list: []\r\n },\r\n responsibility: {\r\n name: '',\r\n keyResponsibility: false,\r\n },\r\n assignees: {\r\n whoCanComplete: 'ALL',\r\n list: []\r\n },\r\n frequency: '',\r\n description: '',\r\n objective: '',\r\n rc: [],\r\n category: [],\r\n checkpointInstruction: '',\r\n customTags: [],\r\n checkpoints: [],\r\n reviewers: {\r\n sequentialWorkflow: true,\r\n reviewFrequency: {\r\n reviewCompleteDays: 2,\r\n reviewNOtCompletedDays: 2\r\n },\r\n list: []\r\n },\r\n\r\n overseers: {\r\n notifyList: [],\r\n list: []\r\n },\r\n formatAndEvidence: {\r\n formatRequired: false,\r\n formatFiles: [],\r\n formatLinks: [],\r\n evidenceRequired: false,\r\n },\r\n assuranceList: [],\r\n requiresAuditList: [],\r\n riskClass: 1,\r\n riskMatrix: '0,0,0,0,0,0'\r\n };\r\n this.moreOptions = {\r\n OBJECTIVE: false,\r\n RC: false,\r\n CATEGORY: false,\r\n FORMATE_EVIDENCE: false,\r\n CHECKPOINTS: false,\r\n RISK_CLASSIFICATION: false,\r\n REVIEWER: false,\r\n OVERSEER: false,\r\n ASSURANCE: false,\r\n APPS: false,\r\n };\r\n this.frequencyPlaceholder = 'How often does the responsibility occur?';\r\n this.frequencyDetails = {\r\n pattern: '',\r\n notificationPending: 0,\r\n dateOfModified: 0,\r\n deactivationValue: 0,\r\n selectedReport: 0,\r\n lifecycle: '0000-00-00~~0',\r\n startDate: Math.floor(new Date().getTime() / 1000),\r\n startOnTheDay: Math.floor(new Date().getTime() / 1000),\r\n window: 0,\r\n failed: 0,\r\n time: '11:59 pm',\r\n failedTime: '',\r\n continuous_failed_days: 0\r\n }\r\n this.sampleValue = undefined;\r\n this.samplePercentage = undefined;\r\n this.selectedSample = -1;\r\n this.sendAuditRemindersValue = 2;\r\n this.auditTime = '11:59 pm'\r\n this.mode = 'CREATE'\r\n this.isEntrust = true;\r\n this.resetForm.emit(true);\r\n }\r\n action(event: string) {\r\n if (this.openedFrom === 'RISK_TREATMENT') {\r\n this.closeSmiley('ds');\r\n return\r\n }\r\n switch (event) {\r\n case 'addMore':\r\n this.reset();\r\n break;\r\n case 'view':\r\n this.viewResponsibilities();\r\n break;\r\n }\r\n }\r\n viewResponsibilities(): void {\r\n let url: string;\r\n let urlSubstring = '';\r\n this.disconnectRefresh.emit(false);\r\n if (this.isNotificationPending && this.responsibilityPayload.created_by == 0) {\r\n urlSubstring = 'compliance/manage-responsibilities/responsibilities-queue';\r\n } else if (this.responsibilityPayload.created_by > 0 && this.mode !== 'EDIT') {\r\n urlSubstring = 'compliance/manage-responsibilities/oversight-responsibilities?tab=4&page=1';\r\n } else {\r\n urlSubstring = 'compliance/manage-responsibilities';\r\n }\r\n if (window.location.host.startsWith('localhost')) {\r\n url = 'http://' + window.location.host + '/#/' + urlSubstring;\r\n } else {\r\n url = 'https://' + window.location.host + '/compliance/#/' + urlSubstring;\r\n }\r\n\r\n if (this.mode !== 'EDIT') {\r\n window.location.href = url;\r\n }\r\n this.closeSmiley('ds')\r\n this.reset();\r\n }\r\n closeSmiley(event: any) {\r\n this.showSmiley = false;\r\n this.uiKitService.isSmileyOn = false;\r\n // this.closeWorkflow.emit(this.responsibilityData);\r\n this.closeWorkflow.emit({ evt: this.responsibilityData, confirm: false });\r\n }\r\n // for edit responsibility\r\n frequencyDataPopulation(event: any) {\r\n const data = {\r\n pattern: event?.frequency_details,\r\n window: event?.reminder_before_days,\r\n failedAfter: event?.failed_after_days,\r\n failed_time_utc: event.failed_time_utc,\r\n lifecycleDetails: event?.lifecycle_details,\r\n startFrom: Number(event?.start_of_day_utc),\r\n timeIn24Hr: event.frequency_time,\r\n continuous_failed_days: event.continuous_failed_days,\r\n startDate: Number(event?.start_of_day_utc),\r\n reportId: event?.on_completion_of[0] ?? 0,\r\n timeIn12hr: this.frequencyService.timeIn12(event.frequency_time != '' ? event.frequency_time : '23:59:00')\r\n }\r\n\r\n this.frequencyData(data);\r\n }\r\n\r\n frequencyPopulation(event: any) {\r\n this.frequencyDetails.pattern = event?.frequency_details;\r\n this.frequencyDetails.failedTime = event?.frequency_time;\r\n this.frequencyDetails.window = event?.reminder_before_days;\r\n this.frequencyDetails.failed = event?.failed_after_days;\r\n this.frequencyDetails.lifecycle = event?.lifecycle_details;\r\n this.frequencyDetails.startDate = event?.start_of_day_utc;\r\n this.frequencyDetails.selectedReport = event?.on_completion_of[0] ?? 0;\r\n this.frequencyDetails.dateOfModified = event?.dom_utc;\r\n this.frequencyDetails.continuous_failed_days = event?.continuous_failed_days;\r\n this.frequencyPlaceholder = event?.placeholder;\r\n }\r\n\r\n frequencyData(event: any) {\r\n console.log(\"event==>\", event)\r\n if (this.invalidType === 'when') {\r\n this.invalidType = '';\r\n }\r\n this.responsibilityForm.frequency = event.pattern;\r\n this.responsibilityForm.reminder_before_days = (event.case===\"daily\") ? 0 : event.window\r\n //this.responsibilityForm.reminder_before_days = event.window;\r\n this.responsibilityForm.failed_after_days = event.failedAfter;\r\n this.responsibilityForm.failed_time_utc = event.failed_time_utc;\r\n this.responsibilityForm.lifecycleDetails = event.lifecycleDetails;\r\n this.responsibilityForm.reportId = event.reportId ?? 0;\r\n this.responsibilityForm.startDate = event.startFrom;\r\n this.responsibilityForm.timeIn24Hr = event.timeIn24Hr;\r\n this.responsibilityForm.continuous_failed_days = event.continuous_failed_days;\r\n this.activateSelector('frequency', false);\r\n const payload = {\r\n frequency_details: event.pattern,\r\n frequency_time: event.timeIn12hr,\r\n reminder_before_days: event.window,\r\n failed_after_days: event.failedAfter,\r\n lifecycle_details: event.lifecycleDetails,\r\n start_of_day_utc: event.startFrom,\r\n on_completion_of: [event.reportId],\r\n dom_utc: Math.floor(Date.now() / 1000),\r\n continuous_failed_days: event.continuous_failed_days,\r\n placeholder: event.placeholder\r\n };\r\n this.frequencyPopulation(payload);\r\n }\r\n\r\n checkBlank(data: string) {\r\n let text = data;\r\n return text.replace(/\\&nbsp;/g, '');\r\n }\r\n\r\n getFrequencyPlaceholder(res: any) {\r\n try {\r\n if (res.frequency_details) {\r\n const frequencyDetails = res?.frequency_details.split('~');\r\n const frequencyTime = res?.frequency_time === '00:00:00' ? '12:00 am' : this.frequencyService.timeIn12(res?.frequency_time);\r\n switch (parseInt(frequencyDetails[0])) {\r\n case 1:\r\n this.getDailyPlaceholder(frequencyDetails, frequencyTime);\r\n break;\r\n case 2:\r\n this.getWeeklyPlaceholder(frequencyDetails, frequencyTime);\r\n break;\r\n case 3:\r\n this.getMonthlyPlaceholder(frequencyDetails, frequencyTime);\r\n break;\r\n case 7:\r\n this.getQuarterlyPlaceholder(frequencyDetails, frequencyTime);\r\n break;\r\n case 9:\r\n this.getBiannualPlaceholder(frequencyDetails, frequencyTime);\r\n break;\r\n case 4:\r\n this.getYearlyPlaceholder(frequencyDetails, frequencyTime);\r\n break;\r\n case 0:\r\n {\r\n const dateObject = new Date(moment(frequencyDetails[1] + '-' + frequencyDetails[2] + '-' + frequencyDetails[3] + ' 00:00:00', 'YYYY-MM-DD HH:mm:ss').unix() * 1000);\r\n // tslint:disable-next-line: max-line-length\r\n this.frequencyPlaceholder =\r\n 'One Time ' + dateObject.getDate() + ' ' + this.shortMonth[dateObject.getMonth()] + ' ' + dateObject.getFullYear() + ' by ' + frequencyTime;\r\n }\r\n break;\r\n case 8:\r\n this.getRandomPlaceholder(frequencyDetails, frequencyTime);\r\n // tslint:disable-next-line: max-line-length\r\n\r\n break;\r\n case 10:\r\n {\r\n this.frequencyPlaceholder = 'You have selected an ongoing frequency.';\r\n }\r\n break;\r\n case 6:\r\n this.getOnCompletionOf(frequencyDetails, res?.on_completion_of[0]);\r\n\r\n }\r\n }\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log(e);\r\n }\r\n }\r\n getOnCompletionOf(frequencyDetails: any, reportId: number) {\r\n this.frequencyPlaceholder = frequencyDetails[3] + ' ' + (parseInt(frequencyDetails[3]) > 1 ? 'days' : 'day') + ' after completion of ';\r\n this.frequencyService.getOnCompletionOfResponsibility().subscribe((res: any) => {\r\n const reportDetails = res.find((ele: any) => ele.ReportId == reportId);\r\n this.frequencyPlaceholder = frequencyDetails[3] + ' ' + (parseInt(frequencyDetails[3]) > 1 ? 'days' : 'day') + ' after completion of ' + (reportDetails ? reportDetails.report_name : '');\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n });\r\n }\r\n\r\n getDailyPlaceholder(frequencyDetails: any, frequencyTime: any) {\r\n {\r\n frequencyDetails = frequencyDetails.map(Number);\r\n if (parseInt(frequencyDetails[3]) === 1) {\r\n this.frequencyPlaceholder = 'Daily by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[3]) > 1) {\r\n this.frequencyPlaceholder = 'Every ' + parseInt(frequencyDetails[3]) + ' days by ' + frequencyTime;\r\n }\r\n }\r\n }\r\n\r\n getWeeklyPlaceholder(frequencyDetails: any, frequencyTime: any) {\r\n {\r\n const selectedDay = frequencyDetails[1].split(',').map((ele: any) => {\r\n return this.frequencyService.dayName[parseInt(ele) - 1];\r\n });\r\n\r\n if (parseInt(frequencyDetails[3]) === 1) {\r\n this.frequencyPlaceholder = 'Every ' + selectedDay.join() + ' by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[3]) === 2) {\r\n this.frequencyPlaceholder = 'Every alternate ' + selectedDay.join() + ' by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[3]) === 3) {\r\n this.frequencyPlaceholder = 'Every 3rd ' + selectedDay.join() + ' by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[3]) > 3) {\r\n this.frequencyPlaceholder = 'Every ' + parseInt(frequencyDetails[1]) + 'th ' + selectedDay.join() + ' by ' + frequencyTime;\r\n }\r\n }\r\n }\r\n\r\n getMonthlyPlaceholder(frequencyDetails: any, frequencyTime: any) {\r\n {\r\n const selectedMonth = frequencyDetails[2].split(',').map((ele: any) => {\r\n return this.shortMonth[parseInt(ele) - 1];\r\n });\r\n if (parseInt(frequencyDetails[1]) === 1) {\r\n this.frequencyPlaceholder = '1st of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 2) {\r\n this.frequencyPlaceholder = '2nd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 3) {\r\n this.frequencyPlaceholder = '3rd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 21 || parseInt(frequencyDetails[1]) === 31) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'st of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 22) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'nd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 23) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'rd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) > 3) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'th of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n }\r\n }\r\n }\r\n\r\n getQuarterlyPlaceholder(frequencyDetails: any, frequencyTime: any) {\r\n {\r\n const quarterly = ['January, April, July, October', 'February, May, August, November', ' March, June, September, December'];\r\n if (parseInt(frequencyDetails[1]) === 1) {\r\n this.frequencyPlaceholder = '1st of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 2) {\r\n this.frequencyPlaceholder = '2nd of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 3) {\r\n this.frequencyPlaceholder = '3rd of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 21 || parseInt(frequencyDetails[1]) === 31) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'st of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 22) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'nd of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 23) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'rd of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) > 3) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'th of every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' by ' + frequencyTime;\r\n }\r\n }\r\n }\r\n\r\n getBiannualPlaceholder(frequencyDetails: any, frequencyTime: any) {\r\n {\r\n const selectedMonth = frequencyDetails[2].split(',').map((ele: any) => {\r\n return this.shortMonth[parseInt(ele) - 1];\r\n });\r\n if (parseInt(frequencyDetails[1]) === 1) {\r\n this.frequencyPlaceholder = '1st of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 2) {\r\n this.frequencyPlaceholder = '2nd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 3) {\r\n this.frequencyPlaceholder = '3rd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 21 || parseInt(frequencyDetails[1]) === 31) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'st of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 22) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'nd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) === 23) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'rd of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n } else if (parseInt(frequencyDetails[1]) > 3) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'th of every ' + selectedMonth.join(', ') + ' by ' + frequencyTime;\r\n }\r\n }\r\n }\r\n\r\n getYearlyPlaceholder(frequencyDetails: any, frequencyTime: any) {\r\n {\r\n const yearSequence = parseInt(frequencyDetails[3]) > 0 ? parseInt(frequencyDetails[3]) : 1;\r\n if (parseInt(frequencyDetails[1]) < 2) {\r\n if (parseInt(frequencyDetails[1]) === 1) {\r\n this.frequencyPlaceholder = '1st of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[1]) === 2) {\r\n this.frequencyPlaceholder = '2nd of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[1]) === 3) {\r\n this.frequencyPlaceholder = '3rd of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[1]) > 3) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'th of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[1]) === 31 || parseInt(frequencyDetails[1]) === 21) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'st of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[1]) === 22) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'nd of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[1]) === 23) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'rd of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;\r\n }\r\n }\r\n\r\n if (parseInt(frequencyDetails[1]) > 1) {\r\n if (parseInt(frequencyDetails[1]) === 1) {\r\n // tslint:disable-next-line: max-line-length\r\n this.frequencyPlaceholder = '1st ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ', Interval: every ' + yearSequence + ' years by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[1]) === 2) {\r\n // tslint:disable-next-line: max-line-length\r\n this.frequencyPlaceholder = '2nd ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ', Interval: every ' + yearSequence + ' years by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[1]) === 3) {\r\n // tslint:disable-next-line: max-line-length\r\n this.frequencyPlaceholder = '3rd ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ', Interval: every ' + yearSequence + ' years by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[1]) > 3) {\r\n // tslint:disable-next-line: max-line-length\r\n this.frequencyPlaceholder =\r\n parseInt(frequencyDetails[1]) + 'th of ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ', Interval: every ' + yearSequence + ' years by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[1]) === 31 || parseInt(frequencyDetails[1]) === 21) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'st of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[1]) === 22) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'nd of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;\r\n }\r\n if (parseInt(frequencyDetails[1]) === 23) {\r\n this.frequencyPlaceholder = parseInt(frequencyDetails[1]) + 'rd of every ' + this.shortMonth[parseInt(frequencyDetails[2]) - 1] + ' by ' + frequencyTime;\r\n }\r\n }\r\n }\r\n }\r\n\r\n getRandomPlaceholder(frequencyDetails: any, frequencyTime: any) {\r\n const quarterly = ['January, April, July, October', 'February, May, August, November', ' March, June, September, December'];\r\n {\r\n switch (parseInt(frequencyDetails[1])) {\r\n case 1:\r\n this.frequencyPlaceholder = 'Every week for ' + frequencyDetails[3] + ' random instances';\r\n break;\r\n case 2:\r\n this.frequencyPlaceholder =\r\n ' Every ' +\r\n frequencyDetails[2].split(',').map((ele: any) => {\r\n return this.shortMonth[parseInt(ele) - 1];\r\n // tslint:disable-next-line: align\r\n }) +\r\n ' for ' +\r\n frequencyDetails[3] +\r\n ' random instances';\r\n break;\r\n case 3:\r\n this.frequencyPlaceholder = 'Every ' + quarterly[parseInt(frequencyDetails[2].split(',')[0]) - 1] + ' for ' + frequencyDetails[3] + ' random instances';\r\n break;\r\n case 4:\r\n this.frequencyPlaceholder = 'Every year for ' + frequencyDetails[3] + ' random instances';\r\n }\r\n }\r\n }\r\n\r\n onEditWhat(event: any) {\r\n\r\n\r\n setTimeout(() => { // this will make the execution after the above boolean has changed\r\n this.isEditWhat = false;\r\n this.whatInput?.nativeElement?.focus();\r\n }, 0);\r\n }\r\n\r\n getEditMoreOptions(res?: any) {\r\n let checkedMoreOptions = []\r\n if (this.responsibilityForm.objective !== '') {\r\n checkedMoreOptions.push('OBJECTIVE');\r\n this.moreOptions.OBJECTIVE = true;\r\n }\r\n checkedMoreOptions.push('RISK_CLASSIFICATION');\r\n this.moreOptions.RISK_CLASSIFICATION = true;\r\n if (this.responsibilityForm.category.length > 0) {\r\n checkedMoreOptions.push('CATEGORY');\r\n this.moreOptions.CATEGORY = true;\r\n }\r\n\r\n if (this.responsibilityForm.formatAndEvidence.evidenceRequired || this.responsibilityForm.formatAndEvidence.formatRequired) {\r\n checkedMoreOptions.push('FORMATE_EVIDENCE');\r\n this.moreOptions.FORMATE_EVIDENCE = true;\r\n }\r\n if (this.responsibilityForm.rc.length > 0) {\r\n checkedMoreOptions.push('RC');\r\n this.moreOptions.RC = true;\r\n }\r\n\r\n if (this.responsibilityForm.checkpoints.length > 0) {\r\n checkedMoreOptions.push('CHECKPOINTS');\r\n this.moreOptions.CHECKPOINTS = true;\r\n }\r\n\r\n if (this.responsibilityForm.reviewers.list.length > 0) {\r\n checkedMoreOptions.push('REVIEWER');\r\n this.moreOptions.REVIEWER = true;\r\n }\r\n\r\n\r\n if (this.responsibilityForm.overseers.list.length > 0 || this.responsibilityForm.overseers.notifyList.length > 0) {\r\n checkedMoreOptions.push('OVERSEER');\r\n this.moreOptions.OVERSEER = true;\r\n }\r\n\r\n if (this.responsibilityForm.assuranceList.length > 0) {\r\n checkedMoreOptions.push('ASSURANCE');\r\n this.moreOptions.ASSURANCE = true;\r\n }\r\n\r\n if (this.responsibilityForm.requiresAuditList.length > 0) {\r\n checkedMoreOptions.push('REQUIRES_AUDIT');\r\n this.moreOptions.REQUIRES_AUDIT = true;\r\n }\r\n\r\n if (res.questionnaire_type === 'assessment') {\r\n checkedMoreOptions.push('ASSESSMENT');\r\n this.moreOptions.ASSESSMENT = true;\r\n }\r\n\r\n if(res.questionnaire_type === 'assessment_checkpoint') {\r\n checkedMoreOptions.push('CHECKPOINTS_NEW');\r\n this.moreOptions.CHECKPOINTS_NEW = true;\r\n }\r\n\r\n this.populateOption.emit(checkedMoreOptions);\r\n\r\n }\r\n\r\n\r\n // Format & Evidence\r\n testFunction() {\r\n if (this.responsibilityForm.responsibility.name.trim() !== '' && this.isEditWhat === false) {\r\n this.isEditWhat = true;\r\n }\r\n if (this.responsibilityForm.description == '<br>') {\r\n this.responsibilityForm.description = '';\r\n }\r\n if (this.responsibilityForm.objective == '<br>') {\r\n this.responsibilityForm.objective = '';\r\n }\r\n }\r\n\r\n reviewerTypeChange(event: any) {\r\n this.responsibilityForm.reviewers.sequentialWorkflow = event === 'SEQUENTIAL' ? true : false\r\n }\r\n\r\n selectedSampleData(event: number) {\r\n console.log(event)\r\n this.selectedSample = event;\r\n this.tempCheckValue = event;\r\n }\r\n\r\n //populate Assurance List\r\n populateAssuranceList(testPlanCategory: any) {\r\n console.log(\"testPlanCategory testPlanCategory\", testPlanCategory)\r\n this.responsibilityForm.assurance = this.setList(this.assuranceCategoriesList, [testPlanCategory?.category_id], 'category_id');\r\n this.responsibilityForm.audit_category_details = testPlanCategory;\r\n if(testPlanCategory.sample) {\r\n this.isSample = true\r\n this.sampleValue = testPlanCategory.sample;\r\n this.selectedSample = 0;\r\n }\r\n\r\n if(testPlanCategory.percentage) {\r\n this.isSample = true;\r\n this.samplePercentage = testPlanCategory.percentage;\r\n this.selectedSample = 1;\r\n }\r\n this.tempCheckValue = this.selectedSample;\r\n this.sendAuditRemindersValue = testPlanCategory.frequency_pattern ? parseInt(testPlanCategory.frequency_pattern.split('~')[2]) : 2;\r\n this.auditTime = moment(testPlanCategory?.frequency_time, 'HH:mm:ss').format('HH:mm a');\r\n\r\n }\r\n\r\n //on sample toggle on/off\r\n checkInputValue(event: any) {\r\n let key = event.charCode; // key = event.keyCode; (Both can be used)\r\n return ((key > 47 && key < 58) || key == 45 );\r\n\r\n\r\n }\r\n\r\n switchEnable(event: boolean) {\r\n console.log(event)\r\n if(event) {\r\n this.selectedSample = this.tempCheckValue;\r\n } else {\r\n this.selectedSample = -1\r\n }\r\n console.log( this.selectedSample)\r\n\r\n }\r\n\r\n // TODO: select Assessment list and set id to payload\r\n onAssessmentSelect(event: any) {\r\n this.isAssessment = false;\r\n this.responsibilityForm.assessment = event;\r\n }\r\n // TODO: Populate assessment data from already selected data\r\n /**\r\n *\r\n * @param assessmentDetails : selected assessment details like it's object id and category_id\r\n */\r\n getAssessmentDetails(assessmentDetails: any, type?: string) {\r\n this.responsibilityService.getAssessmentDetailsByID(assessmentDetails.assessment_id).subscribe((res: any) => {\r\n if(res.length > 0) {\r\n console.log(\"assessmentDetails?.questionnaire_type ==>\",type, assessmentDetails)\r\n if(type === 'assessment') {\r\n\r\n const categoryDetails = res[0].category.find((ele: any) => ele._id == assessmentDetails.category_id);\r\n this.moreOptions.ASSESSMENT = true;\r\n const assessmentData = {\r\n category_id: assessmentDetails.category_id,\r\n assessment_id: assessmentDetails.assessment_id,\r\n assessmentDetails: {\r\n id: assessmentDetails.assessment_id,\r\n assessment_name: res[0].assessment_name,\r\n questions: res[0].questionsCount\r\n },\r\n category_details: categoryDetails\r\n }\r\n this.responsibilityForm.assessment = JSON.parse(JSON.stringify(assessmentData));\r\n } else {\r\n this.moreOptions.CHECKPOINTS_NEW = true;\r\n this.postAssessment({assessmentDetails:res[0].questions})\r\n }\r\n }\r\n })\r\n }\r\n\r\n // TODO: Remove checkpoints\r\n\r\n onRemoveCheckpoints(type: string) {\r\n console.log(\"type ==>\", type)\r\n this.onRemovingCheckpoint.emit(type)\r\n }\r\n\r\n removeCheckpoint() {\r\n this.moreOptions.CHECKPOINTS = false;\r\n this.responsibilityForm.checkpoints = [];\r\n }\r\n\r\n /**\r\n *\r\n * @param event Assessment details\r\n */\r\n postAssessment(event: any) {\r\n\r\n this.responsibilityForm.new_checkpoints = event.assessmentDetails;\r\n this.checkpointCount = event.assessmentDetails.elements.length;\r\n console.log(\"new checkpoint population\", this.checkpointCount);\r\n this.checkpointCountUpdated.emit(this.checkpointCount);\r\n this.setIsUploaded(false)\r\n }\r\n\r\n\r\n setIsUploaded(event: any) {\r\n if(!event) this.activeDeselector()\r\n this.authService.previewPanel.next(event);\r\n\r\n }\r\n}\r\n\r\n","import { HttpClient, HttpBackend, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { map, retry } from 'rxjs/operators';\r\nimport { AuthService } from './auth.service';\r\nimport { Configurations } from '../configurations';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PolicyService {\r\n env !: any;\r\n constructor(private http: HttpClient, private authService: AuthService, @Optional() config?: Configurations) {\r\n if (config) {\r\n this.env = config.envConfig;\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n getCategoriesList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.policyGet + 'category/dropdownList&type=contract', { headers })\r\n .pipe(retry(2));\r\n }\r\n\r\n // https://devapi.v-comply.com/policy/?mode=category/detailAll\r\n getWorkflowList(payload: any){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.policyPost + 'approvalworkflow/fetchall', {category_id: payload,source_page: \"WORKFLOW_ENGINE\"}, {headers}).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n submitPolicy(payload: any){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.policyPost + 'policy/add', payload, {headers}).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n getReviewers(payload: any){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.policyPost + 'category/detailAll', {categoryId: payload}, {headers}).pipe(\r\n retry(2)\r\n );\r\n }\r\n getRCList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'responsibilityCenterTree', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n // getOrganizationUsers() {\r\n // const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n // return this.http\r\n // .get<any[]>(this.env.organizationGet + 'organizationUsers&from=risk', {\r\n // headers,\r\n // })\r\n // .pipe(retry(2));\r\n // }\r\n getOrganizationPeople() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.organizationGet + 'people', {\r\n headers,\r\n }).pipe(retry(2));\r\n }\r\n\r\n getCategoryWorkFlows(id: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.policyGet + 'approvalworkflow/fetchall&category_id=' + id, { headers }).pipe(retry(2));\r\n }\r\n\r\n\r\n fileUploadWorkroom(payload:any, des:any) {\r\n return this.http.post<any>(this.env.fileUploadEndPoint + des, payload);\r\n }\r\n\r\n saveUploadedFiles(payload: any) {\r\n\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post<any>(this.env.policyPost + 'attachment/create', payload, { headers });\r\n }\r\n uploadFile(data: any, id: string, path: string) {\r\n return this.http.post(this.env.fileUpload + '?id=' + id + '&path=' + path, data).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n uploadDocxFile(data: any, id: string, path: string) {\r\n return this.http.post(this.env.docxUpload + '?id=' + id + '&path=' + path, data).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n savePolicyDetails(uname:any, uid:any, id:any, name:any, html:any, isSendForApprove:any) {\r\n\r\n const payload = JSON.stringify({\r\n policyLogs: JSON.stringify([{\r\n policyName: name,\r\n policyDesc: html,\r\n oldPolicyName: name,\r\n type: 2,\r\n active_flag: 1,\r\n modified_member: [{ modifier_id: uid, modifier_name: uname }],\r\n modified_by: uname,\r\n modified_on: new Date()\r\n }]),\r\n policyDesc: JSON.stringify([{\r\n policyName: name,\r\n policyDesc: html,\r\n oldPolicyName: name,\r\n type: 2,\r\n active_flag: 1,\r\n modified_member: [{ modifier_id: uid, modifier_name: uname }],\r\n modified_by: uname,\r\n modified_on: new Date()\r\n }]),\r\n Is_approval: isSendForApprove\r\n });\r\n\r\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\r\n return this.http.post(this.env.saveDoc + id, payload, { headers });\r\n }\r\n\r\n editPolicy(id:any){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.policyGet + 'policy/list&obj_id='+id, { headers })\r\n .pipe(retry(2));\r\n }\r\n\r\n\r\n\r\n updatePolicy(payload:any,policyId:any){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.put<any>(this.env.policyPut + 'policy/update&contractId='+policyId, payload, { headers });\r\n\r\n }\r\n\r\n extractFile(extension:any,path:any, id:any) {\r\n if (extension === 'pdf' || extension === 'PDF' ) {\r\n return this.http.get(this.env.linkPdf + '?filePath=' + path + '&id=' + id);\r\n } else {\r\n return this.http.post(this.env.linkDoc, {filePath: path, id});\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { cloneDeep, uniqBy } from 'lodash';\r\nimport { DatePickerComponent } from 'ng2-date-picker';\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { ConfirmationAlert } from '../interfaces/confirmation-alert';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\nimport { PolicyForm } from '../workflow-interfaces/create-policy-form';\r\nimport { AuthService } from '../workflow-services/auth.service';\r\nimport { PolicyService } from '../workflow-services/policy.service';\r\nimport { ResponsibilityService } from '../workflow-services/responsibility.service';\r\nimport { UiKitService } from '../workflow-services/ui-kit.service';\r\nimport { PlatformLocation } from '@angular/common';\r\nimport * as moment from 'moment';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FrequencyService } from '../sharedComponents/frequency/frequency.service';\r\nimport { FormatAndEvidenceComponent } from '../sharedComponents/format-and-evidence/format-and-evidence.component';\r\n\r\n@Component({\r\n selector: 'app-workflow-policy',\r\n templateUrl: './workflow-policy.component.html',\r\n styleUrls: ['./workflow-policy.component.less', '../forms.less']\r\n})\r\nexport class WorkflowPolicyComponent implements OnInit {\r\n @Output() pickerChanged = new EventEmitter();\r\n @Input() mode = 'CREATE';\r\n @Input() policyId = '';\r\n @Output() showConfirmationAlert = new EventEmitter();\r\n @ViewChild('datePicker') datePicker!: DatePickerComponent;\r\n @Output() populateOption = new EventEmitter();\r\n @Output() disconnectRefresh = new EventEmitter();\r\n @Output() shiftToEditMode = new EventEmitter();\r\n @Input() convertFileData: any = {}\r\n @Input() selectedCategory = ''\r\n\r\n\r\n @ViewChild('formatEvidence') formatEvidence!: FormatAndEvidenceComponent;\r\n\r\n\r\n description: EditorConfig = {\r\n mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n placeholder: 'Add a description for this policy.',\r\n };\r\n workflowType = 'SEQUENTIAL'\r\n scrollToBottom = false;\r\n navigateToDocumentsSection = false;\r\n\r\n activeSelector = '';\r\n rcList: any = [];\r\n usersList: any = [];\r\n allApprovers: any = [];\r\n allReviewers: any = [];\r\n assigneesList: any = [];\r\n reviewersList: any = [];\r\n overseersList: any = [];\r\n rcListLoaded = false;\r\n usersListLoaded = false;\r\n categoryList: any = [];\r\n groupsList: any[] = [];\r\n workFlowList: any[] = [];\r\n approverWorkFlowList: any[] = [];\r\n submitted = false;\r\n\r\n loader = false;\r\n categoriesListLoaded = false;\r\n groupsListLoaded = false;\r\n categoryConfig = {\r\n panelTitle: 'Select Category',\r\n floatingTextSingular: 'Category selected',\r\n floatingTextPlural: 'Categories selected',\r\n searchPlaceholder: 'Search Category',\r\n searchEnabled: true,\r\n selectAllEnabled: true\r\n }\r\n approvalWorkflowConfig = {\r\n panelTitle: 'Select user(s)',\r\n floatingTextSingular: 'User selected',\r\n floatingTextPlural: 'Users selected',\r\n searchPlaceholder: 'Search User',\r\n searchEnabled: true,\r\n selectAllEnabled: true\r\n }\r\n\r\n\r\n addMoreLevels = false;\r\n approversListIndex = 0;\r\n workflowList = ['SEQUENTIAL', 'ROUND-ROBIN', 'ANY ONE'];\r\n datePickerOverlay = false;\r\n dateConfig = {\r\n disableKeypress: true,\r\n format: 'DD MMM YYYY',\r\n unSelectOnClick: true,\r\n openOnClick:false,\r\n openOnFocus:false,\r\n min: new Date().getDate().toString(),\r\n };\r\n frequencyDetails = {\r\n pattern: '',\r\n notificationPending: 0,\r\n dateOfModified: 0,\r\n deactivationValue: 0,\r\n selectedReport: 0,\r\n lifecycle: '0000-00-00~~0',\r\n startDate: Math.floor(new Date().getTime() / 1000),\r\n startOnTheDay: Math.floor(new Date().getTime() / 1000),\r\n window: 0,\r\n failed: 0,\r\n time: '11:59 pm',\r\n failedTime: '',\r\n continuous_failed_days: 0\r\n };\r\n reviewerFrequencyDetails = {\r\n pattern: '',\r\n notificationPending: 0,\r\n dateOfModified: 0,\r\n deactivationValue: 0,\r\n selectedReport: 0,\r\n lifecycle: '0000-00-00~~0',\r\n startDate: Math.floor(new Date().getTime() / 1000),\r\n startOnTheDay: Math.floor(new Date().getTime() / 1000),\r\n window: 0,\r\n failed: 0,\r\n time: '11:59 pm',\r\n failedTime: '',\r\n continuous_failed_days: 3\r\n };\r\n frequencyPlaceholder = 'What is the attestation schedule for this policy ?';\r\n reviewerFrequencyPlaceholder = 'When does this policy need to be reviewed ?';\r\n\r\n sideSelectorElements = ['approvalWorkflow', 'assignees', 'approvers', 'reviewer',\r\n 'ccEmail', 'ccFail', 'rc', 'category', 'frequency', 'reviewerFrequency', 'checkpoints']\r\n riskClassification = [\r\n { name: 'LOW', value: 1, class: 'low' },\r\n { name: 'LOW-Medium', value: 2, class: 'low-med' },\r\n { name: 'Medium-High', value: 3, class: 'med-high' },\r\n { name: 'High', value: 4, class: 'high' }\r\n ];\r\n showRiskClassification = true;\r\n showCreateDocuments = false;\r\n organization_id = '';\r\n member_obj_id = '';\r\n memberId = 0;\r\n userInfo !: any;\r\n\r\n policyApprovalFlag = 0;\r\n baseURL = ''\r\n\r\n\r\n constructor(private policyService: PolicyService,\r\n private snackBar: SnackBarService,\r\n private uiKitService: UiKitService,\r\n private authService: AuthService,\r\n private responsibilityService: ResponsibilityService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private frequencyService: FrequencyService,\r\n platformLocation: PlatformLocation,\r\n ) {\r\n this.baseURL = (platformLocation as any).location.origin;\r\n if (this.baseURL == \"http://localhost:4200\") {\r\n this.baseURL = 'https://dev.v-comply.com'\r\n }\r\n }\r\n policyForm: PolicyForm = {\r\n policyName: '',\r\n policyNotes: '',\r\n selectedCategories: [],\r\n selectedApprovers: [],\r\n selectedAssignees: [], //doubt in name\r\n selectedReviewers: [],\r\n\r\n selectedRCs: [],\r\n CCFailEmail: [],\r\n CCEmail: [],\r\n availableOnPortal: false,\r\n acceptSuggestions: false,\r\n requiresSignatureForAttestation: false,\r\n riskRating: 1,\r\n associatedDocuments: {\r\n formatFiles: [],\r\n },\r\n policyDueDate: moment(),\r\n customTags: [],\r\n checkpointDetails: [],\r\n totalQuestion: 0,\r\n passingMarks: 0,\r\n documentsAndLinks: {\r\n formatFiles: [],\r\n formatLinks: [],\r\n },\r\n addResponsibilityCenters: false,\r\n addReviewers: false,\r\n addCheckpoints: false,\r\n addOverseers: false,\r\n addAssociatedDocuments: false,\r\n\r\n failed_time: '',\r\n frequency_details: '',\r\n frequency_text: '',\r\n mark_failed_after: 0,\r\n remind_days_before_due_date: 0,\r\n\r\n reviewFailedAfter: 0,\r\n reviewFailedTime: '',\r\n review_frequency_details: '',\r\n review_frequency_type: '',\r\n review_remind_days_before_due_date: 0,\r\n };\r\n ngOnInit(): void {\r\n this.getRCList();\r\n this.getUsersList();\r\n this.getCategoriesList();\r\n this.getGroupsList();\r\n this.checkWhetherAllListsLoaded();\r\n this.loader = true;\r\n this.authService.getOrganizationDetails().subscribe((res: any) => {\r\n if (!res.enable_riskclass) {\r\n this.showRiskClassification = false;\r\n }\r\n this.organization_id = res._id\r\n });\r\n this.member_obj_id = this.authService.getUserDetails()._id;\r\n this.userInfo = this.authService.getUserDetails().user;\r\n this.memberId = this.authService.getMemberId();\r\n\r\n\r\n }\r\n\r\n /**\r\n * Displays the listing pages the left side of policy form to set and edit the dropdown fields values\r\n * @param type holds name of particular list is to be displayed\r\n * @param event contains boolean value to display the list or not\r\n * @param workflowType it sets the approval workflow type while editing the approval workflow.\r\n */\r\n activateSelector(type: any, event: boolean, workflowType?: any) {\r\n if (workflowType) {\r\n this.workflowType = workflowType\r\n }\r\n this.activeSelector = event ? type : '';\r\n if (this.sideSelectorElements.includes(type)) {\r\n this.pickerChanged.emit(event);\r\n }\r\n\r\n\r\n }\r\n\r\n /**\r\n * Closes the listing pages\r\n */\r\n disableSelector() {\r\n this.activeSelector = '';\r\n this.pickerChanged.emit(false);\r\n }\r\n\r\n /**\r\n * Fetches Responsibility centers list\r\n */\r\n getRCList() {\r\n this.policyService.getRCList().subscribe(res => {\r\n this.rcList = res;\r\n this.rcListLoaded = true;\r\n }, err => {\r\n console.error(err);\r\n this.rcListLoaded = true;\r\n });\r\n\r\n }\r\n\r\n /**\r\n * Fetches organization users list\r\n */\r\n getUsersList() {\r\n this.policyService.getOrganizationPeople().subscribe((res: any) => {\r\n this.usersList = res;\r\n this.usersListLoaded = true;\r\n }, err => {\r\n console.error(err);\r\n this.usersListLoaded = true;\r\n });\r\n }\r\n\r\n /**\r\n * Fetches Policy Categories list\r\n */\r\n getCategoriesList() {\r\n this.policyService.getCategoriesList().subscribe((res: any) => {\r\n this.categoryList = res;\r\n this.categoriesListLoaded = true;\r\n }, err => {\r\n console.error(err);\r\n this.categoriesListLoaded = true;\r\n });\r\n }\r\n\r\n /**\r\n * Fetches organization users groups list\r\n */\r\n getGroupsList() {\r\n this.responsibilityService.getOrganizationGroups().subscribe((res: any) => {\r\n const data = res;\r\n const groups: any = [];\r\n data.forEach((element: any) => {\r\n const obj = {\r\n groupName: element.group_name,\r\n userIds: element.member_ids,\r\n };\r\n groups.push(obj);\r\n });\r\n this.groupsList = groups;\r\n this.groupsListLoaded = true;\r\n }, err => {\r\n console.error(err);\r\n this.groupsListLoaded = true;\r\n });\r\n }\r\n\r\n /**\r\n * Sets the approvers workflow from the selected workflow on Approvers workflow list\r\n * @param event contains selected predefined workflow\r\n */\r\n selectedWorkflowChange(event: any) {\r\n if (event === -1) {\r\n // this.policyForm.selectedApprovers = [];\r\n // this.addMoreLevels = true\r\n // this.activateSelector('approvers', true);\r\n } else {\r\n let data = cloneDeep(event.approval_workflow);\r\n const newArray = data.map((item: any) => {\r\n item.name = item.type\r\n const ids = item.approvers.map((approver: any) => approver.member_id);\r\n item.approvers = this.setList(this.allApprovers, ids, 'member_id');\r\n return item;\r\n });\r\n this.policyForm.selectedApprovers = newArray.filter((level: any) => level.approvers.length > 0)\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Fetches Approvers workflow list based on selected policy categories\r\n * @param id contains selected categories id's\r\n */\r\n getApproverWorkFlow(id: any) {\r\n this.loader = true;\r\n this.policyService.getWorkflowList(id).subscribe((res: any) => {\r\n if (res?.length >= 0) {\r\n this.approverWorkFlowList = res; // getting all approver saved workflows\r\n this.loader = false;\r\n }\r\n }, err => {\r\n console.error(err);\r\n this.loader = false;\r\n\r\n });\r\n }\r\n\r\n /**\r\n * Fetches Approvers and reviewers list based on selected policy categories\r\n * @param categoryIds contains selected categories id's\r\n */\r\n getApproversAndReviewersList(categoryIds: any, approverIds?: any, reviewerIds?: any) {\r\n this.loader = true;\r\n\r\n this.policyService.getReviewers(categoryIds).subscribe((res: any) => {\r\n if (res?.length >= 0) {\r\n res.forEach((element: any) => {\r\n\r\n this.allApprovers = uniqBy(this.allApprovers.concat(element.all_approvers), 'member_id');\r\n this.allReviewers = uniqBy(element.all_approvers.concat(this.allReviewers, element.all_authors), 'member_id');\r\n\r\n });\r\n }\r\n if (approverIds) {\r\n let obj = approverIds;\r\n let approverLevels = []\r\n for (var item in obj) {\r\n const ids = obj[item].approvers.map((approver: any) => approver.member_id);\r\n\r\n let data = {\r\n name: obj[item].type,\r\n approvers: this.setList(this.allApprovers, ids, 'member_id')\r\n }\r\n if (data.name == 'ROUNDROBIN') {\r\n data.name = 'ROUND-ROBIN'\r\n } else if (data.name == 'ANYONE') {\r\n data.name = 'ANY ONE'\r\n }\r\n approverLevels.push(data);\r\n }\r\n this.policyForm.selectedApprovers = approverLevels;\r\n }\r\n if (reviewerIds) {\r\n this.policyForm.selectedReviewers = this.setList(this.allReviewers, reviewerIds, 'member_id');\r\n\r\n }\r\n this.loader = false;\r\n\r\n }, err => {\r\n console.error(err)\r\n this.loader = false;\r\n\r\n });\r\n }\r\n\r\n /*******\r\n * It is to populate more options elements while editing the policy form\r\n */\r\n populateOptionalFields() {\r\n const activatedOptions = [];\r\n if (this.policyForm.addResponsibilityCenters) { activatedOptions.push('RESPONSIBILITY_CENTER'); }\r\n if (this.policyForm.addReviewers) { activatedOptions.push('REVIEWER'); }\r\n if (this.policyForm.addCheckpoints) { activatedOptions.push('CHECKPOINTS'); }\r\n if (this.policyForm.addOverseers) { activatedOptions.push('OVERSEER'); }\r\n if (this.policyForm.addAssociatedDocuments) { activatedOptions.push('ASSOCIATED_DOCUMENTS'); }\r\n\r\n this.populateOption.emit(activatedOptions);\r\n }\r\n /**\r\n * It is to add and remove the elements from More option to the policy Form\r\n * @param event contains details related to checked value, code particular elements from More options\r\n */\r\n addMoreInfo(event: any) {\r\n switch (event.code) {\r\n case 'RESPONSIBILITY_CENTER':\r\n this.policyForm.addResponsibilityCenters = event.checked;\r\n break;\r\n case 'REVIEWER':\r\n this.policyForm.addReviewers = event.checked;\r\n break;\r\n case 'CHECKPOINTS':\r\n this.policyForm.addCheckpoints = event.checked;\r\n break;\r\n case 'OVERSEER':\r\n this.policyForm.addOverseers = event.checked;\r\n break;\r\n case 'ASSOCIATED_DOCUMENTS':\r\n this.policyForm.addAssociatedDocuments = event.checked;\r\n break;\r\n\r\n }\r\n this.scrollToBottom = true;\r\n }\r\n\r\n /**\r\n * It is to ensure whether all required lists on Policy from is loaded from the api call or not\r\n */\r\n checkWhetherAllListsLoaded() {\r\n if (this.rcListLoaded && this.usersListLoaded && this.categoriesListLoaded && this.groupsListLoaded) {\r\n this.refreshAllLists();\r\n if (this.convertFileData && this.convertFileData.fileName) {\r\n this.policyForm.policyName = this.convertFileData.fileName.substring(0, this.convertFileData.fileName.lastIndexOf('.'))\r\n if (this.convertFileData.categoryId) {\r\n this.saveSelectedList('category', [this.convertFileData.categoryId])\r\n }\r\n\r\n }\r\n if (this.selectedCategory) {\r\n this.saveSelectedList('category', [this.selectedCategory])\r\n }\r\n if (this.mode === 'EDIT') {\r\n this.editPolicy();\r\n } else {\r\n this.loader = false;\r\n }\r\n } else {\r\n setTimeout(() => {\r\n this.checkWhetherAllListsLoaded();\r\n }, 300);\r\n }\r\n }\r\n\r\n /**\r\n * Triggers the confirmation popup when availability on Policy portal toggle in ON\r\n * @param event contains toggle value which is always true or false\r\n */\r\n availabilityOnPortal(event: any) {\r\n\r\n if (event) {\r\n const confirmationDetails: ConfirmationAlert = {\r\n isVisible: true,\r\n message: `The policies that you intend to make accessible to the entire organization can be added to the policy portal.\r\n It is like a shared catalog of all active & updated policies that any logged in user can read/ download for reference. \r\n Hence, if this option is enabled, it is not necessary for you to set up an attestation schedule or select\r\n readers to attest the policies.`,\r\n action: 'POLICY_PORTAL',\r\n };\r\n this.showConfirmationAlert.emit(confirmationDetails);\r\n }\r\n }\r\n\r\n /**\r\n * Receives the input from the Confirmation dialog of available on Policy portal\r\n * @param event contains selected option from the confirmation dialog which is always either 'YES' or 'NO'\r\n */\r\n confirmPolicyPortal(event: any) {\r\n this.policyForm.availableOnPortal = (event == 'YES') ? true : false\r\n if (event == 'NO') {\r\n this.policyForm.acceptSuggestions = false;\r\n }\r\n }\r\n\r\n /**\r\n * Sets the policyForm with selected elements from the listing, frequency, file upload components\r\n * @param type defines the particular field on Policy form.\r\n * @param selectedItems contains the list of selected items from the list\r\n */\r\n saveSelectedList(type: string, selectedItems: any) {\r\n switch (type) {\r\n\r\n case 'rc':\r\n this.policyForm.selectedRCs = this.setList(this.rcList, selectedItems, 'item_id');\r\n break;\r\n case 'category':\r\n this.policyForm.selectedCategories = this.setList(this.categoryList, selectedItems, '_id');\r\n const objectIds = this.returnIds(this.policyForm.selectedCategories, '_id')\r\n this.policyForm.selectedApprovers = [];\r\n this.policyForm.selectedReviewers = [];\r\n this.resetReviewerFrequency();\r\n this.policyForm.customTags = [];\r\n this.getApproverWorkFlow(objectIds);\r\n this.getApproversAndReviewersList(objectIds);\r\n this.policyForm.selectedCategories.forEach((element: any) => {\r\n const tag = element.custom_tags;\r\n if (tag.length > 0) {\r\n tag.forEach((tagData: any) => {\r\n const index = this.policyForm.customTags.findIndex((tagElement: any) => tagElement.tagname == tagData.tagname);\r\n if (index == -1) {\r\n this.policyForm.customTags.push(tagData);\r\n }\r\n });\r\n }\r\n });\r\n\r\n break;\r\n case 'assignees':\r\n this.policyForm.selectedAssignees = this.setList(this.assigneesList, selectedItems, 'my_member_id');\r\n this.refreshAllLists();\r\n break;\r\n case 'reviewer':\r\n\r\n this.policyForm.selectedReviewers = this.setList(this.allReviewers, [selectedItems.member_id], 'member_id');\r\n break;\r\n case 'ccEmail':\r\n this.policyForm.CCEmail = this.setList(this.usersList, selectedItems, 'employee_id');\r\n this.refreshAllLists();\r\n break;\r\n case 'ccFail':\r\n this.policyForm.CCFailEmail = this.setList(this.usersList, selectedItems, 'employee_id');\r\n this.refreshAllLists();\r\n break;\r\n case 'approvers':\r\n const approvers = this.setList(this.allApprovers, selectedItems, 'member_id');\r\n if (this.addMoreLevels) {\r\n this.policyForm.selectedApprovers.push({ name: this.workflowType, approvers });\r\n this.addMoreLevels = false;\r\n this.disableSelector();\r\n return;\r\n }\r\n this.policyForm.selectedApprovers[this.approversListIndex] = { name: this.workflowType, approvers };\r\n break;\r\n case 'reviewer_attachments':\r\n\r\n this.policyForm.documentsAndLinks.formatFiles = selectedItems?.files ?? [];\r\n\r\n this.policyForm.documentsAndLinks.formatLinks = selectedItems?.links ?? [];\r\n break;\r\n case 'associatedDocuments':\r\n\r\n this.policyForm.associatedDocuments.formatFiles = selectedItems?.files ?? [];\r\n\r\n break;\r\n case 'checkpoints':\r\n this.policyForm.checkpointDetails = selectedItems?.checkpointDetails ?? [];\r\n this.policyForm.totalQuestion = selectedItems?.checkpointDetails?.length ?? 0;\r\n this.policyForm.passingMarks = selectedItems?.requiredPoint ?? 0;\r\n break;\r\n }\r\n this.disableSelector();\r\n }\r\n\r\n /**\r\n * Removes the particular element from selected list\r\n * @param type defines the particular case\r\n * @param event holds the id or key of element to be removed\r\n * @param removeIndex contains the index of the element to be removed\r\n */\r\n remove(type: any, event: any, removeIndex?: any) {\r\n switch (type) {\r\n case 'rc':\r\n const rcIndex = this.policyForm.selectedRCs.findIndex((rc: any) => rc.rc_id == event.rc_id);\r\n this.policyForm.selectedRCs.splice(rcIndex, 1);\r\n break;\r\n\r\n case 'assignees':\r\n const entrustIndex = this.policyForm.selectedAssignees.findIndex((owner: any) => owner.employee_id == event.employee_id);\r\n this.policyForm.selectedAssignees.splice(entrustIndex, 1);\r\n this.refreshAllLists();\r\n break;\r\n\r\n case 'reviewer':\r\n const reviewerIndex = this.policyForm.selectedReviewers.findIndex((reviewer: any) => reviewer.member_id == event.member_id);\r\n this.policyForm.selectedReviewers.splice(reviewerIndex, 1);\r\n this.resetReviewerFrequency();\r\n break;\r\n case 'ccEmail':\r\n const overseerIndex = this.policyForm.CCEmail.findIndex((overseer: any) => overseer.employee_id == event.employee_id);\r\n this.policyForm.CCEmail.splice(overseerIndex, 1);\r\n this.refreshAllLists();\r\n break;\r\n case 'ccFail':\r\n const overseerNotifyIndex = this.policyForm.CCFailEmail.findIndex((overseerN: any) => overseerN.employee_id == event.employee_id);\r\n this.policyForm.CCFailEmail.splice(overseerNotifyIndex, 1);\r\n this.refreshAllLists();\r\n break;\r\n case 'approvers':\r\n const approversIndex = this.policyForm.selectedApprovers[removeIndex].approvers.findIndex((approver: any) => approver.member_id == event.member_id);\r\n this.policyForm.selectedApprovers[removeIndex].approvers.splice(approversIndex, 1);\r\n if (this.policyForm.selectedApprovers[removeIndex].approvers.length == 0) {\r\n this.policyForm.selectedApprovers.splice(removeIndex, 1)\r\n }\r\n break;\r\n case 'category':\r\n const categoryIndex = this.policyForm.selectedCategories.findIndex((category: any) => category.item_id == event.item_id);\r\n this.policyForm.selectedCategories.splice(categoryIndex, 1);\r\n const tag = event.custom_tags;\r\n if (tag.length > 0) {\r\n tag.forEach((tagData: any) => {\r\n const indexCT = this.policyForm.customTags.findIndex((tagElement: any) => tagElement.tagname == tagData.tagname);\r\n if (indexCT != -1) {\r\n this.policyForm.customTags.splice(indexCT, 1);\r\n }\r\n });\r\n }\r\n const objectIds = this.returnIds(this.policyForm.selectedCategories, '_id')\r\n this.resetReviewerFrequency();\r\n this.policyForm.selectedApprovers.splice(0, this.policyForm.selectedApprovers.length)\r\n\r\n this.policyForm = Object.assign(this.policyForm);\r\n this.policyForm.selectedReviewers = [];\r\n this.getApproverWorkFlow(objectIds);\r\n this.getApproversAndReviewersList(objectIds);\r\n\r\n break;\r\n case 'checkpoints':\r\n this.policyForm?.checkpointDetails.splice(removeIndex, 1);\r\n this.policyForm.totalQuestion -= 1;\r\n this.policyForm.passingMarks -= 1;\r\n break;\r\n case 'workflowLevel':\r\n this.policyForm?.selectedApprovers.splice(removeIndex, 1);\r\n break;\r\n\r\n }\r\n }\r\n /**\r\n * Refreshes the assignees and overseers list such that both list does not contain the same users based on selection\r\n */\r\n refreshAllLists() {\r\n let assigneesIds: any = [];\r\n let reviewersIds: any = [];\r\n let overseerIds: any = [];\r\n const allUsers = cloneDeep(this.usersList);\r\n const assignees = cloneDeep(this.policyForm.selectedAssignees);\r\n const overseerList = cloneDeep(this.policyForm.CCEmail);\r\n const notifyOverseers = cloneDeep(this.policyForm.CCFailEmail);\r\n\r\n assignees?.forEach((user: any) => {\r\n assigneesIds.push(user.employee_id);\r\n });\r\n overseerList?.forEach((user: any) => {\r\n overseerIds.push(user.employee_id);\r\n });\r\n notifyOverseers?.forEach((user: any) => {\r\n overseerIds.push(user.employee_id);\r\n });\r\n\r\n assigneesIds = [...new Set(assigneesIds)];\r\n reviewersIds = [...new Set(reviewersIds)];\r\n overseerIds = [...new Set(overseerIds)];\r\n\r\n\r\n // this.assignorsList = behalfUsers.filter((user: any) => !(reviewersIds.includes(user.member_id) || overseerIds.includes(user.member_id)));\r\n this.assigneesList = allUsers.filter((user: any) => !(reviewersIds.includes(user.employee_id) || overseerIds.includes(user.employee_id)));\r\n\r\n // this.reviewersList = allUsers.filter((user: any) => !(assigneesIds.includes(user.employee_id) || overseerIds.includes(user.employee_id)));\r\n this.overseersList = allUsers.filter((user: any) => !(assigneesIds.includes(user.employee_id) || reviewersIds.includes(user.employee_id)));\r\n }\r\n\r\n /**\r\n * Returns whole list based on selected id's from a particular list elements\r\n * @param list it is the main list which contains all elements list\r\n * @param key contains key to filter selected list from the list\r\n * @param ids selected ids array\r\n */\r\n setList(list: any[], ids: any[], key: string) {\r\n const data: any = [];\r\n ids.forEach((element: any) => {\r\n const index = list.findIndex((listElement: any) => listElement[key] == element);\r\n if (index !== -1) {\r\n data.push(list[index]);\r\n }\r\n });\r\n return data;\r\n }\r\n\r\n /**\r\n * Returns id's from a particular list elements\r\n * @param list actual selected list\r\n * @param key contains key to extract id from the list\r\n */\r\n returnIds(list: any[], key: string) {\r\n return list.map(ele => { if (ele[key]) { return ele[key]; } });\r\n }\r\n\r\n /**\r\n * Sets the reviewer type in approval workflow\r\n * @param event contains selected reviewer type\r\n */\r\n reviewerTypeChange(event: any) {\r\n this.workflowType = event;\r\n }\r\n\r\n /**\r\n * Sets frequency in edit mode\r\n */\r\n frequencyDataPopulation(event: any) { //needs to discuss with backend about edit and default values\r\n const data = {\r\n pattern: event?.frequency_details, //\r\n window: event?.remind_days_before_due_date,\r\n failedAfter: event?.mark_failed_after,\r\n failed_time_utc: '',\r\n lifecycleDetails: '0000-00-00~~0',\r\n timeIn24Hr: event.failed_time != '' ? event.failed_time : '23:59:00',\r\n continuous_failed_days: 0,\r\n startFrom: Math.floor(new Date(event.startDate).getTime() / 1000),\r\n startDate: \"\",\r\n reportId: 0,\r\n timeIn12hr: this.frequencyService.timeIn12(event.failed_time != '' ? event.failed_time : '23:59:00'),\r\n placeholder: event.frequency_text\r\n }\r\n\r\n this.frequencyData(data);\r\n }\r\n\r\n /**\r\n * Sets the selected frequency details in the policyForm\r\n * @param event contains selected frequency details\r\n */\r\n frequencyData(event: any) {\r\n\r\n this.policyForm.frequency_details = event.pattern;\r\n this.policyForm.frequency_text = event.placeholder,\r\n this.policyForm.mark_failed_after = event.failedAfter;\r\n this.policyForm.remind_days_before_due_date = event.window;\r\n this.policyForm.failed_time = event.timeIn24Hr\r\n\r\n this.activateSelector('frequency', false);\r\n const payload = {\r\n frequency_details: event.pattern,\r\n frequency_time: event.timeIn12hr,\r\n reminder_before_days: event.window,\r\n failed_after_days: event.failedAfter,\r\n lifecycle_details: event.lifecycleDetails,\r\n start_of_day_utc: event.startFrom,\r\n on_completion_of: [event.reportId],\r\n dom_utc: Math.floor(Date.now() / 1000),\r\n continuous_failed_days: event.continuous_failed_days,\r\n placeholder: event.placeholder\r\n };\r\n this.frequencyPopulation(payload);\r\n }\r\n\r\n /**\r\n * Populates the frequency field with selected data from frequency component\r\n * @param event contains selected frequency details\r\n */\r\n frequencyPopulation(event: any) {\r\n this.frequencyDetails.pattern = event?.frequency_details;\r\n this.frequencyDetails.failedTime = event?.frequency_time;\r\n this.frequencyDetails.window = event?.reminder_before_days;\r\n this.frequencyDetails.failed = event?.failed_after_days;\r\n this.frequencyDetails.lifecycle = event?.lifecycle_details;\r\n this.frequencyDetails.startDate = event?.start_of_day_utc;\r\n this.frequencyDetails.selectedReport = event?.on_completion_of[0] ?? 0;\r\n this.frequencyDetails.dateOfModified = event?.dom_utc;\r\n this.frequencyDetails.continuous_failed_days = 3;\r\n this.frequencyPlaceholder = (event?.placeholder) ? event.placeholder : 'How often does this policy need to be attested?';\r\n }\r\n\r\n\r\n reviewerFrequencyDataPopulation(event: any) { //needs to discuss with backend about edit and default values\r\n const data = {\r\n pattern: event?.review_frequency_details, //\r\n window: event?.review_remind_days_before_due_date,\r\n failedAfter: event?.reviewFailedAfter,\r\n failed_time_utc: '',\r\n lifecycleDetails: '0000-00-00~~0',\r\n timeIn24Hr: event.reviewFailedTime != '' ? event.reviewFailedTime : '23:59:00',\r\n continuous_failed_days: 0,\r\n startFrom: Math.floor(new Date(event.startDate).getTime() / 1000),\r\n startDate: \"\",\r\n reportId: 0,\r\n timeIn12hr: this.frequencyService.timeIn12(event.reviewFailedTime != '' ? event.reviewFailedTime : '23:59:00'),\r\n placeholder: event.reviewfrequencyDetails\r\n }\r\n\r\n this.reviewerFrequencyData(data);\r\n }\r\n\r\n resetReviewerFrequency() {\r\n this.reviewerFrequencyDetails = {\r\n pattern: '',\r\n notificationPending: 0,\r\n dateOfModified: 0,\r\n deactivationValue: 0,\r\n selectedReport: 0,\r\n lifecycle: '0000-00-00~~0',\r\n startDate: Math.floor(new Date().getTime() / 1000),\r\n startOnTheDay: Math.floor(new Date().getTime() / 1000),\r\n window: 0,\r\n failed: 0,\r\n time: '11:59 pm',\r\n failedTime: '',\r\n continuous_failed_days: 3\r\n };\r\n this.policyForm.reviewFailedAfter = 0;\r\n this.policyForm.review_frequency_details = '';\r\n this.policyForm.review_frequency_type = '';\r\n this.policyForm.review_remind_days_before_due_date = 0;\r\n this.policyForm.reviewFailedTime = '23:59:00';\r\n this.reviewerFrequencyPlaceholder = 'When does this policy need to be reviewed ?';\r\n }\r\n\r\n /**\r\n * Sets the selected reviewer frequency details in the policyForm\r\n * @param event contains selected frequency details\r\n */\r\n reviewerFrequencyData(event: any) {\r\n\r\n this.policyForm.reviewFailedAfter = event.failedAfter;\r\n this.policyForm.review_frequency_details = event.pattern;\r\n this.policyForm.review_frequency_type = event.pattern.split('~')[0];\r\n this.policyForm.review_remind_days_before_due_date = event.window;\r\n this.policyForm.reviewFailedTime = event.timeIn24Hr\r\n\r\n this.activateSelector('reviewerFrequency', false);\r\n const payload = {\r\n frequency_details: event.pattern,\r\n frequency_time: event.timeIn12hr,\r\n reminder_before_days: event.window,\r\n failed_after_days: event.failedAfter,\r\n lifecycle_details: event.lifecycleDetails,\r\n start_of_day_utc: event.startFrom,\r\n on_completion_of: [event.reportId],\r\n dom_utc: Math.floor(Date.now() / 1000),\r\n continuous_failed_days: event.continuous_failed_days,\r\n placeholder: event.placeholder\r\n };\r\n this.reviewerFrequencyPopulation(payload);\r\n }\r\n\r\n /**\r\n * Populates the reviewer frequency field with selected data from frequency component\r\n * @param event contains selected frequency details\r\n */\r\n reviewerFrequencyPopulation(event: any) {\r\n this.reviewerFrequencyDetails.pattern = event?.frequency_details;\r\n this.reviewerFrequencyDetails.failedTime = event?.frequency_time;\r\n this.reviewerFrequencyDetails.window = event?.reminder_before_days;\r\n this.reviewerFrequencyDetails.failed = event?.failed_after_days;\r\n this.reviewerFrequencyDetails.lifecycle = event?.lifecycle_details;\r\n this.reviewerFrequencyDetails.startDate = event?.start_of_day_utc;\r\n this.reviewerFrequencyDetails.selectedReport = event?.on_completion_of[0] ?? 0;\r\n this.reviewerFrequencyDetails.dateOfModified = event?.dom_utc;\r\n this.reviewerFrequencyDetails.continuous_failed_days = 3;\r\n this.reviewerFrequencyPlaceholder = (event?.placeholder) ? event.placeholder : 'When does this policy need to be reviewed ?';\r\n\r\n }\r\n\r\n /**\r\n * Validates the data submitted on create policy form\r\n */\r\n validatePolicy() {\r\n setTimeout(() => {\r\n this.submitted = true;\r\n\r\n }, 100);\r\n const event = this.policyForm.policyName;\r\n const re = /&nbsp;|<br>/g;\r\n this.policyForm.policyName = event.replace(re, '').trim();\r\n\r\n if (!this.policyForm.policyName || this.policyForm.policyName.trim() == ''\r\n || (!this.policyForm.frequency_details && this.policyForm.selectedAssignees.length > 0)\r\n || (this.policyForm.frequency_details && this.policyForm.selectedAssignees.length == 0)\r\n || (!this.policyForm.review_frequency_details && this.policyForm.selectedReviewers.length > 0)\r\n || (this.policyForm.review_frequency_details && this.policyForm.selectedReviewers.length == 0)\r\n || this.policyForm.selectedCategories.length == 0 || \r\n (this.policyForm.selectedApprovers.length == 0 && this.policyApprovalFlag === 0) || (this.formatEvidence && this.formatEvidence.newLink.containsError)) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n /**\r\n * Makes an api call to create a policy\r\n * @param policy contains policyForm data\r\n */\r\n submitPolicy() {\r\n\r\n this.submitted = false;\r\n const valid = this.validatePolicy();\r\n if (!valid) {\r\n return false;\r\n }\r\n this.loader = true;\r\n this.uiKitService.isLoader = true;\r\n const policy = this.policyForm;\r\n let approversData: any = {}\r\n const policySelectedApprovers = cloneDeep(policy.selectedApprovers);\r\n policySelectedApprovers.forEach((level: any, index: any) => {\r\n if (level.name == 'ROUND-ROBIN') {\r\n level.name = 'ROUNDROBIN'\r\n } else if (level.name == 'ANY ONE') {\r\n level.name = 'ANYONE'\r\n }\r\n approversData['level' + (index + 1)] = {\r\n approvers: level.approvers.map((approver: any) => {\r\n const obj = {\r\n member_id: approver.member_id, approval_flag: false, reject_flag: false, remove_flag: false\r\n }\r\n return obj;\r\n }),\r\n type: level.name,\r\n approval_done: false\r\n }\r\n });\r\n\r\n let reviewerFilesArray = cloneDeep(policy.documentsAndLinks.formatFiles);\r\n const reviewerFiles = reviewerFilesArray.map((file: any) => {\r\n file.name = file.filename;\r\n file.file_path = file.filepath\r\n file.org_name = file.original_filename\r\n delete file.filename;\r\n delete file.filepath;\r\n delete file.original_filename;\r\n delete file.linkSet;\r\n return file;\r\n })\r\n\r\n let attestationFilesArray = cloneDeep(policy.associatedDocuments.formatFiles);\r\n const attestationFiles = attestationFilesArray.map((ele: any) => {\r\n ele.name = ele.filename;\r\n ele.file_path = ele.filepath\r\n ele.original_file_name = ele.original_filename\r\n ele.folder_id = (ele?.folder_id) ? ele.folder_id : 0;\r\n ele.path = (ele?.path) ? ele.path : (ele.filepath + ele.filename);\r\n ele.isLinkSet = ele.linkSet\r\n delete ele.filename;\r\n delete ele.filepath;\r\n delete ele.original_filename;\r\n delete ele.linkSet;\r\n delete ele.file_name;\r\n return ele;\r\n })\r\n const reviewerID = this.returnIds(policy.selectedReviewers, 'member_id')\r\n const payload = {\r\n policy_name: policy.policyName,\r\n notes: policy.policyNotes,\r\n is_portal_enable: (policy.availableOnPortal) ? 1 : 0,\r\n is_suggetion_enable: (policy.acceptSuggestions) ? 1 : 0,\r\n category_id_arr: this.returnIds(policy.selectedCategories, 'item_id'),\r\n approvers: approversData,\r\n group_employeeIds: this.returnIds(policy.selectedAssignees, 'employee_id').toString(),\r\n Is_approval: 0, //needs to check in fe\r\n\r\n associated_documents: attestationFiles,\r\n\r\n custom_tags: JSON.stringify(policy.customTags),\r\n\r\n frequency_details: (policy.frequency_details) ? policy.frequency_details : '',\r\n frequency_text: (policy.frequency_details) ? policy.frequency_text : '',\r\n remind_days_before_due_date: (policy.frequency_details) ? policy.remind_days_before_due_date : 0,\r\n failed_time: (policy.frequency_details) ? policy.failed_time : '',\r\n mark_failed_after: (policy.frequency_details) ? policy.mark_failed_after : '',\r\n // startDate: policy.policyDueDate.toDateString(),\r\n startDate: moment(policy.policyDueDate).format('ddd MMM DD YYYY'),\r\n\r\n ReviewerAttachments: (policy.addReviewers && policy.documentsAndLinks.formatFiles) ? reviewerFiles : [],\r\n ReviewerLinks: (policy.addReviewers && policy.documentsAndLinks.formatLinks) ? policy.documentsAndLinks.formatLinks : [],\r\n ReviewerMemberId: (policy.addReviewers) ? reviewerID[0] : 0,\r\n isReview: (policy.addReviewers && ((policy.documentsAndLinks.formatFiles) || (policy.documentsAndLinks.formatLinks))) ? 1 : 0,\r\n\r\n reviewFailedAfter: (policy.addReviewers && policy.review_frequency_details) ? policy.reviewFailedAfter : 0,\r\n reviewFailedTime: (policy.addReviewers && policy.review_frequency_details) ? policy.reviewFailedTime : '',\r\n review_frequency_details: (policy.addReviewers && policy.review_frequency_details) ? policy.review_frequency_details : '',\r\n review_frequency_type: (policy.addReviewers && policy.review_frequency_details) ? policy.review_frequency_type : '',\r\n review_remind_days_before_due_date: (policy.addReviewers && policy.review_frequency_details) ? policy.review_remind_days_before_due_date : 0,\r\n\r\n entities: this.returnIds(policy.selectedRCs, 'item_id').toString(),\r\n risk_class: policy.riskRating.toString(),\r\n\r\n CCFailEmail: this.returnIds(policy.CCFailEmail, 'employee_email').toString(),\r\n CCEmail: this.returnIds(policy.CCEmail, 'employee_email').toString(),\r\n\r\n checkpointDetails: (policy.addCheckpoints) ? policy.checkpointDetails : [],\r\n totalQuestion: (policy.addCheckpoints && policy.totalQuestion) ? policy.totalQuestion : 0,//\r\n passingMarks: (policy.addCheckpoints && policy.passingMarks) ? policy.passingMarks : 0,//\r\n\r\n policyApprovalFlag: 0,\r\n\r\n is_signature_required: policy.requiresSignatureForAttestation ? 1 : 0,\r\n }\r\n\r\n if (this.mode == 'CREATE') {\r\n this.policyService.submitPolicy(payload).subscribe((res: any) => {\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.policyId = res._id;\r\n if (this.convertFileData?.fileName) {\r\n this.loader = true;\r\n this.linkDocumentWithPolicy(this.convertFileData)\r\n return;\r\n }\r\n this.pickerChanged.emit(true);\r\n this.showCreateDocuments = true;\r\n\r\n },\r\n err => {\r\n console.error(err);\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n\r\n }\r\n );\r\n }\r\n if (this.mode == 'EDIT') {\r\n if (this.policyApprovalFlag !== 0) {\r\n delete payload.approvers\r\n payload.policyApprovalFlag = 2\r\n }\r\n this.policyService.updatePolicy(payload, this.policyId).subscribe((res: any) => {\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.policyId = res._id;\r\n\r\n if (this.navigateToDocumentsSection) {\r\n this.pickerChanged.emit(true);\r\n this.showCreateDocuments = true;\r\n } else {\r\n this.disconnectRefresh.emit(false);\r\n this.snackBar.show('The policy has been updated');\r\n window.location.href = this.baseURL + '/all/policy/workroom?id=' + this.policyId\r\n // this.router.navigate(['/policy/workroom'], { queryParams: { id: this.policyId }, relativeTo: this.route });\r\n // window.location.reload();\r\n\r\n }\r\n\r\n\r\n },\r\n err => {\r\n console.error(err);\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n\r\n }\r\n );\r\n }\r\n\r\n }\r\n\r\n linkDocumentWithPolicy(document: any) {\r\n if (document.fileName && (document.fileExtension === 'pdf' || document.fileExtension === 'PDF' ||\r\n document.fileExtension === 'docx' || document.fileExtension === 'DOCX')) {\r\n this.policyService.extractFile(document.fileExtension, document.filePath, this.policyId).subscribe((res: any) => {\r\n if (res) {\r\n if (res.message === 'done' || res.content) {\r\n this.loader = false;\r\n if (document.fileExtension === 'docx' || document.fileExtension === 'DOCX') {\r\n\r\n this.router.navigate(['/policy/edit-policy'], { queryParams: { id: this.policyId }, relativeTo: this.route });\r\n\r\n } else if (document.fileExtension === 'pdf' || document.fileExtension === 'PDF') {\r\n\r\n this.router.navigate(['/policy/workroom'], { queryParams: { id: this.policyId }, relativeTo: this.route });\r\n }\r\n }\r\n }\r\n }, (err: any) => {\r\n this.loader = false;\r\n console.error(err);\r\n this.snackBar.show('Oops! Something went wrong and we were unable to complete this action. Let\\'s give it another try, shall we?');\r\n });\r\n } else {\r\n this.loader = false;\r\n this.snackBar.show('Oops! Something went wrong and we were unable to complete this action. Let\\'s give it another try, shall we?');\r\n\r\n }\r\n }\r\n\r\n /**\r\n * opens the date picker on policy form\r\n */\r\n openDatePicker() {\r\n this.datePicker.api.open();\r\n this.datePickerOverlay = true;\r\n // this.setActiveFieldSelector('ISSUE_DATE_TIME', 'ISSUE_DATE_TIME');\r\n }\r\n\r\n /**\r\n * closes the date picker from policy form\r\n */\r\n closeDatePicker(evt: any) {\r\n this.datePickerOverlay = false;\r\n\r\n if (!evt) {\r\n return;\r\n }\r\n if (evt?.date?._d) {\r\n let monthArray = ['Jan', 'Feb', 'Mar', 'Apr', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\r\n const dateValue = new Date(evt?.date?._d).getDate();\r\n const monthValue = monthArray[new Date(evt?.date?._d).getMonth()];\r\n const yearValue = new Date(evt?.date?._d).getFullYear();\r\n const dateStr = `${dateValue} ${monthValue} ${yearValue}`;\r\n }\r\n if (evt?.date?._d) {\r\n this.policyForm.policyDueDate = evt?.date?._d;\r\n }\r\n this.datePicker.api.close();\r\n }\r\n editPolicyFromDocuments() {\r\n this.mode = 'EDIT';\r\n this.shiftToEditMode.emit()\r\n this.pickerChanged.emit(false);\r\n this.showCreateDocuments = false;\r\n this.navigateToDocumentsSection = true;\r\n this.editPolicy();\r\n\r\n }\r\n\r\n checkForCreateDocuments() {\r\n\r\n const data = localStorage.getItem('showCreateDocuments');\r\n this.navigateToDocumentsSection = (data === \"true\") ? true : false;\r\n if (this.navigateToDocumentsSection) {\r\n this.pickerChanged.emit(true);\r\n this.showCreateDocuments = true;\r\n localStorage.removeItem('showCreateDocuments');\r\n }\r\n }\r\n\r\n editPolicy() {\r\n this.mode = 'EDIT'\r\n\r\n\r\n if (this.policyId) {\r\n this.policyService.editPolicy(this.policyId).subscribe((res: any) => {\r\n\r\n const data = res[0];\r\n const categoryIds = data.category_details_arr.map((id: any) => id.catObjId);\r\n this.policyApprovalFlag = data.policyApprovalFlag;\r\n this.getApproverWorkFlow(categoryIds)\r\n this.getApproversAndReviewersList(categoryIds, data.approvers, [data.ReviewerMemberId])\r\n this.populatePolicyForm(data, categoryIds);\r\n this.frequencyDataPopulation(data)\r\n this.reviewerFrequencyDataPopulation(data)\r\n }, error => {\r\n console.error(error);\r\n })\r\n }\r\n }\r\n\r\n populatePolicyForm(data: any, categoryIds: any) {\r\n\r\n\r\n const reviewerFiles = data.ReviewerAttachments.map((file: any) => {\r\n file.filename = file.name\r\n file.filepath = file.file_path\r\n file.original_filename = file.org_name\r\n file.file_name = file.org_name\r\n file.linkSet = ''\r\n delete file.name\r\n delete file.file_path\r\n delete file.org_name\r\n\r\n return file;\r\n })\r\n const attestationFiles = data.associated_documents.map((ele: any) => {\r\n ele.filename = ele.name\r\n ele.filepath = ele.file_path\r\n ele.original_filename = ele.original_file_name\r\n ele.file_name = ele.original_file_name\r\n ele.linkSet = ele.isLinkSet\r\n delete ele.name;\r\n delete ele.file_path;\r\n delete ele.original_file_name;\r\n delete ele.isLinkSet;\r\n return ele;\r\n })\r\n const group_employeeIds = data.group_employeeNames.map((id: any) => id.employee_id);\r\n\r\n this.policyForm.selectedCategories = this.setList(this.categoryList, categoryIds, '_id');\r\n this.policyForm.policyName = data.policy_name,\r\n this.policyForm.policyNotes = data.notes,\r\n this.policyForm.customTags = (data.custom_tags) ? data.custom_tags : [];\r\n\r\n this.policyForm.selectedAssignees = (group_employeeIds.length > 0) ? this.setList(this.assigneesList, group_employeeIds, 'employee_id') : []; //doubt in name\r\n\r\n this.policyForm.selectedRCs = (data.entities) ? this.setList(this.rcList, data.entities.split(','), 'item_id') : [];\r\n this.policyForm.CCFailEmail = (data.CCFailEmail) ? this.setList(this.overseersList, data.CCFailEmail, 'employee_email') : [];\r\n this.policyForm.CCEmail = (data.CCEmail) ? this.setList(this.overseersList, data.CCEmail.split(','), 'employee_email') : [];\r\n this.policyForm.availableOnPortal = data.enablePortal ? true : false;\r\n this.policyForm.acceptSuggestions = data.enableSuggetion ? true : false;\r\n this.policyForm.requiresSignatureForAttestation = data.is_signature_required ? true : false;\r\n this.policyForm.riskRating = (data.risk_class) ? Number(data.risk_class) : 1;\r\n this.policyForm.associatedDocuments = (data.associated_documents) ? {\r\n formatFiles: attestationFiles\r\n } : { formatFiles: [] };\r\n this.policyForm.policyDueDate = (data.startDate) ? moment(data.startDate) : moment();\r\n this.policyForm.checkpointDetails = (data.checkpoints) ? data.checkpoints : [];\r\n this.policyForm.totalQuestion = (data.total_marks) ? data.total_marks : 0;\r\n this.policyForm.passingMarks = (data.pass_marks) ? data.pass_marks : 0;\r\n this.policyForm.documentsAndLinks = (data.ReviewerAttachments) ? {\r\n formatFiles: reviewerFiles,\r\n formatLinks: data.ReviewerLinks,\r\n } : { formatFiles: [], formatLinks: [] };\r\n this.policyForm.addResponsibilityCenters = this.policyForm.selectedRCs.length > 0 ? true : false;\r\n this.policyForm.addReviewers = (data.ReviewerMemberId) ? true : false;\r\n this.policyForm.addCheckpoints = (this.policyForm.checkpointDetails.length > 0) ? true : false;\r\n this.policyForm.addOverseers = (this.policyForm.CCFailEmail.length > 0 || this.policyForm.CCEmail.length > 0) ? true : false;\r\n this.policyForm.addAssociatedDocuments = data.associated_documents.length > 0 ? true : false;\r\n\r\n this.populateOptionalFields();\r\n // this.checkForCreateDocuments();\r\n this.loader = false;\r\n\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-more-option',\r\n templateUrl: './more-option.component.html',\r\n styleUrls: ['./more-option.component.less']\r\n})\r\nexport class MoreOptionComponent implements OnInit, OnChanges {\r\n @Input() currentWorkflow = '';\r\n @Input() openedFrom = ''\r\n @Input() isEditMode = false\r\n @Output() selectedOption = new EventEmitter();\r\n @Input() isRCSelected = false;\r\n\r\n placeholderTexts: any = {\r\n AAR: 'Select what additional information you would like to include in the risk.',\r\n CAP: 'Select what additional information you would like to include in the policy.',\r\n CAR: 'Select what additional information you would like to include in the responsibility.',\r\n CAS: 'Select what additional information you would like to include in the survey.',\r\n LAI: 'Select what additional information you would like to include in the issue.',\r\n CAPR:'Select what additional information you would like to include in the program.'\r\n };\r\n\r\n moreOptionsList: any = {\r\n AAR: [\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg',\r\n name: 'Risk Overseer',\r\n tooltipTitle: 'Risk Overseer',\r\n tooltipMessage: 'Overseer enables you to designate persons to oversee the risk management process.',\r\n checked: false,\r\n hidden: false,\r\n code: 'OVERSEER'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/priority.svg',\r\n name: 'Risk Mitigation Priority',\r\n tooltipTitle: 'Risk Mitigation Priority',\r\n tooltipMessage: 'This sets the priority level for the mitigation of each risk.',\r\n checked: false,\r\n hidden: false,\r\n code: 'MITIGATION'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/objectives.svg',\r\n name: 'Recommended Mitigation Plans',\r\n tooltipTitle: 'Recommended Mitigation Plans',\r\n tooltipMessage: 'Specify the mitigation plan that can be undertaken to mitigate the risk.',\r\n checked: false,\r\n hidden: false,\r\n code: 'MITIGATION_PLAN'\r\n }\r\n ],\r\n CAP: [\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/responsibility-center.svg',\r\n name: 'Responsibility Center',\r\n tooltipTitle: 'Responsibility Center',\r\n tooltipMessage: `Responsibility Centers represent your organizational and\r\n operational infrastructure. You can attribute a policy to one or more Responsibility Centers.\r\n Where you attribute a policy to a Responsibility Center, that policy will be shown as a policy\r\n that is required to be attested by all the persons associated with that Responsibility Center.\r\n The performance of a policy assigned to a Responsibility Center will also contribute to the\r\n overall performance of the Responsibility Center.`,\r\n checked: false,\r\n hidden: false,\r\n code: 'RESPONSIBILITY_CENTER'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg',\r\n name: 'Reviewer',\r\n tooltipTitle: 'Reviewer',\r\n tooltipMessage: `This options lets you specify a review lifecycle for the policy document.\r\n You can select a reviewer and determine how often the policy needs to be reviewed.`,\r\n checked: false,\r\n hidden: false,\r\n code: 'REVIEWER'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/checkpoints.svg',\r\n name: 'Checkpoints',\r\n tooltipTitle: 'Checkpoints',\r\n tooltipMessage: `Checkpoints enable you to confirm a person’s understanding of the policy document.\r\n You can create questions based on the policy content and require that the reader of the policy\r\n answers these questions correctly before proceeding to complete the attestation.\r\n `,\r\n checked: false,\r\n hidden: false,\r\n code: 'CHECKPOINTS'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg',\r\n name: 'Overseer',\r\n tooltipTitle: 'Overseer',\r\n tooltipMessage: `Overseers are persons who oversee the policy.\r\n These persons will receive email notifications about the performance of the policy.\r\n As the person creating the policy, you will automatically receive email notifications about the performance of the policy.\r\n `,\r\n checked: false,\r\n hidden: false,\r\n code: 'OVERSEER'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg',\r\n name: 'Associated Documents',\r\n tooltipTitle: 'Associated Documents',\r\n tooltipMessage: `Associated documents are files that might be related to the policy. These could be documents which are related\r\n to the policy or are a subset of the policy that is being created.`,\r\n checked: false,\r\n hidden: false,\r\n code: 'ASSOCIATED_DOCUMENTS'\r\n }\r\n ],\r\n CAR: [\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/objectives.svg',\r\n name: 'Objective',\r\n code: 'OBJECTIVE',\r\n tooltipTitle: 'Objective',\r\n tooltipMessage: 'The objective allows you to specify an objective for the responsibility.',\r\n checked: false,\r\n hidden: false,\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/responsibility-center.svg',\r\n name: 'Responsibility Center',\r\n code: 'RC',\r\n tooltipTitle: 'Responsibility Center',\r\n tooltipMessage: `Responsibility Centers represent your organizational and operational infrastructure.<br>\r\n You can assign a responsibility to one or more Responsibility Centers. Where you assign a responsibility to a Responsibility Center,\r\n that responsibility will be shown as a responsibility that is required to be completed by the Responsibility Center.\r\n The performance of a responsibility assigned to a Responsibility Center will also contribute to the overall performance of the Responsibility Center.`,\r\n checked: false,\r\n hidden: false,\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg',\r\n name: 'Responsibility Category',\r\n code: 'CATEGORY',\r\n tooltipTitle: 'Responsibility Category',\r\n tooltipMessage: `Responsibility Categories enable you to group similar responsibilities together.\r\n Allocating a responsibility to a Responsibility Category allows you to view a group or similar responsibilities at once.\r\n It also allows you to view the performance of those collective responsibilities.`,\r\n checked: false,\r\n hidden: false,\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg',\r\n name: 'Format & Evidence',\r\n code: 'FORMATE_EVIDENCE',\r\n tooltipTitle: ' Format & Evidence',\r\n tooltipMessage: 'You can upload a format for this responsibility and you can also require evidence of completion of the responsibility to be provided.',\r\n checked: false,\r\n hidden: false,\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/assessments.svg',\r\n name: 'Assessments',\r\n code: 'ASSESSMENT',\r\n tooltipTitle: ' Assessments',\r\n tooltipMessage: 'Assessments allow you to associate outcome based-questionnaires or self-assessment questionnaires with a responsibility. These need to be completed by the assignee as a part of completing the responsibility.',\r\n checked: false,\r\n hidden: false,\r\n isDisabled: false,\r\n disabledMessage: 'An assessment can be linked with a responsibility only after removing the associated checkpoints.'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/checkpoints.svg',\r\n // name: 'Checkpoints <span *ngIf=\"false\" class=\"checkpoint-version\">V2.0</span> <i class=\"icons depreciation-icon vx-fs-16 vx-ml-2\" appTooltip=\"This is an out-of-date version of the Checkpoints feature. To add checkpoints that are only relevant to this responsibility you can use the new Checkpoints feature. Alternatively, you can use an existing questionnaire template using the Assessments feature.\" placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"true\">&#xe930;</i>',\r\n name: 'Checkpoints <i class=\"icons depreciation-icon vx-fs-16 vx-ml-2\" appTooltip=\"This is an out-of-date version of the Checkpoints feature. To add checkpoints that are only relevant to this responsibility you can use the new Checkpoints feature. Alternatively, you can use an existing questionnaire template using the Assessments feature.\" placement=\"bottom\" delay=\"0\" [tooltipMandatory]=\"true\">&#xe930;</i>',\r\n code: 'CHECKPOINTS',\r\n tooltipTitle: 'Checkpoints',\r\n tooltipMessage: 'This is an out-of-date version of the Checkpoints feature. To add checkpoints that are only relevant to this responsibility you can use the new Checkpoints feature. Alternatively, you can use an existing questionnaire template using the Assessments feature.',\r\n checked: false,\r\n hidden: false,\r\n isDisabled: false,\r\n disabledMessage: 'The checkpoints feature is replaced with the new & enhanced assessment functionality. Select the <strong>Assessments</strong> option below to create interactive outcome-based or self-assessment questionnaires.'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/checkpoints.svg',\r\n name: 'Checkpoints',\r\n code: 'CHECKPOINTS_NEW',\r\n tooltipTitle: 'Checkpoints',\r\n tooltipMessage: 'Checkpoints allow you to specify multiple steps for a specific responsibility which need to be completed as part of completing the responsibility. Often checkpoints are used to replace instruction manuals.',\r\n checked: false,\r\n hidden: false,\r\n isDisabled: false,\r\n disabledMessage: 'New Checkpoints can be linked with a responsibility only after removing the out-of-date version of the Checkpoints.'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/risks.svg',\r\n name: 'Risk Classification',\r\n tooltipTitle: 'Risk Classification',\r\n tooltipMessage: 'You can specify the level of risk that the organization will be exposed to if the responsibility is not completed.',\r\n checked: false,\r\n hidden: false,\r\n code: 'RISK_CLASSIFICATION'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg',\r\n name: 'Reviewer',\r\n tooltipTitle: 'Reviewer',\r\n tooltipMessage: 'A Reviewer is a person that is tasked with reviewing the completed responsibility.',\r\n checked: false,\r\n hidden: false,\r\n code: 'REVIEWER'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg',\r\n name: 'Overseer',\r\n tooltipTitle: 'Overseer',\r\n tooltipMessage: `Oversight enables you to designate persons to oversee the responsibility.\r\n These persons will receive email notifications about the performance of the responsibility.<br>\r\n As the person creating the responsibility, you will automatically receive email notifications about the performance of the responsibility.`,\r\n checked: false,\r\n hidden: false,\r\n code: 'OVERSEER'\r\n },\r\n // {\r\n // imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/audit.svg',\r\n // name: 'ASSURANCE',\r\n // tooltipTitle: 'REQUIRES AUDIT?',\r\n // tooltipMessage: 'Select the test plan categories that you would like to add this responsibility to.',\r\n // checked: false,\r\n // hidden: false,\r\n // code: 'ASSURANCE',\r\n // isDisabled: true,\r\n // disabledMessage: 'This responsibility can be scheduled for an audit only after the Responsibility Center is selected.'\r\n // },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/audit.svg',\r\n name: 'ASSURANCE',\r\n tooltipTitle: 'ASSURANCE',\r\n tooltipMessage: 'Select the test plan categories that you would like to add this responsibility to.',\r\n checked: false,\r\n hidden: false,\r\n code: 'ASSURANCE'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/audit.svg',\r\n name: 'REQUIRES AUDIT?',\r\n tooltipTitle: 'REQUIRES AUDIT?',\r\n tooltipMessage: 'Select the test plan categories that you would like to add this responsibility to.',\r\n checked: false,\r\n hidden: false,\r\n code: 'REQUIRES_AUDIT',\r\n isDisabled: true,\r\n disabledMessage: 'This responsibility can be scheduled for an audit only after the Responsibility Center is selected.'\r\n },\r\n // {\r\n // imageUrl: 'https://cdn.v-comply.com/risk-mitigation-priority.svg',\r\n // name: 'Add an app',\r\n // tooltipTitle: '',\r\n // tooltipMessage: '',\r\n // checked: false,\r\n // hidden: false,\r\n // code: 'APPS'\r\n // }\r\n ],\r\n CAS: [\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/responsibility-center.svg',\r\n name: 'Responsibility Center',\r\n tooltipTitle: '',\r\n tooltipMessage: '',\r\n checked: false,\r\n hidden: false,\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg',\r\n name: 'Format &amp; Evidence',\r\n tooltipTitle: '',\r\n tooltipMessage: '',\r\n checked: false,\r\n hidden: false,\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg',\r\n name: 'Overseer',\r\n tooltipTitle: '',\r\n tooltipMessage: '',\r\n checked: false,\r\n hidden: false,\r\n }\r\n ],\r\n\r\n LAI: [\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/exception-type.svg',\r\n name: 'Exception type',\r\n tooltipTitle: 'Exception type',\r\n tooltipMessage: 'Exception type lets you specify whether there is a design or an operational effectiveness problem.',\r\n checked: false,\r\n hidden: false,\r\n code: 'EXCEPTION_TYPE'\r\n },\r\n // {\r\n // imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/issue-type.svg',\r\n // name: 'Issue type',\r\n // tooltipTitle: '',\r\n // tooltipMessage: '',\r\n // checked: false,\r\n // hidden: false,\r\n // code: 'ISSUE_TYPE'\r\n // },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/priority.svg',\r\n name: 'Priority',\r\n tooltipTitle: 'Priority',\r\n tooltipMessage: 'This sets the priority level for resolving each issue.',\r\n checked: false,\r\n hidden: false,\r\n code: 'PRIORITY',\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/associated-risks.svg',\r\n name: 'Associated Risks',\r\n tooltipTitle: 'Associated Risks',\r\n tooltipMessage: 'Associated risks lets you specify the risks that are related to this issue.',\r\n checked: false,\r\n hidden: false,\r\n code: 'ASSOCIATED_RISKS'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg',\r\n name: 'Overseer',\r\n tooltipTitle: 'Overseer',\r\n tooltipMessage: 'Overseers are the persons responsible for overseeing an issue. These persons will receive email notifications about the issue status. As the person reporting this issue, you will automatically receive such email notifications.',\r\n checked: false,\r\n hidden: false,\r\n code: 'OVERSIGHT'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg',\r\n name: 'Evidence',\r\n tooltipTitle: 'Evidence',\r\n tooltipMessage: 'You can require that the person resolving the issue uploads evidence to confirm',\r\n checked: false,\r\n hidden: false,\r\n code: 'EVIDENCE'\r\n }\r\n ],\r\n CAPR : [\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/reviewer.svg',\r\n name: 'Reviewer',\r\n tooltipTitle: 'Reviewer',\r\n tooltipMessage: `This options lets you specify a review lifecycle for the policy document.\r\n You can select a reviewer and determine how often the policy needs to be reviewed.`,\r\n checked: false,\r\n hidden: false,\r\n code: 'REVIEWER'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg',\r\n name: 'Overseer',\r\n tooltipTitle: 'Overseer',\r\n tooltipMessage: 'Overseer enables you to designate persons to oversee the risk management process.',\r\n checked: false,\r\n hidden: false,\r\n code: 'OVERSEER'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/assessments.svg',\r\n name: 'Assessments',\r\n code: 'ASSESSMENT',\r\n tooltipTitle: ' Assessments',\r\n tooltipMessage: 'Assessments allow you to associate outcome based-questionnaires or self-assessment questionnaires with a responsibility. These need to be completed by the assignee as a part of completing the responsibility.',\r\n checked: false,\r\n hidden: false,\r\n isDisabled: false,\r\n disabledMessage: 'An assessment can be linked with a responsibility only after removing the associated checkpoints.'\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/format-evidence.svg',\r\n name: 'Evidence',\r\n code: 'FORMATE_EVIDENCE',\r\n tooltipTitle: 'Evidence',\r\n tooltipMessage: 'You can also require evidence of completion of the responsibility to be provided.',\r\n checked: false,\r\n hidden: false,\r\n },\r\n {\r\n imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/custom-fields.svg',\r\n name: 'Custom Fields',\r\n code: 'CUSTOM_FIELDS',\r\n tooltipTitle: ' Custom Fields',\r\n tooltipMessage: 'You can upload a format for this responsibility and you can also require evidence of completion of the responsibility to be provided.',\r\n checked: false,\r\n hidden: false,\r\n },\r\n ]\r\n };\r\n\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnChanges(): void {\r\n if(!this.isRCSelected) {\r\n this.moreOptionsList.CAR.forEach((ele: any) => {\r\n // if(ele.code === 'ASSURANCE') {\r\n // ele.checked = false;\r\n // }\r\n if(ele.code === 'REQUIRES_AUDIT') {\r\n ele.checked = false;\r\n }\r\n })\r\n } else {\r\n this.moreOptionsList.CAR.forEach((ele: any) => {\r\n // if(ele.code === 'ASSURANCE') {\r\n // ele.isDisabled = false;\r\n // }\r\n if(ele.code === 'REQUIRES_AUDIT') {\r\n ele.isDisabled = false;\r\n }\r\n })\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n const index = this.moreOptionsList.CAR.findIndex((ele: any) => ele.code === 'CHECKPOINTS');\r\n this.moreOptionsList.CAR[index].hidden = this.isEditMode === false ? true : false;\r\n }\r\n\r\n selectMoreOption(event: any, index: number) {\r\n console.log(\"event ==>\", event, this.currentWorkflow, this.moreOptionsList[this.currentWorkflow][index]);\r\n if(this.currentWorkflow === 'CAR' && event.code === 'CHECKPOINTS_NEW' && this.moreOptionsList[this.currentWorkflow][index].checked ) {\r\n\r\n event['checkpoint_new'] = true;\r\n this.selectedOption.emit(event);\r\n } else {\r\n event['checkpoint_new'] = false;\r\n this.moreOptionsList[this.currentWorkflow][index].checked = !event.checked ;\r\n console.log(\"this.moreOptionsList[this.currentWorkflow][index] ===>\", this.moreOptionsList[this.currentWorkflow][index], event.checked)\r\n this.selectedOption.emit(event);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n populate(evt: any){\r\n console.log(\"event ===>\", evt);\r\n if (this.currentWorkflow){\r\n this.moreOptionsList[this.currentWorkflow].forEach((element: any) => {\r\n if (evt.includes(element.code)){\r\n element.checked = true;\r\n }else{\r\n element.checked = false;\r\n }\r\n if(evt.includes(\"CHECKPOINTS_NEW\")) {\r\n if(element.code === 'CHECKPOINTS') {\r\n element.isDisabled = true;\r\n }\r\n if(element.code === 'ASSESSMENT') {\r\n element.isDisabled = true\r\n }\r\n }\r\n if(evt.includes(\"ASSESSMENT\")) {\r\n if(element.code === 'CHECKPOINTS_NEW') {\r\n element.isDisabled = true;\r\n }\r\n if(element.code === 'CHECKPOINTS') {\r\n element.isDisabled = false\r\n }\r\n }\r\n if(evt.includes(\"CHECKPOINTS\")) {\r\n if(element.code === 'CHECKPOINTS_NEW') {\r\n element.isDisabled = true;\r\n }\r\n if(element.code === 'ASSESSMENT') {\r\n element.isDisabled = true\r\n }\r\n }\r\n });\r\n }\r\n\r\n }\r\n hideElements(hiddenList:any){\r\n if (this.currentWorkflow){\r\n this.moreOptionsList[this.currentWorkflow].forEach((element: any) => {\r\n if (hiddenList.includes(element.code)){\r\n element.hidden = true;\r\n }else{\r\n element.hidden = false;\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n resetAll(workflowType:string){\r\n if(this.moreOptionsList[workflowType]){\r\n this.moreOptionsList[workflowType].forEach((element:any) => {\r\n element.checked = false;\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\n@Component({\r\n selector: 'app-owner-list',\r\n templateUrl: './owner-list.component.html',\r\n styleUrls: ['./owner-list.component.less'],\r\n})\r\nexport class OwnerListComponent implements OnInit, OnChanges {\r\n @Input() usersList = [];\r\n @Input() selectedUsers = [];\r\n @Input() userIdKey = '';\r\n @Input() itemNameKey = '';\r\n @Input() itemEmailKey = '';\r\n @Input() showWorkflow!: boolean;\r\n @Input() listHeading = 'Select User(s)';\r\n @Input() searchPlaceholder = 'Search User';\r\n @Input() pluralText: string = '';\r\n @Input() singularText: string = '';\r\n @Input() reviewerWorkflowType: string = 'SEQUENTIAL';\r\n @Input() mode: string = 'CREATE';\r\n@Input() noDataText = ''\r\n@Input() workflowList = ['SEQUENTIAL', 'ANY REVIEWER CAN MARK THIS AS REVIEWED'];\r\n@Input() workflowText = 'Reviewer Workflow';\r\n\r\n @Input() nonRemovableUsersList: any = [];\r\n @Output() saveSelectedList = new EventEmitter();\r\n @Output() closeUsersList = new EventEmitter();\r\n @Output() reviewerWorkflowTypeChange = new EventEmitter();\r\n\r\n search = '';\r\n selectedIds: any[] = [];\r\n animation = false;\r\n\r\n\r\n \r\n constructor() { }\r\n\r\n ngOnChanges(): void {\r\n // console.log(this.workflowList)\r\n // debugger\r\n this.selectedIds = this.selectedUsers.map((ele: any) => { if (ele[this.userIdKey]) { return ele[this.userIdKey]; } });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n }\r\n\r\n selectUser(user: any, mode: any) {\r\n if (mode) {\r\n this.selectedIds.push(user);\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == user);\r\n this.selectedIds.splice(index, 1);\r\n }\r\n this.setList();\r\n\r\n }\r\n\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.userIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any) {\r\n if (mode) {\r\n const list = [...this.usersList];\r\n this.selectedIds = [];\r\n list.forEach(element => {\r\n this.selectedIds.push(element[this.userIdKey]);\r\n });\r\n } else {\r\n this.selectedIds = [...this.nonRemovableUsersList];\r\n }\r\n this.setList();\r\n }\r\n\r\n\r\n setList() {\r\n const data: any = [];\r\n const userList = cloneDeep(this.usersList);\r\n const selectedIds = cloneDeep(this.selectedIds);\r\n selectedIds.forEach((element: any) => {\r\n const index = userList.findIndex((user:any)=>user[this.userIdKey]==element);\r\n if(index!==-1){\r\n data.push(userList[index]);\r\n } \r\n });\r\n // userList.forEach((element: any) => {\r\n // if (selectedIds.includes(element[this.userIdKey])) {\r\n // data.push(element);\r\n // }\r\n // });\r\n this.selectedUsers = data;\r\n }\r\n\r\n checkSelectAll() {\r\n const data = this.usersList.every((user: any) => this.selectedIds.includes(user[this.userIdKey]));\r\n return data;\r\n }\r\n\r\n save(selectedIds: any) {\r\n this.saveSelectedList.emit(selectedIds);\r\n }\r\n\r\n close() {\r\n this.closeUsersList.emit();\r\n }\r\n\r\n workflowTypeChanged(event: string) {\r\n this.reviewerWorkflowType = event;\r\n this.reviewerWorkflowTypeChange.emit(event);\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { cloneDeep } from 'lodash-es';\r\nimport { CategoryList } from '../../interfaces/categoryList';\r\n// import isEqual from 'lodash-es/isEqual';\r\n@Component({\r\n selector: 'app-category-list',\r\n templateUrl: './category-list.component.html',\r\n styleUrls: ['./category-list.component.less'],\r\n})\r\nexport class CategoryListComponent implements OnInit, OnChanges {\r\n\r\n @Input() categoryList: CategoryList;\r\n @Input() selectedCategory: any = {\r\n type: 'strategic',\r\n selectedCategory: '',\r\n };\r\n search = '';\r\n activeTab: any = 'strategic';\r\n\r\n\r\n animation = false;\r\n @Output() saveSelectedCategory = new EventEmitter();\r\n @Output() closeList = new EventEmitter();\r\n @Output() closeCategoriesList = new EventEmitter();\r\n\r\n\r\n constructor() {\r\n\r\n this.categoryList = {\r\n strategic: {\r\n name: 'STRATEGIC',\r\n data: []\r\n },\r\n operational: {\r\n name: 'OPERATIONAL',\r\n data: []\r\n },\r\n compliance: {\r\n name: 'COMPLIANCE',\r\n data: []\r\n },\r\n others: {\r\n name: 'OTHERS',\r\n data: []\r\n },\r\n };\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.activeTab = this.selectedCategory?.type ?? ''\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedCategory = cloneDeep(this.selectedCategory);\r\n }\r\n selectCategory(type: any, category: any) {\r\n this.selectedCategory.type = type;\r\n this.selectedCategory.selectedCategory = category;\r\n }\r\n save() {\r\n this.saveSelectedCategory.emit(this.selectedCategory);\r\n }\r\n deleteEvent(event: any) {\r\n this.selectedCategory.selectedCategory = ''\r\n this.selectedCategory.type = ''\r\n }\r\n\r\nclose(){\r\n this.closeCategoriesList.emit();\r\n}\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter, OnChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-floating-bar',\r\n templateUrl: './floating-bar.component.html',\r\n styleUrls: ['./floating-bar.component.less'],\r\n})\r\nexport class FloatingBarComponent implements OnInit, OnChanges {\r\n @Input() selectedData: any;\r\n @Input() displayElementKey = '';\r\n @Input() elementId: any = '';\r\n @Input() singularText = '';\r\n @Input() pluralText = '';\r\n @Input() showNextButton = true;\r\n @Input() showFrequencyText = false;\r\n @Input() showWorkflow = false;\r\n @Input() workflowText = '';\r\n @Input() currentFrequency = '';\r\n @Input() isDisabled = false;\r\n @Input() workflowList = ['SEQUENTIAL', 'ANY REVIEWER CAN MARK THIS AS REVIEWED'];\r\n @Input() selectedWorkflow: any;\r\n @Input() workflowPlaceHolder: any;\r\n @Input() mode: string = 'CREATE';\r\n\r\n @Input() nonRemovableUsersList: any = [];\r\n @Input() removePosition: any;\r\n @Output() closeEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() deleteEvent: EventEmitter<number> = new EventEmitter();\r\n @Output() closeList: EventEmitter<any> = new EventEmitter();\r\n @Output() workflowTypeChanged: EventEmitter<any> = new EventEmitter();\r\n constructor() {\r\n this.selectedData = [];\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n next() {\r\n this.closeEvent.emit(this.selectedData);\r\n }\r\n\r\n deleteSelected(index: number) {\r\n this.deleteEvent.emit(index);\r\n }\r\n close() {\r\n this.closeList.emit();\r\n\r\n }\r\n selectedWorkflowType(event: any) {\r\n // debugger\r\n }\r\n\r\n selectedWorkflowChange(event: any) {\r\n console.log(\"event ==>\", event);\r\n this.workflowTypeChanged.emit(event);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-checkbox',\r\n templateUrl: './cs-checkbox.component.html',\r\n styleUrls: ['./cs-checkbox.component.less'],\r\n})\r\nexport class CsCheckboxComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Input() readonly = false;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n @Input() oneLine!: boolean;\r\n checked: boolean | undefined;\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n valueChanged() {\r\n this.ngValueChange.emit(this.ngValue);\r\n }\r\n\r\n chileClick(event: any){\r\n event.stopPropagation();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-radio',\r\n templateUrl: './cs-radio.component.html',\r\n styleUrls: ['./cs-radio.component.less'],\r\n})\r\nexport class CsRadioComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() readonly!: boolean;\r\n @Input() name!: string;\r\n @Input() checked!: boolean;\r\n @Input() value: any;\r\n @Output() checkedEvent = new EventEmitter();\r\n @Input() oneLine!: boolean;\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n\r\n console.log(\"this.selected index\", this.checked, this.value)\r\n }\r\n changeState(evt: any) {\r\n this.checkedEvent.emit(evt);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-switch',\r\n templateUrl: './cs-switch.component.html',\r\n styleUrls: ['./cs-switch.component.less'],\r\n})\r\nexport class CsSwitchComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n @Input() tooltipMessage: any;\r\n @Input() position: any;\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n // console.log(this.value);\r\n }\r\n valueChanged() {\r\n this.ngValueChange.emit(this.ngValue);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-radio-group',\r\n templateUrl: './cs-radio-group.component.html',\r\n styleUrls: ['./cs-radio-group.component.less'],\r\n})\r\nexport class CsRadioGroupComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-select',\r\n templateUrl: './cs-select.component.html',\r\n styleUrls: ['./cs-select.component.less'],\r\n})\r\nexport class CsSelectComponent implements OnInit {\r\n @Input() dataList!: any[];\r\n @Input() dropdownLabel!: string;\r\n @Input() displayProperty!: string;\r\n @Input() selectedValue!: string;\r\n @Input() isRequired!: boolean;\r\n @Input() dropdownSubLabel!: string;\r\n @ViewChild('option') option!: ElementRef;\r\n\r\n @Output() selectedData = new EventEmitter();\r\n @Output() selectedValueChange = new EventEmitter();\r\n @Input() placeholder: any;\r\n @Input() stylex: any;\r\n @Input() valueKey: any;\r\n @Input() colorBlock: any;\r\n @Input() colorCode: any;\r\n\r\n dropdownOption = false;\r\n positionReset!: boolean;\r\n getLeft!: number;\r\n getTop!: number;\r\n getWidth!: number;\r\n maxWidth!: number;\r\n activeDoropdown = false;\r\n\r\n private optionList!: ElementRef;\r\n\r\n @ViewChild('optionList') set content(content: ElementRef) {\r\n if (content) {\r\n // initially setter gets called with undefined\r\n this.optionList = content;\r\n }\r\n }\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n // console.log(this.dropdownLabel);\r\n // console.log(this.dataList);\r\n\r\n if (this.selectedValue === undefined || this.selectedValue === '' || this.selectedValue === null) {\r\n this.selectedValue = '--';\r\n }\r\n }\r\n openDropdown(event: any): void {\r\n this.dropdownOption = true;\r\n setTimeout(() => {\r\n const dropdown = event.target.getBoundingClientRect();\r\n const selectOption = this.optionList.nativeElement.offsetHeight;\r\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\r\n this.getTop = dropdown.top - selectOption;\r\n } else {\r\n this.getTop = dropdown.top + dropdown.height;\r\n }\r\n this.getLeft = dropdown.left;\r\n this.getWidth = dropdown.width;\r\n this.maxWidth = dropdown.width * 1.25;\r\n this.activeDoropdown = true;\r\n }, 10);\r\n }\r\n selectOption(selectedData: any) {\r\n if (typeof selectedData === 'object') {\r\n this.selectedValue = selectedData[this.displayProperty];\r\n this.selectedData.emit(selectedData);\r\n } else {\r\n this.selectedValue = selectedData;\r\n this.selectedData.emit(selectedData);\r\n }\r\n this.dropdownOption = false;\r\n }\r\n closeDropdown() {\r\n this.dropdownOption = false;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'pascal',\r\n})\r\nexport class PascalPipe implements PipeTransform {\r\n transform(value: string, ...args: unknown[]): unknown {\r\n if (typeof value !== 'string') {\r\n return value;\r\n }\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n}\r\n","import { Component, OnInit, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-checkbox-indeterminate',\r\n templateUrl: './cs-checkbox-indeterminate.component.html',\r\n styleUrls: ['./cs-checkbox-indeterminate.component.less']\r\n})\r\nexport class CsCheckboxIndeterminateComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n valueChanged() {\r\n const emitValue = {\r\n value: this.value,\r\n checked: this.ngValue\r\n }\r\n this.ngValueChange.emit(emitValue);\r\n }\r\n\r\n chileClick(event: any){\r\n event.stopPropagation();\r\n }\r\n\r\n}\r\n","import { FormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CsCheckboxComponent } from './cs-checkbox/cs-checkbox.component';\r\nimport { CsRadioComponent } from './cs-radio/cs-radio.component';\r\nimport { CsSwitchComponent } from './cs-switch/cs-switch.component';\r\nimport { CsRadioGroupComponent } from './cs-radio-group/cs-radio-group.component';\r\nimport { CsSelectComponent } from './cs-select/cs-select.component';\r\nimport { PascalPipe } from './pipes/pascal.pipe';\r\nimport { CsCheckboxIndeterminateComponent } from './cs-checkbox-indeterminate/cs-checkbox-indeterminate.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n CsCheckboxComponent,\r\n CsRadioComponent,\r\n CsSwitchComponent,\r\n CsRadioGroupComponent,\r\n CsSelectComponent,\r\n PascalPipe,\r\n CsCheckboxIndeterminateComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n CsCheckboxComponent,\r\n CsRadioComponent,\r\n CsSwitchComponent,\r\n CsRadioGroupComponent,\r\n CsSelectComponent,\r\n CsCheckboxIndeterminateComponent\r\n ],\r\n})\r\nexport class FormgroupModule {}\r\n","import { Directive, Input, ElementRef, HostListener, Renderer2, OnInit, AfterViewInit, ViewChild } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appTooltip]',\r\n})\r\nexport class ToolTipDirective implements OnInit {\r\n @Input('appTooltip') tooltipTitle!: string;\r\n @Input() placement!: string;\r\n @Input() type: any;\r\n @Input() tooltipMandatory!: boolean;\r\n @Input() showTooltip = true;\r\n @Input() animate!: boolean;\r\n tooltip!: HTMLElement;\r\n offset = 8;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n ngOnInit() {}\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.hide();\r\n this.show();\r\n }\r\n @HostListener('mouseover') onMouseOver() {\r\n this.hide();\r\n this.show();\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.hide();\r\n }\r\n @HostListener('mouseout') onMouseOut() {\r\n this.hide();\r\n }\r\n @HostListener('click') onClick() {\r\n this.hide();\r\n }\r\n show() {\r\n if (!this.showTooltip || !this.tooltipTitle) {\r\n return;\r\n }\r\n this.create();\r\n const element = this.el.nativeElement;\r\n if (this.tooltipMandatory === true) {\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n } else {\r\n if (element.scrollWidth * element.scrollHeight > element.offsetWidth * element.offsetHeight) {\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n }\r\n }\r\n }\r\n\r\n hide() {\r\n if (document.body.contains(this.tooltip)) {\r\n if (this.renderer) {\r\n this.renderer.removeChild(document.body, document.getElementById('tooltip'));\r\n }\r\n }\r\n }\r\n\r\n create() {\r\n this.tooltip = this.renderer.createElement('span');\r\n this.tooltip.setAttribute('id', 'tooltip');\r\n this.tooltip.innerHTML = this.tooltipTitle;\r\n this.renderer.appendChild(document.body, this.tooltip);\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip');\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-${this.placement}`);\r\n this.renderer.addClass(this.tooltip, `${this.type}`);\r\n if (this.animate) {\r\n this.renderer.addClass(this.tooltip, `animate-${this.placement}`);\r\n }\r\n }\r\n\r\n setPosition() {\r\n const hostPos = this.el.nativeElement.getBoundingClientRect();\r\n const tooltipPos = this.tooltip.getBoundingClientRect();\r\n const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n const w = window.innerWidth;\r\n const h = window.innerHeight;\r\n let top;\r\n let left;\r\n if (this.placement === 'top') {\r\n top = hostPos.top - tooltipPos.height - this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.placement === 'bottom') {\r\n if (hostPos.top + tooltipPos.height > h) {\r\n top = hostPos.top - tooltipPos.height;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom`);\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-top`);\r\n } else {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n }\r\n\r\n if (this.placement === 'left') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.left - tooltipPos.width - this.offset;\r\n }\r\n\r\n if (this.placement === 'right') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.right + this.offset;\r\n }\r\n if (this.placement === 'bottom-right') {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left - (tooltipPos.width - 28);\r\n }\r\n if (this.placement === 'bottom-left') {\r\n if (hostPos.top + tooltipPos.height > h - 30) {\r\n top = hostPos.top - tooltipPos.height;\r\n console.log('bottom left', hostPos.top - tooltipPos.height);\r\n left = hostPos.left;\r\n this.renderer.removeClass(this.tooltip, `ng-tooltip-bottom-left`);\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-top-left`);\r\n } else {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left;\r\n }\r\n }\r\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\r\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToolTipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n declarations: [ToolTipDirective],\r\n imports: [CommonModule],\r\n exports: [ToolTipDirective],\r\n})\r\nexport class TooltipModule {}\r\n","import { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-responsibility-centers-list',\r\n templateUrl: './responsibility-centers-list.component.html',\r\n styleUrls: ['./responsibility-centers-list.component.less']\r\n})\r\nexport class ResponsibilityCentersListComponent implements OnInit, OnChanges {\r\n @ViewChild('listBlock',{ static: false }) listBlock!: ElementRef;\r\n @Input() responsibilityCentersList = [];\r\n @Input() selectedResponsibilityCenters = [];\r\n @Input() rcIdKey = '';\r\n @Input() radioSelection = false;\r\n @Output() saveSelectedList = new EventEmitter();\r\n @Output() closeRcList = new EventEmitter();\r\n @Input() pluralText: string = 'Responsibility Centers selected';\r\n @Input() singularText: string = 'Responsibility Center selected';\r\n selectedIds: any[] = [];\r\n animation = false;\r\n search = '';\r\n blockWidth: any;\r\n constructor() { }\r\n\r\n ngOnChanges(): void {\r\n this.selectedIds = this.selectedResponsibilityCenters.map((ele: any) => { if (ele[this.rcIdKey]) { return ele[this.rcIdKey]; } });\r\n }\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n setTimeout(() => {\r\n this.blockWidth = this.listBlock.nativeElement.offsetWidth;\r\n }, 10);\r\n }\r\n\r\n selectRc(rc: any, mode: any) {\r\n if (this.radioSelection) {\r\n if (mode) {\r\n this.selectedIds=[];\r\n this.selectedIds.push(rc);\r\n }\r\n this.setList();\r\n }else{\r\n if (mode) {\r\n this.selectedIds.push(rc);\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == rc);\r\n this.selectedIds.splice(index, 1);\r\n }\r\n this.setList();\r\n }\r\n\r\n\r\n }\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.rcIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any) {\r\n if (mode) {\r\n const list = [...this.responsibilityCentersList];\r\n this.selectedIds = [];\r\n list.forEach(element => {\r\n this.selectedIds.push(element[this.rcIdKey]);\r\n });\r\n } else {\r\n this.selectedIds = [];\r\n }\r\n this.setList();\r\n }\r\n\r\n\r\n setList() {\r\n const data: any = [];\r\n const rcList = cloneDeep(this.responsibilityCentersList);\r\n const selectedIds = cloneDeep(this.selectedIds);\r\n rcList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.rcIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedResponsibilityCenters = data;\r\n }\r\n\r\n checkSelectAll() {\r\n const data = this.responsibilityCentersList.every((rc: any) => this.selectedIds.includes(rc[this.rcIdKey]));\r\n return data;\r\n }\r\n\r\n save(selectedIds: any) {\r\n this.saveSelectedList.emit(selectedIds);\r\n }\r\n\r\n close() {\r\n this.closeRcList.emit();\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-workflow-pagination',\r\n templateUrl: './workflow-pagination.component.html',\r\n styleUrls: ['./workflow-pagination.component.less']\r\n})\r\nexport class WorkflowPaginationComponent implements OnInit {\r\n alphabetsArray!: any;\r\n @Input() activeAlphabet = '';\r\n @Input() pageCount!: number;\r\n @Input() start !:number;\r\n @Input() end !:number;\r\n @Input() total !:number;\r\n @Input() noFilter!: boolean;\r\n public pageArray: Array<number> = [];\r\n @Input() currentPage = 1;\r\n public enterPageNumber!: any;\r\n public isInvalidInput = false;\r\n\r\n @Output() selectedPage: EventEmitter<any> = new EventEmitter();\r\n @Output() selectedAlphabet: EventEmitter<any> = new EventEmitter();\r\n\r\n pageList!: any;\r\n constructor() {\r\n this.alphabetsArray = 'abcdefghijklmnopqrstuvwxyz'.split('');\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n alphabetChange(alphabet: string) {\r\n this.activeAlphabet = alphabet;\r\n this.selectedAlphabet.emit(alphabet);\r\n this.goToPageArrayGenerate(1, false)\r\n }\r\n\r\n ngOnChanges(event: SimpleChanges) {\r\n this.pageArray = [];\r\n if (this.pageCount > 0) {\r\n if (this.pageCount < 5) {\r\n for (let i = 1; i <= this.pageCount; i++) {\r\n this.pageArray.push(i);\r\n }\r\n return;\r\n }\r\n this.goToPageArrayGenerate(this.currentPage,false);\r\n }\r\n }\r\n\r\n\r\n increaseOrDecrease(value: number) {\r\n this.currentPage += value;\r\n if (this.currentPage > 3 && this.currentPage <= this.pageCount && this.pageArray[this.pageArray.length - 1] < this.pageCount) {\r\n if (value > 0) {\r\n this.pageArray.shift();\r\n this.pageArray.push(this.pageArray[this.pageArray.length - 1] + 1);\r\n }\r\n }\r\n\r\n if (this.currentPage > 2 && value < 0 && this.pageArray[0] > 1 && this.currentPage < this.pageCount - 2) {\r\n this.pageArray.pop();\r\n this.pageArray.unshift(this.pageArray[0] - 1);\r\n }\r\n this.selectedPage.emit(this.currentPage);\r\n }\r\n onEnterPress(event: any) {\r\n if (event.key.toLowerCase() === 'enter') {\r\n if (!this.enterPageNumber || this.enterPageNumber > this.pageCount || this.enterPageNumber < 1) {\r\n this.isInvalidInput = true;\r\n return;\r\n } else {\r\n this.isInvalidInput = false;\r\n this.goToPageArrayGenerate(this.enterPageNumber,true);\r\n }\r\n }\r\n }\r\n\r\n\r\n goToPageArrayGenerate(page: any,shouldEmit:boolean) {\r\n this.isInvalidInput = false;\r\n this.currentPage = page;\r\n this.pageArray = [];\r\n if (this.currentPage > 3 && this.currentPage < this.pageCount - 2) {\r\n for (let i = this.currentPage - 2; i < this.currentPage + 3; i++) {\r\n this.pageArray.push(i);\r\n }\r\n } else if (this.currentPage <= 3) {\r\n if (this.pageCount > 4) {\r\n this.pageArray = [1, 2, 3, 4, 5];\r\n } else {\r\n for (let i = 1; i <= this.pageCount; i++) {\r\n this.pageArray.push(i);\r\n }\r\n }\r\n } else if (this.currentPage > this.pageCount - 3) {\r\n for (let i = this.pageCount - 4; i < this.pageCount + 1; i++) {\r\n this.pageArray.push(i);\r\n }\r\n } else {\r\n for (let i = this.currentPage - 2; i < this.currentPage + 2; i++) {\r\n this.pageArray.push(i);\r\n }\r\n }\r\n\r\n if(shouldEmit){\r\n this.selectedPage.emit(this.currentPage);\r\n }\r\n \r\n }\r\n\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-line-loader',\r\n templateUrl: './line-loader.component.html',\r\n styleUrls: ['./line-loader.component.less'],\r\n})\r\nexport class LineLoaderComponent implements OnInit {\r\n @Input() loaderHeight!: any;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LineLoaderComponent } from './line-loader.component';\r\n\r\n@NgModule({\r\n declarations: [LineLoaderComponent],\r\n imports: [CommonModule],\r\n exports: [LineLoaderComponent],\r\n})\r\nexport class LineLoaderModule {}\r\n","import { Component, Input, Output, EventEmitter, SimpleChanges, OnChanges, ChangeDetectionStrategy, OnInit } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\nimport * as XLSX from 'xlsx';\r\nimport { CategoryList } from '../interfaces/categoryList';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\nimport { AddRiskService } from '../workflow-services/add-risk.service';\r\nimport { AuthService } from '../workflow-services/auth.service';\r\n\r\ntype AOA = any[][];\r\n@Component({\r\n selector: 'app-add-multiple-risk',\r\n templateUrl: './add-multiple-risk.component.html',\r\n styleUrls: ['./add-multiple-risk.component.less', '../forms.less'],\r\n\r\n})\r\nexport class AddMultipleRiskComponent implements OnInit, OnChanges {\r\n @Output() pickerChanged = new EventEmitter();\r\n @Output() populateOption = new EventEmitter();\r\n @Output() closeWorkflow = new EventEmitter();\r\n @Output() disconnectRefresh = new EventEmitter();\r\n categoryList: CategoryList = {\r\n strategic: {\r\n name: 'STRATEGIC',\r\n data: []\r\n },\r\n operational: {\r\n name: 'OPERATIONAL',\r\n data: []\r\n },\r\n compliance: {\r\n name: 'COMPLIANCE',\r\n data: []\r\n },\r\n others: {\r\n name: 'OTHERS',\r\n data: []\r\n },\r\n };\r\n\r\n category: any = {\r\n type: 'strategic',\r\n selectedCategory: '',\r\n }\r\n\r\n riskBulkUpload: any = {\r\n header: [],\r\n weightFactors: [],\r\n risks: [],\r\n }\r\n\r\n templateInfo: any = {\r\n memberId: '',\r\n categoryId: '',\r\n ownerList: [],\r\n rcList: [],\r\n mitigationList: [],\r\n likelihood:[],\r\n impact:[],\r\n velocity:[],\r\n vulnerability:[]\r\n }\r\n\r\n isLoader = false;\r\n showCategoryList = false;\r\n templateDownloaded = false;\r\n downloadInProgress = false;\r\n loader = false;\r\n settingsInfo !: any;\r\n isFileEmpty = false;\r\n isWrongFile = false;\r\n isWrongFormat = false;\r\n fileName: any;\r\n data: any;\r\n assessmentDeadLine: any;\r\n showExcel = false;\r\n fileValue:any;\r\n memberId = 0;\r\n organizationId = 0;\r\n errorMessage = \" invalid file error\"\r\n downloadStatus: string = 'NOT_DOWNLOADING';\r\n downloadPercent = 0;\r\n\r\n smileyMessage = `You're All Set! We're uploading the risks. The risk owners will be notified once the risks have been uploaded.`;\r\n actionButtons = [\r\n { buttonText: 'Add More Risks', class: 'white-btn', id: 'addMore' },\r\n { buttonText: 'View Risk', class: 'blue-btn', id: 'viewRisks' },\r\n ];\r\n showSmiley = false;\r\n member_obj_id = '';\r\n defaultOwner = ''\r\n riskData !:any;\r\n constructor(private riskService: AddRiskService,\r\n private authService: AuthService,private snackBar:SnackBarService) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n\r\n }\r\n ngOnInit() {\r\n this.pickerChanged.emit(false);\r\n this.getCategoryList();\r\n this.getSettingsInfo();\r\n\r\n this.organizationId = this.authService.getOrganizationId();\r\n this.memberId = this.authService.getMemberId();\r\n this.member_obj_id = this.authService.getUserDetails()._id;\r\n }\r\n getCategoryList() {\r\n this.isLoader = true;\r\n this.riskService.getCategoryList().subscribe((res: any) => {\r\n this.isLoader = false;\r\n this.categoryList.strategic.data = res.strategic_arr;\r\n this.categoryList.operational.data = res.operational_arr;\r\n this.categoryList.compliance.data = res.compliance_arr;\r\n this.categoryList.others.data = res.others_arr;\r\n\r\n }, err => {\r\n console.error(err);\r\n this.isLoader = false;\r\n\r\n });\r\n }\r\n saveSelectedCategory(category: any) {\r\n if(this.category?.selectedCategory?.category_id !=category?.selectedCategory?.category_id){\r\n this.downloadStatus = 'NOT_DOWNLOADING';\r\n }\r\n this.showCategoryList = false;\r\n this.category = category;\r\n const reference = document.querySelector('#scrollReference');\r\n if (reference) {\r\n reference.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n this.reset();\r\n\r\n }\r\n removeCategory() {\r\n this.category = {\r\n type: 'strategic',\r\n selectedCategory: ''\r\n };\r\n this.reset();\r\n }\r\n getSettingsInfo() {\r\n\r\n this.riskService.getRiskSettingDetails().subscribe(res => {\r\n this.settingsInfo = res;\r\n }, err => {\r\n console.error(err);\r\n });\r\n\r\n }\r\n triggerBrowseFile() {\r\n const getFile = document.getElementById('fileInput');\r\n if (getFile) {\r\n getFile.click();\r\n }\r\n }\r\n\r\n uploadedFile(event: any) {\r\n try {\r\n this.riskBulkUpload = {\r\n header: [],\r\n weightFactors: [],\r\n risks: []\r\n }\r\n this.templateInfo = {\r\n memberId: '',\r\n categoryId: '',\r\n ownerList: [],\r\n rcList: [],\r\n mitigationList: [],\r\n likelihood:[],\r\n impact:[],\r\n velocity:[],\r\n vulnerability:[]\r\n }\r\n const reference = document.querySelector('#scrollReference');\r\n if (reference) {\r\n reference.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n this.isFileEmpty = false;\r\n this.isWrongFile = false;\r\n this.isWrongFormat = false;\r\n this.fileName = event.target.files[0].name;\r\n\r\n const target: DataTransfer = event.target as DataTransfer;\r\n // tslint:disable-next-line: curly\r\n if (target.files.length !== 1) throw new Error('Cannot use multiple files');\r\n const reader: FileReader = new FileReader();\r\n reader.onload = (e: any) => {\r\n const bstr: string = e.target.result;\r\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\r\n const wsname: string = wb.SheetNames[0];\r\n const wsname1: string = wb.SheetNames[1];\r\n\r\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\r\n const tempData: XLSX.WorkSheet = wb.Sheets[wsname1];\r\n\r\n this.data = XLSX.utils.sheet_to_json(ws, {\r\n header: 1,\r\n }) as AOA;\r\n\r\n const tData = XLSX.utils.sheet_to_json(tempData, { header: 1 }) as AOA;\r\n const tempList = tData.filter((dataElement: any) => dataElement.length > 0);\r\n this.templateInfo.memberId = tempList[0][56]\r\n this.templateInfo.categoryId = tempList[0][55]\r\n this.riskBulkUpload.header = cloneDeep(this.data[4].filter((dataElement: any) => dataElement.length > 0));\r\n this.riskBulkUpload.weightFactors = cloneDeep(this.data[5].filter((weightFactor: any) => weightFactor.length > 0));\r\n tempList.forEach((element) => {\r\n if (element[8]) {\r\n\r\n const member = {\r\n name: element[8],\r\n member_id: element[9]\r\n }\r\n this.templateInfo.ownerList.push(member);\r\n }\r\n if (element[2]) {\r\n\r\n const mitigation = {\r\n mitigationName: element[2],\r\n mitigation_id: element[3]\r\n }\r\n this.templateInfo.mitigationList.push(mitigation);\r\n }\r\n if (element[6]) {\r\n\r\n const rc = {\r\n rcName: element[6],\r\n rc_id: element[7],\r\n owner_ids: element[11]\r\n }\r\n this.templateInfo.rcList.push(rc);\r\n }\r\n\r\n if (element[12]) { \r\n this.templateInfo.likelihood.push(element[12]);\r\n }\r\n if (element[13]) { \r\n this.templateInfo.impact.push(element[13]);\r\n }\r\n if (this.riskBulkUpload.weightFactors.length >= 3 && element[14]) {\r\n this.templateInfo.velocity.push(element[14]);\r\n }\r\n if (this.riskBulkUpload.weightFactors.length == 4 && element[15]) {\r\n this.templateInfo.vulnerability.push(element[15]);\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n if (this.fileName.substr(-5) !== '.xlsx') {\r\n this.errorMessage = 'The incorrect file has been uploaded. Please upload the template file for Risk Category:' + this.category.selectedCategory.category_name + ' RETRY';\r\n\r\n this.isWrongFile = true;\r\n return;\r\n }\r\n\r\n if (this.riskBulkUpload.header[0] !== 'Risk Name*') {\r\n this.errorMessage = 'The incorrect file has been uploaded. Please upload the template file for Risk Category:' + this.category.selectedCategory.category_name + ' RETRY';\r\n\r\n this.isWrongFile = false;\r\n this.isWrongFormat = true;\r\n\r\n return;\r\n\r\n }\r\n this.data = this.data.slice(7);\r\n const defaultOwner = this.templateInfo.ownerList.findIndex((ele: any) => ele.member_id == this.memberId);\r\n if(defaultOwner !=-1){\r\n this.defaultOwner = this.templateInfo.ownerList[defaultOwner].name\r\n }else{\r\n this.errorMessage = 'The incorrect file has been uploaded. Please upload the template file for Risk Category:' + this.category.selectedCategory.category_name + ' RETRY';\r\n this.isWrongFile = true;\r\n return;\r\n }\r\n\r\n if ((this.member_obj_id != this.templateInfo.memberId) || (this.category.selectedCategory._id != this.templateInfo.categoryId)) {\r\n this.errorMessage = 'The incorrect file has been uploaded. Please upload the template file for Risk Category:' + this.category.selectedCategory.category_name + ' RETRY';\r\n\r\n this.isWrongFile = true;\r\n return;\r\n }\r\n\r\n const isEmpty = this.checkEmptyFile();\r\n if (isEmpty) {\r\n this.errorMessage = 'You have uploaded a blank template. Please add details for all mandatory fields. RETRY';\r\n this.isFileEmpty = true;\r\n this.isWrongFile = false;\r\n this.isWrongFormat = false;\r\n return;\r\n\r\n } else {\r\n if (this.riskBulkUpload.header[6] === 'Risk Assessment Deadline*') {\r\n this.assessmentDeadLine = true;\r\n } else {\r\n this.assessmentDeadLine = false;\r\n }\r\n this.isFileEmpty = false;\r\n this.isWrongFile = false;\r\n this.isWrongFormat = false;\r\n this.fileValue = '';\r\n\r\n }\r\n const riskData = this.data.filter((dataElement: any) => dataElement.length > 0);\r\n\r\n riskData.forEach((risk: any, index: any) => {\r\n\r\n const obj: any = {\r\n riskName: risk[0] ?? '',\r\n description: risk[1] ?? '',\r\n rcName: risk[2] ?? '',\r\n owner: risk[3] ?? '',\r\n mitigationPriority: risk[4] ?? '',\r\n overseer: risk[5] ?? '',\r\n isValid: this.checkValidity(risk),\r\n }\r\n\r\n if (this.assessmentDeadLine) {\r\n obj.assessmentDeadLine = risk[6] ?? '';\r\n obj.likelihood = risk[7] ?? '';\r\n obj.impact = risk[8] ?? '';\r\n if (this.riskBulkUpload.weightFactors.length == 3) {\r\n obj.velocity = risk[9] ?? '';\r\n }\r\n if (this.riskBulkUpload.weightFactors.length == 4) {\r\n obj.velocity = risk[9] ?? '';\r\n obj.vulnerability = risk[10] ?? '';\r\n }\r\n const customTags: any = [];\r\n\r\n this.category.selectedCategory.custom_tag.forEach((tag: any, index: any) => {\r\n if (tag) {\r\n const cTag = {\r\n custom_tag_value: risk[7 + this.riskBulkUpload.weightFactors.length + index] ?? '',\r\n custom_tag_name: tag.tagName\r\n };\r\n customTags.push(cTag);\r\n }\r\n });\r\n obj.customTag = customTags;\r\n } else {\r\n obj.likelihood = risk[6] ?? '';\r\n obj.impact = risk[7] ?? '';\r\n\r\n if (this.riskBulkUpload.weightFactors.length == 3) {\r\n obj.velocity = risk[8] ?? '';\r\n }\r\n if (this.riskBulkUpload.weightFactors.length == 4) {\r\n obj.velocity = risk[8] ?? '';\r\n obj.vulnerability = risk[9] ?? '';\r\n }\r\n const customTags: any = [];\r\n this.category.selectedCategory.custom_tag.forEach((tag: any, index: any) => {\r\n if (tag) {\r\n const cTag = {\r\n custom_tag_value: risk[6 + this.riskBulkUpload.weightFactors.length + index] ?? '',\r\n custom_tag_name: tag.tagName\r\n };\r\n customTags.push(cTag);\r\n }\r\n });\r\n obj.customTag = customTags;\r\n }\r\n if (obj.likelihood && !this.templateInfo.likelihood.includes(obj.likelihood)) { \r\n obj.isValid=false;\r\n }\r\n if (obj.impact && !this.templateInfo.impact.includes(obj.impact)) { \r\n obj.isValid=false;\r\n }\r\n if (obj.velocity && !this.templateInfo.velocity.includes(obj.velocity)) { \r\n obj.isValid=false;\r\n }\r\n if (obj.vulnerability && !this.templateInfo.vulnerability.includes(obj.vulnerability)) { \r\n obj.isValid=false;\r\n }\r\n \r\n\r\n this.riskBulkUpload.risks.push(obj);\r\n });\r\n this.isFileEmpty = false;\r\n this.isWrongFile = false;\r\n this.isWrongFormat = false;\r\n this.showExcel = true;\r\n };\r\n reader.readAsBinaryString(target.files[0]);\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n checkEmptyFile() {\r\n let isEmpty = false;\r\n this.data = this.data.filter((dataElement: any) => dataElement.length > 0);\r\n if (this.data.length < 1) {\r\n isEmpty = true;\r\n }\r\n return isEmpty;\r\n }\r\n\r\n checkValidity(risk: any) {\r\n const re = /&nbsp;|<br>/g;\r\n let trimmedName = (risk[0]) ? risk[0].toString().replace(re, '').trim() : '';\r\n trimmedName = trimmedName.replace(/ +/g, ' ');\r\n if ((!trimmedName) || (risk[3] && (risk[3] == risk[5])) || ((!risk[3]) && (this.defaultOwner == risk[5]))\r\n || (!risk[2]) || (this.assessmentDeadLine && (!risk[6]))) {\r\n return false;\r\n } else { return true }\r\n }\r\n\r\n downloadTemplate() {\r\n this.downloadStatus = 'DOWNLOADING';\r\n this.downloadPercent = 0;\r\n const today = new Date().toISOString().split('T');\r\n const downloadDate = today[0];\r\n const fileName = 'VComply - Risk Module - Add Multiple Risks - '+ this.category?.selectedCategory?.category_name +' - ' + downloadDate + '.xlsx';\r\n\r\n this.riskService.downloadTemplate(this.category.selectedCategory._id).subscribe(\r\n (data: any) => {\r\n if (data.loaded) {\r\n this.downloadPercent = 100 * (data.loaded / data.total);\r\n }\r\n if (data.body) {\r\n setTimeout(() => {\r\n this.downloadStatus = this.riskService.downLoadFile(data.body, 'application/xlsx', fileName);\r\n }, 1500);\r\n }\r\n\r\n },\r\n (error) => {\r\n console.error(error);\r\n this.downloadStatus = 'DOWNLOADED';\r\n }\r\n );\r\n }\r\n\r\n submitRiskBulkUpload(completeAssessment: any) {\r\n this.loader = true;\r\n const payload: any = [];\r\n this.riskBulkUpload.risks.forEach((risk: any) => {\r\n if (risk.isValid) {\r\n const obj = {\r\n title: risk.riskName,\r\n description: risk.description,\r\n category_custom_tag: risk.customTag,\r\n assessment_deadline_enable: this.settingsInfo.assessment_deadline_enable,\r\n owner: (risk.owner) ? this.returnIds(risk.owner, 'owner') : this.returnIds(this.defaultOwner, 'owner'),\r\n category: (this.category.selectedCategory.category_id) ? [this.category.selectedCategory.category_id] : [],\r\n manage_oversight: this.returnIds(risk.overseer, 'overseer'),\r\n rc_id: this.returnIds(risk.rcName, 'rc_id'),\r\n head_ids: this.returnIds(risk.rcName, 'rc_owner_ids'), //2 to be aray\r\n rating_arr: [\r\n risk.likelihood ? risk.likelihood.split(' - ')[1] : 0,\r\n risk.impact ? risk.impact.split(' - ')[1] : 0,\r\n risk.velocity ? risk.velocity.split(' - ')[1] : 0,\r\n risk.vulnerability ? risk.vulnerability.split(' - ')[1] : 0,\r\n ],\r\n member_id: this.memberId,\r\n organisation_id: this.organizationId,\r\n risk_progress_flag: 1,\r\n IfAssessmentDone: 0,\r\n workshop_id: '',\r\n complete_assessment: (completeAssessment) ? 1 : 0,\r\n mitigation: this.returnIds(risk.mitigationPriority, 'mitigation'), //3 wrong\r\n weightage_enable: this.settingsInfo.weightage_enable,\r\n treatment_type: this.settingsInfo.treatment_criteria,\r\n weightage_details: this.settingsInfo.weightage_details,\r\n weightage_set_by: this.settingsInfo.weightage_set_by,\r\n weightage_str: [\r\n this.settingsInfo.weightage_details.impact.value,\r\n this.settingsInfo.weightage_details.likelihood.value,\r\n this.settingsInfo.weightage_details.velocity.value,\r\n this.settingsInfo.weightage_details.vulnerability.value,\r\n ],\r\n assessment_deadline_set_by: this.settingsInfo.assessment_deadline_set_by, //check1 not appearing\r\n assessment_deadline_days: (this.settingsInfo.assessment_deadline_enable) ? this.settingsInfo.assessment_deadline_days : risk.assessmentDeadLine,\r\n };\r\n payload.push(obj);\r\n }\r\n });\r\n\r\n this.riskService.addBulkRisk(payload).subscribe((res: any) => {\r\n this.loader = false;\r\n this.showExcel = false;\r\n this.showSmiley = true;\r\n this.riskData = res;\r\n },\r\n err => {\r\n console.log(err);\r\n this.loader = false;\r\n this.showExcel = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n\r\n }\r\n );\r\n }\r\n\r\n\r\n returnIds(item: any, key: string) {\r\n switch (key) {\r\n case 'rc_id':\r\n const rcId: any = [];\r\n this.templateInfo.rcList.forEach((rc_element: any) => {\r\n if (rc_element.rcName == item) {\r\n rcId.push(rc_element.rc_id)\r\n }\r\n });\r\n return rcId;\r\n break;\r\n case 'rc_owner_ids':\r\n let owner_ids: any = [];\r\n this.templateInfo.rcList.forEach((headerIds: any) => {\r\n if (headerIds.rcName == item && headerIds.owner_ids) {\r\n owner_ids= headerIds.owner_ids.includes(',')? headerIds.owner_ids.split(',').map(Number) :[Number(headerIds.owner_ids)];\r\n }\r\n });\r\n return owner_ids;\r\n break;\r\n case 'owner':\r\n const ownerId: any = [];\r\n this.templateInfo.ownerList.forEach((element: any) => {\r\n if (element.name == item) {\r\n ownerId.push(element.member_id)\r\n }\r\n });\r\n return ownerId;\r\n break;\r\n case 'overseer':\r\n const overseerId: any = [];\r\n this.templateInfo.ownerList.forEach((os_element: any) => {\r\n if (os_element.name == item) {\r\n overseerId.push(os_element.member_id)\r\n }\r\n });\r\n return overseerId;\r\n break;\r\n\r\n case 'mitigation':\r\n let mitigationId: any=0;\r\n this.templateInfo.mitigationList.forEach((mitigation: any) => {\r\n if (mitigation.mitigationName == item) {\r\n mitigationId = mitigation.mitigation_id\r\n }\r\n });\r\n return mitigationId;\r\n break;\r\n\r\n }\r\n }\r\n\r\n reset() {\r\n this.riskBulkUpload = {\r\n header: [],\r\n weightFactors: [],\r\n risks: []\r\n }\r\n\r\n this.templateInfo = {\r\n memberId: '',\r\n categoryId: '',\r\n ownerList: [],\r\n rcList: [],\r\n mitigationList: []\r\n\r\n }\r\n\r\n this.isFileEmpty = false;\r\n this.isWrongFile = false;\r\n this.isWrongFormat = false;\r\n this.fileName = undefined;\r\n this.data = undefined;\r\n this.assessmentDeadLine = undefined\r\n this.showExcel = false;\r\n this.showSmiley = false;\r\n\r\n }\r\n action(event: string) {\r\n switch (event) {\r\n case 'addMore':\r\n this.category = {\r\n type: 'strategic',\r\n selectedCategory: '',\r\n }\r\n this.downloadStatus = 'NOT_DOWNLOADING';\r\n this.reset();\r\n break;\r\n case 'viewRisks':\r\n this.viewRisks();\r\n break;\r\n }\r\n }\r\n\r\n closeSmiley(event: any) {\r\n this.showSmiley = false;\r\n this.closeWorkflow.emit({evt:this.riskData, confirm : false});\r\n }\r\n\r\n viewRisks(): void {\r\n this.disconnectRefresh.emit(false);\r\n let url: string;\r\n if (window.location.host.startsWith('localhost')) {\r\n url = 'http://' + window.location.host;\r\n } else {\r\n url = 'https://' + window.location.host;\r\n }\r\n if (window.location.host.startsWith('localhost')) {\r\n url += '/risk-register';\r\n } else {\r\n url += '/risk/risk-register';\r\n }\r\n window.location.href = url;\r\n }\r\n}\r\n","import { Component, Input, EventEmitter, Output, OnInit, OnChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-bulk-view',\r\n templateUrl: './bulk-view.component.html',\r\n styleUrls: ['./bulk-view.component.less'],\r\n})\r\nexport class BulkViewComponent implements OnInit,OnChanges {\r\n\r\n @Input() riskBulkUpload!: any;\r\n @Input() templateInfo!: any;\r\n @Input() fileName!: any;\r\n @Input() assessmentDaysEnable!: any;\r\n @Input() defaultOwner!: any;\r\n @Input() loader = false;\r\n\r\n @Output() submitRiskBulkUpload = new EventEmitter();\r\n @Output() cancel = new EventEmitter(); \r\n \r\n finalRisks=0;\r\n showCompleteAssessmentButton = false;\r\n\r\n ngOnChanges() {\r\n if (this.riskBulkUpload) {\r\n this.finalRisks = 0;\r\n this.riskBulkUpload.risks.forEach((risk: any) => {\r\n if (risk.isValid) {\r\n this.finalRisks += 1;\r\n }\r\n });\r\n }\r\n this.riskBulkUpload.risks.forEach((risk:any) => {\r\n if(this.riskBulkUpload.weightFactors.length==2){\r\n if(risk?.likelihood &&risk?.impact){\r\n this.showCompleteAssessmentButton = true;\r\n\r\n }\r\n }else if(this.riskBulkUpload.weightFactors.length==3){\r\n if(risk?.likelihood &&risk?.impact &&risk?.velocity){\r\n this.showCompleteAssessmentButton = true;\r\n\r\n }\r\n }else if(this.riskBulkUpload.weightFactors.length==4){\r\n if(risk?.likelihood &&risk?.impact && risk?.velocity &&risk?.vulnerability){\r\n this.showCompleteAssessmentButton = true;\r\n\r\n }\r\n }\r\n });\r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n\r\n submit(completeAssessment:any){\r\n this.submitRiskBulkUpload.emit(completeAssessment);\r\n }\r\n\r\n close(){\r\n this.cancel.emit();\r\n }\r\n\r\n\r\n}\r\n","import { cloneDeep } from 'lodash-es';\r\nimport { Component, EventEmitter, OnInit, Output, ChangeDetectorRef, Input } from '@angular/core';\r\nimport { SnackBarService } from '../../../ui-kit/snack-bar/snack-bar.service';\r\n\r\n@Component({\r\n selector: 'app-checkpoints',\r\n templateUrl: './checkpoints.component.html',\r\n styleUrls: ['./checkpoints.component.less']\r\n})\r\nexport class CheckpointsComponent implements OnInit {\r\n @Output() closeCheckPoint = new EventEmitter();\r\n @Output() saveCheckPoint = new EventEmitter();\r\n animation = true;\r\n @Input() checkpointData: any = [];\r\n @Input() checkpointInstruction = '';\r\n errorIndex = -1;\r\n questionTypeList = [\r\n {\r\n text: 'Text',\r\n type: 'textbox',\r\n description: 'Select a text area.',\r\n icon: '&#xeace;'\r\n },\r\n {\r\n text: 'Dropdown',\r\n type: 'select',\r\n description: 'Choose an option from a multiple select box.',\r\n icon: '&#xeab9;'\r\n },\r\n {\r\n text: 'Single selection',\r\n type: 'radio',\r\n description: 'Select only one option with a radio button.',\r\n icon: '&#xeab5;'\r\n },\r\n {\r\n text: 'Multiple selection',\r\n type: 'checkbox',\r\n description: 'Select multiple options using a checkbox.',\r\n icon: '&#xeab4;'\r\n },\r\n {\r\n text: 'Date',\r\n type: 'date',\r\n description: 'Select date from a date picker.',\r\n icon: '&#xeaba;'\r\n },\r\n {\r\n text: 'Upload File',\r\n type: 'upload',\r\n description: 'Upload documents & files.',\r\n icon: '&#xea97;'\r\n }\r\n ];\r\n constructor(private snackbar: SnackBarService, private cdr: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n console.log(\"checkpointInstruction ==>\", this.checkpointInstruction,this.checkpointData);\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.checkpointData = this.checkpointData && this.checkpointData != '' ? cloneDeep(this.checkpointData) : [];\r\n }\r\n\r\n addQuestion(evt: any, index?: number){\r\n console.log(evt);\r\n switch (evt){\r\n case 'textbox' : {\r\n this.createTextBox(index);\r\n break;\r\n }\r\n case 'select' : {\r\n this.createSelect(index);\r\n break;\r\n }\r\n case 'radio' : {\r\n this.createRadio(index);\r\n break;\r\n }\r\n case 'checkbox' : {\r\n this.createCheckBox(index);\r\n break;\r\n }\r\n case 'date' : {\r\n this.createDate(index);\r\n break;\r\n }case 'upload' : {\r\n this.createUpload(index);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n createTextBox(index?: number) {\r\n // this.gotoLastOption();\r\n if (index === undefined) {\r\n this.checkpointData.push({ type: 'textbox', id: 'textbox_1', required: false, label: '', options: [] });\r\n } else {\r\n this.checkpointData.splice(index + 1, 0, { type: 'textbox', id: `textbox_{index+1}`, required: false, label: '', options: [] });\r\n }\r\n }\r\n\r\n createSelect(index?: number) {\r\n // this.gotoLastOption();\r\n if (index === undefined) {\r\n this.checkpointData.push({ type: 'select', id: 'select_1', required: false, label: '', options: [{ label: '', value: 1, is_selected: false }] });\r\n } else {\r\n this.checkpointData.splice(index + 1, 0, {\r\n type: 'select',\r\n id: 'select_{index+1}',\r\n required: false,\r\n label: '',\r\n options: [{ label: '', value: 1, is_selected: false }],\r\n });\r\n }\r\n }\r\n\r\n createRadio(index?: number) {\r\n // this.gotoLastOption();\r\n if (index === undefined) {\r\n this.checkpointData.push({ type: 'radio', id: 'radio_1', required: false, label: '', options: [{ label: '', value: 1, is_selected: false }] });\r\n } else {\r\n this.checkpointData.splice(index + 1, 0, { type: 'radio', id: 'radio_{index+1}', required: false, label: '', options: [{ label: '', value: 1, is_selected: false }] });\r\n }\r\n }\r\n\r\n createCheckBox(index?: number) {\r\n // this.gotoLastOption();\r\n if (index === undefined) {\r\n this.checkpointData.push({ type: 'checkbox', id: 'checkbox_1', required: false, label: '', options: [{ label: '', value: 1, is_selected: false, required: 0 }] });\r\n } else {\r\n this.checkpointData.splice(index + 1, 0, {\r\n type: 'checkbox',\r\n id: 'checkbox_{index+1}',\r\n required: false,\r\n label: '',\r\n options: [{ label: '', value: 1, is_selected: false, required: 0 }],\r\n });\r\n }\r\n }\r\n\r\n createDate(index?: number) {\r\n // this.gotoLastOption();\r\n if (index === undefined) {\r\n this.checkpointData.push({ type: 'date', id: 'date_1', required: false, label: '', options: [] });\r\n } else {\r\n this.checkpointData.splice(index + 1, 0, { type: 'date', id: 'date_{index+1}', required: false, label: '', options: [] });\r\n }\r\n }\r\n\r\n createUpload(index?: number) {\r\n // this.gotoLastOption();\r\n if (index === undefined) {\r\n this.checkpointData.push({ type: 'upload', id: 'upload_1', required: false, label: '', options: [] });\r\n } else {\r\n this.checkpointData.splice(index + 1, 0, { type: 'upload', id: 'upload_{index+1}', required: false, label: '', options: [] });\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n createOption(i: number, j: number, type: any) {\r\n this.checkpointData[i].options.splice(j + 1, 0, { label: '', id: '', value: 0, is_selected: false });\r\n for (let k = 0; k <= this.checkpointData[i].options.length - 1; k++) {\r\n this.checkpointData[i].options[k].value = k + 1;\r\n }\r\n setTimeout(() => {\r\n const EL: any = document.getElementById(type + '-' + i + '' + (j + 1));\r\n if (EL) { EL.focus(); }\r\n }, 10);\r\n\r\n }\r\n\r\n deleteOption(i: number, j: number, type: any) {\r\n if (this.checkpointData[i].options.length === 1) {\r\n return;\r\n }\r\n this.checkpointData[i].options.splice(j, 1);\r\n for (let k = 0; k <= this.checkpointData[i].options.length - 1; k++) {\r\n this.checkpointData[i].options[k].value = k + 1;\r\n }\r\n if (j - 1 >= 0) {\r\n const EL: any = document.getElementById(type + '-' + i + '' + (j - 1));\r\n if (EL) { EL.focus(); }\r\n } else {\r\n const EL: any = document.getElementById(type + '-' + i + '' + 0);\r\n if (EL) { EL.focus(); }\r\n }\r\n }\r\n\r\n removeQuestion(index: number){\r\n this.checkpointData.splice(index, 1);\r\n }\r\n\r\n copyQuestion(index: number){\r\n const COPY_ARR = JSON.parse(JSON.stringify(this.checkpointData[index]));\r\n this.checkpointData.splice(index + 1, 0, COPY_ARR);\r\n }\r\n\r\n\r\n save(){\r\n console.log(this.validateCheckpoint());\r\n if (this.validateCheckpoint() === false){\r\n this.snackbar.show('Please fill in the details.');\r\n }\r\n else{\r\n this.errorIndex = -1;\r\n this.saveCheckPoint.emit({checkpointInstruction: this.checkpointInstruction, checkpointDetails: this.checkpointData});\r\n }\r\n\r\n }\r\n close(){\r\n console.log('closed');\r\n this.closeCheckPoint.emit();\r\n }\r\n\r\n validateCheckpoint() {\r\n for (let i = 0; i <= this.checkpointData.length - 1; i++) {\r\n if (this.checkpointData[i].label.trim() === '') {\r\n this.errorIndex = i;\r\n return false;\r\n }\r\n if (this.checkpointData[i].options.length > 0){\r\n for (let j = 0; j < this.checkpointData[i].options.length; j++) {\r\n if (this.checkpointData[i].options[j].label.trim() === '') {\r\n this.errorIndex = i;\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n checkpointDescription(event: any) {\r\n console.log(\"description ==>\", event)\r\n this.checkpointInstruction = event\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ConfirmationAlert } from '../interfaces/confirmation-alert';\r\n\r\n@Component({\r\n selector: 'app-confirmation-alert',\r\n templateUrl: './confirmation-alert.component.html',\r\n styleUrls: ['./confirmation-alert.component.less']\r\n})\r\nexport class ConfirmationAlertComponent implements OnInit {\r\n @Input() message = '';\r\n @Input() config: ConfirmationAlert = {isVisible: false};\r\n @Output() action = new EventEmitter<any>();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n actionTaken(evt: any){\r\n this.action.emit({action: evt, payload: this.config});\r\n }\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter, ViewChild, OnChanges, SimpleChanges, ElementRef } from '@angular/core';\r\nimport { DatePickerComponent } from 'ng2-date-picker';\r\nimport { SnackBarService } from '../../../ui-kit/snack-bar/snack-bar.service';\r\n\r\n@Component({\r\n selector: 'app-checkpoints-questions',\r\n templateUrl: './checkpoints-questions.component.html',\r\n styleUrls: ['./checkpoints-questions.component.less']\r\n})\r\nexport class CheckpointsQuestionsComponent implements OnInit, OnChanges {\r\n\r\n constructor(private elementRef:ElementRef, private snackbar: SnackBarService) { }\r\n @Input() checkpointData: any = [];\r\n @Input() questionTypeList = [];\r\n @Input() errorIndex = -1;\r\n @Input() checkpointInstruction :string = '';\r\n @Output() createQuestion = new EventEmitter();\r\n @Output() deleteQuestion = new EventEmitter();\r\n @Output() copyQuestion = new EventEmitter();\r\n @Output() blankQuestion = new EventEmitter();\r\n @Output() createOption = new EventEmitter();\r\n @Output() removeOption = new EventEmitter();\r\n @Output() updateDescription = new EventEmitter();\r\n @ViewChild('datePicker') datePicker!: DatePickerComponent;\r\n datePickerOverlay = false;\r\n activeQuestionIndex = 0;\r\n addInstruction!: boolean ;\r\n\r\n placeholder: any = {\r\n textbox: 'Type your question here [Text Box]',\r\n select: 'Type your question here [Select]',\r\n radio: 'Type your question here [Radio]',\r\n checkbox: 'Type your question here [CheckBox]',\r\n date: 'Type your question here [Date]',\r\n upload: 'Type your question here [Upload]'\r\n };\r\n description: any = '';\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n saveDescription(){\r\n this.addInstruction = false;\r\n if(this.extractContent(this.checkpointInstruction) === ''){\r\n this.checkpointInstruction = '';\r\n }\r\n this.updateDescription.emit(this.checkpointInstruction)\r\n }\r\n extractContent(s:string) {\r\n var span = document.createElement('span');\r\n span.innerHTML = s;\r\n return (span.textContent || span.innerText).replace(/&nbsp;/g, '').replace(/\\<br\\s*[\\/]?>/gi, '').trim();\r\n };\r\n ngOnChanges(changes: SimpleChanges){\r\n console.log(changes, this.errorIndex);\r\n if (changes.errorIndex){\r\n if (this.errorIndex >= 0 ){\r\n this.activeQuestionIndex = this.errorIndex;\r\n }\r\n }\r\n }\r\n openDatePicker() {\r\n this.datePicker.api.open();\r\n this.datePickerOverlay = true;\r\n }\r\n closeDatepicker() {\r\n this.datePicker.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n addQuestion(type: any){\r\n // this.createQuestion.emit(type.type);\r\n // this.activeQuestionIndex = this.checkpointData.length - 1;\r\n }\r\n removeQuestion(index: number){\r\n this.deleteQuestion.emit(index);\r\n this.activeQuestionIndex = index - 1;\r\n }\r\n cloneQuestion(index: number){\r\n // this.activeQuestionIndex = index + 1;\r\n // this.copyQuestion.emit(index);\r\n\r\n }\r\n blankClone(type: string, index: number){\r\n // this.blankQuestion.emit({type, index});\r\n // this.activeQuestionIndex = index + 1;\r\n }\r\n\r\n addOption(questionIndex: number, optionIndex: number, type: string){\r\n // this.createOption.emit({questionIndex, optionIndex, type});\r\n }\r\n\r\n deleteOption(questionIndex: number, optionIndex: number, type: string){\r\n this.removeOption.emit({questionIndex, optionIndex, type});\r\n }\r\n\r\n deleteOnBackspace(questionIndex: number, optionIndex: number, type: string){\r\n if (this.checkpointData[questionIndex].options[optionIndex].label.length < 1 && this.checkpointData[questionIndex].options.length > 1) {\r\n this.removeOption.emit({questionIndex, optionIndex, type});\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-checkpoints-list',\r\n templateUrl: './checkpoints-list.component.html',\r\n styleUrls: ['./checkpoints-list.component.less']\r\n})\r\nexport class CheckpointsListComponent implements OnInit {\r\n @Output() createQuestion = new EventEmitter();\r\n @Input() questionTypeList = [];\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n addQuestion(type: any){\r\n // this.createQuestion.emit(type.type);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SelectService {\r\n private selectMap: any;\r\n constructor() {\r\n this.selectMap = {};\r\n }\r\n\r\n getData(name: string, value: any): { placeholder: string; color: string } {\r\n let obj = {\r\n placeholder: '',\r\n color: '',\r\n };\r\n if (name && value && this.selectMap.hasOwnProperty(name) && Array.isArray(this.selectMap[name])) {\r\n const values: any[][] = this.selectMap[name];\r\n for (let i = 0; i < values.length; i++) {\r\n if (values[i][0] === value) {\r\n obj = {\r\n placeholder: values[i][1],\r\n color: values[i][2] ?? '',\r\n };\r\n break;\r\n }\r\n }\r\n }\r\n return obj;\r\n }\r\n\r\n add(select: { name: string; placeholder: string; value: any; color?: string }): void {\r\n let item = [select?.value, select?.placeholder];\r\n if (select?.color) {\r\n item.push(select?.color);\r\n }\r\n if (this.selectMap.hasOwnProperty(select.name)) {\r\n this.selectMap[select.name] = [...this.selectMap[select.name], item];\r\n } else {\r\n this.selectMap[select.name] = [item];\r\n }\r\n }\r\n\r\n remove(name: string): void {\r\n delete this.selectMap[name];\r\n }\r\n}\r\n","import { Component, ElementRef, forwardRef, Input, ViewChild, EventEmitter, OnDestroy, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { nanoid } from 'nanoid';\r\n\r\nimport { SelectService } from '../select.service';\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'cs-select',\r\n templateUrl: './cs-select.component.html',\r\n styleUrls: ['./cs-select.component.less'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CsSelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CsSelectComponent implements OnDestroy {\r\n @Input() dropdownLabel!: string;\r\n @Input() dropdownSubLabel!: string;\r\n @Input() isRequired!: string;\r\n @Input() placeholder!: string;\r\n @Output() valueChanged = new EventEmitter();\r\n dropdownToggle!: boolean;\r\n positionReset!: boolean;\r\n getLeft!: number;\r\n getTop!: number;\r\n getWidth!: number;\r\n maxWidth!: number;\r\n\r\n valuePlaceholder: string;\r\n private optionList!: ElementRef;\r\n @Input() setMaxWidth: any;\r\n @ViewChild('optionList', { read: ElementRef, static: false }) set content(content: ElementRef) {\r\n if (content) {\r\n // initially setter gets called with undefined\r\n this.optionList = content;\r\n }\r\n }\r\n name!: string;\r\n val!: string;\r\n showOptions!: boolean;\r\n color!: string;\r\n constructor(private select: SelectService) {\r\n this.name = nanoid();\r\n this.valuePlaceholder = '';\r\n }\r\n\r\n onChange: any = () => { };\r\n onTouch: any = () => { };\r\n\r\n set RadioVal(val: any) {\r\n if (val !== undefined && val !== null && this.val !== val) {\r\n this.val = val;\r\n const { placeholder, color } = this.select.getData(this.name, this.val);\r\n this.valuePlaceholder = placeholder;\r\n this.color = color;\r\n this.onChange(val);\r\n this.onTouch(val);\r\n }\r\n }\r\n\r\n writeValue(value: any, emit?: true): void {\r\n this.RadioVal = value;\r\n if (emit) {\r\n this.valueChanged.emit(this.RadioVal);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n openDropdown(event: any): void {\r\n this.dropdownToggle = true;\r\n setTimeout(() => {\r\n const dropdown = event.target.getBoundingClientRect();\r\n const selectOption = this.optionList.nativeElement.offsetHeight;\r\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\r\n this.getTop = dropdown.top - selectOption;\r\n } else {\r\n this.getTop = dropdown.top + dropdown.height;\r\n }\r\n this.getLeft = dropdown.left;\r\n this.getWidth = dropdown.width;\r\n if (this.setMaxWidth == true) {\r\n this.maxWidth = dropdown.width * 1.5;\r\n } else {\r\n this.maxWidth = dropdown.width;\r\n }\r\n\r\n this.showOptions = true;\r\n }, 10);\r\n }\r\n closeDropdown(): void {\r\n this.dropdownToggle = false;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.select.remove(this.name);\r\n }\r\n}\r\n","import { AfterViewInit, Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { CsSelectComponent } from '../cs-select/cs-select.component';\r\nimport { SelectService } from '../select.service';\r\n@Component({\r\n selector: 'cs-option',\r\n templateUrl: './cs-option.component.html',\r\n styleUrls: ['./cs-option.component.less'],\r\n})\r\nexport class CsOptionComponent implements AfterViewInit {\r\n @Input() value!: string;\r\n @Input() color!: string;\r\n @Input() backgroundColor!: string;\r\n @Input() optionTooltip = '';\r\n @ViewChild('options', { read: ElementRef, static: false })\r\n option!: ElementRef;\r\n\r\n constructor(public csSelect: CsSelectComponent, private select: SelectService) {\r\n this.value = '';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.select.add({\r\n name: this.csSelect.name,\r\n placeholder: this.option.nativeElement.innerHTML,\r\n value: this.value,\r\n color: this.color,\r\n });\r\n }\r\n\r\n change(event: any): void {\r\n this.csSelect.writeValue(this.value,true);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CsSelectComponent } from './cs-select/cs-select.component';\r\nimport { CsOptionComponent } from './cs-option/cs-option.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TooltipModule } from '../../ui-kit/tooltip/tooltip.module';\r\n\r\n@NgModule({\r\n declarations: [CsSelectComponent, CsOptionComponent],\r\n imports: [FormsModule, CommonModule, TooltipModule],\r\n exports: [CsSelectComponent, CsOptionComponent],\r\n})\r\nexport class SelectModule {}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { FrequencyService } from \"../frequency.service\";\r\nimport { SnackBarService } from '../../../ui-kit/snack-bar/snack-bar.service';\r\n\r\n@Component({\r\n selector: 'app-frequency-container',\r\n templateUrl: './frequency-container.component.html',\r\n styleUrls: ['./frequency-container.component.less']\r\n})\r\nexport class FrequencyContainerComponent implements OnInit, OnChanges {\r\n frequencyTab = 'daily';\r\n currentTabName = 'a Daily';\r\n\r\n @Input() frequencyDetails: any;\r\n @Output() selectedFrequency = new EventEmitter<any>();\r\n @Output() closeFrequency = new EventEmitter<any>();\r\n @Input() mode: any='';\r\n\r\n\r\n\r\n\r\n frequencyData: any;\r\n\r\n frequencyList = [\r\n {\r\n name: 'Daily',\r\n type: 'daily'\r\n },\r\n {\r\n name: 'Weekly',\r\n type: 'weekly'\r\n },\r\n {\r\n name: 'Monthly',\r\n type: 'monthly'\r\n },\r\n {\r\n name: 'Quarterly',\r\n type: 'quarterly'\r\n },\r\n {\r\n name: 'Biannual',\r\n type: 'biannual'\r\n },\r\n {\r\n name: 'Annual',\r\n type: 'annual'\r\n },\r\n {\r\n name: 'One Time',\r\n type: 'oneTime'\r\n },\r\n {\r\n name: 'Random',\r\n type: 'random'\r\n },\r\n {\r\n name: 'On Completion Of',\r\n type: 'onCompletionOf'\r\n },\r\n {\r\n name: 'Ongoing',\r\n type: 'ongoing'\r\n },\r\n ]\r\n\r\n selectedFrequencyData: any;\r\n isNextDisabled :any = false;\r\n constructor(\r\n private frequencyService: FrequencyService,\r\n private snackbar: SnackBarService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (this.frequencyDetails.pattern != '') {\r\n this.populateFrequency()\r\n }\r\n const hideElements = ['random','onCompletionOf','ongoing']\r\n if(this.mode=='policy'){\r\n hideElements.forEach((element:any) => { \r\n \r\n const index = this.frequencyList.findIndex((elementIndex:any)=>elementIndex.type==element);\r\n this.frequencyList.splice(index,1)\r\n });\r\n }\r\n const hideElements2 = ['daily','random','onCompletionOf','ongoing']\r\n if(this.mode=='reviewerFrequency'){\r\n this.frequencyTab = this.frequencyDetails?.pattern == '' ? 'weekly': this.frequencyTab\r\n this.currentTabName = this.frequencyDetails?.pattern == '' ? 'a weekly': this.currentTabName\r\n \r\n hideElements2.forEach((element:any) => { \r\n const index = this.frequencyList.findIndex((elementIndex:any)=>elementIndex.type==element);\r\n this.frequencyList.splice(index,1)\r\n });\r\n }\r\n \r\n\r\n }\r\n\r\n ngOnChanges() {\r\n \r\n this.selectedFrequencyData = Object.assign({...this.frequencyDetails});\r\n this.frequencyData = Object.assign({...this.frequencyDetails});\r\n //this.isNextDisabled = this.isInvalid();\r\n }\r\n\r\n\r\n populateFrequency() {\r\n const frequencyPattern = parseInt(this.frequencyDetails.pattern.split('~')[0]);\r\n \r\n switch (frequencyPattern) {\r\n case 0: this.frequencyTab = 'oneTime'; this.currentTabName = \"a one time\"; break;\r\n case 1: this.frequencyTab = 'daily'; this.currentTabName = \"a daily\"; break;\r\n case 2: this.frequencyTab = 'weekly'; this.currentTabName = \"a weekly\"; break;\r\n case 3: this.frequencyTab = 'monthly'; this.currentTabName = \"a monthly\"; break;\r\n case 4: this.frequencyTab = 'annual'; this.currentTabName = \"an annual \";break;\r\n case 5: this.frequencyTab = 'daily'; this.currentTabName = \"a daily\"; break;\r\n case 6: this.frequencyTab = 'onCompletionOf'; this.currentTabName = \"an on completion of\"; this.frequencyData.report_id = this.frequencyDetails.selectedReport; break;\r\n case 7: this.frequencyTab = 'quarterly'; this.currentTabName = \"a quarterly\"; break;\r\n case 8: this.frequencyTab = 'random'; this.currentTabName = \"a random\"; break;\r\n case 9: this.frequencyTab = 'biannual'; this.currentTabName = \"a biannual\"; break;\r\n case 10: this.frequencyTab = 'ongoing'; this.currentTabName = \"an ongoing\"; break;\r\n }\r\n this.isNextDisabled = false;\r\n\r\n }\r\n\r\n changeFrequencyTab(frequency: any) {\r\n this.frequencyTab = frequency.type;\r\n \r\n if (frequency.name == 'One Time') {\r\n this.currentTabName ='a one time';\r\n } else {\r\n this.currentTabName = (frequency.name.startsWith('On') || frequency.name.toLowerCase() === 'annual') ? 'an ' + frequency.name: 'a ' + frequency.name;\r\n }\r\n }\r\n\r\n isInvalid() : boolean {\r\n let isInvalid = false;\r\n const frequencyDetails = this.frequencyData?.pattern?.split('~');\r\n switch(this.frequencyTab) {\r\n\r\n case 'daily': \r\n \r\n if(this.frequencyData.continuous_failed_days < 2) {\r\n this.snackbar.show('Input value should be greater than 1.');\r\n isInvalid = true;\r\n } else {\r\n isInvalid = false;\r\n this.isNextDisabled = false;\r\n }; break;\r\n case 'weekly': if(this.frequencyData.continuous_failed_days < 2) {\r\n this.snackbar.show('Input value should be greater than 1.');\r\n isInvalid = true;\r\n break;\r\n } else {\r\n isInvalid = false;\r\n this.isNextDisabled = false;\r\n };\r\n \r\n if(frequencyDetails[1] == '' || !frequencyDetails[1] || frequencyDetails.length < 4) {\r\n isInvalid = true;\r\n } else {\r\n isInvalid = false;\r\n };\r\n\r\n break;\r\n case 'monthly': if(this.frequencyData.continuous_failed_days < 2) {\r\n this.snackbar.show('Input value should be greater than 1.');\r\n isInvalid = true;\r\n break;\r\n } else {\r\n isInvalid = false;\r\n this.isNextDisabled = false;\r\n };\r\n\r\n if(frequencyDetails[2] == '' || !frequencyDetails[2] || frequencyDetails.length < 4) {\r\n isInvalid = true;\r\n } else {\r\n isInvalid = false;\r\n };\r\n\r\n break;\r\n case 'biannual':\r\n if(frequencyDetails.length === 0 ||frequencyDetails[2] === '' || frequencyDetails[2].split(',')?.length < 2) {\r\n isInvalid = true;\r\n } else {\r\n isInvalid = false;\r\n }\r\n break;\r\n case 'oneTime':\r\n if(frequencyDetails?.length > 0) {\r\n const selectedTime = moment(`${frequencyDetails[3]}-${frequencyDetails[2]}-${frequencyDetails[1]} ${this.frequencyData.timeIn12hr}`, 'DD-MM-YYYY HH:mm a').unix();\r\n if(Date.now()/1000 > selectedTime) {\r\n this.snackbar.show('Please set a future date.');\r\n isInvalid = true;\r\n break;\r\n } else {\r\n \r\n isInvalid = false;\r\n this.isNextDisabled = false;\r\n }\r\n } else {\r\n isInvalid = true;\r\n }\r\n break;\r\n case 'onCompletionOf':\r\n if(this.frequencyData.reportId > 0) {\r\n isInvalid = false;\r\n } else {\r\n isInvalid = true;\r\n }\r\n break;\r\n\r\n case 'random':\r\n if(parseInt(frequencyDetails[1]) == 2 && ( frequencyDetails[2] == '' || !frequencyDetails[2] || frequencyDetails.length < 4)) {\r\n isInvalid = true;\r\n } else {\r\n isInvalid = false;\r\n };\r\n break;\r\n default: isInvalid = false;\r\n }\r\n return isInvalid;\r\n }\r\n\r\n onFrequencySelected(event: any) {\r\n console.log(\"event.....\", event);\r\n this.frequencyData = event\r\n this.isNextDisabled = this.isInvalid();\r\n }\r\n\r\n\r\n\r\n// checkNextValidity()\r\n// {\r\n\r\n// }\r\n\r\n save() {\r\n this.selectedFrequency.emit(this.frequencyData)\r\n }\r\n close(){\r\n this.closeFrequency.emit();\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\r\nimport { DatePickerComponent } from 'ng2-date-picker';\r\n//import { FrequencyService } from '../frequency.service';\r\nimport * as moment from 'moment';\r\nimport { FrequencyService } from \"../frequency.service\"\r\n\r\n@Component({\r\n selector: 'app-frequency-daily',\r\n templateUrl: './frequency-daily.component.html',\r\n styleUrls: ['./frequency-daily.component.less']\r\n})\r\nexport class FrequencyDailyComponent implements OnInit {\r\n\r\n @ViewChild('datePicker') datePicker!: DatePickerComponent;\r\n @Input() mode: any='';\r\n\r\n datepickerOverlay = false;\r\n //#region daily frequency start\r\n dailyInterval = '11:59 pm';\r\n dailyInput = 1;\r\n dailyFailed = 1;\r\n dailyLifeCycleStart = new Date();\r\n dailyLifeCycleEndTime = new Date(this.dailyLifeCycleStart.getTime() + 86400000);\r\n dailyLifecycleOccurance = 10;\r\n dailySeletedLifecycleType = 2;\r\n dailyDeactivatedValue = 15;\r\n frequencyInfo: any;\r\n lifecycleDetails: any = '0000-00-00~~0';\r\n\r\n @Input() frequencyData: any;\r\n @Input() startDate = Math.floor(Date.now() / 1000);\r\n\r\n @Output() frequencyDetails = new EventEmitter<any>();\r\n\r\n\r\n constructor(private frequencyService: FrequencyService) { }\r\n\r\n ngOnInit(): void {\r\n this.frequencyInfo = Object.assign(this.frequencyService.frequencyInfo);\r\n console.log(\"frequencyDatafrequencyData ==>\", this.frequencyData)\r\n if(this.frequencyData.pattern != '' && parseInt(this.frequencyData.pattern.split('~')[0]) === 1) {\r\n this.populateFrequency();\r\n }\r\n \r\n this.getDailyFrequency()\r\n }\r\n\r\n populateFrequency() {\r\n const patternInfo = this.frequencyData.pattern.split('~').map(Number);\r\n const lifecycleInfo = this.frequencyData.lifecycle.split('~~');\r\n this.dailyInterval = this.frequencyData.failedTime;\r\n this.dailyInput = patternInfo[3];\r\n if(Number(lifecycleInfo[1]) > 0) {\r\n this.dailyLifecycleOccurance = Number(lifecycleInfo[1]);\r\n }\r\n \r\n this.startDate = this.frequencyData.startDate;\r\n this.dailyLifeCycleStart = new Date(this.frequencyData.startDate * 1000);\r\n this.dailyFailed = this.frequencyData.failed;\r\n this.dailyDeactivatedValue = this.frequencyData.continuous_failed_days\r\n if( lifecycleInfo[0] !== '0000-00-00') {\r\n const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix()\r\n this.dailyLifeCycleEndTime = new Date(dateSelected * 1000);\r\n }\r\n this.lifecycleDetails = this.frequencyData.lifecycle;\r\n if( this.frequencyData.lifecycle == '0000-00-00~~0') {\r\n this.dailySeletedLifecycleType = 2;\r\n } else if(lifecycleInfo[0] !== '0000-00-00') {\r\n this.dailySeletedLifecycleType = 0;\r\n } else {\r\n this.dailySeletedLifecycleType = 1;\r\n }\r\n }\r\n \r\n\r\n onTimeChanged(event:string, name:string) {\r\n console.log(\"time event =>\", event)\r\n this.dailyInterval = event;\r\n this.getDailyFrequency();\r\n }\r\n\r\n valueChangedFirst(event: any) {\r\n console.log('event ==>', event);\r\n this.dailyInput = event.value;\r\n this.getDailyFrequency();\r\n }\r\n\r\n onValueChange(event: any) {\r\n if (event.type === 'deactivated') {\r\n this.dailyDeactivatedValue = event.value;\r\n } else {\r\n this.dailyFailed = event.value;\r\n }\r\n this.getDailyFrequency();\r\n}\r\n\r\n lifecycleChange(event: any) {\r\n console.log('event==>', event);\r\n\r\n switch (event.type) {\r\n case 0:\r\n this.lifecycleDetails = event.endsBy + '~~0';\r\n break;\r\n case 1:\r\n this.lifecycleDetails = '0000-00-00~~' + event.endafter;\r\n break;\r\n case 2:\r\n this.lifecycleDetails = '0000-00-00~~0';\r\n break;\r\n }\r\n if (event.startFrom.toString().length > 10) {\r\n console.log(\"start 1111\")\r\n this.startDate = Math.floor(event.startFrom / 1000);\r\n } else {\r\n console.log(\"start 11112222\")\r\n this.startDate = Math.floor(event.startFrom);\r\n }\r\n\r\n //this.dailyLifeCycleEndTime = new Date(moment(event.endsBy+ ' 12:00 am', 'DD-MMMM-YYYY HH:mm a').unix() * 1000)\r\n console.log(\" this.dailyLifeCycleEndTime ==>\", this.dailyLifeCycleEndTime)\r\n let endByDate = Math.floor(new Date().getTime() / 1000 + 86400000);\r\n console.log('strat date ====>', this.startDate);\r\n console.log('end date', endByDate);\r\n if (event.type === 0) {\r\n endByDate = event.endsBy ? moment(event.endsBy + ' 00:00:00', 'DD-MMM-YYYY HH:mm:ss').unix() : endByDate;\r\n console.log('endByDate', endByDate);\r\n \r\n }\r\n this.frequencyInfo.failed_time_utc = endByDate;\r\n this.getDailyFrequency();\r\n }\r\n\r\n getDailyFrequency() {\r\n if (this.dailyInput === 1) {\r\n this.frequencyInfo.placeholder = 'Daily by ' + this.dailyInterval;\r\n } else if (this.dailyInput > 1) {\r\n this.frequencyInfo.placeholder = 'Every ' + this.dailyInput + ' days by ' + this.dailyInterval;\r\n } else {\r\n this.frequencyInfo.placeholder = 'Frequency denotes the rate of occurrence of a responsibility.';\r\n }\r\n this.frequencyInfo.pattern = 1 + '~' + '0' + '~' + '0' + '~' + this.dailyInput;\r\n this.frequencyInfo.case = 'daily';\r\n this.frequencyInfo.failedAfter = this.dailyFailed;\r\n this.frequencyInfo.timeIn12hr = this.dailyInterval;\r\n this.frequencyInfo.timeIn24Hr = this.frequencyService.timeFrom12hTo24h(this.dailyInterval);\r\n this.frequencyInfo.lifecycleDetails = this.lifecycleDetails;\r\n this.frequencyInfo.startFrom = this.startDate;\r\n this.frequencyInfo.reportId = 0;\r\n this.frequencyInfo.continuous_failed_days = this.dailyDeactivatedValue;\r\n this.frequencyDetails.emit(this.frequencyInfo);\r\n console.log(\" this.frequencyInfo ==>\", this.frequencyInfo);\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FrequencyService } from \"../frequency.service\";\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-frequency-weekly',\r\n templateUrl: './frequency-weekly.component.html',\r\n styleUrls: ['./frequency-weekly.component.less']\r\n})\r\nexport class FrequencyWeeklyComponent implements OnInit {\r\n @Input() mode: any='';\r\n\r\n weeklyInterval = '11:59 pm';\r\n weeklyInput = 1;\r\n weeklyFailed = 2;\r\n weeklyWindow = 2;\r\n weeklyLifeCycleStart = new Date();\r\n weeklyLifeCycleEndTime = new Date(this.weeklyLifeCycleStart.getTime() + 86400000);\r\n weeklyLifecycleOccurance = 10;\r\n weeklySeletedLifecycleType = 2;\r\n selectedWeekly = [new Date().getDay() == 0 ? 6 : new Date().getDay() - 1];\r\n weeklyDeactivatedValue = 10;\r\n dayArray: Array<string> = [];\r\n\r\n frequencyInfo: any;\r\n lifecycleDetails: any = '0000-00-00~~0';\r\n\r\n @Input() startDate = Math.floor(Date.now() / 1000);\r\n @Input() frequencyData: any;\r\n\r\n @Output() frequencyDetails = new EventEmitter<any>();\r\n\r\n constructor(private frequencyService: FrequencyService) { }\r\n\r\n ngOnInit(): void {\r\n this.dayArray = [...new Set(this.frequencyService.dayName)];\r\n this.frequencyInfo = Object.assign(this.frequencyService.frequencyInfo);\r\n console.log(\"this.frequencyData ==>\", this.frequencyData)\r\n if(this.frequencyData.pattern != '' && parseInt(this.frequencyData.pattern.split('~')[0]) === 2) {\r\n this.populateFrequency();\r\n }\r\n this.getWeeklyFrequency();\r\n }\r\n\r\n populateFrequency() {\r\n const patternInfo = this.frequencyData.pattern.split('~')\r\n this.selectedWeekly = patternInfo[1].split(',').map((ele: any) => Number(ele) - 1)\r\n const lifecycleInfo = this.frequencyData.lifecycle.split('~~');\r\n this.weeklyInterval = this.frequencyData.failedTime;\r\n this.weeklyWindow = this.frequencyData.window;\r\n this.weeklyInput = patternInfo[3];\r\n if(Number(lifecycleInfo[1]) > 0) {\r\n this.weeklyLifecycleOccurance = Number(lifecycleInfo[1]);\r\n }\r\n \r\n this.startDate = this.frequencyData.startFrom ?? this.frequencyData.startDate;\r\n this.weeklyLifeCycleStart = new Date((this.frequencyData.startDate ?? this.frequencyData.startDate) * 1000);\r\n this.weeklyFailed = this.frequencyData.failed;\r\n this.weeklyDeactivatedValue = this.frequencyData.continuous_failed_days\r\n if( lifecycleInfo[0] !== '0000-00-00') {\r\n const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix()\r\n this.weeklyLifeCycleEndTime = new Date(dateSelected * 1000);\r\n }\r\n this.lifecycleDetails = this.frequencyData.lifecycle;\r\n if( this.frequencyData.lifecycle == '0000-00-00~~0') {\r\n this.weeklySeletedLifecycleType = 2;\r\n } else if(lifecycleInfo[0] !== '0000-00-00') {\r\n this.weeklySeletedLifecycleType = 0;\r\n } else {\r\n this.weeklySeletedLifecycleType = 1;\r\n }\r\n }\r\n\r\n onTimeChanged(event:string) {\r\n console.log(\"time event =>\", event)\r\n this.weeklyInterval = event;\r\n this.getWeeklyFrequency();\r\n }\r\n\r\n valueChangedFirst(event: any) {\r\n console.log('event ==>', event);\r\n this.weeklyInput = event.value;\r\n this.getWeeklyFrequency();\r\n }\r\n\r\n onDaySelected(event: any) {\r\n console.log(\"evnet\", event)\r\n if (event.checked) {\r\n this.selectedWeekly.push(event.index);\r\n } else {\r\n this.selectedWeekly = this.selectedWeekly.filter((ele) => ele !== event.index);\r\n }\r\n this.getWeeklyFrequency();\r\n }\r\n\r\n lifecycleChange(event: any) {\r\n console.log('event==>', event);\r\n\r\n switch (event.type) {\r\n case 0:\r\n this.lifecycleDetails = event.endsBy + '~~0';\r\n break;\r\n case 1:\r\n this.lifecycleDetails = '0000-00-00~~' + event.endafter;\r\n break;\r\n case 2:\r\n this.lifecycleDetails = '0000-00-00~~0';\r\n break;\r\n }\r\n if (event.startFrom.toString().length > 10) {\r\n console.log(\"start 1111\")\r\n this.startDate = Math.floor(event.startFrom / 1000);\r\n } else {\r\n console.log(\"start 11112222\")\r\n this.startDate = Math.floor(event.startFrom);\r\n }\r\n let endByDate = Math.floor(new Date().getTime() / 1000 + 86400000);\r\n console.log('strat date ====>', this.startDate);\r\n console.log('end date', endByDate);\r\n if (event.type === 0) {\r\n endByDate = event.endsBy ? moment(event.endsBy + ' 00:00:00', 'DD-MMM-YYYY HH:mm:ss').unix() : endByDate;\r\n console.log('endByDate', endByDate);\r\n \r\n }\r\n this.weeklyLifeCycleStart = new Date(this.startDate * 1000);\r\n this.frequencyInfo.failed_time_utc = endByDate;\r\n this.getWeeklyFrequency();\r\n }\r\n\r\n onValueChange(event: any) {\r\n if (event.type === 'deactivated') {\r\n this.weeklyDeactivatedValue = event.value;\r\n } else if (event.type === 'completed') {\r\n this.weeklyWindow = event.value;\r\n } else {\r\n this.weeklyFailed = event.value;\r\n }\r\n this.getWeeklyFrequency();\r\n}\r\n\r\n getWeeklyFrequency() {\r\n this.selectedWeekly = this.selectedWeekly.sort((n1, n2) => n1 - n2);\r\n this.frequencyInfo.placeholder = this.getPlaceholder(Number(this.weeklyInput))\r\n this.frequencyInfo.pattern = 2 + '~' + this.selectedWeekly.map((ele) => ele + 1).join(',') + '~' + '0' + '~' + this.weeklyInput;\r\n this.frequencyInfo.case = 'week';\r\n this.frequencyInfo.failedAfter = this.weeklyFailed;\r\n this.frequencyInfo.window = this.weeklyWindow;\r\n this.frequencyInfo.timeIn12hr = this.weeklyInterval;\r\n this.frequencyInfo.timeIn24Hr = this.frequencyService.timeFrom12hTo24h(this.weeklyInterval);\r\n this.frequencyInfo.lifecycleDetails = this.lifecycleDetails;\r\n this.frequencyInfo.startFrom = this.startDate ?? Math.floor(Date.now()/1000);\r\n this.frequencyInfo.reportId = 0;\r\n this.frequencyInfo.continuous_failed_days = this.weeklyDeactivatedValue;\r\n this.frequencyDetails.emit(this.frequencyInfo);\r\n console.log(\" this.frequencyInfo ==>\", this.frequencyInfo);\r\n }\r\n\r\n getPlaceholder(weeklyInput: number) {\r\n let placeholder = '';\r\n weeklyInput = Number(weeklyInput)\r\n \r\n const selectedDay = this.selectedWeekly.map((ele) => {\r\n return this.frequencyService.dayName[ele];\r\n });\r\n if (weeklyInput === 1) {\r\n placeholder = 'Every ' + selectedDay.join(', ') + ' by ' + this.weeklyInterval;\r\n }\r\n if (weeklyInput === 2) {\r\n placeholder = 'Every alternate ' + selectedDay.join(', ') + ' by ' + this.weeklyInterval;\r\n }\r\n if (weeklyInput === 3) {\r\n placeholder = 'Every 3rd ' + selectedDay.join(', ') + ' by ' + this.weeklyInterval;\r\n }\r\n if (weeklyInput > 3) {\r\n placeholder = 'Every ' + this.weeklyInput + 'th ' + selectedDay.join(', ') + ' by ' + this.weeklyInterval;\r\n }\r\n return placeholder;\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FrequencyService } from '../frequency.service';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-frequency-monthly',\r\n templateUrl: './frequency-monthly.component.html',\r\n styleUrls: ['./frequency-monthly.component.less']\r\n})\r\nexport class FrequencyMonthlyComponent implements OnInit {\r\n @Input() mode: any='';\r\n\r\n monthlyInterval = '11:59 pm';\r\n monthlyInput = new Date().getDate();\r\n monthlyFailed = 5;\r\n monthlyWindow = 7;\r\n\r\n monthlyLifeCycleStart = new Date();\r\n monthlyLifeCycleEndTime = new Date(this.monthlyLifeCycleStart.getTime() + 86400000);\r\n monthlyLifecycleOccurance = 10;\r\n monthlySeletedLifecycleType = 2;\r\n selectedMonthly = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n monthlyDeactivatedValue = 10;\r\n frequencyInfo: any;\r\n monthNameArray: Array<string> = [];\r\n shortMonth:Array<string> = [];\r\n\r\n lifecycleDetails: any = '0000-00-00~~0';\r\n\r\n @Input() startDate = Math.floor(Date.now() / 1000);\r\n @Input() frequencyData: any;\r\n @Output() frequencyDetails = new EventEmitter<any>();\r\n\r\n constructor(private frequencyService: FrequencyService) { }\r\n\r\n ngOnInit(): void {\r\n this.frequencyInfo = Object.assign(this.frequencyService.frequencyInfo);\r\n this.monthNameArray = [...new Set(this.frequencyService.monthArray)];\r\n this.shortMonth = this.frequencyService.monthArray.map(month => month.substring(0, 3));\r\n console.log(\"this.frequencyData ==>\", this.frequencyData)\r\n if(this.frequencyData.pattern != '' && parseInt(this.frequencyData.pattern.split('~')[0]) === 3) {\r\n this.populateFrequency();\r\n }\r\n this.getMonthlyFrequency();\r\n }\r\n\r\n populateFrequency() {\r\n const patternInfo = this.frequencyData.pattern.split('~');\r\n console.log(\"patternInfo ==>\", patternInfo)\r\n this.selectedMonthly = patternInfo[2].split(',').map((ele: any) => Number(ele) - 1)\r\n const lifecycleInfo = this.frequencyData.lifecycle.split('~~');\r\n this.monthlyInterval = this.frequencyData.failedTime;\r\n this.monthlyWindow = this.frequencyData.window;\r\n this.monthlyInput = Number(patternInfo[1]);\r\n if(Number(lifecycleInfo[1]) > 0) {\r\n this.monthlyLifecycleOccurance = Number(lifecycleInfo[1]);\r\n }\r\n \r\n this.startDate = this.frequencyData.startDate\r\n this.monthlyLifeCycleStart = new Date(this.frequencyData.startDate * 1000);\r\n this.monthlyFailed = this.frequencyData.failed;\r\n this.monthlyDeactivatedValue = this.frequencyData.continuous_failed_days\r\n if( lifecycleInfo[0] !== '0000-00-00') {\r\n const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix()\r\n this.monthlyLifeCycleEndTime = new Date(dateSelected * 1000);\r\n }\r\n this.lifecycleDetails = this.frequencyData.lifecycle;\r\n if( this.frequencyData.lifecycle == '0000-00-00~~0') {\r\n this.monthlySeletedLifecycleType = 2;\r\n } else if(lifecycleInfo[0] !== '0000-00-00') {\r\n this.monthlySeletedLifecycleType = 0;\r\n } else {\r\n this.monthlySeletedLifecycleType = 1;\r\n }\r\n }\r\n\r\n valueChangedFirst(event: any) {\r\n console.log('event ==>', event);\r\n this.monthlyInput = event.value;\r\n this.getMonthlyFrequency();\r\n }\r\n\r\n onTimeChanged(event:string) {\r\n console.log(\"time event =>\", event)\r\n this.monthlyInterval = event;\r\n this.getMonthlyFrequency();\r\n }\r\n\r\n \r\n onMonthSelected(event: any) {\r\n console.log(\"evnet\", event)\r\n if (event.checked) {\r\n this.selectedMonthly.push(event.index);\r\n } else {\r\n this.selectedMonthly = this.selectedMonthly.filter((ele) => ele !== event.index);\r\n }\r\n this.getMonthlyFrequency();\r\n }\r\n\r\n lifecycleChange(event: any) {\r\n console.log('event==>', event);\r\n\r\n switch (event.type) {\r\n case 0:\r\n this.lifecycleDetails = event.endsBy + '~~0';\r\n break;\r\n case 1:\r\n this.lifecycleDetails = '0000-00-00~~' + event.endafter;\r\n break;\r\n case 2:\r\n this.lifecycleDetails = '0000-00-00~~0';\r\n break;\r\n }\r\n if (event.startFrom.toString().length > 10) {\r\n console.log(\"start 1111\")\r\n this.startDate = Math.floor(event.startFrom / 1000);\r\n } else {\r\n console.log(\"start 11112222\")\r\n this.startDate = Math.floor(event.startFrom);\r\n }\r\n let endByDate = Math.floor(new Date().getTime() / 1000 + 86400000);\r\n console.log('strat date ====>', this.startDate);\r\n console.log('end date', endByDate);\r\n if (event.type === 0) {\r\n endByDate = event.endsBy ? moment(event.endsBy + ' 00:00:00', 'DD-MMM-YYYY HH:mm:ss').unix() : endByDate;\r\n console.log('endByDate', endByDate);\r\n \r\n }\r\n this.monthlyLifeCycleStart = new Date(this.startDate * 1000);\r\n this.frequencyInfo.failed_time_utc = endByDate;\r\n this.getMonthlyFrequency();\r\n }\r\n\r\n onValueChange(event: any) {\r\n if (event.type === 'deactivated') {\r\n this.monthlyDeactivatedValue = event.value;\r\n } else if (event.type === 'completed') {\r\n this.monthlyWindow = event.value;\r\n } else {\r\n this.monthlyFailed = event.value;\r\n }\r\n this.getMonthlyFrequency();\r\n}\r\n\r\n getMonthlyFrequency(){\r\n this.selectedMonthly = this.selectedMonthly.sort((n1, n2) => n1 - n2); \r\n const monthIndex = this.selectedMonthly.map((ele) => ele + 1);\r\n this.frequencyInfo.placeholder = this.getFrequencyPlaceholder(Number(this.monthlyInput));\r\n this.frequencyInfo.pattern = 3 + '~' + this.monthlyInput + '~' + monthIndex + '~' + '0';\r\n this.frequencyInfo.case = 'month';\r\n this.frequencyInfo.failedAfter = this.monthlyFailed;\r\n this.frequencyInfo.window = this.monthlyWindow;\r\n this.frequencyInfo.timeIn12hr = this.monthlyInterval;\r\n this.frequencyInfo.timeIn24Hr = this.frequencyService.timeFrom12hTo24h(this.monthlyInterval);\r\n this.frequencyInfo.lifecycleDetails = this.lifecycleDetails;\r\n this.frequencyInfo.startFrom = Math.floor(this.monthlyLifeCycleStart.getTime()/1000);\r\n this.frequencyInfo.reportId = 0;\r\n this.frequencyInfo.continuous_failed_days = this.monthlyDeactivatedValue;\r\n this.frequencyDetails.emit(this.frequencyInfo);\r\n console.log(\" this.frequencyInfo ==>\", this.frequencyInfo);\r\n }\r\n\r\n getFrequencyPlaceholder(monthlyInput: number) {\r\n console.log(\"monthlyInput ==>\", monthlyInput)\r\n const selectedMonth = this.selectedMonthly.map((ele) => {\r\n return this.shortMonth[ele];\r\n });\r\n let placeholder = '';\r\n if (monthlyInput === 1) {\r\n placeholder = '1st of every ' + selectedMonth.join(', ') + ' by ' + this.monthlyInterval;\r\n } else if (monthlyInput === 2) {\r\n placeholder = '2nd of every ' + selectedMonth.join(', ') + ' by ' + this.monthlyInterval;\r\n } else if (monthlyInput === 3) {\r\n placeholder = '3rd of every ' + selectedMonth.join(', ') + ' by ' + this.monthlyInterval;\r\n } else if (monthlyInput === 21 || monthlyInput === 31) {\r\n placeholder = monthlyInput + 'st of every ' + selectedMonth.join(', ') + ' by ' + this.monthlyInterval;\r\n } else if (monthlyInput === 22) {\r\n placeholder = monthlyInput + 'nd of every ' + selectedMonth.join(', ') + ' by ' + this.monthlyInterval;\r\n } else if (monthlyInput === 23) {\r\n placeholder = monthlyInput + 'rd of every ' + selectedMonth.join(', ') + ' by ' + this.monthlyInterval;\r\n } else if (monthlyInput > 3) {\r\n placeholder = monthlyInput + 'th of every ' + selectedMonth.join(', ') + ' by ' + this.monthlyInterval;\r\n }\r\n console.log(\"placeholder ==>\", placeholder)\r\n return placeholder;\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FrequencyService } from \"../frequency.service\";\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-frequency-quarterly',\r\n templateUrl: './frequency-quarterly.component.html',\r\n styleUrls: ['./frequency-quarterly.component.less']\r\n})\r\nexport class FrequencyQuarterlyComponent implements OnInit {\r\n @Input() mode: any='';\r\n\r\n quarterlyInterval = '11:59 pm';\r\n quarterlyInput = new Date().getDate();\r\n quarterlyFailed = 5;\r\n quarterlyWindow = 7;\r\n selectedQuarterly = 1;\r\n quarterlyLifeCycleStart = new Date();\r\n quarterlyLifeCycleEndTime = new Date(this.quarterlyLifeCycleStart.getTime() + 86400000);\r\n quarterlyLifecycleOccurance = 10;\r\n quarterlySeletedLifecycleType = 2;\r\n quarterlyGroup = [0, 3, 6, 9, 1, 4, 7, 10, 2, 5, 8, 11];\r\n frequencyInfo: any\r\n quarterlyArray: Array<string> = [];\r\n\r\n @Input() startDate = Math.floor(Date.now() / 1000);\r\n @Input() frequencyData: any;\r\n lifecycleDetails: any = '0000-00-00~~0';\r\n\r\n @Output() frequencyDetails = new EventEmitter<any>();\r\n\r\n constructor(private frequencyService: FrequencyService) { }\r\n\r\n ngOnInit(): void {\r\n this.frequencyInfo = Object.assign(this.frequencyService.frequencyInfo);\r\n this.quarterlyArray = [...new Set(this.frequencyService.quarterlyMonth)];\r\n const indexOfMonth = this.quarterlyGroup.indexOf(new Date().getMonth());\r\n this.selectedQuarterly = indexOfMonth < 4 ? 0 : indexOfMonth > 3 && indexOfMonth < 8 ? 1 : 2;\r\n console.log(\"this.frequencyData ==>\", this.frequencyData)\r\n if(this.frequencyData.pattern != '' && parseInt(this.frequencyData.pattern.split('~')[0]) === 7) {\r\n this.populateFrequency();\r\n }\r\n this.getQuarterlyFrequency();\r\n }\r\n\r\n populateFrequency() {\r\n const patternInfo = this.frequencyData.pattern.split('~');\r\n console.log(\"patternInfo ==>\", patternInfo)\r\n const month = parseInt(patternInfo[2].split(',').map(Number)[0]);\r\n console.log(\"monte \", month)\r\n const index = this.quarterlyGroup.indexOf(month - 1);\r\n this.selectedQuarterly = index < 4 ? 0 : index > 3 && index < 8 ? 1 : 2;\r\n const lifecycleInfo = this.frequencyData.lifecycle.split('~~');\r\n this.quarterlyInterval = this.frequencyData.failedTime;\r\n this.quarterlyWindow = this.frequencyData.window;\r\n this.quarterlyInput = patternInfo[1];\r\n if(Number(lifecycleInfo[1]) > 0) {\r\n this.quarterlyLifecycleOccurance = Number(lifecycleInfo[1]);\r\n }\r\n \r\n this.startDate = this.frequencyData.startDate;\r\n this.quarterlyLifeCycleStart = new Date(this.frequencyData.startDate * 1000);\r\n this.quarterlyFailed = this.frequencyData.failed;\r\n if( lifecycleInfo[0] !== '0000-00-00') {\r\n const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix()\r\n this.quarterlyLifeCycleEndTime = new Date(dateSelected * 1000);\r\n }\r\n this.lifecycleDetails = this.frequencyData.lifecycle;\r\n if( this.frequencyData.lifecycle == '0000-00-00~~0') {\r\n this.quarterlySeletedLifecycleType = 2;\r\n } else if(lifecycleInfo[0] !== '0000-00-00') {\r\n this.quarterlySeletedLifecycleType = 0;\r\n } else {\r\n this.quarterlySeletedLifecycleType = 1;\r\n }\r\n }\r\n\r\n\r\n valueChangedFirst(event: any) {\r\n console.log('event ==>', event);\r\n this.quarterlyInput = event.value;\r\n this.getQuarterlyFrequency();\r\n }\r\n\r\n onTimeChanged(event:string) {\r\n console.log(\"time event =>\", event)\r\n this.quarterlyInterval = event;\r\n this.getQuarterlyFrequency();\r\n }\r\n\r\n selectedMonth(event: any) {\r\n console.log(\"event ==>\", event)\r\n this.selectedQuarterly = parseInt(event.target.value);\r\n this.getQuarterlyFrequency();\r\n }\r\n\r\n lifecycleChange(event: any) {\r\n console.log('event==>', event);\r\n \r\n switch (event.type) {\r\n case 0:\r\n this.lifecycleDetails = event.endsBy + '~~0';\r\n break;\r\n case 1:\r\n this.lifecycleDetails = '0000-00-00~~' + event.endafter;\r\n break;\r\n case 2:\r\n this.lifecycleDetails = '0000-00-00~~0';\r\n break;\r\n }\r\n if (event.startFrom.toString().length > 10) {\r\n this.startDate = Math.floor(event.startFrom / 1000);\r\n } else {\r\n this.startDate = Math.floor(event.startFrom);\r\n }\r\n let endByDate = Math.floor(new Date().getTime() / 1000 + 86400000);\r\n console.log('end date', endByDate);\r\n if (event.type === 0) {\r\n endByDate = event.endsBy ? moment(event.endsBy + ' 00:00:00', 'DD-MMM-YYYY HH:mm:ss').unix() : endByDate;\r\n console.log('endByDate', endByDate);\r\n \r\n }\r\n this.frequencyInfo.failed_time_utc = endByDate;\r\n this.getQuarterlyFrequency();\r\n }\r\n\r\n \r\n onValueChange(event: any) {\r\n if (event.type === 'completed') {\r\n this.quarterlyWindow = event.value;\r\n } else {\r\n this.quarterlyFailed = event.value;\r\n }\r\n this.getQuarterlyFrequency();\r\n }\r\n\r\n getQuarterlyFrequency() {\r\n let monthSequence = this.selectedQuarterly === 0 ? this.quarterlyGroup.slice(0, 4) : this.selectedQuarterly === 1 ? this.quarterlyGroup.slice(4, 8) : this.quarterlyGroup.slice(8);\r\n monthSequence = monthSequence.map((ele) => ele + 1);\r\n this.frequencyInfo.pattern = 7 + '~' + this.quarterlyInput + '~' + monthSequence + '~' + '0';\r\n this.frequencyInfo.case = 'quarterly';\r\n this.frequencyInfo.failedAfter = this.quarterlyFailed;\r\n this.frequencyInfo.window = this.quarterlyWindow;\r\n this.frequencyInfo.timeIn12hr = this.quarterlyInterval;\r\n this.frequencyInfo.timeIn24Hr = this.frequencyService.timeFrom12hTo24h(this.quarterlyInterval);\r\n this.frequencyInfo.lifecycleDetails = this.lifecycleDetails;\r\n this.frequencyInfo.startFrom = this.startDate;\r\n this.frequencyInfo.reportId = 0;\r\n this.frequencyInfo.placeholder = this.getPlaceholder(Number(this.quarterlyInput));\r\n this.frequencyDetails.emit(this.frequencyInfo);\r\n console.log(\" this.frequencyInfo ==>\", this.frequencyInfo);\r\n }\r\n\r\n getPlaceholder(quarterlyInput: number) {\r\n console.log(\" this.placeholder ==>\", quarterlyInput, quarterlyInput === 2, typeof quarterlyInput);\r\n let placeholder = '';\r\n \r\n if (quarterlyInput === 1) {\r\n placeholder = '1st of every ' + this.quarterlyArray[this.selectedQuarterly] + ' by ' + this.quarterlyInterval;\r\n } else if (quarterlyInput === 2) {\r\n placeholder = '2nd of every ' + this.quarterlyArray[this.selectedQuarterly] + ' by ' + this.quarterlyInterval;\r\n } else if (quarterlyInput === 3) {\r\n placeholder = '3rd of every ' + this.quarterlyArray[this.selectedQuarterly] + ' by ' + this.quarterlyInterval;\r\n } else if (quarterlyInput === 21 || quarterlyInput === 31) {\r\n placeholder = quarterlyInput + 'st of every ' + this.quarterlyArray[this.selectedQuarterly] + ' by ' + this.quarterlyInterval;\r\n } else if (quarterlyInput === 22) {\r\n placeholder = quarterlyInput + 'nd of every ' + this.quarterlyArray[this.selectedQuarterly] + ' by ' + this.quarterlyInterval;\r\n } else if (quarterlyInput === 23) {\r\n placeholder = quarterlyInput + 'rd of every ' + this.quarterlyArray[this.selectedQuarterly] + ' by ' + this.quarterlyInterval;\r\n } else if (quarterlyInput > 3) {\r\n placeholder = quarterlyInput + 'th of every ' + this.quarterlyArray[this.selectedQuarterly] + ' by ' + this.quarterlyInterval;\r\n }\r\n console.log(\" this.placeholderede ==>\", placeholder);\r\n return placeholder;\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { FrequencyService } from \"../frequency.service\";\r\n\r\n@Component({\r\n selector: 'app-frequency-biannual',\r\n templateUrl: './frequency-biannual.component.html',\r\n styleUrls: ['./frequency-biannual.component.less']\r\n})\r\nexport class FrequencyBiannualComponent implements OnInit {\r\n\r\n biannualInterval = '11:59 pm';\r\n biannualInput = new Date().getDate();\r\n biannualFailed = 5;\r\n biannualWindow = 30;\r\n biannualDay = new Date().getDate();\r\n biannualLifeCycleStart = new Date();\r\n biannualLifeCycleEndTime = new Date(this.biannualLifeCycleStart.getTime() + 86400000);\r\n biannualLifecycleOccurance = 10;\r\n biannualSeletedLifecycleType = 2;\r\n biannualSelected: Array<number> = [];\r\n biannualLifecycle = false;\r\n frequencyInfo: any;\r\n monthNameArray: Array<string> = [];\r\n shortMonth: Array<string> = [];\r\n selectedMonthly: Array<number> = [];\r\n\r\n @Input() mode: any='';\r\n\r\n @Input() startDate = Math.floor(Date.now() / 1000);\r\n @Input() frequencyData: any;\r\n lifecycleDetails: any = '0000-00-00~~0';\r\n\r\n @Output() frequencyDetails = new EventEmitter<any>();\r\n \r\n\r\n constructor(private frequencyService: FrequencyService) { }\r\n\r\n ngOnInit(): void {\r\n this.frequencyInfo = Object.assign(this.frequencyService.frequencyInfo);\r\n this.monthNameArray = [...new Set(this.frequencyService.monthArray)];\r\n this.shortMonth = this.frequencyService.monthArray.map(month => month.substring(0, 3));\r\n console.log(\"this.frequencyData ==>\", this.frequencyData)\r\n if(this.frequencyData.pattern != '' && parseInt(this.frequencyData.pattern.split('~')[0]) === 9) {\r\n this.populateFrequency();\r\n }\r\n this.getBiannualFrequency()\r\n }\r\n\r\n populateFrequency() {\r\n const patternInfo = this.frequencyData.pattern.split('~')\r\n this.biannualSelected = patternInfo[2].split(',').map((ele: any) => Number(ele) - 1)\r\n const lifecycleInfo = this.frequencyData.lifecycle.split('~~');\r\n this.biannualInterval = this.frequencyData.failedTime;\r\n this.biannualWindow = this.frequencyData.window;\r\n this.biannualInput = patternInfo[1];\r\n if(Number(lifecycleInfo[1]) > 0) {\r\n this.biannualLifecycleOccurance = Number(lifecycleInfo[1]);\r\n }\r\n \r\n this.biannualLifeCycleStart = new Date(this.frequencyData.startDate * 1000) \r\n this.biannualFailed = this.frequencyData.failed;\r\n if( lifecycleInfo[0] !== '0000-00-00') {\r\n const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix()\r\n this.biannualLifeCycleEndTime = new Date(dateSelected * 1000);\r\n }\r\n this.lifecycleDetails = this.frequencyData.lifecycle;\r\n if( this.frequencyData.lifecycle == '0000-00-00~~0') {\r\n this.biannualSeletedLifecycleType = 2;\r\n } else if(lifecycleInfo[0] !== '0000-00-00') {\r\n this.biannualSeletedLifecycleType = 0;\r\n } else {\r\n this.biannualSeletedLifecycleType = 1;\r\n }\r\n }\r\n\r\n onMonthSelected(event: any) {\r\n console.log(\"event\", event)\r\n if (event.checked) {\r\n this.biannualSelected.push(event.index);\r\n } else {\r\n this.biannualSelected = this.biannualSelected.filter((ele) => ele !== event.index);\r\n }\r\n this.getBiannualFrequency();\r\n }\r\n\r\n valueChangedFirst(event: any) {\r\n console.log('event ==>', event);\r\n this.biannualInput = event.value;\r\n this.getBiannualFrequency();\r\n }\r\n\r\n onTimeChanged(event:string) {\r\n console.log(\"time event =>\", event)\r\n this.biannualInterval = event;\r\n this.getBiannualFrequency();\r\n }\r\n\r\n onValueChange(event: any) {\r\n if (event.type === 'completed') {\r\n this.biannualWindow = event.value;\r\n } else {\r\n this.biannualFailed = event.value;\r\n }\r\n this.getBiannualFrequency();\r\n}\r\n\r\n lifecycleChange(event: any) {\r\n console.log('event==>', event);\r\n\r\n switch (event.type) {\r\n case 0:\r\n this.lifecycleDetails = event.endsBy + '~~0';\r\n break;\r\n case 1:\r\n this.lifecycleDetails = '0000-00-00~~' + event.endafter;\r\n break;\r\n case 2:\r\n this.lifecycleDetails = '0000-00-00~~0';\r\n break;\r\n }\r\n if (event.startFrom.toString().length > 10) {\r\n console.log(\"start 1111\")\r\n this.startDate = Math.floor(event.startFrom / 1000);\r\n } else {\r\n console.log(\"start 11112222\")\r\n this.startDate = Math.floor(event.startFrom);\r\n }\r\n let endByDate = Math.floor(new Date().getTime() / 1000 + 86400000);\r\n console.log('strat date ====>', this.startDate);\r\n console.log('end date', endByDate);\r\n if (event.type === 0) {\r\n endByDate = event.endsBy ? moment(event.endsBy + ' 00:00:00', 'DD-MMM-YYYY HH:mm:ss').unix() : endByDate;\r\n console.log('endByDate', endByDate);\r\n \r\n }\r\n this.frequencyInfo.failed_time_utc = endByDate;\r\n this.getBiannualFrequency();\r\n }\r\n\r\n getBiannualFrequency() {\r\n this.biannualSelected = this.biannualSelected.sort((n1, n2) => n1 - n2);\r\n const monthIndex = this.biannualSelected.map((ele) => ele + 1);\r\n this.frequencyInfo.pattern = 9 + '~' + this.biannualInput + '~' + monthIndex.join(',') + '~0';\r\n this.frequencyInfo.case = 'biannual';\r\n this.frequencyInfo.failedAfter = this.biannualFailed;\r\n this.frequencyInfo.window = this.biannualWindow;\r\n this.frequencyInfo.timeIn12hr = this.biannualInterval;\r\n this.frequencyInfo.timeIn24Hr = this.frequencyService.timeFrom12hTo24h(this.biannualInterval);\r\n this.frequencyInfo.lifecycleDetails = this.lifecycleDetails;\r\n this.frequencyInfo.startFrom = this.startDate;\r\n this.frequencyInfo.reportId = 0;\r\n this.frequencyInfo.placeholder = this.getFrequencyPlaceholder(Number(this.biannualInput));\r\n this.frequencyDetails.emit(this.frequencyInfo);\r\n console.log(\" this.frequencyInfo ==>\", this.frequencyInfo);\r\n }\r\n\r\n getFrequencyPlaceholder(biannualInput: number) {\r\n let placeholder = '';\r\n const selectedMonth = this.biannualSelected.map((ele) => {\r\n return this.shortMonth[ele];\r\n });\r\n \r\n if (biannualInput === 1) {\r\n placeholder = '1st of every ' + selectedMonth.join(', ') + ' by ' + this.biannualInterval;\r\n } else if (biannualInput === 2) {\r\n placeholder = '2nd of every ' + selectedMonth.join(', ') + ' by ' + this.biannualInterval;\r\n } else if (biannualInput === 3) {\r\n placeholder = '3rd of every ' + selectedMonth.join(', ') + ' by ' + this.biannualInterval;\r\n } else if (biannualInput === 21 || biannualInput === 31) {\r\n placeholder = biannualInput + 'st of every ' + selectedMonth.join(', ') + ' by ' + this.biannualInterval;\r\n } else if (biannualInput === 22) {\r\n placeholder = biannualInput + 'nd of every ' + selectedMonth.join(', ') + ' by ' + this.biannualInterval;\r\n } else if (biannualInput === 23) {\r\n placeholder = biannualInput + 'rd of every ' + selectedMonth.join(', ') + ' by ' + this.biannualInterval;\r\n } else if (biannualInput > 3) {\r\n placeholder = biannualInput + 'th of every ' + selectedMonth.join(', ') + ' by ' + this.biannualInterval;\r\n }\r\n return placeholder;\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FrequencyService } from '../frequency.service';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-frequency-annual',\r\n templateUrl: './frequency-annual.component.html',\r\n styleUrls: ['./frequency-annual.component.less']\r\n})\r\nexport class FrequencyAnnualComponent implements OnInit {\r\n\r\n monthList: Array<any> = [];\r\n\r\n yearlyInterval: string = '11:59 pm';\r\n yearlyInput: number = 1;\r\n yearlyFailed: number = 5;\r\n yearlyWindow: number = 30;\r\n yearlyDay = new Date().getDate();\r\n yearlyLifeCycleStart = new Date();\r\n yearlyLifeCycleEndTime = new Date(this.yearlyLifeCycleStart.getTime() + 86400000);\r\n yearlyLifecycleOccurance: number = 10;\r\n yearlySeletedLifecycleType: number = 2;\r\n yearlySelected = new Date().getMonth();\r\n lifecycleDetails: any = '0000-00-00~~0';\r\n previousStartDate = Math.floor(Date.now() / 1000);\r\n frequencyInfo: any;\r\n shortMonth:Array<string> = [];\r\n\r\n @Input() frequencyData: any;\r\n @Input() mode: any='';\r\n\r\n @Input() startDate = Math.floor(Date.now() / 1000);\r\n\r\n @Output() frequencyDetails = new EventEmitter<any>();\r\n\r\n\r\n constructor(private frequencyService: FrequencyService) { }\r\n\r\n ngOnInit(): void {\r\n this.monthList = this.frequencyService.monthArray;\r\n this.frequencyInfo = Object.assign(this.frequencyService.frequencyInfo);\r\n this.shortMonth = this.frequencyService.monthArray.map(month => month.substring(0, 3));\r\n if(this.frequencyData.pattern != '' && parseInt(this.frequencyData.pattern.split('~')[0]) === 4) {\r\n this.populateFrequency();\r\n }\r\n this.getAnnualFrequency();\r\n }\r\n\r\n populateFrequency() {\r\n const patternInfo = this.frequencyData.pattern.split('~').map(Number);\r\n this.yearlySelected = patternInfo[2] - 1;\r\n const lifecycleInfo = this.frequencyData.lifecycle.split('~~');\r\n this.yearlyInterval = this.frequencyData.failedTime;\r\n this.yearlyWindow = this.frequencyData.window;\r\n this.yearlyInput = patternInfo[3];\r\n this.yearlyDay = patternInfo[1]\r\n if(Number(lifecycleInfo[1]) > 0) {\r\n this.yearlyLifecycleOccurance = Number(lifecycleInfo[1]);\r\n }\r\n \r\n this.yearlyLifeCycleStart = new Date(this.frequencyData.startDate * 1000)\r\n this.startDate = this.frequencyData.startFrom ?? this.frequencyData.startDate\r\n this.yearlyFailed = this.frequencyData.failed;\r\n if( lifecycleInfo[0] !== '0000-00-00') {\r\n const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix()\r\n this.yearlyLifeCycleEndTime = new Date(dateSelected * 1000);\r\n }\r\n this.lifecycleDetails = this.frequencyData.lifecycle;\r\n if( this.frequencyData.lifecycle == '0000-00-00~~0') {\r\n this.yearlySeletedLifecycleType = 2;\r\n } else if(lifecycleInfo[0] !== '0000-00-00') {\r\n this.yearlySeletedLifecycleType = 0;\r\n } else {\r\n this.yearlySeletedLifecycleType = 1;\r\n }\r\n }\r\n\r\n onTimeChanged(event:string) {\r\n this.yearlyInterval = event;\r\n this.getAnnualFrequency();\r\n }\r\n\r\n dateChange(event: number) {\r\n this.yearlyDay = event;\r\n this.getAnnualFrequency();\r\n }\r\n\r\n valueChangedFirst(event: any) {\r\n this.yearlyInput = event.value;\r\n this.getAnnualFrequency();\r\n }\r\n\r\n selectedMonth(event: any) {\r\n this.yearlySelected = parseInt(event.target.value);\r\n this.getAnnualFrequency();\r\n }\r\n\r\n lifecycleChange(event: any) {\r\n\r\n switch (event.type) {\r\n case 0:\r\n this.lifecycleDetails = event.endsBy + '~~0';\r\n break;\r\n case 1:\r\n this.lifecycleDetails = '0000-00-00~~' + event.endafter;\r\n break;\r\n case 2:\r\n this.lifecycleDetails = '0000-00-00~~0';\r\n break;\r\n }\r\n if (event.startFrom.toString().length > 10) {\r\n this.startDate = Math.floor(event.startFrom / 1000);\r\n } else {\r\n this.startDate = Math.floor(event.startFrom);\r\n }\r\n let endByDate = Math.floor(new Date().getTime() / 1000 + 86400000);\r\n if (event.type === 0) {\r\n endByDate = event.endsBy ? moment(event.endsBy + ' 00:00:00', 'DD-MMM-YYYY HH:mm:ss').unix() : endByDate;\r\n \r\n }\r\n this.frequencyInfo.failed_time_utc = endByDate;\r\n this.getAnnualFrequency();\r\n }\r\n\r\n \r\n onValueChange(event: any) {\r\n if (event.type === 'completed') {\r\n this.yearlyWindow = event.value;\r\n } else {\r\n this.yearlyFailed = event.value;\r\n }\r\n this.getAnnualFrequency();\r\n }\r\n\r\n\r\n // frequency pattern and details info\r\n getAnnualFrequency() {\r\n this.frequencyInfo.placeholder = this.getFrequencyPlaceholder(Number(this.yearlyInput));\r\n this.frequencyInfo.pattern = 4 + '~' + this.yearlyDay + '~' + (this.yearlySelected + 1) + '~' + this.yearlyInput;\r\n this.frequencyInfo.case = 'yearly';\r\n this.frequencyInfo.failedAfter = this.yearlyFailed;\r\n this.frequencyInfo.window = this.yearlyWindow;\r\n this.frequencyInfo.timeIn12hr = this.yearlyInterval;\r\n this.frequencyInfo.timeIn24Hr = this.frequencyService.timeFrom12hTo24h(this.yearlyInterval);\r\n this.frequencyInfo.lifecycleDetails = this.lifecycleDetails;\r\n this.frequencyInfo.startFrom = this.startDate;\r\n this.frequencyInfo.reportId = 0;\r\n this.frequencyDetails.emit(this.frequencyInfo);\r\n }\r\n\r\n getFrequencyPlaceholder(yearlyInput: any) { \r\n let placeholder = '';\r\n if(yearlyInput === 1) {\r\n placeholder = this.getPlaceholderForSt2(); \r\n } else {\r\n placeholder = this.getPlaceholderForGt1()\r\n }\r\n return placeholder;\r\n }\r\n\r\n // if yearlyInput is smaller than 2 then this function will called\r\n getPlaceholderForSt2() {\r\n let placeholder = '';\r\n if (this.yearlyDay === 1) {\r\n placeholder = '1st of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;\r\n }\r\n if (this.yearlyDay === 2) {\r\n placeholder = '2nd of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;\r\n }\r\n if (this.yearlyDay === 3) {\r\n placeholder = '3rd of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;\r\n }\r\n if (this.yearlyDay > 3) {\r\n placeholder = this.yearlyDay + 'th of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;\r\n }\r\n if (this.yearlyDay === 31 || this.yearlyDay === 21) {\r\n placeholder = this.yearlyDay + 'st of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;\r\n }\r\n if (this.yearlyDay === 22) {\r\n placeholder = this.yearlyDay + 'nd of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;\r\n }\r\n if (this.yearlyDay === 23) {\r\n placeholder = this.yearlyDay + 'rd of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;\r\n }\r\n return placeholder;\r\n }\r\n\r\n // if yearlyInput is greater than 1 then this function will called\r\n getPlaceholderForGt1() {\r\n let placeholder = '';\r\n if (this.yearlyDay === 1) {\r\n placeholder = '1st ' + this.shortMonth[this.yearlySelected] + ', Interval: every ' + this.yearlyInput + ' years by ' + this.yearlyInterval;\r\n }\r\n if (this.yearlyDay === 2) {\r\n placeholder = '2nd ' + this.shortMonth[this.yearlySelected] + ', Interval: every ' + this.yearlyInput + ' years by ' + this.yearlyInterval;\r\n }\r\n if (this.yearlyDay === 3) {\r\n placeholder = '3rd ' + this.shortMonth[this.yearlySelected] + ', Interval: every ' + this.yearlyInput + ' years by ' + this.yearlyInterval;\r\n }\r\n if (this.yearlyDay > 3) {\r\n // tslint:disable-next-line: max-line-length\r\n placeholder =\r\n this.yearlyDay + 'th of ' + this.shortMonth[this.yearlySelected] + ', Interval: every ' + this.yearlyInput + ' years by ' + this.yearlyInterval;\r\n }\r\n if (this.yearlyDay === 31 || this.yearlyDay === 21) {\r\n placeholder = this.yearlyDay + 'st of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;\r\n }\r\n if (this.yearlyDay === 22) {\r\n placeholder = this.yearlyDay + 'nd of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;\r\n }\r\n if (this.yearlyDay === 23) {\r\n placeholder = this.yearlyDay + 'rd of every ' + this.shortMonth[this.yearlySelected] + ' by ' + this.yearlyInterval;\r\n }\r\n return placeholder;\r\n \r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\r\nimport { DatePickerComponent } from 'ng2-date-picker';\r\nimport { FrequencyService } from \"../frequency.service\";\r\nimport * as moment from \"moment\";\r\n\r\n\r\n@Component({\r\n selector: 'app-frequency-one-time',\r\n templateUrl: './frequency-one-time.component.html',\r\n styleUrls: ['./frequency-one-time.component.less']\r\n})\r\nexport class FrequencyOneTimeComponent implements OnInit {\r\n\r\n @ViewChild('datePicker') datePicker!: DatePickerComponent;\r\n datepickerOverlay = false;\r\n showDateError = false;\r\n oneTimeFailed = 5;\r\n oneTimeWindow = 15;\r\n oneTimeStartTime: any = '11:59 pm';\r\n oneTimeSelected = '';\r\n dateConfig: any;\r\n todayDate = new Date();\r\n frequencyInfo: any;\r\n shortMonth: Array<string> = [];\r\n dateObjectData = new Date();\r\n minDate = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss')?.split(' ')[0];\r\n selectedDate: any;\r\n @Input() frequencyData: any;\r\n @Input() mode: any='';\r\n\r\n @Output() frequencyDetails = new EventEmitter<any>();\r\n\r\n constructor(\r\n private frequencyService: FrequencyService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.dateConfig = this.frequencyService.dateConfig;\r\n this.dateConfig['min'] = new Date().getDate().toString();\r\n this.frequencyInfo = Object.assign(this.frequencyService.frequencyInfo);\r\n this.shortMonth = this.frequencyService.monthArray.map(month => month.substring(0, 3));\r\n this.selectedDate = moment(this.todayDate);\r\n console.log(\"this.dateConfig \", this.dateConfig, this.todayDate)\r\n console.log(\"this.frequencyData ==>\", this.frequencyData, this.frequencyData.pattern.split('~'))\r\n if(this.frequencyData.pattern != '' && this.frequencyData.pattern.split('~')[0] === '0') {\r\n this.populateFrequency();\r\n } else {\r\n this.getOneTimeFrequency();\r\n }\r\n \r\n\r\n }\r\n\r\n populateFrequency() {\r\n const patternInfo = this.frequencyData.pattern.split('~');\r\n console.log(\"patternInfo ==>\", patternInfo)\r\n const timeStamp = moment(`${patternInfo[3]}-${patternInfo[2]}-${patternInfo[1]} ${this.frequencyData.failedTime}`, \"DD-MM-YYYY HH:mm a\" ).unix();\r\n console.log(\"timeStamp -->\", timeStamp)\r\n this.todayDate = new Date(timeStamp * 1000)\r\n this.selectedDate = moment(this.todayDate)\r\n this.oneTimeFailed = this.frequencyData.failed;\r\n this.oneTimeWindow = this.frequencyData.window;\r\n this.oneTimeStartTime = this.frequencyData.failedTime\r\n this.oneTimeSelected = patternInfo[1] + '~' + patternInfo[2] + '~' + patternInfo[3]\r\n this.dateObjectData = new Date(moment(this.oneTimeSelected + ' ' + this.oneTimeStartTime, 'YYYY~MM~DD HH:mm:ss').unix() * 1000)\r\n this.getOneTimeFrequency();\r\n \r\n }\r\n\r\n openDatePicker() {\r\n const newDate = moment(this.todayDate);\r\n this.datePicker.api.moveCalendarTo(newDate) \r\n this.datePicker.api.open();\r\n this.datepickerOverlay = true;\r\n }\r\n closeDatepicker() {\r\n this.datePicker.api.close();\r\n this.datepickerOverlay = false;\r\n }\r\n\r\n onValueChange(event: any) {\r\n if (event.type === 'completed') {\r\n this.oneTimeWindow = event.value;\r\n } else {\r\n this.oneTimeFailed = event.value;\r\n }\r\n this.closeDatepicker();\r\n this.getOneTimeFrequency();\r\n}\r\n\r\nonTimeChanged(event:string) {\r\n console.log(\"event sring\", event);\r\n console.log(this.dateObjectData);\r\n\r\n this.oneTimeStartTime = event;\r\n if (typeof this.dateObjectData == 'object') {\r\n this.dateObjectData = moment(this.dateObjectData).toDate();\r\n }\r\n console.log(this.dateObjectData);\r\n let timeStamp = moment(\r\n this.dateObjectData.getDate() + '-' + (this.dateObjectData.getMonth() + 1) + '-' + this.dateObjectData.getFullYear() + ' ' + this.oneTimeStartTime,\r\n 'DD-MM-YYYY hh:mm a'\r\n ).unix();\r\n this.oneTimeSelected = moment(timeStamp * 1000).format('YYYY~MM~DDTHH:mm:ssZ').split('T')[0]\r\n console.log('timeStamp', timeStamp, this.oneTimeSelected);\r\n this.getOneTimeFrequency();\r\n \r\n}\r\n\r\ndateChange(event: any) {\r\n\r\n this.selectedDate = event.date;\r\n const newDate = moment(event.date).unix();\r\n\r\n this.dateObjectData = new Date(newDate * 1000);\r\n this.todayDate = this.dateObjectData;\r\n let timeStamp = moment(\r\n this.dateObjectData.getDate() + '-' + (this.dateObjectData.getMonth() + 1) + '-' + this.dateObjectData.getFullYear() + ' ' + this.oneTimeStartTime,\r\n 'DD-MM-YYYY hh:mm a'\r\n ).unix();\r\n // tslint:disable-next-line: no-console\r\n console.log('timeStamp', timeStamp, Date.now() / 1000, Date.now() / 1000 > timeStamp);\r\n this.oneTimeSelected = event.date.format('YYYY~MM~DDTHH:mm:ssZ').split('T')[0]\r\n \r\n // tslint:disable-next-line: no-console\r\n console.log(event.date.format('YYYY~MM~DDTHH:mm:ssZ'));\r\n this.getOneTimeFrequency();\r\n\r\n}\r\n\r\n getOneTimeFrequency() {\r\n if (this.oneTimeSelected !== '') {\r\n this.todayDate = moment(this.todayDate).toDate();\r\n }\r\n this.selectedDate = moment(this.todayDate)\r\n // tslint:disable-next-line: max-line-length\r\n this.frequencyInfo.placeholder =\r\n 'One Time ' + this.todayDate.getDate() + ' ' + this.shortMonth[this.todayDate.getMonth()] + ' ' + this.todayDate.getFullYear() + ' by ' + this.oneTimeStartTime;\r\n this.frequencyInfo.pattern =\r\n 0 + '~' + (this.oneTimeSelected === '' ? new Date().getFullYear() + '~' + (new Date().getMonth() + 1) + '~' + new Date().getDate() : this.oneTimeSelected);\r\n this.frequencyInfo.case = 'oneTime';\r\n this.frequencyInfo.failedAfter = this.oneTimeFailed;\r\n this.frequencyInfo.window = this.oneTimeWindow;\r\n this.frequencyInfo.timeIn12hr = this.oneTimeStartTime;\r\n this.frequencyInfo.timeIn24Hr = this.frequencyService.timeFrom12hTo24h(this.oneTimeStartTime);\r\n this.frequencyInfo.failed_time_utc = 0;\r\n this.frequencyInfo.reportId = 0;\r\n this.frequencyDetails.emit(this.frequencyInfo);\r\n console.log(\" this.frequencyInfo ==>\", this.frequencyInfo);\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FrequencyService } from \"../frequency.service\";\r\nimport * as moment from \"moment\";\r\n\r\n\r\n@Component({\r\n selector: 'app-frequency-random',\r\n templateUrl: './frequency-random.component.html',\r\n styleUrls: ['./frequency-random.component.less']\r\n})\r\nexport class FrequencyRandomComponent implements OnInit {\r\n @Input() mode: any='';\r\n\r\n //0: weekly 1: monthly 2:quarterly 3: yearly\r\n\r\n monthNameArray: Array<any> = [];\r\n selectedMonthly: Array<number> = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n randomTypeMax = [3, 10, 30, 90];\r\n randomType = ['Weekly', 'Monthly', 'Quarterly', 'Yearly'];\r\n randomInstances = 0;\r\n defaultRandomInstance = [2, 5, 15, 45];\r\n randomlyDay = new Date().getDate();\r\n randomlyLifeCycleStart = new Date();\r\n randomlyLifeCycleEndTime = new Date(this.randomlyLifeCycleStart.getTime() + 86400000);\r\n randomlyLifecycleOccurance = 10;\r\n randomlySeletedLifecycleType = 2;\r\n randomTypeSelected = 0;\r\n randomWindow = 2;\r\n randomFailed = 2;\r\n randomMonthSelected = [];\r\n randomQuarterlySelected = 1;\r\n quarterlyGroup = [0, 3, 6, 9, 1, 4, 7, 10, 2, 5, 8, 11];\r\n randomTypeInstances = [2, 5, 15, 45]\r\n frequencyInfo: any;\r\n shortMonth: Array<string> = [];\r\n quarterlyMonth: Array<string> = [];\r\n\r\n @Input() startDate = Math.floor(Date.now() / 1000);\r\n @Input() frequencyData: any;\r\n lifecycleDetails: any = '0000-00-00~~0';\r\n\r\n @Output() frequencyDetails = new EventEmitter<any>();\r\n\r\n constructor( private frequencyService: FrequencyService) { }\r\n\r\n ngOnInit(): void {\r\n this.monthNameArray = [...new Set(this.frequencyService.monthArray)];\r\n this.quarterlyMonth = [...new Set(this.frequencyService.quarterlyMonth)];\r\n this.shortMonth = this.frequencyService.monthArray.map((month: string) => month.substring(0, 3));\r\n const indexOfMonth = this.quarterlyGroup.indexOf(new Date().getMonth());\r\n this.randomQuarterlySelected = indexOfMonth < 4 ? 0 : indexOfMonth > 3 && indexOfMonth < 8 ? 1 : 2;\r\n this.frequencyInfo = Object.assign(this.frequencyService.frequencyInfo);\r\n console.log(\"this.frequencyData ==>\", this.frequencyData)\r\n if(this.frequencyData.pattern != '' && parseInt(this.frequencyData.pattern.split('~')[0]) === 8) {\r\n this.populateFrequency();\r\n } else {\r\n this.getRandomInstances();\r\n }\r\n this.getRandomFrequency();\r\n }\r\n\r\n getRandomInstances() {\r\n this.randomInstances = this.randomTypeInstances[this.randomTypeSelected]\r\n }\r\n\r\n populateFrequency() {\r\n const frequencySelected = this.frequencyData.pattern.split('~');\r\n const lifecycleInfo = this.frequencyData.lifecycle.split('~~');\r\n this.randomWindow = this.frequencyData.window;\r\n this.randomFailed = this.frequencyData.failed;\r\n this.randomInstances = parseInt(frequencySelected[3]);\r\n this.randomTypeSelected = parseInt(frequencySelected[1]) - 1;\r\n console.log('this.randomTypeSelected', this.randomTypeSelected);\r\n console.log('frequencySelected', frequencySelected);\r\n if (this.randomTypeSelected === 1) {\r\n this.selectedMonthly = frequencySelected[2].split(',').map((ele: any) => parseInt(ele) - 1);\r\n }\r\n if (this.randomTypeSelected == 2) {\r\n const monthRandom = parseInt(frequencySelected[2].split(',')[0]);\r\n const indexRandom = this.quarterlyGroup.indexOf(monthRandom - 1);\r\n this.randomQuarterlySelected = indexRandom < 4 ? 0 : indexRandom > 3 && indexRandom < 8 ? 1 : 2;\r\n }\r\n this.randomlyLifeCycleStart = new Date(this.frequencyData.startDate * 1000);\r\n this.startDate = this.frequencyData.startFrom ?? this.frequencyData.startDate\r\n if(Number(lifecycleInfo[1]) > 0) {\r\n this.randomlyLifecycleOccurance = Number(lifecycleInfo[1]);\r\n }\r\n this.lifecycleDetails = this.frequencyData.lifecycle;\r\n if( lifecycleInfo[0] !== '0000-00-00') {\r\n const dateSelected = moment(lifecycleInfo[0] + ' 11:59 pm', 'DD-MMMM-YYYY HH:mm a').unix()\r\n this.randomlyLifeCycleEndTime = new Date(dateSelected * 1000);\r\n }\r\n if( this.frequencyData.lifecycle == '0000-00-00~~0') {\r\n this.randomlySeletedLifecycleType = 2;\r\n } else if(lifecycleInfo[0] !== '0000-00-00') {\r\n this.randomlySeletedLifecycleType = 0;\r\n } else {\r\n this.randomlySeletedLifecycleType = 1;\r\n }\r\n\r\n }\r\n\r\n onMonthSelected(event: any) {\r\n if (event.checked) {\r\n this.selectedMonthly.push(event.index);\r\n } else {\r\n this.selectedMonthly = this.selectedMonthly.filter((ele) => ele !== event.index);\r\n }\r\n this.getRandomFrequency();\r\n \r\n }\r\n\r\n \r\n onValueChange(event: any) {\r\n if (event.type === 'completed') {\r\n this.randomWindow = event.value;\r\n } else {\r\n this.randomFailed = event.value;\r\n }\r\n this.getRandomFrequency();\r\n}\r\n\r\n randomChecked(event: any) {\r\n console.log(\"evenet ==>\", event)\r\n this.randomTypeSelected = Number(event.target.value);\r\n this.getRandomInstances();\r\n console.log(\"evenet ==>\",event, this.randomTypeSelected)\r\n this.getRandomFrequency();\r\n }\r\n\r\n randomInstance(event: any, type: any) {\r\n if (\r\n !Number.isNaN(Number(event.target.value)) &&\r\n event.target.value !== '0' &&\r\n parseInt(event.target.value) > 0 &&\r\n parseInt(event.target.value) < this.randomTypeMax[type] + 1\r\n ) {\r\n } else {\r\n this.randomInstances = this.defaultRandomInstance[this.randomTypeSelected];\r\n }\r\n this.getRandomFrequency();\r\n }\r\n\r\n lifecycleChange(event: any) {\r\n console.log('event==>', event);\r\n\r\n switch (event.type) {\r\n case 0:\r\n this.lifecycleDetails = event.endsBy + '~~0';\r\n break;\r\n case 1:\r\n this.lifecycleDetails = '0000-00-00~~' + event.endafter;\r\n break;\r\n case 2:\r\n this.lifecycleDetails = '0000-00-00~~0';\r\n break;\r\n }\r\n if (event.startFrom.toString().length > 10) {\r\n this.startDate = Math.floor(event.startFrom / 1000);\r\n } else {\r\n this.startDate = Math.floor(event.startFrom);\r\n }\r\n let endByDate = Math.floor(new Date().getTime() / 1000 + 86400000);\r\n console.log('end date', endByDate);\r\n if (event.type === 0) {\r\n endByDate = event.endsBy ? moment(event.endsBy + ' 00:00:00', 'DD-MMM-YYYY HH:mm:ss').unix() : endByDate;\r\n console.log('endByDate', endByDate);\r\n \r\n }\r\n this.frequencyInfo.failed_time_utc = endByDate;\r\n this.getRandomFrequency();\r\n }\r\n\r\n selectedMonth(event: any) {\r\n console.log(\"event ==>\", event)\r\n // this.selectedQuarterly = parseInt(event.target.value);\r\n // this.getQuarterlyFrequency();\r\n this.getRandomFrequency();\r\n }\r\n\r\n randomQuarterlyChecked(event: any) {\r\n console.log('event', event);\r\n this.randomQuarterlySelected = Number(event.target.value);\r\n this.getRandomFrequency();\r\n }\r\n\r\n getRandomFrequency() {\r\n //0: weekly 1: monthly 2:quarterly 3: yearly\r\n let frequencyDetails;\r\n switch (this.randomTypeSelected) {\r\n \r\n case 0:\r\n frequencyDetails = this.getWeeklyFrequency();\r\n break;\r\n case 1:\r\n frequencyDetails = this.getMonthlyFrequency();\r\n break;\r\n case 2:\r\n frequencyDetails = this.getQuarterlyFrequency();\r\n break;\r\n case 3:\r\n frequencyDetails = this.getYearlyFrequency();\r\n break;\r\n }\r\n this.frequencyInfo.pattern = frequencyDetails?.pattern;\r\n this.frequencyInfo.placeholder = frequencyDetails?.placeholder;\r\n this.frequencyInfo.case = 'randomly';\r\n this.frequencyInfo.failedAfter = this.randomFailed;\r\n this.frequencyInfo.window = this.randomWindow;\r\n this.frequencyInfo.lifecycleDetails = this.lifecycleDetails;\r\n this.frequencyInfo.startFrom = this.startDate;\r\n this.frequencyDetails.emit(this.frequencyInfo);\r\n console.log(\" this.frequencyInfo ==>\", this.frequencyInfo);\r\n }\r\n\r\n getWeeklyFrequency(){\r\n return {\r\n pattern: 8 + '~' + 1 + '~' + 0 + '~' + this.randomInstances,\r\n placeholder: 'Every week for ' + this.randomInstances + ' random instances'\r\n }\r\n }\r\n\r\n getMonthlyFrequency() {\r\n console.log(\"this.selectedMonthly ==>\", this.selectedMonthly)\r\n this.selectedMonthly = this.selectedMonthly.sort((n1, n2) => n1 - n2);\r\n console.log('this.randomMonthSelected', this.randomMonthSelected);\r\n const selectedMonth = this.selectedMonthly.map((ele) => {\r\n return this.shortMonth[ele];\r\n });\r\n const monthIndex = this.selectedMonthly.map((ele) => ele + 1);\r\n console.log('monthIndex', monthIndex);\r\n return {\r\n pattern: 8 + '~' + 2 + '~' + monthIndex.join(',') + '~' + this.randomInstances,\r\n placeholder: 'Every ' + selectedMonth.join(', ') + ' for ' + this.randomInstances + ' random instances'\r\n }\r\n }\r\n\r\n \r\n\r\n getQuarterlyFrequency() {\r\n let monthSequence = this.randomQuarterlySelected === 0 ? this.quarterlyGroup.slice(0, 4): this.randomQuarterlySelected === 1 ? this.quarterlyGroup.slice(4, 8) : this.quarterlyGroup.slice(8);\r\n console.log(\"monthSequence ==>\", monthSequence, this.quarterlyMonth, this.randomQuarterlySelected)\r\n monthSequence = monthSequence.map((ele) => ele + 1);\r\n return {\r\n pattern: 8 + '~' + 3 + '~' + monthSequence + '~' + this.randomInstances,\r\n placeholder: 'Every ' + this.quarterlyMonth[this.randomQuarterlySelected] + ' for ' + this.randomInstances + ' random instances'\r\n }\r\n }\r\n\r\n getYearlyFrequency() {\r\n return {\r\n pattern: 8 + '~' + 4 + '~1,2,3,4,5,6,7,8,9,10,11,12~' + this.randomInstances,\r\n placeholder: 'Every year for ' + this.randomInstances + ' random instances'\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FrequencyService } from \"../frequency.service\";\r\nimport * as moment from 'moment';\r\nimport { elementAt } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-frequency-on-completion-of',\r\n templateUrl: './frequency-on-completion-of.component.html',\r\n styleUrls: ['./frequency-on-completion-of.component.less']\r\n})\r\nexport class FrequencyOnCompletionOfComponent implements OnInit {\r\n @Input() mode: any='';\r\n\r\n onCompletionOfInput = 1;\r\n onCompletionOfWindow = 3;\r\n onCompletionOfFailed = 5;\r\n onCompletionOfTime = '11:59 pm';\r\n onCompletionOfResponsibility: Array<any> = [];\r\n isLifecycleModified = false;\r\n selectedResponsibility = 0;\r\n placeholder = 'Loading...';\r\n frequencyInfo: any;\r\n selectedResponsibilityDetails: any\r\n\r\n @Input() startDate = Math.floor(Date.now() / 1000);\r\n @Input() frequencyData: any;\r\n lifecycleDetails: any = '0000-00-00~~0';\r\n\r\n @Output() frequencyDetails = new EventEmitter<any>();\r\n\r\n constructor(private frequencyService: FrequencyService) { }\r\n\r\n ngOnInit(): void {\r\n this.getCompletionReports();\r\n this.frequencyInfo = Object.assign(this.frequencyService.frequencyInfo);\r\n console.log(\"this.frequencyData ==>\", this.frequencyData)\r\n this.getOnCompletionFrequency();\r\n \r\n \r\n }\r\n\r\n populateFrequency() {\r\n const frequencySelected = this.frequencyData.pattern.split('~')\r\n this.onCompletionOfInput = parseInt(frequencySelected[3]);\r\n this.onCompletionOfFailed = this.frequencyData.failed;\r\n this.onCompletionOfWindow = this.frequencyData.window;\r\n this.onCompletionOfTime = this.frequencyData.failedTime\r\n this.selectedResponsibilityDetails = this.onCompletionOfResponsibility.find((res : any) => res.ReportId === this.frequencyData.selectedReport);\r\n this.getOnCompletionFrequency();\r\n\r\n\r\n }\r\n\r\n onTimeChanged(event:string) {\r\n console.log(event);\r\n \r\n this.onCompletionOfTime = event;\r\n this.getOnCompletionFrequency();\r\n \r\n }\r\n\r\n onValueChange(event: any) {\r\n if (event.type === 'completed') {\r\n this.onCompletionOfWindow = event.value;\r\n } else {\r\n this.onCompletionOfFailed = event.value;\r\n }\r\n this.getOnCompletionFrequency();\r\n}\r\n\r\nonResponsibilitySelection(event: any) {\r\n console.log(\"event ==>\", event, this.selectedResponsibilityDetails)\r\n if(typeof(this.selectedResponsibilityDetails) === 'object') {\r\n console.log(\"eeeeee\")\r\n //this.selectedResponsibilityDetails = event;\r\n this.frequencyInfo.reportId = this.selectedResponsibilityDetails?.ReportId;\r\n } else {\r\n console.log(\"eeeeewwwwwwe\")\r\n this.frequencyInfo.reportId = 0;\r\n }\r\n this.getOnCompletionFrequency();\r\n \r\n}\r\n\r\n getCompletionReports() {\r\n this.selectedResponsibility = -1;\r\n this.frequencyService.getOnCompletionOfResponsibility().subscribe((res: Array<any>) => {\r\n this.selectedResponsibility = 0;\r\n this.placeholder = 'Select a Responsibility';\r\n this.onCompletionOfResponsibility = res;\r\n console.log(\"this.frequencyData\",this.frequencyData)\r\n if(this.frequencyData.pattern != '' && parseInt(this.frequencyData.pattern.split('~')[0]) === 6) {\r\n this.populateFrequency();\r\n }\r\n \r\n console.log(\"on copletion responsibility\", res)\r\n })\r\n }\r\n\r\n inputValueChange(event: any) {\r\n this.onCompletionOfInput = Number(event.target.value);\r\n if( this.onCompletionOfInput < 1) {\r\n this.onCompletionOfInput = 1;\r\n }\r\n this.getOnCompletionFrequency();\r\n console.log(\"event ==>\", event)\r\n }\r\n\r\n getOnCompletionFrequency() {\r\n\r\n this.frequencyInfo.placeholder =\r\n this.onCompletionOfInput +\r\n ' ' +\r\n (this.onCompletionOfInput > 1 ? 'days' : 'day') +\r\n ' after completion of ' +\r\n (this.onCompletionOfResponsibility && (this.selectedResponsibilityDetails?.report_name) ? (this.selectedResponsibilityDetails?.report_name) : '');\r\n this.frequencyInfo.pattern = 6 + '~' + '0' + '~' + '0' + '~' + this.onCompletionOfInput;\r\n this.frequencyInfo.case = 'onCompletionOf';\r\n this.frequencyInfo.failedAfter = this.onCompletionOfFailed;\r\n this.frequencyInfo.window = this.onCompletionOfWindow;\r\n this.frequencyInfo.timeIn12hr = this.onCompletionOfTime;\r\n this.frequencyInfo.timeIn24Hr = this.frequencyService.timeFrom12hTo24h(this.onCompletionOfTime);\r\n this.frequencyInfo.failed_time_utc = 0;\r\n this.frequencyInfo.reportId = this.selectedResponsibilityDetails?.ReportId ?? 0;\r\n this.frequencyDetails.emit(this.frequencyInfo);\r\n console.log(\" this.frequencyInfo ==>\", this.frequencyInfo);\r\n }\r\n\r\n \r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FrequencyService } from \"../frequency.service\";\r\n@Component({\r\n selector: 'app-frequency-ongoing',\r\n templateUrl: './frequency-ongoing.component.html',\r\n styleUrls: ['./frequency-ongoing.component.less']\r\n})\r\nexport class FrequencyOngoingComponent implements OnInit {\r\n\r\n @Input() selectedType = 0; // selected type\r\n @Input() selectedOngoingType = 2; // default month selected;\r\n @Input() frequencyData: any;\r\n\r\n ongoingType = ['Week', 'Month', 'Quarter'];\r\n frequencyInfo: any\r\n\r\n @Input() startDate = Math.floor(Date.now() / 1000);\r\n lifecycleDetails: any = '0000-00-00~~0';\r\n\r\n @Output() frequencyDetails = new EventEmitter<any>();\r\n\r\n constructor(private frequencyService: FrequencyService) { }\r\n\r\n ngOnInit(): void {\r\n this.frequencyInfo = Object.assign(this.frequencyService.frequencyInfo);\r\n console.log(\"this.frequencyData ==>\", this.frequencyData)\r\n if(this.frequencyData.pattern != '' && parseInt(this.frequencyData.pattern.split('~')[0]) === 10) {\r\n this.populateFrequency();\r\n }\r\n this.getOngoingFrequency();\r\n }\r\n\r\n populateFrequency() {\r\n const frequencySelected = this.frequencyData.pattern.split('~')\r\n this.selectedType = parseInt(frequencySelected[1]);\r\n this.selectedOngoingType = parseInt(frequencySelected[2]) === 0 ? 2 : parseInt(frequencySelected[2]);\r\n }\r\n\r\n onSelected(event: any) {\r\n console.log(\"event ==>\", event)\r\n this.selectedType = Number(event.target.value);\r\n this.getOngoingFrequency();\r\n }\r\n\r\n onSelectedOnGoingType(event: any) {\r\n this.selectedOngoingType = Number(event.target.value);\r\n this.getOngoingFrequency();\r\n }\r\n\r\n getOngoingFrequency() {\r\n this.frequencyInfo.placeholder = 'You have selected an ongoing frequency.';\r\n this.frequencyInfo.pattern = 10 + '~' + this.selectedType + '~' + (this.selectedType ? this.selectedOngoingType : 0) + '~0';\r\n this.frequencyInfo.case = 'onGoing';\r\n this.frequencyInfo.failedAfter = 0;\r\n this.frequencyInfo.window = 0;\r\n this.frequencyInfo.timeIn12hr = '11:59 pm';\r\n this.frequencyInfo.timeIn24Hr = this.frequencyService.timeFrom12hTo24h('11:59 pm');\r\n this.frequencyInfo.failed_time_utc = 0;\r\n this.frequencyInfo.reportId = 0;\r\n this.frequencyDetails.emit(this.frequencyInfo);\r\n console.log(\" this.frequencyInfo ==>\", this.frequencyInfo);\r\n }\r\n\r\n}\r\n","\r\n\r\n import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n import * as moment from 'moment';\r\n @Component({\r\n selector: 'app-frequency-top',\r\n templateUrl: './frequency-top.component.html',\r\n styleUrls: ['./frequency-top.component.less']\r\n })\r\n export class FrequencyTopComponent implements OnInit {\r\n @Input() occurrenceFirst = 0;\r\n @Input() id = 0; // 0 = Daily, 1: weekly, 5: Annually\r\n @Input() inputTime = '11:59 pm';\r\n @Input() frequencyType = 0; // 0 = days, 1 = weeks & 2 = years\r\n @Input() yearlyDay = new Date().getDate();\r\n \r\n @Output() valueChangedFirst: EventEmitter<any> = new EventEmitter();\r\n @Output() nextDisable: EventEmitter<any> = new EventEmitter();\r\n @Output() timeChanged: EventEmitter<any> = new EventEmitter();\r\n @Output() yearlyDateChanged: EventEmitter<any> = new EventEmitter();\r\n \r\n todayDate = new Date();\r\n dateObjectData = new Date();\r\n timeData = '11:59 pm';\r\n constructor() { }\r\n \r\n ngOnInit(): void {\r\n }\r\n \r\n enterValueFirst(event:any, actionType:string) {\r\n if(this.id !== 0 && this.id !== 1 && this.id !== 5) {\r\n this.enterValue(this.occurrenceFirst,actionType);\r\n return;\r\n }\r\n if (!Number.isNaN(Number(this.occurrenceFirst)) && this.occurrenceFirst !== 0 && Number(this.occurrenceFirst) > 0) {\r\n this.occurrenceFirst = Number(this.occurrenceFirst);\r\n this.valueChangedFirst.emit({\r\n type: actionType,\r\n value: Number(this.occurrenceFirst),\r\n pageName: '',\r\n });\r\n } else {\r\n this.occurrenceFirst = 1;\r\n }\r\n }\r\n\r\n enterValue(event: any, actionType: any) {\r\n if (!Number.isNaN(Number(event)) && event !== 0 && Number(event) > 0 && Number(event) < 32) {\r\n this.occurrenceFirst = Number(event); \r\n this.valueChangedFirst.emit({\r\n type: actionType,\r\n value: Number(event),\r\n pageName: '',\r\n });\r\n } else {\r\n this.occurrenceFirst = new Date().getDate();\r\n }\r\n }\r\n \r\n getToday(): string {\r\n return moment(Date.now()).format('YYYY-MM-DD HH:mm:ss')?.split(' ')[0];\r\n }\r\n\r\n onTimeChanged(event:string) {\r\n try {\r\n this.timeData = event;\r\n if (typeof this.dateObjectData == 'object') {\r\n this.dateObjectData = moment(this.dateObjectData).toDate();\r\n }\r\n let timeStamp = moment(\r\n this.dateObjectData.getDate() + '-' + (this.dateObjectData.getMonth() + 1) + '-' + this.dateObjectData.getFullYear() + ' ' + this.timeData,\r\n 'DD-MM-YYYY hh:mm a'\r\n ).unix();\r\n if (Date.now() / 1000 > timeStamp) {\r\n this.nextDisable.emit(true);\r\n } else {\r\n this.nextDisable.emit(false);\r\n }\r\n this.timeChanged.emit(event);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n enterYearDay(event: any) {\r\n if (!Number.isNaN(Number(this.yearlyDay)) && this.yearlyDay !== 0 && Number(this.yearlyDay) > 0 && Number(this.yearlyDay) < 32) {\r\n //this.yearlyDay = Number(event.target.value);\r\n this.yearlyDateChanged.emit(\r\n this.yearlyDay\r\n );\r\n } else {\r\n this.yearlyDay = new Date().getDate();\r\n }\r\n }\r\n\r\n \r\n }\r\n \r\n\r\n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter, SimpleChanges, OnChanges, DoCheck } from '@angular/core';\r\nimport { DatePickerComponent } from 'ng2-date-picker';\r\nimport * as moment from 'moment';\r\nimport { FrequencyService } from '../frequency.service';\r\n\r\n@Component({\r\n selector: 'app-frequency-lifecycle',\r\n templateUrl: './frequency-lifecycle.component.html',\r\n styleUrls: ['./frequency-lifecycle.component.less']\r\n})\r\nexport class FrequencyLifecycleComponent implements OnInit, OnChanges, DoCheck {\r\n\r\n @ViewChild('datePicker') datePicker!: DatePickerComponent;\r\n @ViewChild('datePicker1') datePicker1!: DatePickerComponent;\r\n\r\n\r\n datePickerOverlay = false;\r\n showDateError = false;\r\n startDateUnix = Date.now();\r\n endDateObject: any;\r\n startDateConfig: any;\r\n endDateConfig: any;\r\n\r\n // All input variable\r\n @Input() startDate = new Date();\r\n @Input() endDate = moment(new Date(this.startDate).getTime() + 86400000);\r\n @Input() endBy: any;\r\n @Input() occurrance = 10;\r\n @Input() selectedLifecycleType = 2; // 0 = End by , End After, 2 = perpetual\r\n @Input() id = 0;\r\n\r\n // lifecycle output \r\n @Output() selectedOccurance = new EventEmitter<any>();\r\n \r\n\r\n constructor( private frequencyService: FrequencyService) { }\r\n\r\n ngOnInit(): void {\r\n this.startDateConfig = Object.assign({...this.frequencyService.dateConfig});\r\n this.endDateConfig = Object.assign({...this.frequencyService.dateConfig});\r\n this.startDateConfig['min'] = new Date().getDate().toString();\r\n //this.startDateUnix = this.startDate.getDate().toString()\r\n this.endDateConfig['min'] = moment(new Date(new Date(this.startDate).getTime() + 86400000))\r\n this.getEndDate(this.startDate)\r\n this.changeEndDateObj(this.endDate);\r\n console.log(\"endDate ==>\", this.endDate)\r\n }\r\n\r\n getEndDate(event: any) {\r\n const time = moment(this.endDate).format(\"DD-MM-YYYY HH:mm:ss\");\r\n const getUnixTime = moment(time.split(' ')[0] + \" 00:00:00\", \"DD-MM-YYYY HH:mm:ss\").unix()\r\n console.log(\"end date ==>time\", time, getUnixTime)\r\n this.startDateUnix = moment(event).unix();\r\n console.log(\" this.startDateUnix ==>\", this.startDate, this.startDateUnix)\r\n if (this.startDateUnix >= getUnixTime) { \r\n this.endDate = moment(new Date(this.startDate).getTime() + 86400000)\r\n } else {\r\n this.endDate = moment(this.endDate)\r\n }\r\n\r\n }\r\n\r\n changeEndDateObj(date: any) {\r\n this.endDateObject = new Date(moment(date).unix() * 1000);\r\n }\r\n\r\n ngOnChanges(change: SimpleChanges) {\r\n console.log(\"changes ==>\", change, this.selectedLifecycleType)\r\n this.endBy = moment(this.endDate).format('DD-MMMM-YYYYTHH:mm:ssZ').split('T')[0];\r\n }\r\n\r\n ngDoCheck() {\r\n // console.log(\"this.endDate ==> DoCcheck\", this.endDate, this.startDate)\r\n }\r\n\r\n openDatePicker() {\r\n \r\n const newDate = moment(this.startDate)\r\n console.log(\"newDate ==>\", newDate)\r\n this.datePicker.api.moveCalendarTo(newDate) \r\n this.datePicker.api.open(); \r\n this.datePickerOverlay = true;\r\n }\r\n openDatePicker1() {\r\n console.log(\"end date ==>\", this.endDate)\r\n this.datePicker1.api.moveCalendarTo(this.endDate) \r\n this.datePicker1.api.open();\r\n \r\n this.datePickerOverlay = true;\r\n }\r\n closeDatepicker() {\r\n this.datePicker.api.close();\r\n this.datePicker1.api.close();\r\n this.datePickerOverlay = false;\r\n }\r\n\r\n // lifecycle type\r\n typeSelected(event:any) {\r\n this.selectedLifecycleType = event;\r\n this.selectedOccurance.emit({\r\n type: event,\r\n endsBy: this.endBy,\r\n endafter: this.occurrance,\r\n startFrom: this.startDateUnix,\r\n });\r\n return this.selectedLifecycleType;\r\n }\r\n\r\n // ends after selection\r\n endsAfter(event: any) {\r\n console.log('lifecycle occurrance', event);\r\n if ( !Number.isNaN(Number(this.occurrance)) && this.occurrance !== 0 && Number(this.occurrance) > 0) {\r\n console.log('IN');\r\n this.selectedOccurance.emit({\r\n type: this.selectedLifecycleType,\r\n endsBy: this.endBy,\r\n endafter: this.occurrance,\r\n startFrom: this.startDateUnix,\r\n });\r\n } else {\r\n console.log('outt');\r\n this.occurrance = 10;\r\n }\r\n return this.occurrance \r\n }\r\n\r\n // End by change\r\n endByChange(event: any) {\r\n console.log(\" On select ==>\", event)\r\n this.datePicker1.api.open();\r\n this.datePickerOverlay = true;\r\n this.endDate = event.date;\r\n this.changeEndDateObj(this.endDate);\r\n // console.log(event, ); \r\n this.endBy = moment(event.date).format('DD-MMMM-YYYY');\r\n // console.log(this.endBy);\r\n const dateObject = {\r\n type: this.selectedLifecycleType,\r\n endsBy: this.endBy,\r\n endafter: this.occurrance,\r\n startFrom: this.startDateUnix,\r\n };\r\n console.log(\"dateObject ==>\", dateObject);\r\n this.selectedOccurance.emit(dateObject);\r\n // return this.endBy\r\n }\r\n\r\n // start from change event\r\n startFromChange(event: any) {\r\n console.log(\" start date change\", event, this.endDate)\r\n const time = moment(this.endDate).format(\"DD-MM-YYYY HH:mm:ss\");\r\n const getUnixTime = moment(time.split(' ')[0] + \" 00:00:00\", \"DD-MM-YYYY HH:mm:ss\").unix()\r\n console.log(\"end date ==>time\", time, getUnixTime)\r\n this.startDateUnix = moment(event.date).unix();\r\n console.log(\" this.startDateUnix ==>\", this.startDate, this.startDateUnix)\r\n if (this.startDateUnix >= getUnixTime) {\r\n this.endDate = moment((this.startDateUnix * 1000) + 86400000);\r\n \r\n this.changeEndDateObj(this.endDate);\r\n console.log(\"this.endDate ==>\", this.endDate, this.startDate)\r\n this.endBy = moment(this.endDate).format('DD-MMMM-YYYYTHH:mm:ssZ').split('T')[0];\r\n }\r\n this.endDateConfig['min'] = Object.assign( moment( new Date(new Date(event.date).getTime() + 86400000)));\r\n console.log(\"this.endDateConfig ==>\", this.endDateConfig)\r\n this.selectedOccurance.emit({\r\n type: this.selectedLifecycleType,\r\n endsBy: this.endBy,\r\n endafter: this.occurrance,\r\n startFrom: this.startDateUnix,\r\n });\r\n \r\n }\r\n\r\n endDateModelChange(event: any) {\r\n console.log(\"endDateModelChange ==>\", event)\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-frequency-due-date',\r\n templateUrl: './frequency-due-date.component.html',\r\n styleUrls: ['./frequency-due-date.component.less']\r\n})\r\nexport class FrequencyDueDateComponent implements OnInit {\r\n\r\n constructor() { }\r\n @Input() mode='';\r\n\r\n defaultWindow: number = 0;;\r\n defaultFailed: number = 0;;\r\n defaultDeactivate: number = 0;;\r\n\r\n @Input() completedRequired = true; // when completed required\r\n @Input() notCompletedRequired = true; // when not completed required\r\n @Input() completedValue = 2; // take input for completed\r\n @Input() notCompletedValue = 2; // take input for not completed\r\n @Input() deactivateValue = 15;\r\n @Input() isDeactivated = false;\r\n @Input() id = 0;\r\n @Input() pageName = '';\r\n\r\n @Output() valueChange: EventEmitter<any> = new EventEmitter();\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onValueChange(event: any, actionType: any) {\r\n if (!Number.isNaN(Number(event.target.value)) && parseInt(event.target.value) > -1) {\r\n console.log({\r\n type: actionType,\r\n value: Number(event.target.value),\r\n pageName: this.pageName,\r\n }, \"dsdsdsdsdsd\")\r\n this.valueChange.emit({\r\n type: actionType,\r\n value: Number(event.target.value),\r\n pageName: this.pageName,\r\n });\r\n } else {\r\n if (actionType === 'completed') {\r\n this.completedValue = this.defaultWindow;\r\n } else if (actionType === 'not completed') {\r\n this.notCompletedValue = this.defaultFailed;\r\n } else if (actionType === 'deactivated') {\r\n this.deactivateValue = this.defaultDeactivate;\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-frequency-checkbox-list',\r\n templateUrl: './frequency-checkbox-list.component.html',\r\n styleUrls: ['./frequency-checkbox-list.component.less']\r\n})\r\nexport class FrequencyCheckboxListComponent implements OnInit {\r\n\r\n @Input() id = -1;\r\n @Input() listArray: Array<string> = [];\r\n @Input() selectedIndex: Array<number> = [];\r\n noAnimation = true;\r\n \r\n @Output() selectedCheckbox = new EventEmitter<any>(); // {checked: true, index:0} checked : checkboxStatus, index: Index of list which checked/unchecked\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.noAnimation = false;\r\n }, 1000);\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-frequency-radio-list',\r\n templateUrl: './frequency-radio-list.component.html',\r\n styleUrls: ['./frequency-radio-list.component.less']\r\n})\r\nexport class FrequencyRadioListComponent implements OnInit {\r\n\r\n @Input() radioList = [];\r\n @Input() selectedIndex = -1;\r\n @Input() name = ''\r\n noAnimation = true;\r\n @Output() selectedRadio = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n console.log(\"selected Index, radio list\", this.selectedIndex);\r\n setTimeout(() => {\r\n this.noAnimation = false;\r\n }, 1000);\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FrequencyBulkService {\r\n public env !: any;\r\n constructor() { }\r\n shortHand_freqCal(frequency:any, day:any, month:any, year?:any) {\r\n const monthNames = [\r\n { value: 1, month: 'Jan' },\r\n { value: 2, month: 'Feb' },\r\n { value: 3, month: 'Mar' },\r\n { value: 4, month: 'Apr' },\r\n { value: 5, month: 'May' },\r\n { value: 6, month: 'Jun' },\r\n { value: 7, month: 'Jul' },\r\n { value: 8, month: 'Aug' },\r\n { value: 9, month: 'Sep' },\r\n { value: 10, month: 'Oct' },\r\n { value: 11, month: 'Nov' },\r\n { value: 12, month: 'Dec' },\r\n ];\r\n let frequency_details;\r\n const date_value = new Date();\r\n if(month){\r\n date_value.setMonth(typeof month !== 'number' ? monthNames.filter((x) => x.month === month?.substring(0, 3))[0]?.value - 1 : month);\r\n }\r\n if (!year) {\r\n if(month.includes(\"'\")){\r\n date_value.setFullYear(20 + month.split(\"'\")[1]);\r\n }\r\n } else {\r\n date_value.setFullYear(year);\r\n }\r\n if(day){\r\n date_value.setDate(day);\r\n }\r\n let quarterPattern = '~1,4,7,10~0';\r\n const firstHalfMonth = ['1', '2', '3', '4', '5', '6'];\r\n const secondHalfMonth = ['7', '8', '9', '10', '11', '12'];\r\n frequency = frequency.toLowerCase();\r\n\r\n switch (date_value.getMonth()) {\r\n case 0:\r\n case 3:\r\n case 6:\r\n case 9:\r\n quarterPattern = '~1,4,7,10~0';\r\n break;\r\n case 1:\r\n case 4:\r\n case 7:\r\n case 10:\r\n quarterPattern = '~2,5,8,11~0';\r\n break;\r\n case 2:\r\n case 5:\r\n case 8:\r\n case 11:\r\n quarterPattern = '~3,6,9,12~0';\r\n break;\r\n }\r\n const getDay = date_value.getDay() === 0 ? 7 : date_value.getDay();\r\n switch (frequency) {\r\n case 'every week':\r\n frequency_details = '2~' + getDay + '~0~1';\r\n break;\r\n case 'one time':\r\n frequency_details = '0~' + '' + date_value.getFullYear() + '~' + (date_value.getMonth() + 1) + '~' + date_value.getDate();\r\n break;\r\n case 'every day':\r\n frequency_details = '1~0~0~1';\r\n break;\r\n case 'every alternate day':\r\n frequency_details = '1~0~0~2';\r\n break;\r\n case 'every 10 days':\r\n frequency_details = '1~0~0~10';\r\n break;\r\n case 'every 2 weeks':\r\n frequency_details = '2~' + getDay + '~0~2';\r\n break;\r\n case 'every fortnight':\r\n frequency_details = '1~' + getDay + '~0~14';\r\n break;\r\n case 'every 3 weeks':\r\n frequency_details = '2~' + getDay + '~0~3';\r\n break;\r\n case 'every month':\r\n frequency_details = '3~' + date_value.getDate() + '~1,2,3,4,5,6,7,8,9,10,11,12~0';\r\n break;\r\n case 'every 45 days':\r\n frequency_details = '1~0~0~45';\r\n break;\r\n case 'every alternate month':\r\n frequency_details = '3~' + date_value.getDate() + '~' + ((date_value.getMonth() + 1) % 2 === 0 ? '2,4,6,8,10,12' : '1,3,5,7,9,11') + '~0';\r\n break;\r\n case 'every quarter':\r\n frequency_details = '7~' + date_value.getDate() + quarterPattern;\r\n break;\r\n case 'every 120 days':\r\n frequency_details = '1~0~0~120';\r\n break;\r\n case 'half yearly':\r\n const index1 = firstHalfMonth.indexOf((date_value.getMonth() + 1).toString());\r\n const index2 = secondHalfMonth.indexOf((date_value.getMonth() + 1).toString());\r\n const pattern = index1 > -1 ? '~' + firstHalfMonth[index1] + ',' + secondHalfMonth[index1] + '~0' : '~' + firstHalfMonth[index2] + ',' + secondHalfMonth[index2] + '~0';\r\n frequency_details = '3~' + date_value.getDate() + pattern;\r\n break;\r\n case 'annual':\r\n case 'yearly':\r\n frequency_details = '4~' + date_value.getDate() + '~' + (date_value.getMonth() + 1) + '~1';\r\n break;\r\n case 'every 2 years':\r\n frequency_details = '4~' + date_value.getDate() + '~' + (date_value.getMonth() + 1) + '~2';\r\n break;\r\n case 'every 3 years':\r\n frequency_details = '4~' + date_value.getDate() + '~' + (date_value.getMonth() + 1) + '~3';\r\n break;\r\n case 'every 4 years':\r\n frequency_details = '4~' + date_value.getDate() + '~' + (date_value.getMonth() + 1) + '~4';\r\n break;\r\n case 'every 5 years':\r\n frequency_details = '4~' + date_value.getDate() + '~' + (date_value.getMonth() + 1) + '~5';\r\n break;\r\n case 'every 10 years':\r\n frequency_details = '4~' + date_value.getDate() + '~' + (date_value.getMonth() + 1) + '~10';\r\n break;\r\n case 'ongoing':\r\n frequency_details = '10~0~0~0';\r\n break;\r\n case 'to be decided later':\r\n default:\r\n frequency_details = '5~0~0~0';\r\n }\r\n\r\n return frequency_details;\r\n }\r\n}\r\n\r\n\r\n\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, Input, Output, EventEmitter, SimpleChanges, OnChanges } from '@angular/core';\r\nimport { cloneDeep } from 'lodash-es';\r\nimport * as moment from 'moment';\r\nimport * as XLSX from 'xlsx';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\nimport { AddRiskService } from '../workflow-services/add-risk.service';\r\nimport { AuthService } from '../workflow-services/auth.service';\r\nimport { FrequencyBulkService } from '../workflow-services/frequency.service';\r\nimport { ResponsibilityService } from '../workflow-services/responsibility.service';\r\n\r\ntype AOA = any[][];\r\n\r\n@Component({\r\n selector: 'app-add-multiple-responsibility',\r\n templateUrl: './add-multiple-responsibility.component.html',\r\n styleUrls: ['./add-multiple-responsibility.component.less', '../forms.less'],\r\n})\r\nexport class AddMultipleResponsibilityComponent implements OnChanges {\r\n @Output() pickerChanged = new EventEmitter();\r\n @Output() populateOption = new EventEmitter();\r\n @Output() closeWorkflow = new EventEmitter();\r\n @Output() disconnectRefresh = new EventEmitter();\r\n isNotificationPending = 0;\r\n\r\n responsibilityBulkUpload: any = {\r\n header: [],\r\n reports: [],\r\n }\r\n\r\n templateInfo: any = {\r\n\r\n categoryList: [],\r\n rcList: [],\r\n assignorsList: [],\r\n assigneesList: [],\r\n memberId: ''\r\n }\r\n isLoader = false;\r\n showCategoryList = false;\r\n templateDownloaded = false;\r\n downloadInProgress = false;\r\n loader = false;\r\n isFileEmpty = false;\r\n isWrongFile = false;\r\n isWrongFormat = false;\r\n fileName: any;\r\n data: any;\r\n showExcel = false;\r\n uploadedFiles: any = [];\r\n fileResponse: any = [];\r\n fileValue: any;\r\n memberId = 0;\r\n organizationId = 0;\r\n errorMessage = \" invalid file error\"\r\n downloadStatus: string = 'NOT_DOWNLOADING';\r\n downloadPercent = 0;\r\n defaultOwner = ''\r\n smileyMessage = `You're All Set! We're processing your request and you will be notified via email upon completion.`;\r\n actionButtons = [\r\n { buttonText: 'Entrust More Responsibilities', class: 'white-btn', id: 'addMore' },\r\n { buttonText: (this.isNotificationPending) ? 'View Responsibilities In Queue' : 'View Responsibilities', class: 'blue-btn', id: 'view' },\r\n ];\r\n showSmiley = false;\r\n member_obj_id = '';\r\n riskClassEnabled: any;\r\n userInfo !: any;\r\n responsibilityData !: any;\r\n constructor(\r\n private riskService: AddRiskService,\r\n private responsibilityService: ResponsibilityService,\r\n private authService: AuthService,\r\n private frequencyService: FrequencyBulkService,\r\n private snackBar: SnackBarService\r\n ) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n\r\n }\r\n ngOnInit() {\r\n // const test = this.compareWithCurrentDate(1, \"July'21\") ;\r\n // debugger\r\n this.pickerChanged.emit(false);\r\n\r\n this.organizationId = this.authService.getOrganizationId();\r\n this.memberId = this.authService.getMemberId();\r\n this.member_obj_id = this.authService.getUserDetails()._id;\r\n this.userInfo = this.authService.getUserDetails().user;\r\n this.defaultOwner = (this.userInfo) ? this.userInfo.name + ' (' + this.userInfo.email + ')' : '';\r\n this.getUserDetails();\r\n this.authService.getOrganizationDetails().subscribe((res: any) => {\r\n this.riskClassEnabled = res.enable_riskclass\r\n });\r\n }\r\n\r\n triggerBrowseFile() {\r\n const getFile = document.getElementById('fileInput');\r\n if (getFile) {\r\n getFile.click();\r\n }\r\n }\r\n getUserDetails() {\r\n this.authService.getUserInfo().subscribe((res: any) => {\r\n this.isNotificationPending = res.notification_pending_flag;\r\n })\r\n }\r\n\r\n uploadedFile(event: any) {\r\n // this.testarray=[];\r\n try {\r\n\r\n this.responsibilityBulkUpload = {\r\n header: [],\r\n reports: [],\r\n }\r\n\r\n this.templateInfo = {\r\n categoryList: [],\r\n rcList: [],\r\n assignorsList: [],\r\n assigneesList: [],\r\n memberId: ''\r\n\r\n }\r\n this.uploadedFiles = [];\r\n const reference = document.querySelector('#scrollReference');\r\n if (reference) {\r\n reference.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n this.isFileEmpty = false;\r\n this.isWrongFile = false;\r\n this.isWrongFormat = false;\r\n this.fileName = event.target.files[0].name;\r\n this.uploadedFiles.push(event.target.files);\r\n const target: DataTransfer = event.target as DataTransfer;\r\n // tslint:disable-next-line: curly\r\n if (target.files.length !== 1) throw new Error('Cannot use multiple files');\r\n const reader: FileReader = new FileReader();\r\n reader.onload = (e: any) => {\r\n const bstr: string = e.target.result;\r\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\r\n const wsname: string = wb.SheetNames[0];\r\n const wsname1: string = wb.SheetNames[1];\r\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\r\n const tempData: XLSX.WorkSheet = wb.Sheets[wsname1];\r\n\r\n this.data = XLSX.utils.sheet_to_json(ws, {\r\n header: 1,\r\n }) as AOA;\r\n\r\n const tData = XLSX.utils.sheet_to_json(tempData, { header: 1 }) as AOA;\r\n const tempList = tData.filter((dataElement: any) => dataElement.length > 0);\r\n if (this.fileName.substr(-5) !== '.xlsx') {\r\n this.errorMessage = 'The incorrect file has been uploaded. Please upload the template which you downloaded from here.' + ' RETRY';\r\n this.isWrongFile = true;\r\n return;\r\n }\r\n\r\n this.responsibilityBulkUpload.header = cloneDeep(this.data[0].filter((dataElement: any) => dataElement.length > 0));\r\n this.responsibilityBulkUpload.header.splice(this.responsibilityBulkUpload.header.length - 1, 1)\r\n\r\n this.data = this.data.slice(2);\r\n if (this.responsibilityBulkUpload.header[0] !== 'Enter Responsibility Name*') {\r\n this.errorMessage = 'The incorrect file has been uploaded. Please upload the template which you downloaded from here.' + ' RETRY';\r\n this.isWrongFile = false;\r\n this.isWrongFormat = true;\r\n\r\n return;\r\n }\r\n this.templateInfo.memberId = tempList[0][25]\r\n\r\n if ((this.member_obj_id != this.templateInfo.memberId)) {\r\n this.errorMessage = 'The incorrect file has been uploaded. Please upload the template which you downloaded from here.' + ' RETRY';\r\n this.isWrongFile = true;\r\n return;\r\n }\r\n tempList.forEach((element) => {\r\n if (element[2] && element[2]!=' ') {\r\n const category = {\r\n name: element[2],\r\n category_id: element[3]\r\n }\r\n this.templateInfo.categoryList.push(category);\r\n }\r\n if (element[9] && element[9]!=' ') {\r\n const rc = {\r\n name: element[9],\r\n rc_id: element[10],\r\n parentIds: JSON.parse(element[13])\r\n }\r\n this.templateInfo.rcList.push(rc);\r\n }\r\n if (element[11] && element[11]!=' ') {\r\n const assignee = {\r\n nameAndEmail: element[11],\r\n name: element[11].split(' (')[0],\r\n email: element[11].split(' (')[1].replace(')', ''),\r\n employee_id: element[12],\r\n my_member_id: element[16]\r\n }\r\n this.templateInfo.assigneesList.push(assignee);\r\n }\r\n if (element[14] && element[14]!=' ') {\r\n const assignor = {\r\n nameAndEmail: element[14],\r\n name: element[14].split(' (')[0],\r\n email: element[14].split(' (')[1].replace(')', ''),\r\n member_id: element[15],\r\n }\r\n this.templateInfo.assignorsList.push(assignor);\r\n }\r\n\r\n });\r\n const isEmpty = this.checkEmptyFile();\r\n if (isEmpty) {\r\n this.errorMessage = 'You have uploaded a blank template. Please add details for all mandatory fields. RETRY';\r\n this.isFileEmpty = true;\r\n this.isWrongFile = false;\r\n this.isWrongFormat = false;\r\n return;\r\n\r\n } else {\r\n\r\n this.isFileEmpty = false;\r\n this.isWrongFile = false;\r\n this.isWrongFormat = false;\r\n this.fileUpload();\r\n\r\n }\r\n const responsibilityData = this.data.filter((dataElement: any) => dataElement.length > 0);\r\n responsibilityData.forEach((report: any) => {\r\n const validDate = this.compareWithCurrentDate(report[5], report[6])\r\n const validFields = this.checkValidity(report);\r\n const validUser = this.returnIds(report[2], 'entrusted_to') ? true : false\r\n const obj: any = {\r\n responsibilityName: report[0] ?? '',\r\n assignor: report[1] ?? '',\r\n assignee: report[2] ?? '',\r\n responsibilityCategory: report[3] ?? '',\r\n frequency: report[4] ?? '',\r\n day: report[5] ?? '',\r\n month: report[6] ?? '',\r\n responsibilityWindow: report[7] ?? '',\r\n failedAfter: report[8] ?? '',\r\n reportClass: report[9] ?? '',\r\n responsibilityCenter: report[10] ?? '',\r\n reviewer: report[11] ?? '',\r\n reviewToBeCompletedWithin: report[12] ?? '',\r\n reviewWillBeFailedAfter: report[13] ?? '',\r\n formatForResponsibility: report[14] ?? '',\r\n notes: report[15] ?? '',\r\n documentEvidenceRequired: report[16] ?? '',\r\n alwaysNotify: report[17] ?? '',\r\n notifyOnFailure: report[18] ?? '',\r\n keyResponsibility: report[19] ?? '',\r\n objective: report[20] ?? '',\r\n\r\n isValidDueDate: validDate,\r\n isPastDate: this.isPastDate(report[5], report[6]),\r\n checkValidity: validFields,\r\n isValid: (validDate) && (validFields) && (validUser),\r\n isValidUser: (validUser)\r\n };\r\n this.responsibilityBulkUpload.reports.push(obj);\r\n });\r\n // console.log(this.responsibilityBulkUpload.reports)\r\n // console.log(this.testarray)\r\n this.isFileEmpty = false;\r\n this.isWrongFile = false;\r\n this.isWrongFormat = false;\r\n this.showExcel = true;\r\n this.fileValue = '';\r\n };\r\n reader.readAsBinaryString(target.files[0]);\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.error(e);\r\n }\r\n }\r\n checkEmptyFile() {\r\n let isEmpty = false;\r\n this.data = this.data.filter((dataElement: any) => dataElement.length > 0);\r\n if (this.data.length < 1) {\r\n isEmpty = true;\r\n }\r\n return isEmpty;\r\n }\r\n\r\n // testarray:any[]=[]\r\n\r\n checkValidity(report: any) {\r\n const re = /&nbsp;|<br>/g;\r\n if (report[0]) {\r\n var trimmedName = report[0].toString().replace(re, '').trim();\r\n trimmedName = trimmedName.replace(/ +/g, ' ');\r\n }\r\n\r\n /**\r\n * index key for\r\n *\r\n * report[1] On Behalf of user\r\n * report[11] Reviewer\r\n * report[17] Always Notify\r\n * report[18] Notify On Failure\r\n * report[2] Assignee\r\n * report[4] frequency\r\n * trimmedName Report name\r\n * defaultOwner Default Assignor\r\n */\r\n if ((!trimmedName) || (report[1] && ( (report[1] == report[17]) || (report[1] == report[18]))) ||\r\n ((!report[1]) && ( (this.defaultOwner == report[17]) || (this.defaultOwner == report[18]))) ||\r\n (report[2] && ((report[2] == report[11]) || (report[2] == report[17]) || (report[2] == report[18]))) ||\r\n ((!report[2]) && ((this.defaultOwner == report[17]) || (this.defaultOwner == report[18]))) ||\r\n (report[11] && ((report[11] == report[17]) || (report[11] == report[18])))\r\n || (!report[2]) || (!report[4])) {\r\n return false;\r\n } else { return true }\r\n }\r\n compareWithCurrentDate(day: any, month: any) {\r\n const currentDate = new Date();\r\n const monthNames = [\r\n { value: 1, month: 'Jan' },\r\n { value: 2, month: 'Feb' },\r\n { value: 3, month: 'Mar' },\r\n { value: 4, month: 'Apr' },\r\n { value: 5, month: 'May' },\r\n { value: 6, month: 'Jun' },\r\n { value: 7, month: 'Jul' },\r\n { value: 8, month: 'Aug' },\r\n { value: 9, month: 'Sep' },\r\n { value: 10, month: 'Oct' },\r\n { value: 11, month: 'Nov' },\r\n { value: 12, month: 'Dec' },\r\n ];\r\n\r\n if (!(day || month)) {\r\n return true;\r\n } else if (!(day && month)) {\r\n return false;\r\n } else {\r\n const monthAndYear = month.split(\"'\");\r\n\r\n const startDate = moment(day + '-' + monthAndYear[0] + '-' + 20 + monthAndYear[1] + ' 00:00:00', 'DD-MMMM-YYYY HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\r\n if (startDate == \"Invalid date\") {\r\n return false;\r\n }\r\n\r\n setTimeout(() => {\r\n\r\n }, 5);\r\n const date_value = new Date();\r\n\r\n date_value.setMonth(typeof month !== 'number' ? monthNames.filter((x) => x.month === month?.substring(0, 3))[0]?.value - 1 : month);\r\n date_value.setFullYear(Number(20 + month.split(\"'\")[1]));\r\n date_value.setDate(Number(day));\r\n // const reportDate = new Date(day + month.split(\"'\"));\r\n // console.log((currentDate.toJSON().split('T')[0])+\"&&\"+(date_value.toJSON().split('T')[0]))\r\n // debugger\r\n if (((currentDate.toJSON().split('T')[0]) != (date_value.toJSON().split('T')[0])) && (currentDate > date_value)) {\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n\r\n }\r\n }\r\n isPastDate(day: any, month: any) {\r\n const currentDate = new Date();\r\n\r\n const monthNames = [\r\n { value: 1, month: 'Jan' },\r\n { value: 2, month: 'Feb' },\r\n { value: 3, month: 'Mar' },\r\n { value: 4, month: 'Apr' },\r\n { value: 5, month: 'May' },\r\n { value: 6, month: 'Jun' },\r\n { value: 7, month: 'Jul' },\r\n { value: 8, month: 'Aug' },\r\n { value: 9, month: 'Sep' },\r\n { value: 10, month: 'Oct' },\r\n { value: 11, month: 'Nov' },\r\n { value: 12, month: 'Dec' },\r\n ];\r\n\r\n if (!(day || month)) {\r\n return false;\r\n } else if (!(day && month)) {\r\n return false;\r\n } else {\r\n // const reportDate = new Date(day + month.split(\"'\"));\r\n const date_value = new Date();\r\n date_value.setMonth(typeof month !== 'number' ? monthNames.filter((x) => x.month === month?.substring(0, 3))[0]?.value - 1 : month);\r\n date_value.setFullYear(Number(20 + month.split(\"'\")[1]));\r\n date_value.setDate(Number(day));\r\n if (currentDate > date_value) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n }\r\n\r\n downloadTemplate() {\r\n this.downloadStatus = 'DOWNLOADING';\r\n this.downloadPercent = 0;\r\n const downloadDate = new Date().toDateString().split(' ');\r\n const fileName = `Entrust Responsibilities-${downloadDate[2]}-${downloadDate[1]}-${downloadDate[3]}.xlsx`;\r\n\r\n this.riskService.downloadResponsibilityTemplate().subscribe(\r\n (data: any) => {\r\n if (data.loaded) {\r\n this.downloadPercent = 100 * (data.loaded / data.total);\r\n }\r\n if (data.body) {\r\n setTimeout(() => {\r\n this.downloadStatus = this.riskService.downLoadFile(data.body, 'application/xlsx', fileName);\r\n }, 1500);\r\n }\r\n\r\n }, (error) => {\r\n console.error(error);\r\n this.downloadStatus = 'DOWNLOADED';\r\n }\r\n );\r\n }\r\n\r\n submitResponsibilityBulkUpload() {\r\n this.loader = true;\r\n const payload: any = [];\r\n const frequencyTypeArray = ['1', '2', '3', '4', '7', '0'];\r\n const defaultWindow = [0, 2, 7, 30, 7, 15];\r\n const defaultFailedDay = [1, 2, 5, 5, 5, 5];\r\n\r\n this.responsibilityBulkUpload.reports.forEach((report: any) => {\r\n if (report.isValid) {\r\n const rcDetails: any = this.returnIds(report.responsibilityCenter, 'rc_id');\r\n const reviewerDetails: any = this.returnIds(report.reviewer, 'reviewer');\r\n const assignorDetails: any = (report.assignor) ? this.returnIds(report.assignor, 'assignor') : '';\r\n const ccDetails: any = this.returnIds(report.alwaysNotify, 'cc');\r\n const ccFailureDetails: any = this.returnIds(report.notifyOnFailure, 'ccFailure');\r\n const currentDate = moment().format('YYYY-MM-DD');\r\n\r\n const categoryName = (report.responsibilityCategory.includes('[WITHIN]')) ? report.responsibilityCategory.split(' [')[0] : report.responsibilityCategory\r\n const frequencyValue = this.frequencyService.shortHand_freqCal(report.frequency, report.day, report.month);\r\n const dateAndMonth = report.month.split(\"'\");\r\n const startDate = moment(report.day + '-' + dateAndMonth[0] + '-' + 20 + dateAndMonth[1] + ' 00:00:00', 'DD-MMMM-YYYY HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\r\n\r\n let completeDays;\r\n let notCompleteDays\r\n const frequencyType = frequencyValue.split('~')[0];\r\n if (report.responsibilityWindow !== '') {\r\n completeDays = report.responsibilityWindow;\r\n } else if (frequencyTypeArray.includes(frequencyType)) {\r\n const indexOfArray = frequencyTypeArray.indexOf(frequencyType);\r\n completeDays = defaultWindow[indexOfArray];\r\n }\r\n if (report.failedAfter !== '') {\r\n notCompleteDays = report.failedAfter;\r\n } else if (frequencyTypeArray.includes(frequencyType)) {\r\n const indexOfArray = frequencyTypeArray.indexOf(frequencyType);\r\n notCompleteDays = defaultFailedDay[indexOfArray];\r\n }\r\n const obj = {\r\n userId: this.templateInfo.memberId,\r\n organisation_id: this.organizationId,\r\n member_id: (assignorDetails) ? assignorDetails.memberId : this.memberId,\r\n member_name: (assignorDetails) ? ((report.assignor) ? report.assignor.split(' (')[0] : '') : ((this.defaultOwner) ? this.defaultOwner.split(' (')[0] : ''),\r\n member_email: (assignorDetails) ? ((report.assignor) ? report.assignor.split(' (')[1].replace(')', '') : '') : ((this.defaultOwner) ? this.defaultOwner.split(' (')[1].replace(')', '') : ''),\r\n created_by: (assignorDetails) ? this.memberId : 0,\r\n report_name: report.responsibilityName ?? '',\r\n entrusted_to: report.assignee.split(' (')[0] ?? '',\r\n entrusted_to_id: this.returnIds(report.assignee, 'entrusted_to'),\r\n email_address: report.assignee.split(' (')[1].replace(')', '') ?? '',\r\n category_name: categoryName,\r\n category_name_with_tree: '',\r\n category_id: this.returnIds(report.responsibilityCategory, 'category_id'),\r\n rc_name: rcDetails ? rcDetails.name : '',\r\n rc_id: rcDetails ? rcDetails.rcId : 0,\r\n entity_tree: (rcDetails && rcDetails.rcId ) ? [{\r\n parent_rc_ids: rcDetails ? rcDetails.parentIds : [],\r\n rc_id: rcDetails ? rcDetails.rcId : 0\r\n }]:[],\r\n frequency_handler: frequencyValue,\r\n compliance_type: frequencyValue.split('~')[0],\r\n frequency_description: report.frequency,\r\n start_date: (report.day) ? startDate : currentDate + ' 00:00:00',\r\n risk_class: report.reportClass ?? '',\r\n risk_classId: (report.reportClass) ? this.returnIds(report.reportClass, 'risk_class') : ((this.riskClassEnabled) ? 1 : 2),\r\n doc_utc: 0,\r\n comment: report.notes ?? '',\r\n cc_mail: ccDetails ? ccDetails.email : '',\r\n cc_mail_id: ccDetails ? ccDetails.employeeId : '',\r\n cc_failed_mail: ccFailureDetails ? ccFailureDetails.email : '',\r\n cc_failure_id: ccFailureDetails ? ccFailureDetails.employeeId : 0,\r\n send_reminder: \"\",\r\n responsibilityWindow: (frequencyType === '1') ? 0 : completeDays,\r\n failed_after: notCompleteDays,\r\n excel_sheet_name: \"\",\r\n report_upload_flag: (report.documentEvidenceRequired === 'Yes') ? 1 : 0,\r\n report_id: 0,\r\n is_assigned_flag: 0,\r\n private_library_id: 0,\r\n keycompliance: (report.keyResponsibility === 'Yes') ? 'Yes' : 'No',\r\n key_compliance: (report.keyResponsibility === 'Yes') ? 1 : 0,\r\n reviewerId: reviewerDetails ? reviewerDetails.employeeId : 0,\r\n reviewer_arr: ( reviewerDetails && reviewerDetails.employeeId )? {\r\n level1: {\r\n reviewers: [{\r\n member_id: reviewerDetails ? reviewerDetails.employeeId : 0,\r\n reviewer_accept: 0\r\n }],\r\n type: \"SEQUENTIAL\"\r\n }\r\n }:{}\r\n ,\r\n reviewerWindow: report.reviewToBeCompletedWithin === '' ? 2 : report.reviewToBeCompletedWithin,\r\n reviewerFailure: report.reviewWillBeFailedAfter === '' ? 2 : report.reviewWillBeFailedAfter,\r\n reviewer_email: reviewerDetails ? reviewerDetails.email : '',\r\n formatForResponsibility: report.formatForResponsibility ? report.formatForResponsibility : '',\r\n documentaryEvidence: report.notes ?? '',\r\n isdocumentaryEvidence: (report.documentEvidenceRequired === 'Yes') ? 1 : 0,\r\n objective: report.objective ?? '',\r\n excel_sheet_info: this.fileResponse,\r\n showList: false,\r\n custom_tags: '[]',\r\n\r\n }\r\n payload.push(obj);\r\n\r\n }\r\n });\r\n\r\n this.responsibilityService.addBulkResponsibility(payload).subscribe((res: any) => {\r\n this.loader = false;\r\n this.showExcel = false;\r\n this.showSmiley = true;\r\n this.responsibilityData = res;\r\n\r\n },\r\n err => {\r\n console.log(err);\r\n this.loader = false;\r\n this.showExcel = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n );\r\n }\r\n\r\n\r\n returnIds(item: any, key: string) {\r\n switch (key) {\r\n case 'rc_id':\r\n let rcObj = { name: '', rcId: 0, parentIds: [] };\r\n this.templateInfo.rcList.forEach((rc_element: any) => {\r\n if (rc_element.name == item) {\r\n let name;\r\n if (rc_element.name.includes('[WITHIN]')) {\r\n name = rc_element.name.split(' [WITHIN] ')[0]\r\n } else {\r\n name = rc_element.name;\r\n }\r\n rcObj = { name, rcId: rc_element.rc_id, parentIds: rc_element.parentIds };\r\n }\r\n });\r\n return rcObj\r\n break;\r\n case 'reviewer':\r\n let reviewerObj = { name: '', employeeId: 0, email: '' };\r\n this.templateInfo.assigneesList.forEach((reviewerElement: any) => {\r\n if (reviewerElement.nameAndEmail == item) {\r\n reviewerObj = {\r\n name: reviewerElement.name,\r\n employeeId: reviewerElement.my_member_id,\r\n email: reviewerElement.email\r\n }\r\n }\r\n });\r\n return reviewerObj;\r\n\r\n break;\r\n case 'assignor':\r\n let assignorObj = { name: '', memberId: 0, email: '' };\r\n this.templateInfo.assignorsList.forEach((assignorElement: any) => {\r\n if (assignorElement.nameAndEmail == item) {\r\n assignorObj = {\r\n name: assignorElement.name,\r\n email: assignorElement.email,\r\n memberId: assignorElement.member_id\r\n }\r\n }\r\n });\r\n return assignorObj;\r\n\r\n break;\r\n case 'cc':\r\n let ccObj = { name: '', employeeId: 0, email: '' }\r\n this.templateInfo.assigneesList.forEach((ccElement: any) => {\r\n if (ccElement.nameAndEmail == item) {\r\n ccObj = {\r\n name: ccElement.name,\r\n employeeId: ccElement.employee_id,\r\n email: ccElement.email\r\n }\r\n }\r\n });\r\n return ccObj;\r\n break;\r\n case 'ccFailure':\r\n let ccfObj = { name: '', employeeId: 0, email: '' };\r\n this.templateInfo.assigneesList.forEach((ccfElement: any) => {\r\n if (ccfElement.nameAndEmail == item) {\r\n ccfObj = {\r\n name: ccfElement.name,\r\n employeeId: ccfElement.employee_id,\r\n email: ccfElement.email\r\n }\r\n }\r\n });\r\n return ccfObj;\r\n break;\r\n\r\n case 'entrusted_to':\r\n let empId = 0\r\n this.templateInfo.assigneesList.forEach((enElement: any) => {\r\n if (enElement.nameAndEmail == item) {\r\n\r\n empId = enElement.employee_id;\r\n }\r\n });\r\n return empId\r\n break;\r\n case 'category_id':\r\n let catId = 0\r\n this.templateInfo.categoryList.forEach((category: any) => {\r\n if (category.name == item) {\r\n catId = category.category_id;\r\n }\r\n });\r\n return catId;\r\n break;\r\n\r\n case 'risk_class':\r\n\r\n if (item == 'Low') {\r\n return 1\r\n } else if (item == 'Low-Medium') {\r\n return 2\r\n } else if (item == 'Medium-High') {\r\n return 3\r\n } else if (item == 'High') {\r\n return 4\r\n } else {\r\n return 0\r\n }\r\n break;\r\n }\r\n\r\n }\r\n\r\n reset() {\r\n this.responsibilityBulkUpload = {\r\n header: [],\r\n reports: [],\r\n }\r\n\r\n this.templateInfo = {\r\n categoryList: [],\r\n rcList: [],\r\n assignorsList: [],\r\n assigneesList: [],\r\n memberId: ''\r\n\r\n }\r\n\r\n this.isFileEmpty = false;\r\n this.isWrongFile = false;\r\n this.isWrongFormat = false;\r\n this.fileName = undefined;\r\n this.data = undefined;\r\n this.showExcel = false;\r\n this.showSmiley = false;\r\n\r\n }\r\n action(event: string) {\r\n switch (event) {\r\n case 'addMore':\r\n this.reset();\r\n break;\r\n case 'view':\r\n this.viewResponsibilities();\r\n break;\r\n }\r\n }\r\n\r\n closeSmiley(event: any) {\r\n this.showSmiley = false;\r\n this.closeWorkflow.emit({ evt: this.responsibilityData, confirm: false });\r\n }\r\n\r\n viewResponsibilities(): void {\r\n let url: string;\r\n let urlSubstring = '';\r\n this.disconnectRefresh.emit(false);\r\n if (this.isNotificationPending) {\r\n urlSubstring = 'compliance/manage-responsibilities/responsibilities-queue';\r\n } else {\r\n urlSubstring = 'compliance/manage-responsibilities';\r\n }\r\n if (window.location.host.startsWith('localhost')) {\r\n url = 'http://' + window.location.host + '/compliance/#/' + urlSubstring;\r\n } else {\r\n url = 'https://' + window.location.host + '/compliance/#/' + urlSubstring;\r\n }\r\n window.location.href = url;\r\n }\r\n\r\n // Upload File to the server\r\n fileUpload() {\r\n this.loader = true;\r\n const formData = new FormData();\r\n const file = this.uploadedFiles[0][0];\r\n formData.append('sourcefile', file);\r\n formData.append('destination', 'bulkupload/entrust/' + this.userInfo.email);\r\n this.responsibilityService.fileUpload(formData).subscribe((res: any) => {\r\n if (res?.filename) {\r\n this.fileResponse.push(res);\r\n }\r\n this.loader = false;\r\n\r\n }, err => {\r\n console.error(err);\r\n this.loader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n\r\n });\r\n }\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-bulk-responsibility-view',\r\n templateUrl: './bulk-responsibility-view.component.html',\r\n styleUrls: ['./bulk-responsibility-view.component.less'],\r\n})\r\nexport class BulkResponsibilityViewComponent implements OnInit {\r\n\r\n @Input() responsibilityBulkUpload!: any;\r\n @Input() fileName!: any;\r\n @Input() defaultOwner!: any;\r\n @Input() loader = false;\r\n\r\n @Output() submitResponsibilityBulkUpload = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n\r\n finalResponsibilities = 0;\r\n\r\n ngOnChanges() {\r\n if (this.responsibilityBulkUpload) {\r\n this.finalResponsibilities = 0;\r\n this.responsibilityBulkUpload.reports.forEach((risk: any) => {\r\n if (risk.isValid) {\r\n this.finalResponsibilities += 1;\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n submit() {\r\n this.submitResponsibilityBulkUpload.emit();\r\n }\r\n\r\n close() {\r\n this.cancel.emit();\r\n }\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-no-data',\r\n templateUrl: './no-data.component.html',\r\n styleUrls: ['./no-data.component.less'],\r\n})\r\nexport class NoDataComponent implements OnInit {\r\n @Input() action!: object;\r\n @Input() noDataImage!: string;\r\n @Input() noDataText!: string;\r\n @Input() noDataButton!: string | boolean;\r\n @Input() noDataSecButton!: string | boolean;\r\n @Input() altText!: string;\r\n @Output() buttonAction = new EventEmitter<object>();\r\n @Input() smallButton!: boolean;\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n actionEmitter(button: object) {\r\n this.buttonAction.emit(button);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NoDataComponent } from './no-data.component';\r\n\r\n@NgModule({\r\n declarations: [NoDataComponent],\r\n imports: [CommonModule],\r\n exports: [NoDataComponent],\r\n})\r\nexport class NoDataModule {}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.less'],\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader-inline',\r\n templateUrl: './loader-inline.component.html',\r\n styleUrls: ['./loader-inline.component.less'],\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n\r\n})\r\nexport class LoaderInlineComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { LoaderInlineComponent } from './loader-inline/loader-inline.component';\r\n\r\n@NgModule({\r\n declarations: [LoaderComponent, LoaderInlineComponent],\r\n imports: [CommonModule],\r\n exports: [LoaderComponent, LoaderInlineComponent],\r\n})\r\nexport class VLoaderModule {}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PopoverService {\r\n positionX!: number;\r\n positionY!: number;\r\n popoverHeight: any;\r\n popoverWidth: any;\r\n elementPosition: any;\r\n elementDirection: any;\r\n constructor() {\r\n }\r\n}\r\n","import { Component, ElementRef, HostListener, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Component({\r\n selector: 'app-popover',\r\n templateUrl: './popover.component.html',\r\n styleUrls: ['./popover.component.less'],\r\n})\r\nexport class PopoverComponent implements OnInit {\r\n @Input() dontCloseonClick!: boolean;\r\n popoverContainer = false;\r\n @ViewChild('popoverRatio') popoverRatio!: ElementRef;\r\n @ViewChild('popoverContent') popoverContent!: ElementRef;\r\n constructor(public popoverService: PopoverService) { }\r\n showPopover = false;\r\n leftValue: any;\r\n topValue: any;\r\n popoverHeight: any;\r\n popoverWidth: any;\r\n positionX!: number;\r\n positionY!: number;\r\n ngOnInit(): void { }\r\n popover() {\r\n this.popoverContainer = false;\r\n this.popoverContainer = true;\r\n setTimeout(() => {\r\n this.getPosition();\r\n this.showPopover = true;\r\n }, 10);\r\n return false;\r\n }\r\n popoverEvent() {\r\n this.popoverContainer = false;\r\n this.popoverContainer = true;\r\n setTimeout(() => {\r\n this.getPosition();\r\n // this.positionX = this.popoverService.positionX;\r\n // this.positionY = this.popoverService.positionY;\r\n this.showPopover = true;\r\n }, 10);\r\n return false;\r\n }\r\n closePopover(top?: string) {\r\n if (!this.dontCloseonClick || top === 'top') {\r\n this.popoverContainer = false;\r\n this.showPopover = false;\r\n }\r\n }\r\n clickedPopover() {\r\n this.getPosition();\r\n }\r\n getPosition() {\r\n const elementPositionn = this.popoverService.elementPosition;\r\n this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;\r\n this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;\r\n if (this.popoverService.elementDirection === 'left') {\r\n this.leftValue = elementPositionn.left;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'right') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverWidth;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'top') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'bottom') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'self-position') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - 15;\r\n }\r\n if (this.popoverService.elementDirection === 'top-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverHeight > window.outerHeight) {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverHeight;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverWidth / 2;\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n this.positionX = this.leftValue;\r\n this.positionY = this.topValue;\r\n // console.log('test', this.positionY, this.positionX );\r\n }\r\n @HostListener('window:resize', ['$event'])\r\n sizeChange(event: any) {\r\n this.popoverContainer = false;\r\n this.showPopover = false;\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Directive({\r\n selector: '[appPopover]',\r\n // providers: [PopoverService],\r\n})\r\nexport class PopoverDirective {\r\n dynamicComponent: any;\r\n @Input() refrence: any;\r\n @Input() placement!: string;\r\n leftValue: any;\r\n topValue: any;\r\n constructor(private elRef: ElementRef, private popoverService: PopoverService) {}\r\n @HostListener('click') click() {\r\n this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n this.popoverService.elementDirection = this.placement;\r\n // this.getPosition();\r\n }\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n this.popoverService.elementDirection = this.placement;\r\n }\r\n @HostListener('mouseover') onMouseOver() {\r\n this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n this.popoverService.elementDirection = this.placement;\r\n }\r\n\r\n getPosition() {\r\n setTimeout(() => {\r\n // this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();\r\n if (this.placement === 'left') {\r\n this.leftValue = elementPositionn.left;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'right') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'top') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n }\r\n }\r\n if (this.placement === 'bottom') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width;\r\n if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n } else {\r\n this.topValue = elementPositionn.top + elementPositionn.height;\r\n }\r\n }\r\n if (this.placement === 'self-position') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - 15;\r\n }\r\n if (this.placement === 'top-center') {\r\n this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;\r\n this.topValue = elementPositionn.top - this.popoverService.popoverHeight;\r\n }\r\n this.popoverService.positionX = this.leftValue;\r\n this.popoverService.positionY = this.topValue;\r\n }, 10);\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Directive({\r\n selector: '[appPopoverEvent]',\r\n})\r\nexport class PopoverEventDirective {\r\n constructor(private popoverService: PopoverService) {}\r\n @HostListener('contextmenu', ['$event']) contextmenu(event: any) {\r\n this.getEventPosition(event);\r\n }\r\n getEventPosition(event: any) {\r\n // const container = event.currentTarget;\r\n this.popoverService.positionX = event.clientX;\r\n this.popoverService.positionY = event.clientY;\r\n }\r\n}\r\n\r\n// appPopoverEvent\r\n","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@Directive({\r\n selector: '[appPopoverLongpress]',\r\n})\r\nexport class PopoverLongpressDirective {\r\n getTime: any;\r\n currentTime: any;\r\n\r\n timer: any;\r\n @Output() longPressPopover = new EventEmitter<any>();\r\n constructor(private popoverService: PopoverService) {}\r\n @HostListener('mousedown', ['$event']) mousedown(event: any) {\r\n alert('Tong');\r\n this.currentTime = Date.now();\r\n // console.log('Current Time', this.currentTime);\r\n this.timer = setInterval(() => {\r\n if (Date.now() - this.currentTime > 1000) {\r\n this.longPressPopover.emit();\r\n clearInterval(this.timer);\r\n this.getEventPosition(event);\r\n alert('Ting tong');\r\n }\r\n }, 10);\r\n }\r\n @HostListener('mouseup') mouseup() {\r\n clearInterval(this.timer);\r\n this.currentTime = undefined;\r\n // console.log('Hold Time', Date.now() - this.currentTime);\r\n }\r\n getEventPosition(event: any) {\r\n this.popoverService.positionX = event.clientX;\r\n this.popoverService.positionY = event.clientY;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverComponent } from './popover.component';\r\nimport { PopoverDirective } from './popover.directive';\r\nimport { PopoverEventDirective } from './popover-event.directive';\r\nimport { PopoverLongpressDirective } from './popover-longpress.directive';\r\nimport { PopoverService } from './popover.service';\r\n\r\n@NgModule({\r\n declarations: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective],\r\n imports: [CommonModule],\r\n exports: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective],\r\n providers: [PopoverService],\r\n})\r\nexport class PopoverModule {}\r\n","import { SnackBarService } from './../../../ui-kit/snack-bar/snack-bar.service';\r\nimport cloneDeep from 'lodash-es/cloneDeep';\r\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { CheckpointsPolicyQuestionsComponent } from '../checkpoints-policy-questions/checkpoints-policy-questions.component';\r\n\r\n@Component({\r\n selector: 'app-checkpoints-policy-container',\r\n templateUrl: './checkpoints-policy-container.component.html',\r\n styleUrls: ['./checkpoints-policy-container.component.less']\r\n})\r\nexport class CheckpointsPolicyContainerComponent implements OnInit {\r\n animation = true;\r\n constructor(private snackbarService: SnackBarService) { }\r\n @Output() closeCheckPoint = new EventEmitter();\r\n @Output() saveCheckPoint = new EventEmitter();\r\n @ViewChild('checkpoint',{ static: false }) CheckpointsPolicyQuestionsComponent!: CheckpointsPolicyQuestionsComponent;\r\n @Input() requiredPoint = 0;\r\n @Input() checkpointData: any = [];\r\n\r\n ngOnInit(): void {\r\n this.checkpointData = cloneDeep(this.checkpointData);\r\n if(this.checkpointData.length === 0 ){\r\n this.checkpointData = [{\r\n \"ranswer\": \"\",\r\n \"question\": \"\",\r\n \"answers\": [\r\n \"\",\r\n \"\"\r\n ]\r\n }]\r\n }\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 500);\r\n if(this.requiredPoint === 0){\r\n this.requiredPoint = 1;\r\n }\r\n }\r\n\r\n\r\n next(){\r\n this.CheckpointsPolicyQuestionsComponent.saveCheckPoint()\r\n }\r\n saveQuestions(event:any){\r\n this.checkpointData = event;\r\n this.checkpointData.forEach((element:any) => {\r\n if(element?._id){\r\n delete element._id;\r\n }\r\n\r\n });\r\n console.log(this.requiredPoint, this.checkpointData);\r\n if(this.requiredPoint > this.checkpointData.length){\r\n this.snackbarService.show(`The points required to attest this policy cannot exceed ${this.checkpointData.length}.`)\r\n }else{\r\n if(this.requiredPoint < 1){\r\n this.snackbarService.show(`The points required to attest this policy cannot be 0`)\r\n }else{\r\n this.saveCheckPoint.emit({requiredPoint: this.requiredPoint, checkpointDetails : this.checkpointData});\r\n }\r\n\r\n }\r\n\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-checkpoints-policy-list',\r\n templateUrl: './checkpoints-policy-list.component.html',\r\n styleUrls: ['./checkpoints-policy-list.component.less']\r\n})\r\nexport class CheckpointsPolicyListComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-checkpoints-policy-questions',\r\n templateUrl: './checkpoints-policy-questions.component.html',\r\n styleUrls: ['./checkpoints-policy-questions.component.less']\r\n})\r\nexport class CheckpointsPolicyQuestionsComponent implements OnInit {\r\n checkPointQuestions :any = [];\r\n @Output() changeMax = new EventEmitter();\r\n @Input() requiredPoint = 0;\r\n @Output() requiredPointChange = new EventEmitter();\r\n @Input() set checkpointDetails(value:any){\r\n this.checkPointQuestions = value;\r\n if(this.checkPointQuestions.length){\r\n this.checkPointQuestions.forEach((element:any,index:number) => {\r\n const answerIndex = element?.answers.indexOf(element?.ranswer);\r\n if(answerIndex > -1 && element.ranswer.trim().length > 0){\r\n this.rightAnswerIndex[index]=answerIndex;\r\n }\r\n });\r\n }\r\n }\r\n @Output() saveValidQuestions = new EventEmitter();\r\n activeQuestionIndex = 0 ;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n errorTracker:any = [];\r\n rightAnswerIndex :any = [];\r\n\r\n/**\r\n * Changes active question index\r\n * @param index\r\n */\r\nchangeActiveQuestion(index:number){\r\n this.activeQuestionIndex = index;\r\n }\r\n\r\ncloneQuestion(index: any, isBlank ?:boolean){\r\n if(isBlank === false){\r\n const COPY_ARR = JSON.parse(JSON.stringify(this.checkPointQuestions[index]));\r\n this.checkPointQuestions.splice(index + 1, 0, COPY_ARR);\r\n }\r\n if(isBlank === true){\r\n const QUESTION = {\r\n ranswer : '',\r\n question : '',\r\n answers : [\r\n '',''\r\n\r\n ]\r\n }\r\n this.checkPointQuestions.splice(index + 1, 0, QUESTION);\r\n\r\n }\r\n this.changeActiveQuestion(index+1);\r\n this.requiredPointChange.emit(this.requiredPoint +1)\r\n //this.changeMax.emit(this.checkPointQuestions.length)\r\n}\r\n\r\naddOption(questionIndex:number, optionIndex :number){\r\n this.checkPointQuestions[questionIndex].answers.splice(optionIndex + 1, 0, '');\r\n this.focusAnOption(questionIndex, optionIndex + 1)\r\n}\r\ndeleteOption(questionIndex:number, optionIndex :number){\r\n this.checkPointQuestions[questionIndex].answers.splice(optionIndex, 1);\r\n this.focusAnOption(questionIndex, (optionIndex - 1))\r\n}\r\n\r\nfocusAnOption(questionIndex:number, optionIndex :number){\r\n console.log(\"focus\",questionIndex,optionIndex)\r\n setTimeout(() => {\r\n const EL: any = document.getElementById('option' + '-' + questionIndex + '' + optionIndex);\r\n if (EL) { EL.focus(); }\r\n }, 10);\r\n}\r\n\r\ndeleteOnBackspace(questionIndex:number, optionIndex :number){\r\n if(this.checkPointQuestions[questionIndex].answers?.length > 2 && this.checkPointQuestions[questionIndex].answers[optionIndex].trim().length === 0 ){\r\n this.deleteOption(questionIndex,optionIndex);\r\n }\r\n}\r\ndeleteQuestion(questionIndex:number){\r\n this.checkPointQuestions.splice(questionIndex, 1);\r\n if(this.checkPointQuestions.length === 0 ){\r\n const QUESTION = {\r\n ranswer : '',\r\n question : '',\r\n answers : [\r\n '',''\r\n ]\r\n }\r\n this.checkPointQuestions.push(QUESTION);\r\n this.requiredPoint = 1;\r\n }\r\n //this.changeMax.emit(this.checkPointQuestions.length)\r\n this.requiredPointChange.emit(this.requiredPoint - 1)\r\n}\r\nselectRightAnswer(evt:any, index: number,answerIndex:string){\r\n if(evt){\r\n this.checkPointQuestions[index].ranswer = this.checkPointQuestions[index][answerIndex];\r\n this.rightAnswerIndex[index] = answerIndex;\r\n this.reValidate(index);\r\n }\r\n}\r\n\r\nreValidate(questionIndex:number){\r\n if(this.errorTracker[questionIndex]){\r\n this.validateForm();\r\n }\r\n}\r\n\r\n\r\n\r\nasync saveCheckPoint(){\r\n const validStatus = await this.validateForm();\r\n if(validStatus){\r\n this.saveValidQuestions.emit(this.checkPointQuestions);\r\n }\r\n}\r\n\r\nmapRightAnswers(){\r\n this.checkPointQuestions.forEach((element:any,index:number) => {\r\n element.ranswer = element.answers[this.rightAnswerIndex[index]] ??'';\r\n });\r\n}\r\nasync validateForm(){\r\n await this.mapRightAnswers()\r\n this.errorTracker = [];\r\n await this.checkPointQuestions.forEach((element:any,index:number) => {\r\n if(element.question.trim().length === 0){\r\n this.errorTracker[index] = {type :'QUESTION',message: 'Please add a question.'}\r\n }else{\r\n if(element.answers.length >= 2 ){\r\n if(this.isOptionValid(element.answers) === false){\r\n this.errorTracker[index] = {type :'OPTION',message: 'You need to complete all the answer options.'};\r\n\r\n }else{\r\n if(this.checkDuplicate(element?.answers) === true){\r\n this.errorTracker[index] = {type :'OPTION',message: 'Two options cannot have same title.'}\r\n }\r\n else{\r\n if(element?.ranswer?.length === 0){\r\n this.errorTracker[index] = {type :'OPTION',message: 'Select the correct answer choice for this question.'}\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n console.log(this.checkPointQuestions);\r\n return this.errorTracker.length > 0 ? false : true\r\n}\r\nisOptionValid(options:any){\r\n if(options.length === options.filter((ele:any) => ele.trim().length > 0).length){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n}\r\ncheckDuplicate(arr :any ) {\r\n let result = false;\r\n // create a Set with array elements\r\n const s = new Set(arr);\r\n // compare the size of array and Set\r\n if(arr.length !== s.size){\r\n result = true;\r\n }\r\n return result;\r\n}\r\n\r\ntrackByFn(index: any, item: any) {\r\n return index;\r\n}\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EditorConfig } from 'vcomply-editor';\r\n\r\n@Component({\r\n selector: 'app-workflow-survey-form',\r\n templateUrl: './workflow-survey-form.component.html',\r\n styleUrls: ['./workflow-survey-form.component.less', '../forms.less']\r\n})\r\nexport class WorkflowSurveyFormComponent implements OnInit {\r\n description: EditorConfig = {\r\n mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n placeholder: 'Description',\r\n };\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { map, retry } from 'rxjs/operators';\r\nimport { Configurations } from '../configurations';\r\nimport { AuthService } from './auth.service';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LogIssueService {\r\n env !: any;\r\n constructor(private http: HttpClient, private authService: AuthService, @Optional() config?: Configurations) {\r\n if (config) {\r\n this.env = config.envConfig;\r\n\r\n }\r\n }\r\n\r\n\r\n getIssueTypes(){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.organizationGet + 'issueTypeList', {headers})\r\n .pipe(retry(2));\r\n }\r\n\r\n getOrgPeople(){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.organizationGet + 'people', {headers})\r\n .pipe(retry(2));\r\n }\r\n\r\n getIssueCategories(){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .get<any[]>(this.env.assurance + 'Issue/Category/CatList?categories=true', {headers})\r\n .pipe(retry(2));\r\n //https://devapi.v-comply.com/Assurance/Issue/Category/CatList/1?isBusinessCycle=true&categories=true\r\n }\r\n getResponsibilityCenterList() {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get<any[]>(this.env.complianceGet + 'responsibilityCenterTree', { headers }).pipe(retry(2));\r\n }\r\n createIssue(payload: any){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.assurance+'Issue', payload, {headers}).pipe(\r\n retry(2)\r\n );\r\n }\r\n updateIssue(payload: any,issueId: string){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.put(this.env.assurance+'Issue/'+issueId, payload, {headers}).pipe(\r\n retry(2)\r\n );\r\n }\r\n\r\n getControlRisk(auditPlanId:string, type:string){\r\n// Get Linked Audit Plan Responsibilities by Audit_Plan_Id\r\n// URL: https://devapi.v-comply.com/responsibilities/?mode=manage_audit_plan_responsibilities&id=610b329144c81a0009cbb598 Method: GET\r\n\r\n\r\n\r\n// Get Linked Audit Plan Risk by Audit_Plan_Id\r\n// URL: https://devapi.v-comply.com/risk/?mode=risk/manage_audit_plan_risk&id=610b329144c81a0009cbb598\r\n// Method: GET\r\nconst headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n if(type === 'RESPONSIBILITY'){\r\n return this.http.get<any[]>(this.env.responsibilitiesGet+'manage_audit_plan_responsibilities&id='+auditPlanId,{headers}).pipe(\r\n map((items:any) =>{\r\n return items.map((item:any)=>({\r\n itemId: item?.report_id,\r\n itemControlId :item?.control_id,\r\n itemControlName : item?.report_name,\r\n itemType : 'RESPONSIBILITY'\r\n })\r\n )\r\n }\r\n )\r\n )\r\n }else if(type === 'RISK'){\r\n return this.http.get<any[]>(this.env.risk+'risk/manage_audit_plan_risk&id='+auditPlanId,{headers}).pipe(\r\n map((items:any) =>{\r\n return items.map((item:any)=>({\r\n itemId: item?.risk_id,\r\n itemControlId :item?.risk_control_id,\r\n itemControlName : item?.title,\r\n itemType : 'RISK'\r\n })\r\n )\r\n }\r\n )\r\n )\r\n }else{\r\n return null;\r\n }\r\n\r\n }\r\n\r\n\r\n validate(issueData: any, openedFrom: any,isRCMandatory:any){\r\n const errors = [];\r\n if (!issueData.issueName || issueData.issueName.trim().length === 0 ){\r\n errors.push('issueName');\r\n }\r\n if (issueData.issueRC.length === 0 && isRCMandatory){\r\n errors.push('issueRC');\r\n }\r\n if (issueData.entrustTo.length === 0 ){\r\n errors.push('entrustTo');\r\n }\r\n if (!issueData.issueDueDate){\r\n errors.push('issueDueDate');\r\n }\r\n if (issueData.issueRecommendation.replace(/&nbsp;/g, '').replace(/\\<br\\s*[\\/]?>/gi, '').trim().length === 0 ){\r\n errors.push('issueRecommendation');\r\n }\r\n return errors;\r\n }\r\n\r\n generatePayload(issueData: any, optionFieldsStatus: any){\r\n const selectedDate = new Date(issueData.issueDueDate);\r\n const dateSplit = [selectedDate.getFullYear(), selectedDate.getMonth() + 1, selectedDate.getDate()];\r\n const time: any = this.convertFrom12To24Format(issueData.issueDueTime).split(':');\r\n const date = new Date(dateSplit[0], dateSplit[1] - 1,dateSplit[2], time[0], time[1], 0);\r\n\r\n const createIssue: any = {\r\n issue_description_attachments: issueData?.issueDescriptionAttachements,\r\n associated_risk: optionFieldsStatus.ASSOCIATED_RISKS ? issueData.issueAssociatedRisk:'',\r\n issue_name: issueData.issueName,\r\n report_id: '0',\r\n issue_description: issueData.issueDescription,\r\n issue_type: optionFieldsStatus.ISSUE_TYPE ? this.arrayToId(issueData.issueType, 'issue_id').toString() : '',\r\n exception_type: optionFieldsStatus.EXCEPTION_TYPE ? issueData.exceptionType.toString() : '',\r\n risk_class: issueData.issueRiskRating.toString() ?? '',\r\n priority: optionFieldsStatus.PRIORITY ? issueData.issuePriority.toString() : '',\r\n issue_category_id: this.arrayToId(issueData.issueCategory, 'category_id') ?? 0,\r\n recommendation: issueData.issueRecommendation,\r\n entrusted_to: this.arrayToId(issueData.entrustTo, 'employee_id') ?? 0,\r\n issue_date: dateSplit[0] + '-' + dateSplit[1] + '-' + dateSplit[2] + ' ' + this.convertFrom12To24Format(issueData.issueDueTime),\r\n failed_time: this.convertFrom12To24Format(issueData.issueDueTime),\r\n issue_due_date: dateSplit[0] + '-' + dateSplit[1] + '-' + dateSplit[2] + ' ' + this.convertFrom12To24Format(issueData.issueDueTime),\r\n grc_area: '',\r\n cc_employee_email: optionFieldsStatus.OVERSIGHT ? this.arrayToIDsDtring(issueData.issueCCUsers, 'employee_email') : '',\r\n failure_cc_employee_email: optionFieldsStatus.OVERSIGHT ? this.arrayToIDsDtring(issueData.failureCCUsers, 'employee_email') : '',\r\n custom_tag_value: '',\r\n issue_resolve_timestamp: (date.getTime() / 1000).toString(),\r\n evidence_upload_flag: optionFieldsStatus.EVIDENCE ? (issueData.evidenceRequired ? '1' : '0' ) : '0',\r\n };\r\n if (issueData.issueRC.length){\r\n createIssue.rc_id = this.arrayToId(issueData.issueRC, 'rc_id') ?? 0;\r\n }\r\n\r\n return createIssue;\r\n }\r\n\r\n\r\n payloadBuilder(issueData:any,optionFieldsStatus:any){\r\n const selectedDate = new Date(issueData.issueDueDate);\r\n const dateSplit = [selectedDate.getFullYear(), selectedDate.getMonth() + 1, selectedDate.getDate()];\r\n const payload :any = {\r\n description : [],\r\n associated_risk : [],\r\n recommendation:[]\r\n };\r\n payload.title = issueData.issueName??'';\r\n payload.rc_id = issueData.issueRC.length ? this.arrayToId(issueData.issueRC, 'rc_id') : null;\r\n payload.category_id = issueData.issueCategory.length ? this.arrayToId(issueData.issueCategory, 'category_id') : null;\r\n payload.description[0] = {\r\n text:issueData.issueDescription ?? '',\r\n attachments:issueData?.issueDescriptionAttachements.length ? issueData?.issueDescriptionAttachements:[]\r\n }\r\n payload.exception_type = optionFieldsStatus.EXCEPTION_TYPE ? Number(issueData.exceptionType) : null;\r\n payload.risk_class = issueData.issueRiskRating ?? null;\r\n payload.priority = optionFieldsStatus.PRIORITY ? Number(issueData.issuePriority) : null;\r\n payload.assignee_id = issueData.entrustTo ? this.arrayToId(issueData.entrustTo, 'my_member_id') : null;\r\n payload.associated_risk[0]={\r\n text: optionFieldsStatus.ASSOCIATED_RISKS ? issueData.issueAssociatedRisk:'',\r\n attachments:[]\r\n }\r\n payload.recommendation[0] ={\r\n text: issueData.issueRecommendation??'',\r\n attachments:issueData?.recommendedActionsAttachments.length ? issueData?.recommendedActionsAttachments:[]\r\n }\r\n payload.evidence = {evidence_flag: optionFieldsStatus.EVIDENCE ? (issueData.evidenceRequired ? 1 : 0 ) : 0 }\r\n payload.frequency_details = {\r\n frequency_time: this.convertFrom12To24Format(issueData.issueDueTime)??'',\r\n frequency_date: dateSplit[0] + '-' + (dateSplit[1] < 10 ? '0' + dateSplit[1]: dateSplit[1]) + '-' + (dateSplit[2]<10? '0' + dateSplit[2]:dateSplit[2])\r\n }\r\n payload.overseer = {\r\n cc_email: optionFieldsStatus.OVERSIGHT ?(issueData.issueCCUsers.length? issueData.issueCCUsers.map((x:any) => {return { member_id: x.my_member_id ?? 0 , alert_enable: 1}}):[]) :[],\r\n failure_cc_email:optionFieldsStatus.OVERSIGHT ?(issueData.failureCCUsers.length? issueData.failureCCUsers.map((x:any) => {return { member_id: x.my_member_id?? 0 , alert_enable: 1}}):[]) :[]\r\n }\r\n payload.custom_tags = issueData?.issueCustomTag;\r\n payload.issueType = issueData?.issueType;\r\n return payload;\r\n }\r\n\r\n arrayToId(array: any, key: any){\r\n if (array.length === 0){return ''; }\r\n else {\r\n return array[0][key];\r\n }\r\n\r\n\r\n}\r\n convertFrom12To24Format = (time12: any) => {\r\n if(time12){\r\n const [sHours, minutes, period] = time12.match(/([0-9]{1,2}):([0-9]{2}) (am|pm|AM|PM)/).slice(1);\r\n const PM = period === 'PM';\r\n const hours = (+sHours % 12) + (PM ? 12 : 0);\r\n\r\n return `${('0' + hours).slice(-2)}:${minutes}:00`;\r\n }else{\r\n return '23:59:00';\r\n }\r\n\r\n}\r\n\r\n\r\nconvertFrom24To12Format (time:any) {\r\n const hhmm = time.split(':');\r\n time = `${hhmm[0]}:${hhmm[1]}`;\r\n // Check correct time format and split into components\r\n time = time.toString().match (/^([01]\\d|2[0-3])(:)([0-5]\\d)(:[0-5]\\d)?$/) || [time];\r\n\r\n if (time.length > 1) { // If time format correct\r\n time = time.slice (1); // Remove full string match value\r\n time[5] = +time[0] < 12 ? ' AM' : ' PM'; // Set AM/PM\r\n time[0] = +time[0] % 12 || 12; // Adjust hours\r\n }\r\n return time.join (''); // return adjusted time or original string\r\n}\r\n\r\narrayToIDsDtring(array: any, identifierKey: any){\r\n const list = array.map((el: any) => {\r\n return el[identifierKey]; }\r\n );\r\n return list.join();\r\n}\r\n\r\n\r\n\r\n /**\r\n * Uploads the given file to server\r\n * @param payload payload File data to be uploaded\r\n * @param path path Path of file to be uploaded\r\n * @returns response after uploading a file\r\n */\r\n uploadFiles(payload: any, path: any) {\r\n // {\r\n // reportProgress: true,\r\n // observe: 'events'}\r\n const ORG_PATH = `o/${path}`;\r\n return this.http.post(this.env.fileUploadEndPoint + ORG_PATH + '&ngsw-bypass=true', payload);\r\n }\r\n\r\n getIssueDetails(issueId: string){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get(this.env.assurance+'Issue/Edit/'+issueId,{headers}).pipe(retry(3));\r\n }\r\n}\r\n","\r\nimport { AuthService } from '../workflow-services/auth.service';\r\nimport { LogIssueService } from '../workflow-services/log-issue.service';\r\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild, OnChanges, AfterViewInit } from '@angular/core';\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { DatePickerComponent } from 'ng2-date-picker';\r\nimport { cloneDeep } from 'lodash';\r\nimport { UiKitService } from '../workflow-services/ui-kit.service';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\nimport * as moment from 'moment';\r\nimport { IssueConfiguration } from '../interfaces/issue-data';\r\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\n\r\n@Component({\r\n selector: 'app-log-an-issue',\r\n templateUrl: './log-an-issue.component.html',\r\n styleUrls: ['./log-an-issue.component.less', '../forms.less']\r\n})\r\nexport class LogAnIssueComponent implements OnInit, OnChanges, AfterViewInit {\r\n @Input() openedFrom !: any;\r\n @Input() issueId !: any;\r\n @Input() reponsibilityData = { // only used by log an issue\r\n responsibilityId: null,\r\n responsibilityName: '',\r\n rcId:null,\r\n responsibilityObjectId: ''\r\n };\r\n @Input() issueDetails ={\r\n auditPlanId : null,\r\n auditPlanName :'',\r\n rcId: null,\r\n auditObjId:null\r\n }\r\n @Input() mode = 'CREATE';\r\n @Input() config !: IssueConfiguration;\r\n @Input() responsibilitiesData: any;\r\n @Output() pickerChanged = new EventEmitter();\r\n @Output() populateOption = new EventEmitter();\r\n @Output() closeWorkflow = new EventEmitter();\r\n @Output() modeChange = new EventEmitter();\r\n @Output() disconnectRefresh = new EventEmitter();\r\n currentUser !: any;\r\n @ViewChild('datePicker') datePicker!: DatePickerComponent;\r\n scrollToBottom = false;\r\n datePickerOverlay = false;\r\n showDateError = false;\r\n selectedDate: any;\r\n showSmiley = false;\r\n loader = false;\r\n smileyMessage = `The issue has been reported.`;\r\n issueData !: any;\r\n isRiskControlLoading = false;\r\n actionButtons = [\r\n { buttonText: 'Report More Issues', class: 'white-btn', id: 'addMore' },\r\n { buttonText: 'View Issue', class: 'blue-btn', id: 'viewIssue' },\r\n ];\r\n createdData !: any;\r\n description: EditorConfig = {\r\n // mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n placeholder: 'Description',\r\n };\r\n\r\n dateConfig = {\r\n disableKeypress: true,\r\n format: 'DD MMM YYYY',\r\n unSelectOnClick: true,\r\n openOnClick:false,\r\n openOnFocus:false,\r\n min: new Date().getDate().toString(),\r\n };\r\n listData:any = {\r\n issueTypeList: [],\r\n userList: [],\r\n categoryList: [],\r\n rcList: [],\r\n linkageList:[]\r\n };\r\n logIssueForm: any = {\r\n issueName: '',\r\n evidenceRequired: 0,\r\n issueDescription: '',\r\n issueDescriptionAttachements: [],\r\n issueCategory: [],\r\n issueCustomTag: [],\r\n issueRC: [],\r\n issueType: 'issue',\r\n isAssignToMyself: false,\r\n entrustTo: [],\r\n issueDueDate: '',\r\n issueDueTime: '11:59 pm',\r\n exceptionType: 1,\r\n issueRiskRating: 1,\r\n issuePriority: 1,\r\n issueRecommendation: '',\r\n recommendedActionsAttachments:[],\r\n issueAssociatedRisk: '',\r\n associatedRisksAttachments:[],\r\n issueCCUsers: [],\r\n failureCCUsers: [],\r\n linkedControlRisk:[],\r\n linkageType : 'RISK',\r\n\r\n };\r\n AttachmentTrack: any = [[],[],[]];\r\n additionalOptionStatus: any = {\r\n EXCEPTION_TYPE: false,\r\n EVIDENCE: false,\r\n PRIORITY: false,\r\n ISSUE_TYPE: false,\r\n ASSOCIATED_RISKS: false,\r\n OVERSIGHT: false\r\n };\r\n riskClassification = [\r\n { name: 'LOW', value: 1, class: 'low' },\r\n { name: 'LOW-Medium', value: 2, class: 'low-med' },\r\n { name: 'Medium-High', value: 3, class: 'med-high' },\r\n { name: 'High', value: 4, class: 'high' }\r\n ];\r\n riskPrority = [\r\n { name: 'LOW', value: 1, class: 'low' },\r\n { name: 'MEDIUM', value: 2, class: 'low-med' },\r\n { name: 'HIGH', value: 3, class: 'high' },\r\n\r\n ];\r\n\r\n sideSelectorElements: any = ['ISSUE_CATEGORY', 'ISSUE_RC', 'ISSUE_WHO', 'ISSUE_TYPE', 'ISSUE_CC', 'ISSUE_FCC','ISSUE_CONTROL_RISK'];\r\n selectorConfig = {\r\n ISSUE_CATGORY: {\r\n panelTitle: 'Select Issue Category',\r\n floatingTextSingular: 'Category selected',\r\n searchPlaceholder: 'Search Issue Category',\r\n searchEnabled: true,\r\n noDataText: 'No Categories Found'\r\n },\r\n ISSUE_RC: {\r\n panelTitle: 'Select Responsibility Center',\r\n floatingTextSingular: 'Responsibilty center selected',\r\n searchPlaceholder: 'Search Responsibility Center',\r\n searchEnabled: true,\r\n noDataText: 'No Responsibility Centers Found'\r\n },\r\n ISSUE_WHO: {\r\n panelTitle: 'Select User',\r\n floatingTextSingular: 'User selected',\r\n searchPlaceholder: 'Search User',\r\n searchEnabled: true,\r\n noDataText: 'No Users Found'\r\n },\r\n ISSUE_TYPE: {\r\n panelTitle: 'Select Issue Type',\r\n floatingTextSingular: 'Issue Type selected',\r\n searchPlaceholder: 'Search Issue Type',\r\n searchEnabled: true,\r\n noDataText: 'No Issue Types Found'\r\n },\r\n ISSUE_CC: {\r\n panelTitle: 'Select user(s)',\r\n floatingTextSingular: 'User selected',\r\n searchPlaceholder: 'Search User',\r\n searchEnabled: true,\r\n selectAllEnabled: true,\r\n noDataText: 'No Users Found'\r\n },\r\n ISSUE_FCC: {\r\n panelTitle: 'Select user(s)',\r\n floatingTextSingular: 'User selected',\r\n searchPlaceholder: 'Search User',\r\n searchEnabled: true,\r\n selectAllEnabled: true,\r\n noDataText: 'No Users Found'\r\n }\r\n };\r\n\r\n fieldsWithError: any = [];\r\n hiddenList: any[] = [];\r\n\r\n activeField = '';\r\n activeSelector = '';\r\n listLoadingStatus: any = [];\r\n currentTime = '';\r\n /**\r\n * isRCPreSelected,isRCVisible are variable used to set the visibility of rc field and edit button in certain conditions\r\n */\r\n isRCPreSelected = false;\r\n isRCVisible = true\r\n isRCMandatory = false;\r\n dataForEdit !:any;\r\n isRiskControlVisible = false;\r\n constructor(private logService: LogIssueService, private authService: AuthService, private uiKitService: UiKitService, private snackBar: SnackBarService) { }\r\n ngOnInit(): void {\r\n this.currentTime = this.getCurrentTime();\r\n this.pickerChanged.emit(false);\r\n this.setUserDetails();\r\n this.fetchIssueTypes();\r\n this.fetchUserList();\r\n this.fetchCategoryList();\r\n this.fetchRCList();\r\n this.authService.getOrganizationDetails().subscribe((res: any) => {\r\n if (!res.enable_riskclass) {\r\n this.hiddenList.push('RISK_CLASSIFICATION');\r\n }\r\n });\r\n\r\n }\r\n ngAfterViewInit() {\r\n this.fetchControlRisks();\r\n this.decideRCmandatory();\r\n }\r\n\r\n ngOnChanges() {\r\n this.currentTime = this.getCurrentTime();\r\n }\r\n\r\n decideRCmandatory(){\r\n this.isRCMandatory = false;\r\n }\r\n\r\n\r\n setCurrentTime() {\r\n this.currentTime = this.getCurrentTime();\r\n }\r\n getCurrentTime() {\r\n let today = new Date();\r\n if (today.getDate() === new Date(this.logIssueForm.issueDueDate).getDate()) {\r\n if (today.getHours() < 12 && today.getMinutes() < 59 && today.getSeconds() < 59) {\r\n return `${(today.getHours() < 10) ? '0' + today.getHours() : today.getHours()}:${(today.getMinutes() < 10) ? '0' + today.getMinutes() : today.getMinutes()} am`;\r\n } else {\r\n return `${((today.getHours() - 12) < 10) ? '0' + (today.getHours() - 12) : (today.getHours() - 12)}:${(today.getMinutes() < 10) ? '0' + today.getMinutes() : today.getMinutes()} pm`;\r\n }\r\n } else {\r\n return '00:00 am';\r\n }\r\n }\r\n setUserDetails() {\r\n this.currentUser = this.authService.getUserDetails().user;\r\n }\r\n fetchIssueTypes() {\r\n this.listLoadingStatus[0] = false;\r\n this.checkAllListLoaded();\r\n this.logService.getIssueTypes().subscribe((res: any) => {\r\n this.listLoadingStatus[0] = true;\r\n this.listData.issueTypeList = res;\r\n this.checkAllListLoaded();\r\n }, (error: any) => {\r\n this.listLoadingStatus[0] = true;\r\n this.checkAllListLoaded();\r\n });\r\n }\r\n fetchUserList() {\r\n this.listLoadingStatus[1] = false;\r\n this.logService.getOrgPeople().subscribe((res: any) => {\r\n this.listLoadingStatus[1] = true;\r\n this.listData.userList = res;\r\n this.checkAllListLoaded();\r\n }, (error: any) => {\r\n this.listLoadingStatus[1] = true;\r\n this.checkAllListLoaded();\r\n });\r\n }\r\n\r\n fetchCategoryList() {\r\n this.listLoadingStatus[2] = false;\r\n this.logService.getIssueCategories().subscribe((res: any) => {\r\n this.listLoadingStatus[2] = true;\r\n this.listData.categoryList = res?.data;\r\n this.listData.categoryList = this.listData.categoryList.filter((e:any)=> e?.category_name !== 'Uncategorized')\r\n this.checkAllListLoaded();\r\n }, (error: any) => {\r\n this.listLoadingStatus[2] = true;\r\n this.checkAllListLoaded();\r\n });\r\n }\r\n\r\n fetchRCList() {\r\n this.listLoadingStatus[3] = false;\r\n this.logService.getResponsibilityCenterList().subscribe((res: any) => {\r\n this.listLoadingStatus[3] = true;\r\n this.listData.rcList = res;\r\n this.checkAllListLoaded();\r\n this.setSelectedRC();\r\n }, (error: any) => {\r\n this.listLoadingStatus[3] = true;\r\n this.checkAllListLoaded();\r\n });\r\n }\r\n\r\n setSelectedRC(){\r\n if(this.reponsibilityData?.rcId && this.openedFrom === 'COMPLIANCE_WORKROOM'){\r\n this.logIssueForm.issueRC = this.reponsibilityData.rcId ? this.listData.rcList.filter((e:any) => e.rc_id === this.reponsibilityData.rcId):[];\r\n console.log(\"this.logIssueForm.issueRC ==>\",this.logIssueForm.issueRC, this.listData.rcList , this.reponsibilityData.rcId, this.listData.rcList.filter((e:any) => e.rc_id === this.reponsibilityData.rcId))\r\n }else if(this.issueDetails?.rcId && ['AUDIT_WORKROOM','VIEW_AUDIT_EXECUTION_SUMMARY','EXECUTE_AUDIT_PLAN'].includes(this.openedFrom)){\r\n this.logIssueForm.issueRC = this.issueDetails?.rcId ? this.listData.rcList.filter((e:any) => e.rc_id === this.issueDetails?.rcId):[];\r\n }\r\n\r\n if(this.logIssueForm?.issueRC?.length){\r\n this.isRCPreSelected = true;\r\n }else{\r\n this.isRCPreSelected = false;\r\n }\r\n console.log(\"this.reponsibilityDatathis.reponsibilityDatathis.reponsibilityData ===>\", this.reponsibilityData)\r\n if(!(this.reponsibilityData?.rcId || this.issueDetails?.rcId) && ['COMPLIANCE_WORKROOM','AUDIT_WORKROOM','VIEW_AUDIT_EXECUTION_SUMMARY','EXECUTE_AUDIT_PLAN'].includes(this.openedFrom)){\r\n this.isRCVisible = false;\r\n }else{\r\n this.isRCVisible = true;\r\n }\r\n\r\n }\r\n\r\n fetchControlRisks(){\r\n\r\n if(['VIEW_AUDIT_EXECUTION_SUMMARY','EXECUTE_AUDIT_PLAN'].includes(this.openedFrom)){\r\n\r\n this.getLinkage(this.issueDetails?.auditObjId,this.logIssueForm.linkageType)\r\n }\r\n }\r\n\r\n\r\n getLinkage(auditId:any, type:string){\r\n this.isRiskControlLoading = true;\r\n this.logService.getControlRisk(auditId,type)?.subscribe((data:any)=>{\r\n this.listData.linkageList = [...this.listData.linkageList,...data];\r\n this.listData.linkageList = this.listData.linkageList.filter((thing:any, index:any, self:any) =>\r\n index === self.findIndex((t:any) => (\r\n t.itemId === thing.itemId && t.itemType === thing.itemType\r\n ))\r\n)\r\n this.isRiskControlLoading = false;\r\n console.log(\"linkage\",this.listData)\r\n },(error:any)=>{\r\n this.isRiskControlLoading = false;\r\n })\r\n }\r\n /**\r\n * This functioj check weather all the required lists are loaded\r\n * If loaded hides the loader otherwise shows the loader.\r\n */\r\n checkAllListLoaded() {\r\n if (this.listLoadingStatus.includes(false)) {\r\n this.loader = true;\r\n this.uiKitService.isLoader = true;\r\n } else {\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n if(this.mode==='EDIT'){\r\n this.fetchIssueDetails();\r\n }\r\n\r\n }\r\n }\r\n /**\r\n * Removes error from the fiels with error to remove the error messag from the UI\r\n * @param errorKey error Identifier used to show error in specific fields.\r\n */\r\n removeError(errorKey: string) {\r\n const index = this.fieldsWithError.indexOf(errorKey);\r\n if (index > -1) {\r\n this.fieldsWithError.splice(index, 1);\r\n }\r\n }\r\n openDatePicker() {\r\n this.datePicker.api.open();\r\n this.datePickerOverlay = true;\r\n this.setActiveFieldSelector('ISSUE_DATE_TIME', 'ISSUE_DATE_TIME');\r\n }\r\n closeDatePicker(evt: any) {\r\n if (!evt) {\r\n return;\r\n }\r\n if (evt?.date?._d) {\r\n let monthArray = ['Jan', 'Feb', 'Mar', 'Apr', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\r\n const dateValue = new Date(evt?.date?._d).getDate();\r\n const monthValue = monthArray[new Date(evt?.date?._d).getMonth()];\r\n const yearValue = new Date(evt?.date?._d).getFullYear();\r\n const dateStr = `${dateValue} ${monthValue} ${yearValue}`;\r\n if (evt?.date?._d !== this.logIssueForm.issueDueDate?._d) {\r\n this.logIssueForm.issueDueTime = \"11:59 PM\";\r\n this.setCurrentTime();\r\n }\r\n }\r\n if (evt?.date?._d) {\r\n this.logIssueForm.issueDueDate = evt?.date?._d;\r\n }\r\n this.datePicker.api.close();\r\n this.datePickerOverlay = false;\r\n this.setActiveFieldSelector('', '');\r\n }\r\n\r\n setActiveFieldSelector(activeField: string, activeSelector?: string) {\r\n this.activeField = activeField;\r\n (activeSelector ? this.activeSelector = activeSelector : this.activeSelector = '');\r\n const sliderType = ['ISSUE_RC', 'ISSUE_CATEGORY', 'ISSUE_TYPE', 'ISSUE_CC', 'ISSUE_FCC', 'ISSUE_WHO','ISSUE_CONTROL_RISK'];\r\n if (sliderType.includes(activeField)) {\r\n this.pickerChanged.emit(true);\r\n }\r\n\r\n }\r\n\r\n fieldDeselector(type: any) {\r\n this.activeSelector = '';\r\n this.activeField = '';\r\n this.pickerChanged.emit(false);\r\n }\r\n\r\n selectorAction(evt: any, type: any) {\r\n console.log(evt, type)\r\n switch (type) {\r\n case 'ISSUE_CATEGORY': {\r\n console.log(evt);\r\n this.logIssueForm.issueCategory = this.idToArray(evt, this.listData.categoryList, 'category_id');\r\n console.log( this.logIssueForm.issueCategory);\r\n this.fieldDeselector(type);\r\n if (evt?.length > 0) { this.removeError('issueCategory') }\r\n if(this.logIssueForm?.issueCategory[0]?.custom_tags?.length){\r\n const tag:any = []\r\n this.logIssueForm?.issueCategory[0]?.custom_tags.forEach((element:any) => {\r\n tag.push({name:element, value:''})\r\n });\r\n this.logIssueForm.issueCustomTag = tag;\r\n }else{\r\n this.logIssueForm.issueCustomTag = [];\r\n }\r\n break;\r\n }\r\n //[\"issueName\", \"issueCategory\", \"issueRC\", \"entrustTo\", \"issueDueDate\", \"issueRecommendation\"]\r\n case 'ISSUE_RC': {\r\n console.log(evt, type)\r\n this.logIssueForm.issueRC = this.idToArray(evt, this.listData.rcList, 'rc_id');\r\n this.fieldDeselector(type);\r\n if (evt?.length > 0) { this.removeError('issueRC') }\r\n break;\r\n }\r\n case 'ISSUE_WHO': {\r\n this.logIssueForm.entrustTo = this.idToArray(evt, this.listData.userList, 'employee_id');\r\n if(this.logIssueForm.entrustTo[0]?.my_member_id === this.currentUser.id){\r\n this.logIssueForm.isAssignToMyself = true;\r\n }else{\r\n this.logIssueForm.isAssignToMyself = false;\r\n }\r\n this.fieldDeselector(type);\r\n if (evt?.length > 0) { this.removeError('entrustTo') }\r\n break;\r\n }\r\n case 'ISSUE_TYPE': {\r\n this.logIssueForm.issueType = this.idToArray(evt, this.listData.issueTypeList, 'issue_id');\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n case 'ISSUE_CC': {\r\n this.logIssueForm.issueCCUsers = this.idToArray(evt, this.listData.userList, 'employee_email');\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n case 'ISSUE_FCC': {\r\n this.logIssueForm.failureCCUsers = this.idToArray(evt, this.listData.userList, 'employee_email');\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n\r\n case 'ISSUE_CONTROL_RISK':\r\n this.logIssueForm.linkedControlRisk = this.idToArray(evt, this.listData.linkageList, 'itemId');\r\n this.logIssueForm.linkageType = this.logIssueForm?.linkedControlRisk[0]?.itemType;\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n this.pickerChanged.emit(false);\r\n }\r\n\r\n deleteItem(type: any, element: any) {\r\n switch (type) {\r\n case 'ISSUE_CATEGORY': {\r\n const itemIndex = this.logIssueForm.issueCategory.findIndex((item: any) => item.category_id === element.category_id);\r\n if (itemIndex !== -1) { this.logIssueForm.issueCategory.splice(itemIndex, 1); }\r\n break;\r\n }\r\n case 'ISSUE_RC': {\r\n const itemIndex = this.logIssueForm.issueRC.findIndex((item: any) => item.rc_id === element.rc_id);\r\n if (itemIndex !== -1) { this.logIssueForm.issueRC.splice(itemIndex, 1); }\r\n break;\r\n }\r\n case 'ISSUE_WHO': {\r\n const itemIndex = this.logIssueForm.entrustTo.findIndex((item: any) => item.employee_id === element.employee_id);\r\n if (itemIndex !== -1) { this.logIssueForm.entrustTo.splice(itemIndex, 1); }\r\n this.logIssueForm.isAssignToMyself = false;\r\n break;\r\n }\r\n case 'ISSUE_TYPE': {\r\n const itemIndex = this.logIssueForm.issueType.findIndex((item: any) => item.issue_id === element.issue_id);\r\n if (itemIndex !== -1) { this.logIssueForm.issueType.splice(itemIndex, 1); }\r\n break;\r\n }\r\n case 'ISSUE_CC': {\r\n const itemIndex = this.logIssueForm.issueCCUsers.findIndex((item: any) => item.employee_email === element.employee_email);\r\n if (itemIndex !== -1) { this.logIssueForm.issueCCUsers.splice(itemIndex, 1); }\r\n break;\r\n }\r\n case 'ISSUE_FCC': {\r\n const itemIndex = this.logIssueForm.failureCCUsers.findIndex((item: any) => item.employee_email === element.employee_email);\r\n if (itemIndex !== -1) { this.logIssueForm.failureCCUsers.splice(itemIndex, 1); }\r\n break;\r\n }\r\n case 'ISSUE_CONTROL_RISK':\r\n const itemIndex = this.logIssueForm.linkedControlRisk.findIndex((item: any) => item.itemId === element.itemId);\r\n if (itemIndex !== -1) { this.logIssueForm.linkedControlRisk.splice(itemIndex, 1); }\r\n break;\r\n }\r\n }\r\n assignMyself(event: any) {\r\n this.removeError('entrustTo')\r\n this.logIssueForm.entrustTo = [];\r\n if(event){\r\n this.logIssueForm.entrustTo = this.listData.userList.filter((emplist: any) => emplist.my_member_id === this.currentUser.id);\r\n }\r\n }\r\n setException(type: any) { this.logIssueForm.exceptionType = type; }\r\n setEvidence(type: any) { this.logIssueForm.evidenceRequired = type; }\r\n setIssueType(type: any) { this.logIssueForm.issueType = type; }\r\n\r\n addMoreInfo(event: any) {\r\n this.additionalOptionStatus[event.code] = event.checked;\r\n this.scrollToBottom = true;\r\n }\r\n idToArray(selectedItems: any, listItems: any, filterkey: any) {\r\n const selected = selectedItems;\r\n const list = listItems;\r\n const key = filterkey;\r\n const x = list.filter((el: any) => selected.includes(el[key]));\r\n return x;\r\n }\r\n///Code between 503 to 608 can be optimized to remove duplication\r\n selectFile(type:string,files:any){\r\n switch (type) {\r\n case 'ISSUE_DESCRIPTION': {\r\n for (let i = 0; i <= files.length - 1; i++) {\r\n const name = files[i].file.name ?? '';\r\n this.AttachmentTrack[0].push(name);\r\n this.uploadFile(files[i].file,type);\r\n }\r\n break;\r\n }\r\n case 'RECOMMENDED_ACTIONS':{\r\n for (let i = 0; i <= files.length - 1; i++) {\r\n const name = files[i].file.name ?? '';\r\n this.AttachmentTrack[1].push(name);\r\n this.uploadFile(files[i].file,type);\r\n }\r\n break;\r\n }\r\n case 'ASSOCIATED_RISKS':{\r\n for (let i = 0; i <= files.length - 1; i++) {\r\n const name = files[i].file.name ?? '';\r\n this.AttachmentTrack[2].push(name);\r\n this.uploadFile(files[i].file,type);\r\n }\r\n break;\r\n }\r\n }\r\n}\r\n\r\n\r\n uploadFile(file: any,type:string) {\r\n let trackIndex = 0 ;\r\n switch(type){\r\n case 'ISSUE_DESCRIPTION':{\r\n trackIndex = 0;\r\n break;\r\n }\r\n case 'RECOMMENDED_ACTIONS':{\r\n trackIndex = 1;\r\n break;\r\n }\r\n case 'ASSOCIATED_RISKS':{\r\n trackIndex = 2;\r\n break;\r\n }\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n const destinationString = this.authService.getOrganizationId().toString();\r\n this.logService.uploadFiles(formData, destinationString+'/').subscribe(\r\n (res: any) => {\r\n\r\n const index = this.AttachmentTrack[trackIndex].indexOf(file?.name);\r\n if (index !== -1) {\r\n this.AttachmentTrack[trackIndex].splice(index, 1);\r\n }\r\n\r\n switch(type){\r\n case 'ISSUE_DESCRIPTION':{\r\n this.logIssueForm.issueDescriptionAttachements.push(res);\r\n break;\r\n }\r\n case 'RECOMMENDED_ACTIONS':{\r\n this.logIssueForm.recommendedActionsAttachments.push(res);\r\n break;\r\n }\r\n case 'ASSOCIATED_RISKS':{\r\n this.logIssueForm.associatedRisksAttachments.push(res);\r\n break;\r\n }\r\n }\r\n },\r\n (error) => {\r\n const index = this.AttachmentTrack[trackIndex].indexOf(file.name);\r\n if (index !== -1) {\r\n this.AttachmentTrack[trackIndex].splice(index, 1);\r\n }\r\n\r\n }\r\n );\r\n }\r\n\r\n deleteFile(file: any,type:string) {\r\n let fileIndex = -1;\r\n switch(type){\r\n case 'ISSUE_DESCRIPTION':{\r\n fileIndex = this.logIssueForm.issueDescriptionAttachements?.findIndex((currentFiles: any) => currentFiles.org_file === file.org_file) ?? -1;\r\n this.logIssueForm.issueDescriptionAttachements?.splice(fileIndex, 1);\r\n break;\r\n }\r\n case 'RECOMMENDED_ACTIONS':{\r\n fileIndex = this.logIssueForm.recommendedActionsAttachments?.findIndex((currentFiles: any) => currentFiles.org_file === file.org_file) ?? -1;\r\n this.logIssueForm.recommendedActionsAttachments?.splice(fileIndex, 1);\r\n break;\r\n }\r\n case 'ASSOCIATED_RISKS':{\r\n fileIndex = this.logIssueForm.associatedRisksAttachments?.findIndex((currentFiles: any) => currentFiles.org_file === file.org_file) ?? -1;\r\n this.logIssueForm.associatedRisksAttachments?.splice(fileIndex, 1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n addIssue(){\r\n const form = cloneDeep(this.logIssueForm);\r\n if (form.isAssignToMyself){\r\n form.entrustTo = this.listData.userList.filter((emplist: any) => emplist.my_member_id === this.currentUser.id);\r\n }\r\n\r\n this.fieldsWithError = [];\r\n this.fieldsWithError = this.logService.validate(form, this.openedFrom,this.isRCMandatory);\r\n if (this.fieldsWithError.length > 0 ){\r\n return;\r\n }\r\n const PAYLOAD = this.logService.payloadBuilder(form, this.additionalOptionStatus);\r\n\r\n if(this.mode === 'CREATE'){\r\n PAYLOAD.linkage_object = { source : this.openedFrom, type:'', type_id: 0, source_id: 0, source_object_id: ''};\r\n if (this. openedFrom === 'COMPLIANCE_WORKROOM' && this.reponsibilityData?.responsibilityId){\r\n PAYLOAD.linkage_object = { source_id: this.reponsibilityData?.responsibilityId, type: '', type_id: 0, source : this.openedFrom, source_object_id: this.reponsibilityData?.responsibilityObjectId } ;\r\n }\r\n if(['VIEW_AUDIT_EXECUTION_SUMMARY','EXECUTE_AUDIT_PLAN'].includes(this.openedFrom)){\r\n if(this.logIssueForm?.linkageType && this.logIssueForm?.linkedControlRisk.length > 0){\r\n if(['RISK', 'RESPONSIBILITY'].includes(this.logIssueForm?.linkageType)){\r\n PAYLOAD.linkage_object.source_id = this.logIssueForm?.linkedControlRisk[0]?.itemId;\r\n }\r\n }\r\n }\r\n if(['AUDIT_WORKROOM','VIEW_AUDIT_EXECUTION_SUMMARY','EXECUTE_AUDIT_PLAN'].includes(this.openedFrom)){\r\n if(this.issueDetails.auditPlanId){\r\n PAYLOAD.linkage_object.source_id = this.issueDetails.auditPlanId;\r\n }\r\n }\r\n }\r\n\r\n if(this.mode === 'EDIT'){\r\n PAYLOAD.IssueLinkage = this.dataForEdit?.linkage_object;\r\n }\r\n this.loader = true;\r\n this.uiKitService.isLoader = true\r\n console.log('PAYLOAD ===>', PAYLOAD)\r\n if(this.mode === 'EDIT'){\r\n this.logService.updateIssue(PAYLOAD,this.issueId).subscribe((res: any) => {\r\n this.smileyMessage = `The issue has been updated.`;\r\n this.issueData = res;\r\n this.showSmiley = true;\r\n this.uiKitService.isSmileyOn = true;\r\n this.loader = false;\r\n this.uiKitService.isLoader = false\r\n this.resetIssueForm();\r\n }, error => {\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n });\r\n }else if(this.mode === 'CREATE' || this.mode === '' || !this.mode){\r\n this.logService.createIssue(PAYLOAD).subscribe((res: any) => {\r\n this.issueData = res;\r\n this.showSmiley = true;\r\n this.uiKitService.isSmileyOn = true;\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.resetIssueForm();\r\n }, error => {\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n });\r\n }\r\n\r\n }\r\n closeSmiley(evt?: any){\r\n this.showSmiley = false;\r\n this.uiKitService.isSmileyOn = false;\r\n this.closeWorkFlow(this.issueData,false);\r\n }\r\n/**\r\n * Closes workflow engine\r\n * @param evt\r\n * @param confirm\r\n */\r\ncloseWorkFlow(evt: any, confirm:any){\r\n this.closeWorkflow.emit({evt, confirm});\r\n }\r\n action(evt: any){\r\n if (evt === 'addMore'){\r\n this.resetIssueForm();\r\n this.showSmiley = false;\r\n this.uiKitService.isSmileyOn = false;\r\n // this.closeWorkFlow(this.issueData, false);\r\n }\r\n else if(evt === 'viewIssue'){\r\n this.viewIssue();\r\n }\r\n\r\n }\r\n\r\n viewIssue(): void {\r\n this.disconnectRefresh.emit(false);\r\n let url: string;\r\n if (window.location.host.startsWith('localhost')) {\r\n url = 'http://' + window.location.host;\r\n } else {\r\n url = 'https://' + window.location.host;\r\n }\r\n\r\n if (window.location.host.startsWith('localhost')) {\r\n url += '/issue/issue-workroom/' + this.issueData?._id;\r\n } else {\r\n url += '/audit/issue/issue-workroom/' + this.issueData?._id;\r\n }\r\n window.location.href = url;\r\n }\r\n\r\n/**\r\n * Populate the tickmark of optional fields\r\n */\r\npopulateOptionalFields(){\r\n const activatedOptions = [];\r\n for (const key of Object.keys(this.additionalOptionStatus)){\r\n if (this.additionalOptionStatus[key] === true){\r\n activatedOptions.push(key);\r\n }\r\n }\r\n this.populateOption.emit(activatedOptions);\r\n}\r\n/**\r\n * Fetchs issue details when in edit mode based on the input id passed\r\n */\r\nfetchIssueDetails(){\r\n this.loader = true;\r\n this.uiKitService.isLoader = true;\r\n this.logService.getIssueDetails(this.issueId).subscribe((data:any)=>{\r\n console.log(\"issue Data\",data)\r\n this.populateForm(data)\r\n })\r\n}\r\n/**\r\n * Populates the issue form when in edit mode\r\n * @param issueData issue data fetched from API\r\n */\r\nasync populateForm(issueData : any){\r\n this.dataForEdit = issueData;\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n const issueDueDate = issueData.frequency_details?.frequency_date.split('-');\r\n this.logIssueForm = {\r\n issueName : issueData.title ?? '',\r\n evidenceRequired: issueData?.evidence?.evidence_flag??0,\r\n issueDescription: issueData?.description?.length ? issueData?.description[0]?.text :'',\r\n issueDescriptionAttachements: issueData?.description?.length ? issueData?.description[0]?.attachments :[],\r\n issueCategory: issueData?.category_id ? this.listData.categoryList.filter((e:any) => e.category_id === issueData?.category_id):[],\r\n issueCustomTag : issueData?.custom_tags ?? [],\r\n issueRC: issueData?.rc_id ? this.listData.rcList.filter((e:any) => e.rc_id === issueData?.rc_id):[],\r\n recommendedActionsAttachments:issueData?.recommendation?.length ? issueData?.recommendation[0]?.attachments :[],\r\n associatedRisksAttachments:[],\r\n isAssignToMyself : issueData?.assignee_id === this.currentUser.id ? true : false,\r\n entrustTo: issueData?.assignee_id === this.currentUser.id ? []: this.listData.userList.filter((e:any) => e.my_member_id === issueData?.assignee_id ),\r\n issueDueDate: issueData?.frequency_details?.frequency_date? moment(`${issueDueDate[0]}-${issueDueDate[1]}-${issueDueDate[2]}`):'',\r\n issueDueTime: this.logService.convertFrom24To12Format(issueData.frequency_details.frequency_time),\r\n exceptionType: issueData.exception_type ?? 1,\r\n issueRiskRating: issueData.risk_class ?? 1,\r\n issuePriority: issueData.priority ?? 1,\r\n issueRecommendation: issueData?.recommendation?.length ? issueData?.recommendation[0]?.text :'',\r\n issueAssociatedRisk: issueData?.associated_risk?.length ? issueData?.associated_risk[0]?.text :'',\r\n issueCCUsers: issueData.overseer?.cc_email.length ? await this.generateOverseerList(this.listData.userList,issueData.overseer?.cc_email) :[],\r\n failureCCUsers: issueData.overseer?.failure_cc_email.length ? await this.generateOverseerList(this.listData.userList,issueData.overseer?.failure_cc_email) :[],\r\n linkedControlRisk:[],\r\n linkageType : 'RESPONSIBILITY',\r\n issueType: issueData.issueType ? issueData.issueType : 'issue'\r\n };\r\n console.log(\"After Init\",this.logIssueForm)\r\n if(this.mode === 'EDIT'){\r\n this.logIssueForm.issueRC?.length > 0 ? this.isRCPreSelected = true : this.isRCPreSelected = false;\r\n // issueData.linkage_object?.source === 'GLOBAL'? this.isRCMandatory = true : this.isRCMandatory = false;\r\n (issueData.linkage_object?.source === 'GLOBAL' && issueData?.rc_id) ? this.isRCPreSelected = false : this.isRCPreSelected = true;\r\n // if(issueData.linkage_object?.compliance?.ids?.length){\r\n // this.logIssueForm.linkedControlRisk = issueData.linkage_object?.compliance?.ids??[],\r\n // this.logIssueForm.linkageType = 'RESPONSIBILITY'\r\n // this.isRiskControlVisible = true;\r\n // }\r\n // if(issueData.linkage_object?.risk?.ids?.length){\r\n // this.logIssueForm.linkedControlRisk = issueData.linkage_object?.risk?.ids??[],\r\n // this.logIssueForm.linkageType = 'RISK';\r\n // this.isRiskControlVisible = true;\r\n // }\r\n }\r\n this.setOptionalField(issueData);\r\n}\r\n/**\r\n * Sets the visibility of optional fields\r\n * @param issueData issue data fetched from API\r\n */\r\nsetOptionalField(issueData:any){\r\n this.additionalOptionStatus = {\r\n EXCEPTION_TYPE: issueData.exception_type ? true : false,\r\n EVIDENCE: issueData.evidence.evidence_flag ? true :false,\r\n PRIORITY: issueData.priority ? true : false,\r\n ISSUE_TYPE: false,\r\n ASSOCIATED_RISKS : issueData.associated_risk.length ? (issueData.associated_risk[0].text.length ? true : false):false,\r\n OVERSIGHT : (issueData.overseer.cc_email.length > 0 || issueData.overseer.failure_cc_email.length > 0) ? true : false\r\n };\r\n this.populateOptionalFields();\r\n}\r\n/**\r\n * Generates list of selected overseer\r\n * @param allUserList list of all users in the organzation\r\n * @param overseerList lit of the overseer that needs to be filtered\r\n * @returns list of array containing the users objects\r\n */\r\ngenerateOverseerList(allUserList:any, overseerList:any ){\r\n return overseerList.map((user:any)=>{\r\n const foundUser = allUserList.find((element:any) => element.my_member_id === user.member_id);\r\n if(foundUser){\r\n return foundUser;\r\n }\r\n })\r\n}\r\n/**\r\n * Resets issue form\r\n */\r\nresetIssueForm(){\r\n this.scrollToBottom = false;\r\n this.logIssueForm = {\r\n issueName : '',\r\n evidenceRequired: 0,\r\n issueDescription: '',\r\n issueDescriptionAttachements: [],\r\n recommendedActionsAttachments:[],\r\n associatedRisksAttachments:[],\r\n issueCategory: [],\r\n issueCustomTag : [],\r\n issueRC: [],\r\n issueType: 'issue',\r\n isAssignToMyself : false,\r\n entrustTo: [],\r\n issueDueDate: '',\r\n issueDueTime: '11:59 PM',\r\n exceptionType: 1,\r\n issueRiskRating: 1,\r\n issuePriority: 1,\r\n issueRecommendation: '',\r\n issueAssociatedRisk: '',\r\n issueCCUsers: [],\r\n failureCCUsers: []\r\n };\r\n for (const key of Object.keys(this.additionalOptionStatus)){\r\n this.additionalOptionStatus[key] = false;\r\n }\r\n this.smileyMessage = `The issue has been reported.`;\r\n this.mode = 'CREATE';\r\n this.modeChange.emit(this.mode);\r\n this.populateOptionalFields();\r\n this.setSelectedRC();\r\n }\r\n checkDescription() {\r\n if (this.logIssueForm.issueDescription == '<br>') {\r\n this.logIssueForm.issueDescription = '';\r\n }\r\n if (this.logIssueForm.issueRecommendation == '<br>') {\r\n this.logIssueForm.issueRecommendation = '';\r\n }\r\n if (this.logIssueForm.issueAssociatedRisk == '<br>') {\r\n this.logIssueForm.issueAssociatedRisk = '';\r\n }\r\n}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'filter',\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], searchText: string): any[] {\r\n if (!items) {\r\n return [];\r\n }\r\n if (!searchText) {\r\n return items;\r\n }\r\n searchText = searchText.toLowerCase();\r\n if(items?.length){\r\n return items.filter((it: any) => {\r\n return JSON.stringify(it).toLowerCase().includes(searchText);\r\n });\r\n }else{\r\n return [];\r\n }\r\n }\r\n}\r\n","import { Component, Input, OnInit, EventEmitter, Output, HostListener } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-smiley-dialog',\r\n templateUrl: './smiley-dialog.component.html',\r\n styleUrls: ['./smiley-dialog.component.less'],\r\n})\r\nexport class SmileyDialogComponent implements OnInit {\r\n @Input() message!: string;\r\n @Input() actionButtons!: any[];\r\n @Output() action: EventEmitter<string> = new EventEmitter();\r\n @Output() closeSmiley: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostListener('window:keyup', ['$event']) handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.smileyCloseEmitter({});\r\n }\r\n }\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n setTimeout(()=>{\r\n this.smileyCloseEmitter();\r\n },3000)\r\n }\r\n\r\n actionEmitter(event: any) {\r\n this.action.emit(event?.id);\r\n }\r\n\r\n smileyCloseEmitter(event?: any) {\r\n this.closeSmiley.emit();\r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SmileyDialogComponent } from './smiley-dialog.component';\r\n\r\n@NgModule({\r\n declarations: [SmileyDialogComponent],\r\n imports: [CommonModule],\r\n\r\n exports: [SmileyDialogComponent],\r\n})\r\nexport class SmileyDialogModule {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-checkbox-list',\r\n templateUrl: './checkbox-list.component.html',\r\n styleUrls: ['./checkbox-list.component.less']\r\n})\r\nexport class CheckboxListComponent implements OnInit {\r\n @Input() itemsList: any = [];\r\n @Input() selectedItems: any = [];\r\n @Input() identifierKey = '';\r\n @Input() displayKey = '';\r\n @Input() tooltipKey = '';\r\n @Input() config !: any;\r\n @Input() twoColumn = false;\r\n @Output() closeList = new EventEmitter();\r\n @Output() saveList = new EventEmitter();\r\n searchItem = '';\r\n animation = true;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedItems = this.arrayToId(this.selectedItems, this.identifierKey);\r\n\r\n }\r\n selectItem(item: any, checked: boolean){\r\n if (checked){\r\n this.selectedItems.push(item);\r\n this.selectedItems = Array.from(new Set(this.selectedItems));\r\n\r\n }else{\r\n const itemIndex = this.selectedItems.findIndex((el: any) => el === item);\r\n if (itemIndex !== -1){this.selectedItems.splice(itemIndex, 1); }\r\n }\r\n }\r\n deleteItem(item: any){\r\n const itemIndex = this.selectedItems.findIndex((el: any) => el === item[this.identifierKey]);\r\n if (itemIndex !== -1){this.selectedItems.splice(itemIndex, 1); }\r\n }\r\n\r\n\r\n save(){\r\n this.saveList.emit(this.selectedItems);\r\n }\r\n\r\n close(){\r\n this.closeList.emit();\r\n }\r\n\r\n\r\n arrayToId(array: any, identifierKey: any){\r\n return array.map((a: any) => a[identifierKey]);\r\n }\r\n selectAll(evt: any){\r\n if(evt === true){\r\n this.selectedItems = this.itemsList.map((e: any) => {\r\n return e[this.identifierKey];\r\n });\r\n }else{\r\n this.selectedItems = [];\r\n }\r\n\r\n }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, AfterViewInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-radio-list',\r\n templateUrl: './radio-list.component.html',\r\n styleUrls: ['./radio-list.component.less']\r\n})\r\nexport class RadioListComponent implements OnInit,AfterViewInit {\r\n @ViewChild('listBlock',{ static: false }) listBlock!: ElementRef;\r\n @Input() itemsList: any = [];\r\n @Input() selectedItems: any = [];\r\n @Input() identifierKey = '';\r\n @Input() displayKey = '';\r\n @Input() tooltipKey = '';\r\n @Input() config !: any;\r\n @Input() twoColumn = false;\r\n @Output() closeList = new EventEmitter();\r\n @Output() saveList = new EventEmitter();\r\n animation = true;\r\n searchItem = '';\r\n blockWidth: any;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedItems = this.arrayToId(this.selectedItems, this.identifierKey);\r\n // this.rerenderList();\r\n\r\n }\r\n\r\n ngAfterViewInit(){\r\n setTimeout(() => {\r\n this.blockWidth = this.listBlock?.nativeElement?.offsetWidth;\r\n }, 100);\r\n }\r\n selectItem(item: any) {\r\n this.selectedItems = [];\r\n this.selectedItems.push(item);\r\n }\r\n deleteItem(item: any) {\r\n this.selectedItems = [];\r\n // this.rerenderList();\r\n }\r\n\r\n\r\n save() {\r\n this.saveList.emit(this.selectedItems);\r\n }\r\n\r\n close() {\r\n this.closeList.emit();\r\n }\r\n\r\n\r\n arrayToId(array: any, identifierKey: any) {\r\n return array.map((a: any) => a[identifierKey]);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'listMapper',\r\n pure: false\r\n})\r\nexport class ListMapperPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): unknown {\r\n\r\n const selected = value;\r\n const list = args[0];\r\n const key = args[1];\r\n const x = list.filter((el: any) => selected.includes(el[key]));\r\n return x;\r\n }\r\n\r\n}\r\n","import { PlatformLocation } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\nimport { PolicyService } from '../workflow-services/policy.service';\r\n\r\n@Component({\r\n selector: 'app-create-documents',\r\n templateUrl: './create-documents.component.html',\r\n styleUrls: ['./create-documents.component.less']\r\n})\r\nexport class CreateDocumentsComponent implements OnInit {\r\n private fileToUpload: any;\r\n filename = '';\r\n fileType = '';\r\n pdf = false;\r\n draft = false;\r\n doc = false;\r\n isUploading = false;\r\n isLoader = false;\r\n selectedDocumentType = ''\r\n @Input() policyId: any = ''\r\n @Input() policyName: any = ''\r\n @Input() organization_id: any = '';\r\n @Input() member_obj_id: any;\r\n @Input() userInfo: any;\r\n @Output() disconnectRefresh = new EventEmitter();\r\n @Output() editPolicy = new EventEmitter();\r\n\r\n\r\n baseURL = ''\r\n\r\n\r\n constructor(private snackBar: SnackBarService,\r\n private policyService: PolicyService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n platformLocation: PlatformLocation,\r\n\r\n ) {\r\n this.baseURL = (platformLocation as any).location.origin;\r\n if (this.baseURL == \"http://localhost:4200\") {\r\n this.baseURL = 'https://dev.v-comply.com'\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n const data= JSON.parse(localStorage.getItem('lastFileNameAndType') ?? '\"{}\"');\r\n if((data.name!==null && data.name!==undefined)&& (data.type!==null && data.type!==undefined)\r\n &&(data.policyId==this.policyId)){\r\n this.selectedDocumentType = data.type;\r\n this.filename = data.name;\r\n localStorage.removeItem('lastFileNameAndType')\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList): void {\r\n this.fileToUpload = files[0];\r\n this.filename = this.fileToUpload.name;\r\n this.fileType = this.fileToUpload.name.slice(this.fileToUpload.name.lastIndexOf('.') + 1, this.fileToUpload.name.length).toLowerCase();\r\n if (this.fileType === 'pdf') {\r\n this.uploadFile({ file: this.fileToUpload, fileType: this.fileType });\r\n } else if (this.fileType === 'docx') {\r\n this.uploadFile({ file: this.fileToUpload, fileType: this.fileType });\r\n } else {\r\n this.snackBar.show('Please upload a valid file');\r\n }\r\n }\r\n\r\n uploadFile(event: any) {\r\n this.isUploading = true;\r\n if (event.fileType === 'docx') {\r\n this.changeDocType('docx');\r\n this.uploadDocxfile(event);\r\n } else if (event.fileType === 'pdf') {\r\n this.changeDocType('pdf');\r\n const uploadData = new FormData();\r\n uploadData.append('file', event.file);\r\n const path = 'o/' + this.organization_id + '/policy/'\r\n this.policyService.uploadFile(uploadData, this.policyId, path).subscribe(res => {\r\n if (res) {\r\n this.isUploading = false;\r\n }\r\n }, err => {\r\n this.isUploading = false;\r\n this.snackBar.show('Oops! Something went wrong and we were unable to complete this action. Let\\'s give it another try, shall we?');\r\n });\r\n }\r\n }\r\n\r\n uploadDocxfile(event: any) {\r\n const uploadData = new FormData();\r\n uploadData.append('file', event.file);\r\n const path = 'o/' + this.organization_id + '/policy/'\r\n this.policyService.uploadDocxFile(uploadData, this.policyId, path).subscribe(res => {\r\n if (res) {\r\n this.isUploading = false;\r\n\r\n }\r\n }, err => {\r\n this.isUploading = false;\r\n\r\n this.snackBar.show('Oops! Something went wrong and we were unable to complete this action. Let\\'s give it another try, shall we?');\r\n });\r\n }\r\n\r\n changeDocType(event:any){\r\n this.selectedDocumentType = event;\r\n }\r\n\r\n editor(event: string) {\r\n this.disconnectRefresh.emit(false);\r\n\r\n if (event === 'draft') {\r\n // If it is a draft go directly to the editor\r\n const uname = this.userInfo ? this.userInfo.name : '';\r\n const uid = this.member_obj_id;\r\n const name = this.policyName.trim();\r\n const id = this.policyId;\r\n this.isLoader = true;\r\n this.policyService.savePolicyDetails(uname, uid, id, name, '', 0).subscribe(res => {\r\n if (res) {\r\n this.isLoader = false;\r\n window.location.href = this.baseURL + '/all/policy/edit-policy?id=' + this.policyId\r\n\r\n }\r\n }, err => {\r\n this.isLoader = false;\r\n this.snackBar.show('Oops! Something went wrong and we were unable to complete this action. Let\\'s give it another try, shall we?');\r\n });\r\n\r\n } else if (event === 'docx') {\r\n\r\n window.location.href = this.baseURL + '/all/policy/edit-policy?id=' + this.policyId\r\n } else if (event === 'pdf') {\r\n // If it is a pdf send to the workroom\r\n window.location.href = this.baseURL + '/all/policy/workroom?id=' + this.policyId\r\n }\r\n localStorage.setItem('_dId', this.policyId);\r\n }\r\n editPolicyEmit(){\r\n localStorage.setItem('lastFileNameAndType', JSON.stringify({type:this.selectedDocumentType,name:this.filename, policyId: this.policyId}));\r\n this.editPolicy.emit()\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search'\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n transform(items: any[], ...args: any[]): any[] {\r\n let searchText = args[0];\r\n const searchKey = args[1];\r\n if (!items) {\r\n return [];\r\n }\r\n if (!searchText) {\r\n return items;\r\n }\r\n searchText = searchText.toLowerCase();\r\n if(items?.length){\r\n return items.filter((it: any) => {\r\n if(!searchKey){\r\n return JSON.stringify(it).toLowerCase().includes(searchText);\r\n }\r\n else if(searchKey){\r\n // return empIds.indexOf(itm.empid) > -1;\r\n\r\n return it[searchKey]?.toString()?.toLowerCase().indexOf(searchText) > -1;\r\n //return it[searchKey].toLowerCase().includes(searchText);\r\n }\r\n\r\n });\r\n }else{\r\n return [];\r\n }\r\n }\r\n}\r\n// export class FilterPipe implements PipeTransform {\r\n// transform(items: any[], ...args: any[]): any[] {\r\n// let searchText = args[0];\r\n// const searchKey = args[1];\r\n// if (!items) {\r\n// return [];\r\n// }\r\n// if (!searchText) {\r\n// return items;\r\n// }\r\n// searchText = searchText.toLowerCase();\r\n// if(items?.length){\r\n// return items.filter((it: any) => {\r\n// if(!searchKey){\r\n// return JSON.stringify(it).toLowerCase().includes(searchText);\r\n// }\r\n// else if(searchKey){\r\n// // return empIds.indexOf(itm.empid) > -1;\r\n// console.log(\"sda\",it[searchKey].toLowerCase().indexOf(searchText) > -1)\r\n// return it[searchKey].toLowerCase().indexOf(searchText) > -1;\r\n// //return it[searchKey].toLowerCase().includes(searchText);\r\n// }\r\n\r\n// });\r\n// }else{\r\n// return [];\r\n// }\r\n// }\r\n// }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\n\r\n@Pipe({\r\n name: 'userFilter'\r\n})\r\nexport class UserFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n const key = args[0];\r\n const list = cloneDeep(args[1]);\r\n list.push(args[2]);\r\n if (key && list.length > 0){\r\n const itemIdsArray = list.map( (obj: any) => {\r\n return obj[key];\r\n });\r\n\r\n return value.filter((el: any) =>\r\n {\r\n return !itemIdsArray.includes(el[key]);\r\n });\r\n }\r\n else{\r\n return value;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { SnackBarService } from '../../ui-kit/snack-bar/snack-bar.service';\r\nimport { cloneDeep } from 'lodash';\r\n@Component({\r\n selector: 'app-group-users-list',\r\n templateUrl: './group-users-list.component.html',\r\n styleUrls: ['./group-users-list.component.less'],\r\n})\r\nexport class GroupUsersListComponent implements OnInit, OnChanges {\r\n @Input() usersList = [];\r\n @Input() groupsList: any[] = [];\r\n @Input() selectedUsers = [];\r\n @Input() userIdKey = '';\r\n @Input() openedFrom = '';\r\n @Output() saveSelectedList = new EventEmitter();\r\n @Output() closeUsersList = new EventEmitter();\r\n\r\n search = '';\r\n selectedIds: any[] = [];\r\n animation = false;\r\n constructor(private snackbar: SnackBarService) { }\r\n\r\n ngOnChanges(): void {\r\n console.log(\"user list \", this.usersList)\r\n this.selectedIds = this.selectedUsers.map((ele: any) => { if (ele[this.userIdKey]) { return ele[this.userIdKey]; } });\r\n }\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n }\r\n\r\n selectUser(user: any, mode: any) {\r\n if (mode) {\r\n this.selectedIds.push(user);\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == user);\r\n this.selectedIds.splice(index, 1);\r\n }\r\n this.setList();\r\n\r\n }\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.userIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any) {\r\n if (mode) {\r\n const list = [...this.usersList];\r\n this.selectedIds = [];\r\n list.forEach(element => {\r\n this.selectedIds.push(element[this.userIdKey]);\r\n });\r\n } else {\r\n this.selectedIds = [];\r\n }\r\n this.setList();\r\n }\r\n\r\n validationCheck(isChecked: boolean) {\r\n if(isChecked) {\r\n this.snackbar.show('You can select a maximum of 19 users.');\r\n }\r\n }\r\n\r\n\r\n setList() {\r\n const data: any = [];\r\n const userList = cloneDeep(this.usersList);\r\n const selectedIds = cloneDeep(this.selectedIds);\r\n userList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.userIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedUsers = data;\r\n }\r\n\r\n checkSelectAll() {\r\n const data = this.usersList.every((user: any) => this.selectedIds.includes(user[this.userIdKey]));\r\n return data;\r\n }\r\n\r\n save(selectedIds: any) {\r\n this.saveSelectedList.emit(selectedIds);\r\n }\r\n\r\n close() {\r\n this.closeUsersList.emit();\r\n }\r\n\r\n selectGroup(groupIds: any, mode: any) {\r\n if (mode) {\r\n groupIds.forEach((userId: any) => {\r\n if (!this.selectedIds.includes(userId)) {\r\n this.selectedIds.push(userId)\r\n }\r\n });\r\n } else {\r\n groupIds.forEach((userId: any) => {\r\n const index = this.selectedIds.findIndex((element: any) => element == userId);\r\n this.selectedIds.splice(index, 1);\r\n });\r\n }\r\n this.setList();\r\n }\r\n\r\n checkGroupList(groupIds: any) {\r\n return groupIds.every((id: any) => this.selectedIds.includes(id));\r\n }\r\n\r\n hideGroup(groupIds: any){\r\n return this.usersList.every((user:any)=>!groupIds.includes(user[this.userIdKey]));\r\n }\r\n\r\n}\r\n","import { ElementRef, ViewChild } from '@angular/core';\r\nimport { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { cloneDeep } from 'lodash-es';\r\nimport { CategoryList } from '../../interfaces/categoryList';\r\n// import isEqual from 'lodash-es/isEqual';\r\n@Component({\r\n selector: 'app-category-multi-select',\r\n templateUrl: './category-multi-select.component.html',\r\n styleUrls: ['./category-multi-select.component.less'],\r\n})\r\nexport class CategoryMultiSelectComponent implements OnInit, OnChanges {\r\n @ViewChild('listBlock',{ static: false }) listBlock!: ElementRef;\r\n @Input() categoryList: any;\r\n @Input() allCategories: any[] = [];\r\n\r\n @Input() categoryIdKey: any;\r\n @Input() selectedCategories: any[] = [];\r\n\r\n search = '';\r\n activeTab: any = '';\r\n selectedIds: any[] = [];\r\n animation = false;\r\n blockWidth: any;\r\n\r\n @Output() saveSelectedCategory = new EventEmitter();\r\n @Output() closeList = new EventEmitter();\r\n @Output() closeCategoriesList = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnChanges() {\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedIds = [];\r\n if (this.selectedCategories) {\r\n this.selectedCategories.forEach(element => {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n });\r\n }\r\n this.setList()\r\n console.log(this.selectedCategories)\r\n setTimeout(() => {\r\n this.blockWidth = this.listBlock.nativeElement.offsetWidth;\r\n }, 10);\r\n\r\n }\r\n\r\n selectCategory(mode: any, activeTab: any, category: any) {\r\n if (mode) {\r\n this.selectedIds.push(category[this.categoryIdKey]);\r\n } else {\r\n const index = this.selectedIds.findIndex((element: any) => element == category[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n }\r\n this.setList();\r\n\r\n }\r\n\r\n deleteEvent(event: any) {\r\n const index = this.selectedIds.findIndex((element: any) => element == event[this.categoryIdKey]);\r\n this.selectedIds.splice(index, 1);\r\n this.setList();\r\n }\r\n\r\n selectAll(mode: any, activeTab: any) {\r\n\r\n if (mode) {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (!this.selectedIds.includes(element[this.categoryIdKey])) {\r\n this.selectedIds.push(element[this.categoryIdKey]);\r\n }\r\n });\r\n } else {\r\n const list = [...this.categoryList[activeTab].list];\r\n list.forEach(element => {\r\n if (this.selectedIds.includes(element[this.categoryIdKey])) {\r\n let idIndex = this.selectedIds.findIndex((id: any) => id == element[this.categoryIdKey]);\r\n this.selectedIds.splice(idIndex, 1);\r\n }\r\n });\r\n }\r\n this.setList();\r\n }\r\n\r\n setList() {\r\n const data: any = [];\r\n const categoryList = cloneDeep(this.allCategories);\r\n const selectedIds = cloneDeep(this.selectedIds);\r\n this.categoryList.regulations.selectedList = [];\r\n this.categoryList.standards.selectedList = [];\r\n this.categoryList.internalControls.selectedList = [];\r\n this.categoryList.others.selectedList = [];\r\n\r\n categoryList.forEach((element: any) => {\r\n if (selectedIds.includes(element[this.categoryIdKey])) {\r\n data.push(element);\r\n }\r\n });\r\n this.selectedCategories = data;\r\n\r\n this.categoryList.regulations.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.regulations.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.standards.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.standards.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.internalControls.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.internalControls.selectedList.push(category)\r\n }\r\n });\r\n this.categoryList.others.list.forEach((category: any) => {\r\n if (selectedIds.includes(category[this.categoryIdKey])) {\r\n this.categoryList.others.selectedList.push(category)\r\n }\r\n });\r\n if (!this.activeTab) {\r\n this.setActiveTab();\r\n }\r\n }\r\n setActiveTab() {\r\n if (this.categoryList.regulations.selectedList.length > 0) {\r\n this.activeTab = 'regulations'\r\n } else if (this.categoryList.standards.selectedList.length > 0) {\r\n this.activeTab = 'standards'\r\n } else if (this.categoryList.internalControls.selectedList.length > 0) {\r\n this.activeTab = 'internalControls'\r\n } else if (this.categoryList.others.selectedList.length > 0) {\r\n this.activeTab = 'others'\r\n } else {\r\n this.activeTab = 'regulations'\r\n }\r\n }\r\n\r\n\r\n checkSelectAll(activeTab: any) {\r\n const data = this.categoryList[activeTab].list.every((user: any) => this.selectedIds.includes(user[this.categoryIdKey]));\r\n return data;\r\n }\r\n\r\n save() {\r\n this.saveSelectedCategory.emit(this.selectedCategories);\r\n }\r\n\r\n close() {\r\n this.closeCategoriesList.emit();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ResponsibilityService } from '../../workflow-services/responsibility.service';\r\nimport { ParentTableComponent } from './parent-table/parent-table.component';\r\n\r\n@Component({\r\n selector: 'app-framework-list',\r\n templateUrl: './framework-list.component.html',\r\n styleUrls: ['./framework-list.component.less']\r\n})\r\nexport class FrameworkListComponent implements OnInit {\r\n @Input() categoryList: any;\r\n activeTab: any = 'regulations';\r\n breadCrumb: any[] = [];\r\n search = '';\r\n showParent = true;\r\n showChild = false;\r\n parentData: object = {}\r\n @ViewChild('parentTable') tableComponent!: ParentTableComponent;\r\n @Output() entrustFramework = new EventEmitter();\r\n @Output() closeFramework = new EventEmitter();\r\n\r\n\r\n\r\n constructor(private responsibilityService: ResponsibilityService) { }\r\n\r\n ngOnInit(): void {\r\n console.log(\"categoryList ==>\", this.categoryList)\r\n this.parentData = Object.assign(this.categoryList);\r\n \r\n console.log(\"categoryList ==>\", this.parentData)\r\n }\r\n\r\n \r\n\r\n expandCategory(category: any) {\r\n if (category.category_name) {\r\n this.breadCrumb = [];\r\n category.category_name.forEach((categoryItem: any, index: any) => {\r\n let obj;\r\n if (index == category.category_name.length - 1) {\r\n obj = {\r\n itemName: categoryItem,\r\n itemId: category._id\r\n }\r\n } else {\r\n obj = {\r\n itemName: categoryItem,\r\n itemId: category.parent_cat_obj_ids[index]\r\n }\r\n }\r\n this.breadCrumb.push(obj);\r\n });\r\n }\r\n\r\n }\r\n getCategoryDetailsById(id?: any) {\r\n \r\n if(!id || id == null) {\r\n this.breadCrumb = [];\r\n this.showParent = true;\r\n this.showChild = false;\r\n console.log()\r\n this.categoryList = Object.assign(this.parentData)\r\n this.showParent=false;\r\n setTimeout(() => {\r\n this.showParent=true;\r\n }, 100);\r\n return\r\n }\r\n this.tableComponent.getCategoryDetailsById(id);\r\n }\r\n entrustFrameworkDetails(report: any) {\r\n this.entrustFramework.emit(report);\r\n }\r\n close(){\r\n this.closeFramework.emit();\r\n \r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, Optional } from '@angular/core';\r\nimport { cloneDeep } from 'lodash-es';\r\nimport { Configurations } from '../../../configurations';\r\nimport { ResponsibilityService } from '../../../workflow-services/responsibility.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-parent-table',\r\n templateUrl: './parent-table.component.html',\r\n styleUrls: ['./parent-table.component.less']\r\n})\r\nexport class ParentTableComponent implements OnInit {\r\n\r\n @Input() tableList: any[] = [];\r\n @Input() search = '';\r\n\r\n @Output() closeParent = new EventEmitter();\r\n @Output() expandCategory = new EventEmitter();\r\n @Output() entrustFramework = new EventEmitter();\r\n\r\n parentViewData: Array<any> = [];\r\n libraryReport = [];\r\n entities = [];\r\n currentCategory: any;\r\n loader = false;\r\n currentEntity: any;\r\n searchText='';\r\n env: any;\r\n picUrl: string = '';\r\n constructor(private responsibilityService: ResponsibilityService, @Optional() config?: Configurations) {\r\n this.env = config?.envConfig;\r\n this.picUrl = this.env.s3Url + this.env.s3Bucket + this.env.profile;\r\n }\r\n\r\n ngOnChanges(){\r\n this.searchText=this.search;\r\n }\r\n\r\n ngOnInit(): void {\r\n console.log(\"this.tableList\", this.tableList);\r\n this.parentViewData = [...new Set(this.tableList)];\r\n }\r\n\r\n getCategoryDetailsById(id: any) {\r\n if(!id || id == null) {\r\n console.log(\"this.parentViewData\", this.parentViewData);\r\n this.tableList = [...new Set(this.parentViewData)];\r\n return\r\n }\r\n this.loader =true;\r\n this.search = '';\r\n this.responsibilityService.getCategoryDetailsById(id).subscribe((res: any) => {\r\n this.expandCategory.emit(cloneDeep(res[0]));\r\n this.currentCategory = cloneDeep(res[0]);\r\n this.libraryReport = cloneDeep(res[0].libraryReport);\r\n this.entities = cloneDeep(res[0].all_entities_name);\r\n this.tableList = cloneDeep(res).slice(1)\r\n this.currentEntity = undefined;\r\n this.loader =false;\r\n }, err => {\r\n console.error(err);\r\n this.loader =false;\r\n })\r\n }\r\n\r\n entrustFrameworkDetails(report: any) {\r\n this.entrustFramework.emit(report);\r\n }\r\n entity_open(data: any) {\r\n this.loader = true;\r\n this.responsibilityService.getRCDetailsOfFramework(data._id, this.currentCategory._id).subscribe((res: any) => {\r\n this.expandCategory.emit(cloneDeep(res[0]));\r\n this.currentEntity = cloneDeep(res[0].all_entities_name[0].rc_name);\r\n this.libraryReport = cloneDeep(res[0].libraryReport);\r\n this.entities = cloneDeep(res[0].all_entities_name);\r\n this.entities = this.entities.filter((rc: any) => rc._id !== data._id);\r\n this.tableList = cloneDeep(res).slice(1)\r\n this.loader =false;\r\n }, err => {\r\n console.error(err);\r\n this.loader =false;\r\n })\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\n@Component({\r\n selector: 'app-users-radio-list',\r\n templateUrl: './users-radio-list.component.html',\r\n styleUrls: ['./users-radio-list.component.less'],\r\n})\r\nexport class UserRadioListComponent implements OnInit, OnChanges {\r\n @Input() usersList = [];\r\n @Input() selectedUsers:any = '';\r\n @Input() userIdKey = '';\r\n @Input() itemNameKey = '';\r\n @Input() itemEmailKey = '';\r\n @Output() saveSelectedList = new EventEmitter();\r\n @Output() closeUsersList = new EventEmitter();\r\n selectedUser:any;\r\n\r\n search = '';\r\n selectedIds: any[] = [];\r\n animation = false;\r\n constructor() { }\r\n\r\n ngOnChanges(): void {\r\n this.selectedUser = this.selectedUsers[0]\r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n }\r\n\r\n selectUser(user: any) {\r\n console.log(\"uuuuu\",user)\r\n this.selectedUser = user\r\n\r\n }\r\n deleteEvent(event: any) {\r\n this.selectedUser = ''\r\n }\r\n save() {\r\n this.saveSelectedList.emit(this.selectedUser);\r\n }\r\n\r\n close() {\r\n this.closeUsersList.emit();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'dataType'\r\n})\r\nexport class DataTypePipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: unknown[]): any {\r\n return typeof value;\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-checkpoint-floating-bar',\r\n templateUrl: './checkpoint-floating-bar.component.html',\r\n styleUrls: ['./checkpoint-floating-bar.component.less']\r\n})\r\nexport class CheckpointFloatingBarComponent implements OnInit {\r\n@Input() count = 0;\r\n@Input() pluralText = '';\r\n@Input() singularText = '';\r\n@Output() closeList : EventEmitter<any> = new EventEmitter();\r\n@Output() saveList : EventEmitter<any> = new EventEmitter();\r\n@Input() requiredPoint = 0;\r\n@Input() isPolicyCheckpoint = false;\r\n@Output() requiredPointChange = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n next(){\r\n this.saveList.emit();\r\n }\r\n\r\n close(){\r\n this.closeList.emit();\r\n }\r\n\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { SnackBarService } from './snack-bar.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-snack-bar',\r\n templateUrl: './snack-bar.component.html',\r\n styleUrls: ['./snack-bar.component.less'],\r\n})\r\nexport class SnackBarComponent implements OnInit, OnDestroy {\r\n show = false;\r\n message = '--';\r\n icon = '&#xe914;';\r\n snackbarSubscription!: Subscription;\r\n constructor(private snackbarService: SnackBarService) {}\r\n\r\n ngOnInit(): void {\r\n this.snackbarSubscription = this.snackbarService.snackbarState.subscribe((state) => {\r\n if (state?.type) {\r\n this.icon = state.type;\r\n } else {\r\n this.icon = '&#xe914;';\r\n }\r\n this.message = state.message;\r\n this.show = state.show;\r\n this.setAutoClose();\r\n });\r\n }\r\n\r\n setAutoClose(){\r\n setTimeout(() => {\r\n this.show = false;\r\n this.close();\r\n }, 3000);\r\n }\r\n close() {\r\n this.show = false;\r\n this.snackbarService.hide();\r\n }\r\n ngOnDestroy() {\r\n this.snackbarSubscription.unsubscribe();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SnackBarComponent } from './snack-bar.component';\r\n\r\n@NgModule({\r\n declarations: [SnackBarComponent],\r\n imports: [CommonModule],\r\n exports: [SnackBarComponent],\r\n})\r\nexport class SnackBarModule {}\r\n","import { cloneDeep } from 'lodash';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-risk-classification',\r\n templateUrl: './risk-classification.component.html',\r\n styleUrls: ['./risk-classification.component.less', '../../forms.less']\r\n})\r\nexport class RiskClassificationComponent implements OnInit {\r\n constructor() { }\r\n animation = true;\r\n @Input() currentRiskValue : any ;\r\n @Output() saveList = new EventEmitter();\r\n @Output() closeList = new EventEmitter();\r\n riskClassification = [\r\n {name: 'Low', value: 1, class: 'low' },\r\n {name: 'Low-Medium', value: 2 , class: 'low-med'},\r\n {name: 'Medium-High', value: 3, class: 'med-high'},\r\n {name: 'High', value: 4, class: 'high'}\r\n ];\r\n riskIntensityList = [\r\n { name: 'Not Applicable', value: '0' },\r\n { name: 'Low', value: '1' },\r\n { name: 'Medium', value: '2' },\r\n { name: 'High', value: '3' },\r\n ];\r\n identificationList = [\r\n { name: 'Easy to Identify', value: '1' },\r\n { name: 'Intermediate', value: '2' },\r\n { name: 'Difficult', value: '3' },\r\n ];\r\n selectedValues = {\r\n envThreat: '0',\r\n regThreat : '0',\r\n machineThreat: '0',\r\n lifeThreat : '0',\r\n probability : '1',\r\n identification: '1'\r\n };\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 500);\r\n }\r\n generateRiskClass(){\r\n this.currentRiskValue = this.calculateRiskClass(this.getArrayFromObject(this.selectedValues));\r\n }\r\n getArrayFromObject(object: object){\r\n const risk = [];\r\n for (const value of Object.values(object)){\r\n risk.push(parseInt(value, 10)); }\r\n return risk;\r\n }\r\n calculateRiskClass(riskMatrices: number[]): number{\r\n if (riskMatrices.length !== 6 ){return -1 ; }\r\n const impact = riskMatrices[0] * 1 + riskMatrices[1] * 2 + riskMatrices[2] * 2 + riskMatrices[3] * 3; // total impact\r\n const risk = impact * riskMatrices[4] + impact * riskMatrices[5];\r\n console.log(risk);\r\n switch (true) {\r\n case risk <= 9: {\r\n return 1;\r\n }\r\n case risk >= 10 && risk <= 23: {\r\n return 2;\r\n }\r\n case risk >= 24 && risk <= 39: {\r\n return 3;\r\n }\r\n case risk >= 40 && risk <= 144: {\r\n return 4;\r\n }\r\n default:\r\n return 1;\r\n }\r\n }\r\n\r\n save(){\r\n this.saveList.emit({riskClass: this.currentRiskValue, riskMatrix: this.getArrayFromObject(this.selectedValues).join(',')});\r\n }\r\n close(){\r\n this.closeList.emit();\r\n }\r\n}\r\n","import { Component, OnInit, OnChanges, Output, EventEmitter, Input } from '@angular/core';\r\nimport { AuthService } from '../../workflow-services/auth.service';\r\nimport { PolicyService } from '../../workflow-services/policy.service';\r\nimport { ResponsibilityService } from '../../workflow-services/responsibility.service';\r\n\r\n@Component({\r\n selector: 'app-format-and-evidence',\r\n templateUrl: './format-and-evidence.component.html',\r\n styleUrls: ['./format-and-evidence.component.less', '../../forms.less'],\r\n\r\n})\r\nexport class FormatAndEvidenceComponent implements OnInit {\r\n @Output() updateFiles = new EventEmitter();\r\n @Input() mode = '';\r\n @Input() categories: any[] = [];\r\n @Input() organization_id: any = '';\r\n @Input() set formatEvidanceData(value: any) {\r\n if (value) {\r\n this.initializeData(value, 'not ng on init');\r\n }\r\n }\r\n isNewLinkDisabled = false;\r\n isEditDisabled = false;\r\n constructor(\r\n private responsibilityService: ResponsibilityService,\r\n private policyService: PolicyService,\r\n private authService: AuthService\r\n ) { }\r\n\r\n formate: any = {\r\n hasUploadFormate: false,\r\n formateType: 'FILE', // LINK\r\n isEvidenceRequired: false,\r\n links: [],\r\n files: [],\r\n uploadInProgress: {},\r\n };\r\n\r\n newLink = {\r\n link: '',\r\n containsError: false\r\n };\r\n ngOnInit(): void {\r\n if (this.formatEvidanceData) {\r\n this.initializeData(this.formatEvidanceData, 'ng on init');\r\n }\r\n\r\n }\r\n\r\n initializeData(settings: any, type: string) {\r\n this.formate.hasUploadFormate = settings?.formatRequired ?? false;\r\n this.formate.formateType = settings?.formatLinks?.length > 0 ? 'LINK' : 'FILE';\r\n this.formate.isEvidenceRequired = settings?.evidenceRequired ?? false;\r\n this.formate.links = this.arraytoLinkObject(settings?.formatLinks) ?? [];\r\n this.formate.files = settings?.formatFiles ?? [];\r\n }\r\n toggleIsFormateUpload(status: boolean) {\r\n if (status === true) {\r\n this.formate.hasUploadFormate = true;\r\n } else {\r\n this.formate.hasUploadFormate = false;\r\n }\r\n this.emitValue();\r\n }\r\n\r\n toggleIsFormatRequired(status: boolean) {\r\n if (status === true) {\r\n this.formate.isEvidenceRequired = true;\r\n } else {\r\n this.formate.isEvidenceRequired = false;\r\n }\r\n this.emitValue();\r\n }\r\n\r\n toggleAttachmentType(type: string) {\r\n this.formate.formateType = type;\r\n if (type === 'LINK' && this.formate.links.length === 0) {\r\n // TODO\r\n }\r\n this.emitValue();\r\n }\r\n\r\n insertLink(mode: any, index: number = -1) {\r\n // const urlRegex = new RegExp('(https?://)?([\\\\da-z.-]+)\\\\.([a-z.]{2,6})[/\\\\w .-]*/?');\r\n const urlRegex = /(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})/gi;\r\n if (mode === 'CREATE') {\r\n if (this.newLink.link.length === 0) { this.resetNewLink(); return; }\r\n const isValid = urlRegex.test(this.newLink.link);\r\n if (isValid) {\r\n this.newLink.containsError = false;\r\n this.formate.links.push(this.newLink);\r\n this.resetNewLink();\r\n\r\n } else {\r\n this.newLink.containsError = true;\r\n }\r\n }\r\n else if (mode === 'EDIT') {\r\n if (this.formate.links[index].link.length === 0) {\r\n this.formate.links.splice(index, 1);\r\n this.isEditEnabled();\r\n this.isNewLinkDisabled = false;\r\n this.emitValue(); return;\r\n }\r\n const isValid = urlRegex.test(this.formate.links[index].link);\r\n if (isValid) {\r\n this.formate.links[index].isEditing = false;\r\n this.formate.links[index].containsError = false;\r\n this.formate.links[index].isEditing = false;\r\n this.isNewLinkDisabled = false;\r\n this.isEditEnabled();\r\n } else {\r\n this.formate.links[index].containsError = true;\r\n }\r\n }\r\n this.emitValue();\r\n }\r\n\r\n editLink(index: number) {\r\n this.formate.links[index].isEditing = true;\r\n this.isNewLinkDisabled = true;\r\n this.isEditEnabled();\r\n }\r\n\r\n deleteLink(index: number) {\r\n this.formate.links.splice(index, 1);\r\n this.isEditEnabled();\r\n this.emitValue();\r\n }\r\n\r\n resetNewLink() {\r\n this.newLink = {\r\n link: '',\r\n containsError: false\r\n };\r\n this.emitValue();\r\n }\r\n\r\n onFileDropped(files: any) {\r\n Array.from(files).forEach((file: any) => {\r\n const uid: string = Math.random().toString(36).substring(2, 14);\r\n this.uploadFile(file, uid);\r\n });\r\n }\r\n\r\n uploadFile(file: any, uid: string) {\r\n this.formate.uploadInProgress[uid] = file.name;\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n if (this.mode == 'policy' || this.mode == 'policyReviewer') {\r\n const path = 'o/' + this.organization_id + '/policy/'\r\n this.policyService.fileUploadWorkroom(formData, path).subscribe((data: any) => {\r\n this.formate.files.push({\r\n filepath: path,\r\n file_name: data.org_file,\r\n filename: data.name,\r\n original_filename: data.org_file,\r\n linkSet: '',\r\n });\r\n delete this.formate.uploadInProgress[uid];\r\n this.emitValue();\r\n });\r\n } else {\r\n this.responsibilityService.uploadToNode(formData, 'uploadFormat' + '/').subscribe((data: any) => {\r\n this.formate.files.push({\r\n filepath: 'uploadFormat',\r\n file_name: data.org_file,\r\n filename: data.name,\r\n original_filename: data.org_file,\r\n });\r\n delete this.formate.uploadInProgress[uid];\r\n this.emitValue();\r\n });\r\n }\r\n\r\n }\r\n\r\n deleteAttachment(index: number) {\r\n this.formate.files.splice(index, 1);\r\n this.emitValue();\r\n }\r\n\r\n emitValue() {\r\n if (this.mode == 'policy' || this.mode == 'policyReviewer') {\r\n const payload = {\r\n isFormateUploaded: this.formate.hasUploadFormate,\r\n links: (this.formate.formateType === 'LINK') ? this.getLinksArray(this.formate.links?.length ?[...this.formate.links]:[]) : [],\r\n files: (this.formate.formateType === 'FILE') ? this.formate.files : [],\r\n formateType: this.formate.formateType,\r\n isEvidenceRequired: this.formate.isEvidenceRequired\r\n };\r\n payload.links = payload.links.filter((ele:any)=> ele !== undefined);\r\n\r\n this.updateFiles.emit(payload);\r\n } else {\r\n const payload = {\r\n isFormateUploaded: this.formate.hasUploadFormate,\r\n links: (this.formate.hasUploadFormate && this.formate.formateType === 'LINK') ? this.getLinksArray([...this.formate.links]) : [],\r\n files: (this.formate.hasUploadFormate && this.formate.formateType === 'FILE') ? this.formate.files : [],\r\n formateType: this.formate.formateType,\r\n isEvidenceRequired: this.formate.isEvidenceRequired\r\n };\r\n payload.links = payload.links.filter((ele:any)=> ele !== undefined);\r\n this.updateFiles.emit(payload);\r\n }\r\n\r\n }\r\n getLinksArray(links: any) {\r\n const link = links.map((e: any) => {\r\n if (e.link && !e?.containsError && !e?.isEditing) {\r\n return e.link;\r\n }\r\n });\r\n if(link?.length <= 1 && link[0] === undefined ){\r\n return [];\r\n }else{\r\n return link;\r\n }\r\n\r\n }\r\n\r\n arraytoLinkObject(linksArray: any) {\r\n if (linksArray) {\r\n const links = linksArray.map((e: any) => {\r\n return { link: e, containsError: false, isEditing: false };\r\n });\r\n\r\n return links;\r\n } else {\r\n return [];\r\n }\r\n }\r\n\r\n isEditEnabled() {\r\n for (const item of this.formate.links) {\r\n if (item.isEditing === true) {\r\n this.isEditDisabled = true;\r\n return;\r\n } else {\r\n this.isEditDisabled = false;\r\n }\r\n }\r\n }\r\n policyLinkSetList = [\r\n 'Policy Charter',\r\n 'Related Policy Documents/Other References',\r\n 'Procedures Linked to this Policy',\r\n 'Implementation Guidelines for this Policy',\r\n 'Training Materials for this Policy'\r\n ]\r\n selectedLinkSetChange(event: any, index: number) {\r\n this.formate.files[index].linkSet = event;\r\n this.emitValue()\r\n }\r\n uploadPolicyAttachments(formData: any) {\r\n\r\n const path = 'o/' + this.organization_id + '/policy/'\r\n this.policyService.fileUploadWorkroom(formData, path).subscribe((data: any) => {\r\n\r\n const payload = {\r\n file_name: data.name,\r\n original_file_name: data.org_file,\r\n path: path,\r\n organisation_id: this.authService.getOrganizationId(),\r\n member_id: this.authService.getMemberId(),\r\n category_id: this.categories,\r\n clap_id: 0,\r\n contract_type: 4,\r\n folder_id: 0,\r\n };\r\n // this.policyService.saveUploadedFiles(payload).subscribe((data: any) => {\r\n // this.latestUploaded = data.encrypted_id;\r\n // console.log(data);\r\n // let all_response = this.policyService.policyCategoryList.getValue() as any;\r\n // let new_response = data;\r\n // if (all_response.attachments == undefined) {\r\n // all_response.push(new_response);\r\n // } else {\r\n // all_response.attachments.push(new_response);\r\n // }\r\n // this.policyService.policyCategoryList.next(all_response);\r\n // this.policyService.isUploaded = false;\r\n // this.isUploading = false;\r\n // if (this.entity_type == 'survey') {\r\n // this.fetchFile(true, this.entity_data.survey_id, this.currentFolderId);\r\n // } else if (this.entity_type == 'contracts') {\r\n // this.fetchFile(true, this.entity_data.contract_id, this.currentFolderId);\r\n // } else {\r\n // this.fetchFile(true, this.entity_data.policy_id ? this.entity_data.policy_id : this.entity_data.contract_id, this.currentFolderId);\r\n // }\r\n\r\n // }, error => {\r\n\r\n // });\r\n });\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Output,\r\n Input,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDragDrop]'\r\n})\r\nexport class DragDropDirective {\r\n @HostBinding('class.active') fileOver !: boolean;\r\n @Output() fileDropped = new EventEmitter<any>();\r\n\r\n // Dragover listener\r\n @HostListener('dragover', ['$event']) onDragOver(evt:any) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = true;\r\n }\r\n\r\n // Dragleave listener\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt:any) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n }\r\n\r\n // Drop listener\r\n @HostListener('drop', ['$event']) public ondrop(evt:any) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n let files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.fileDropped.emit(files);\r\n }\r\n }\r\n}\r\n\r\n","\r\nimport { AfterViewInit, Directive, ElementRef, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appAutofocus]'\r\n})\r\n\r\nexport class AutofocusDirective implements AfterViewInit {\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // Otherwise Angular throws error: Expression has changed after it was checked.\r\n window.setTimeout(() => {\r\n this.el.nativeElement.focus();\r\n });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { SnackBarService } from '../../ui-kit/snack-bar/snack-bar.service';\r\n\r\n@Component({\r\n selector: 'app-review-frequency',\r\n templateUrl: './review-frequency.component.html',\r\n styleUrls: ['./review-frequency.component.less']\r\n})\r\nexport class ReviewFrequencyComponent implements OnInit {\r\n @Input() reviewCompleteDays: any;\r\n @Input() reviewNOtCompletedDays: any;\r\n @Output() closeReviewFrequency = new EventEmitter();\r\n @Output() backToUserList = new EventEmitter();\r\n @Output() saveReviewFrequency = new EventEmitter()\r\n\r\n\r\n constructor(private snackbar: SnackBarService,) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n close() {\r\n this.backToUserList.emit();\r\n\r\n\r\n }\r\n save() {\r\n this.saveReviewFrequency.emit({ completeDays: this.reviewCompleteDays, notCompleted: this.reviewNOtCompletedDays })\r\n }\r\n onValueChange(){\r\n if(this.reviewCompleteDays<1){\r\n this.snackbar.show('Please enter a value greater than 0.');\r\n\r\n }\r\n }\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, Input, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appScrollInView]'\r\n})\r\nexport class ScrollInViewDirective implements OnChanges {\r\n@Input() appScrollInView = false;\r\n constructor(private el: ElementRef) {\r\n }\r\nngOnChanges(change:SimpleChanges){\r\n if(change?.appScrollInView && change?.appScrollInView?.currentValue === true){\r\n this.scroll();\r\n }\r\n}\r\n ngAfterViewInit() {\r\n // Otherwise Angular throws error: Expression has changed after it was checked.\r\n this.scroll();\r\n }\r\n\r\n scroll(){\r\n if(this.appScrollInView){\r\n window.setTimeout(() => {\r\n this.el.nativeElement.scrollIntoView({behavior: 'smooth', block: 'center'});\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, EventEmitter, Output, HostListener } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-smiley-dialog-inline',\r\n templateUrl: './smiley-dialog-inline.component.html',\r\n styleUrls: ['./smiley-dialog-inline.component.less'],\r\n})\r\nexport class SmileyDialogInlineComponent implements OnInit {\r\n @Input() message!: string;\r\n @Input() actionButtons!: any[];\r\n @Output() action: EventEmitter<string> = new EventEmitter();\r\n @Output() closeSmiley: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostListener('window:keyup', ['$event']) handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.smileyCloseEmitter({});\r\n }\r\n }\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n setTimeout(()=>{\r\n this.smileyCloseEmitter();\r\n },3000)\r\n }\r\n\r\n actionEmitter(event: any) {\r\n this.action.emit(event?.id);\r\n }\r\n\r\n smileyCloseEmitter(event?: any) {\r\n this.closeSmiley.emit();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SmileyDialogInlineComponent } from './smiley-dialog-inline.component';\r\n\r\n@NgModule({\r\n declarations: [SmileyDialogInlineComponent],\r\n imports: [CommonModule],\r\n\r\n exports: [SmileyDialogInlineComponent],\r\n})\r\nexport class SmileyDialogInlineModule {}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[clickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n constructor(private elementRef: ElementRef) {}\r\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostListener('document:click', ['$event.target']) onMouseEnter(targetElement: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.clickOutside.emit(null);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ClickOutsideDirective],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n ClickOutsideDirective\r\n ]\r\n})\r\nexport class ClickOutsideModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n\r\n@Pipe({\r\n name: 'shortMerge',\r\n pure:false\r\n})\r\nexport class ShortMergePipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n if(args[0] && args[0].length> 0){\r\n let primaryEntries = value.filter((e:any)=> args[0].includes(e?.member_id));\r\n let secondaryEntries = value.filter((e:any)=> !args[0].includes(e?.member_id));\r\n return [...primaryEntries,...secondaryEntries];\r\n }else{\r\n return value;\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'spaceBreaker'\r\n})\r\nexport class SpaceBreakerPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n\r\n if(value.length){\r\n return value.replace(/&nbsp;/g, '').replace(/\\<br\\s*[\\/]?>/gi, '').trim();\r\n }else{\r\n return value;\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'formatHtml'\r\n})\r\nexport class FormatHtmlPipe implements PipeTransform {\r\n\r\n constructor(private sanitized: DomSanitizer) {}\r\n transform(value: string) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'withinData'\r\n})\r\nexport class WithinDataPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n if(value.parent_items_name) {\r\n return `<br><span class='within-row'><span class='within'>WITHIN</span> <span class='within-value'>${value.parent_items_name}</span></span>`\r\n } else {\r\n return ''\r\n }\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PopoverHoverService {\r\n positionX!: number;\r\n positionY!: number;\r\n popoverHeight: any;\r\n popoverWidth: any;\r\n elementPosition: any;\r\n elementDirection: any;\r\n constructor() { }\r\n}\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { PopoverHoverService } from './popover-hover.service';\r\n\r\n@Component({\r\n selector: 'popover-hover',\r\n templateUrl: './popover-hover.component.html',\r\n styleUrls: ['./popover-hover.component.less']\r\n})\r\nexport class PopoverHoverComponent implements OnInit {\r\n\r\n popoverContainer = false;\r\n @ViewChild('popoverRatio') popoverRatio!: ElementRef;\r\n @ViewChild('popoverContent') popoverContent!: ElementRef;\r\n constructor(public popoverService: PopoverHoverService) { }\r\n showPopover = false;\r\n leftValue: any;\r\n topValue: any;\r\n popoverHeight: any;\r\n popoverWidth: any;\r\n positionX!: number;\r\n positionY!: number;\r\n popoverPosition: string | any;\r\n ngOnInit(): void { }\r\n popover() {\r\n this.popoverContainer = false;\r\n this.popoverContainer = true;\r\n setTimeout(() => {\r\n this.getPosition();\r\n this.showPopover = true;\r\n }, 10);\r\n return false;\r\n }\r\n closePopover() {\r\n this.popoverContainer = false;\r\n this.showPopover = false;\r\n }\r\n clickedPopover() {\r\n this.getPosition();\r\n }\r\n getPosition() {\r\n const elementPosition = this.popoverService.elementPosition;\r\n this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;\r\n this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;\r\n if (this.popoverService.elementDirection === 'left') {\r\n this.leftValue = elementPosition.left;\r\n if (elementPosition.top + elementPosition.height + this.popoverHeight > window.outerHeight - 220) {\r\n this.topValue = elementPosition.top - this.popoverHeight;\r\n this.popoverPosition = 'top';\r\n } else {\r\n this.topValue = elementPosition.top + elementPosition.height;\r\n this.popoverPosition = 'bottom';\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'right') {\r\n this.leftValue = elementPosition.left + elementPosition.width - this.popoverWidth;\r\n if (elementPosition.top + elementPosition.height + this.popoverHeight > window.outerHeight - 220) {\r\n this.topValue = elementPosition.top - this.popoverHeight;\r\n this.popoverPosition = 'top';\r\n } else {\r\n this.topValue = elementPosition.top + elementPosition.height;\r\n this.popoverPosition = 'bottom';\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'top') {\r\n this.leftValue = elementPosition.left + elementPosition.width;\r\n if (elementPosition.top + elementPosition.height + this.popoverHeight > window.outerHeight - 220) {\r\n this.topValue = elementPosition.top - this.popoverHeight;\r\n this.popoverPosition = 'top';\r\n } else {\r\n this.topValue = elementPosition.top - this.popoverHeight;\r\n this.popoverPosition = 'bottom';\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'bottom') {\r\n this.leftValue = elementPosition.left + elementPosition.width;\r\n if (elementPosition.top + elementPosition.height + this.popoverHeight > window.outerHeight - 220) {\r\n this.topValue = elementPosition.top - this.popoverHeight;\r\n this.popoverPosition = 'top';\r\n } else {\r\n this.topValue = elementPosition.top + elementPosition.height;\r\n this.popoverPosition = 'bottom';\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'self-position') {\r\n this.leftValue = elementPosition.left + elementPosition.width / 2 - this.popoverWidth / 2;\r\n this.topValue = elementPosition.top - 15;\r\n }\r\n if (this.popoverService.elementDirection === 'top-center') {\r\n this.leftValue = elementPosition.left + elementPosition.width / 2 - this.popoverWidth / 2;\r\n if (elementPosition.top + elementPosition.height + this.popoverHeight > window.outerHeight) {\r\n this.topValue = elementPosition.top + elementPosition.height;\r\n } else {\r\n this.topValue = elementPosition.top - this.popoverHeight;\r\n }\r\n }\r\n if (this.popoverService.elementDirection === 'center') {\r\n this.leftValue = elementPosition.left + elementPosition.width / 2 - this.popoverWidth / 2;\r\n this.topValue = elementPosition.top + elementPosition.height;\r\n }\r\n this.positionX = this.leftValue;\r\n this.positionY = this.topValue;\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { PopoverHoverService } from './popover-hover.service';\r\n\r\n@Directive({\r\n selector: '[libPopoverHover]'\r\n})\r\nexport class PopoverHoverDirective {\r\n @Input() placement!: string;\r\n leftValue: any;\r\n topValue: any;\r\n constructor(private elRef: ElementRef, private popoverService: PopoverHoverService) { }\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n this.popoverService.elementDirection = this.placement;\r\n }\r\n @HostListener('mouseover') onMouseOver() {\r\n this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();\r\n this.popoverService.elementDirection = this.placement;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverHoverComponent } from './popover-hover.component';\r\nimport { PopoverHoverDirective } from './popover-hover.directive';\r\nimport { PopoverHoverService } from './popover-hover.service';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PopoverHoverComponent,\r\n PopoverHoverDirective\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n PopoverHoverComponent,\r\n PopoverHoverDirective\r\n ],\r\n providers: [PopoverHoverService],\r\n})\r\nexport class PopoverHoverModule { }\r\n","import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-responsibility-risk-selector',\r\n templateUrl: './responsibility-risk-selector.component.html',\r\n styleUrls: ['./responsibility-risk-selector.component.less']\r\n})\r\nexport class ResponsibilityRiskSelectorComponent implements OnInit {\r\n animation = true;\r\n activeTab = 'RESPONSIBILITY';\r\n controlIdKey = 'itemControlId';\r\n itemDisplayKey = 'itemControlName';\r\n identifierKey ='itemId';\r\n\r\n @Input() set activeEntity(value:any){\r\n if(value){\r\n this.activeTab = value;\r\n }\r\n }\r\n @Input() listItems = [];\r\n @Input() selectedItems:any = [];\r\n @Input() loading = false;\r\n @Output() fetchList = new EventEmitter();\r\n @Output() closeList = new EventEmitter();\r\n @Output() saveList = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n this.selectedItems = this.arrayToId(this.selectedItems, this.identifierKey);\r\n }\r\n\r\n changeTab(type: string){\r\n if(this.loading === true){\r\n return;\r\n }\r\n this.activeTab = type;\r\n this.fetchList.emit(type);\r\n this.listItems = [];\r\n }\r\n selectItem(item: any) {\r\n this.selectedItems = [];\r\n this.selectedItems.push(item);\r\n }\r\n deleteItem(item: any) {\r\n this.selectedItems = [];\r\n // this.rerenderList();\r\n }\r\n\r\n\r\n save() {\r\n this.saveList.emit(this.selectedItems);\r\n }\r\n\r\n close() {\r\n this.closeList.emit();\r\n }\r\n\r\n\r\n arrayToId(array: any, identifierKey: any) {\r\n return array.map((a: any) => a[identifierKey]);\r\n }\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, Input, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appConditionalFocus]'\r\n})\r\nexport class ConditionalFocusDirective implements OnChanges {\r\n @Input() appConditionalFocus = false;\r\n constructor(private el: ElementRef) { }\r\n ngOnChanges(change:SimpleChanges){\r\n if(change?.appConditionalFocus && change?.appConditionalFocus?.currentValue === true){\r\n this.focus();\r\n }\r\n }\r\n ngAfterViewInit() {\r\n // Otherwise Angular throws error: Expression has changed after it was checked.\r\n this.focus();\r\n\r\n}\r\n\r\nfocus(){\r\n if(this.appConditionalFocus){\r\n window.setTimeout(() => {\r\n this.el.nativeElement.focus();\r\n });\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-list-loader',\r\n templateUrl: './list-loader.component.html',\r\n styleUrls: ['./list-loader.component.less']\r\n})\r\nexport class ListLoaderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'arrayFilter'\r\n})\r\nexport class ArrayFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n return value.filter((item:any)=>{\r\n return item.itemType === args[0]\r\n })\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { auditCategoryModel } from './audit-category.model';\r\n\r\n@Component({\r\n selector: 'app-audit-category-list',\r\n templateUrl: './audit-category-list.component.html',\r\n styleUrls: ['./audit-category-list.component.less'],\r\n})\r\nexport class AuditCategoryListComponent implements OnInit, OnChanges {\r\n animation = false;\r\n searchInput: string = '';\r\n\r\n @Input() selectedData: any;\r\n @Input() selectedIndex: number = -1;\r\n @Input() auditCategory!: Array<auditCategoryModel>;\r\n\r\n \r\n @Output() closeList: EventEmitter<any> = new EventEmitter();\r\n @Output() saveSelectedList: EventEmitter<any> = new EventEmitter();\r\n \r\n constructor() { }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if(changes.selectedData?.currentValue) {\r\n this.populateSelectedData();\r\n }\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n }\r\n\r\n onCategorySelection(index: number) {\r\n console.log(index)\r\n this.selectedIndex = index;\r\n }\r\n save() {\r\n this.saveSelectedList.emit(this.auditCategory[this.selectedIndex])\r\n }\r\n\r\n deleteEvent(event: any) {\r\n this.selectedIndex = -1;\r\n }\r\n\r\n close() {\r\n this.closeList.emit(false)\r\n }\r\n\r\n populateSelectedData() {\r\n this.selectedIndex = this.auditCategory.findIndex(category => category.category_id === this.selectedData.category_id)\r\n }\r\n\r\n}\r\n","import { PlatformLocation } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SnackBarService } from '../../ui-kit/snack-bar/snack-bar.service';\r\nimport { PolicyService } from '../../workflow-services/policy.service';\r\n@Component({\r\n selector: 'lib-document-section',\r\n templateUrl: './document-section.component.html',\r\n styleUrls: ['./document-section.component.less']\r\n})\r\nexport class DocumentSectionComponent implements OnInit {\r\n private fileToUpload: any;\r\n filename = '';\r\n fileType = '';\r\n pdf = false;\r\n draft = false;\r\n doc = false;\r\n isUploading = false;\r\n isLoader = false;\r\n selectedDocumentType = ''\r\n @Input() policyId: any = ''\r\n @Input() policyName: any = ''\r\n @Input() organization_id: any = '';\r\n @Input() member_obj_id: any;\r\n @Input() userInfo: any;\r\n @Output() disconnectRefresh = new EventEmitter();\r\n @Output() editPolicy = new EventEmitter();\r\n\r\n\r\n baseURL = ''\r\n\r\n\r\n constructor(private snackBar: SnackBarService,\r\n private policyService: PolicyService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n platformLocation: PlatformLocation,\r\n\r\n ) {\r\n this.baseURL = (platformLocation as any).location.origin;\r\n if (this.baseURL == \"http://localhost:4200\") {\r\n this.baseURL = 'https://dev.v-comply.com'\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n const data= JSON.parse(localStorage.getItem('lastFileNameAndType') ?? '\"{}\"');\r\n if((data.name!==null && data.name!==undefined)&& (data.type!==null && data.type!==undefined)\r\n &&(data.policyId==this.policyId)){\r\n this.selectedDocumentType = data.type;\r\n this.filename = data.name;\r\n localStorage.removeItem('lastFileNameAndType')\r\n }\r\n }\r\n\r\n handleFileInput(files: FileList): void {\r\n this.fileToUpload = files[0];\r\n this.filename = this.fileToUpload.name;\r\n this.fileType = this.fileToUpload.name.slice(this.fileToUpload.name.lastIndexOf('.') + 1, this.fileToUpload.name.length).toLowerCase();\r\n if (this.fileType === 'pdf') {\r\n this.uploadFile({ file: this.fileToUpload, fileType: this.fileType });\r\n } else if (this.fileType === 'docx') {\r\n this.uploadFile({ file: this.fileToUpload, fileType: this.fileType });\r\n } else {\r\n this.snackBar.show('Please upload a valid file');\r\n }\r\n }\r\n showPdfBlock =true;\r\n showDocxBlock =true;\r\n\r\n uploadFile(event: any) {\r\n this.isUploading = true;\r\n if (event.fileType === 'docx') {\r\n this.changeDocType('docx');\r\n this.uploadDocxfile(event);\r\n } else if (event.fileType === 'pdf') {\r\n this.changeDocType('pdf');\r\n this.showPdfBlock=false;\r\n setTimeout(() => {\r\n this.showPdfBlock=true;\r\n }, 10);\r\n const uploadData = new FormData();\r\n uploadData.append('file', event.file);\r\n const path = 'o/' + this.organization_id + '/policy/'\r\n this.policyService.uploadFile(uploadData, this.policyId, path).subscribe(res => {\r\n if (res) {\r\n this.isUploading = false;\r\n }\r\n }, err => {\r\n this.isUploading = false;\r\n this.snackBar.show('Oops! Something went wrong and we were unable to complete this action. Let\\'s give it another try, shall we?');\r\n });\r\n }\r\n }\r\n\r\n uploadDocxfile(event: any) {\r\n this.showDocxBlock=false;\r\n setTimeout(() => {\r\n this.showDocxBlock=true;\r\n }, 10);\r\n const uploadData = new FormData();\r\n uploadData.append('file', event.file);\r\n const path = 'o/' + this.organization_id + '/policy/'\r\n this.policyService.uploadDocxFile(uploadData, this.policyId, path).subscribe(res => {\r\n if (res) {\r\n this.isUploading = false;\r\n }\r\n }, err => {\r\n this.isUploading = false;\r\n\r\n this.snackBar.show('Oops! Something went wrong and we were unable to complete this action. Let\\'s give it another try, shall we?');\r\n });\r\n }\r\n\r\n changeDocType(event:any){\r\n this.selectedDocumentType = event;\r\n }\r\n\r\n editor(event: string) {\r\n this.disconnectRefresh.emit(false);\r\n\r\n if (event === 'draft') {\r\n // If it is a draft go directly to the editor\r\n const uname = this.userInfo ? this.userInfo.name : '';\r\n const uid = this.member_obj_id;\r\n const name = this.policyName.trim();\r\n const id = this.policyId;\r\n this.isLoader = true;\r\n this.policyService.savePolicyDetails(uname, uid, id, name, '', 0).subscribe(res => {\r\n if (res) {\r\n this.isLoader = false;\r\n window.location.href = this.baseURL + '/all/policy/edit-policy?id=' + this.policyId\r\n\r\n }\r\n }, err => {\r\n this.isLoader = false;\r\n this.snackBar.show('Oops! Something went wrong and we were unable to complete this action. Let\\'s give it another try, shall we?');\r\n });\r\n\r\n } else if (event === 'docx') {\r\n\r\n window.location.href = this.baseURL + '/all/policy/edit-policy?id=' + this.policyId\r\n } else if (event === 'pdf') {\r\n // If it is a pdf send to the workroom\r\n window.location.href = this.baseURL + '/all/policy/workroom?id=' + this.policyId\r\n }\r\n localStorage.setItem('_dId', this.policyId);\r\n }\r\n editPolicyEmit(){\r\n localStorage.setItem('lastFileNameAndType', JSON.stringify({type:this.selectedDocumentType,name:this.filename, policyId: this.policyId}));\r\n this.editPolicy.emit()\r\n }\r\n}","import { HttpClient, HttpBackend, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { retry } from 'rxjs/operators';\r\nimport { AuthService } from './auth.service';\r\nimport { Configurations } from '../configurations';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AssessmentService {\r\n env !: any;\r\n baseValue: any = {\r\n currentPage: 0,\r\n data: [],\r\n end_value: 0,\r\n start_value: 0,\r\n totalPage: 0,\r\n totalRecords: 0\r\n }\r\n\r\n constructor(private http: HttpClient, private authService: AuthService, @Optional() config?: Configurations) {\r\n if (config) {\r\n this.env = config.envConfig;\r\n }\r\n }\r\n\r\n updateAssessment(id: string, payload: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http\r\n .post<any>(this.env.assessmentEnpoint + 'assessment/update&id=' + id, payload, { headers });\r\n\r\n }\r\n\r\n addAssessment(payload: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n console.log(\"headers\", headers)\r\n return this.http\r\n .post<any>(this.env.assessmentEnpoint + 'assessment/create', payload, { headers });\r\n\r\n }\r\n\r\n private categories: BehaviorSubject<any> = new BehaviorSubject<any>({});\r\n categoriesListData$: Observable<any> = this.categories.asObservable();\r\n\r\n private categoriesLoader: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\r\n categoriesLoading$: Observable<boolean> = this.categoriesLoader.asObservable();\r\n\r\n fetchCategory(payload: any) {\r\n this.categoriesLoader.next(true);\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n this.http.post(this.env.assessmentEnpoint + 'category/list', payload, { headers }).subscribe({\r\n next: (res: any) => { this.categories.next(res); this.categoriesLoader.next(false); },\r\n error: (err: any) => { console.log('asdas', this.baseValue); this.categories.next(this.baseValue); this.categoriesLoader.next(false); },\r\n })\r\n }\r\n resetCategory() {\r\n this.categories.next(this.baseValue)\r\n }\r\n\r\n getAssessmentDetails(id: string) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.assessmentEnpoint + 'assessment/getAssessmentInEdit&id=' + id, {}, { headers })\r\n }\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', token: this.getAuthorizationToken() })\r\n };\r\n\r\n getAuthorizationToken() {\r\n const TOKEN = localStorage.getItem('currentUser');\r\n let currentUser;\r\n TOKEN !== null ? (currentUser = JSON.parse(TOKEN)) : (currentUser = {});\r\n return currentUser.token;\r\n }\r\n\r\n createAssessment(payload: any) {\r\n return this.http.post(this.env.assessmentEnpoint + 'assessment/create', payload, this.httpOptions)\r\n }\r\n\r\n saveAssessmentDetails(id: any, payload: any) {\r\n \r\n return this.http.post(this.env.assessmentEnpoint + 'assessment/update&id=' + id, payload, this.httpOptions)\r\n }\r\n\r\n\r\n downloadTemplate(){\r\n console.log(\"env\",this.env)\r\n console.log(\"env val\",this.env.assessmentEnpoint)\r\n return this.http.get<any>(this.env.assessmentEnpoint + 'template/assessment',this.httpOptions);\r\n }\r\n\r\n downLoadFile(data: any, type: string, filename: string) {\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n const blob = new Blob([this.base64ToArrayBuffer(data)], { type });\r\n window.navigator.msSaveOrOpenBlob(blob, filename);\r\n } else {\r\n const url = 'data:' + type.toString() + ';base64,' + data;\r\n const a = document.createElement('a');\r\n a.setAttribute('href', url);\r\n a.setAttribute('download', filename);\r\n a.style.visibility = 'hidden';\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n return 'DOWNLOADED'\r\n }\r\n\r\n base64ToArrayBuffer(base64: any) {\r\n const binaryString = window.atob(base64);\r\n const len = binaryString.length;\r\n const bytes = new Uint8Array(len);\r\n for (let i = 0; i < len; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n return bytes.buffer;\r\n }\r\n\r\n}\r\n","\r\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\nimport { Component, EventEmitter, Input, OnInit, Optional, Output } from '@angular/core';\r\n\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { Configurations } from '../configurations';\r\nimport { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';\r\nimport { AssessmentService } from '../workflow-services/assessment.service';\r\nimport { AuthService } from '../workflow-services/auth.service';\r\nimport { UiKitService } from '../workflow-services/ui-kit.service';\r\n\r\n@Component({\r\n selector: 'app-workflow-assessment',\r\n templateUrl: './workflow-assessment.component.html',\r\n styleUrls: ['./workflow-assessment.component.less', '../forms.less']\r\n})\r\nexport class WorkflowAssessmentComponent implements OnInit {\r\n activeSelector: any = '';\r\n submitted = false;\r\n loader = false;\r\n showSmiley = false;\r\n @Input() mode = 'EDIT';\r\n @Input() assessmentId = '';\r\n @Input() openedFrom = '';\r\n @Output() disconnectRefresh = new EventEmitter();\r\n sideSelectorElements: any = ['category'];\r\n actionButtons = [\r\n // { buttonText: 'Add More Assessments', class: 'white-btn', id: 'addMore' },\r\n { buttonText: 'Go to assessment workroom', class: 'blue-btn', id: 'viewAssessment' },\r\n ];\r\n assessmentTypeChangeAllowed = false;\r\n timezone!: string;\r\n @Output() pickerChanged = new EventEmitter();\r\n @Output() closeWorkflow = new EventEmitter();\r\n assessmentForm: any = {\r\n assessmentType: 'compliance',\r\n name: '',\r\n description: '',\r\n category: [],\r\n customTags: [],\r\n };\r\n assessmentData: any;\r\n organizationId = 0;\r\n constructor(\r\n public assessmentService: AssessmentService,\r\n private authService: AuthService,\r\n private uiKitService: UiKitService,\r\n private snackBar: SnackBarService,\r\n @Optional() config?: Configurations\r\n ) {\r\n this.timezone = this.authService.getUserTimeZone();\r\n }\r\n selectorConfig = {\r\n ASSESSMENT_CATGORY: {\r\n panelTitle: 'Select an Assessment Category',\r\n entitySingular: 'Category selected.',\r\n entityPlural: 'Categories selected.',\r\n displayKey: 'category_name',\r\n identifierKey: 'id',\r\n parentKey: 'category_parents',\r\n parentDisplayKey: 'parent_tree',\r\n searchPlaceholder:'Search an assessment category.',\r\n noDataText:'No assessment categories found.'\r\n },\r\n }\r\n ngOnInit(): void {\r\n //this.loader = true;\r\n if (this.mode === 'CREATE') {\r\n this.organizationId = this.authService.getOrganizationId();\r\n }\r\n //this.setCategory({ searchKey: '', page: 1 });\r\n if (this.mode === 'EDIT') {\r\n this.getAssessmentDetails();\r\n }\r\n }\r\n\r\n getAssessmentDetails() {\r\n\r\n this.loader = true;\r\n this.assessmentService.getAssessmentDetails(this.assessmentId).subscribe({\r\n next: (res: any) => {\r\n this.assessmentForm.name = res?.assessment_name ?? '';\r\n this.assessmentForm.description = res?.description ?? '';\r\n this.assessmentForm.assessmentType = res?.assessment_type ?? 'compliance';\r\n this.assessmentForm.category = res.category_arr.map((ele: any) => { return { id: ele?._id, category_name: ele?.category_name } })\r\n this.loader = false;\r\n },\r\n error: (err: any) => {\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n this.loader = false;\r\n }\r\n })\r\n }\r\n\r\n\r\n //This function is responsible for fetching the list of categories\r\n setCategory(evt: any) {\r\n this.assessmentService.fetchCategory({\r\n search_title: evt.searchKey,\r\n page_no: evt.page\r\n });\r\n }\r\n\r\n activateSelector(type: any, event: boolean) {\r\n if (type === 'category') {\r\n this.setCategory({ searchKey: '', page: 1 });\r\n }\r\n this.activeSelector = event ? type : '';\r\n if (this.sideSelectorElements.includes(type)) {\r\n this.pickerChanged.emit(event);\r\n }\r\n }\r\n\r\n activeDeselector() {\r\n this.activeSelector = '';\r\n this.pickerChanged.emit(false);\r\n }\r\n\r\nnext(type:string,payload:any){\r\n switch(type){\r\n case 'CATEGORY':{\r\n this.activeDeselector();\r\n this.assessmentForm.category = payload;\r\n if( this.assessmentForm.category?.length > 1){\r\n this.assessmentForm.category = this.assessmentForm.category.filter((ele:any) => ele?.category_name != 'uncategorized')\r\n }\r\n }\r\n }\r\n}\r\n\r\n remove(type: any, event: any) {\r\n switch (type) {\r\n case 'category':\r\n this.assessmentForm.category = this.assessmentForm.category.filter((ele: any) => ele?.id !== event?.id)\r\n }\r\n\r\n }\r\n\r\n description: EditorConfig = {\r\n mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n placeholder: 'Add a description',\r\n };\r\n\r\n changeAssessment(type: string) {\r\n this.assessmentForm = { ...this.assessmentForm, ...{ riskType: type } }\r\n }\r\n closeSmiley(evt: any) {\r\n this.closeWorkflow.emit({ evt: this.assessmentId, confirm: false });\r\n }\r\n\r\n action(evt: any) {\r\n if (evt === 'viewAssessment') {\r\n this.disconnectRefresh.emit(false);\r\n window.location.href = `https://${window.location.hostname}/assessment/assessment-workroom/?id=${this.assessmentId}`\r\n }\r\n }\r\n\r\n\r\n\r\n checkDescription() {\r\n if (this.assessmentForm.description == '<br>') {\r\n this.assessmentForm.description = '';\r\n }\r\n }\r\n\r\n submitAssessment() {\r\n this.submitted = true;\r\n const valid = this.validateAssessment();\r\n if (!valid) {\r\n return false;\r\n } else {\r\n this.createAssessment(this.assessmentForm);\r\n }\r\n }\r\n\r\n validateAssessment() {\r\n // console.log(\"val\",this.assessmentForm)\r\n this.submitted = true;\r\n if (!this.assessmentForm.name\r\n || (this.assessmentForm.category.length == 0)\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n createAssessment(assessmentForm: any) {\r\n this.loader = true;\r\n this.uiKitService.isLoader = false;\r\n\r\n const payload = {\r\n assessment_name: assessmentForm.name,\r\n description: assessmentForm.description,\r\n assessment_type: assessmentForm.assessmentType,\r\n category_arr: this.assessmentForm.category.map((ele: any) => ele.id),\r\n approval_workflow_arr: {\r\n \"test\": \"test\"\r\n },\r\n approval_required: true,\r\n source_page: \"compliance\"\r\n }\r\n console.log(\"payload\", payload)\r\n if (this.mode == 'CREATE') {\r\n this.assessmentService.addAssessment(payload).subscribe((res: any) => {\r\n this.disconnectRefresh.emit(false);\r\n this.assessmentId = res?._id;\r\n window.location.href = `https://${window.location.hostname}/assessment/create/${res?._id}`\r\n this.loader = false;\r\n },\r\n (err: any) => {\r\n console.log(err);\r\n this.loader = false;\r\n this.uiKitService.isLoader = false;\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n );\r\n }\r\n else if (this.mode === 'EDIT') {\r\n this.assessmentService.updateAssessment(this.assessmentId, payload).subscribe({\r\n next: (res: any) => {\r\n this.loader = false;\r\n this.showSmiley = true;\r\n },\r\n error: (err: any) => {\r\n if (err?.error.message.startsWith('No changes')) {\r\n this.loader = false;\r\n this.showSmiley = true;\r\n } else {\r\n this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Output, EventEmitter, ViewChild } from '@angular/core';\r\nimport * as XLSX from 'xlsx';\r\nimport { AuthService } from '../../workflow-services/auth.service';\r\nimport { AssessmentService } from '../../workflow-services/assessment.service';\r\nimport { CreateAssessmentContainerComponent } from '../../sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component';\r\n\r\ntype AOA = any[][];\r\nconst smileyActions = { IMPORT_MORE: \"IMPORT_MORE\", VIEW_ASSESSMENTS: \"VIEW_ASSESSMENTS\" }\r\n\r\n@Component({\r\n selector: 'app-import-an-assessment',\r\n templateUrl: './import-an-assessment.component.html',\r\n styleUrls: ['./import-an-assessment.component.less', '../../forms.less'],\r\n})\r\n\r\nexport class ImportAnAssessmentComponent {\r\n @ViewChild('editor', { static: false }) editorCont!: CreateAssessmentContainerComponent;\r\n @Output() closeWorkflow = new EventEmitter();\r\n @Output() disconnectRefresh = new EventEmitter();\r\n isShowLoader: boolean = false;\r\n isWrongFormat = false;\r\n fileName: any;\r\n data: any;\r\n uploadedFiles: any = [];\r\n fileResponse: any = [];\r\n fileValue: any;\r\n organizationId = 0;\r\n errorMessage = \"invalid file error\"\r\n downloadStatus: string = 'NOT_DOWNLOADING';\r\n downloadPercent = 0;\r\n smileyMessageAction = `You're All Set!`;\r\n actionButtons = [\r\n { buttonText: 'Import More Assessments', class: 'white-btn', id: smileyActions.IMPORT_MORE },\r\n { buttonText: 'View Assessments', class: 'blue-btn', id: smileyActions.VIEW_ASSESSMENTS },\r\n ];\r\n showSmiley = false;\r\n assessmentData !: any;\r\n sheetData !: any;\r\n convertedData: any;\r\n isUploaded: boolean = false;\r\n categoryData !: any;\r\n\r\n setIsUploaded(isUploaded: boolean) {\r\n this.isUploaded = isUploaded;\r\n this.auth.previewPanel.next(isUploaded);\r\n if (!isUploaded) {\r\n const closeBtn = document.getElementById(\"close-workflow-engine-btn\")\r\n if (closeBtn) closeBtn.style.display = \"block\";\r\n this.convertedData = {};\r\n }\r\n }\r\n\r\n constructor(\r\n private auth: AuthService,\r\n public assessmentService: AssessmentService,\r\n ) { }\r\n\r\n closeSmiley(event: any) {\r\n this.showSmiley = false;\r\n this.closeWorkflow.emit({ evt: this.assessmentData, confirm: false });\r\n }\r\n\r\n downloadTemplate() {\r\n this.downloadStatus = 'DOWNLOADING';\r\n this.downloadPercent = 0;\r\n const downloadDate = new Date().toDateString().split(' ');\r\n const fileName = `Import an Assessment-${downloadDate[2]}-${downloadDate[1]}-${downloadDate[3]}.xlsx`;\r\n\r\n this.assessmentService.downloadTemplate().subscribe(\r\n {\r\n next: (data: any) => {\r\n setTimeout(() => {\r\n this.downloadStatus = this.assessmentService.downLoadFile(data, 'application/xlsx', fileName);\r\n }, 1500);\r\n },\r\n error: () => { this.downloadStatus = 'DOWNLOADED'; }\r\n }\r\n\r\n );\r\n }\r\n\r\n triggerBrowseFile() {\r\n const getFile = document.getElementById('iaa-file-input');\r\n if (getFile) {\r\n getFile.click();\r\n\r\n }\r\n }\r\n\r\n // handle upload file area\r\n uploadFile(evt: any) {\r\n const target: DataTransfer = evt.target as DataTransfer;\r\n const reader: FileReader = new FileReader();\r\n reader.onload = (e: any) => {\r\n const bstr: string = e.target.result;\r\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\r\n const wsname: string = wb.SheetNames[0];\r\n const wsname1: string = wb.SheetNames[1];\r\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\r\n const tempData: XLSX.WorkSheet = wb.Sheets[wsname1];\r\n this.categoryData = XLSX.utils.sheet_to_json(tempData, {\r\n header: 1,\r\n }) as AOA;\r\n this.sheetData = XLSX.utils.sheet_to_json(ws, {\r\n header: 1,\r\n }) as AOA;\r\n\r\n this.generateCategoryList(this.categoryData);\r\n\r\n this.assessmentData = this.sheetData.filter((dataElement: any) => dataElement.length > 0);\r\n\r\n this.isWrongFormat = false;\r\n this.errorMessage = '';\r\n console.log(\"Imp\", this.checkFormat(this.assessmentData))\r\n if (!this.checkFormat(this.assessmentData)) {\r\n const closeBtn = document.getElementById(\"close-workflow-engine-btn\");\r\n if (closeBtn) closeBtn.style.display = \"none\";\r\n\r\n this.generateEditorPayload(this.assessmentData);\r\n this.auth.previewPanel.next(true);\r\n this.isUploaded = true;\r\n setTimeout(()=>{this.editorCont.triggerPreviewWithValidation()},100)\r\n\r\n }\r\n\r\n }\r\n reader.readAsBinaryString(target.files[0]);\r\n }\r\n\r\n categoryList !: any;\r\n generateCategoryList(categoryData: any) {\r\n const catList: any = {}\r\n if (categoryData) {\r\n categoryData.forEach((ele: any) => {\r\n catList[ele[0]] = ele[1];\r\n })\r\n this.categoryList = catList;\r\n }\r\n }\r\n\r\n categoryNametoId(categoryName: string) {\r\n if (this.categoryList[categoryName]) {\r\n return this.categoryList[categoryName];\r\n } else {\r\n return null;\r\n }\r\n\r\n }\r\n generateEditorPayload(data: any) {\r\n //check format\r\n\r\n const payload: any = {\r\n\r\n metadata:\r\n {\r\n assessment_name: \"\",\r\n description: \"\",\r\n assessment_type: \"compliance\",\r\n category_arr: [\r\n\r\n ],\r\n approval_workflow_arr: {\r\n \"test\": \"test\"\r\n },\r\n approval_required: true,\r\n source_page: \"compliance\"\r\n },\r\n assessmentData: {\r\n version: 2,\r\n questionRandomize: false,\r\n anonymousResponse: false,\r\n hasWelcome: false,\r\n hasWelcomeDescription: false,\r\n welcomeText: '',\r\n hasWelcomeImage: false,\r\n welcomeImage: '',\r\n welcomeDescription: '',\r\n hasThanks: false,\r\n hasThankyouImage: false,\r\n thankyouText: '',\r\n thankyouImage: '',\r\n hasThankyouDescription: false,\r\n thankyouDescription: '',\r\n elements: [],\r\n pageDetailsList: [],\r\n customResponseSet: [],\r\n settings: this.settings,\r\n responseSegment: this.initializeEmptyResponseSegment()\r\n }\r\n }\r\n\r\n this.convertedData = payload;\r\n this.convertedData.metadata.assessment_name = this.assessmentData[2][1];\r\n this.convertedData.metadata.description = this.assessmentData[3][1];\r\n // this.convertedData.metadata.category_arr[0] = this.assessmentData[4][1];\r\n this.convertedData.metadata.category_arr = [this.categoryNametoId(this.assessmentData[4][1])];\r\n\r\n //TODO: create a function to convert from categories names to categories id.\r\n //TODO: check the api for sub-flow like assessment-setting.\r\n // this.convertedData.metadata.category_arr[0] = \"61cc27c5b3e8642b333f3591\";\r\n this.generateQuestionsList(data.slice(6), payload.assessmentData.elements)\r\n }\r\n\r\n generateQuestionsList(questionsList: any, questionsArray: any) {\r\n questionsArray = [];\r\n if (questionsList?.length) {\r\n questionsList.forEach((question: any, index: number) => {\r\n console.log(\"question list\", question)\r\n questionsArray.push();\r\n switch (question[0]) {\r\n case 'Single Textbox':\r\n questionsArray.push(this.generateSingleTextbox('single-textbox',question, index))\r\n break;\r\n case 'Multiple Choice':\r\n questionsArray.push(this.generateMultipleChoice('multiple-choice',question, index))\r\n break;\r\n case 'Checkbox':\r\n questionsArray.push(this.generateMultipleChoice('checkbox',question, index))\r\n break;\r\n case 'Dropdown':\r\n questionsArray.push(this.generateMultipleChoice('dropdown',question, index))\r\n break;\r\n case 'Date & Time':\r\n questionsArray.push(this.generateDateTime('date-time',question, index))\r\n break;\r\n case 'File Upload':\r\n questionsArray.push(this.generateFileUpload(question, index))\r\n break;\r\n default:\r\n // No need to do anything for default\r\n }\r\n })\r\n }\r\n console.log(\"questions\", questionsArray)\r\n this.convertedData.assessmentData.elements = questionsArray;\r\n }\r\n colMap: any = {\r\n type: 0,\r\n title: 1,\r\n score: 2,\r\n opt1: 3,\r\n opt2: 4,\r\n opt3: 5,\r\n opt4: 6,\r\n opt5: 7,\r\n opt6: 8,\r\n required: 9,\r\n failed: 10,\r\n description: 11,\r\n placeholder: 12,\r\n comment: 13,\r\n other: 14,\r\n randomize: 15,\r\n alignment: 16,\r\n userattachment: 17,\r\n usercomment: 18\r\n }\r\n generateSingleTextbox(type:string,question: any, index: any) {\r\n return {\r\n type: 'single-textbox', name: `Question_${index}`, page: 1,\r\n hasValidation: false, validationType: '', isRequired: question[this.colMap?.required] === 'Yes' ? true : false, hasCharacterLength: false, minCharacterLength: 0,\r\n maxCharacterLength: 100, title: question[this.colMap?.title]?.toString()?.trim() ?? '',\r\n hasDescription: question[this.colMap?.description]?.toString()?.trim()?.length ? true : false, description: question[this.colMap?.description]?.toString()?.trim() ?? '',\r\n hasComments: question[this.colMap?.usercomment]?.toString()?.trim()?.length ? true : false, comments: question[this.colMap?.comment]?.toString()?.trim(),\r\n randomize: question[this.colMap?.randomize] === 'Yes' ? true : false, hasOther: question[this.colMap?.other] === 'Yes' ? true : false, otherValue: 'Other', alignment: question[this.colMap?.alignment] === 'Yes' ? true : false, reverse: false,\r\n isRespondentAttachment: question[this.colMap?.userattachment] === 'Yes' ? true : false, userAttachedFiles: [], isRespondentComment: question[this.colMap?.usercomment] === 'Yes' ? true : false,\r\n visibilityLogic: [],\r\n otherConfig: { color: \"#000000\", isFailed: false, score: question[this.colMap?.score] ?? 1 },\r\n choices: [{\r\n title: '',\r\n value: 1,\r\n isSelected: false,\r\n required: 0,\r\n hasHelpingLabel: false,\r\n helpingLabel: \"\",\r\n isFailed: false,\r\n score: question[this.colMap?.score] ?? 1,\r\n color: \"#000000\"\r\n }]\r\n };\r\n }\r\n\r\n generateMultipleChoice(type:string,question: any, index: any) {\r\n console.log(\"Yo Man\", question)\r\n return {\r\n type: type, name: `Question_${index}`, page: 1,\r\n hasValidation: false, validationType: '', isRequired: question[this.colMap?.required] === 'Yes' ? true : false,\r\n hasCharacterLength: false, minCharacterLength: 0, maxCharacterLength: 100, title: question[this.colMap?.title]?.toString()?.trim() ?? '',\r\n hasDescription: question[this.colMap?.description]?.toString()?.trim()?.length ? true : false, description: question[this.colMap?.description]?.toString().trim() ?? '',\r\n hasComments: question[this.colMap?.comment]?.toString()?.trim()?.length ? true : false, comments: question[this.colMap?.comment]?.toString().trim(),\r\n randomize: question[this.colMap?.randomize] === 'Yes' ? true : false, hasOther: question[this.colMap?.other] === 'Yes' ? true : false, otherValue: 'Other', alignment: question[this.colMap?.alignment] === 'Yes' ? true : false, reverse: false,\r\n isRespondentAttachment: question[this.colMap?.userattachment] === 'Yes' ? true : false, userAttachedFiles: [],\r\n visibilityLogic: [], isRespondentComment: question[this.colMap?.usercomment] === 'Yes' ? true : false,\r\n otherConfig: { color: \"#000000\", isFailed: false, score: question[this.colMap?.score] ?? 1 },\r\n choices: this.generateChoices(question)\r\n };\r\n }\r\n\r\n generateDateTime(type:string,question: any, index: any) {\r\n return {\r\n type: type, name: `Question_${index}`, page: 1,\r\n hasValidation: false, validationType: '', isRequired: question[this.colMap?.required] === 'Yes' ? true : false,\r\n hasCharacterLength: false, minCharacterLength: 0, maxCharacterLength: 100, title: question[this.colMap?.title]?.toString()?.trim() ?? '',\r\n hasDescription: question[this.colMap?.description]?.toString()?.trim()?.length ? true : false, description: question[this.colMap?.description]?.toString()?.trim() ?? '',\r\n hasComments: question[this.colMap?.usercomment]?.toString()?.trim()?.length ? true : false, comments: question[this.colMap?.comment]?.toString()?.trim(),\r\n randomize: question[this.colMap?.randomize] === 'Yes' ? true : false, hasOther: question[this.colMap?.other] === 'Yes' ? true : false, otherValue: 'Other', alignment: question[this.colMap?.alignment] === 'Yes' ? true : false, reverse: false,\r\n isRespondentAttachment: question[this.colMap?.userattachment] === 'Yes' ? true : false, userAttachedFiles: [],\r\n visibilityLogic: [], isRespondentComment: question[this.colMap?.usercomment] === 'Yes' ? true : false,\r\n otherConfig: { color: \"#000000\", isFailed: false, score: question[this.colMap?.score] ?? 1 },\r\n choices: [{\r\n title: '',\r\n value: 1,\r\n isSelected: false,\r\n required: 0,\r\n hasHelpingLabel: false,\r\n helpingLabel: \"\",\r\n isFailed: false,\r\n score: question[this.colMap?.score] ?? 1,\r\n color: \"#000000\"\r\n }],\r\n hasDate: true,\r\n hasTime: false,\r\n dateFormat: \"DD/MM/YYYY\",\r\n timeFormat: 24,\r\n date: {\r\n title: question[this.colMap?.placeholder] ?? 'Select Date',\r\n value: \"\"\r\n },\r\n time: {\r\n title: question[this.colMap?.placeholder] ?? 'Select Time',\r\n value: \"\"\r\n },\r\n };\r\n }\r\n generateFileUpload(question: any, index: any) {\r\n\r\n return {\r\n type: 'file-upload', name: `Question_${index}`, page: 1,\r\n hasValidation: false, validationType: '', isRequired: question[this.colMap?.required] === 'Yes' ? true : false, hasCharacterLength: false, minCharacterLength: 0,\r\n maxCharacterLength: 100, title: question[this.colMap?.title]?.toString()?.trim() ?? '',\r\n hasDescription: question[this.colMap?.description]?.toString()?.trim()?.length ? true : false, description: question[this.colMap?.description]?.toString()?.trim() ?? '',\r\n hasComments: question[this.colMap?.usercomment]?.toString()?.trim()?.length ? true : false, comments: question[this.colMap?.comment]?.toString()?.trim(),\r\n randomize: question[this.colMap?.randomize] === 'Yes' ? true : false, hasOther: question[this.colMap?.other] === 'Yes' ? true : false, otherValue: 'Other', alignment: question[this.colMap?.alignment] === 'Yes' ? true : false, reverse: false,\r\n isRespondentAttachment: question[this.colMap?.userattachment] === 'Yes' ? true : false, userAttachedFiles: [],\r\n visibilityLogic: [], isRespondentComment: question[this.colMap?.usercomment] === 'Yes' ? true : false,\r\n otherConfig: { color: \"#000000\", isFailed: false, score: question[this.colMap?.score] ?? 1 },\r\n choices: [{\r\n title: '',\r\n value: 1,\r\n isSelected: false,\r\n required: 0,\r\n hasHelpingLabel: false,\r\n helpingLabel: \"\",\r\n isFailed: false,\r\n score: question[this.colMap?.score] ?? 1,\r\n color: \"#000000\"\r\n }],\r\n allowedFileTypes: {\r\n pdf: true,\r\n doc: true,\r\n png: true,\r\n jpg: true,\r\n gif: true\r\n },\r\n };\r\n }\r\n\r\n generateChoices(question: any) {\r\n const options = [question[this.colMap?.opt1], question[this.colMap?.opt2], question[this.colMap?.opt3], question[this.colMap?.opt4], question[this.colMap?.opt5], question[this.colMap?.opt6]].filter((ele: any) => ele);\r\n options.forEach((ele:any) =>{\r\n if(ele){\r\n ele.toString()?.trim();\r\n }\r\n })\r\n if (options?.length === 0) {\r\n options.push('')\r\n }\r\n const optionMap: any = {\r\n 'Option 1': 3,\r\n 'Option 2': 4,\r\n 'Option 3': 5,\r\n 'Option 4': 6,\r\n 'Option 5': 7,\r\n 'Option 6': 8,\r\n }\r\n options.forEach((choice: any, index: any) => {\r\n options[index] = {\r\n title: (choice && typeof (choice) == 'string')? choice : choice.toString() ?? '',\r\n value: 1,\r\n isSelected: false,\r\n required: 0,\r\n hasHelpingLabel: false,\r\n helpingLabel: \"\",\r\n isFailed: (choice?.toString()?.trim() == question[optionMap[question[this.colMap?.failed]]]) ? true : false,\r\n score: question[this.colMap?.score] ?? 1,\r\n color: \"#000000\"\r\n }\r\n })\r\n\r\n return options;\r\n }\r\n\r\n public settings: any = {\r\n assessmentMode: false,\r\n defaultScore: 1,\r\n negativeScoreCriteria: 'FAILED',\r\n negativeScore: 0,\r\n weightageEnabled: false,\r\n settingsEnabled: false\r\n }\r\n\r\n checkFormat(assessmentData: any): boolean {\r\n //Completly blank excel sheet\r\n if (assessmentData.length === 0) {\r\n this.errorMessage = 'You have uploaded the wrong template. Please download the template again to proceed.';\r\n this.isWrongFormat = true;\r\n return true;\r\n }\r\n\r\n //Invalid Tempalte\r\n try {\r\n if (assessmentData[2][0] !== \"Assessment Name\\*\"\r\n || assessmentData[3][0] !== \"Description\"\r\n || assessmentData[4][0] !== \"Assessment Category\\*\"\r\n || assessmentData[5][0] !== \"Question Type\\*\"\r\n ) {\r\n this.errorMessage = 'You have uploaded the wrong template. Please download the template again to proceed.';\r\n this.isWrongFormat = true;\r\n return true;\r\n }\r\n } catch {\r\n this.errorMessage = 'You have uploaded the wrong template. Please download the template again to proceed.';\r\n this.isWrongFormat = true;\r\n return true;\r\n }\r\n\r\n //Check Assessment name\r\n try{\r\n if (!assessmentData[2][1] || assessmentData[2][1] === \"\" || assessmentData[2][1] === undefined) {\r\n this.errorMessage = 'Enter a name for this Assessment.';\r\n this.isWrongFormat = true;\r\n return true;\r\n }\r\n }catch{\r\n this.errorMessage = 'Enter a name for this Assessment.';\r\n this.isWrongFormat = true;\r\n return true;\r\n }\r\n\r\n //category not selected\r\n try{\r\n if (!assessmentData[4][1] || assessmentData[4][1] === \"\" || assessmentData[4][1] === undefined) {\r\n this.errorMessage = 'Select the Assessment Category.';\r\n this.isWrongFormat = true;\r\n return true;\r\n }\r\n }catch{\r\n this.errorMessage = 'Select the Assessment Category.';\r\n this.isWrongFormat = true;\r\n return true;\r\n }\r\n\r\n //Does not contains any questions\r\n try{\r\n if (assessmentData.slice(7)?.length === 0) {\r\n this.errorMessage = 'You have uploaded a blank template. Please add questions to this template and upload it again.';\r\n this.isWrongFormat = true;\r\n return true;\r\n }\r\n }catch{\r\n this.errorMessage = 'You have uploaded a blank template. Please add questions to this template and upload it again.';\r\n this.isWrongFormat = true;\r\n return true;\r\n }\r\n\r\n\r\n\r\n //handle type of question and options count\r\n for (let i = 7; i <= assessmentData.length - 1; i++) {\r\n if (assessmentData[i][0] !== 'Multiple Choice' &&\r\n assessmentData[i][0] !== 'Checkbox' &&\r\n assessmentData[i][0] !== 'Dropdown' &&\r\n assessmentData[i][0] !== 'Single Textbox' &&\r\n assessmentData[i][0] !== 'Date & Time' &&\r\n assessmentData[i][0] !== 'File Upload'\r\n ) {\r\n this.errorMessage = 'You have uploaded the wrong template. Please download the template again to proceed.';\r\n this.isWrongFormat = true;\r\n return true;\r\n }\r\n // if (assessmentData[i][1] === '') {\r\n // this.errorMessage = 'You have uploaded the wrong template. Please download the template again to proceed.';\r\n // this.isWrongFormat = true;\r\n // return true;\r\n // }\r\n }\r\n\r\n\r\n this.errorMessage = '';\r\n return false;\r\n }\r\n\r\n initializeEmptyResponseSegment() {\r\n return {\r\n title: '',\r\n description: '',\r\n maxScore: 10,\r\n segments: []\r\n }\r\n }\r\n\r\n postAssessment(data: any) {\r\n this.isShowLoader = true;\r\n this.assessmentService.createAssessment(this.convertedData.metadata).subscribe({\r\n next: (response: any) => {\r\n this.postAssessmentDetails(response._id, data.mode, data.assessmentDetails);\r\n },\r\n error: (err: any) => {\r\n this.isShowLoader = false;\r\n }\r\n })\r\n }\r\n\r\n postAssessmentDetails(id: any, mode: any, assessmentDetails: any) {\r\n\r\n this.isUploaded = false;\r\n this.auth.previewPanel.next(false);\r\n console.log('this.isUploaded', this.isUploaded)\r\n const payload = {\r\n question: assessmentDetails,\r\n action: \"questions_save\",\r\n state: mode\r\n }\r\n\r\n this.assessmentService.saveAssessmentDetails(id, payload).subscribe({\r\n next: (response: any) => {\r\n this.assessmentData = {};\r\n this.isShowLoader = false;\r\n this.showSmiley = true;\r\n },\r\n error: (err: any) => {\r\n this.isShowLoader = false;\r\n }\r\n })\r\n }\r\n\r\n smileyAction(id: any) {\r\n console.log(id)\r\n if (id === smileyActions.VIEW_ASSESSMENTS) {\r\n this.disconnectRefresh.emit(false);\r\n // TODO: Navigate to '/manage-assessment'\r\n let url: string;\r\n if (window.location.host.startsWith('localhost')) {\r\n url = 'http://' + window.location.host + '/manage-assessment';\r\n } else {\r\n url = 'https://' + window.location.host + '/assessment/manage-assessment';\r\n }\r\n console.log(url);\r\n window.location.href = url;\r\n }\r\n else {\r\n this.showSmiley = false;\r\n }\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { retry } from 'rxjs/operators';\r\nimport { Configurations } from '../../../configurations';\r\nimport { AuthService } from '../../../workflow-services/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AssessmentService {\r\n\r\n env !: any;\r\n constructor(private http: HttpClient, private authService: AuthService, @Optional() config?: Configurations) {\r\n if (config) {\r\n this.env = config.envConfig;\r\n\r\n }\r\n }\r\n\r\n getAssessmentQuestions(id:string){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get(this.env.assessmentEnpoint+'assessment/fetchQuestionsByAssessmentId&id='+id,{headers}).pipe(retry(2));\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, EventEmitter, Output, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { AuthService } from '../../workflow-services/auth.service';\r\nimport { ResponsibilityService } from \"../../workflow-services/responsibility.service\";\r\nimport {AssessmentCategoryList, AssessmentList } from \"./service/assessment.interface\"\r\nimport { AssessmentService } from './service/assessment.service';\r\n@Component({\r\n selector: 'app-assessment-list',\r\n templateUrl: './assessment-list.component.html',\r\n styleUrls: ['./assessment-list.component.less']\r\n})\r\nexport class AssessmentListComponent implements OnInit, OnChanges {\r\n animation = false;\r\n selectedData: any;\r\n subList = false;\r\n @Input() isEdit = false\r\n openedCategory: Array<number> = [];\r\n assessmentPayload = {\r\n search_title:\"\",\r\n page_no:\"1\",\r\n state:\"ACTIVE\",\r\n search_text: '',\r\n alphabet_filter: ''\r\n }\r\n\r\n dataPerPage = 0;\r\n\r\n assessmentCategory: AssessmentCategoryList ={\r\n data: [],\r\n totalPage: 0,\r\n totalRecords: 0,\r\n start_value: 0,\r\n end_value: 0,\r\n currentPage: 0\r\n };\r\n isLoader = false\r\n\r\n @Input() selectedAssessment = {\r\n assessment_id: '', category_id: '', assessmentDetails: undefined, category_details: undefined, \r\n }\r\n\r\n isDeleted = false;\r\n\r\n searchAssessments = '';\r\n previewQuestionData !: any;\r\n isPreview = false;\r\n @Input() selectedAssessmentData: any;\r\n\r\n @Output() onAssessmentSelect = new EventEmitter();\r\n\r\n @Output() cancelAssessment = new EventEmitter();\r\n\r\n constructor( \r\n private responsibilityService: ResponsibilityService,\r\n private assessmentService: AssessmentService,\r\n private auth :AuthService\r\n ) { \r\n\r\n this.dataPerPage = this.responsibilityService.dataPerPage;\r\n }\r\n\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n console.log(\"changes ====>\", changes, this.selectedAssessmentData);\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n this.getAssessmentCategoryList();\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n }\r\n\r\n onAssessmentSelected(event: any) {\r\n this.selectedData = event;\r\n }\r\n\r\n preview(evt:any){\r\n this.assessmentService.getAssessmentQuestions(evt?.id).subscribe({\r\n next:(res:any)=>{\r\n console.log(\"res\",res);\r\n this.auth.previewPanel.next(true)\r\n this.isPreview = true;\r\n this.previewQuestionData = res;\r\n\r\n }\r\n }) \r\n }\r\n\r\n previewBack(){\r\n this.isPreview = false;\r\n this.previewQuestionData = {};\r\n this.auth.previewPanel.next(false)\r\n }\r\n\r\n /**\r\n * \r\n * @param index : Accept index of elementPosition\r\n * \r\n */\r\n showSubList(index: number, id: string) {\r\n if(this.openedCategory.includes(index)) {\r\n this.openedCategory = this.openedCategory.filter(ele => ele !== index);\r\n } else {\r\n this.openedCategory.push(index);\r\n this.getAssessmentList(index, id)\r\n }\r\n return this.openedCategory\r\n }\r\n\r\n // TODO: Pagination\r\n /**\r\n * \r\n * @param event : page number that has been selected\r\n */\r\n onPageSelection(event: number) {\r\n this.openedCategory = [];\r\n this.assessmentPayload.page_no = event.toString();\r\n this.getAssessmentCategoryList();\r\n }\r\n\r\n // TODO: Search\r\n /**\r\n * \r\n * @param search : search text\r\n */\r\n onAssessmentSearch(search: string) {\r\n this.openedCategory = [];\r\n this.assessmentPayload.page_no = \"1\";\r\n this.assessmentPayload.search_title = search;\r\n this.assessmentPayload.search_text = search;\r\n this.getAssessmentCategoryList();\r\n }\r\n\r\n // TODO: Filter by alphabet\r\n/**\r\n * \r\n * @param event : Assessment category filter of Alphabet\r\n */\r\n onAlphabetSelected(event: string) {\r\n this.openedCategory = [];\r\n this.assessmentPayload.page_no = \"1\";\r\n this.assessmentPayload.alphabet_filter = event;\r\n this.assessmentPayload.search_text = '';\r\n this.getAssessmentCategoryList();\r\n }\r\n\r\n // TODO: Call API method\r\n getAssessmentCategoryList() {\r\n this.isLoader = true;\r\n this.responsibilityService.getAssessmentCategory(this.assessmentPayload).subscribe((res: any) => {\r\n this.assessmentCategory = res;\r\n this.isLoader = false;\r\n })\r\n }\r\n\r\n // TODO: Call Sub data API method\r\n\r\n /**\r\n * \r\n * @param id : Assessment category id\r\n */\r\n getAssessmentList(index: number, id: string) {\r\n const payload = {\r\n search_title:\"\",\r\n }\r\n this.responsibilityService.getAssessmentList(payload, id).subscribe((res: Array<AssessmentList>) => {\r\n this.assessmentCategory.data[index].assessmentData = [...new Set(res)];\r\n })\r\n }\r\n\r\n // TODO: Select data\r\n /**\r\n * \r\n * @param category_id :selected assessment's category's object id\r\n * @param assessment_id : Selected assessment's object id\r\n */\r\n setAssessment(category_details: any, assessmentDetails: any) {\r\n this.selectedAssessment = {\r\n category_id: category_details?.id,\r\n assessment_id: assessmentDetails.id,\r\n assessmentDetails: assessmentDetails,\r\n category_details: category_details\r\n }\r\n }\r\n\r\n // TODO: Display selected data in bottom floating bar with next enabled button having\r\n \r\n // TODO: Send data in payload of create Responsibility form\r\n\r\n save() {\r\n this.onAssessmentSelect.emit(this.selectedAssessment)\r\n }\r\n\r\n close() {\r\n this.cancelAssessment.emit();\r\n }\r\n\r\n deleteEvent(event: any) {\r\n this.selectedAssessment = {\r\n assessment_id: '', category_id: '', assessmentDetails: undefined, category_details: undefined, \r\n }\r\n this.isDeleted = true;\r\n \r\n }\r\n\r\n // TODO: populate data while editing data\r\n\r\n // TODO:Enable EDIT UI to improve user Experience\r\n\r\n// TODO: block users for selecting checkpoints\r\n\r\n// TODO: checkpoints\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nexport interface ListEvent {\r\n searchKey?: string;\r\n page?: number;\r\n}\r\nexport interface panelConfig {\r\n panelTitle: '',\r\n entitySingular: '',\r\n entityPlural: '',\r\n displayKey: '',\r\n identifierKey: '',\r\n parentKey: '',\r\n parentDisplayKey: ''\r\n searchPlaceholder: '',\r\n noDataText: ''\r\n}\r\n@Component({\r\n selector: 'app-radio-list-with-pagination',\r\n templateUrl: './radio-list.component.html',\r\n styleUrls: ['./radio-list.component.less']\r\n})\r\nexport class RadioListWithPaginationComponent implements OnInit {\r\n @Output() fetchData = new EventEmitter<ListEvent>();\r\n @Output() back = new EventEmitter();\r\n @Output() next = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n list = [];\r\n searchKey = '';\r\n selectedList: any = [];\r\n @Input('categoryList') set setList(value: any) {\r\n this.list = value;\r\n }\r\n @Input() config !: panelConfig;\r\n @Input() currentPage: any = 1;\r\n @Input() recordStart: any = 1;\r\n @Input() recordEnd: any = 1;\r\n @Input() totalRecords: any = 1;\r\n @Input() totalPages: any = 1;\r\n @Input() loading: any = true;\r\n @Input('selectedList') set setSelected(value: any) {\r\n if (value) {\r\n this.selectedList = [...value];\r\n this.setSelectedIds();\r\n }\r\n }\r\n animation = true;\r\n selectedIds: any = []\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n //This method handles the page change\r\n pageChanged(page: number) {\r\n this.currentPage = page;\r\n this.fetchData.emit({ page: this.currentPage, searchKey: this.searchKey })\r\n }\r\n\r\n //This method handles the search\r\n search() {\r\n this.currentPage = 1;\r\n this.fetchData.emit({ page: this.currentPage, searchKey: this.searchKey })\r\n }\r\n\r\n itemSelected(event: any, item: any) {\r\n\r\n if (event) {\r\n this.selectedList.push(item);\r\n this.setSelectedIds();\r\n }else{\r\n let index = this.selectedList.findIndex((x:any) => x?.id === item?.id);\r\n if(index >= 0){\r\n this.selectedList = this.selectedList.filter((ele: any) => ele[this.config?.identifierKey] !== item[this.config?.identifierKey])\r\n this.setSelectedIds();\r\n }\r\n console.log(event,item)\r\n }\r\n }\r\n\r\n setSelectedIds() {\r\n this.selectedIds = this.selectedList.map((ele: any) => ele[this.config?.identifierKey])\r\n this.selectedList = Array.from(new Set(this.selectedList.map((a:any) => a.id)))\r\n .map(id => {\r\n return this.selectedList.find((a:any) => a.id === id)\r\n })\r\n }\r\n deleteItem(evt: any) {\r\n this.selectedList = this.selectedList.filter((ele: any) => ele[this.config?.identifierKey] !== evt[this.config?.identifierKey])\r\n this.setSelectedIds();\r\n }\r\n\r\n close() {\r\n this.cancel.emit();\r\n }\r\n save() {\r\n this.next.emit(this.selectedList);\r\n }\r\n\r\n\r\n selectAll(evt:any){\r\n if(evt){\r\n this.selectedList = [...this.selectedList,...this.list]\r\n this.setSelectedIds();\r\n }else if(evt=== false){\r\n const currentPageList = this.list.map((ele:any) => ele.id);\r\n this.selectedList = this.selectedList.filter((ele:any)=> !currentPageList.includes(ele?.id));\r\n this.setSelectedIds();\r\n }\r\n \r\n }\r\n checkSelectAll() {\r\n const data = this.list.every((rc: any) => this.selectedIds.includes(rc[this.config.identifierKey]));\r\n return data;\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-pagination',\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./pagination.component.less']\r\n})\r\nexport class PaginationComponent implements OnInit {\r\n alphabetsArray!: any;\r\n @Input() activeAlphabet = '';\r\n @Input() pageCount!: number;\r\n @Input() start !:number;\r\n @Input() end !:number;\r\n @Input() total !:number;\r\n public pageArray: Array<number> = [];\r\n @Input() currentPage = 1;\r\n public enterPageNumber!: any;\r\n public isInvalidInput = false;\r\n\r\n @Output() selectedPage: EventEmitter<any> = new EventEmitter();\r\n @Output() selectedAlphabet: EventEmitter<any> = new EventEmitter();\r\n\r\n pageList!: any;\r\n constructor() {\r\n this.alphabetsArray = 'abcdefghijklmnopqrstuvwxyz'.split('');\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n alphabetChange(alphabet: string) {\r\n this.activeAlphabet = alphabet;\r\n this.selectedAlphabet.emit(alphabet);\r\n }\r\n\r\n ngOnChanges(event: SimpleChanges) {\r\n this.pageArray = [];\r\n \r\n if (this.pageCount > 0) {\r\n if (this.pageCount < 5) {\r\n for (let i = 1; i <= this.pageCount; i++) {\r\n this.pageArray.push(i);\r\n }\r\n return;\r\n }\r\n this.goToPageArrayGenerate(this.currentPage,false);\r\n }\r\n }\r\n\r\n\r\n increaseOrDecrease(value: number) {\r\n // if(this.currentPage === value){return ;}\r\n this.currentPage += value;\r\n if (this.currentPage > 3 && this.currentPage <= this.pageCount && this.pageArray[this.pageArray.length - 1] < this.pageCount) {\r\n if (value > 0) {\r\n this.pageArray.shift();\r\n this.pageArray.push(this.pageArray[this.pageArray.length - 1] + 1);\r\n }\r\n }\r\n\r\n if (this.currentPage > 2 && value < 0 && this.pageArray[0] > 1 && this.currentPage < this.pageCount - 2) {\r\n this.pageArray.pop();\r\n this.pageArray.unshift(this.pageArray[0] - 1);\r\n }\r\n this.selectedPage.emit(this.currentPage);\r\n }\r\n onEnterPress(event: any) {\r\n if (event.key.toLowerCase() === 'enter') {\r\n if (!this.enterPageNumber || this.enterPageNumber > this.pageCount || this.enterPageNumber < 1) {\r\n this.isInvalidInput = true;\r\n return;\r\n } else {\r\n this.isInvalidInput = false;\r\n this.goToPageArrayGenerate(this.enterPageNumber,true);\r\n }\r\n }\r\n }\r\n\r\n\r\n goToPageArrayGenerate(page: any,shouldEmit:boolean) {\r\n //if(this.currentPage === page){return;}\r\n this.isInvalidInput = false;\r\n this.currentPage = page;\r\n this.pageArray = [];\r\n if (this.currentPage > 3 && this.currentPage < this.pageCount - 2) {\r\n for (let i = this.currentPage - 2; i < this.currentPage + 3; i++) {\r\n this.pageArray.push(i);\r\n }\r\n } else if (this.currentPage <= 3) {\r\n if (this.pageCount > 4) {\r\n this.pageArray = [1, 2, 3, 4, 5];\r\n } else {\r\n for (let i = 1; i <= this.pageCount; i++) {\r\n this.pageArray.push(i);\r\n }\r\n }\r\n } else if (this.currentPage > this.pageCount - 3) {\r\n for (let i = this.pageCount - 4; i < this.pageCount + 1; i++) {\r\n this.pageArray.push(i);\r\n }\r\n } else {\r\n for (let i = this.currentPage - 2; i < this.currentPage + 2; i++) {\r\n this.pageArray.push(i);\r\n }\r\n }\r\n\r\n if(shouldEmit){\r\n this.selectedPage.emit(this.currentPage);\r\n }\r\n \r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaginationComponent } from './pagination/pagination.component';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PaginationComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n PaginationComponent\r\n ]\r\n})\r\nexport class PaginationModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-listline-loader',\r\n templateUrl: './link-treatment-loader.component.html',\r\n styleUrls: ['./link-treatment-loader.component.less'],\r\n})\r\nexport class LinkTreatmentLoaderComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-assessment-list-loader',\r\n templateUrl: './assessment-list-loader.component.html',\r\n styleUrls: ['./assessment-list-loader.component.less']\r\n})\r\nexport class AssessmentListLoaderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-assessment-list-sub-loader',\r\n templateUrl: './assessment-list-sub-loader.component.html',\r\n styleUrls: ['./assessment-list-sub-loader.component.less']\r\n})\r\nexport class AssessmentListSubLoaderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { shuffle } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-checkbox-question',\r\n templateUrl: './checkbox-question.component.html',\r\n styleUrls: ['./checkbox-question.component.less']\r\n})\r\nexport class CheckboxQuestionComponent implements OnInit {\r\n\r\n @Input() question !:any;\r\n @Input() questionIndex !:number;\r\n choicesForPreviewMode : any = [];\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.choicesForPreviewMode = this.question.choices;\r\n if (this.question.randomize === true) {\r\n this.randomize();\r\n }\r\n }\r\n randomize() {\r\n this.choicesForPreviewMode = shuffle(this.choicesForPreviewMode);\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { DatePickerComponent } from 'ng2-date-picker';\r\n\r\n\r\n@Component({\r\n selector: 'app-date-time',\r\n templateUrl: './date-time.component.html',\r\n styleUrls: ['./date-time.component.less']\r\n})\r\nexport class DateTimeComponent implements OnInit {\r\n @Input() question !: any;\r\n @Input() questionIndex !:any;\r\n @ViewChild('datePicker') datePicker!: DatePickerComponent;\r\n datepickerOverlay = false;\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openDatePicker() {\r\n this.datePicker?.api?.open();\r\n this.datepickerOverlay = true;\r\n }\r\n \r\n closeDatepicker() {\r\n this.datePicker?.api?.close();\r\n this.datepickerOverlay = false;\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-device',\r\n templateUrl: './device.component.html',\r\n styleUrls: ['./device.component.less']\r\n})\r\nexport class DeviceComponent implements OnInit {\r\n @Output() deviceChanged = new EventEmitter();\r\n @Input() selectedDevice = 'DESKTOP';\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.less']\r\n})\r\nexport class FileUploadComponent implements OnInit {\r\n @Input() question !: any;\r\n @Input() questionIndex !:any;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-preview',\r\n templateUrl: './preview.component.html',\r\n styleUrls: ['./preview.component.less']\r\n})\r\nexport class PreviewComponent implements OnInit, OnChanges {\r\n @Input() questionData !:any;\r\n @Output() previewBack = new EventEmitter();\r\n pageData :any = []\r\n selectedDevice = 'DESKTOP';\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.generatePageDetails();\r\n }\r\nngOnChanges(){\r\nthis.generatePageDetails();\r\n}\r\n generatePageDetails() {\r\n let oldPage = 0;\r\n this.questionData?.questions?.elements.forEach((ele:any, index:any) => {\r\n if (oldPage !== ele.page) {\r\n oldPage = ele.page;\r\n const currentPage = this.questionData?.questions?.pageDetailsList.find((page:any) => {\r\n return page.pageNumber === ele.page;\r\n });\r\n if (currentPage) {\r\n this.pageData[index] = currentPage;\r\n } else {\r\n this.pageData[index] = { pageName: '', pageNumber: ele.page, pageDescription: ''};\r\n }\r\n\r\n }\r\n });\r\n console.log(this.pageData);\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-container',\r\n templateUrl: './preview-container.component.html',\r\n styleUrls: ['./preview-container.component.less']\r\n})\r\nexport class PreviewContainerComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-quick-settings',\r\n templateUrl: './quick-settings.component.html',\r\n styleUrls: ['./quick-settings.component.less']\r\n})\r\nexport class QuickSettingsComponent implements OnInit {\r\n @Input() question !:any;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { shuffle } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-radio-question',\r\n templateUrl: './radio-question.component.html',\r\n styleUrls: ['./radio-question.component.less']\r\n})\r\nexport class RadioQuestionComponent implements OnInit {\r\n @Input() question !:any;\r\n @Input() questionIndex !:number;\r\n choicesForPreviewMode : any = [];\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.choicesForPreviewMode = this.question.choices;\r\n if (this.question.randomize === true) {\r\n this.randomize();\r\n }\r\n }\r\n randomize() {\r\n this.choicesForPreviewMode = shuffle(this.choicesForPreviewMode);\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { shuffle } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-select-question',\r\n templateUrl: './select-question.component.html',\r\n styleUrls: ['./select-question.component.less']\r\n})\r\nexport class SelectQuestionComponent implements OnInit {\r\n\r\n @Input() question!: any;\r\n @Input() questionIndex !:any;\r\n choicesForPreviewMode : any = [];\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.choicesForPreviewMode = [...this.question.choices];\r\n if (this.question.randomize === true) {\r\n this.randomize();\r\n }\r\n if (this.question.hasOther === true && this.choicesForPreviewMode.findIndex((x:any) => x.title === \"Other\") < 0){\r\n this.choicesForPreviewMode.push({title:'Other'})\r\n }\r\n }\r\n \r\n\r\n randomize() {\r\n this.choicesForPreviewMode = shuffle(this.choicesForPreviewMode);\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-single-textbox',\r\n templateUrl: './single-textbox.component.html',\r\n styleUrls: ['./single-textbox.component.less']\r\n})\r\nexport class SingleTextboxComponent implements OnInit {\r\n @Input() question!: any;\r\n @Input() questionIndex !:any;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-page-header',\r\n templateUrl: './page-header.component.html',\r\n styleUrls: ['./page-header.component.less']\r\n})\r\nexport class PageHeaderComponent implements OnInit {\r\n @Input() pageDetail !:any;\r\n @Input() pageTitle !:any;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-welcome',\r\n templateUrl: './welcome.component.html',\r\n styleUrls: ['./welcome.component.less']\r\n})\r\nexport class WelcomeComponent implements OnInit {\r\n @Input() questionDetails !:any;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CheckboxQuestionComponent } from './checkbox-question/checkbox-question.component';\r\nimport { DateTimeComponent } from './date-time/date-time.component';\r\nimport { DeviceComponent } from './device/device.component';\r\nimport { FileUploadComponent } from './file-upload/file-upload.component';\r\nimport { PreviewComponent } from './preview/preview.component';\r\nimport { PreviewContainerComponent } from './preview-container/preview-container.component';\r\nimport { QuickSettingsComponent } from './quick-settings/quick-settings.component';\r\nimport { RadioQuestionComponent } from './radio-question/radio-question.component';\r\nimport { SelectQuestionComponent } from './select-question/select-question.component';\r\nimport { SingleTextboxComponent } from './single-textbox/single-textbox.component';\r\nimport { TooltipModule } from '../../ui-kit/tooltip/tooltip.module';\r\nimport { FormgroupModule } from '../../formgroup/formgroup.module';\r\nimport { PopoverModule } from '../../ui-kit/popover/popover.module';\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { DpDatePickerModule } from 'ng2-date-picker';\r\nimport { PageHeaderComponent } from './page-header/page-header.component';\r\nimport { WelcomeComponent } from './welcome/welcome.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n CheckboxQuestionComponent,\r\n DateTimeComponent,\r\n DeviceComponent,\r\n FileUploadComponent,\r\n PreviewComponent,\r\n PreviewContainerComponent,\r\n QuickSettingsComponent,\r\n RadioQuestionComponent,\r\n SelectQuestionComponent,\r\n SingleTextboxComponent,\r\n PageHeaderComponent,\r\n WelcomeComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TooltipModule,\r\n FormgroupModule,\r\n PopoverModule,\r\n NgxMaterialTimepickerModule,\r\n DpDatePickerModule,\r\n ],\r\n exports:[\r\n CheckboxQuestionComponent,\r\n DateTimeComponent,\r\n DeviceComponent,\r\n FileUploadComponent,\r\n PreviewComponent,\r\n PreviewContainerComponent,\r\n QuickSettingsComponent,\r\n RadioQuestionComponent,\r\n SelectQuestionComponent,\r\n SingleTextboxComponent,\r\n WelcomeComponent\r\n ]\r\n})\r\nexport class AssessmentPreviewModule { }\r\n","export class DialogConfig<D = any> {\r\n data?: D;\r\n position?: any;\r\n background?: any;\r\n}\r\n","import { Observable, Subject } from 'rxjs';\r\n\r\nexport class DialogRef {\r\n private readonly afterDialogClosed = new Subject<any>();\r\n afterClosed: Observable<any> = this.afterDialogClosed.asObservable();\r\n constructor() {}\r\n\r\n close(result?: any) {\r\n this.afterDialogClosed.next(result);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DialogConfig } from '../../../../ui-kit/dialog/dialog-config';\r\nimport { DialogRef } from '../../../../ui-kit/dialog/dialog-ref';\r\n\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { EditorService } from '../../services/editor.service';\r\n\r\n@Component({\r\n selector: 'app-add-page-details',\r\n templateUrl: './add-page-details.component.html',\r\n styleUrls: ['./add-page-details.component.less'],\r\n})\r\nexport class AddPageDetailsComponent implements OnInit {\r\n pageDesc!: string;\r\n public fd !:any;\r\n constructor(private config: DialogConfig, private dialogRef:DialogRef) { \r\n this.fd = config.data?.ref;\r\n }\r\n\r\n pageDetails: any = {pageName: '', pageNumber: 0, pageDescription: ''};\r\n\r\n ngOnInit(): void {\r\n this.pageDetails.pageNumber = this.config.data.page;\r\n this.pageDetails.pageName = this.config.data.pageDetails.pageName;\r\n this.pageDetails.pageDescription = this.config.data.pageDetails.pageDescription; \r\n this.pageDesc = this.config.data.pageDetails.pageDescription; \r\n this.populatePageDetailsList();\r\n }\r\n\r\n savePageDetails() {\r\n this.pageDetails.pageName = this.extractContent(this.pageDetails.pageName).trim().length > 0 ?this.pageDetails.pageName:'';\r\n this.pageDetails.pageDescription = this.extractContent(this.pageDetails.pageDescription).trim().length > 0 ?this.pageDetails.pageDescription:'';\r\n \r\n this.fd.currentPageDetails = {...this.pageDetails};\r\n this.populatePageDetailsList();\r\n if (this.pageDetails.pageName.trim().length > 0 || this.pageDetails.pageDescription.trim().length > 0 ) {\r\n \r\n this.fd.showAddPageOption = false;\r\n this.fd.showPageDetails = true;\r\n } else {\r\n this.fd.showAddPageOption = true;\r\n this.fd.showPageDetails = false;\r\n }\r\n this.dialogRef.close('SAVE');\r\n }\r\n\r\n extractContent(s:any) {\r\n var span = document.createElement('span');\r\n span.innerHTML = s;\r\n return span.textContent || span.innerText;\r\n };\r\n\r\n populatePageDetailsList() {\r\n let pagePresent = false;\r\n this.fd.formsPage.pageDetailsList.forEach((pageDetails:any) => {\r\n if (this.pageDetails.pageNumber === pageDetails.pageNumber) {\r\n pageDetails.pageName = this.pageDetails.pageName;\r\n pageDetails.pageDescription = this.pageDetails.pageDescription;\r\n pagePresent = true;\r\n }\r\n });\r\n if (!pagePresent) {\r\n this.fd.formsPage.pageDetailsList.push({...this.pageDetails});\r\n }\r\n \r\n }\r\n\r\n cancelPageDetails() {\r\n //this.cancel.emit();\r\n this.dialogRef.close('CANCEL')\r\n }\r\n description: EditorConfig = {\r\n mode: 'prime',\r\n placeholder: 'Add description',\r\n };\r\n}\r\n\r\n\r\n\r\n\r\n","\r\nimport { Injectable, Type } from '@angular/core';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ResultCriteriaService {\r\n\r\n constructor() { }\r\n\r\n calculateMaxScore(questions:any){\r\n let maxScore = 0;\r\n const criteriaEligibleTypes = ['multiple-choice', 'checkbox', 'dropdown'];\r\n const scorableQuestions = questions.elements.filter((question:any) => {\r\n return criteriaEligibleTypes.includes(question.type);\r\n });\r\n \r\n scorableQuestions.forEach((element:any) => {\r\n if (['multiple-choice', 'dropdown'].includes(element.type)){\r\n let score = Math.max.apply(Math, element.choices.map((o:any) => o.score !== undefined ? o.score : 1 ));\r\n let weightage = 100;\r\n if (questions?.settings?.weightageEnabled){\r\n element.weightage === undefined ? weightage = 100 : weightage = element.weightage;\r\n }\r\n score = (weightage / 100) * score;\r\n maxScore = maxScore + score;\r\n\r\n }\r\n else if (['checkbox'].includes(element.type)){\r\n let scoreCheck = 0;\r\n element.choices.forEach((choice:any) => {\r\n choice.score === undefined ? choice.score = 1 : choice.score;\r\n if (!choice.isFailed){\r\n scoreCheck = scoreCheck + choice.score;\r\n }\r\n });\r\n let weightage = 100;\r\n if (questions?.settings?.weightageEnabled){\r\n element.weightage === undefined ? weightage = 100 : weightage = element.weightage;\r\n }\r\n scoreCheck = (weightage / 100) * scoreCheck;\r\n maxScore = maxScore + scoreCheck;\r\n\r\n }\r\n\r\n });\r\n \r\n return maxScore;\r\n}\r\n}\r\n","import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { DialogConfig } from '../../../../ui-kit/dialog/dialog-config';\r\nimport { DialogRef } from '../../../../ui-kit/dialog/dialog-ref';\r\nimport { SnackBarService } from \"../../../../ui-kit/snack-bar/snack-bar.service\";\r\n\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { EditorService } from \"../../services/editor.service\";\r\nimport { ResultCriteriaService } from \"../../services/result-criteria.service\";\r\n\r\n@Component({\r\n selector: 'app-assessment-settings',\r\n templateUrl: './assessment-settings.component.html',\r\n styleUrls: ['./assessment-settings.component.less']\r\n})\r\nexport class AssessmentSettingsComponent implements OnInit {\r\n // @ViewChild('scrolleffect', { static: false }) scrollElement!: ElementRef;\r\n // showResponse = false;\r\n // showMode = false;\r\n // showSegment = false;\r\n // hideSegmentPopup = false;\r\n // editSegmentPopup = false;\r\n\r\n // constructor() { }\r\n\r\n // ngOnInit(): void {\r\n // }\r\n\r\n // clickResponse() {\r\n // this.showResponse = !this.showResponse;\r\n // }\r\n\r\n // clickMode() {\r\n // this.showMode = !this.showMode;\r\n // }\r\n\r\n // clickSegment() {\r\n // this.showSegment = !this.showSegment;\r\n // setTimeout (()=>{\r\n // this.scrollElement.nativeElement.scrollTop = this.scrollElement.nativeElement.scrollHeight;\r\n // },150)\r\n // }\r\n\r\n // editSegment() {\r\n // this.editSegmentPopup = !this.editSegmentPopup;\r\n // }\r\n\r\n // description: EditorConfig = {\r\n // mode: 'prime',\r\n // placeholder: 'Enter Segment criteria description',\r\n // };\r\n\r\n // openSegmentPopup() {\r\n // this.hideSegmentPopup = true;\r\n // }\r\n\r\n // closeSegmentPopup() {\r\n // this.hideSegmentPopup = false;\r\n // this.editSegmentPopup = false;\r\n // }\r\n showSegment!:any;\r\n hideSegmentPopup !:any;\r\n editSegmentPopup !:any;\r\n showResponse !:any;\r\n closeSegmentPopup(){}\r\n openSegmentPopup(){}\r\n editSegment(){}\r\n clickSegment(){}\r\n clickMode(){}\r\n clickResponse(){}\r\n showMode !:any;\r\n description: EditorConfig = {\r\n mode: 'prime',\r\n placeholder: 'Enter Segment criteria description',\r\n };\r\n @Output() action = new EventEmitter<any>();\r\n forAnimation = false;\r\n public editorService!:any;\r\n constructor(public config: DialogConfig, public dialog: DialogRef,private criteriaService: ResultCriteriaService,private snackbar:SnackBarService) { }\r\n settingsJSON = {\r\n assessmentMode: true,\r\n defaultScore: 0,\r\n negativeScoreCriteria: 'FAILED',\r\n negativeScore: 0,\r\n weightageEnabled: false\r\n };\r\n settingsData!:any;\r\n activeSettingType = 'none';\r\n ngOnInit(): void {\r\n this.editorService = this.config.data.service;\r\n this.settingsData = this.config.data.settings;\r\n this.forAnimation = true;\r\n setTimeout(() => {\r\n this.forAnimation = false;\r\n }, 1000);\r\n\r\n this.settingsJSON = this.config.data.settingsJSON;\r\n }\r\n closePanel(evt?:any) {\r\n \r\n this.dialog.close({});\r\n\r\n }\r\n alert() {\r\n alert('guyfgiuhgj');\r\n }\r\n\r\n manipulateDefault(mode:any){\r\n if (mode === 'INCREASE' && this.settingsJSON.defaultScore >= 0){\r\n this.settingsJSON.defaultScore = this.settingsJSON.defaultScore + 1;\r\n } else if (mode === 'DECREASE' && this.settingsJSON.defaultScore >= 1 ){\r\n this.settingsJSON.defaultScore = this.settingsJSON.defaultScore - 1;\r\n }\r\n }\r\n manipulateNegativeScore(mode:any){\r\n if (mode === 'INCREASE' && this.settingsJSON.negativeScore >= 0){\r\n this.settingsJSON.negativeScore = this.settingsJSON.negativeScore + 1;\r\n } else if (mode === 'DECREASE' && this.settingsJSON.negativeScore >= 1 ){\r\n this.settingsJSON.negativeScore = this.settingsJSON.negativeScore - 1;\r\n }\r\n }\r\n\r\n executeAction(evt:any){\r\n this.dialog.close({\r\n event: evt,\r\n data: this.settingsJSON\r\n });\r\n }\r\n\r\n setActiveType(type:any,index:any){\r\n this.activeSettingType = type;\r\n if(type === 'ASSESSMENT'){\r\n this.settingsData.settingsElements[index].isEnabled = true \r\n }\r\n }\r\n\r\n enableStateChanged(e:any, type:any) {\r\n if (type === 'ANONYMOUS') {\r\n this.editorService.formsPage.anonymousResponse = e;\r\n }\r\n if (type === 'RESPONSE_SEGMENT') {\r\n this.editorService.formsPage.responseSegment['isEnabled'] = e;\r\n }\r\n\r\n }\r\n\r\n save(evt:any, index:any) {\r\n this.settingsData.settingsElements[index] = evt;\r\n\r\n\r\n \r\n if (evt.type === 'ASSESSMENT') {\r\n // const ref = this.dialogService.open(ConfirmationPopupComponent, { data: { message: 'This Action will overide the scores of all the questions' } });\r\n // ref.afterClosed.subscribe(data => {\r\n // \r\n // if (data.action === 'YES') {\r\n // alert(\"Hey\")\r\n this.editorService.formsPage.settings.assessmentMode = evt.isEnabled;\r\n this.editorService.formsPage.settings.defaultScore = evt.defaultScore;\r\n this.editorService.formsPage.settings.negativeScore = evt.negativeScore;\r\n this.editorService.formsPage.settings.negativeScoreCriteria = evt.negativeScoreCriteria;\r\n this.editorService.formsPage.settings.weightageEnabled = evt.weightageEnabled;\r\n this.settingsData.settingsElements[index] = evt;\r\n this.activeSettingType = 'none';\r\n\r\n const assessmentEligibleQuestions = ['checkbox', 'multiple-choice', 'dropdown'];\r\n this.editorService.formsPage.elements.forEach((question:any) => {\r\n this.editorService.score.defaultScore = evt.defaultScore;\r\n this.editorService.score.negativeScore = evt.negativeScore;\r\n if (assessmentEligibleQuestions.includes(question.type)) {\r\n question.choices.forEach((element:any) => {\r\n if (!element.isFailed) {\r\n element.score = evt.defaultScore;\r\n }\r\n if(element.isFailed && (evt.negativeScoreCriteria === 'FAILED' || evt.negativeScoreCriteria === 'FAILED_SKIPPED')){\r\n element.score = evt.negativeScore;\r\n }\r\n if (evt.weightageEnabled) {\r\n if (!question.weightage || question.weightage === undefined) {\r\n question.weightage = 100;\r\n }\r\n }else{\r\n question.weightage = 100;\r\n }\r\n });\r\n }\r\n this.editorService.formsPage.responseSegment['maxScore'] = this.criteriaService.calculateMaxScore(this.editorService.formsPage);\r\n });\r\n this.snackbar.show(\"The settings have been updated.\")\r\n this.activeSettingType = '';\r\n // } else {\r\n // this.fd.formsPage.settings.assessmentMode = false;\r\n // this.settingsData.settingsElements[index].defaultScore = this.fd.settings.defaultScore;\r\n // this.settingsData.settingsElements[index].negativeScore = this.fd.settings.negativeScore;\r\n // this.settingsData.settingsElements[index].weightageEnabled = this.fd.settings.weightageEnabled;\r\n // this.activeSettingType = 'none';\r\n // this.settingsData.settingsElements[index].isEnabled = false;\r\n // }\r\n // });\r\n }\r\n if (evt.type === 'RESPONSE_SEGMENT') {\r\n \r\n \r\n evt.isEnabled = true;\r\n if (evt.isEnabled) {\r\n evt.segmentData.isEnabled = true;\r\n this.editorService.formsPage.responseSegment = evt.segmentData;\r\n this.snackbar.show(\"The settings have been updated.\")\r\n this.activeSettingType = '';\r\n }\r\n }\r\n }\r\n\r\n cancel(){\r\n this.activeSettingType=''\r\n }\r\n}\r\n","import { moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { nanoid } from 'nanoid';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { retry } from 'rxjs/operators';\r\nimport { Configurations } from '../../../configurations';\r\n// import { environment } from 'src/environments/environment';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EditorService {\r\n env !:any;\r\n constructor(private http: HttpClient,@Optional() config?: Configurations) { \r\n if (config) {\r\n this.env = config.envConfig;\r\n }\r\n }\r\n currentPageDetails: any = { pageName: '', pageNumber: 1, pageDescription: '' };\r\n prefixForQuestionName = 'Question_';\r\n public activeQuestionIndex = new BehaviorSubject<number>(-5);\r\n activeQuestionStream$ = this.activeQuestionIndex.asObservable();\r\n public currentPageNumber: number = 1;\r\n public activeQuestion = 0;\r\n showAddPageOption = true;\r\n showPageDetails = false;\r\n public score = {\r\n defaultScore: 1,\r\n negativeScore: 0\r\n }\r\n public allPages: any = [];\r\n stepIdentifier = 'pagescreen'; // this value can be \"welcomescreen\",\"thankyouscreen\",\"pagescreen\" only\r\n assessmentId !: any;\r\n public settings: any = {\r\n assessmentMode: false,\r\n defaultScore: 1,\r\n negativeScoreCriteria: 'FAILED',\r\n negativeScore: 0,\r\n weightageEnabled: false,\r\n settingsEnabled: false\r\n }\r\n\r\n formsPage: any = {\r\n version: 2,\r\n questionRandomize: true,\r\n anonymousResponse: false,\r\n hasWelcome: false,\r\n hasWelcomeDescription: true,\r\n welcomeText: '',\r\n hasWelcomeImage: true,\r\n welcomeImage: '',\r\n welcomeDescription: '',\r\n hasThanks: false,\r\n hasThankyouImage: false,\r\n thankyouText: '',\r\n thankyouImage: '',\r\n hasThankyouDescription: true,\r\n thankyouDescription: '',\r\n elements: [],\r\n pageDetailsList: [],\r\n customResponseSet: [],\r\n settings: this.settings,\r\n responseSegment: this.initializeEmptyResponseSegment()\r\n };\r\n\r\n initializeEmptyResponseSegment() {\r\n return {\r\n title: '',\r\n description: '',\r\n maxScore: 10,\r\n segments: [\r\n\r\n ]\r\n }\r\n }\r\n\r\n uploadHandler(formData: any, destination: any) {\r\n return this.http.post<any>(this.env.fileUploadEndPoint + destination, formData);\r\n //return this.http.post<any>(\"env\" + destination, formData);\r\n }\r\n\r\n addQuestion(evt: any, index?: number) {\r\n switch (evt.trim()) {\r\n case 'welcome': {\r\n this.currentPageNumber = -1;\r\n this.stepIdentifier = 'welcomescreen';\r\n this.formsPage.hasWelcome = true;\r\n break;\r\n }\r\n case 'thankyou': {\r\n this.currentPageNumber = -2;\r\n this.stepIdentifier = 'thankyouscreen';\r\n break;\r\n }\r\n case 'multiple-choice': {\r\n this.setToPagefromWelcome();\r\n this.createMultipleChoice(index);\r\n break;\r\n }\r\n case 'checkbox': {\r\n this.setToPagefromWelcome();\r\n this.createCheckbox(index);\r\n break;\r\n }\r\n case 'star-rating': {\r\n this.setToPagefromWelcome();\r\n this.createStarRating(index);\r\n break;\r\n }\r\n case 'single-textbox': {\r\n this.setToPagefromWelcome();\r\n this.createSingleTextbox(index);\r\n break;\r\n }\r\n case 'comment-box': {\r\n this.setToPagefromWelcome();\r\n this.createCommentbox(index);\r\n break;\r\n }\r\n case 'matrix-dropdown': {\r\n this.setToPagefromWelcome();\r\n this.createMatrixDropdown(index);\r\n break;\r\n }\r\n case 'dropdown': {\r\n this.setToPagefromWelcome();\r\n this.createDropdown(index);\r\n break;\r\n }\r\n case 'slider': {\r\n this.setToPagefromWelcome();\r\n this.createSlider(index);\r\n break;\r\n }\r\n case 'rating-scale': {\r\n this.setToPagefromWelcome();\r\n this.createRatingScale(index)\r\n break;\r\n }\r\n case 'multiple-textbox': {\r\n this.setToPagefromWelcome();\r\n this.createMultipleTextbox(index);\r\n break;\r\n }\r\n case 'date-time': {\r\n this.setToPagefromWelcome();\r\n this.createDateTime(index);\r\n break;\r\n }\r\n case 'file-upload': {\r\n this.setToPagefromWelcome();\r\n this.createFileUpload(index);\r\n break;\r\n }\r\n case 'ranking': {\r\n this.setToPagefromWelcome();\r\n this.createRanking(index);\r\n break;\r\n }\r\n case 'star-rating': {\r\n this.setToPagefromWelcome();\r\n this.createStarRating(index);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n setToPagefromWelcome() {\r\n if (['thankyouscreen', 'welcomescreen'].includes(this.stepIdentifier)) {\r\n this.currentPageNumber = this.allPages.length;\r\n this.stepIdentifier = 'pagescreen';\r\n }\r\n }\r\n\r\n /**\r\n * Check whether to display Page Details or Add Page tilte option\r\n */\r\n checkForPageDetails() {\r\n if (this.currentPageDetails === undefined || this.currentPageDetails.pageName === '') {\r\n this.showAddPageOption = true;\r\n this.showPageDetails = false;\r\n } else {\r\n this.showAddPageOption = false;\r\n this.showPageDetails = true;\r\n }\r\n }\r\n /**\r\n * Creates a question of type multiple choice\r\n * @param index Index at which question needs to be created\r\n */\r\n createMultipleChoice(index?: any) {\r\n\r\n const element = {\r\n type: 'multiple-choice', name: ``, page: this.currentPageNumber, otherConfig: { color: '#000000', isFailed: false, score: this.score.defaultScore },\r\n isRequired: false, title: '', hasDescription: false, description: '', hasComments: false, comments: '',\r\n randomize: false, hasOther: false, otherValue: 'Other', alignment: false, reverse: false, visibilityLogic: [], choices: [\r\n {\r\n title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false,\r\n helpingLabel: '', isFailed: false, score: this.score.defaultScore, color: this.generateRandomColor()\r\n }]\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n }\r\n\r\n /**\r\n * Creates a question of type checkbox\r\n * @param index Index at which question needs to be created\r\n */\r\n createCheckbox(index?: any) {\r\n\r\n const element = {\r\n type: 'checkbox', name: '', page: this.currentPageNumber, otherConfig: { color: '#000000', isFailed: false, score: this.score.defaultScore },\r\n isRequired: false, title: '', hasDescription: false, description: '', hasComments: false, comments: '',\r\n randomize: false, hasOther: false, otherValue: 'Other', alignment: false, reverse: false,\r\n isRespondentAttachment: false, userAttachedFiles: [], isRespondentComment: false, userComments: '', visibilityLogic: [], choices:\r\n [{\r\n title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false,\r\n helpingLabel: '', isFailed: false, score: this.score.defaultScore, color: this.generateRandomColor()\r\n }\r\n ]\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n }\r\n\r\n /**\r\n * Creates a question of type star rating\r\n * @param index Index at which question needs to be created\r\n * [Note]: Rating label type can take 2 values 'specific'/'scale'\r\n */\r\n createStarRating(index?: any) {\r\n const element = {\r\n type: 'star-rating', name: '', page: this.currentPageNumber, isRequired: false, title: '', hasDescription: false,\r\n description: '', hasComments: false, comments: '', randomize: false, hasOther: false, alignment: false, reverse: false,\r\n isRespondentAttachment: false, userAttachedFiles: [], isRespondentComment: false, userComments: '', cursorType: 'number',\r\n cursorColor: '#ff8000', scale: 2, starValue: '', hasRatingLabel: false, ratingLabelType: 'specific',\r\n scaleRangeFrom: 'Not at all likely',\r\n scaleRangeTo: 'Extreme Likely', visibilityLogic: [],\r\n choices: [\r\n { title: '', isVisible: true, value: 0, isSelected: false, required: 0, hasHelpingLabel: true, helpingLabel: '' },\r\n { title: '', isVisible: true, value: 1, isSelected: false, required: 0, hasHelpingLabel: true, helpingLabel: '' },\r\n ]\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n }\r\n\r\n /**\r\n * Creates a question of type single textbox\r\n * @param index Index at which question needs to be created\r\n */\r\n createSingleTextbox(index?: any) {\r\n const element = {\r\n type: 'single-textbox', name: '', page: this.currentPageNumber,\r\n hasValidation: false, validationType: '', isRequired: false, hasCharacterLength: false, minCharacterLength: 0,\r\n maxCharacterLength: 100, title: '', hasDescription: false, description: '', hasComments: false, comments: '',\r\n randomize: false, hasOther: false, otherValue: 'Other', alignment: false, reverse: false,\r\n isRespondentAttachment: false, userAttachedFiles: [], isRespondentComment: false, userComments: '', visibilityLogic: [],\r\n choices: [{ title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: true, helpingLabel: '' }]\r\n };\r\n\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n\r\n this.sortQuestion();\r\n }\r\n\r\n /**\r\n * Creates a question of type comment box\r\n * @param index Index at which question needs to be created\r\n */\r\n createCommentbox(index?: any) {\r\n const element = {\r\n type: 'comment-box', name: '', page: this.currentPageNumber,\r\n isRequired: false, title: '', hasDescription: false, description: '', hasComments: false, comments: '',\r\n hasCharacterLength: false, minCharacterLength: 0, maxCharacterLength: 0, randomize: false, hasOther: false,\r\n otherValue: 'Other', alignment: false, reverse: false, isRespondentAttachment: false, userAttachedFiles: [],\r\n isRespondentComment: false, userComments: '', visibilityLogic: [], choices: [\r\n { title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '', imageURL: '' },\r\n ]\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n\r\n }\r\n\r\n /**\r\n * Creates a question of type matrix of dropdown\r\n * @param index Index at which question needs to be created\r\n */\r\n createMatrixDropdown(index?: any) {\r\n const element = {\r\n type: 'matrix-dropdown', name: '', page: this.currentPageNumber, otherConfig: { color: '#000000', isFailed: false, score: 1 },\r\n isRequired: false, title: '', hasDescription: false, description: '', hasComments: false, comments: '',\r\n randomize: false, hasOther: false, otherValue: 'Other', alignment: false, reverse: false,\r\n isRespondentAttachment: false, userAttachedFiles: [], isRespondentComment: false, userComments: '', visibilityLogic: [],\r\n choices: [{ title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '' }],\r\n columns: [{\r\n title: '', value: 1, weight: 0, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '',\r\n choices: [{ title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '' }]\r\n }\r\n ]\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n }\r\n\r\n /**\r\n * Creates a question of type dropdown\r\n * @param index Index at which question needs to be created\r\n */\r\n createDropdown(index?: any) {\r\n const element = {\r\n type: 'dropdown', name: '', page: this.currentPageNumber, otherConfig: { color: '#000000', isFailed: false, score: this.score.defaultScore },\r\n isRequired: false, title: '', hasDescription: false, description: '', hasComments: false, comments: '',\r\n randomize: false, hasOther: false, otherValue: 'Other', alignment: false, reverse: false,\r\n isRespondentAttachment: false, userAttachedFiles: [], isRespondentComment: false, userComments: '', visibilityLogic: [],\r\n choices: [\r\n {\r\n title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '',\r\n isFailed: false, score: this.score.defaultScore, color: this.generateRandomColor()\r\n }\r\n ]\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n }\r\n\r\n /**\r\n * Creates a question of type slider\r\n * @param index Index at which question needs to be created\r\n */\r\n createSlider(index?: any) {\r\n const element = {\r\n type: 'slider', name: '', page: this.currentPageNumber,\r\n isRequired: false, title: '', hasDescription: false, description: '', hasComments: false, comments: '',\r\n randomize: false, hasOther: false, otherValue: 'Other', alignment: false, reverse: false,\r\n isRespondentAttachment: false, userAttachedFiles: [], isRespondentComment: false, userComments: '', visibilityLogic: [],\r\n choices: [{ title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '' }],\r\n centerRange: false, adjustScale: false, numericBoxEnabled: false, left: 0, center: 0, right: 100,\r\n scaleRangeMin: 0, scaleRangeMax: 100, stepSize: 10, startPosition: 0, editorValue: 0\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n }\r\n\r\n /**\r\n * Creates a question of type matrix rating scale\r\n * @param index Index at which question needs to be created\r\n */\r\n createRatingScale(index?: any) {\r\n const element = {\r\n type: 'rating-scale', name: '', page: this.currentPageNumber,\r\n isRequired: false, title: '', hasDescription: false, description: '', hasComments: false, comments: '',\r\n randomize: false, hasOther: false, hasRatingLabel: false, ratingLabelType: '',\r\n otherValue: 'Other', hasWeight: false, alignment: false, reverse: false,\r\n isRespondentAttachment: false, userAttachedFiles: [], isRespondentComment: false, userComments: '', visibilityLogic: [],\r\n choices: [{ title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '' }],\r\n columns: [{ title: '', value: 1, weight: 0, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '' }]\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n }\r\n\r\n /**\r\n * Creates a question of type ranking\r\n * @param index Index at which question needs to be created\r\n */\r\n createRanking(index?: any) {\r\n const element = {\r\n type: 'ranking', name: '', page: this.currentPageNumber,\r\n isRequired: false, title: '', hasDescription: false, description: '', hasComments: false, comments: '',\r\n randomize: false, hasOther: false, otherValue: 'Other', hasRatingLabel: false, alignment: false,\r\n reverse: false, onlyNumber: true, isRespondentAttachment: false, userAttachedFiles: [],\r\n isRespondentComment: false, userComments: '', visibilityLogic: [], choices: [\r\n { title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '' },\r\n ]\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n }\r\n\r\n /**\r\n * Creates a question of type multiple textbox\r\n * @param index Index at which question needs to be created\r\n */\r\n createMultipleTextbox(index?: any) {\r\n const element = {\r\n type: 'multiple-textbox', name: '',\r\n page: this.currentPageNumber, isRequired: false, title: '', hasDescription: false, description: '',\r\n randomize: false, hasOther: false, hasComments: false, comments: '', otherValue: 'Other', hasRatingLabel: false,\r\n alignment: false, reverse: false, onlyNumber: true, isRespondentAttachment: false, userAttachedFiles: [],\r\n isRespondentComment: false, userComments: '', visibilityLogic: [], choices: [\r\n { title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '' },\r\n ]\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n }\r\n\r\n /**\r\n * Creates a question of type date/time\r\n * @param index Index at which question needs to be created\r\n */\r\n createDateTime(index?: any) {\r\n const element = {\r\n type: 'date-time', name: '', page: this.currentPageNumber,\r\n isRequired: false, title: '', hasDescription: false, description: '', hasComments: false, comments: '',\r\n randomize: false, hasOther: false, otherValue: 'Other', hasRatingLabel: false, alignment: false,\r\n reverse: false, onlyNumber: true, isRespondentAttachment: false, userAttachedFiles: [], isRespondentComment: false,\r\n userComments: '', visibilityLogic: [], hasDate: true, hasTime: false, dateFormat: 'DD/MM/YYYY', timeFormat: 24,\r\n choices: [\r\n { title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '' },\r\n\r\n ],\r\n date: { title: '', value: '' },\r\n time: { title: '', value: '' }\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n }\r\n\r\n /**\r\n * Creates a question of type file upload\r\n * @param index Index at which question needs to be created\r\n */\r\n createFileUpload(index?: any) {\r\n const element = {\r\n type: 'file-upload', name: '', page: this.currentPageNumber,\r\n isRequired: false, title: '', hasInstruction: false, instruction: '', hasDescription: false, description: '',\r\n hasComments: false, comments: '', randomize: false, hasOther: false, otherValue: 'Other', alignment: false, reverse: false,\r\n fileTypeRestrictions: false, isRespondentAttachment: false, userAttachedFiles: [], isRespondentComment: false, userComments: '',\r\n visibilityLogic: [], choices: [\r\n { title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '' }],\r\n allowedFileTypes: {\r\n pdf: true,\r\n doc: true,\r\n png: true,\r\n jpg: true,\r\n gif: true\r\n }\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n }\r\n\r\n /**\r\n * Creates a question of type image choice\r\n * @param index Index at which question needs to be created\r\n */\r\n createImageChoice(index?: any) {\r\n const element = {\r\n type: 'image-choice', name: '', page: this.currentPageNumber,\r\n isRequired: false, title: '', hasDescription: false, description: '', hasComments: false, comments: '',\r\n randomize: false, hasOther: false, otherValue: 'Other', alignment: false, reverse: false,\r\n isRespondentAttachment: false, userAttachedFiles: [], isRespondentComment: false, userComments: '',\r\n visibilityLogic: [], choices: [\r\n { title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '', imageURL: '' }\r\n\r\n ]\r\n };\r\n (index === undefined) ? this.operationOnCreateIfIndexUndefined(element) : this.operationOnCreateIfIndexDefined(element, index);\r\n this.sortQuestion();\r\n }\r\n\r\n\r\n /**\r\n * Creates and adds the question to list of questions if a question's index is undefined\r\n * @param element Details of question to be created\r\n */\r\n operationOnCreateIfIndexUndefined(element: any) {\r\n\r\n element.name = this.generateQuestionName(this.formsPage.elements.length + 1),\r\n this.formsPage.elements.push(element);\r\n this.setActiveQuestionBasedOnPageLength();\r\n }\r\n\r\n /**\r\n * Creates and adds the question to list of questions if a question's index is present\r\n * @param element Details of question to be created\r\n * @param index Index at which question should be created\r\n */\r\n operationOnCreateIfIndexDefined(element: any, index: any) {\r\n\r\n element.name = this.generateQuestionName(index + 1);\r\n this.formsPage.elements.splice(index + 1, 0, element);\r\n this.activeQuestion = index + 1;\r\n this.activeQuestionIndex.next(index + 1);\r\n }\r\n /**\r\n * Sets the active question based on particular page\r\n */\r\n setActiveQuestionBasedOnPageLength() {\r\n let count = 0;\r\n for (let i = 1; i <= this.currentPageNumber; i++) {\r\n count += [...this.formsPage.elements].reduce(\r\n (counter: any, currentElement: any) => (i === currentElement.page ? counter + 1 : counter), 0) - 1;\r\n }\r\n this.activeQuestion = count + this.currentPageNumber - 1;\r\n this.activeQuestionIndex.next(count + this.currentPageNumber - 1);\r\n\r\n // setTimeout(() => {\r\n\r\n // }, 150);\r\n // this.cdr.detectChanges();\r\n }\r\n /**\r\n* Sorts the questions based on page number\r\n*/\r\n sortQuestion() {\r\n this.formsPage.elements.sort((a: any, b: any) => {\r\n return a.page - b.page;\r\n });\r\n }\r\n /**\r\n * Generates a unique question name for newly added question\r\n * @param questionIndex Index of question to be created\r\n */\r\n generateQuestionName(questionIndex: any): string {\r\n const questionNames = this.formsPage.elements.map((a: any) => a.name);\r\n if (questionNames.includes(`${this.prefixForQuestionName}${questionIndex}`)) {\r\n return this.generateQuestionName(questionIndex + 1);\r\n } else {\r\n const name = 'Question_' + questionIndex.toString();\r\n return name;\r\n }\r\n }\r\n generateRandomColor() {\r\n //return '#' + Math.floor(Math.random() * 16777215).toString(16);\r\n return '#000000'\r\n }\r\n\r\n /**\r\n * Sets the question as active based on the particular index\r\n * @param index Index of the question to be marked as active question\r\n */\r\n setactiveQuestion(index?: any) {\r\n this.activeQuestion = index;\r\n this.activeQuestionIndex.next(index);\r\n }\r\n /**\r\n * Duplicates a question with particular index\r\n * @param index Index of question to be duplicated\r\n */\r\n copyQuestion(index: any) {\r\n this.setactiveQuestion(index + 1);\r\n const COPY_ELEMENT = JSON.parse(JSON.stringify(this.formsPage.elements[index]));\r\n if (COPY_ELEMENT.errorArray) {\r\n delete COPY_ELEMENT.errorArray;\r\n }\r\n COPY_ELEMENT.visibilityLogic = [];\r\n const elementsNames: any = [];\r\n this.formsPage.elements.forEach((element: any) => {\r\n elementsNames.push(element.name);\r\n });\r\n this.checkForSameName(elementsNames, COPY_ELEMENT);\r\n this.formsPage.elements.splice(index + 1, 0, COPY_ELEMENT);\r\n }\r\n /**\r\n * Assigns a unique name to the duplicated question\r\n * @param elementsNames List of question names\r\n * @param COPY_ELEMENT Details of question duplicated\r\n */\r\n checkForSameName(elementsNames: any, COPY_ELEMENT: any) {\r\n if (elementsNames.includes(COPY_ELEMENT.name)) {\r\n const COPY_ELEMENT_NAME = COPY_ELEMENT.name.split('_');\r\n COPY_ELEMENT_NAME[COPY_ELEMENT_NAME.length - 1] = (parseInt(COPY_ELEMENT_NAME[COPY_ELEMENT_NAME.length - 1], 10) + 1).toString();\r\n COPY_ELEMENT.name = COPY_ELEMENT_NAME.join('_');\r\n this.checkForSameName(elementsNames, COPY_ELEMENT);\r\n }\r\n }\r\n /**\r\n * Deletes the question on click of delete button\r\n * @param index Index of question to be deleted\r\n */\r\n deleteQuestion(index: any) {\r\n this.removeLogicFromDependentQuestion(index);\r\n this.formsPage.elements.splice(index, 1);\r\n }\r\n /**\r\n * Removes the logic data for a particular question from other questions\r\n * @param index Index of question whose logic data needs to be removed from other questions\r\n */\r\n removeLogicFromDependentQuestion(index: any) {\r\n this.formsPage.elements.forEach((questionElement: any) => {\r\n if (questionElement.visibilityLogic.length > 0) {\r\n questionElement.visibilityLogic = questionElement.visibilityLogic.filter((logic: any) =>\r\n logic.questionName !== this.formsPage.elements[index].name);\r\n }\r\n });\r\n }\r\n /**\r\n* Adds a new page\r\n*/\r\n addPage() {\r\n if (this.currentPageNumber === -1 || this.currentPageNumber === -2) {\r\n //this.currentPageNumber = this.numberOfPages() + 1;\r\n this.currentPageNumber = this.allPages.length + 1;\r\n this.allPages.push(this.currentPageNumber);\r\n this.numberOfPages();\r\n } else {\r\n this.currentPageNumber = this.allPages.length + 1;\r\n this.allPages.push(this.currentPageNumber);\r\n }\r\n this.stepIdentifier = 'pagescreen';\r\n this.activeQuestionIndex.next(-10);\r\n }\r\n /**\r\n * Counts the number of pages in a survey/form\r\n */\r\n numberOfPages(): any {\r\n const PAGE_ARRAY: any = [];\r\n if (this.formsPage.elements.length !== 0) {\r\n this.formsPage.elements.forEach((element: any) => {\r\n PAGE_ARRAY.push(element.page);\r\n this.currentPageDetails.pageNumber = element.page;\r\n if (this.formsPage.pageDetailsList.length === 0) {\r\n this.formsPage.pageDetailsList.push(this.currentPageDetails);\r\n }\r\n });\r\n this.allPages = [...new Set(PAGE_ARRAY)];\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json', token: this.getAuthorizationToken() })\r\n };\r\n\r\n fetchAssessmentData(id: string) {\r\n //mode=assessment/fetchQuestionsByAssessmentId&id=61f3f7871c60020009a20543\r\n return this.http.get(\"env\" + 'assessment/fetchQuestionsByAssessmentId&id=' + id, this.httpOptions).pipe(retry(2));\r\n }\r\n\r\n saveAssessment(id: any, payload: any) {\r\n return this.http.post(\"env\" + 'assessment/update&id=' + id, payload, this.httpOptions)\r\n //?mode=assessment/update&id=61f3f7871c60020009a20543\r\n }\r\n\r\n getAuthorizationToken() {\r\n const TOKEN = localStorage.getItem('currentUser');\r\n let currentUser;\r\n TOKEN !== null ? (currentUser = JSON.parse(TOKEN)) : (currentUser = {});\r\n return currentUser.token;\r\n }\r\n\r\n /**\r\n * Extracts the text from a particular html content\r\n * @param s html content from which text needs to be extracted\r\n */\r\n extract(s: string) {\r\n const span = document.createElement('span');\r\n span.innerHTML = s;\r\n return span.textContent || span.innerText;\r\n }\r\n /**\r\n * Moves Question to a particular index in an array\r\n * @param previous Index from which Question should be moved\r\n * @param next Index before which Question should be moved\r\n */\r\n moveQuestion(previous: any, next: any) {\r\n moveItemInArray(this.formsPage.elements, previous, next);\r\n }\r\n}\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appInsertion]',\r\n})\r\nexport class InsertionDirective {\r\n constructor(public viewContainerRef: ViewContainerRef) {}\r\n}\r\n","import { Component, Type, ComponentFactoryResolver, ViewChild, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { Subject } from 'rxjs';\r\nimport { DialogRef } from './dialog-ref';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { NavigationEnd, NavigationError, NavigationStart, Router, ROUTER_CONFIGURATION } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.css'],\r\n})\r\nexport class DialogComponent implements AfterViewInit, OnDestroy, OnInit {\r\n componentRef!: ComponentRef<any>;\r\n position: any;\r\n background: any;\r\n @ViewChild(InsertionDirective, { static: true })\r\n insertionPoint!: InsertionDirective;\r\n animation = true;\r\n\r\n private readonly onDialogClose = new Subject<any>();\r\n public onClose = this.onDialogClose.asObservable();\r\n\r\n childComponentType!: Type<any>;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private cd: ChangeDetectorRef,\r\n private dialogRef: DialogRef,\r\n public config: DialogConfig,\r\n private router: Router\r\n ) {\r\n // this.componentRef = this.componentRef;\r\n // this.animate = this.animate;\r\n // this.insertionPoint = this.insertionPoint;\r\n // this.childComponentType = this.childComponentType;\r\n }\r\n ngOnInit() {\r\n this.position = this.config.position;\r\n this.background = this.config.background;\r\n document.body.style.overflow = 'hidden';\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 200);\r\n this.routeAction();\r\n }\r\n\r\n routeAction() {\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationStart) {\r\n // Show loading indicator\r\n }\r\n if (event instanceof NavigationEnd) {\r\n // Hide loading indicator\r\n this.dialogRef.close();\r\n }\r\n if (event instanceof NavigationError) {\r\n // Hide loading indicator\r\n // Present error to user\r\n }\r\n });\r\n }\r\n ngAfterViewInit() {\r\n this.loadChildComponent(this.childComponentType);\r\n this.cd.detectChanges();\r\n }\r\n\r\n onOverlayClicked(evt: MouseEvent) {\r\n // this.dialogRef.close();\r\n }\r\n\r\n onDialogClicked(evt: MouseEvent) {\r\n evt.stopPropagation();\r\n }\r\n\r\n loadChildComponent(componentType: Type<any>) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n\r\n const viewContainerRef = this.insertionPoint.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n this.componentRef = viewContainerRef.createComponent(componentFactory);\r\n Object.keys(this.config.data).forEach((x) =>\r\n this.componentRef.instance[x] = this.config.data[x]\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.componentRef) {\r\n this.componentRef.destroy();\r\n }\r\n }\r\n\r\n close() {\r\n this.onDialogClose.next(false);\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { DialogRef } from './dialog-ref';\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [DialogComponent, InsertionDirective],\r\n entryComponents: [DialogComponent],\r\n providers: [DialogRef],\r\n})\r\nexport class DialogModule {}\r\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\r\n\r\nexport class DialogInjector implements Injector {\r\n constructor(private parentDialogInjector: Injector, private dialogAdditionalTokens: WeakMap<any, any>) {}\r\n\r\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags): T;\r\n // get(token: any, notFoundValue?: any){return; }\r\n get(token: any, notFoundValue?: any, flags?: any) {\r\n const value = this.dialogAdditionalTokens.get(token);\r\n if (value) {\r\n return value;\r\n }\r\n return this.parentDialogInjector.get<any>(token, notFoundValue);\r\n }\r\n}\r\n","import {\r\n Injectable,\r\n ComponentFactoryResolver,\r\n ApplicationRef,\r\n Injector,\r\n Type,\r\n EmbeddedViewRef,\r\n ComponentRef,\r\n} from '@angular/core';\r\nimport { DialogModule } from './dialog.module';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { DialogInjector } from './dialog-injector';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { DialogRef } from './dialog-ref';\r\n\r\n@Injectable({\r\n providedIn: DialogModule,\r\n})\r\nexport class DialogService {\r\n dialogComponentRef!: ComponentRef<DialogComponent>;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) {}\r\n\r\n public open(componentType: Type<any>, config: DialogConfig) {\r\n const dialogRef = this.appendDialogComponentToBody(config);\r\n\r\n this.dialogComponentRef.instance.childComponentType = componentType;\r\n\r\n return dialogRef;\r\n }\r\n\r\n private appendDialogComponentToBody(config: DialogConfig) {\r\n const map = new WeakMap();\r\n map.set(DialogConfig, config);\r\n\r\n const dialogRef = new DialogRef();\r\n map.set(DialogRef, dialogRef);\r\n\r\n const sub = dialogRef.afterClosed.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n sub.unsubscribe();\r\n });\r\n\r\n const componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\r\n const componentRef = componentFactory.create(\r\n new DialogInjector(this.injector, map)\r\n );\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n\r\n this.dialogComponentRef = componentRef;\r\n\r\n this.dialogComponentRef.instance.onClose.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n });\r\n\r\n return dialogRef;\r\n }\r\n\r\n private removeDialogComponentFromBody() {\r\n this.appRef.detachView(this.dialogComponentRef.hostView);\r\n this.dialogComponentRef.destroy();\r\n }\r\n\r\n close() {\r\n this.removeDialogComponentFromBody();\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\nimport { DialogConfig } from \"../../dialog/dialog-config\";\r\nimport { DialogRef } from \"../../dialog/dialog-ref\";\r\n@Component({\r\n selector: \"app-delete\",\r\n templateUrl: \"./delete.component.html\",\r\n styleUrls: [\"./delete.component.less\"],\r\n})\r\nexport class DeleteComponent implements OnInit {\r\n animate = false;\r\n constructor(private dialog: DialogRef, public dialogConfig: DialogConfig) { }\r\n\r\n ngOnInit(): void { }\r\n delete(deleteFlag: boolean) {\r\n this.animate = true;\r\n setTimeout(() => {\r\n this.animate = false;\r\n }, 1000);\r\n this.dialog.close(deleteFlag);\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\nimport { DialogConfig } from \"../../dialog/dialog-config\";\r\nimport { DialogRef } from \"../../dialog/dialog-ref\";\r\n\r\n@Component({\r\n selector: \"app-active\",\r\n templateUrl: \"./active.component.html\",\r\n styleUrls: [\"./active.component.less\"],\r\n})\r\nexport class ActiveComponent implements OnInit {\r\n animate = false;\r\n itemName = ''\r\n // constructor(private dialog: DialogRef,\r\n // private dialogConfig: DialogConfig\r\n // ) {\r\n // this.itemName = dialogConfig.data.itemName;\r\n // }\r\n constructor(private dialog: DialogRef,public dialogConfig:DialogConfig) {}\r\n\r\n ngOnInit(): void { }\r\n\r\n activate(deleteFlag: boolean) {\r\n this.animate = true;\r\n setTimeout(() => {\r\n this.animate = false;\r\n }, 5000);\r\n this.dialog.close(deleteFlag);\r\n }\r\n}\r\n","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\r\nimport { AddPageDetailsComponent } from '../components/add-page-details/add-page-details.component';\r\nimport { AssessmentSettingsComponent } from '../components/assessment-settings/assessment-settings.component';\r\n\r\nimport { EditorService } from '../services/editor.service';\r\n\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { DialogService } from '../../../ui-kit/dialog/dialog.service';\r\nimport { SnackBarService } from '../../../ui-kit/snack-bar/snack-bar.service';\r\nimport { DeleteComponent } from '../../../ui-kit/action-dialog/delete/delete.component';\r\nimport { ActiveComponent } from '../../../ui-kit/action-dialog/active/active.component';\r\n\r\n@Component({\r\n selector: 'app-create-assessment-container',\r\n templateUrl: './create-assessment-container.component.html',\r\n styleUrls: ['./create-assessment-container.component.less'],\r\n providers: [EditorService]\r\n})\r\nexport class CreateAssessmentContainerComponent implements OnInit {\r\n showCollapse = false;\r\n expandPage = false;\r\n hideQuestion = false;\r\n assessmentId = '';\r\n assessmentName = '';\r\n assessmentCategory = '';\r\n assessmentControlId = '';\r\n assessmentCurrentState = 'DRAFT';\r\n pageMode: 'EDIT' | 'PREVIEW' = 'EDIT';\r\n isLoaded: boolean = false;\r\n @Input() openPortal :'ASSESSMENT_IMPORT' | 'RESPONSIBILITY_CHECKPOINT'|'' = '';\r\n @Output() setIsUploaded = new EventEmitter();\r\n @Output() postAssessment = new EventEmitter();\r\n\r\n @Input('assessmentJSON') set assessmentData(value: any) {\r\n this.initializeAssessment(value)\r\n }\r\n @Input('checkpointJSON') set checkpointData(value: any) {\r\n this.initializeCheckpoint(value)\r\n }\r\n\r\n constructor(\r\n private dialog: DialogService,\r\n public editorService: EditorService,\r\n // private layoutService: LayoutService,\r\n private route: ActivatedRoute,\r\n private snackbar: SnackBarService,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.editorService.addPage();\r\n this.editorService.numberOfPages();\r\n // this.initializeAssessment();\r\n }\r\ntriggerPreviewWithValidation(){\r\n this.editorService.activeQuestionIndex.next(-10);\r\n this.editorService.activeQuestion = -10;\r\n}\r\n initializeAssessment(assessmentData: any) {\r\n if (assessmentData) {\r\n this.editorService.formsPage = assessmentData.assessmentData;\r\n this.assessmentName = assessmentData.metadata.assessment_name;\r\n this.assessmentCategory = assessmentData.metadata.category_arr;\r\n\r\n }\r\n }\r\n\r\n initializeCheckpoint(checkpointData:any){\r\n console.log(\"initializeCheckpoint ==>\", checkpointData)\r\n if(checkpointData && Object.keys(checkpointData)?.length > 0){\r\n this.editorService.formsPage = checkpointData;\r\n }\r\n }\r\n\r\n setAllPages() {\r\n this.editorService.allPages = [...new Set(this.editorService.formsPage.elements.map((ele: any) => ele.page))];\r\n this.getPageName(1);\r\n }\r\n\r\n addPageDetails() {\r\n\r\n const ref = this.dialog.open(AddPageDetailsComponent, {\r\n data: { page: this.editorService.currentPageNumber, pageDetails: this.editorService.currentPageDetails, ref: this.editorService },\r\n position: 'RIGHT',\r\n background: 'black',\r\n });\r\n ref.afterClosed.subscribe((data: any) => {\r\n console.log(\"data ====>\", data, this.editorService.stepIdentifier, this.editorService.showAddPageOption,this.editorService.showPageDetails);\r\n\r\n this.generatePageDropdown();\r\n })\r\n }\r\n\r\n public entitySettings: any = {\r\n panelTitle: ''\r\n };\r\n\r\n assessmentSettings() {\r\n this.entitySettings = this.getSettingsData();\r\n const ref = this.dialog.open(AssessmentSettingsComponent, {\r\n data: { settings: this.entitySettings, service: this.editorService },\r\n position: 'RIGHT',\r\n background: 'black',\r\n });\r\n }\r\n\r\n getSettingsData() {\r\n let settings: any = {\r\n panelTitle: `Assessment settings`,\r\n\r\n settingsElements: []\r\n }\r\n settings.settingsElements.push(\r\n {\r\n type: 'ASSESSMENT',\r\n entityType: 'ASSESSMENT',\r\n isVisible: true,\r\n isEnabled: this.editorService.formsPage.settings.assessmentMode,\r\n helpingText: 'You can configure scores for the questions and analyze the responses submitted by the respondent based on these scores.',\r\n defaultScore: this.editorService.formsPage.settings.defaultScore,\r\n negativeScoreCriteria: this.editorService.formsPage.settings.negativeScoreCriteria,\r\n negativeScore: this.editorService.formsPage.settings.negativeScore,\r\n weightageEnabled: this.editorService.formsPage.settings.weightageEnabled,\r\n settingTitle: 'ASSESSMENT MODE',\r\n settingEnableText: `Enable assessment mode for this assessment`,\r\n updateType: 'LAZY'\r\n }\r\n\r\n )\r\n settings.settingsElements.push(\r\n {\r\n type: 'RESPONSE_SEGMENT',\r\n entityType: 'ASSESSMENT',\r\n helpingText: 'Response segments let you divide the responses into separate parts or sections for easier analysis of data and assist in decision making.',\r\n isVisible: true,\r\n isEnabled: this.editorService.formsPage.responseSegment['isEnabled'] ?? false,\r\n settingTitle: 'RESPONSE SEGMENTS',\r\n settingEnableText: `Configure Response Segments for this assessment`,\r\n updateType: 'LAZY',\r\n segmentData: this.editorService.formsPage.responseSegment\r\n }\r\n )\r\n return settings;\r\n }\r\n\r\n clickCollapse() {\r\n this.showCollapse = !this.showCollapse;\r\n }\r\n\r\n clickExpand() {\r\n this.expandPage = true;\r\n }\r\n\r\n closeExpand() {\r\n this.expandPage = false;\r\n }\r\n\r\n deletePage() {\r\n const ref = this.dialog.open(DeleteComponent, {\r\n data: { message: `This action will <strong>remove</strong> this page.` },\r\n position: 'CENTER',\r\n background: 'black',\r\n });\r\n ref.afterClosed.subscribe((data: any) => {\r\n\r\n if (data === true) {\r\n this.deletePageConfirm(true)\r\n }\r\n\r\n })\r\n }\r\n\r\n deletePageConfirm(confirmDelete: any) {\r\n if (confirmDelete) {\r\n this.editorService.allPages = this.editorService.allPages.filter((pageNum: any) => pageNum !== this.editorService.currentPageNumber);\r\n this.editorService.allPages = this.updatePageNumbersForAllPages(this.editorService.allPages);\r\n this.editorService.formsPage.pageDetailsList = this.editorService.formsPage.pageDetailsList.filter((pageDetail: any) =>\r\n pageDetail.pageNumber !== this.editorService.currentPageNumber);\r\n this.editorService.formsPage.pageDetailsList = this.updatePageNumberForPageDetails(this.editorService.formsPage.pageDetailsList);\r\n this.editorService.formsPage.elements = this.editorService.formsPage.elements.filter(\r\n (elementDetail: any) => elementDetail.page !== this.editorService.currentPageNumber);\r\n this.editorService.formsPage.elements = this.updatePageNumberForQuestions(this.editorService.formsPage.elements);\r\n if (this.editorService.currentPageNumber > 1) {\r\n this.editorService.currentPageNumber -= 1;\r\n }\r\n this.getPageName(this.editorService.currentPageNumber);\r\n this.checkForPageDetails();\r\n }\r\n\r\n this.editorService.activeQuestion = -10;\r\n }\r\n\r\n updatePageNumbersForAllPages(arrayToBeUpdated: any) {\r\n for (let i = 0; i < arrayToBeUpdated.length; i++) {\r\n if (i >= this.editorService.currentPageNumber - 1) {\r\n arrayToBeUpdated[i] -= 1;\r\n }\r\n }\r\n return arrayToBeUpdated;\r\n }\r\n\r\n updatePageNumberForPageDetails(arrayToBeUpdated: any) {\r\n arrayToBeUpdated.forEach((element: any) => {\r\n if (element.pageNumber >= this.editorService.currentPageNumber) {\r\n element.pageNumber -= 1;\r\n }\r\n });\r\n return arrayToBeUpdated;\r\n }\r\n\r\n updatePageNumberForQuestions(arrayToBeUpdated: any) {\r\n arrayToBeUpdated.forEach((element: any) => {\r\n if (element.page >= this.editorService.currentPageNumber) {\r\n element.page -= 1;\r\n }\r\n });\r\n return arrayToBeUpdated;\r\n }\r\n\r\n openQuestion() {\r\n this.hideQuestion = true;\r\n }\r\n\r\n closeQuestion() {\r\n this.hideQuestion = false;\r\n }\r\n\r\n deleteQuestionWithValidation(index: any) {\r\n if (index === 'welcome') {\r\n this.editorService.formsPage.hasWelcome = false;\r\n this.editorService.currentPageNumber = 1;\r\n this.editorService.stepIdentifier = 'pagescreen';\r\n }\r\n this.editorService.deleteQuestion(index);\r\n }\r\n\r\n checkforError(mode?: any) {\r\n // this.moreOptions = false;\r\n const errorQuestionIndex = this.editorService.formsPage.elements.findIndex(\r\n (element: any, index: any) => (element.errorArray && element.errorArray !== {} && Object.values(element.errorArray).length > 0));\r\n if (errorQuestionIndex >= 0) {\r\n if (mode === 'full') {\r\n this.editorService.currentPageNumber = this.editorService.formsPage.elements[errorQuestionIndex].page;\r\n }\r\n if (mode !== 'partial') {\r\n // this.getPageName(this.editorService.currentPageNumber);\r\n\r\n this.editorService.activeQuestion = errorQuestionIndex;\r\n this.editorService.activeQuestionIndex.next(errorQuestionIndex);\r\n\r\n const question = document.getElementById(this.editorService.formsPage.elements[errorQuestionIndex].name);\r\n setTimeout(() => {\r\n if (question) {\r\n question.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n }\r\n }, 200);\r\n }\r\n if (mode === 'save') {\r\n this.editorService.activeQuestion = -10;\r\n this.editorService.activeQuestionIndex.next(-10);\r\n }\r\n\r\n return true;\r\n } else {\r\n if (mode === 'save') {\r\n this.editorService.activeQuestion = -10;\r\n this.editorService.activeQuestionIndex.next(-10);\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n generatePageDropdown() {\r\n const list = [];\r\n if (this.editorService.formsPage.hasWelcome === true) {\r\n list.push({ value: -1, template: `<span class=\"page-number\">Welcome Screen</span>` });\r\n }\r\n if (this.editorService.formsPage.hasThanks === true) {\r\n list.push({ value: -2, template: `<span class=\"page-number\">Thank you Screen</span>` });\r\n }\r\n\r\n this.editorService.allPages.forEach((element: any) => {\r\n list.push({ value: element, template: this.getPageNameForDropdown(element) });\r\n\r\n });\r\n\r\n return list;\r\n }\r\n\r\n getPageNameForDropdown(pageNumber: any) {\r\n let pageValue = `<span class=\"page-number\">Page ${pageNumber}</span>`;\r\n this.editorService.formsPage.pageDetailsList.forEach((pageDetail: any) => {\r\n if (pageDetail.pageNumber === pageNumber && pageDetail.pageName !== '') {\r\n pageValue = `<span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">PAGE</span>\r\n <span class=\"page-number vx-fs-11 vx-paragraph-txt\">${pageDetail.pageNumber}</span>`\r\n //pageValue = `<span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">Page </span> <span ${pageDetail.pageNumber}</span> <span class=\"page-number vx-fs-11 vx-paragraph-txt\"> ${pageDetail.pageName}</span>`;\r\n }\r\n });\r\n return pageValue;\r\n }\r\n\r\n pageChanged(evt: any) {\r\n\r\n if (evt.value === -1) {\r\n this.setIdentifier('welcomescreen');\r\n } else if (evt.value === -2) {\r\n this.setIdentifier('thankyouscreen');\r\n } else if (evt.value >= 0) {\r\n this.editorService.currentPageNumber = evt?.value;\r\n this.setIdentifier('pagescreen');\r\n }\r\n }\r\n\r\n setIdentifier(screen: any) {\r\n this.changeToInactive();\r\n if (screen === 'welcomescreen') {\r\n this.editorService.stepIdentifier = 'welcomescreen';\r\n this.editorService.currentPageNumber = -1;\r\n }\r\n if (screen === 'thankyouscreen') {\r\n this.editorService.stepIdentifier = 'thankyouscreen';\r\n this.editorService.currentPageNumber = -2;\r\n }\r\n if (screen === 'pagescreen') {\r\n this.editorService.stepIdentifier = 'pagescreen';\r\n if (this.editorService.allPages.length === 0) {\r\n this.editorService.addPage();\r\n this.editorService.currentPageNumber = 1;\r\n } else if (this.editorService.currentPageNumber === -1 || this.editorService.currentPageNumber === -2) {\r\n this.editorService.currentPageNumber = this.editorService.allPages.length;\r\n }\r\n\r\n }\r\n this.getPageName(this.editorService.currentPageNumber);\r\n }\r\n\r\n getPageName(pageNumber: any) {\r\n console.log(\"called 11\")\r\n this.editorService.currentPageDetails = { pageName: '', pageNumber: 0, pageDescription: '' };\r\n this.editorService.formsPage.pageDetailsList.forEach((pageDetail: any) => {\r\n if (pageDetail.pageNumber === pageNumber) {\r\n this.editorService.currentPageDetails.pageNumber = pageDetail.pageNumber;\r\n this.editorService.currentPageDetails.pageName = pageDetail.pageName;\r\n this.editorService.currentPageDetails.pageDescription = pageDetail.pageDescription;\r\n }\r\n });\r\n this.checkForPageDetails();\r\n }\r\n\r\n checkForPageDetails() {\r\n if (this.editorService.currentPageDetails === undefined || this.editorService.currentPageDetails.pageName === '') {\r\n this.editorService.showAddPageOption = true;\r\n this.editorService.showPageDetails = false;\r\n } else {\r\n this.editorService.showAddPageOption = false;\r\n this.editorService.showPageDetails = true;\r\n }\r\n }\r\n\r\n changeToInactive() {\r\n this.editorService.activeQuestion = -5;\r\n this.editorService.activeQuestionIndex.next(-5);\r\n }\r\n\r\n addNewPage() {\r\n this.editorService.addPage();\r\n this.editorService.currentPageDetails = { pageName: '', pageNumber: this.editorService.currentPageNumber, pageDescription: '' };\r\n this.editorService.showPageDetails = false;\r\n this.editorService.showAddPageOption = true;\r\n this.generatePageDropdown();\r\n }\r\n\r\n capitalizeString(stringValue: string) {\r\n return stringValue[0].toUpperCase() + stringValue.slice(1);\r\n }\r\n\r\n onDeletePageClick() {\r\n // this.showDeletePopup = true;\r\n }\r\n\r\n isPageEmpty() {\r\n if (![...new Set(this.editorService.formsPage.elements.map((element: any) => element.page))].includes(this.editorService.currentPageNumber)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n submitAfterErrorCheck(mode: any) {\r\n this.editorService.activeQuestionIndex.next(-10);\r\n this.editorService.activeQuestion = -10;\r\n if (this.editorService.stepIdentifier === 'welcomescreen' || this.editorService.stepIdentifier === 'thankyouscreen') {\r\n this.editorService.currentPageNumber = 1;\r\n this.editorService.stepIdentifier = 'pagescreen';\r\n }\r\n //this.pageMode = 'EDIT';\r\n\r\n this.validateWelcomeThankYou();\r\n\r\n setTimeout(() => {\r\n if (!this.checkforError('full')) {\r\n for (const question of this.editorService.formsPage.elements) {\r\n if (!['checkbox', 'dropdown', 'multiple-choice'].includes(question.type)) {\r\n if (question.choices) {\r\n question.choices.forEach((element: any) => {\r\n element.color = undefined;\r\n element.score = 1;\r\n element.isFailed = false;\r\n });\r\n }\r\n question.otherConfig = { color: '', isFailed: false, score: 0 };\r\n }\r\n }\r\n this.save(mode)\r\n }\r\n }, 200);\r\n\r\n }\r\n\r\n validateWelcomeThankYou() {\r\n const question = this.editorService.formsPage;\r\n if (question.hasWelcome === true) {\r\n if (question.hasWelcomeDescription === true && this.editorService.extract(question.welcomeDescription).length === 0) {\r\n this.editorService.formsPage.hasWelcomeDescription = false;\r\n }\r\n if (question.hasWelcomeImage === true && this.editorService.extract(question.welcomeImage).length === 0) {\r\n this.editorService.formsPage.hasWelcomeImage = false;\r\n }\r\n if (this.editorService.extract(question.welcomeDescription).length === 0 &&\r\n this.editorService.extract(question.welcomeText).length === 0 &&\r\n this.editorService.extract(question.welcomeImage).length === 0) {\r\n this.editorService.formsPage.hasWelcome = false;\r\n this.editorService.formsPage.hasWelcomeDescription = true;\r\n this.editorService.formsPage.hasWelcomeImage = true;\r\n }\r\n }\r\n if (question.hasThanks === true) {\r\n if (question.hasThankyouDescription === true && this.editorService.extract(question.thankyouDescription).length === 0) {\r\n this.editorService.formsPage.hasThankyouDescription = false;\r\n }\r\n if (question.hasThankyouImage === true && this.editorService.extract(question.thankyouImage).length === 0) {\r\n this.editorService.formsPage.hasThankyouImage = false;\r\n }\r\n if (this.editorService.extract(question.thankyouDescription).length === 0 &&\r\n this.editorService.extract(question.thankyouText).length === 0 &&\r\n this.editorService.extract(question.thankyouImage).length === 0) {\r\n this.editorService.formsPage.hasThanks = false;\r\n this.editorService.formsPage.hasThankyouDescription = true;\r\n this.editorService.formsPage.hasThankyouImage = true;\r\n }\r\n }\r\n }\r\n\r\n save(mode: 'DRAFT' | 'ACTIVE') {\r\n if (mode === 'ACTIVE' && this.openPortal !== 'RESPONSIBILITY_CHECKPOINT') {\r\n const ref = this.dialog.open(ActiveComponent, {\r\n data: {\r\n message: `Once published, this assessment will be active and can be associated with a compliance responsibility.`\r\n },\r\n position: 'CENTER',\r\n background: 'black',\r\n });\r\n ref.afterClosed.subscribe({\r\n next: (res: any) => {\r\n if (res === true) {\r\n this.postAssessment.emit({ mode: mode, assessmentDetails: this.editorService.formsPage });\r\n }\r\n }\r\n })\r\n } else {\r\n this.postAssessment.emit({ mode: mode, assessmentDetails: this.editorService.formsPage});\r\n\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-question-type',\r\n templateUrl: './question-type.component.html',\r\n styleUrls: ['./question-type.component.less']\r\n})\r\nexport class QuestionTypeComponent implements OnInit {\r\n@Output() addQuestion = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { EditorConfig } from 'vcomply-editor';\r\n\r\n@Component({\r\n selector: 'app-add-segment-popup',\r\n templateUrl: './add-segment-popup.component.html',\r\n styleUrls: ['./add-segment-popup.component.less']\r\n})\r\nexport class AddSegmentPopupComponent implements OnInit {\r\n\r\n selectedColor = '#325cd3';\r\n @Input() top!: string;\r\n @Input() left!: string;\r\n @Output() save = new EventEmitter<any>();\r\n @Output() closeSegment = new EventEmitter<any>();\r\n @Input() segmentCollection: any = [];\r\n @Input() mode: any;\r\n @Input() maxRange: any;\r\n @Input() criteria: any = {\r\n id: '',\r\n segmentName: '',\r\n segmentDescription: '',\r\n toRange: 0,\r\n fromRange: 0,\r\n color: '#000000'\r\n };\r\n segmentError:any = []\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.criteria = { ...this.criteria };\r\n \r\n // this.segmentCollection = {...this.segmentCollection}\r\n\r\n }\r\n\r\n fromManager(mode:any) {\r\n if (mode === '+') {\r\n this.criteria.fromRange = this.criteria.fromRange + 1;\r\n } else if (mode === '-') {\r\n if (this.criteria.fromRange > 0) {\r\n this.criteria.fromRange = this.criteria.fromRange - 1;\r\n }\r\n }\r\n }\r\n\r\n toManager(mode:any) {\r\n if (mode === '+') {\r\n this.criteria.toRange = this.criteria.toRange + 1;\r\n } else if (mode === '-') {\r\n if (this.criteria.toRange > 0) {\r\n this.criteria.toRange = this.criteria.toRange - 1;\r\n }\r\n }\r\n }\r\n saveSegment(){\r\n \r\n if(this.validateSegment()){\r\n this.save.emit({...this.criteria});\r\n }\r\n\r\n }\r\n closeResult() {\r\n // this.closeSegment.emit();\r\n }\r\n\r\n\r\n validateSegment(){\r\n let fromRange = this.criteria.fromRange;\r\n let toRange = this.criteria.toRange;\r\n this.segmentError = []\r\n let status\r\n if(fromRange > this.maxRange || toRange > this.maxRange){\r\n this.segmentError.push({type:'INVALID_RANGE',message:'Please enter a valid range for this segment.'})\r\n return false;\r\n }\r\n if(this.criteria.segmentName.trim().length === 0){\r\n this.segmentError.push({type:'NAME_MISSING',message:'Please enter a name for this segment.'})\r\n return false;\r\n } else if(fromRange >= toRange){\r\n \r\n this.segmentError.push({type:'RANGE_REVERSE',message:'Please enter a valid range for this segment.'})\r\n return false;\r\n } else if(this.segmentCollection.length > 0) {\r\n status = this.segmentCollection.some((segment:any) =>{\r\n if(this.mode === 'EDIT'){\r\n if(segment.id !== this.criteria.id){\r\n return ((fromRange >= segment['fromRange'] && fromRange <= segment['toRange']) || (toRange >= segment['fromRange'] && toRange <= segment['toRange'] ))\r\n }else{return false;}\r\n\r\n }else{\r\n return ((fromRange >= segment['fromRange'] && fromRange <= segment['toRange']) || (toRange >= segment['fromRange'] && toRange <= segment['toRange'] ))\r\n }\r\n\r\n })\r\n }else{\r\n return true;\r\n }\r\n if(status === true){\r\n this.segmentError.push({type:'INVALID_RANGE',message:'This score range already exists. Please select different values.'})\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n description: EditorConfig = {\r\n mode: 'prime',\r\n placeholder: 'Enter description for this segment',\r\n };\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-add-response-set-popup',\r\n templateUrl: './add-response-set-popup.component.html',\r\n styleUrls: ['./add-response-set-popup.component.less']\r\n})\r\nexport class AddResponseSetPopupComponent implements OnInit {\r\n setResponse = false;\r\n hideSpecificCategory = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n showResponse() {\r\n this.setResponse = !this.setResponse;\r\n }\r\n\r\n clickSpecificCategory() {\r\n this.hideSpecificCategory = true;\r\n }\r\n\r\n backResponseSet() {\r\n this.hideSpecificCategory = false;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport cloneDeep from 'lodash/cloneDeep';\r\nimport { ValidateStructure } from '../components/errorInterface/validateStructure';\r\nimport { Error } from '../components/errorInterface/error';\r\nimport { Question } from '../components/errorInterface/question';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ValidatorService {\r\n\r\n constructor() {\r\n\r\n }\r\n public validatedQuestions: any = {};\r\n\r\n\r\n validate(question: Question): ValidateStructure | any {\r\n switch (question.type) {\r\n case 'checkbox' : {\r\n return this.validateMultiValuedQuestion(question);\r\n }\r\n case 'dropdown' : {\r\n return this.validateMultiValuedQuestion(question);\r\n }\r\n case 'multiple-choice' : {\r\n return this.validateMultiValuedQuestion(question);\r\n }\r\n case 'ranking' : {\r\n return this.validateMultiValuedQuestion(question);\r\n }\r\n case 'comment-box': {\r\n return this.validateSingleValued(question);\r\n }\r\n case 'multiple-textbox': {\r\n return this.validateMultipleTextBox(question);\r\n }\r\n case 'single-textbox': {\r\n return this.validateSingleValued(question);\r\n }\r\n case 'file-upload': {\r\n return this.validateSingleValued(question);\r\n }\r\n case 'date-time': {\r\n return this.validateDateTime(question);\r\n }\r\n case 'image-choice': {\r\n return this.validateImageUpload(question);\r\n }\r\n case 'matrix-dropdown' : {\r\n return this.validateMatrixDropdown(question);\r\n }\r\n case 'star-rating' : {\r\n return this.validateStarRating(question);\r\n }\r\n case 'slider' : {\r\n return this.validateSlider(question);\r\n }\r\n case 'rating-scale' : {\r\n return this.validateRatingScale(question);\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n\r\nvalidateMultiValuedQuestion(question:any): ValidateStructure {\r\n // question.errorArray = {};\r\n delete question.errorArray;\r\n const validStatus = [];\r\n const ERROR_ARRAY: Error = {};\r\n if (this.extract(question.title).length === 0) {\r\n ERROR_ARRAY.questionMissing = {message: 'Please enter the question.'};\r\n validStatus.push(false);\r\n }\r\n if (question.hasDescription === true && this.extract(question.description).length === 0) {\r\n question.hasDescription = false;\r\n }\r\n if (question.hasComments === true && this.extract(question.comments).length === 0) {\r\n question.hasComments = false;\r\n }\r\n if (question.choices.length >= 2) {\r\n if (question.choices.length === 2 && (this.extract(question.choices[0].title).length === 0 ||\r\n this.extract(question.choices[1].title).length === 0)) {\r\n ERROR_ARRAY.twoChoice = {message: 'Please add at least two answer choices.'};\r\n validStatus.push(false);\r\n } else {\r\n question.choices =\r\n question.choices.filter((choice:any) => this.extract(choice.title).length !== 0);\r\n if (question.choices.length === 0) {\r\n question.choices.push({ title: '', value: 1, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '' });\r\n }\r\n }\r\n } else {\r\n ERROR_ARRAY.twoChoice = {message: 'Please add at least two answer choices.'};\r\n validStatus.push(false);\r\n }\r\n\r\n if (!this.checkForSameTitleWithOther(question)) {\r\n ERROR_ARRAY.sameChoice = {message: 'Two options cannot have same title.'};\r\n validStatus.push(false);\r\n }\r\n let validationResult: ValidateStructure;\r\n if (validStatus.includes(false)) {\r\n question.errorArray = ERROR_ARRAY;\r\n validationResult = {valid: false, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n } else {\r\n validationResult = {valid: true, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n }\r\n }\r\n\r\n validateSingleValued(question:any): ValidateStructure {\r\n delete question.errorArray;\r\n const validStatus = [];\r\n const ERROR_ARRAY: Error = {};\r\n if (this.extract(question.title).length === 0) {\r\n ERROR_ARRAY.questionMissing = {message: 'Please enter the question.'};\r\n validStatus.push(false);\r\n }\r\n if (question.hasDescription === true && this.extract(question.description).length === 0) {\r\n question.hasDescription = false;\r\n }\r\n if (question.hasComments === true && this.extract(question.comments).length === 0) {\r\n question.hasComments = false;\r\n }\r\n if(question.hasCharacterLength === true){\r\n if(question.minCharacterLength > question.maxCharacterLength){\r\n ERROR_ARRAY.charLength = {message: 'Minimum Character length should be less than maximum.'};\r\n validStatus.push(false);\r\n }\r\n }\r\n let validationResult: ValidateStructure;\r\n if (validStatus.includes(false)) {\r\n question.errorArray = ERROR_ARRAY;\r\n validationResult = {valid: false, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n } else {\r\n validationResult = {valid: true, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n }\r\n }\r\n\r\n validateDateTime(question:any): ValidateStructure {\r\n delete question.errorArray;\r\n const validStatus = [];\r\n const ERROR_ARRAY: Error = {};\r\n if (this.extract(question.title).length === 0) {\r\n ERROR_ARRAY.questionMissing = {message: 'Please enter the question.'};\r\n validStatus.push(false);\r\n\r\n }\r\n if (question.hasDescription === true && this.extract(question.description).length === 0) {\r\n question.hasDescription = false;\r\n }\r\n if (question.hasComments === true && this.extract(question.comments).length === 0) {\r\n question.hasComments = false;\r\n }\r\n if (question.hasDate === true) {\r\n if (question.date !== undefined && this.extract(question.date.title).length === 0) {\r\n ERROR_ARRAY.dateMissing = {message : 'Please enter a label for the date field.'};\r\n validStatus.push(false);\r\n }\r\n }\r\n if (question.hasTime === true) {\r\n if (question.time !== undefined && this.extract(question.time.title).length === 0) {\r\n ERROR_ARRAY.timeMissing = {message: 'Please enter a label for the time field.'} ;\r\n validStatus.push(false);\r\n }\r\n }\r\n if (question.hasTime === false && question.hasDate === false) {\r\n question.hasDate = true;\r\n }\r\n let validationResult: ValidateStructure;\r\n if (validStatus.includes(false)) {\r\n question.errorArray = ERROR_ARRAY;\r\n validationResult = {valid: false, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n } else {\r\n validationResult = {valid: true, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n }\r\n }\r\n\r\n validateImageUpload(question:any): ValidateStructure {\r\n delete question.errorArray;\r\n const validStatus = [];\r\n const ERROR_ARRAY: Error = {};\r\n if (this.extract(question.title).length === 0) {\r\n ERROR_ARRAY.questionMissing = {message: 'Please enter the question.'};\r\n validStatus.push(false);\r\n }\r\n if (question.hasDescription === true && this.extract(question.description).length === 0) {\r\n question.hasDescription = false;\r\n }\r\n if (question.hasComments === true && this.extract(question.comments).length === 0) {\r\n question.hasComments = false;\r\n }\r\n\r\n if (question.choices.length > 1) {\r\n if (question.choices.length === 2 && (this.extract(question.choices[0].title).length === 0 ||\r\n this.extract(question.choices[1].title).length === 0 || question.choices[1].imageURL === ''\r\n || question.choices[0].imageURL === '')) {\r\n ERROR_ARRAY.twoChoice = {message: 'Please add at least two answer choices.'};\r\n validStatus.push(false);\r\n } else {\r\n question.choices =\r\n question.choices.filter((choice:any) => this.extract(choice.title).length !== 0);\r\n }\r\n } else {\r\n ERROR_ARRAY.twoChoice = {message: 'Please add at least two answer choices.'};\r\n validStatus.push(false);\r\n }\r\n\r\n if (!this.checkForSameTitle(question.choices)) {\r\n ERROR_ARRAY.sameChoice = {message: 'Two options cannot have same title.'};\r\n validStatus.push(false);\r\n }\r\n let validationResult: ValidateStructure;\r\n if (validStatus.includes(false)) {\r\n question.errorArray = ERROR_ARRAY;\r\n validationResult = {valid: false, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n } else {\r\n validationResult = {valid: true, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n }\r\n }\r\n\r\n\r\n\r\n validateMatrixDropdown(question:any): ValidateStructure {\r\n delete question.errorArray;\r\n const validStatus = [];\r\n const ERROR_ARRAY: Error = {};\r\n if (this.extract(question.title).length === 0) {\r\n ERROR_ARRAY.questionMissing = {message: 'Please enter the question.'};\r\n validStatus.push(false);\r\n }\r\n if (question.hasDescription === true && this.extract(question.description).length === 0) {\r\n question.hasDescription = false;\r\n }\r\n if (question.hasComments === true && this.extract(question.comments).length === 0) {\r\n question.hasComments = false;\r\n }\r\n if (question.choices.length > 0) {\r\n for (const choice of question.choices) {\r\n if (question.choices.length === 1 && this.extract(choice.title).length === 0) {\r\n ERROR_ARRAY.oneRow = {message: 'You are required to have at least one row.'};\r\n validStatus.push(false);\r\n } else {\r\n question.choices = question.choices.filter((selectedChoice:any) => this.extract(selectedChoice.title).length !== 0);\r\n if (question.choices.length === 0) {\r\n question.choices.push( { title: '', isVisible: true, value: 0, isSelected: false, required: 0, hasHelpingLabel: true, helpingLabel: '' }, );\r\n }\r\n\r\n }\r\n }\r\n } else {\r\n ERROR_ARRAY.oneRow = {message: 'You are required to have at least one row.'};\r\n validStatus.push(false);\r\n }\r\n if (!this.checkForSameTitle(question.choices)) {\r\n ERROR_ARRAY.sameChoice = {message: 'Two rows cannot have same title.'};\r\n validStatus.push(false);\r\n }\r\n\r\n if (question.columns.length > 0) {\r\n question.columns = question.columns.filter((selectedChoice:any) => this.extract(selectedChoice.title).length !== 0);\r\n\r\n for (const column of question.columns) {\r\n if (this.extract(column.title).length === 0) {\r\n ERROR_ARRAY.oneCol = {message: 'You are required to have at least one column.'};\r\n validStatus.push(false);\r\n }\r\n if (column.choices.length > 1) {\r\n for (const columnChoice of column.choices) {\r\n if (this.extract(columnChoice.title).length === 0) {\r\n question.columns = question.columns.filter((selectedChoice:any) =>\r\n this.extract(selectedChoice.title).length !== 0);\r\n // ERROR_ARRAY.twoChoice = {message: 'Please add at least two answer choices for each column.'};\r\n // validStatus.push(false);\r\n column.choices = column.choices.filter((selectedChoice:any) =>\r\n this.extract(selectedChoice.title).length !== 0);\r\n } else {\r\n // column.choices = column.choices.filter(selectedChoice =>\r\n // this.extract(selectedChoice.title).length !== 0);\r\n }\r\n }\r\n } else {\r\n ERROR_ARRAY.twoChoice = {message: 'Please add at least two answer choices for each column.'};\r\n validStatus.push(false);\r\n }\r\n }\r\n if (question.columns.length === 0) {\r\n question.columns.push( { title: '', isVisible: true, value: 0, isSelected: false, required: 0, hasHelpingLabel: true, helpingLabel: '',\r\n choices: [{ title: '', isVisible: true, value: 0, isSelected: false, required: 0, hasHelpingLabel: true, helpingLabel: ''}]});\r\n }\r\n } else {\r\n ERROR_ARRAY.oneCol = {message: 'You are required to have at least one column.'};\r\n validStatus.push(false);\r\n }\r\n if (!this.checkForSameTitle(question.columns)) {\r\n ERROR_ARRAY.sameChoice = {message: 'Two columns cannot have same title.'};\r\n validStatus.push(false);\r\n }\r\n let validationResult: ValidateStructure;\r\n if (validStatus.includes(false)) {\r\n question.errorArray = ERROR_ARRAY;\r\n validationResult = {valid: false, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n } else {\r\n validationResult = {valid: true, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n }\r\n }\r\n\r\n\r\n validateMultipleTextBox(question:any): ValidateStructure {\r\n delete question.errorArray;\r\n const validStatus = [];\r\n const ERROR_ARRAY: Error = {};\r\n if (this.extract(question.title).length === 0) {\r\n ERROR_ARRAY.questionMissing = {message: 'Please enter the question.'};\r\n validStatus.push(false);\r\n }\r\n if (question.hasDescription === true && this.extract(question.description).length === 0) {\r\n question.hasDescription = false;\r\n }\r\n if (question.hasComments === true && this.extract(question.comments).length === 0) {\r\n question.hasComments = false;\r\n }\r\n\r\n if (question.choices.length > 0) {\r\n if (question.choices.length === 1 && this.extract(question.choices[0].title).length === 0) {\r\n ERROR_ARRAY.oneChoice = {message: 'Please add label for textbox.'};\r\n validStatus.push(false);\r\n } else {\r\n question.choices =\r\n question.choices.filter((choice:any) => this.extract(choice.title).length !== 0);\r\n }\r\n } else {\r\n ERROR_ARRAY.oneChoice = {message: 'Please add at least one textbox.'};\r\n validStatus.push(false);\r\n }\r\n\r\n if (!this.checkForSameTitleWithOther(question)) {\r\n ERROR_ARRAY.sameChoice = {message: 'Two textboxes cannot have same label.'};\r\n validStatus.push(false);\r\n }\r\n let validationResult: ValidateStructure;\r\n if (validStatus.includes(false)) {\r\n question.errorArray = ERROR_ARRAY;\r\n validationResult = {valid: false, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n } else {\r\n validationResult = {valid: true, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n }\r\n }\r\n\r\n validateSlider(question:any): ValidateStructure {\r\n delete question.errorArray;\r\n const validStatus = [];\r\n const ERROR_ARRAY: Error = {};\r\n const minimum = parseInt(question.scaleRangeMin, 10);\r\n const maximum = parseInt(question.scaleRangeMax, 10);\r\n const stepSize = question.stepSize;\r\n const threshold = 0;\r\n if (this.extract(question.title).length === 0) {\r\n ERROR_ARRAY.questionMissing = {message: 'Please enter the question.'};\r\n validStatus.push(false);\r\n }\r\n if (question.hasDescription === true && this.extract(question.description).length === 0) {\r\n question.hasDescription = false;\r\n }\r\n if (question.hasComments === true && this.extract(question.comments).length === 0) {\r\n question.hasComments = false;\r\n }\r\n if (minimum >= maximum) {\r\n ERROR_ARRAY.minError = {message: `Please enter a value smaller than ${maximum}.`};\r\n validStatus.push(false);\r\n }\r\n if (maximum <= minimum) {\r\n ERROR_ARRAY.minError = {message: `Please enter a value greater than ${maximum}.`};\r\n validStatus.push(false);\r\n }\r\n if (stepSize > maximum) {\r\n ERROR_ARRAY.stepError = {message: `The range for the slider values are within ${minimum}-${maximum}. Please select a step size within this range.`};\r\n validStatus.push(false);\r\n }\r\n if (stepSize <= 0) {\r\n ERROR_ARRAY.stepError = {message: `Please enter a value greater than ${threshold}.` };\r\n validStatus.push(false);\r\n }\r\n let validationResult: ValidateStructure;\r\n if (validStatus.includes(false)) {\r\n question.errorArray = ERROR_ARRAY;\r\n validationResult = {valid: false, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n } else {\r\n validationResult = {valid: true, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n }\r\n }\r\n\r\n\r\n validateStarRating(question:any): ValidateStructure {\r\n delete question.errorArray;\r\n const validStatus = [];\r\n const ERROR_ARRAY: Error = {};\r\n if (this.extract(question.title).length === 0) {\r\n ERROR_ARRAY.questionMissing = {message: 'Please enter the question.'};\r\n validStatus.push(false);\r\n }\r\n if (question.hasDescription === true && this.extract(question.description).length === 0) {\r\n question.hasDescription = false;\r\n }\r\n if (question.hasComments === true && this.extract(question.comments).length === 0) {\r\n question.hasComments = false;\r\n }\r\n if (question.hasRatingLabel) {\r\n if (question.ratingLabelType === 'scale' && question.scaleRangeFrom === '' && question.scaleRangeTo === '') {\r\n question.hasRatingLabel = false;\r\n }\r\n }\r\n let validationResult: ValidateStructure;\r\n if (validStatus.includes(false)) {\r\n question.errorArray = ERROR_ARRAY;\r\n validationResult = {valid: false, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n } else {\r\n validationResult = {valid: true, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n }\r\n }\r\n\r\n validateRatingScale(question:any): ValidateStructure {\r\n delete question.errorArray;\r\n const validStatus = [];\r\n const ERROR_ARRAY: Error = {};\r\n if (this.extract(question.title).length === 0) {\r\n ERROR_ARRAY.questionMissing = {message: 'Please enter the question.'};\r\n validStatus.push(false);\r\n }\r\n if (question.hasDescription === true && this.extract(question.description).length === 0) {\r\n question.hasDescription = false;\r\n }\r\n if (question.hasComments === true && this.extract(question.comments).length === 0) {\r\n question.hasComments = false;\r\n }\r\n if (question.choices.length > 0) {\r\n for (const choice of question.choices) {\r\n if (question.choices.length === 1 && this.extract(choice.title).length === 0) {\r\n ERROR_ARRAY.oneRow = {message: 'You are required to have at least one row.'};\r\n validStatus.push(false);\r\n } else {\r\n question.choices =\r\n question.choices.filter((selectedChoice:any) =>\r\n this.extract(selectedChoice.title).length !== 0);\r\n if (question.choices.length === 0) {\r\n question.choices.push( { title: '', isVisible: true, value: 0, isSelected: false, required: 0, hasHelpingLabel: true, helpingLabel: '' }, );\r\n }\r\n\r\n }\r\n }\r\n } else {\r\n ERROR_ARRAY.oneRow = {message: 'You are required to have at least one row.'};\r\n validStatus.push(false);\r\n }\r\n if (!this.checkForSameTitle(question.choices)) {\r\n ERROR_ARRAY.sameChoice = {message: 'Two rows cannot have same title.'};\r\n validStatus.push(false);\r\n }\r\n\r\n if (question.columns !== undefined && question.columns.length > 0) {\r\n for (const column of question.columns) {\r\n if (question.columns.length === 1 && this.extract(column.title).length === 0) {\r\n ERROR_ARRAY.oneCol = {message: 'You are required to have at least one column.'};\r\n validStatus.push(false);\r\n } else {\r\n question.columns =\r\n question.columns.filter((selectedChoice:any) =>\r\n this.extract(selectedChoice.title).length !== 0);\r\n if (question.columns.length === 0) {\r\n question.columns.push( { title: '', isVisible: true, value: 0, isSelected: false, required: 0, hasHelpingLabel: true, helpingLabel: '' }, );\r\n }\r\n\r\n }\r\n }\r\n } else {\r\n ERROR_ARRAY.oneCol = {message: 'You are required to have at least one column.'};\r\n validStatus.push(false);\r\n }\r\n if (!this.checkForSameTitle(question.columns)) {\r\n ERROR_ARRAY.sameChoice = {message: 'Two columns cannot have same title.'};\r\n validStatus.push(false);\r\n }\r\n let validationResult: ValidateStructure;\r\n if (validStatus.includes(false)) {\r\n question.errorArray = ERROR_ARRAY;\r\n validationResult = {valid: false, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n } else {\r\n validationResult = {valid: true, error: ERROR_ARRAY, question};\r\n return validationResult;\r\n }\r\n }\r\n /**\r\n * Extracts the text from a particular html content\r\n * @param s html content from which text needs to be extracted\r\n */\r\n extract(s:any) {\r\n const span = document.createElement('span');\r\n span.innerHTML = s;\r\n return span.textContent || span.innerText;\r\n }\r\n /**\r\n * Checks if title of two choices is same or not\r\n * @param choices Choice for which title should be checked\r\n */\r\n checkForSameTitle(choices:any) {\r\n const title = choices.map((data:any) => data.title);\r\n for (const choice of choices) {\r\n const sameTitle = cloneDeep(title).filter((data:any) => data === choice.title);\r\n if (sameTitle.length > 1) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n /**\r\n * Checks if title of two choices is same or not\r\n * @param choices Choice for which title should be checked\r\n */\r\n checkForSameTitleWithOther(questionDetails: any) {\r\n const title = questionDetails.choices.map((data: { title: string; }) => data.title.trim());\r\n \r\n for (const choice of questionDetails.choices) {\r\n const sameTitle = cloneDeep(title).filter((data: string) => data === choice.title.trim());\r\n if (sameTitle.length > 1) {\r\n return false;\r\n } else {\r\n if (questionDetails.hasOther && choice.title.trim() === questionDetails.otherValue) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ValidatorService } from '../../services/validator.service';\r\n\r\n@Component({\r\n selector: 'app-editor-wrapper',\r\n templateUrl: './editor-wrapper.component.html',\r\n styleUrls: ['./editor-wrapper.component.less']\r\n})\r\nexport class EditorWrapperComponent implements OnInit,AfterViewInit {\r\n\r\n hideResponsePopup = false;\r\n nextQuestion = false;\r\n @Input() openPortal :'ASSESSMENT_IMPORT' | 'RESPONSIBILITY_CHECKPOINT'|'' = '';\r\n\r\n\r\n\r\n\r\n openResponsePopup() {\r\n this.hideResponsePopup = true;\r\n }\r\n\r\n closeResponsePopup() {\r\n this.hideResponsePopup = false;\r\n }\r\n\r\n openNextQuestion() {\r\n this.nextQuestion = true;\r\n }\r\n\r\n closeNextQuestion() {\r\n this.nextQuestion = false;\r\n }\r\n\r\n @Input() questionIndex: any;\r\n @Input() question: any;\r\n @Input() GRS: any;\r\n @Input() service: any;\r\n @Input() editorMode: any;\r\n @Output() validQuestionData = new EventEmitter();\r\n responseChoice: any;\r\n errorPresent = false;\r\n viewMode = 'build';\r\n @Output() deleteQuestion = new EventEmitter<number>();\r\n @Output() copyQuestion = new EventEmitter<number>();\r\n @ViewChild('questionContainer') questionContainer !: ElementRef;\r\n constructor(private cdr: ChangeDetectorRef , private validator: ValidatorService) { }\r\n\r\n ngOnInit(): void {\r\n if ( this.question.errorArray && Object.values(this.question.errorArray).length > 0){\r\n this.errorPresent = true;\r\n }\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n this.questionContainer.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n }, 100);\r\n }\r\n openResponseChoice() {\r\n this.responseChoice = true;\r\n }\r\n closeThis() {\r\n this.responseChoice = false;\r\n }\r\n\r\n callDelete() {\r\n this.deleteQuestion.emit(this.questionIndex);\r\n }\r\n callCopy() {\r\n this.copyQuestion.emit(this.questionIndex);\r\n }\r\n\r\n /**\r\n * Adds new option for a question\r\n * @param choiceIndex Index of option after which new option should be added\r\n * @param type Unique identifier to set id of newly created options\r\n */\r\n addOption({choiceIndex, type}:any) {\r\n this.question.choices.splice(choiceIndex + 1, 0,\r\n { title: '', value: '', is_selected: false, answerCompletedBy: [] });\r\n this.setFocus(type, choiceIndex + 1);\r\n }\r\n\r\n /**\r\n * Deletes a particular option\r\n * @param choiceIndex Index of option after which new option should be added\r\n * @param type Unique identifier to set id of newly created options\r\n */\r\n deleteOption({choiceIndex, type} :any) {\r\n if (this.question.choices.length !== 1) {\r\n this.question.choices.splice(choiceIndex, 1);\r\n }\r\n (choiceIndex - 1 >= 0) ? this.setFocus(type, choiceIndex - 1) :\r\n this.setFocus(type, 0);\r\n }\r\n\r\n deleteColumn({columnIndex, type} :any) {\r\n if (this.question.columns.length === 1) { return; }\r\n this.question.columns.splice(columnIndex, 1);\r\n (columnIndex - 1 >= 0) ? this.setFocus(type, columnIndex - 1) : this.setFocus(type, 0);\r\n }\r\n\r\n addColumn({columnIndex, type}:any) {\r\n const column = { title: '', value: 0, is_selected: false, weight: 0, choices: [{ title: '' }]};\r\n this.question.columns.splice(columnIndex + 1, 0 , column);\r\n this.setFocus(type, columnIndex + 1);\r\n }\r\n\r\n /**\r\n * Sets focus to updated option\r\n * @param type Unique identifier to set id of newly created options\r\n * @param choiceIndex Index of option after which new option should be added\r\n */\r\n setFocus(type: string, choiceIndex: number) {\r\n this.cdr.detectChanges();\r\n let EL: HTMLElement | null;\r\n EL = document.getElementById(type + choiceIndex);\r\n if (EL) {\r\n EL.focus();\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Operation on click of save button\r\n */\r\n async checkForValidationStatus(mode?:any) {\r\n\r\n const status = await this.validator.validate(this.question);\r\n\r\n if (status.valid === true) {\r\n this.errorPresent = false;\r\n this.validator.validatedQuestions[status.question.name] = status.question;\r\n this.validQuestionData.emit(mode);\r\n } else {\r\n this.errorPresent = true;\r\n delete this.validator.validatedQuestions[status.question.name];\r\n\r\n }\r\n }\r\n insertResponseSet(evt:any){\r\n this.question.choices = evt;\r\n if(this.service.formsPage.settings.assessmentMode){\r\n this.question.choices.some((ele:any)=>{\r\n if(!ele.isFailed){\r\n ele.score = this.service.formsPage.settings.defaultScore;\r\n }\r\n if(ele.isFailed === true){\r\n ele.score = this.service.formsPage.settings.negativeScore;\r\n }\r\n })\r\n\r\n this.question.hasOther = false;\r\n }\r\n this.responseChoice = false;\r\n this.checkForValidationStatus('partial');\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { EditorService } from '../../services/editor.service';\r\n\r\n@Component({\r\n selector: 'app-quick-setting',\r\n templateUrl: './quick-settings.component.html',\r\n styleUrls: ['./quick-settings.component.less']\r\n})\r\nexport class QuickSettingsComponent implements OnInit {\r\n\r\n constructor(public fd: EditorService) { }\r\n\r\n ngOnInit(): void {\r\n this.populateSelectedQuestionType();\r\n this.populateQuickSettingsList();\r\n }\r\n @Input() questionIndex: any;\r\n @Input() question: any;\r\n @Output() typeChanged = new EventEmitter<any>();\r\n selectedQuestionDetails = { questionValue: '', questionName: '', questionIcon: '', questionClass: '' };\r\n questionTypeDropdown = [\r\n { questionValue: 'multiple-choice', questionName: 'Multiple Choice', questionIcon: '&#xeabd;', questionClass: 'multiple-choice' },\r\n { questionValue: 'checkbox', questionName: 'Checkboxes', questionIcon: '&#xeabb;', questionClass: 'checkboxes' },\r\n // { questionValue: 'image-choice', questionName: 'Image Choice', questionIcon: '&#xea29;', questionClass: 'image-choice' },\r\n // { questionValue: 'star-rating', questionName: 'Star Ratings', questionIcon: '&#xea71;', questionClass: 'star-rating' },\r\n { questionValue: 'single-textbox', questionName: 'Single Textbox', questionIcon: '&#xeab5;', questionClass: 'single-textbox' },\r\n // { questionValue: 'comment-box', questionName: 'Comment Box', questionIcon: '&#xe9a6;', questionClass: 'comment-box' },\r\n // { questionValue: 'matrix-dropdown', questionName: 'Matrix of Dropdown', questionIcon: '&#xeab7;', questionClass: 'matrix-dropdown' },\r\n { questionValue: 'dropdown', questionName: 'Dropdown', questionIcon: '&#xeab9;', questionClass: 'dropdown-icon' },\r\n // { questionValue: 'rating-scale', questionName: 'Matrix & Rating Scale', questionIcon: '&#xeab8;', questionClass: 'matrix-rating' },\r\n // { questionValue: 'ranking', questionName: 'Ranking', questionIcon: '&#xeb03;', questionClass: 'ranking' },\r\n // { questionValue: 'slider', questionName: 'Slider', questionIcon: '&#xeab6;', questionClass: 'slider' },\r\n // { questionValue: 'multiple-textbox', questionName: 'Multiple Textboxes', questionIcon: '&#xeab4;', questionClass: 'multiple-textbox' },\r\n { questionValue: 'date-time', questionName: 'Date & Time', questionIcon: '&#xeaba;', questionClass: 'date-time' },\r\n { questionValue: 'file-upload', questionName: 'File Upload', questionIcon: '&#xea97;', questionClass: 'file-upload' },\r\n ];\r\n\r\n quickSettingsList: any = [];\r\n optionsForQuickSettings: any = [\r\n {\r\n title: 'Is required',\r\n toolTip: 'You can use this option to ensure that important questions are not left unanswered.' +\r\n 'If enabled, the respondent cannot submit the response to the assessment unless the question is answered.',\r\n optionType: 'required',\r\n toggleValue: 'isRequired',\r\n eligibleQuestionTypes: ['image-choice', 'checkbox', 'single-textbox', 'multiple-choice', 'file-upload', 'star-rating',\r\n 'comment-box', 'matrix-dropdown', 'rating-scale', 'ranking', 'slider', 'multiple-textbox', 'date-time', 'dropdown']\r\n },\r\n {\r\n title: 'Edit Placeholder',\r\n toolTip: 'You can customize the placeholder text to provide more relevant information to the respondents taking the ' +\r\n `assessment` + '.',\r\n optionType: 'placeholder',\r\n toggleValue: 'isPlaceholder',\r\n eligibleQuestionTypes: ['single-textbox', 'comment-box', 'multiple-textbox']\r\n },\r\n {\r\n title: 'Description',\r\n toolTip: 'Add more context to your assessment questions by providing more details.',\r\n optionType: 'questiondescription',\r\n toggleValue: 'hasDescription',\r\n eligibleQuestionTypes: ['image-choice', 'checkbox', 'single-textbox', 'multiple-choice', 'file-upload', 'star-rating',\r\n 'comment-box', 'matrix-dropdown', 'rating-scale', 'ranking', 'slider', 'multiple-textbox', 'date-time', 'dropdown']\r\n },\r\n {\r\n title: 'Comment',\r\n toolTip: 'You can provide additional information about the question using this option.',\r\n optionType: 'comments',\r\n toggleValue: 'hasComments',\r\n eligibleQuestionTypes: ['image-choice', 'checkbox', 'single-textbox', 'multiple-choice', 'file-upload', 'star-rating',\r\n 'comment-box', 'matrix-dropdown', 'rating-scale', 'ranking', 'slider', 'multiple-textbox', 'date-time', 'dropdown']\r\n },\r\n {\r\n title: '\\'Other\\' Answer Choice',\r\n toolTip: 'You can add ‘Other’ as an answer choice so that your respondents can provide details and or alternate answers.',\r\n optionType: 'other',\r\n toggleValue: 'hasOther',\r\n eligibleQuestionTypes: ['checkbox', 'multiple-choice', 'multiple-textbox', 'dropdown']\r\n },\r\n {\r\n title: 'Randomize',\r\n toolTip: 'To avoid order bias while answering a question, you can randomize the answer order' +\r\n 'every time the respondents view the assessment.',\r\n optionType: 'randomize',\r\n toggleValue: 'randomize',\r\n eligibleQuestionTypes: ['checkbox', 'multiple-choice', 'matrix-dropdown', 'rating-scale', 'ranking', 'multiple-textbox', 'dropdown']\r\n },\r\n {\r\n title: 'Switch Alignments',\r\n toolTip: 'You can choose to present the answer choices one after the other in vertical columns or display in a horizontal sequence.',\r\n optionType: 'alignment',\r\n toggleValue: 'alignment',\r\n eligibleQuestionTypes: ['checkbox', 'multiple-choice']\r\n },\r\n {\r\n title: 'Add rating labels',\r\n toolTip: 'You can add labels above your icons to indicate what the scale represents.',\r\n optionType: 'ratingLabel',\r\n toggleValue: 'hasRatingLabel',\r\n eligibleQuestionTypes: ['star-rating']\r\n },\r\n {\r\n title: 'Character Length',\r\n toolTip: 'This option lets you set a maximum and minimum character length criteria' +\r\n 'that the respondents must follow while answering the question.',\r\n optionType: 'characterLength',\r\n toggleValue: 'hasCharacterLength',\r\n eligibleQuestionTypes: ['single-textbox', 'comment-box']\r\n },\r\n {\r\n title: 'Use weights',\r\n toolTip: 'This option allows you to specify a weight or score to each column of the matrix question.' +\r\n 'This is useful when you\\'re analyzing the data and wanting to tally up average scores to each of the answers.',\r\n optionType: 'useWeights',\r\n toggleValue: 'hasWeight',\r\n eligibleQuestionTypes: ['rating-scale']\r\n },\r\n {\r\n title: 'Show numerical input box',\r\n toolTip: 'This allows the respondent to select a scale on the slider by entering the value.',\r\n optionType: 'numericalInput',\r\n toggleValue: 'numericBoxEnabled',\r\n eligibleQuestionTypes: ['slider']\r\n },\r\n {\r\n title: 'Date Info',\r\n toolTip: '',\r\n optionType: 'dateFormat',\r\n toggleValue: 'hasDate',\r\n eligibleQuestionTypes: ['date-time']\r\n },\r\n {\r\n title: 'Time Info',\r\n toolTip: '',\r\n optionType: 'timeInfo',\r\n toggleValue: 'hasTime',\r\n eligibleQuestionTypes: ['date-time']\r\n },\r\n {\r\n title: 'Allow Attachments',\r\n toolTip: 'This option allows the respondents to upload a file in addition to answering the question.',\r\n optionType: 'userAttachedFiles',\r\n toggleValue: 'isRespondentAttachment',\r\n eligibleQuestionTypes: ['image-choice', 'checkbox', 'single-textbox', 'multiple-choice', 'file-upload', 'star-rating',\r\n 'comment-box', 'matrix-dropdown', 'rating-scale', 'ranking', 'slider', 'multiple-textbox', 'date-time', 'dropdown']\r\n },\r\n {\r\n title: 'Allow Comments',\r\n toolTip: 'This option allows the respondent to add notes or comments to a question.',\r\n optionType: 'userComments',\r\n toggleValue: 'isRespondentComment',\r\n eligibleQuestionTypes: ['image-choice', 'checkbox', 'single-textbox', 'multiple-choice', 'file-upload', 'star-rating',\r\n 'comment-box', 'matrix-dropdown', 'rating-scale', 'ranking', 'slider', 'multiple-textbox', 'date-time', 'dropdown']\r\n }\r\n ];\r\n\r\n populateSelectedQuestionType() {\r\n this.questionTypeDropdown.forEach(questionType => {\r\n if (questionType.questionValue === this.fd.formsPage.elements[this.questionIndex].type) {\r\n this.selectedQuestionDetails.questionClass = questionType.questionClass;\r\n this.selectedQuestionDetails.questionName = questionType.questionName;\r\n this.selectedQuestionDetails.questionIcon = questionType.questionIcon;\r\n this.selectedQuestionDetails.questionValue = questionType.questionValue;\r\n }\r\n });\r\n }\r\n\r\n changeQuestionType(selectedQuestion: any) {\r\n if (selectedQuestion.questionValue === 'rating-scale') {\r\n this.fd.formsPage.elements[this.questionIndex].columns =\r\n [{ title: '', value: 1, weight: 0, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '' }];\r\n } else if (selectedQuestion.questionValue === 'matrix-dropdown') {\r\n \r\n this.fd.formsPage.elements[this.questionIndex].columns =\r\n [{\r\n title: '', value: 1, weight: 0, isSelected: false, required: 0, hasHelpingLabel: false, helpingLabel: '',\r\n choices: [{ hasHelpingLabel: false, helpingLabel: '', isSelected: false, required: 0, title: '', value: 1 }]\r\n }];\r\n } else if (selectedQuestion.questionValue === 'date-time') {\r\n this.fd.formsPage.elements[this.questionIndex].hasDate = true;\r\n this.fd.formsPage.elements[this.questionIndex].date = { title: '', value: '' };\r\n this.fd.formsPage.elements[this.questionIndex].time = { title: '', value: '' };\r\n } else if (selectedQuestion.questionValue === 'star-rating') {\r\n this.fd.formsPage.elements[this.questionIndex].cursorType = 'number';\r\n this.fd.formsPage.elements[this.questionIndex].scale = 2;\r\n this.fd.formsPage.elements[this.questionIndex].ratingLabelType = 'specific';\r\n this.fd.formsPage.elements[this.questionIndex].scaleRangeTo = 'Extreme Likely';\r\n this.fd.formsPage.elements[this.questionIndex].scaleRangeFrom = 'Not at all likely';\r\n this.fd.formsPage.elements[this.questionIndex].cursorColor = '#ff8000';\r\n this.fd.formsPage.elements[this.questionIndex].starValue = '';\r\n this.fd.formsPage.elements[this.questionIndex].choices = [\r\n { title: '', isVisible: true, value: 0, isSelected: false, required: 0, hasHelpingLabel: true, helpingLabel: '' },\r\n { title: '', isVisible: true, value: 1, isSelected: false, required: 0, hasHelpingLabel: true, helpingLabel: '' },\r\n ];\r\n } else if (selectedQuestion.questionValue === 'slider') {\r\n this.fd.formsPage.elements[this.questionIndex].scaleRangeMin = 0;\r\n this.fd.formsPage.elements[this.questionIndex].scaleRangeMax = 100;\r\n this.fd.formsPage.elements[this.questionIndex].stepSize = 10;\r\n }\r\n\r\n this.fd.formsPage.elements[this.questionIndex].type = selectedQuestion.questionValue;\r\n\r\n\r\n this.selectedQuestionDetails = selectedQuestion;\r\n this.populateQuickSettingsList();\r\n this.populateSelectedQuestionType();\r\n this.typeChanged.emit();\r\n }\r\n populateQuickSettingsList() {\r\n this.quickSettingsList = [...this.optionsForQuickSettings];\r\n this.quickSettingsList = this.quickSettingsList.filter(\r\n (option: any) => option.eligibleQuestionTypes.includes(this.fd.formsPage.elements[this.questionIndex].type)\r\n );\r\n }\r\n\r\n toggle(e: any, quickSetting: any) {\r\n \r\n const questionDetail = this.fd.formsPage.elements[this.questionIndex];\r\n\r\n if (questionDetail.type === 'date-time') {\r\n if (quickSetting.toggleValue === 'hasDate' && e) {\r\n this.fd.formsPage.elements[this.questionIndex].hasDate = true;\r\n } else if (quickSetting.toggleValue === 'hasTime' && e) {\r\n \r\n this.fd.formsPage.elements[this.questionIndex].hasTime = true;\r\n }else if(quickSetting.toggleValue === 'hasDate' && !e){\r\n this.fd.formsPage.elements[this.questionIndex].hasDate = false; \r\n if(!this.fd.formsPage.elements[this.questionIndex].hasTime){\r\n this.fd.formsPage.elements[this.questionIndex].hasTime = true;\r\n } \r\n }else if(quickSetting.toggleValue === 'hasTime' && !e){\r\n this.fd.formsPage.elements[this.questionIndex].hasTime = false;\r\n if(!this.fd.formsPage.elements[this.questionIndex].hasDate){\r\n this.fd.formsPage.elements[this.questionIndex].hasDate = true;\r\n }\r\n }\r\n this.fd.formsPage.elements[this.questionIndex][quickSetting.toggleValue] = e;\r\n return;\r\n }\r\n if (quickSetting.optionType === 'characterLength' && e) {\r\n this.fd.formsPage.elements[this.questionIndex].maxCharacterLength = 100;\r\n this.fd.formsPage.elements[this.questionIndex].minCharacterLength = 0;\r\n }\r\n this.fd.formsPage.elements[this.questionIndex][quickSetting.toggleValue] = e;\r\n \r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-single-line-editor',\r\n templateUrl: './single-line-editor.component.html',\r\n styleUrls: ['./single-line-editor.component.less'],\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: SingleLineEditorComponent, multi: true },\r\n ]\r\n})\r\nexport class SingleLineEditorComponent implements OnInit, ControlValueAccessor {\r\n @Input() placeholder: string = 'placeholder';\r\n @Input() editorMode = 'single';\r\n @Input() label = true;\r\n\r\n @Input() id!: string;\r\n containerValue !:any;\r\n public sel: any;\r\n public selectFunction: any;\r\n public bold!: boolean;\r\n public italic!: boolean;\r\n public underline!: boolean;\r\n showEditorControls !:boolean;\r\n activeEditor !:boolean;\r\n public oldRange: any;\r\n controls !:boolean;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.selectFunction = () => {\r\n this.bold = document.queryCommandState('bold');\r\n this.italic = document.queryCommandState('italic');\r\n this.underline = document.queryCommandState('underline');\r\n };\r\n document.addEventListener('selectionchange', this.selectFunction, false);\r\n this.sel = window.getSelection();\r\n if (!this.id) {\r\n this.id = this.generateUID();\r\n }\r\n }\r\n\r\n\r\n generateUID() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n const r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n onChange = (value: any) => { };\r\n onTouched = () => { };\r\n setValue() {\r\n const x = document.getElementById(this.id)?.innerHTML;\r\n \r\n if (x === '<br>') {\r\n const z:any = document.getElementById(this.id);\r\n z.innerHTML = '';\r\n }\r\n this.onChange(x);\r\n }\r\n\r\n writeValue(value: string) {\r\n this.containerValue = value;\r\n const containerRef = document.getElementById(this.id);\r\n if (containerRef) {\r\n setTimeout((val:any) => {\r\n \r\n containerRef.innerHTML = value;\r\n this.setValue();\r\n }, 150);\r\n }\r\n\r\n\r\n }\r\n\r\n registerOnChange(onChange: (value: string) => void) {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched() { }\r\n\r\n show(e?: any) {\r\n this.showEditorControls = !this.showEditorControls;\r\n this.activeEditor = !this.activeEditor;\r\n document.getElementById(this.id)?.focus();\r\n this.setCaretToEnd();\r\n \r\n }\r\n insertBold(): void {\r\n document.getElementById(this.id)?.focus();\r\n document.execCommand('bold', false, '');\r\n this.bold = !this.bold;\r\n }\r\n insertItalic(): void {\r\n document.getElementById(this.id)?.focus();\r\n document.execCommand('italic', false, '');\r\n this.italic = !this.italic;\r\n }\r\n insertUnderLine(): void {\r\n document.getElementById(this.id)?.focus();\r\n document.execCommand('underline', false, '');\r\n this.underline = !this.underline;\r\n }\r\n onblur(): void {\r\n this.oldRange = window?.getSelection()?.getRangeAt(0).cloneRange(); // to store the range when element is blurred\r\n }\r\n setCaretToEnd() {\r\n window.getSelection()?.removeAllRanges();\r\n window.getSelection()?.addRange(this.oldRange);\r\n }\r\n showControls() {\r\n if (this.controls !== false) {\r\n this.controls = false;\r\n }\r\n if (this.activeEditor !== false) {\r\n this.activeEditor = false;\r\n }\r\n }\r\n\r\n onPaste(event: ClipboardEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n const pastedText = event?.clipboardData?.getData('text/plain');\r\n document.execCommand('insertHTML', false, pastedText);\r\n const range = this.sel.getRangeAt(0);\r\n const position = range.getBoundingClientRect();\r\n const d:any = document.getElementById(this.id); \r\n d.scrollLeft = position.x;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DialogService } from '../../../../ui-kit/dialog/dialog.service';\r\nimport { AddResponseSetPopupComponent } from '../add-response-set-popup/add-response-set-popup.component';\r\n\r\n@Component({\r\n selector: 'app-response-selector',\r\n templateUrl: './response-selector.component.html',\r\n styleUrls: ['./response-selector.component.less']\r\n})\r\nexport class ResponseSelectorComponent implements OnInit {\r\n responseDetails = false;\r\n\r\n constructor(\r\n private dialog: DialogService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n addResponseSet() {\r\n const ref = this.dialog.open(AddResponseSetPopupComponent, {\r\n data: {},\r\n position: 'RIGHT',\r\n background: 'black',\r\n });\r\n }\r\n\r\n openResponseDetails() {\r\n this.responseDetails = true;\r\n }\r\n\r\n backResponse() {\r\n this.responseDetails = false;\r\n }\r\n\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-multiple-choice',\r\n templateUrl: './multiple-choice.component.html',\r\n styleUrls: ['./multiple-choice.component.less']\r\n})\r\nexport class MultipleChoiceComponent implements OnInit {\r\n @Input() question!: any;\r\n @Input() service: any;\r\n @Output() addOption = new EventEmitter<any>();\r\n @Output() deleteOption = new EventEmitter<any>();\r\n constructor(private cdr: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n modifyOption(mode: string, choiceIndex: number, type: string){\r\n if (mode === 'ADD'){this.addOption.emit({choiceIndex, type}); }\r\n else if (mode === 'DELETE'){this.deleteOption.emit({choiceIndex, type}); }\r\n}\r\n\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.less']\r\n})\r\nexport class CheckboxComponent implements OnInit {\r\n @Input() question!: any;\r\n @Input() service: any;\r\n @Output() addOption = new EventEmitter<any>();\r\n @Output() deleteOption = new EventEmitter<any>();\r\n constructor(private cdr: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n modifyOption(mode: string, choiceIndex: number, type: string){\r\n if (mode === 'ADD'){this.addOption.emit({choiceIndex, type}); }\r\n else if (mode === 'DELETE'){this.deleteOption.emit({choiceIndex, type}); }\r\n}\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-image-choice',\r\n templateUrl: './image-choice.component.html',\r\n styleUrls: ['./image-choice.component.less']\r\n})\r\nexport class ImageChoiceComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-star-rating',\r\n templateUrl: './star-rating.component.html',\r\n styleUrls: ['./star-rating.component.less']\r\n})\r\nexport class StarRatingComponent implements OnInit {\r\n specificValue = true;\r\n scaleRange = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n clickSpecificValue() {\r\n this.specificValue = true;\r\n this.scaleRange = false;\r\n }\r\n\r\n clickScaleRange() {\r\n this.scaleRange = true;\r\n this.specificValue = false;\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-matrix-dropdown',\r\n templateUrl: './matrix-dropdown.component.html',\r\n styleUrls: ['./matrix-dropdown.component.less']\r\n})\r\nexport class MatrixDropdownComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-build-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.less']\r\n})\r\nexport class DropdownComponent implements OnInit {\r\n @Input() question!: any;\r\n @Input() service: any;\r\n @Output() addOption = new EventEmitter<any>();\r\n @Output() deleteOption = new EventEmitter<any>();\r\n constructor(private cdr: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n modifyOption(mode: string, choiceIndex: number, type: string){\r\n if (mode === 'ADD'){this.addOption.emit({choiceIndex, type}); }\r\n else if (mode === 'DELETE'){this.deleteOption.emit({choiceIndex, type}); }\r\n}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-matrix-rating-scale',\r\n templateUrl: './matrix-rating-scale.component.html',\r\n styleUrls: ['./matrix-rating-scale.component.less']\r\n})\r\nexport class MatrixRatingScaleComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-ranking',\r\n templateUrl: './ranking.component.html',\r\n styleUrls: ['./ranking.component.less']\r\n})\r\nexport class RankingComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-slider',\r\n templateUrl: './slider.component.html',\r\n styleUrls: ['./slider.component.less']\r\n})\r\nexport class SliderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-multiple-textbox',\r\n templateUrl: './multiple-textbox.component.html',\r\n styleUrls: ['./multiple-textbox.component.less']\r\n})\r\nexport class MultipleTextboxComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-build-date-time',\r\n templateUrl: './date-time.component.html',\r\n styleUrls: ['./date-time.component.less']\r\n})\r\nexport class DateTimeComponent implements OnInit {\r\n @Input() question!: any;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-choice-settings-panel',\r\n templateUrl: './choice-settings-panel.component.html',\r\n styleUrls: ['./choice-settings-panel.component.less']\r\n})\r\nexport class ChoiceSettingsPanelComponent implements OnInit {\r\n public score!: number;\r\n @Input() defaultScore: any;\r\n @Input() negativeScore: any;\r\n\r\n @Input() isFailed!: boolean;\r\n @Input('score')\r\n set Score(score: any) {\r\n \r\n if (score === undefined) {\r\n this.score = this.defaultScore ? this.defaultScore : 1;\r\n } else {\r\n this.score = score;\r\n }\r\n this.changeScore(this.score);\r\n this.isFailedChange.emit(this.isFailed ? this.isFailed : false);\r\n }\r\n @Input() scoreVisible !: boolean;\r\n @Output() isFailedChange = new EventEmitter<boolean>();\r\n @Output() scoreChange = new EventEmitter<number>();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n changeScore(evt: any) {\r\n this.scoreChange.emit(evt);\r\n }\r\n changeFailed(evt: any) {\r\n if (evt === false) {\r\n this.score = this.defaultScore ? this.defaultScore : 1;\r\n // if (this.color === '#c60022') {\r\n // this.color = '#000000';\r\n // }\r\n\r\n this.scoreChange.emit(this.score);\r\n } else {\r\n this.score = this.negativeScore ? this.negativeScore : 0;\r\n // this.color = '#c60022';\r\n this.scoreChange.emit(this.score);\r\n }\r\n this.isFailedChange.emit(evt);\r\n }\r\n\r\n scoreManger(mode: any) {\r\n if (mode === '+') {\r\n this.score = this.score + 1;\r\n } else if (mode === '-') {\r\n if (this.score > 0) {\r\n this.score = this.score - 1;\r\n }\r\n }\r\n this.scoreChange.emit(this.score);\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-welcome',\r\n templateUrl: './welcome.component.html',\r\n styleUrls: ['./welcome.component.less']\r\n})\r\nexport class WelcomeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-thank-you',\r\n templateUrl: './thank-you.component.html',\r\n styleUrls: ['./thank-you.component.less']\r\n})\r\nexport class ThankYouComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-weightage-selector',\r\n templateUrl: './weightage-selector.component.html',\r\n styleUrls: ['./weightage-selector.component.less']\r\n})\r\nexport class WeightageSelectorComponent implements OnInit {\r\n\r\n constructor() { }\r\n public value!: number;\r\n public score!: number;\r\n @Input('value')\r\n set Value(value: number) {\r\n if (value === undefined){\r\n this.value = 100;\r\n }else{\r\n this.value = value;\r\n }\r\n this.changeValue(this.value);\r\n}\r\n@Output() valueChange = new EventEmitter<number>();\r\n\r\nchangeValue(evt:any){\r\n this.valueChange.emit(evt);\r\n}\r\n ngOnInit(): void {\r\n this.checkWeightValidity();\r\n }\r\n\r\n weightManager(mode:any){\r\n if (mode === '+'){\r\n if (this.value < 100){\r\n this.value = this.value + 1;\r\n }\r\n\r\n }else if (mode === '-'){\r\n if (this.value > 1 ){\r\n this.value = this.value - 1;\r\n }\r\n }\r\n this.changeValue(this.value);\r\n }\r\n\r\n checkWeightValidity(){\r\n if (this.value > 100){\r\n this.value = 100;\r\n }else if (this.value < 1){\r\n this.value = 100;\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-checkbox',\r\n templateUrl: './cs-checkbox.component.html',\r\n styleUrls: ['./cs-checkbox.component.less'],\r\n})\r\nexport class CsCheckboxComponent implements OnInit {\r\n @Input() disabled = false;\r\n @Input() ngValue!: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n valueChanged() {\r\n this.ngValueChange.emit(this.ngValue);\r\n }\r\n\r\n chileClick(event: any){\r\n event.stopPropagation();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-radio',\r\n templateUrl: './cs-radio.component.html',\r\n styleUrls: ['./cs-radio.component.less'],\r\n})\r\nexport class CsRadioComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() readonly!: boolean;\r\n @Input() name!: string;\r\n @Input() checked!: boolean;\r\n @Input() value: any;\r\n @Output() checkedEvent = new EventEmitter();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n changeState(evt: any) {\r\n this.checkedEvent.emit(evt);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-switch',\r\n templateUrl: './cs-switch.component.html',\r\n styleUrls: ['./cs-switch.component.less'],\r\n})\r\nexport class CsSwitchComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n @Input() tooltipMessage: any;\r\n @Input() position: any;\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n // console.log(this.value);\r\n }\r\n valueChanged() {\r\n this.ngValueChange.emit(this.ngValue);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-radio-group',\r\n templateUrl: './cs-radio-group.component.html',\r\n styleUrls: ['./cs-radio-group.component.less'],\r\n})\r\nexport class CsRadioGroupComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-select',\r\n templateUrl: './cs-select.component.html',\r\n styleUrls: ['./cs-select.component.less'],\r\n})\r\nexport class CsSelectComponent implements OnChanges {\r\n @Input() dataList!: any[];\r\n @Input() dropdownLabel!: string;\r\n @Input() displayProperty!: string;\r\n @Input() selectedValue!: string;\r\n @Input() isRequired!: boolean;\r\n @Input() dropdownSubLabel!: string;\r\n @Input() disabled!: boolean;\r\n @ViewChild('option') option!: ElementRef;\r\n\r\n @Output() selectedData = new EventEmitter();\r\n @Output() selectedValueChange = new EventEmitter();\r\n @Input() placeholder: any;\r\n @Input() stylex: any;\r\n @Input() valueKey: any;\r\n @Input() multipleSelect: any;\r\n @Input() colorProperty!: string;\r\n\r\n @Input() colorSelected!: string;\r\n colorCode!: string;\r\n\r\n dropdownOption = false;\r\n positionReset!: boolean;\r\n getLeft!: number;\r\n getTop!: number;\r\n getWidth!: number;\r\n maxWidth!: number;\r\n activeDoropdown = false;\r\n\r\n private optionList!: ElementRef;\r\n\r\n @ViewChild('optionList') set content(content: ElementRef) {\r\n if (content) {\r\n // initially setter gets called with undefined\r\n this.optionList = content;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['selectedValue']) {\r\n this.selectedValue = this.selectedValue || '--';\r\n }\r\n }\r\n\r\n openDropdown(event: any): void {\r\n this.dropdownOption = true;\r\n setTimeout(() => {\r\n const dropdown = event.target.getBoundingClientRect();\r\n const selectOption = this.optionList.nativeElement.offsetHeight;\r\n if (dropdown.top + selectOption * 2 > window.innerHeight) {\r\n this.getTop = dropdown.top - selectOption;\r\n } else {\r\n this.getTop = dropdown.top + dropdown.height;\r\n }\r\n this.getLeft = dropdown.left;\r\n this.getWidth = dropdown.width;\r\n this.maxWidth = dropdown.width * 1.25;\r\n }, 10);\r\n setTimeout(() => {\r\n this.activeDoropdown = true;\r\n }, 100);\r\n }\r\n selectOption(selectedData: any) {\r\n if (typeof selectedData === 'object') {\r\n this.selectedValue = selectedData[this.displayProperty];\r\n this.colorSelected = selectedData[this.colorProperty];\r\n } else {\r\n this.selectedValue = selectedData;\r\n }\r\n this.selectedData.emit(selectedData);\r\n this.dropdownOption = false;\r\n }\r\n closeDropdown() {\r\n this.dropdownOption = false;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'pascal',\r\n})\r\nexport class PascalPipe implements PipeTransform {\r\n transform(value: string, ...args: unknown[]): unknown {\r\n if (typeof value !== 'string') {\r\n return value;\r\n }\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'searchMultiSelect',\r\n})\r\nexport class SearchMultiSelectPipe implements PipeTransform {\r\n transform(value: any[], key: string, searchKey: string): any[] {\r\n if (searchKey && searchKey.length > 0) {\r\n searchKey = searchKey.toLowerCase();\r\n return value.filter((item) => {\r\n if (item[key].toLowerCase().includes(searchKey)) {\r\n return item;\r\n }\r\n });\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[clickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n constructor(private elementRef: ElementRef) {}\r\n @Output('clickOutside') clickOutside: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostListener('document:click', ['$event.target']) onMouseEnter(targetElement: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.clickOutside.emit(null);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cs-checkbox-indeterminate',\r\n templateUrl: './cs-checkbox-indeterminate.component.html',\r\n styleUrls: ['./cs-checkbox-indeterminate.component.less']\r\n})\r\nexport class CsCheckboxIndeterminateComponent implements OnInit {\r\n @Input() disabled!: boolean;\r\n @Input() ngValue: any;\r\n @Input() value: any;\r\n @Output() ngValueChange = new EventEmitter<any>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n valueChanged() {\r\n const emitValue = {\r\n value: this.value,\r\n checked: this.ngValue\r\n }\r\n this.ngValueChange.emit(emitValue);\r\n }\r\n\r\n chileClick(event: any){\r\n event.stopPropagation();\r\n }\r\n\r\n}\r\n","import { FormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CsCheckboxComponent } from './cs-checkbox/cs-checkbox.component';\r\nimport { CsRadioComponent } from './cs-radio/cs-radio.component';\r\nimport { CsSwitchComponent } from './cs-switch/cs-switch.component';\r\nimport { CsRadioGroupComponent } from './cs-radio-group/cs-radio-group.component';\r\nimport { CsSelectComponent } from './cs-select/cs-select.component';\r\nimport { TooltipModule } from '../tooltip/tooltip.module';\r\nimport { PascalPipe } from './pipes/pascal.pipe';\r\nimport { SearchMultiSelectPipe } from './pipes/searchMultiSelect.pipe';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\nimport { CsCheckboxIndeterminateComponent } from './cs-checkbox-indeterminate/cs-checkbox-indeterminate.component'\r\n\r\n@NgModule({\r\n declarations: [\r\n CsCheckboxComponent,\r\n CsRadioComponent,\r\n CsSwitchComponent,\r\n CsRadioGroupComponent,\r\n CsSelectComponent,\r\n PascalPipe,\r\n SearchMultiSelectPipe,\r\n ClickOutsideDirective,\r\n CsCheckboxIndeterminateComponent\r\n ],\r\n imports: [CommonModule, FormsModule, TooltipModule],\r\n exports: [\r\n CsCheckboxComponent,\r\n CsRadioComponent,\r\n CsSwitchComponent,\r\n CsRadioGroupComponent,\r\n CsSelectComponent,\r\n SearchMultiSelectPipe,\r\n CsCheckboxIndeterminateComponent\r\n ],\r\n})\r\nexport class FormgroupModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MultipleChoiceComponent } from './multiple-choice/multiple-choice.component';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { ImageChoiceComponent } from './image-choice/image-choice.component';\r\nimport { StarRatingComponent } from './star-rating/star-rating.component';\r\nimport { MatrixDropdownComponent } from './matrix-dropdown/matrix-dropdown.component';\r\nimport { DropdownComponent } from './dropdown/dropdown.component';\r\nimport { MatrixRatingScaleComponent } from './matrix-rating-scale/matrix-rating-scale.component';\r\nimport { RankingComponent } from './ranking/ranking.component';\r\nimport { SliderComponent } from './slider/slider.component';\r\nimport { MultipleTextboxComponent } from './multiple-textbox/multiple-textbox.component';\r\nimport { DateTimeComponent } from './date-time/date-time.component';\r\n// import { TooltipModule } from 'projects/ui-components/src/lib/ui-utility/tooltip/tooltip.module';\r\n// import { FormgroupModule } from 'projects/ui-components/src/lib/ui-utility/formgroup/formgroup.module';\r\n// import { PopoverModule } from 'projects/ui-components/src/lib/ui-utility/popover/popover.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ChoiceSettingsPanelComponent } from './choice-settings-panel/choice-settings-panel.component';\r\nimport { WelcomeComponent } from './welcome/welcome.component';\r\nimport { ThankYouComponent } from './thank-you/thank-you.component';\r\nimport { WeightageSelectorComponent } from './weightage-selector/weightage-selector.component';\r\nimport { TooltipModule } from '../../../../ui-kit/tooltip/tooltip.module';\r\nimport { PopoverModule } from '../../../../ui-kit/popover/popover.module';\r\nimport { FormgroupModule } from '../../../../ui-kit/formgroup/formgroup.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n MultipleChoiceComponent,\r\n CheckboxComponent,\r\n ImageChoiceComponent,\r\n StarRatingComponent,\r\n MatrixDropdownComponent,\r\n DropdownComponent,\r\n MatrixRatingScaleComponent,\r\n RankingComponent,\r\n SliderComponent,\r\n MultipleTextboxComponent,\r\n DateTimeComponent,\r\n ChoiceSettingsPanelComponent,\r\n WelcomeComponent,\r\n ThankYouComponent,\r\n WeightageSelectorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TooltipModule,\r\n PopoverModule,\r\n FormgroupModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n MultipleChoiceComponent,\r\n CheckboxComponent,\r\n ImageChoiceComponent,\r\n StarRatingComponent,\r\n MatrixDropdownComponent,\r\n DropdownComponent,\r\n MatrixRatingScaleComponent,\r\n RankingComponent,\r\n SliderComponent,\r\n MultipleTextboxComponent,\r\n DateTimeComponent,\r\n WelcomeComponent,\r\n ThankYouComponent,\r\n WeightageSelectorComponent\r\n ]\r\n})\r\nexport class BuildModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { EditorService } from '../../../services/editor.service';\r\nimport { ValidatorService } from '../../../services/validator.service';\r\n\r\n@Component({\r\n selector: 'app-preview-wrapper',\r\n templateUrl: './preview-wrapper.component.html',\r\n styleUrls: ['./preview-wrapper.component.less']\r\n})\r\nexport class PreviewWrapperComponent implements OnInit {\r\n\r\n @Input() question!: any;\r\n @Input() questionIndex!: number;\r\n @Output() makeActiveQuestion = new EventEmitter<any>();\r\n @Output() validQuestionData = new EventEmitter();\r\n errorPresent = false;\r\n questionIndexSubscription!: Subscription;\r\n viewComments!: boolean;\r\n viewAttachments!: boolean;\r\n viewMessage!: boolean;\r\n constructor(private fd: EditorService, private validator: ValidatorService) { }\r\n\r\n ngOnInit(): void {\r\n // if (Object.values(this.question.errorArray).length === 0){\r\n // if (!this.question.errorArray || Object.values(this.question.errorArray).length === 0) {\r\n // this.checkForValidationStatus('partial');\r\n // }\r\n this.checkForValidationStatus('partial');\r\n }\r\n\r\n editQuestion() {\r\n this.makeActiveQuestion.emit(this.questionIndex);\r\n }\r\n\r\n /**\r\n * Operation on click of save button\r\n */\r\n async checkForValidationStatus(mode?:any) {\r\n const status = await this.validator.validate(this.question);\r\n if (status.valid === true) {\r\n this.errorPresent = false;\r\n this.validator.validatedQuestions[status.question.name] = status.question;\r\n // this.validQuestionData.emit(mode);\r\n } else {\r\n this.errorPresent = true;\r\n delete this.validator.validatedQuestions[status.question.name];\r\n \r\n }\r\n }\r\n showComments() {\r\n this.viewComments = !this.viewComments;\r\n }\r\n showAttachments() {\r\n this.viewAttachments = !this.viewAttachments;\r\n }\r\n showMessage() {\r\n this.viewMessage = !this.viewMessage;\r\n }\r\n\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { shuffle } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-preview-multiple-choice',\r\n templateUrl: './preview-multiple-choice.component.html',\r\n styleUrls: ['./preview-multiple-choice.component.less']\r\n})\r\nexport class PreviewMultipleChoiceComponent implements OnInit {\r\n\r\n @Input() question!: any;\r\n choicesForPreviewMode : any = [];\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.choicesForPreviewMode = this.question.choices;\r\n if (this.question.randomize === true) {\r\n this.randomize();\r\n }\r\n }\r\n randomize() {\r\n this.choicesForPreviewMode = shuffle(this.choicesForPreviewMode);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { shuffle } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-preview-checkbox',\r\n templateUrl: './preview-checkbox.component.html',\r\n styleUrls: ['./preview-checkbox.component.less']\r\n})\r\nexport class PreviewCheckboxComponent implements OnInit {\r\n\r\n\r\n @Input() question!: any;\r\n choicesForPreviewMode : any = [];\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.choicesForPreviewMode = this.question.choices;\r\n if (this.question.randomize === true) {\r\n this.randomize();\r\n }\r\n }\r\n randomize() {\r\n this.choicesForPreviewMode = shuffle(this.choicesForPreviewMode);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-image-choice',\r\n templateUrl: './preview-image-choice.component.html',\r\n styleUrls: ['./preview-image-choice.component.less']\r\n})\r\nexport class PreviewImageChoiceComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-star-rating',\r\n templateUrl: './preview-star-rating.component.html',\r\n styleUrls: ['./preview-star-rating.component.less']\r\n})\r\nexport class PreviewStarRatingComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-single-textbox',\r\n templateUrl: './preview-single-textbox.component.html',\r\n styleUrls: ['./preview-single-textbox.component.less']\r\n})\r\nexport class PreviewSingleTextboxComponent implements OnInit {\r\n @Input() question!: any;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-comment-box',\r\n templateUrl: './preview-comment-box.component.html',\r\n styleUrls: ['./preview-comment-box.component.less']\r\n})\r\nexport class PreviewCommentBoxComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, HostListener, OnInit, QueryList, ViewChildren } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-matrix-dropdown',\r\n templateUrl: './preview-matrix-dropdown.component.html',\r\n styleUrls: ['./preview-matrix-dropdown.component.less']\r\n})\r\nexport class PreviewMatrixDropdownComponent implements OnInit {\r\n @ViewChildren('scrollMatrixDropdown', { read: ElementRef }) public panel!: QueryList<ElementRef>;\r\n @HostListener('scroll', ['$event'])\r\n scrollHandler(event: any) {\r\n this.panel['_results'].forEach((panel:any) => {\r\n panel['nativeElement'].scrollLeft = event.target.scrollLeft;\r\n });\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { shuffle } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-preview-dropdown',\r\n templateUrl: './preview-dropdown.component.html',\r\n styleUrls: ['./preview-dropdown.component.less']\r\n})\r\nexport class PreviewDropdownComponent implements OnInit {\r\n\r\n\r\n @Input() question!: any;\r\n choicesForPreviewMode : any = [];\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.choicesForPreviewMode = [...this.question.choices];\r\n if (this.question.randomize === true) {\r\n this.randomize();\r\n }\r\n if (this.question.hasOther === true && this.choicesForPreviewMode.findIndex((x:any) => x.title === \"Other\") < 0){\r\n this.choicesForPreviewMode.push({title:'Other'})\r\n }\r\n }\r\n randomize() {\r\n this.choicesForPreviewMode = shuffle(this.choicesForPreviewMode);\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, HostListener, OnInit, QueryList, ViewChildren } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-matrix-rating-scale',\r\n templateUrl: './preview-matrix-rating-scale.component.html',\r\n styleUrls: ['./preview-matrix-rating-scale.component.less']\r\n})\r\nexport class PreviewMatrixRatingScaleComponent implements OnInit {\r\n @ViewChildren('scrollMatrixRating', { read: ElementRef }) public panel!: QueryList<ElementRef>;\r\n @HostListener('scroll', ['$event'])\r\n scrollHandler(event: any) {\r\n this.panel['_results'].forEach((panel:any) => {\r\n panel['nativeElement'].scrollLeft = event.target.scrollLeft;\r\n });\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-ranking',\r\n templateUrl: './preview-ranking.component.html',\r\n styleUrls: ['./preview-ranking.component.less']\r\n})\r\nexport class PreviewRankingComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-slider',\r\n templateUrl: './preview-slider.component.html',\r\n styleUrls: ['./preview-slider.component.less']\r\n})\r\nexport class PreviewSliderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-multiple-textbox',\r\n templateUrl: './preview-multiple-textbox.component.html',\r\n styleUrls: ['./preview-multiple-textbox.component.less']\r\n})\r\nexport class PreviewMultipleTextboxComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { DatePickerComponent } from 'ng2-date-picker';\r\n\r\n@Component({\r\n selector: 'app-preview-date-time',\r\n templateUrl: './preview-date-time.component.html',\r\n styleUrls: ['./preview-date-time.component.less']\r\n})\r\nexport class PreviewDateTimeComponent implements OnInit {\r\n @ViewChild('datePicker') datePicker!: DatePickerComponent;\r\n datepickerOverlay = false;\r\n @Input() question!: any;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openDatePicker() {\r\n this.datePicker?.api?.open();\r\n this.datepickerOverlay = true;\r\n }\r\n \r\n closeDatepicker() {\r\n this.datePicker?.api?.close();\r\n this.datepickerOverlay = false;\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-file-upload',\r\n templateUrl: './preview-file-upload.component.html',\r\n styleUrls: ['./preview-file-upload.component.less']\r\n})\r\nexport class PreviewFileUploadComponent implements OnInit {\r\n\r\n @Input() question!: any;\r\n constructor() { }\r\n public fileNamePlaceholder = 'Select file';\r\n ngOnInit(): void {\r\n }\r\n handleFile(evt:any){\r\n this.fileNamePlaceholder = evt.target.files[0].name;\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-preview-welcome',\r\n templateUrl: './welcome.component.html',\r\n styleUrls: ['./welcome.component.less']\r\n})\r\nexport class WelcomeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-thank-you',\r\n templateUrl: './thank-you.component.html',\r\n styleUrls: ['./thank-you.component.less']\r\n})\r\nexport class ThankYouComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PreviewWrapperComponent } from './preview-wrapper/preview-wrapper.component';\r\nimport { PreviewMultipleChoiceComponent } from './preview-multiple-choice/preview-multiple-choice.component';\r\nimport { PreviewCheckboxComponent } from './preview-checkbox/preview-checkbox.component';\r\nimport { PreviewImageChoiceComponent } from './preview-image-choice/preview-image-choice.component';\r\nimport { PreviewStarRatingComponent } from './preview-star-rating/preview-star-rating.component';\r\nimport { PreviewSingleTextboxComponent } from './preview-single-textbox/preview-single-textbox.component';\r\nimport { PreviewCommentBoxComponent } from './preview-comment-box/preview-comment-box.component';\r\nimport { PreviewMatrixDropdownComponent } from './preview-matrix-dropdown/preview-matrix-dropdown.component';\r\nimport { PreviewDropdownComponent } from './preview-dropdown/preview-dropdown.component';\r\nimport { PreviewMatrixRatingScaleComponent } from './preview-matrix-rating-scale/preview-matrix-rating-scale.component';\r\nimport { PreviewRankingComponent } from './preview-ranking/preview-ranking.component';\r\nimport { PreviewSliderComponent } from './preview-slider/preview-slider.component';\r\nimport { PreviewMultipleTextboxComponent } from './preview-multiple-textbox/preview-multiple-textbox.component';\r\nimport { PreviewDateTimeComponent } from './preview-date-time/preview-date-time.component';\r\nimport { PreviewFileUploadComponent } from './preview-file-upload/preview-file-upload.component';\r\n// import { TooltipModule } from 'projects/ui-components/src/lib/ui-utility/tooltip/tooltip.module';\r\n// import { PopoverModule } from 'projects/ui-components/src/lib/ui-utility/popover/popover.module';\r\n// import { FormgroupModule, UiDialogModule } from 'projects/ui-components/src';\r\nimport { MarxEditorModule } from 'vcomply-editor';\r\n// import { NoDataModule } from 'src/app/ui-kit/no-data/no-data.module';\r\nimport { DpDatePickerModule } from 'ng2-date-picker';\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { WelcomeComponent } from './welcome/welcome.component';\r\nimport { ThankYouComponent } from './thank-you/thank-you.component';\r\nimport { TooltipModule } from '../../../../ui-kit/tooltip/tooltip.module';\r\nimport { PopoverModule } from '../../../../ui-kit/popover/popover.module';\r\nimport { DialogModule } from '../../../../ui-kit/dialog/dialog.module';\r\nimport { FormgroupModule } from '../../../../ui-kit/formgroup/formgroup.module';\r\nimport { NoDataModule } from '../../../no-data/no-data.module';\r\nimport { SelectModule } from '../../../../formgroup/select/select.module';\r\n// import { SelectModule } from 'src/app/ui-kit/select/select.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PreviewWrapperComponent,\r\n PreviewMultipleChoiceComponent,\r\n PreviewCheckboxComponent,\r\n PreviewImageChoiceComponent,\r\n PreviewStarRatingComponent,\r\n PreviewSingleTextboxComponent,\r\n PreviewCommentBoxComponent,\r\n PreviewMatrixDropdownComponent,\r\n PreviewDropdownComponent,\r\n PreviewMatrixRatingScaleComponent,\r\n PreviewRankingComponent,\r\n PreviewSliderComponent,\r\n PreviewMultipleTextboxComponent,\r\n PreviewDateTimeComponent,\r\n PreviewFileUploadComponent,\r\n WelcomeComponent,\r\n ThankYouComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n TooltipModule,\r\n PopoverModule,\r\n DialogModule,\r\n MarxEditorModule,\r\n FormgroupModule,\r\n NoDataModule,\r\n DpDatePickerModule,\r\n NgxMaterialTimepickerModule,\r\n SelectModule\r\n ],\r\n exports: [\r\n PreviewWrapperComponent,\r\n PreviewMultipleChoiceComponent,\r\n PreviewCheckboxComponent,\r\n PreviewImageChoiceComponent,\r\n PreviewStarRatingComponent,\r\n PreviewSingleTextboxComponent,\r\n PreviewCommentBoxComponent,\r\n PreviewMatrixDropdownComponent,\r\n PreviewDropdownComponent,\r\n PreviewMatrixRatingScaleComponent,\r\n PreviewRankingComponent,\r\n PreviewSliderComponent,\r\n PreviewMultipleTextboxComponent,\r\n PreviewDateTimeComponent,\r\n PreviewFileUploadComponent,\r\n WelcomeComponent,\r\n ThankYouComponent,\r\n ]\r\n})\r\nexport class PreviewModule { }\r\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { SnackBarService } from '../../../../ui-kit/snack-bar/snack-bar.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-move',\r\n templateUrl: './move.component.html',\r\n styleUrls: ['./move.component.less']\r\n})\r\nexport class MoveComponent implements OnInit {\r\n\r\n constructor( private snackbar :SnackBarService) { }\r\n\r\n @Input() questionIndex !: string;\r\n @Input() question!: string;\r\n @Input() service !:any;\r\n @Input() openPortal :'ASSESSMENT_IMPORT' | 'RESPONSIBILITY_CHECKPOINT'|'' = '';\r\n @ViewChild('moveTemplate') moveElement !: ElementRef;\r\n currentPage = 1;\r\n position = 'After';\r\n selectedQuestion !:any;\r\n emptyPage!: boolean;\r\n public questionDetail: any;\r\n positions = ['After', 'Before'];\r\n ngOnInit(): void {\r\n }\r\n setSelectedQuestion(evt:any){\r\n\r\n this.selectedQuestion = this.service.formsPage.elements.findIndex((x:any) => x.name === evt);\r\n if(this.selectedQuestion > -1){\r\n this.questionDetail = this.service.formsPage.elements[this.selectedQuestion];\r\n }\r\n\r\n }\r\n move() {\r\n let nextIndex;\r\n const message = 'The question has been moved.';\r\n if (this.selectedQuestion !== undefined) {\r\n if (this.position === 'Before') {\r\n if (this.questionIndex >= this.selectedQuestion) {\r\n nextIndex = this.selectedQuestion;\r\n this.service.activeQuestion = nextIndex;\r\n if (nextIndex === 0) {\r\n // ' of page ' ${this.currentPage}\r\n // message = `Question moved to position ' ${nextIndex + 1} `;\r\n } else {\r\n // message = `Question moved to position ' ${nextIndex}`;\r\n }\r\n } else {\r\n nextIndex = this.selectedQuestion - 1;\r\n this.service.activeQuestion = nextIndex;\r\n // message = `Question moved to position ' ${nextIndex + 1}`;\r\n }\r\n }\r\n if (this.position === 'After') {\r\n if (this.questionIndex > this.selectedQuestion) {\r\n nextIndex = this.selectedQuestion + 1;\r\n this.service.activeQuestion = nextIndex;\r\n // message = `Question moved to position ' ${nextIndex + 1}`;\r\n } else {\r\n nextIndex = this.selectedQuestion;\r\n this.service.activeQuestion = nextIndex;\r\n // message = `Question moved to position ' ${nextIndex + 1}`;\r\n }\r\n }\r\n this.service.formsPage.elements[this.questionIndex].page = this.currentPage;\r\n this.service.moveQuestion(this.questionIndex, nextIndex);\r\n // this.snackbar.snackbar.next(message);\r\n this.snackbar.show(message);\r\n setTimeout(() => {\r\n this.moveElement.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }, 400);\r\n } else {\r\n this.snackbar.show('Please select a reference question to move');\r\n }\r\n}\r\nonPageChange(evt:any) {\r\n\r\nif (![...new Set(this.service.formsPage.elements.map((element:any) => element.page))].includes(evt)) {\r\n this.emptyPage = true;\r\n } else {\r\n this.emptyPage = false;\r\n }\r\n}\r\n\r\nchangePage(evt:any){\r\n this.currentPage = evt;\r\n}\r\n\r\nchangePosition(evt:any){\r\n this.position = evt;\r\n}\r\n\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { cloneDeep, some } from 'lodash';\r\n\r\nimport { DialogConfig } from '../../../../ui-kit/dialog/dialog-config';\r\n\r\nimport { DialogRef } from '../../../../ui-kit/dialog/dialog-ref';\r\n@Component({\r\n selector: 'app-add-logic',\r\n templateUrl: './add-logic.component.html',\r\n styleUrls: ['./add-logic.component.less']\r\n})\r\nexport class AddLogicComponent implements OnInit {\r\n\r\n public currentQuestion !:any;\r\n public questionsArray !:any;\r\n selectedValue: any = '';\r\n selectedLogicQuestion !: any;\r\n selectedLogicQuestionType = '';\r\n checkboxValue: any[] = [];\r\n disableLogicDropdown = true;\r\n operatorMap: any = [];\r\n questionIndex!: number;\r\n showError = { isVisible: false, errorMessage: '' };\r\n editorMode !:any;\r\n logic:any = {\r\n andOr: 'and',\r\n questionName: '',\r\n operator: '',\r\n value: this.selectedValue,\r\n questionTitle: ''\r\n };\r\n operatorVal = {\r\n '=': 'Equals',\r\n '!=': 'Not Equals',\r\n '>': 'Greater than',\r\n '<': 'Less than',\r\n '>=': 'Greater or equals',\r\n '<=': 'Less or equals',\r\n answered: 'If answered',\r\n before: 'Before',\r\n after: 'After',\r\n beforeEquals: 'Before or equals',\r\n afterEquals: 'After or equals'\r\n };\r\n constructor(public config: DialogConfig, public dialog: DialogRef) { }\r\n\r\n ngOnInit(): void {\r\n this.currentQuestion = cloneDeep(this.config.data.currentQuestion);\r\n this.getCurrentPageQuestions();\r\n this.editorMode = this.config.data.editorMode;\r\n this.questionIndex = this.config.data.questionIndex;\r\n }\r\n\r\n /**\r\n * Fetches the questions on currently active page\r\n */\r\n getCurrentPageQuestions() {\r\n this.questionsArray = cloneDeep(this.config.data.allQuestions);\r\n this.questionsArray = this.questionsArray.filter((question:any) =>\r\n question.page === this.currentQuestion.page);\r\n }\r\n\r\n /**\r\n * Sets the index and title of current question\r\n * @param index Current index of question\r\n * @param questionTitle Title of question at index i\r\n */\r\n setIndex(selectedQuestionName:any) {\r\n let index = this.questionsArray.findIndex((x:any) => x.name === selectedQuestionName);\r\n this.showError.isVisible = false;\r\n this.selectedLogicQuestion = index;\r\n this.logic.operator = '';\r\n this.selectedValue = '';\r\n this.logic.questionTitle = this.questionsArray[index].title;\r\n this.selectedLogicQuestionType = this.questionsArray[this.selectedLogicQuestion].type;\r\n this.setValuesForLogicDropdown();\r\n }\r\n\r\n setOperator(evt:any) {\r\n this.logic.operator = evt;\r\n }\r\n /**\r\n * populates the logic dropdown based on question type\r\n */\r\n setValuesForLogicDropdown() {\r\n let defaultOperatorMap = [{ key: '=', value: 'Equals' },\r\n { key: '!=', value: 'Not Equals' },\r\n { key: 'answered', value: 'If answered' }];\r\n\r\n const type = this.questionsArray[this.selectedLogicQuestion].type;\r\n\r\n if (['star-rating', 'slider'].includes(type)) {\r\n defaultOperatorMap.push(\r\n { key: '>', value: 'Greater than' },\r\n { key: '<', value: 'Less than' },\r\n { key: '>=', value: 'Greater or equals' },\r\n { key: '<=', value: 'Less or equals' },\r\n );\r\n } else if (['file-upload', 'matrix-dropdown', 'rating-scale', 'multiple-textbox'].includes(type)) {\r\n defaultOperatorMap = [{ key: 'answered', value: 'If answered' }];\r\n } else if (['date-time'].includes(type)) {\r\n defaultOperatorMap.push(\r\n { key: 'before', value: 'Before' },\r\n { key: 'after', value: 'After' },\r\n { key: 'beforeEquals', value: 'Before or equals' },\r\n { key: 'afterEquals', value: 'After or equals' }\r\n );\r\n }\r\n this.operatorMap = [...defaultOperatorMap];\r\n this.disableLogicDropdown = false;\r\n }\r\n\r\n /**\r\n * Operation on selecting value from checkbox\r\n * @param event Event triggered on selecting value of checkbox\r\n * @param title Title of the checkbox option selected\r\n */\r\n checkboxStatus(evt:any) {\r\n \r\n this.selectedValue = '';\r\n if (evt.checked === true) {\r\n this.checkboxValue.push(evt.choice.title);\r\n } else {\r\n this.checkboxValue = this.checkboxValue.filter(value => evt.choice.title !== value);\r\n }\r\n this.selectedValue = this.checkboxValue;\r\n }\r\n\r\n\r\n multipleChoiceChecked(evt:any) {\r\n this.setSelectedValue(evt.choice.title)\r\n }\r\n\r\n rankingStatus(choice:any) {\r\n this.questionsArray[this.selectedLogicQuestion].choices = choice;\r\n }\r\n\r\n /**\r\n * Operation on entering value to multiple text boxes\r\n */\r\n setMultiplTextStatus() {\r\n this.selectedValue = '';\r\n \r\n this.questionsArray[this.selectedLogicQuestion].choices.forEach((choice:any) => {\r\n if (choice.value !== '') {\r\n this.selectedValue += choice.title + ':' + choice.value;\r\n }\r\n if (this.selectedValue !== '') {\r\n this.selectedValue += ';';\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Adds the logic on click of add logic button\r\n */\r\n addLogic() {\r\n if (this.questionsArray[this.selectedLogicQuestion].type === 'ranking') {\r\n this.populateSelectedValueForRanking();\r\n } else if (this.questionsArray[this.selectedLogicQuestion].type === 'multiple-textbox') {\r\n this.setMultiplTextStatus();\r\n } else if (this.questionsArray[this.selectedLogicQuestion].type === 'date-time') {\r\n this.setValueForDateTimeType();\r\n \r\n }\r\n this.showError.isVisible = false;\r\n this.logic.value = this.selectedValue;\r\n \r\n if (this.logic.operator === 'answered' || this.selectedValue !== '') {\r\n if (!some([this.currentQuestion.visibilityLogic], this.logic) &&\r\n (this.selectedValue !== 'answered') && this.logic.questionName !== '' && this.logic.operator !== '') {\r\n if (this.checkForLogicValue()) {\r\n this.currentQuestion.visibilityLogic.push(this.logic);\r\n this.checkboxValue = [];\r\n }\r\n }\r\n } else {\r\n this.showError.isVisible = true;\r\n if (this.selectedLogicQuestionType == 'single-textbox' || this.selectedLogicQuestionType == 'comment-box') {\r\n this.showError.errorMessage = 'Please enter a value to add logic';\r\n } else {\r\n this.showError.errorMessage = 'Please select a value to add logic';\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n if (this.currentQuestion.visibilityLogic.length > 0) {\r\n this.currentQuestion.isRequired = false;\r\n }\r\n if (!this.showError.isVisible) {\r\n this.resetLogic();\r\n this.closePopup('ADD_LOGIC');\r\n }\r\n }\r\n\r\n closePopup(mode:any) {\r\n this.dialog.close({ action: mode, logic: this.currentQuestion.visibilityLogic });\r\n }\r\n\r\n /**\r\n * Populates logic selected value for ranking type question\r\n */\r\n populateSelectedValueForRanking() {\r\n const rankingArray:any = [];\r\n this.questionsArray[this.selectedLogicQuestion].choices.forEach((choice:any) => {\r\n rankingArray.push(choice.title);\r\n });\r\n this.selectedValue = rankingArray.join();\r\n }\r\n\r\n /**\r\n * Validation for logic value (Validation: Previously value is entered or not for the particular question type)\r\n */\r\n checkForLogicValue() {\r\n const logicValues:any = [];\r\n this.currentQuestion.visibilityLogic.forEach((logic:any) => {\r\n if (this.logic.questionTitle === logic.questionTitle) {\r\n logicValues.push(logic.value);\r\n }\r\n });\r\n if (!logicValues.includes(this.logic.value)) {\r\n logicValues.push(this.logic.value);\r\n this.showError.isVisible = false;\r\n return true;\r\n }\r\n\r\n this.showError.errorMessage = 'Logic already applied for this value. Please select another value to apply logic';\r\n this.showError.isVisible = true;\r\n if (!this.showError.isVisible) {\r\n this.resetLogic();\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Deletes the logic having given index from visibility logic list\r\n * @param index Index of selected logic\r\n */\r\n deleteLogic(index:any) {\r\n this.currentQuestion.visibilityLogic.splice(index, 1);\r\n }\r\n\r\n /**\r\n * Assigns the selected value to value that needs to be displayed to user\r\n * @param selectedVal Value selected to be displayed\r\n */\r\n setSelectedValue(selectedVal?: string) {\r\n this.showError.isVisible = false;\r\n if (this.questionsArray[this.selectedLogicQuestion].type === 'date-time') {\r\n this.setValueForDateTimeType();\r\n } else {\r\n this.selectedValue = selectedVal;\r\n }\r\n }\r\n\r\n /**\r\n * For date/time assigns the selected value to value that needs to be displayed to user\r\n */\r\n setValueForDateTimeType() {\r\n this.selectedValue = '';\r\n \r\n if (!this.questionsArray[this.selectedLogicQuestion].date.value &&\r\n !this.questionsArray[this.selectedLogicQuestion].time.value) {\r\n this.showError.isVisible = true;\r\n \r\n this.showError.errorMessage = 'Please select a value to add logic';\r\n\r\n } else {\r\n if (!this.questionsArray[this.selectedLogicQuestion].date.value &&\r\n this.questionsArray[this.selectedLogicQuestion].time.value) {\r\n this.selectedValue = this.questionsArray[this.selectedLogicQuestion].time.title + ': ' +\r\n this.questionsArray[this.selectedLogicQuestion].time.value;\r\n } else if (this.questionsArray[this.selectedLogicQuestion].date.value &&\r\n !this.questionsArray[this.selectedLogicQuestion].time.value) {\r\n this.selectedValue = this.questionsArray[this.selectedLogicQuestion].date.title + ': ' +\r\n this.formateWithPipe(this.questionsArray[this.selectedLogicQuestion].date.value);\r\n } else {\r\n this.selectedValue = this.questionsArray[this.selectedLogicQuestion].date.title + ': ' +\r\n this.formateWithPipe(this.questionsArray[this.selectedLogicQuestion].date.value) + ', ' +\r\n this.questionsArray[this.selectedLogicQuestion].time.title + ': ' +\r\n this.questionsArray[this.selectedLogicQuestion].time.value;\r\n }\r\n }\r\n if(this.questionsArray[this.selectedLogicQuestion].date.value){\r\n this.logic['date'] = this.formateBySlash(this.questionsArray[this.selectedLogicQuestion].date.value);\r\n }else{\r\n this.logic['date'] = '';\r\n }\r\n if(this.questionsArray[this.selectedLogicQuestion].time.value){\r\n this.logic['time'] = this.questionsArray[this.selectedLogicQuestion].time.value;\r\n }else{\r\n this.logic['time'] = '';\r\n }\r\n\r\n \r\n this.questionsArray[this.selectedLogicQuestion].date.value = '';\r\n this.questionsArray[this.selectedLogicQuestion].time.value = '';\r\n }\r\n\r\n /**\r\n * Empties the selected value if the logic operator is 'answered'\r\n * @param logicOperator Logic operator selected from logic dropdown\r\n */\r\n onSelectLogic(logicOperator: string) {\r\n if (logicOperator === 'answered') {\r\n this.selectedValue = '';\r\n }\r\n }\r\n\r\n /**\r\n * Empties/Resets the logic fields\r\n */\r\n resetLogic() {\r\n this.selectedLogicQuestionType = '';\r\n this.selectedValue = '';\r\n this.selectedLogicQuestion = null;\r\n this.disableLogicDropdown = true;\r\n this.operatorMap = []\r\n this.logic = {\r\n andOr: 'and',\r\n questionName: '',\r\n operator: '',\r\n questionTitle: '',\r\n value: this.selectedValue\r\n };\r\n this.showError.isVisible = false;\r\n this.showError.errorMessage = '';\r\n }\r\n\r\n /**\r\n * Assigns the selected star rating value to selected value and updates in main question array list\r\n * @param selectedValueIndex Index of selected value\r\n * @param questionIndex Index of current question\r\n */\r\n captureStarValue(selectedValueIndex:any) {\r\n this.questionsArray[this.selectedLogicQuestion].value = selectedValueIndex + 1;\r\n this.selectedValue = selectedValueIndex + 1;\r\n }\r\n\r\n /**\r\n * Converts the date to toLocaleDateString format\r\n * @param date Date to be converted\r\n */\r\n formatDate(date: Date) {\r\n return (new Date(date)).toLocaleDateString();\r\n }\r\n\r\n /**\r\n * Operation On drag/drop of option of ranking type question\r\n * @param event Event triggered when option of ranking type question is dragged and dropped\r\n */\r\n // drop(event: CdkDragDrop<string[]>) {\r\n // moveItemInArray(this.questionsArray[this.selectedLogicQuestion].choices, event.previousIndex, event.currentIndex);\r\n // }\r\n\r\n\r\n formateWithPipe(date:any){\r\n var datePipe = new DatePipe('en-US');\r\n return datePipe.transform(date, 'dd MMM yyyy');\r\n }\r\n\r\n formateBySlash(date:any){\r\n var datePipe = new DatePipe('en-US');\r\n return datePipe.transform(date, 'yyyy-MM-ddTHH:mm:ss.SSS','+0:00')+'Z';\r\n }\r\n\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { DialogService } from '../../../../ui-kit/dialog/dialog.service';\r\nimport { AddLogicComponent } from '../add-logic/add-logic.component';\r\n\r\n@Component({\r\n selector: 'app-logic',\r\n templateUrl: './logic.component.html',\r\n styleUrls: ['./logic.component.less']\r\n})\r\nexport class LogicComponent implements OnInit {\r\n\r\n // constructor(\r\n // private dialog: UiDialogService,\r\n // ) { }\r\n\r\n // ngOnInit(): void {\r\n // }\r\n\r\n // addLogic() {\r\n // const ref = this.dialog.open(AddLogicComponent, {\r\n // data: { },\r\n // position: 'CENTER',\r\n // background: 'black',\r\n // });\r\n // }\r\n constructor(private dialog: DialogService) { }\r\n @Input() service: any;\r\n @Input() question: any;\r\n @Input() questionIndex: any;\r\n @Input() editorMode: any;\r\n operatorVal:any = {\r\n '=': 'Equals',\r\n '!=': 'Not Equals',\r\n '>': 'Greater than',\r\n '<': 'Less than',\r\n '>=': 'Greater or equals',\r\n '<=': 'Less or equals',\r\n answered: 'If answered',\r\n before: 'Before',\r\n after: 'After',\r\n beforeEquals: 'Before or equals',\r\n afterEquals: 'After or equals'\r\n };\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n modifyLogic() {\r\n const ref = this.dialog.open(AddLogicComponent,\r\n {\r\n position: 'CENTER',\r\n background: 'black',\r\n data: {\r\n currentQuestion: this.question,\r\n allQuestions: this.service.formsPage.elements,\r\n editorMode: this.editorMode,\r\n questionIndex: this.questionIndex\r\n }\r\n });\r\n ref.afterClosed.subscribe(data => {\r\n \r\n if (data.action === 'ADD_LOGIC') {\r\n this.question.visibilityLogic = data.logic;\r\n }\r\n });\r\n }\r\n addLogic(){}\r\n\r\n /**\r\n * Deletes the logic having given index from visibility logic list\r\n * @param index Index of selected logic\r\n */\r\n deleteLogic(index:number) {\r\n this.question.visibilityLogic.splice(index, 1);\r\n }\r\n // show(origin, data?, content?: TemplateRef<any>) {\r\n // \r\n // const ref = this.popper.open({\r\n // content: PopoverActionComponent,\r\n // origin,\r\n // width: '250',\r\n // data: {\r\n // action: this.formateData(data),\r\n // actionData: data\r\n // }\r\n // });\r\n\r\n // ref.afterClosed$.subscribe(res => {\r\n // \r\n // });\r\n\r\n // }\r\n\r\n formateData(value:any) {\r\n const action = [];\r\n const data = value.split(',');\r\n for (let i = 1; i < data.length; i++) {\r\n action.push({ icon: '', name: data[i], identifier: '' })\r\n }\r\n return action;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-logic-multiple-choice',\r\n templateUrl: './logic-multiple-choice.component.html',\r\n styleUrls: ['./logic-multiple-choice.component.less']\r\n})\r\nexport class LogicMultipleChoiceComponent implements OnInit {\r\n\r\n @Input() question!: any;\r\n @Output() changeEvent = new EventEmitter<any>();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n radioChecked(evt:any,choice:any){\r\n this.changeEvent.emit({checked:evt, choice})\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-logic-checkbox',\r\n templateUrl: './logic-checkbox.component.html',\r\n styleUrls: ['./logic-checkbox.component.less']\r\n})\r\nexport class LogicCheckboxComponent implements OnInit {\r\n\r\n @Input() question!: any;\r\n @Output() changeEvent = new EventEmitter<any>();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n emitChange(evt:any,choice:any){\r\n this.changeEvent.emit({checked:evt, choice})\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-logic-image-choice',\r\n templateUrl: './logic-image-choice.component.html',\r\n styleUrls: ['./logic-image-choice.component.less']\r\n})\r\nexport class LogicImageChoiceComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-logic-star-rating',\r\n templateUrl: './logic-star-rating.component.html',\r\n styleUrls: ['./logic-star-rating.component.less']\r\n})\r\nexport class LogicStarRatingComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-logic-single-textbox',\r\n templateUrl: './logic-single-textbox.component.html',\r\n styleUrls: ['./logic-single-textbox.component.less']\r\n})\r\nexport class LogicSingleTextboxComponent implements OnInit {\r\n\r\n @Input() question!: any;\r\n @Output() changeEvent = new EventEmitter<any>();\r\n constructor() { }\r\n selectedValue!:any;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n dataChanged(){\r\n this.changeEvent.emit(this.selectedValue)\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-logic-comment-box',\r\n templateUrl: './logic-comment-box.component.html',\r\n styleUrls: ['./logic-comment-box.component.less']\r\n})\r\nexport class LogicCommentBoxComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-logic-dropdown',\r\n templateUrl: './logic-dropdown.component.html',\r\n styleUrls: ['./logic-dropdown.component.less']\r\n})\r\nexport class LogicDropdownComponent implements OnInit {\r\n\r\n @Input() question !: any;\r\n @Input('question') set questionSet(value: boolean) {\r\n this.question = value;\r\nif(this.question.hasOther){\r\n this.question.choices.push({title:'Other',value:'Other'})\r\n }\r\n}\r\n @Output() changeEvent = new EventEmitter<any>();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n emitChange(choice:any){\r\n\r\n this.changeEvent.emit({choice:{title:choice}})\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-logic-ranking',\r\n templateUrl: './logic-ranking.component.html',\r\n styleUrls: ['./logic-ranking.component.less']\r\n})\r\nexport class LogicRankingComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-logic-slider',\r\n templateUrl: './logic-slider.component.html',\r\n styleUrls: ['./logic-slider.component.less']\r\n})\r\nexport class LogicSliderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-logic-multiple-textbox',\r\n templateUrl: './logic-multiple-textbox.component.html',\r\n styleUrls: ['./logic-multiple-textbox.component.less']\r\n})\r\nexport class LogicMultipleTextboxComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { DatePickerComponent } from 'ng2-date-picker';\r\n\r\n@Component({\r\n selector: 'app-logic-date-time',\r\n templateUrl: './logic-date-time.component.html',\r\n styleUrls: ['./logic-date-time.component.less']\r\n})\r\nexport class LogicDateTimeComponent implements OnInit {\r\n @ViewChild('datePicker') datePicker!: DatePickerComponent;\r\n datepickerOverlay = false;\r\n @Input() question!: any;\r\n @Output() changeEvent = new EventEmitter<any>();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openDatePicker() {\r\n this.datePicker?.api?.open();\r\n this.datepickerOverlay = true;\r\n }\r\n \r\n closeDatepicker() {\r\n this.datePicker?.api?.close();\r\n this.datepickerOverlay = false;\r\n }\r\n\r\n dateChanged(evt:any){\r\n \r\n }\r\n timeChanged(evt:any){\r\n \r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LogicMultipleChoiceComponent } from './logic-multiple-choice/logic-multiple-choice.component';\r\nimport { LogicCheckboxComponent } from './logic-checkbox/logic-checkbox.component';\r\nimport { LogicImageChoiceComponent } from './logic-image-choice/logic-image-choice.component';\r\nimport { LogicStarRatingComponent } from './logic-star-rating/logic-star-rating.component';\r\nimport { LogicSingleTextboxComponent } from './logic-single-textbox/logic-single-textbox.component';\r\nimport { LogicCommentBoxComponent } from './logic-comment-box/logic-comment-box.component';\r\nimport { LogicDropdownComponent } from './logic-dropdown/logic-dropdown.component';\r\nimport { LogicRankingComponent } from './logic-ranking/logic-ranking.component';\r\nimport { LogicSliderComponent } from './logic-slider/logic-slider.component';\r\nimport { LogicMultipleTextboxComponent } from './logic-multiple-textbox/logic-multiple-textbox.component';\r\nimport { LogicDateTimeComponent } from './logic-date-time/logic-date-time.component';\r\n// import { TooltipModule } from 'projects/ui-components/src/lib/ui-utility/tooltip/tooltip.module';\r\n// import { PopoverModule } from 'projects/ui-components/src/lib/ui-utility/popover/popover.module';\r\n// import { FormgroupModule } from 'projects/ui-components/src';\r\nimport { DpDatePickerModule } from 'ng2-date-picker';\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TooltipModule } from '../../../../ui-kit/tooltip/tooltip.module';\r\nimport { PopoverModule } from '../../../../ui-kit/popover/popover.module';\r\nimport { FormgroupModule } from '../../../../ui-kit/formgroup/formgroup.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n LogicMultipleChoiceComponent,\r\n LogicCheckboxComponent,\r\n LogicImageChoiceComponent,\r\n LogicStarRatingComponent,\r\n LogicSingleTextboxComponent,\r\n LogicCommentBoxComponent,\r\n LogicDropdownComponent,\r\n LogicRankingComponent,\r\n LogicSliderComponent,\r\n LogicMultipleTextboxComponent,\r\n LogicDateTimeComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n TooltipModule,\r\n PopoverModule,\r\n FormgroupModule,\r\n DpDatePickerModule,\r\n NgxMaterialTimepickerModule,\r\n ],\r\n exports: [\r\n LogicMultipleChoiceComponent,\r\n LogicCheckboxComponent,\r\n LogicImageChoiceComponent,\r\n LogicStarRatingComponent,\r\n LogicSingleTextboxComponent,\r\n LogicCommentBoxComponent,\r\n LogicDropdownComponent,\r\n LogicRankingComponent,\r\n LogicSliderComponent,\r\n LogicMultipleTextboxComponent,\r\n LogicDateTimeComponent\r\n ]\r\n})\r\nexport class LogicQuestionsModule { }\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-toolkit',\r\n templateUrl: './toolkit.component.html',\r\n styleUrls: ['./toolkit.component.less']\r\n})\r\nexport class ToolkitComponent implements OnInit {\r\n @Output() addQuestion = new EventEmitter();\r\n constructor() { }\r\n showCollapse = true;\r\n ngOnInit(): void {\r\n }\r\n clickCollapse(){\r\n this.showCollapse = !this.showCollapse;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'errorMessage'\r\n})\r\nexport class ErrorMessagePipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n if(value){\r\n const [first] = Object.keys(value);\r\n if(value[first].message){\r\n return value[first].message\r\n }else{\r\n return '';\r\n }\r\n }else{\r\n return '';\r\n }\r\n \r\n \r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'questionFilter'\r\n})\r\nexport class QuestionFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n return value.filter((question:any) => (question.name !== args[0] && question.title.trim().length > 0) && question?.visibilityLogic?.length === 0 );;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'questionParser'\r\n})\r\nexport class QuestionParserPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: unknown[]): any {\r\n \r\n if(!value){\r\n return 'Select a question'\r\n }else{\r\n return value;\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'formatter'\r\n})\r\nexport class FormatterPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: unknown[]): any {\r\n const action = [];\r\n const data = value.split(',');\r\n for (let i = 1; i < data.length; i++) {\r\n action.push({ icon: '', name: data[i], identifier: '' })\r\n }\r\n return action;\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-setting-anonymous',\r\n templateUrl: './setting-anonymous.component.html',\r\n styleUrls: ['./setting-anonymous.component.less']\r\n})\r\nexport class SettingAnonymousComponent implements OnInit {\r\n setting!:any;\r\n localSetting !:any;\r\n @Input('setting') set settingData(value:any){\r\n this.setting = cloneDeep(value) ;\r\n this.localSetting = cloneDeep(value) ;\r\n }\r\n\r\n @Output() save = new EventEmitter<any>();\r\n @Output() cancelEvt = new EventEmitter<any>();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n manipulateDefault(mode:any){\r\n if (mode === 'INCREASE' && this.setting.defaultScore >= 0){\r\n this.setting.defaultScore = this.setting.defaultScore + 1;\r\n } else if (mode === 'DECREASE' && this.setting.defaultScore > 1 ){\r\n this.setting.defaultScore = this.setting.defaultScore - 1;\r\n }\r\n }\r\n manipulateNegativeScore(mode:any){\r\n if (mode === 'INCREASE' && this.setting.negativeScore >= 0){\r\n this.setting.negativeScore = this.setting.negativeScore + 1;\r\n } else if (mode === 'DECREASE' && this.setting.negativeScore >= 1 ){\r\n this.setting.negativeScore = this.setting.negativeScore - 1;\r\n }\r\n }\r\n\r\n overRideConfirm = false;\r\n confirmOverride(evt?:any){\r\n\r\n this.overRideConfirm = !this.overRideConfirm;\r\n }\r\n saveSetting(){ \r\n this.save.emit(this.setting);\r\n this.overRideConfirm = false;\r\n }\r\n cancel(){\r\n this.cancelEvt.emit(this.localSetting);\r\n this.overRideConfirm = false;\r\n }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { EditorService } from '../../services/editor.service';\r\nimport { ResultCriteriaService } from '../../services/result-criteria.service';\r\nimport { nanoid } from 'nanoid';\r\nimport { cloneDeep } from 'lodash';\r\n@Component({\r\n selector: 'app-setting-response-segment',\r\n templateUrl: './setting-response-segment.component.html',\r\n styleUrls: ['./setting-response-segment.component.less']\r\n})\r\nexport class SettingResponseSegmentComponent implements OnInit {\r\n\r\n // constructor() { }\r\n\r\n // ngOnInit(): void {\r\n // }\r\n description: EditorConfig = {\r\n mode: 'prime',\r\n placeholder: 'Enter Segment criteria description',\r\n };\r\n hideSegmentPopup !:boolean;\r\n editSegmentPopup !:boolean;\r\n editSegment(){}\r\n closeSegmentPopup(){}\r\n openSegmentPopup(){}\r\n setting!:any;\r\n localSetting !:any;\r\n @Input('setting') set settingData(value:any){\r\n this.setting = value ;\r\n this.localSetting = cloneDeep(value) ;\r\n }\r\n @Output() save = new EventEmitter<any>();\r\n\r\n constructor(private el: ElementRef, private criteriaService: ResultCriteriaService) { }\r\n showResultPopup = false;\r\n showResultEditPopup = false;\r\n popoverLeft: any;\r\n popoverTop: any;\r\n mode: any;\r\n editIndex !: number;\r\n selectedSegment: any = {\r\n id: nanoid(),\r\n segmentName: '',\r\n segmentDescription: '',\r\n toRange: 0,\r\n fromRange: 0,\r\n color: '#000000'\r\n };\r\n @ViewChild('button') button !:any;\r\n @ViewChild('buttonEdit') buttonEdit !:any;\r\n @Output() closed = new EventEmitter<any>();\r\n @Output() cancelEvt = new EventEmitter<any>(); \r\n @Input() formJSON !: string;\r\n @Input() fd !:any;\r\n resultCriteria = [\r\n ];\r\n entityJSON !:any;\r\n maxRange = 10;\r\n errorArray:any = [];\r\n ngOnInit(): void {\r\n this.maxRange = this.criteriaService.calculateMaxScore(this.fd.formsPage);\r\n }\r\n\r\n addNewSegment() {\r\n this.showResultEditPopup = false;\r\n this.mode = 'ADD';\r\n this.selectedSegment = {\r\n id: nanoid(14),\r\n segmentName: '',\r\n segmentDescription: '',\r\n fromRange: 0,\r\n toRange: this.maxRange,\r\n color: '#000000'\r\n };\r\n this.clickResultPopup();\r\n }\r\n closePopUp() {\r\n this.closed.emit();\r\n }\r\n\r\n closeSegment() {\r\n this.showResultPopup = false;\r\n this. showResultEditPopup = false;\r\n this.editIndex = -10;\r\n }\r\n\r\n clickResultPopup() {\r\n this.editIndex = -10;\r\n const popover = this.button.nativeElement.getBoundingClientRect();\r\n let left = 0;\r\n let top = 0;\r\n top = popover.top;\r\n left = popover.left;\r\n this.showResultPopup = !this.showResultPopup;\r\n this.showResultEditPopup = false;\r\n this.popoverLeft = left + 10;\r\n this.popoverTop = top - 350;\r\n }\r\n editResultPopup(event:any, segment:any, i:any) {\r\n this.editIndex = i;\r\n this.mode = 'EDIT';\r\n this.selectedSegment = segment;\r\n const popover = event.target.parentElement.parentElement.parentElement.parentElement.getBoundingClientRect();\r\n let left = 0;\r\n let top = 0;\r\n top = popover.top;\r\n left = popover.left;\r\n this.showResultEditPopup = true;\r\n this.showResultPopup = false;\r\n this.popoverLeft = left + 10;\r\n this.popoverTop = top - 350;\r\n }\r\n saveCriteria(evt:any) {\r\n if (this.mode === 'ADD') {\r\n this.showResultPopup = !this.showResultPopup;\r\n this.setting.segmentData.segments.push(evt);\r\n }\r\n else if (this.mode === 'EDIT') {\r\n this.showResultEditPopup = !this.showResultEditPopup;\r\n const index = this.setting.segmentData.segments.findIndex((x:any) => x.id === evt.id);\r\n this.setting.segmentData.segments[index] = evt;\r\n }\r\n }\r\n\r\n deleteSegment(index:any) {\r\n this.setting.segmentData.segments.splice(index, 1);\r\n }\r\n saveSetting():any{\r\n this.editIndex = -10;\r\n this.showResultEditPopup = false;\r\n this.showResultPopup = false;\r\n this.errorArray = [];\r\n if (this.setting.segmentData.title.trim().length === 0 ){\r\n this.errorArray.push({type: 'SEGMENT_NAME_MISSING', message: 'Please enter the segment criteria name.'});\r\n return false;\r\n } else if (this.setting.segmentData.segments.length === 0){\r\n this.errorArray.push({type: 'NO_SEGMENT_FOUND', message: 'Please add atleast one segment.'});\r\n return false;\r\n }\r\n this.save.emit(this.setting);\r\n \r\n \r\n }\r\n discardEdit(index:any) {\r\n this.editIndex = -10;\r\n this.showResultEditPopup = false;\r\n }\r\n closeSegmentResult() {\r\n this.editIndex = -10;\r\n this.showResultEditPopup = false;\r\n this.showResultPopup = false;\r\n }\r\n cancel(){\r\n this.cancelEvt.emit(this.localSetting);\r\n\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-page-header',\r\n templateUrl: './page-header.component.html',\r\n styleUrls: ['./page-header.component.less']\r\n})\r\nexport class PageHeaderComponent implements OnInit {\r\n @Input() pageName !: string;\r\n @Input() pageDescription !:string;\r\n @Output() edit = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Optional, Output } from '@angular/core';\r\nimport { Configurations } from '../../../../configurations';\r\n\r\n// import { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-welcome-thankyou',\r\n templateUrl: './welcome-thankyou.component.html',\r\n styleUrls: ['./welcome-thankyou.component.less']\r\n})\r\nexport class WelcomeThankyouComponent implements OnInit {\r\n @Output() deleteQuestion = new EventEmitter();\r\n @Input() entityData!: any;\r\n @Input() service !:any;\r\nenv !:any;\r\n isImageUploading !:boolean;\r\n constructor(@Optional() config?: Configurations) { \r\n if (config) {\r\n this.env = config.envConfig;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.entityData.hasWelcomeImage = true;\r\n this.entityData.hasWelcomeDescription = true;\r\n }\r\n onSelectImage(event:any) {\r\n if (event.target.files && event.target.files[0]) {\r\n this.isImageUploading = true;\r\n this.service.formsPage.welcomeImage = '';\r\n // tslint:disable-next-line: prefer-const\r\n let selectedFile = event.target.files[0];\r\n const uploadData = new FormData();\r\n uploadData.append('file', selectedFile);\r\n // tslint:disable-next-line: prefer-const\r\n let destination = 'assessment/imports' + '/welcome/';\r\n this.service.uploadHandler(uploadData, destination).subscribe((data:any) => {\r\n this.isImageUploading = false;\r\n this.service.formsPage.welcomeImage = this.env?.s3Url + this.env?.s3Bucket + '/' + data.file_url_path;\r\n }, (error:any) => {\r\n this.isImageUploading = false;\r\n });\r\n }\r\n }\r\n// deleteWelcome() {\r\n// this.service.formsPage.hasWelcome = false;\r\n// this.service.stepIdentifier = 'pagescreen';\r\n// this.service.currentPageNumber = 1;\r\n// this.service.formsPage.pageDetailsList.forEach(pageDetail => {\r\n// if (pageDetail.pageNumber === this.service.currentPageNumber) {\r\n// this.service.currentPageDetails.pageName = pageDetail.pageName;\r\n// this.service.currentPageDetails.pageNumber = pageDetail.pageNumber;\r\n// this.service.currentPageDetails.pageDescription = pageDetail.pageDescription;\r\n// }\r\n// });\r\n// this.service.checkForPageDetails();\r\n// }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'currentPageQuestion'\r\n})\r\nexport class CurrentPageQuestionPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n let x = value.filter((question:any) => (question.page === args[0]) );\r\n if(x.length > 1){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'questionPageFilter'\r\n})\r\nexport class QuestionPageFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n return value.filter((question:any) => question?.page === args[0]);\r\n }\r\n\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'typeof'\r\n})\r\nexport class TypeOfPipe implements PipeTransform {\r\n\r\n transform(value: any): any {\r\n \r\n return typeof value;\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-editor-loader',\r\n templateUrl: './editor-loader.component.html',\r\n styleUrls: ['./editor-loader.component.less']\r\n})\r\nexport class EditorLoaderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EditorLoaderComponent } from './editor-loader/editor-loader.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [EditorLoaderComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n EditorLoaderComponent\r\n ]\r\n})\r\nexport class EditorLoaderModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CreateAssessmentContainerComponent } from './create-assessment-container/create-assessment-container.component';\r\nimport { RouterModule } from '@angular/router';\r\n// import { TooltipModule } from 'projects/ui-components/src/lib/ui-utility/tooltip/tooltip.module';\r\n// import { PopoverModule } from 'projects/ui-components/src/lib/ui-utility/popover/popover.module';\r\nimport { QuestionTypeComponent } from './components/question-type/question-type.component';\r\nimport { AddPageDetailsComponent } from './components/add-page-details/add-page-details.component';\r\n// import { FormgroupModule, UiDialogModule } from 'projects/ui-components/src';\r\nimport { MarxEditorModule } from 'vcomply-editor';\r\nimport { AssessmentSettingsComponent } from './components/assessment-settings/assessment-settings.component';\r\nimport { AddSegmentPopupComponent } from './components/add-segment-popup/add-segment-popup.component';\r\nimport { AddResponseSetPopupComponent } from './components/add-response-set-popup/add-response-set-popup.component';\r\nimport { EditorWrapperComponent } from './components/editor-wrapper/editor-wrapper.component';\r\nimport { QuickSettingsComponent } from './components/quick-settings/quick-settings.component';\r\nimport { SingleLineEditorComponent } from './components/single-line-editor/single-line-editor.component';\r\nimport { ResponseSelectorComponent } from './components/response-selector/response-selector.component';\r\n\r\nimport { BuildModule } from './components/build/build.module';\r\nimport { PreviewModule } from './components/preview/preview.module';\r\nimport { MoveComponent } from './components/move/move.component';\r\nimport { LogicComponent } from './components/logic/logic.component';\r\nimport { AddLogicComponent } from './components/add-logic/add-logic.component';\r\nimport { LogicQuestionsModule } from './components/logic-questions/logic-questions.module';\r\nimport { ToolkitComponent } from './components/toolkit/toolkit.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ErrorMessagePipe } from './components/pipes/error-message.pipe';\r\nimport { QuestionFilterPipe } from './components/pipes/question-filter.pipe';\r\nimport { QuestionParserPipe } from './components/pipes/question-parser.pipe';\r\nimport { FormatterPipe } from './components/pipes/formatter.pipe';\r\nimport { SettingAnonymousComponent } from './components/setting-anonymous/setting-anonymous.component';\r\nimport { SettingResponseSegmentComponent } from './components/setting-response-segment/setting-response-segment.component';\r\n// import { TokenInterceptor } from 'src/app/interceptors/token-interceptor';\r\nimport { PageHeaderComponent } from './components/page-header/page-header.component';\r\nimport { WelcomeThankyouComponent } from './components/welcome-thankyou/welcome-thankyou.component';\r\nimport { AssessmentPreviewModule } from '../assessment-preview/assessment-preview.module';\r\nimport { CurrentPageQuestionPipe } from './components/pipes/current-page-question.pipe';\r\nimport { QuestionPageFilterPipe } from './components/pipes/question-page-filter.pipe';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { TypeOfPipe } from './components/pipes/type-of.pipe';\r\nimport { TooltipModule } from '../../ui-kit/tooltip/tooltip.module';\r\nimport { PopoverModule } from '../../ui-kit/popover/popover.module';\r\nimport { DialogModule } from '../../ui-kit/dialog/dialog.module';\r\nimport { FormgroupModule } from '../../formgroup/formgroup.module';\r\nimport { EditorLoaderModule } from '../../ui-kit/editor-loader/editor-loader.module';\r\nimport { NoDataModule } from '../no-data/no-data.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n CreateAssessmentContainerComponent,\r\n QuestionTypeComponent,\r\n AddPageDetailsComponent,\r\n AssessmentSettingsComponent,\r\n AddSegmentPopupComponent,\r\n AddResponseSetPopupComponent,\r\n EditorWrapperComponent,\r\n QuickSettingsComponent,\r\n SingleLineEditorComponent,\r\n ResponseSelectorComponent,\r\n MoveComponent,\r\n LogicComponent,\r\n AddLogicComponent,\r\n ToolkitComponent,\r\n ErrorMessagePipe,\r\n QuestionFilterPipe,QuestionParserPipe, FormatterPipe, SettingAnonymousComponent, SettingResponseSegmentComponent,PageHeaderComponent, WelcomeThankyouComponent, CurrentPageQuestionPipe, QuestionPageFilterPipe, TypeOfPipe\r\n ],\r\n imports: [\r\n CommonModule,\r\n TooltipModule,\r\n PopoverModule,\r\n DragDropModule,\r\n DialogModule,\r\n MarxEditorModule,\r\n FormgroupModule,\r\n NoDataModule,\r\n BuildModule,\r\n PreviewModule,\r\n AssessmentPreviewModule,\r\n FormsModule,\r\n LogicQuestionsModule,\r\n EditorLoaderModule\r\n ],exports:[CreateAssessmentContainerComponent],\r\n // providers:[ { provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true },]\r\n})\r\nexport class CreateAssessmentModule { }\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\n\r\nimport { DialogConfig } from \"../../dialog/dialog-config\";\r\nimport { DialogRef } from \"../../dialog/dialog-ref\";\r\n\r\n@Component({\r\n selector: \"app-deactivate\",\r\n templateUrl: \"./deactivate.component.html\",\r\n styleUrls: [\"./deactivate.component.less\"],\r\n})\r\nexport class DeactivateComponent implements OnInit {\r\n animate = false;\r\n @Input() itemName = 'dashboard'\r\n // constructor(private dialog: DialogRef, public dialogConfig: DialogConfig\r\n // ) {\r\n // this.itemName = dialogConfig.data.itemName;\r\n // }\r\n constructor(private dialog: DialogRef,public dialogConfig:DialogConfig) {}\r\n ngOnInit(): void { }\r\n\r\n deactivate(deleteFlag: boolean) {\r\n this.animate = true;\r\n setTimeout(() => {\r\n this.animate = false;\r\n }, 1000);\r\n this.dialog.close(deleteFlag);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DialogConfig } from '../../dialog/dialog-config';\r\nimport { DialogRef } from '../../dialog/dialog-ref';\r\n\r\n\r\n@Component({\r\n selector: 'app-duplicate',\r\n templateUrl: './duplicate.component.html',\r\n styleUrls: ['./duplicate.component.less']\r\n})\r\nexport class DuplicateComponent implements OnInit {\r\n animate = false;\r\n itemName = ''\r\n constructor(private dialog: DialogRef,public dialogConfig:DialogConfig) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n activate(deleteFlag: boolean) {\r\n this.animate = true;\r\n setTimeout(() => {\r\n this.animate = false;\r\n }, 5000);\r\n this.dialog.close(deleteFlag);\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { DeleteComponent } from \"./delete/delete.component\";\r\nimport { ActiveComponent } from \"./active/active.component\";\r\nimport { DeactivateComponent } from \"./deactivate/deactivate.component\";\r\nimport { DuplicateComponent } from './duplicate/duplicate.component';\r\n\r\n@NgModule({\r\n declarations: [DeleteComponent, DeactivateComponent, ActiveComponent, DuplicateComponent],\r\n exports: [DeleteComponent, ActiveComponent, DeactivateComponent, DuplicateComponent],\r\n imports: [CommonModule],\r\n})\r\nexport class ActionDialogModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'uncategorizedFilter'\r\n})\r\nexport class UncategorizedFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n if(value){\r\n return value.filter((category:any) => category?.category_name != 'uncategorized') \r\n }else{\r\n return value;\r\n }\r\n }\r\n\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable, Optional } from '@angular/core';\nimport { retry } from 'rxjs';\nimport { Configurations } from '../configurations';\nimport { AuthService } from './auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProgramsService {\n\n env !: any;\n constructor(private http: HttpClient, private authService: AuthService, @Optional() config?: Configurations) {\n if (config) {\n this.env = config.envConfig;\n\n }\n }\n\n getRoles(){\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\n return this.http.get(this.env.organizationGet + 'roles/getProgramRoles',{headers});\n }\n\n /**\n * Uploads the given file to server\n * @param payload payload File data to be uploaded\n * @param path path Path of file to be uploaded\n * @returns response after uploading a file\n */\n uploadFiles(payload: any, path: any) {\n // {\n // reportProgress: true,\n // observe: 'events'}\n const ORG_PATH = `o/${path}`;\n return this.http.post(this.env.fileUploadEndPoint + ORG_PATH + '&ngsw-bypass=true', payload);\n }\n\n getResponsibilityCenterList() {\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\n return this.http.get<any[]>(this.env.complianceGet + 'responsibilityCenterTree', {\n headers,\n }).pipe(retry(2));\n }\n\n\n fetchRoleUsers(roles:any,page?:any, searchKey?:any){\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\n let queryString = '';\n if(page){ queryString += `&page=${page}`};\n if(searchKey){}\n return this.http.post<any[]>(this.env.organizationPost + 'roles/getUserDetails&limit=30'+queryString,{ role_ids :roles ?? []}, {headers}).pipe(retry(2));\n }\n\n fetchAllRoleUsers(roles:any){\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\n return this.http.post<any[]>(this.env.organizationPost + 'roles/getUserDetails&type=all',{ role_ids :roles ?? []}, {headers}).pipe(retry(2));\n }\n\n fetchAllRoleGroups(roles:any){\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\n return this.http.post<any[]>(this.env.organizationPost + 'roles/getGroupDetails&type=all',{ role_ids :roles ?? []}, {headers}).pipe(retry(2));\n }\n fetchAllOrgUser(){\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\n //https://devapi.v-comply.com/organization/?mode=organisationUsersList&paginationType=small&admin=1\n return this.http.get<any[]>(this.env.organizationGet + 'organisationUsersList&paginationType=small', {headers}).pipe(retry(2));\n }\n fetchComplianceGroups(){\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\n //https://devapi.v-comply.com/organization/?mode=groupsList&status=1&type=compliance\n return this.http.get<any[]>(this.env.organizationGet + 'groupsList&status=1&type=compliance', {headers}).pipe(retry(2));\n }\n\n getBusinessCycle(){\n const businessCycle = JSON.parse(localStorage.getItem(\"businessCycle\") ?? '');\n return {\n selected_cycle: businessCycle\n ? businessCycle.selectedCycle.start_date +\n \"-\" +\n businessCycle.selectedCycle.end_date\n : \"\",\n start_date: businessCycle ? businessCycle.selectedCycle.start_date : \"\",\n end_date: businessCycle ? businessCycle.selectedCycle.end_date : \"\",\n selected_cycle_arr: businessCycle\n ? businessCycle?.selectedCycle?.selected_cycle_arr\n : [],\n };\n }\n\n saveProgram(payload:any){\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken()).set('x-business-cycle', JSON.stringify((this.getBusinessCycle())));\n return this.http.post<any[]>(this.env.programEndpoint + 'category/?isBusinessCycle=true',payload, {headers});\n }\n \n\n buildPayload(formData:any,instance:any){\nconsole.log(\"Component Instance\",instance);\nconst form = formData?.value;\nconsole.log(\"Form Value\",form);\nconst payload = {\n mode: 'program',\n name:form?.program_name ?? '',\n description:{text:form?.program_description ?? '',attachments:form?.program_description_attachments ?? []},\n program_objective : {text:form?.program_objective ?? '',attachments:form?.objective_attachment ?? []},\n roles: form.program_roles.map((ele:any) => {return {roleId:ele?._id,roleName:ele?.roleName, licenseType:ele?.licenseType}}),\n owners:this.listToId(form?.program_owners,'member_id') ?? [],\n owners_group: this.listToId(form?.program_owners_group,'group_id') ?? [],\n all_user_in_role: form?.all_user_in_role ?? false,\n programType:form?.program_type ?? 0,\n state:0,\n approvers:this.listToId(form?.program_approver,'member_id') ?? [],\n calculate_past_upcoming_event: form?.performance_calculation ?? '',\n program_frequency : form?.recurring_frequency ? 1 : 0,\n lock_scope: form?.lock_scope_change ? 1 :0,\n rc_ids: this.listToId(form?.rc,'item_id'),\n assignee_ids: this.listToId(form?.program_assignee,'member_id'),\n assignee_group_ids: this.listToId(form?.program_assignee_group,'group_id'),\n default_assignee_ids : this.listToId(form?.program_default_assignee,'member_id'),\n default_assignee_group_ids: this.listToId(form?.program_default_assignee_group,'group_id'),\n default_assignee_type: form?.assignee_completion_criteria,\n reviewers:this.listToId(form?.program_reviewer,'member_id'),\n reviewer_group_ids: this.listToId(form?.program_reviewer_group,'group_id'),\n default_reviewers:this.listToId(form?.program_default_reviewer,'member_id'),\n default_reviewer_group_ids: this.listToId(form?.program_default_reviewer_group,'group_id'),\n default_reviewers_type:form?.reviewer_completion_criteria,\n overseers: {cc_email: this.listToId(form?.program_overseer,'member_id'),cc_email_groups:this.listToId(form?.program_overseer_group,'group_id'),failure_cc_email: [],failure_cc_email_groups:[]},\n default_overseers: {cc_email: this.listToId(form?.program_default_overseer,'member_id'),cc_email_groups:this.listToId(form?.program_default_overseer_group,'group_id'),\n failure_cc_email: this.listToId(form?.program_default_failed_overseer,'member_id'),failure_cc_email_groups:this.listToId(form?.program_default_failed_overseer_group,'group_id')},\n assessment: {ids: this.listToId(form?.program_assessments,'id')},\n evidence_upload_flag:form?.evidence_required ? 1 : 0,\n is_key_evidence: form?.allow_any_file_key_evidence,\n custom_fields:['c1']\n}\nconsole.log(\"payload\",payload)\nreturn payload;\n/////\n// {\n// \"mode\": \"program\",\n// \"name\": \"abc1\",\n// \"program_objective\": {\n// \"text\": \"<b>1. </b>Security and risk management (15%)<div><b>2.</b> Asset Security (10%)</div>\",\n// \"attachments\" : []\n// },\n// \"description\": {\n// \"text\": \"The CISSP, offered by the International Information Security Certification Consortium(ISC) hoax\",\n// \"attachments\" : []\n// },\n// \"roles\": [\n// {\n// \"roleId\":\"6200cf8d7daae3b753bc3a1f\",\n// \"roleName\":\"Admin\",\n// \"licenseType\":\"power users\"\n// },\n// {\n// \"roleId\":\"626b86d8de4d5d0009a142b0\",\n// \"roleName\":\"Manage Program Roles\",\n// \"licenseType\":\"power users\"\n// }\n// ],\n// \"owners\": [\n// 15,\n// 17719,\n// 17721\n// ],\n// \"owners_group\":[],\n// \"all_user_in_role\":false,\n// \"createdBy\": \"5e4850db61ca5e14e142ea08\",\n// \"modifiedBy\": \"5e4850db61ca5e14e142ea08\",\n// \"programType\": 1,\n// \"state\": 0,\n// \"approvers\": [],\n// \"calculate_past_upcoming_event\": \"PAST_EVENT\",\n// \"program_frequency\": 0,\n// \"lock_scope\": 0,\n// \"rc_ids\": [],\n// \"assignee_ids\": [\n// 9645,\n// 10049\n// ],\n// \"default_assignee_ids\": [\n// 9645,\n// 10049\n// ],\n// \"assignee_group_ids\": [],\n// \"default_assignee_group_ids\" : [],\n// \"default_assignee_type\": \"\",\n// \"reviewers\": [\n// 9645,\n// 10049\n// ],\n// \"default_reviewers\": [\n// 9645,\n// 10049\n// ],\n// \"default_reviewers_type\": \"\",\n// \"reviewer_group_ids\" : [],\n// \"default_reviewer_group_ids\":[],\n// \"overseers\": {\n// \"cc_email\": [\n// 68309,\n// 75304\n// ],\n// \"cc_email_groups\":[1,2],\n// \"failure_cc_email\": [\n// 68309,\n// 75304\n// ],\n// \"failure_cc_email_groups\":[1,2]\n// },\n// \"default_overseers\": {\n// \"cc_email\": [\n// 68309,\n// 75304\n// ],\n// \"cc_email_groups\":[1,2],\n// \"failure_cc_email\": [\n// 68309,\n// 75304\n// ],\n// \"failure_cc_email_groups\":[1,2]\n// },\n// \"assessment\": {\n// \"ids\": []\n// },\n// \"evidence_upload_flag\": 0,\n// \"is_key_evidence\": false,\n// \"custom_tags\": \"[]\"\n// }\n//////////\n }\n\n\n listToId(list:any,key:string){\n return list.map((ele:any) => ele[key]);\n }\n\n\n}\n","export const CONSTANTS = {\r\n categoryType : [\r\n {label:'REGULATIONS',value:1},\r\n {label:'STANDARDS',value:2},\r\n {label:'INTERNAL CONTROLS',value:3},\r\n {label:'OTHERS',value:0}\r\n ],\r\n performanceCalculation : [\r\n {label:'PAST EVENTS ONLY',value:'PAST_EVENT'},\r\n {label:'PAST & UPCOMING EVENTS',value:'UPCOMING_EVENT'},\r\n ],\r\n dateConfig : {\r\n disableKeypress: true,\r\n format: 'DD MMM YYYY',\r\n unSelectOnClick: true,\r\n openOnClick:false,\r\n openOnFocus:false,\r\n min: new Date().getDate().toString(),\r\n },\r\n description: {\r\n mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n file:true,\r\n placeholder: 'Add a description',\r\n },\r\n \r\n objective: {\r\n mode: 'prime',\r\n colorPalette: true,\r\n link: true,\r\n file:true,\r\n id:'vksvdslkvdslkvjdskljv',\r\n placeholder: 'What is the objective of this program?',\r\n },\r\n additionalOption: {\r\n REVIEWER: false,\r\n OVERSEER: false,\r\n ASSESSMENT: false,\r\n FORMATE_EVIDENCE: false,\r\n CUSTOM_FIELDS: false\r\n }\r\n}","\r\nimport { AfterViewInit, Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\r\nimport { isEqual } from 'lodash';\r\nimport { DatePickerComponent } from 'ng2-date-picker';\r\nimport { distinctUntilChanged } from 'rxjs';\r\nimport { EditorConfig } from 'vcomply-editor';\r\nimport { AuthService } from '../workflow-services/auth.service';\r\nimport { ProgramsService } from '../workflow-services/programs.service';\r\nimport { UiKitService } from '../workflow-services/ui-kit.service';\r\nimport { CONSTANTS } from './constants';\r\n\r\n@Component({\r\n selector: 'app-workflow-program',\r\n templateUrl: './workflow-program.component.html',\r\n styleUrls: ['./workflow-program.component.less', '../forms.less']\r\n})\r\nexport class WorkflowProgramComponent implements OnInit, AfterViewInit {\r\n constants = CONSTANTS;\r\n\r\n datePickerOverlay = false;\r\n @ViewChild('datePicker') datePicker!: DatePickerComponent;\r\n @Output() pickerChanged = new EventEmitter();\r\n @Output() populateOption = new EventEmitter();\r\n @Output() closeWorkflow = new EventEmitter();\r\n @Output() showConfirmationAlert = new EventEmitter();\r\n @Output() disconnectRefresh = new EventEmitter();\r\n @Output() refreshForm = new EventEmitter();\r\n @Output() hideElementsFromMoreOptions = new EventEmitter();\r\n scrollToBottom!: boolean;\r\n\r\n\r\n constructor(private fb: FormBuilder, private programService: ProgramsService, private authService: AuthService,private uiKitService:UiKitService) { }\r\n public noWhitespaceValidator(control: FormControl) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n public blankArrayValidator(control: FormControl) {\r\n const isBlank = control.value?.filter((ele:any)=> ele)?.length === 0;\r\n const isValid = !isBlank;\r\n return isValid ? null : { 'blank': true };\r\n }\r\n loader = false;\r\n showSmiley = false;\r\n actionButtons = [\r\n { buttonText: 'Add More Programs', class: 'white-btn', id: 'addMore' },\r\n { buttonText: 'View Program', class: 'blue-btn', id: 'viewProgram' },\r\n];\r\nsmileyMessage = `You're All Set!`;\r\ncreatedProgramId = '';\r\n //form body for proram meta data\r\n programForm = this.fb.group({\r\n program_type: [1, [Validators.required, Validators.min(0), Validators.max(3)]],\r\n program_name: ['', [Validators.required, this.noWhitespaceValidator]],\r\n program_description: [''],\r\n program_description_attachments: [[]],\r\n program_objective: ['', [Validators.required, this.noWhitespaceValidator]],\r\n program_objective_attachments: [[]],\r\n program_roles: [[], [Validators.required,this.blankArrayValidator]],\r\n all_user_in_role: [false],\r\n program_owners: [[], [Validators.required,this.blankArrayValidator]],\r\n program_owners_group :[[]],\r\n program_approver: [[]],\r\n performance_calculation: ['PAST_EVENT', [Validators.required]],\r\n recurring_frequency: [true,[Validators.required]],\r\n lock_scope_change: [true,[Validators.required]],\r\n framework: [],\r\n rc: [[]],\r\n program_assignee: [[]],\r\n program_assignee_group: [[]],\r\n program_default_assignee: [[]],\r\n program_default_assignee_group: [[]],\r\n assignee_completion_criteria: ['ANYONE'],\r\n program_reviewer: [[]],\r\n program_reviewer_group: [[]],\r\n program_default_reviewer: [[]],\r\n program_default_reviewer_group: [[]],\r\n reviewer_completion_criteria: ['SEQUENTIAL'],\r\n program_overseer: [[]],\r\n program_overseer_group: [[]],\r\n program_default_overseer: [[]],\r\n program_default_overseer_group: [[]],\r\n program_default_failed_overseer: [[]],\r\n program_default_failed_overseer_group: [[]],\r\n program_assessments: [[]],\r\n evidence_required: [true],\r\n allow_any_file_key_evidence: [false],\r\n custom_fields: []\r\n });\r\n\r\n //exceptional handling of custom fields\r\n\r\n customFields = [''];\r\n showAddCustomField = true;\r\n //Program objective and descripion are explectly declared as they are using marx editor which does not supports Reactive forms binding\r\n editorData = {\r\n programObjective: '',\r\n programDescription: ''\r\n }\r\n\r\n currentUser() {\r\n const user = this.authService.tokenInfo()\r\n console.log(\"user_info\", user);\r\n return {\r\n member_email: user?.email,\r\n member_id: user?.id,\r\n member_name: user?.name,\r\n user_role: \"LOGGED_IN\",\r\n _id: \"\"\r\n }\r\n\r\n }\r\n //Sets the value of a form control\r\n setFormField(controlName: string, value: any) {\r\n let patch: any = {};\r\n patch[controlName] = value;\r\n this.programForm.patchValue(patch);\r\n this.controls[controlName]?.markAsTouched();\r\n }\r\n\r\n //Returns weather the form is valid or not\r\n get formValid() {\r\n if (this.programForm.valid && this.editorData?.programObjective?.trim()?.length) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n val = true;\r\n\r\n controls: any = {\r\n program_name: this.programForm.get('program_name'),\r\n program_objective: this.programForm.get('program_objective'),\r\n program_roles: this.programForm.get('program_roles'),\r\n program_owners: this.programForm.get('program_owners'),\r\n program_owners_group: this.programForm.get('program_owners_group'),\r\n all_user_in_role: this.programForm.get('all_user_in_role'),\r\n program_approver: this.programForm.get('program_approver'),\r\n description_attachment: this.programForm.get('program_description_attachments'),\r\n objective_attachments: this.programForm.get('program_objective_attachments'),\r\n recurring_frequency: this.programForm.get('recurring_frequency'),\r\n lock_scope_change: this.programForm.get('lock_scope_change'),\r\n rc: this.programForm.get('rc'),\r\n allow_any_file_key_evidence: this.programForm.get('allow_any_file_key_evidence'),\r\n program_assignee:this.programForm.get('program_assignee'),\r\n program_assignee_group:this.programForm.get('program_assignee_group'),\r\n program_default_assignee:this.programForm.get('program_default_assignee'),\r\n program_default_assignee_group:this.programForm.get('program_default_assignee_group'),\r\n assignee_completion_criteria:this.programForm.get('assignee_completion_criteria'),\r\n program_default_reviewer:this.programForm.get('program_default_reviewer'),\r\n program_default_reviewer_group:this.programForm.get('program_default_reviewer_group'),\r\n program_reviewer:this.programForm.get('program_reviewer'),\r\n program_reviewer_group:this.programForm.get('program_reviewer_group'),\r\n program_overseer:this.programForm.get('program_overseer'),\r\n program_overseer_group:this.programForm.get('program_overseer_group'),\r\n program_default_overseer:this.programForm.get('program_default_overseer'),\r\n program_default_overseer_group:this.programForm.get('program_default_overseer_group'),\r\n program_default_failed_overseer:this.programForm.get('program_default_failed_overseer'),\r\n program_default_failed_overseer_group:this.programForm.get('program_default_failed_overseer_group'),\r\n reviewer_completion_criteria : this.programForm.get('reviewer_completion_criteria'),\r\n program_assessments: this.programForm.get('program_assessments'),\r\n custom_fields: this.programForm.get('custom_fields')\r\n }\r\n\r\n lists: any = {\r\n ROLES: [],\r\n OWNERS: [],\r\n OWNERS_GROUPS:[],\r\n APPROVERS:[],\r\n REVIEWERS: [],\r\n REVIEWERS_GROUP:[],\r\n ASSIGNEES: [],\r\n ASSIGNEES_GROUP :[],\r\n DEFAULT_ASSIGNEES:[],\r\n DEFAULT_ASSIGNEES_GROUP:[],\r\n DEFAULT_REVIEWERS:[],\r\n DEFAULT_REVIEWERS_GROUP:[],\r\n OVERSEERS: [],\r\n OVERSEERS_GROUP:[],\r\n DEFAULT_OVERSEERS: [],\r\n DEFAULT_OVERSEERS_GROUP:[],\r\n RC: [],\r\n NON_REMOVABLE_OWNERS: [],\r\n ALL_USER:[],\r\n ALL_GROUP:[]\r\n }\r\n sideElements = ['ROLE','RC','OWNER','ASSIGNEE','APPROVER','DEFAULT_ASSIGNEE','REVIEWER','DEFAULT_REVIEWER','ASSESSMENT','FRAMEWORK','OVERSEER','DEFAULT_FAILED_OVERSEER','DEFAULT_OVERSEER','OVERSEER'];\r\n ngOnInit(): void {\r\n this.fetchRoles();\r\n this.fetchRC();\r\n this.fetchOrganizationUsers();\r\n this.fetchOrganizationGroup();\r\n }\r\n\r\n\r\n\r\n openDatePicker() {\r\n this.datePicker.api.open();\r\n this.datePickerOverlay = true;\r\n // this.setActiveFieldSelector('ISSUE_DATE_TIME', 'ISSUE_DATE_TIME');\r\n }\r\n closeDatePicker(evt: any) {\r\n this.datePicker.api.close();\r\n this.datePickerOverlay = false;\r\n // this.setActiveFieldSelector('', '');\r\n }\r\n\r\n\r\n additionalOption: any = CONSTANTS.additionalOption;\r\n activeList = ''\r\n /**\r\n * #### Description\r\n * Populates optional fields status for the optional fields\r\n */\r\n populateOptionalFields() {\r\n const activatedOptions = [];\r\n for (const key of Object.keys(this.additionalOption)) {\r\n if (this.additionalOption[key] === true) {\r\n activatedOptions.push(key);\r\n }\r\n }\r\n this.populateOption.emit(activatedOptions);\r\n }\r\n addMoreInfo(event: any) {\r\n console.log(\"Activate\",event)\r\n this.additionalOption[event.code] = event.checked;\r\n this.scrollToBottom = true;\r\n }\r\n ngAfterViewInit(): void {\r\n // this.formChangeListner();\r\n }\r\n\r\n // function to automate form value change handng\r\n formChangeListner() {\r\n const fields = Object.keys(this.controls);\r\n fields.forEach((ele: any) => {\r\n this.controls[ele]?.valueChanges.pipe(distinctUntilChanged()).subscribe({\r\n next: (res: any) => { this.handleFormFieldChange(ele, res) }\r\n })\r\n })\r\n }\r\n\r\n handleFormFieldChange(control: string, payload?: any) {\r\n switch (control) {\r\n case 'program_roles': {\r\n this.fetchUsersAssociatedWithRoles()\r\n }\r\n }\r\n }\r\n\r\n activateList(evt: string) {\r\n this.activeList = evt;\r\n this.pickerChanged.emit(true);\r\n }\r\n\r\n listAction(evt: any, type: any) {\r\n\r\n switch (type) {\r\n case 'ROLE': {\r\n const systemRoles = evt?.filter((ele: any) => ele?.roleType === \"system role\");\r\n const patchVal = this.uniqueByProp([...systemRoles, ...evt], '_id');\r\n if (!isEqual(this.controls.program_roles.value.sort(), patchVal.sort())) {\r\n this.setFormField('program_roles', patchVal);\r\n this.fetchUsersAssociatedWithRoles();\r\n this.fetchGroupsAssociatedWithRoles();\r\n }\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n case 'RC': {\r\n const rc = this.setList(this.lists.RC, evt, 'item_id')\r\n this.setFormField('rc', this.uniqueByProp(rc, 'item_id'));\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n case 'OWNER' :{\r\n console.log(\"evt\",evt)\r\n this.setFormField('program_owners', this.uniqueByProp(evt?.users, 'member_id'));\r\n this.setFormField('program_owners_group', this.uniqueByProp(evt?.groups, 'group_id'));\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n case 'APPROVER':{\r\n this.setFormField('program_approver', this.uniqueByProp(evt?.users, 'member_id'));\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n case 'ASSIGNEE':{\r\n this.setFormField('program_assignee', this.uniqueByProp(evt?.users, 'member_id'));\r\n this.setFormField('program_assignee_group', this.uniqueByProp(evt?.groups, 'group_id'));\r\n this.fieldDeselector(type);\r\n this.setDefaultAssignee(evt);\r\n break;\r\n }\r\n case 'DEFAULT_ASSIGNEE':{\r\n this.setFormField('program_default_assignee', this.uniqueByProp(evt?.users, 'member_id'));\r\n this.setFormField('program_default_assignee_group', this.uniqueByProp(evt?.groups, 'group_id'));\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n case 'REVIEWER':{\r\n this.setFormField('program_reviewer', this.uniqueByProp(evt?.users, 'member_id'));\r\n this.setFormField('program_reviewer_group', this.uniqueByProp(evt?.groups, 'group_id'));\r\n this.fieldDeselector(type);\r\n this.setDefaultReviewer(evt);\r\n break;\r\n }\r\n case 'DEFAULT_REVIEWER':{\r\n this.setFormField('program_default_reviewer', this.uniqueByProp(evt?.users, 'member_id'));\r\n this.setFormField('program_default_reviewer_group', this.uniqueByProp(evt?.groups, 'group_id'));\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n case 'OVERSEER':{\r\n this.setFormField('program_overseer', this.uniqueByProp(evt?.users, 'member_id'));\r\n this.setFormField('program_overseer_group', this.uniqueByProp(evt?.groups, 'group_id'));\r\n this.fieldDeselector(type);\r\n this.setDefaultOverseer(evt);\r\n break;\r\n }\r\n case 'DEFAULT_OVERSEER':{\r\n this.setFormField('program_default_overseer', this.uniqueByProp(evt?.users, 'member_id'));\r\n this.setFormField('program_default_overseer_group', this.uniqueByProp(evt?.groups, 'group_id'));\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n case 'DEFAULT_FAILED_OVERSEER':{\r\n this.setFormField('program_default_failed_overseer', this.uniqueByProp(evt?.users, 'member_id'));\r\n this.setFormField('program_default_failed_overseer_group', this.uniqueByProp(evt?.groups, 'group_id'));\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n case 'ASSESSMENT':{\r\n this.setFormField('program_assessments', this.uniqueByProp(evt, 'id'));\r\n this.fieldDeselector(type);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n remove(evt: any, type: any) {\r\n switch (type) {\r\n case 'ROLE': {\r\n console.log(\"evttt\", evt);\r\n const roles = this.controls?.program_roles?.value?.filter((ele: any) => ele?._id !== evt?._id);\r\n this.setFormField('program_roles', roles);\r\n break;\r\n }\r\n case 'RC': {\r\n console.log(\"evttt\", evt);\r\n const rcs = this.controls?.rc?.value?.filter((ele: any) => ele?.item_id !== evt?.item_id);\r\n this.setFormField('rc', rcs);\r\n break;\r\n }\r\n case 'OWNER':{\r\n const owners = this.controls?.program_owners?.value?.filter((ele: any) => ele?.member_id !== evt?.member_id);\r\n this.setFormField('program_owners', owners);\r\n break;\r\n }\r\n case 'OWNER_GROUP':{\r\n const owners_group = this.controls?.program_owners_group?.value?.filter((ele: any) => ele?.group_id !== evt?.group_id);\r\n this.setFormField('program_owners_group', owners_group);\r\n break;\r\n }\r\n case 'APPROVER':{\r\n const approver = this.controls?.program_approver?.value?.filter((ele: any) => ele?.member_id !== evt?.member_id);\r\n this.setFormField('program_approver', approver);\r\n break;\r\n }\r\n case 'ASSIGNEE':{\r\n const assignee = this.controls?.program_assignee?.value?.filter((ele: any) => ele?.member_id !== evt?.member_id);\r\n this.setFormField('program_assignee', assignee);\r\n this.setDefaultAssigneeOnRemove(evt,type)\r\n break;\r\n }\r\n case 'ASSIGNEE_GROUP':{\r\n const assignee_group = this.controls?.program_assignee_group?.value?.filter((ele: any) => ele?.group_id !== evt?.group_id);\r\n this.setFormField('program_assignee_group', assignee_group);\r\n this.setDefaultAssigneeOnRemove(evt,type)\r\n break;\r\n }\r\n case 'DEFAULT_ASSIGNEE':{\r\n const assignee = this.controls?.program_default_assignee?.value?.filter((ele: any) => ele?.member_id !== evt?.member_id);\r\n this.setFormField('program_default_assignee', assignee);\r\n break;\r\n }\r\n case 'DEFAULT_ASSIGNEE_GROUP':{\r\n const assignee_group = this.controls?.program_default_assignee_group?.value?.filter((ele: any) => ele?.group_id !== evt?.group_id);\r\n this.setFormField('program_default_assignee_group', assignee_group);\r\n break;\r\n }\r\n case 'REVIEWER':{\r\n const reviewer = this.controls?.program_reviewer?.value?.filter((ele: any) => ele?.member_id !== evt?.member_id);\r\n this.setFormField('program_reviewer', reviewer);\r\n this.setDefaultReviewerOnRemove(evt,type)\r\n break;\r\n }\r\n case 'REVIEWER_GROUP':{\r\n const reviewer_group = this.controls?.program_reviewer_group?.value?.filter((ele: any) => ele?.group_id !== evt?.group_id);\r\n this.setFormField('program_reviewer_group', reviewer_group);\r\n this.setDefaultReviewerOnRemove(evt,type)\r\n break;\r\n }\r\n case 'DEFAULT_REVIEWER':{\r\n const reviewer = this.controls?.program_default_reviewer?.value?.filter((ele: any) => ele?.member_id !== evt?.member_id);\r\n this.setFormField('program_default_reviewer', reviewer);\r\n break;\r\n }\r\n case 'DEFAULT_REVIEWER_GROUP':{\r\n const reviewer_group = this.controls?.program_default_reviewer_group?.value?.filter((ele: any) => ele?.group_id !== evt?.group_id);\r\n this.setFormField('program_default_reviewer_group', reviewer_group);\r\n break;\r\n }\r\n case 'OVERSEER':{\r\n const overseer = this.controls?.program_overseer?.value?.filter((ele: any) => ele?.member_id !== evt?.member_id);\r\n this.setFormField('program_overseer', overseer);\r\n this.setDefaultOverseerOnRemove(evt,type)\r\n break;\r\n }\r\n case 'OVERSEER_GROUP':{\r\n const overseer_group = this.controls?.program_overseer_group?.value?.filter((ele: any) => ele?.group_id !== evt?.group_id);\r\n this.setFormField('program_overseer_group', overseer_group);\r\n this.setDefaultOverseerOnRemove(evt,type)\r\n break;\r\n }\r\n case 'DEFAULT_OVERSEER':{\r\n const overseer = this.controls?.program_default_overseer?.value?.filter((ele: any) => ele?.member_id !== evt?.member_id);\r\n this.setFormField('program_default_overseer', overseer);\r\n break;\r\n }\r\n case 'DEFAULT_OVERSEER_GROUP':{\r\n const overseer_group = this.controls?.program_default_overseer_group?.value?.filter((ele: any) => ele?.group_id !== evt?.group_id);\r\n this.setFormField('program_default_overseer_group', overseer_group);\r\n break;\r\n }\r\n case 'DEFAULT_FAILED_OVERSEER':{\r\n const overseer = this.controls?.program_default_failed_overseer?.value?.filter((ele: any) => ele?.member_id !== evt?.member_id);\r\n this.setFormField('program_default_failed_overseer', overseer);\r\n break;\r\n }\r\n case 'DEFAULT_FAILED_OVERSEER_GROUP':{\r\n const overseer_group = this.controls?.program_default_failed_overseer_group?.value?.filter((ele: any) => ele?.group_id !== evt?.group_id);\r\n this.setFormField('program_default_failed_overseer_group', overseer_group);\r\n break;\r\n }\r\n case 'ASSESSMENT' :{\r\n const assessment = this.controls?.program_assessments?.value?.filter((ele: any) => ele?.id !== evt?.id);\r\n this.setFormField('program_assessments', assessment);\r\n break;\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n //below 4 functions can be easilty combined into one as they follow same kind of pattern or can be offloaded to a external service\r\n setDefaultAssignee(evt:any){\r\n if(evt?.users?.length || evt?.groups?.length){\r\n this.lists.DEFAULT_ASSIGNEES = this.uniqueByProp(evt?.users, 'member_id');\r\n this.lists.DEFAULT_ASSIGNEES_GROUP = this.uniqueByProp(evt?.groups, 'group_id');\r\n\r\n }else{\r\n this.lists.DEFAULT_ASSIGNEES = this.lists.ALL_USER;\r\n this.lists.DEFAULT_ASSIGNEES_GROUP = this.lists.ALL_GROUP;\r\n }\r\n const assigneeMap = evt?.users?.map((ele:any) => ele?.member_id);\r\n let currentDefaultAssignee = this.controls.program_default_assignee?.value;\r\n currentDefaultAssignee = currentDefaultAssignee.filter((ele:any)=> assigneeMap.includes(ele?.member_id));\r\n this.setFormField('program_default_assignee', currentDefaultAssignee);\r\n }\r\n setDefaultAssigneeOnRemove(evt:any,type:any){\r\n switch(type){\r\n case 'ASSIGNEE' :{\r\n this.lists.DEFAULT_ASSIGNEES = this.lists.DEFAULT_ASSIGNEES.filter((ele:any) => ele?.member_id !== evt?.member_id);\r\n const defaultAssignee = this.controls.program_default_assignee?.value;\r\n const assignee = defaultAssignee.filter((ele:any) => ele?.member_id !== evt?.member_id) \r\n this.setFormField('program_default_assignee', assignee);\r\n \r\n break;\r\n }\r\n case 'ASSIGNEE_GROUP':{\r\n this.lists.DEFAULT_ASSIGNEES_GROUP = this.lists.DEFAULT_ASSIGNEES_GROUP.filter((ele:any) => ele?.group_id !== evt?.group_id);\r\n const defaultAssigneeGroup = this.controls.program_default_assignee_group?.value;\r\n const assigneeGroup = defaultAssigneeGroup.filter((ele:any) => ele?.group_id !== evt?.group_id) \r\n this.setFormField('program_default_assignee_group', assigneeGroup);\r\n }\r\n }\r\n }\r\n setDefaultReviewer(evt:any){\r\n if(evt?.users?.length || evt?.groups?.length){\r\n this.lists.DEFAULT_REVIEWERS = this.uniqueByProp(evt?.users, 'member_id');\r\n this.lists.DEFAULT_REVIEWERS_GROUP = this.uniqueByProp(evt?.groups, 'group_id');\r\n\r\n }else{\r\n this.lists.DEFAULT_REVIEWERS = this.lists.ALL_USER;\r\n this.lists.DEFAULT_REVIEWERS_GROUP = this.lists.ALL_GROUP;\r\n }\r\n const reviewerMap = evt?.users?.map((ele:any) => ele?.member_id);\r\n let currentDefaultReviewer = this.controls.program_default_reviewer?.value;\r\n currentDefaultReviewer = currentDefaultReviewer.filter((ele:any)=> reviewerMap.includes(ele?.member_id));\r\n this.setFormField('program_default_reviewer', currentDefaultReviewer);\r\n }\r\n setDefaultOverseer(evt:any){\r\n if(evt?.users?.length || evt?.groups?.length){\r\n this.lists.DEFAULT_OVERSEERS = this.uniqueByProp(evt?.users, 'member_id');\r\n this.lists.DEFAULT_OVERSEERS_GROUP = this.uniqueByProp(evt?.groups, 'group_id');\r\n\r\n }else{\r\n this.lists.DEFAULT_OVERSEERS = this.lists.ALL_USER;\r\n this.lists.DEFAULT_OVERSEERS_GROUP = this.lists.ALL_GROUP;\r\n }\r\n const overseerMap = evt?.users?.map((ele:any) => ele?.member_id);\r\n let currentDefaultReviewer = this.controls.program_default_overseer?.value;\r\n let currentDefaultFailReviewer = this.controls.program_default_failed_overseer?.value;\r\n currentDefaultReviewer = currentDefaultReviewer.filter((ele:any)=> overseerMap.includes(ele?.member_id));\r\n currentDefaultFailReviewer = currentDefaultReviewer.filter((ele:any)=> overseerMap.includes(ele?.member_id));\r\n this.setFormField('program_default_overseer', currentDefaultReviewer);\r\n this.setFormField('program_default_failed_overseer', currentDefaultFailReviewer);\r\n }\r\n setDefaultReviewerOnRemove(evt:any,type:any){\r\n switch(type){\r\n case 'REVIEWER' :{\r\n this.lists.DEFAULT_REVIEWERS = this.lists.DEFAULT_REVIEWERS.filter((ele:any) => ele?.member_id !== evt?.member_id);\r\n const defaultReviewer = this.controls.program_default_reviewer?.value;\r\n const reviewer = defaultReviewer.filter((ele:any) => ele?.member_id !== evt?.member_id) \r\n this.setFormField('program_default_reviewer', reviewer);\r\n \r\n break;\r\n }\r\n case 'REVIEWER_GROUP':{\r\n this.lists.DEFAULT_REVIEWERS_GROUP = this.lists.DEFAULT_REVIEWERS_GROUP.filter((ele:any) => ele?.group_id !== evt?.group_id);\r\n const defaultReviewerGroup = this.controls.program_default_reviewer_group?.value;\r\n const reviewerGroup = defaultReviewerGroup.filter((ele:any) => ele?.group_id !== evt?.group_id) \r\n this.setFormField('program_default_reviewer_group', reviewerGroup);\r\n }\r\n }\r\n }\r\n setDefaultOverseerOnRemove(evt:any,type:any){\r\n switch(type){\r\n case 'OVERSEER' :{\r\n this.lists.DEFAULT_OVERSEERS = this.lists.DEFAULT_OVERSEERS.filter((ele:any) => ele?.member_id !== evt?.member_id);\r\n const defaultOverseer = this.controls.program_default_overseer?.value;\r\n const overseer = defaultOverseer.filter((ele:any) => ele?.member_id !== evt?.member_id) \r\n this.setFormField('program_default_overseer', overseer);\r\n\r\n const defaultFailOverseer = this.controls.program_default_failed_overseer?.value;\r\n const overseerFail = defaultFailOverseer.filter((ele:any) => ele?.member_id !== evt?.member_id) \r\n this.setFormField('program_default_failed_overseer', overseerFail);\r\n \r\n break;\r\n }\r\n case 'OVERSEER_GROUP':{\r\n this.lists.DEFAULT_OVERSEERS_GROUP = this.lists.DEFAULT_OVERSEERS_GROUP.filter((ele:any) => ele?.group_id !== evt?.group_id);\r\n const defaultOverseerGroup = this.controls.program_default_overseer_group?.value;\r\n const overseerGroup = defaultOverseerGroup.filter((ele:any) => ele?.group_id !== evt?.group_id) \r\n this.setFormField('program_default_overseer_group', overseerGroup);\r\n\r\n const defaultOverseerFailedGroup = this.controls.program_default_overseer_group?.value;\r\n const overseerFailedGroup = defaultOverseerFailedGroup.filter((ele:any) => ele?.group_id !== evt?.group_id) \r\n this.setFormField('program_default_failed_overseer_group', overseerFailedGroup);\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n fieldDeselector(type: any) {\r\n this.activeList = '';\r\n this.pickerChanged.emit(false);\r\n this.markasTouchedSelector(type)\r\n }\r\n markasTouchedSelector(fieldName:any){\r\n const typeField:any = {\r\n ROLE:'program_roles',\r\n APPROVER:'program_approver',\r\n OWNER:'program_owners',\r\n OWNER_GROUP:'program_owners_group'\r\n }\r\n this.controls[typeField[fieldName]]?.markAsTouched();\r\n }\r\n\r\n //this function is responsible for fetching role list and invoke the setDefaultOwners function to set the default owners\r\n fetchRoles() {\r\n this.programService.getRoles().subscribe({\r\n next: (res: any) => {\r\n console.log(\"role list\", res);\r\n this.lists.ROLES = res;\r\n const defaultVal = this.lists?.ROLES?.data?.filter((ele: any) => ele?.roleType === \"system role\");\r\n this.setFormField('program_roles', defaultVal);\r\n //for setting all tghe key admin and admin as default owner\r\n this.fetchUsersAssociatedWithRoles();\r\n this.fetchGroupsAssociatedWithRoles();\r\n },\r\n error: (err: any) => { }\r\n })\r\n }\r\n\r\n //fetch the list of responsibilities center\r\n fetchRC() {\r\n this.programService.getResponsibilityCenterList().subscribe({\r\n next: (res: any) => {\r\n console.log(\"rc list\", res);\r\n this.lists.RC = res;\r\n // this.setFormField('program_roles',this.lists?.ROLES?.data?.filter((ele:any) => ele?.roleType === \"system role\"));\r\n },\r\n error: (err: any) => { }\r\n })\r\n }\r\n\r\n fetchUsersAssociatedWithRoles() {\r\n const roleIds = this.controls.program_roles?.value?.map((ele: any) => ele?._id);\r\n // if (fetchAll) {\r\n this.programService.fetchAllRoleUsers(roleIds).subscribe({\r\n next: (res: any) => {\r\n this.lists.OWNERS = res;\r\n this.lists.APPROVERS = res;\r\n if (this.controls?.all_user_in_role?.value) {\r\n this.setFormField('program_owners', res?.data);\r\n } else {\r\n this.setDefaultOwners(res?.data);\r\n }\r\n },\r\n error: (err: any) => { }\r\n })\r\n // } else {\r\n // this.programService.fetchAllRoleUsers(roleIds).subscribe({\r\n // next: (res: any) => {\r\n // this.lists.OWNERS = res;\r\n // // this.assignFieldsDependentOnRole(res?.data)\r\n // },\r\n // error: (err: any) => { }\r\n // })\r\n // }\r\n }\r\n\r\n fetchGroupsAssociatedWithRoles(){\r\n const roleIds = this.controls.program_roles?.value?.map((ele: any) => ele?._id);\r\n this.programService.fetchAllRoleGroups(roleIds).subscribe({\r\n next:(res:any) => {\r\n this.lists.OWNERS_GROUPS = res;\r\n }\r\n })\r\n }\r\n\r\n setDefaultOwners(userList: any) {\r\n const loggedInuser = this.currentUser();\r\n const defaultOwner = userList.filter((ele: any) => ['ADMIN', 'KEY_ADMIN'].includes(ele?.user_role) && ele?.member_id != loggedInuser?.member_id);\r\n this.lists.NON_REMOVABLE_OWNERS = this.uniqueByProp([...[loggedInuser], ...defaultOwner], 'member_id');\r\n this.setFormField('program_owners', this.lists.NON_REMOVABLE_OWNERS);\r\n }\r\n\r\n fetchOrganizationUsers(){\r\n this.programService.fetchAllOrgUser().subscribe({\r\n next:(res:any)=>{ \r\n console.log(\"users\",res)\r\n this.lists.ALL_USER = res;\r\n this.lists.DEFAULT_ASSIGNEES = res;\r\n this.lists.ASSIGNEES = res;\r\n this.lists.REVIEWERS = res;\r\n this.lists.DEFAULT_REVIEWERS = res;\r\n this.lists.OVERSEERS = res;\r\n this.lists.DEFAULT_OVERSEERS = res;\r\n },\r\n error:()=>{}\r\n })\r\n }\r\n\r\n fetchOrganizationGroup(){\r\n this.programService.fetchComplianceGroups().subscribe({\r\n next:(res:any)=>{\r\n this.lists.ALL_GROUP = res;\r\n this.lists.DEFAULT_ASSIGNEES_GROUP = res;\r\n this.lists.ASSIGNEES_GROUP = res;\r\n this.lists.REVIEWERS_GROUP = res;\r\n this.lists.DEFAULT_REVIEWERS_GROUP = res;\r\n this.lists.OVERSEERS_GROUP = res;\r\n this.lists.DEFAULT_OVERSEERS_GROUP = res;\r\n },\r\n error:(err:any)=>{}\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n\r\n fileUploadTracker = {\r\n description: [],\r\n objective: []\r\n }\r\n\r\n selectFile(type: any, files: any) {\r\n for (let i = 0; i <= files.length - 1; i++) {\r\n const name = files[i].file.name ?? '';\r\n this.uploadFiles(type, files[i].file);\r\n }\r\n }\r\n\r\n uploadFiles(type: 'DESCRIPTION' | 'OBJECTIVE', file: any) {\r\n console.log(\"file\", file);\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n const destinationString = this.authService.getOrganizationId().toString();\r\n const dummyFile = {\r\n file_url_path: `${file?.name}`,\r\n name: `${file?.name}`,\r\n uploading: true,\r\n org_file: `${file?.name}`\r\n }\r\n if (type === 'DESCRIPTION') {\r\n let description = this.controls?.description_attachment?.value ?? [];\r\n this.setFormField('program_description_attachments', [...description, ...[dummyFile]])\r\n this.programService.uploadFiles(formData, destinationString).subscribe({\r\n next: (res: any) => {\r\n description = this.controls?.description_attachment?.value ?? [];\r\n let descriptionIndex = description.findIndex((ele: any) => ele?.org_file === res?.org_file);\r\n description[descriptionIndex] = res\r\n this.setFormField('program_description_attachments', this.uniqueByProp(description, 'org_file'))\r\n },\r\n error: (err: any) => {\r\n description = this.controls?.description_attachment?.value ?? [];\r\n description = description.filter((ele: any) => ele?.org_file !== file?.name);\r\n this.setFormField('program_description_attachments', this.uniqueByProp(description, 'org_file'))\r\n }\r\n })\r\n } else if (type === 'OBJECTIVE') {\r\n let description = this.controls?.description_attachment?.value ?? [];\r\n this.setFormField('program_description_attachments', [...description, ...[dummyFile]])\r\n this.programService.uploadFiles(formData, destinationString).subscribe({\r\n next: (res: any) => {\r\n description = this.controls?.description_attachment?.value ?? [];\r\n let descriptionIndex = description.findIndex((ele: any) => ele?.org_file === res?.org_file);\r\n description[descriptionIndex] = res\r\n this.setFormField('program_description_attachments', this.uniqueByProp(description, 'org_file'))\r\n },\r\n error: (err: any) => {\r\n description = this.controls?.description_attachment?.value ?? [];\r\n description = description.filter((ele: any) => ele?.org_file !== file?.name);\r\n this.setFormField('program_description_attachments', this.uniqueByProp(description, 'org_file'))\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n deleteAttachment(type: 'DESCRIPTION' | 'OBJECTIVE', file: any) {\r\n if (type === 'DESCRIPTION') {\r\n let description = this.controls?.description_attachment?.value ?? [];\r\n if (description) {\r\n description = description.filter((ele: any) => ele?.org_file !== file?.org_file);\r\n this.setFormField('program_description_attachments', description)\r\n }\r\n } else if (type === 'OBJECTIVE') {\r\n let objective = this.controls?.objective_attachments?.value ?? [];\r\n if (objective) {\r\n objective = objective.filter((ele: any) => ele?.org_file !== file?.org_file);\r\n this.setFormField('program_description_attachments', objective)\r\n }\r\n }\r\n }\r\n\r\n selectAllRoleOwner(evt: any) {\r\n //need to fetch all the users for all the selected roles\r\n if(evt?.target?.checked){\r\n const roleIds = this.controls.program_roles?.value?.map((ele: any) => ele?._id);\r\n this.programService.fetchAllRoleUsers(roleIds).subscribe({\r\n next: (res: any) => {\r\n const user = this.uniqueByProp([...this.controls.program_owners?.value, ...res?.data], 'member_id')\r\n this.setFormField('program_owners', user);\r\n },\r\n error: (err: any) => { }\r\n })\r\n }\r\n \r\n }\r\n\r\n\r\n\r\n /**\r\n * #### Description\r\n * \r\n * Returns the unique array of object based on unique key\r\n * @param array \r\n * @param key \r\n * @returns \r\n */\r\n uniqueByProp(array: any, key: string) {\r\n return Array.from(\r\n array\r\n .reduce(\r\n (acc: any, item: any) => (\r\n item && item[key] && acc.set(item[key], item),\r\n acc\r\n ),\r\n new Map()\r\n )\r\n .values()\r\n );\r\n }\r\n setList(list: any[], ids: any[], key: string) {\r\n const data: any = [];\r\n\r\n ids.forEach((element: any) => {\r\n const index = list.findIndex((listElement: any) => listElement[key] == element);\r\n if (index !== -1) {\r\n data.push(list[index]);\r\n }\r\n });\r\n return data;\r\n }\r\n\r\n\r\n saveProgram(){\r\n this.loader = true;\r\n console.log(\"form fielf\",this.programForm.valid,this.programForm)\r\n const payload = this.programService.buildPayload(this.programForm,this);\r\n if(payload){\r\n this.programService.saveProgram(payload).subscribe({\r\n next:(res:any)=>{ console.log(res); this.loader = false; this.showSmiley = true; this.uiKitService.isSmileyOn = true;}\r\n })\r\n }\r\n }\r\n\r\n action(event: string) {\r\n switch (event) {\r\n case 'addMore':\r\n this.resetForm();\r\n this.populateOptionalFields();\r\n break;\r\n case 'viewPrograms':\r\n this.viewPrograms();\r\n break;\r\n }\r\n }\r\n\r\n viewPrograms(): void {\r\n this.disconnectRefresh.emit(false);\r\n let url: string;\r\n if (window.location.host.startsWith('localhost')) {\r\n url = 'http://' + window.location.host;\r\n } else {\r\n url = 'https://' + window.location.host;\r\n }\r\n\r\n if (window.location.host.startsWith('localhost')) {\r\n url += '/program-workroom?id=' + this.createdProgramId;\r\n } else {\r\n url += '/program/program-workroom?id=' + this.createdProgramId;\r\n }\r\n window.location.href = url;\r\n }\r\n resetForm(){\r\n this.uiKitService.isSmileyOn = false;\r\n this.scrollToBottom = false;\r\n this.showSmiley = false;\r\n this.loader = true;\r\n const DEFAULT_VALUES = {\r\n program_type:1,\r\n program_name:'',\r\n program_description:'',\r\n program_description_attachments:[],\r\n program_objective:'',\r\n program_objective_attachments:[],\r\n program_roles:[],\r\n all_user_in_role:false,\r\n program_owners:[],\r\n program_owners_group:[],\r\n program_approver:[],\r\n performance_calculation:[],\r\n recurring_frequency:false,\r\n lock_scope_change:false,\r\n framework:[],\r\n rc:[],\r\n program_assignee: [],\r\n program_assignee_group: [],\r\n program_default_assignee: [],\r\n program_default_assignee_group: [],\r\n assignee_completion_criteria: 'ANYONE',\r\n program_reviewer: [],\r\n program_reviewer_group: [],\r\n program_default_reviewer: [],\r\n program_default_reviewer_group: [],\r\n reviewer_completion_criteria: 'SEQUENTIAL',\r\n program_overseer: [],\r\n program_overseer_group: [],\r\n program_default_overseer: [],\r\n program_default_overseer_group: [],\r\n program_default_failed_overseer: [],\r\n program_default_failed_overseer_group: [],\r\n program_assessments: [],\r\n evidence_required: false,\r\n allow_any_file_key_evidence: false,\r\n custom_fields: []\r\n }\r\n this.programForm.reset();\r\n this.programForm.patchValue(DEFAULT_VALUES);\r\n this.editorData = {\r\n programObjective: '',\r\n programDescription: ''\r\n }\r\n this.loader = false;\r\n this.fetchRoles();\r\n this.refreshForm.emit(true);\r\n }\r\n\r\n\r\n closeSmiley(event: any) {\r\n this.showSmiley = false;\r\n this.uiKitService.isSmileyOn = false;\r\n this.closeWorkflow.emit({ evt: '', confirm: false });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-roles-list',\r\n templateUrl: './roles-list.component.html',\r\n styleUrls: ['./roles-list.component.less']\r\n})\r\nexport class RolesListComponent implements OnInit {\r\n animation = true;\r\n roleList = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n }\r\n\r\n clickRoleList() {\r\n this.roleList = !this.roleList;\r\n }\r\n\r\n}\r\n","import { Component, forwardRef, Provider } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nconst SELECTOR_VALUE_ACCESSOR: Provider = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TabSelector),\r\n multi: true,\r\n};\r\nexport interface TabSelectorInterface {\r\n label:string;\r\n value:any;\r\n}\r\n@Component({\r\n selector: 'tab-selector',\r\n templateUrl: './tab-selector.component.html',\r\n styleUrls: ['./tab-selector.component.less'],\r\n providers: [SELECTOR_VALUE_ACCESSOR],\r\n inputs:['disabled','selectedItem','displayArray'],\r\n})\r\n\r\nexport class TabSelector implements ControlValueAccessor {\r\n displayArray !: Array<TabSelectorInterface>;\r\n disabled !:boolean | any;\r\n selectedItem = 1\r\n onChanged = (value:any) => {};\r\n onTouched = () => {};\r\n\r\n writeValue(value: any): void {\r\n this.selectedItem = value ?? 1\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChanged = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n valueChanged(value:any){\r\n this.selectedItem = value;\r\n this.onChanged(this.selectedItem);\r\n this.onTouched();\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tick-mark',\r\n templateUrl: './tick-mark.component.html',\r\n styleUrls: ['./tick-mark.component.less']\r\n})\r\nexport class TickMarkComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'form-field',\r\n templateUrl: './form-field.component.html',\r\n styleUrls: ['./form-field.component.less','../../../forms.less'],\r\n inputs:['active','disabled','checked','img']\r\n})\r\nexport class FormFieldComponent implements OnInit {\r\nactive!:any;\r\ndisabled!:any;\r\nchecked!:any;\r\nimg !:any;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'file-pill',\r\n templateUrl: './file-pill.component.html',\r\n styleUrls: ['./file-pill.component.less','../../../forms.less']\r\n})\r\nexport class FilePillComponent implements OnInit {\r\n @Output() delete : EventEmitter<any> = new EventEmitter<any>();\r\n @Input() name !:string | any;\r\n @Input() extension !:string |any;\r\n @Input() disabled = false;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'input-with-pill',\r\n templateUrl: './input-with-pill.component.html',\r\n styleUrls: ['./input-with-pill.component.less','../../../forms.less']\r\n})\r\nexport class InputWithPillComponent implements OnInit {\r\n@Input() placeholder !:any;\r\n@Input() disabled= false;\r\n@Output() select = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output, Provider } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nconst SWITCH_VALUE_ACCESSOR: Provider = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SwitchComponent),\r\n multi: true,\r\n};\r\n@Component({\r\n selector: 'switch',\r\n templateUrl: './cs-switch.component.html',\r\n styleUrls: ['./cs-switch.component.less'],\r\n providers: [SWITCH_VALUE_ACCESSOR],\r\n inputs:['disabled','checked','tooltipMessage','value','position']\r\n})\r\nexport class SwitchComponent implements ControlValueAccessor {\r\n @Output() change = new EventEmitter();\r\n value !: any;\r\n tooltipMessage !:any;\r\n disabled !:boolean | any;\r\n checked !:boolean | any;\r\n position !: any;\r\n onChanged = (value:any) => {};\r\n onTouched = () => {};\r\n\r\n writeValue(value: boolean): void {\r\n this.checked = value ?? false\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChanged = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n }\r\n valueChanged(){\r\n \r\n this.checked = !this.checked;\r\n this.onChanged(this.checked);\r\n this.onTouched();\r\n // this.change.emit(this.checked)\r\n }\r\n}\r\n\r\n\r\n","import { Directive, HostListener,ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[InputTrim]'\n})\nexport class InputTrimDirective {\n\n @HostListener('blur', ['$event'])\n onKeyDown(event: any) {\n const input = event.target as HTMLInputElement;\n let trimmed = input.value.trim();\n input.value = trimmed;\n\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n\n@Component({\n selector: 'role-list',\n templateUrl: './role-list.component.html',\n styleUrls: ['./role-list.component.less']\n})\nexport class RoleListComponent implements OnInit {\n @Output() save = new EventEmitter();\n @Output() cancel = new EventEmitter();\n animation = true;\n\n\n constructor() { }\n\n ngOnInit(): void {\n this.animation = true;\n setTimeout(() => {\n this.animation = false;\n }, 300);\n }\n searchKey :any = '';\n //Used to disable items\n systemRolesIds : any = [];\n //used to check checkbox\n selectedIds :any = []; \n //complete object of selected items\n selectedRoles :any = [];\n //contains id's of all the expanded rows\n expandedRows :any = [];\n\n //list of all the available roles\n rolesList:any = [];\n\n // only used in select all function\n allListIds = [];\n//isAllItems\n allSelected = false;\n @Input('list') set setList(value: any) {\n if(value && value?.length){\n this.rolesList = [...value];\n this.setSystemRole(this.rolesList);\n this.allListIds = this.rolesList.map((ele:any) => ele?._id);\n this.setAllSelectedStatus();\n }\n \n}\n\n@Input('selected') set selectedRolesVal(value:any){\n this.selectedRoles = this.uniqueByProp([...this.selectedRoles,...value],'_id');\n this.selectedIds = this.selectedRoles.map((ele:any) => ele?._id);\n this.setAllSelectedStatus();\n} \n\n/**\n * #### Description\n * \n * Expands or collapse the row\n * @param type \n * @param [id] \n */\nexpandOrCollapse(type:'EXPAND' | 'COLLAPSE'|'COLLAPSE_ALL',id?:any){\n switch(type){\n case 'COLLAPSE':{ this.expandedRows = this.expandedRows.filter((ele:any) => ele !== id); break}\n case 'EXPAND':{this.expandedRows = Array.from(new Set<any[]>([...this.expandedRows,...[id]])); break}\n case 'COLLAPSE_ALL' :{this.expandedRows = []; break}\n }\n}\n\n\nselectAll(evt:any){\n if(evt?.target?.checked === true){\n this.selectedRoles = this.rolesList;\n this.selectedIds = this.rolesList.map((ele:any) => ele?._id);\n\n }else {\n this.selectedRoles = [];\n this.selectedIds = [];\n this.setSystemRole(this.rolesList);\n }\n this.setAllSelectedStatus();\n}\n\nsetAllSelectedStatus(){\n this.allSelected = this.allListIds.sort().toString() === this.selectedIds.sort()?.toString();\n}\n/**\n * #### Description\n * \n * Sets system role for admins and key admins\n * @param roles \n */\nsetSystemRole(roles:any){\n const systemRoles = roles.filter((ele:any) => ele?.roleType === \"system role\");\n this.systemRolesIds = Array.from(new Set<any[]>([...this.systemRolesIds ,...systemRoles.map((ele:any) => ele?._id)]));\n this.selectedIds = Array.from(new Set<any[]>([...this.selectedIds ,...this.systemRolesIds])); \n this.selectedRoles = this.uniqueByProp([...systemRoles,...this.selectedRoles],'_id')\n }\n\n /**\n * #### Description\n * Selects item or deselect a itme\n * @param evt \n * @param payload \n */\n selectItem(evt:any,payload:any){\n evt?.target?.checked === true ? this.manipulateSelectedItems('ADD',payload) : this.manipulateSelectedItems('DELETE',payload)\n }\n\n /**\n * #### Description\n * \n * Manipulates selected items in role list\n * @param action :'ADD' | 'DELETE'\n * @param payload \n */\n manipulateSelectedItems(action :'ADD' | 'DELETE', payload:any){\n if(action === 'ADD'){\n this.selectedRoles = this.uniqueByProp([...this.selectedRoles ,...[payload]],'_id');\n this.selectedIds = this.selectedRoles.map((ele:any) => ele?._id)\n }else if(action === 'DELETE'){\n let index = this.selectedRoles.findIndex((ele :any) => ele?._id === payload?._id);\n if(index > -1){\n this.selectedRoles = this.selectedRoles.filter((ele :any) => ele?._id !== payload?._id);\n this.selectedIds = this.selectedIds.filter((ele:any)=> ele !== payload?._id)\n }\n }\n this.setAllSelectedStatus();\n }\n\n\n saveList(){\n this.save.emit(this.selectedRoles);\n }\n closeList(){\n this.cancel.emit();\n }\n\n /**\n * #### Description\n * \n * Returns the unique array of object based on unique key\n * @param array \n * @param key \n * @returns \n */\n uniqueByProp(array:any,key:string){\n return Array.from(\n array\n .reduce(\n (acc:any, item:any) => (\n item && item[key] && acc.set(item[key], item),\n acc\n ),\n new Map()\n )\n .values()\n );\n }\n}\n ","\n\nimport { Component, forwardRef, Provider } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst CHECKBOX_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n};\n\n@Component({\n selector: 'vui-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.less'],\n providers: [CHECKBOX_VALUE_ACCESSOR],\n inputs:['disabled','checked','indeterminateEnabled'],\n\n})\nexport class CheckboxComponent implements ControlValueAccessor{\n disabled !:boolean | any;\n checked !:boolean | any;\n indeterminateEnabled !:boolean | any;\n onChanged = (value:any) => {};\n onTouched = () => {};\n\n writeValue(value: boolean): void {\n this.checked = value ?? false\n }\n registerOnChange(fn: any): void {\n this.onChanged = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n valueChanged(){\n \n this.checked = !this.checked;\n this.onChanged(this.checked);\n this.onTouched();\n }\n}\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vui-pagination',\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./pagination.component.less']\r\n})\r\nexport class PaginationComponent implements OnChanges {\r\n currPage = 1;\r\n @Input() from: number = 1;\r\n @Input() to: number = 30;\r\n @Input() total: any = 100;\r\n @Input() showPageDetail: boolean = true\r\n @Input() totalPage: number = 15;\r\n @Input('currentPage') set setPage(page: any) {\r\n this.currPage = page;\r\n this.displayArrayUpdate(page);\r\n }\r\n @Input() pageInSingleView: number = 5;\r\n @Output() pageChanged: EventEmitter<number> = new EventEmitter<number>()\r\n public displayArray: Array<number> = []\r\n enterPageNo!: number | any;\r\n enterPressed = false;\r\n isInvalidInput: boolean = false;\r\n\r\n constructor() { }\r\n\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n console.log(\"change\", changes)\r\n this.displayArrayUpdate(this.currPage);\r\n this.startArray();\r\n }\r\n\r\n //Function responsible to generate the array to display the pagination at the beginning\r\n startArray() {\r\n this.displayArray = [];\r\n if (this.totalPage <= this.pageInSingleView) {\r\n for (let i = 1; i <= this.totalPage; ++i) {\r\n this.displayArray.push(i);\r\n }\r\n } else if (this.pageInSingleView < this.totalPage) {\r\n for (let i = 1; i <= this.pageInSingleView; ++i) {\r\n this.displayArray.push(i);\r\n }\r\n }\r\n }\r\n\r\n //Function responsible for update the current page while clicking prev or next button\r\n currentIndexUpdate(value: number) {\r\n this.currPage += value\r\n if (this.currPage <= this.totalPage && this.currPage > this.pageInSingleView - Math.floor(this.pageInSingleView / 2) && this.totalPage > this.pageInSingleView) {\r\n this.displayArrayUpdate(this.currPage)\r\n } else if (this.currPage <= this.pageInSingleView) {\r\n this.displayArray = [];\r\n this.startArray()\r\n }\r\n this.pageChanged.emit(this.currPage);\r\n this.enterPageNo=null;\r\n this.enterPressed = false;\r\n \r\n }\r\n\r\n //Function responsible for updating the current page while clicking on any page number\r\n currentIndexAssign(value: number) {\r\n this.currPage = value;\r\n if (this.currPage <= this.totalPage && this.currPage > this.pageInSingleView - Math.floor(this.pageInSingleView / 2) && this.totalPage > this.pageInSingleView) {\r\n this.displayArrayUpdate(this.currPage)\r\n } else if (this.currPage <= this.pageInSingleView) {\r\n this.displayArray = [];\r\n this.startArray()\r\n }\r\n this.pageChanged.emit(this.currPage);\r\n this.enterPageNo=null;\r\n this.enterPressed = false;\r\n }\r\n\r\n\r\n //Number validation check\r\n validateNumber(e: any) {\r\n const pattern = /^-?(0|[1-9]\\d*)?$/;\r\n return pattern.test(e);\r\n }\r\n\r\n //Function responsible for updating the current page while entering the page number\r\n onEnterPress(event: any) {\r\n if (event.key.toLowerCase() === 'enter') {\r\n this.enterPressed = true;\r\n if (this.enterPageNo <= this.totalPage && this.enterPageNo > 0 && this.enterPageNo && this.validateNumber(this.enterPageNo)) {\r\n this.currPage = this.enterPageNo;\r\n if (this.currPage <= this.totalPage && this.currPage > this.pageInSingleView - Math.floor(this.pageInSingleView / 2) && this.totalPage > this.pageInSingleView) {\r\n this.displayArrayUpdate(this.currPage);\r\n } else if (this.currPage <= this.pageInSingleView) {\r\n this.displayArray = [];\r\n this.startArray();\r\n\r\n }\r\n this.pageChanged.emit(this.currPage);\r\n }\r\n }\r\n }\r\n\r\n //Function responsible for manipulating the displayArray\r\n displayArrayUpdate(index: any) {\r\n if (this.currPage > this.pageInSingleView - Math.floor(this.pageInSingleView / 2) && this.currPage <= this.totalPage - Math.floor(this.pageInSingleView / 2) && this.totalPage > this.pageInSingleView) {\r\n if (this.pageInSingleView % 2 != 0) {\r\n let appendElement = this.pageInSingleView / 2;\r\n appendElement = Math.floor(appendElement);\r\n let startIndex = this.currPage - appendElement;\r\n let endIndex = this.currPage + appendElement;\r\n\r\n this.displayArray = [];\r\n for (let i = startIndex; i <= endIndex; ++i) {\r\n this.displayArray.push(i);\r\n }\r\n } else if (this.pageInSingleView % 2 === 0) {\r\n let appendElement = this.pageInSingleView / 2;\r\n let startIndex = this.currPage - appendElement;\r\n let endIndex = this.currPage + appendElement - 1;\r\n this.displayArray = [];\r\n for (let i = startIndex; i <= endIndex; ++i) {\r\n this.displayArray.push(i);\r\n }\r\n }\r\n } else if (this.currPage > this.totalPage - Math.floor(this.pageInSingleView / 2)) {\r\n this.displayArray = [];\r\n for (let i = this.totalPage - this.pageInSingleView + 1; i <= this.totalPage; ++i) {\r\n this.displayArray.push(i);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PaginationComponent } from './pagination/pagination.component';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PaginationComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n PaginationComponent\r\n ]\r\n})\r\nexport class PaginationModule { }\r\n","import { Component, Input, OnInit, Output, EventEmitter, OnChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vui-floating-bar',\r\n templateUrl: './floating-bar.component.html',\r\n styleUrls: ['./floating-bar.component.less'],\r\n})\r\nexport class VuiFloatingBarComponent implements OnInit, OnChanges {\r\n @Input() selectedData: any;\r\n @Input() displayElementKey = '';\r\n @Input() elementId: any = '';\r\n @Input() singularText = '';\r\n @Input() pluralText = '';\r\n @Input() showNextButton = true;\r\n @Input() showFrequencyText = false;\r\n @Input() showWorkflow = false;\r\n @Input() workflowText = '';\r\n @Input() currentFrequency = '';\r\n @Input() isDisabled = false;\r\n @Input() workflowList = ['SEQUENTIAL', 'ANY REVIEWER CAN MARK THIS AS REVIEWED'];\r\n @Input() selectedWorkflow: any;\r\n @Input() workflowPlaceHolder: any;\r\n @Input() mode: string = 'CREATE';\r\n\r\n @Input() nonRemovableUsersList: any = [];\r\n @Input() removePosition: any;\r\n @Output() closeEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() deleteEvent: EventEmitter<number> = new EventEmitter();\r\n @Output() closeList: EventEmitter<any> = new EventEmitter();\r\n @Output() workflowTypeChanged: EventEmitter<any> = new EventEmitter();\r\n constructor() {\r\n this.selectedData = [];\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n next() {\r\n this.closeEvent.emit(this.selectedData);\r\n }\r\n\r\n deleteSelected(index: number) {\r\n this.deleteEvent.emit(index);\r\n }\r\n close() {\r\n this.closeList.emit();\r\n\r\n }\r\n selectedWorkflowType(event: any) {\r\n // debugger\r\n }\r\n\r\n selectedWorkflowChange(event: any) {\r\n console.log(\"event ==>\", event);\r\n this.workflowTypeChanged.emit(event);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'search'\n})\nexport class SearchPipe implements PipeTransform {\n\n transform(value: any, ...args: any[]): any {\n const key = args[1];\n if(value && value?.length){\n const searchTerm = args[0]?.toLowerCase()?.trim();\n return value.filter((ele:any) => {return ele[key].toLowerCase().includes(searchTerm.toLowerCase()) || ele[key].toString().toLowerCase().includes(searchTerm)});\n }else{\n return [];\n }\n \n }\n\n}\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-no-data',\r\n templateUrl: './no-data.component.html',\r\n styleUrls: ['./no-data.component.less'],\r\n})\r\nexport class NoDataComponent implements OnInit {\r\n @Input() action!: object;\r\n @Input() secondaryAction!: object; //button action\r\n @Input() noDataImage!: string;\r\n @Input() noDataText!: string;\r\n @Input() noDataButton!: string | boolean;\r\n @Input() secondaryButton!: string | boolean; //button text\r\n @Input() noDataSecButton!: string | boolean;\r\n @Input() altText!: string;\r\n @Output() buttonAction = new EventEmitter<object>();\r\n @Output() secondaryActionButton = new EventEmitter<object>();\r\n @Input() smallButton!: boolean;\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n\r\n actionEmitter(button: object) {\r\n this.buttonAction.emit(button);\r\n }\r\n\r\n secondaryActionEmitter(button: object) {\r\n this.secondaryActionButton.emit(button);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NoDataComponent } from './no-data.component';\r\n\r\n@NgModule({\r\n declarations: [NoDataComponent],\r\n imports: [CommonModule],\r\n exports: [NoDataComponent],\r\n})\r\nexport class NoDataModule {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'user-group-list',\r\n templateUrl: './user-group-list.component.html',\r\n styleUrls: ['./user-group-list.component.less']\r\n})\r\nexport class UserGroupListComponent implements OnInit {\r\n\r\n @Output() save = new EventEmitter();\r\n @Output() cancel = new EventEmitter();\r\n @Input() groupEnabled !: false;\r\n @Input() panelTitle ='Select User(s)';\r\n @Input() singleSelect = false;\r\n @Input() fieldType =''\r\n searchKey = '';\r\n\r\n usersList: any = [];\r\n groupsList: any = [];\r\n\r\n @Input() userListInfo !: any;\r\n @Input() groupListInfo !: any;\r\n\r\n @Output() fetchUserData = new EventEmitter();\r\n\r\n @Input() nonRemovableUserIds: any = [];\r\n selectedUsers: any = [];\r\n selectedUserIds: any = [];\r\n allUsersIds: any = [];\r\n allUserSelected = false;\r\n allUserSelectedDisabled = false;\r\n\r\n\r\n @Input() nonRemovableGroupIds: any = [];\r\n selectedGroups: any = [];\r\n selectedGroupIds: any = [];\r\n allGroupsIds: any = [];\r\n allGroupSelected = false;\r\n allGroupSelectedDisabled = false;\r\n\r\n userCurrentPage = 1;\r\n groupCurrentPage = 1;\r\n\r\n @Input('userlist') set setUserList(value: any) {\r\n if (value && value?.length) {\r\n this.usersList = [...value];\r\n this.allUsersIds = this.usersList.map((ele: any) => ele?.member_id);\r\n this.allUserSelectedStatus();\r\n this.setUserListInit();\r\n }\r\n }\r\n\r\n\r\n @Input('selectedUsers') set setSelectedUser(value: any) {\r\n this.selectedUsers = this.uniqueByProp([...this.selectedUsers, ...value], 'member_id');\r\n this.selectedUserIds = this.selectedUsers.map((ele: any) => ele?.member_id);\r\n this.allUserSelectedStatus();\r\n this.setUserListInit();\r\n }\r\n\r\n\r\n setUserListInit() {\r\n if (this.userCurrentPage === 1) {\r\n const selected = this.selectedUsers;\r\n const otherUser = this.usersList.filter((ele: any) => !this.selectedUserIds.includes(ele?.member_id));\r\n console.log(\"fsfsfsf\", selected, otherUser)\r\n this.usersList = this.uniqueByProp([...selected?.sort(), ...otherUser?.sort()], 'member_id')\r\n }\r\n }\r\n allUserSelectedStatus() {\r\n this.allUserSelected = this.allUsersIds.sort().toString() === this.selectedUserIds.sort()?.toString();\r\n this.allUserSelectedDisabled = (this.allUsersIds.sort().toString() === this.selectedUserIds.sort()?.toString() ) && this.allUsersIds.sort().toString() === this.nonRemovableUserIds.sort()?.toString();\r\n }\r\n\r\n \r\n @Input('groupList') set setGroupList(value: any) {\r\n if (value && value?.length) {\r\n this.groupsList = [...value];\r\n this.allGroupsIds = this.groupsList.map((ele: any) => ele?.group_id);\r\n this.allGroupSelectedStatus();\r\n this.setGroupListInit();\r\n }\r\n }\r\n\r\n\r\n @Input('selectedGroups') set setSelectedGroup(value: any) {\r\n this.selectedGroups = this.uniqueByProp([...this.selectedGroups, ...value], 'group_id');\r\n this.selectedGroupIds = this.selectedGroups.map((ele: any) => ele?.group_id);\r\n this.allGroupSelectedStatus();\r\n this.setGroupListInit();\r\n }\r\n\r\n setGroupListInit() {\r\n if (this.userCurrentPage === 1) {\r\n const selected = this.selectedGroups;\r\n const otherGroup = this.groupsList.filter((ele: any) => !this.selectedGroupIds.includes(ele?.group_id));\r\n console.log(\"fsfsfsf\", selected, otherGroup)\r\n this.groupsList = this.uniqueByProp([...selected?.sort(), ...otherGroup?.sort()], 'group_id')\r\n }\r\n }\r\n allGroupSelectedStatus() {\r\n this.allGroupSelected = this.allGroupsIds?.sort()?.toString() === this.selectedGroupIds?.sort()?.toString();\r\n this.allGroupSelectedDisabled = (this.allGroupsIds.sort().toString() === this.selectedGroupIds.sort()?.toString() ) && this.allGroupsIds.sort().toString() === this.nonRemovableGroupIds.sort()?.toString();\r\n }\r\n\r\n\r\n userPageChange(page: any) {\r\n this.userCurrentPage = page;\r\n this.fetchUserData.emit({ page, searchKey: this.searchKey });\r\n }\r\n\r\n /**\r\n * #### Description\r\n * Selects item or deselect a itme\r\n * @param evt \r\n * @param payload \r\n */\r\n selectItem(evt: any, payload: any) {\r\n console.log(\"from sel\",evt)\r\n evt?.target?.checked === true ? this.manipulateSelectedUser('ADD', payload) : this.manipulateSelectedUser('DELETE', payload)\r\n }\r\n\r\n selectItemRadio(evt:any,payload:any){\r\n if(evt?.target?.checked){\r\n this.selectedUsers = [];\r\n this.manipulateSelectedUser('ADD', payload)\r\n }\r\n }\r\n\r\n /**\r\n * #### Description\r\n * \r\n * Manipulates selected items in role list\r\n * @param action :'ADD' | 'DELETE'\r\n * @param payload \r\n */\r\n manipulateSelectedUser(action: 'ADD' | 'DELETE', payload: any) {\r\n if (action === 'ADD') {\r\n this.selectedUsers = this.uniqueByProp([...this.selectedUsers, ...[payload]], 'member_id');\r\n this.selectedUserIds = this.selectedUsers.map((ele: any) => ele?.member_id)\r\n } else if (action === 'DELETE') {\r\n let index = this.selectedUsers.findIndex((ele: any) => ele?.member_id === payload?.member_id);\r\n if (index > -1) {\r\n this.selectedUsers = this.selectedUsers.filter((ele: any) => ele?.member_id !== payload?.member_id);\r\n this.selectedUserIds = this.selectedUserIds.filter((ele: any) => ele !== payload?.member_id)\r\n }\r\n }\r\n this.allUserSelectedStatus();\r\n }\r\n selectAllUser(evt:any){\r\n if(evt?.target?.checked === true){\r\n this.selectedUsers = this.usersList;\r\n this.selectedUserIds = this.usersList.map((ele:any) => ele?.member_id);\r\n \r\n }else {\r\n this.selectedUsers = this.usersList.filter((ele:any) => this.nonRemovableUserIds.includes(ele?.member_id));\r\n this.selectedUserIds = this.selectedUsers.map((ele:any) => ele?.member_id);\r\n }\r\n this.allUserSelectedStatus();\r\n }\r\n\r\n /**\r\n * #### Description\r\n * Selects item or deselect a itme\r\n * @param evt \r\n * @param payload \r\n */\r\n selectGroup(evt: any, payload: any) {\r\n evt?.target?.checked === true ? this.manipulateSelectedGroup('ADD', payload) : this.manipulateSelectedGroup('DELETE', payload)\r\n }\r\n\r\n /**\r\n * #### Description\r\n * \r\n * Manipulates selected items in role list\r\n * @param action :'ADD' | 'DELETE'\r\n * @param payload \r\n */\r\n manipulateSelectedGroup(action: 'ADD' | 'DELETE', payload: any) {\r\n if (action === 'ADD') {\r\n this.selectedGroups = this.uniqueByProp([...this.selectedGroups, ...[payload]], 'group_id');\r\n this.selectedGroupIds = this.selectedGroups.map((ele: any) => ele?.group_id)\r\n } else if (action === 'DELETE') {\r\n let index = this.selectedGroups.findIndex((ele: any) => ele?.group_id === payload?.group_id);\r\n if (index > -1) {\r\n this.selectedGroups = this.selectedGroups.filter((ele: any) => ele?.group_id !== payload?.group_id);\r\n this.selectedGroupIds = this.selectedGroupIds.filter((ele: any) => ele !== payload?.group_id)\r\n }\r\n }\r\n this.allGroupSelectedStatus();\r\n }\r\n selectAllGroup(evt:any){\r\n if(evt?.target?.checked === true){\r\n this.selectedGroups = this.groupsList;\r\n this.selectedGroupIds = this.groupsList.map((ele:any) => ele?.group_id);\r\n \r\n }else {\r\n this.selectedGroups = this.groupsList.filter((ele:any) => this.nonRemovableGroupIds.includes(ele?.group_id));\r\n this.selectedGroupIds = this.selectedGroups.map((ele:any) => ele?.group_id);\r\n }\r\n this.allGroupSelectedStatus();\r\n }\r\n\r\n\r\n\r\n animation = true;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n }\r\n currentTab = 'USER'\r\n switchTab(tab:string){\r\n this.currentTab = tab;\r\n this.searchKey = ''\r\n }\r\n\r\n saveList() {\r\n this.save.emit({ users: this.selectedUsers, groups: this.selectedGroups });\r\n }\r\n closeList() {\r\n this.cancel.emit();\r\n }\r\n\r\n //\r\n\r\n /**\r\n * #### Description\r\n * \r\n * Returns the unique array of object based on unique key\r\n * @param array \r\n * @param key \r\n * @returns \r\n */\r\n uniqueByProp(array: any, key: string) {\r\n return Array.from(\r\n array\r\n .reduce(\r\n (acc: any, item: any) => (\r\n item && item[key] && acc.set(item[key], item),\r\n acc\r\n ),\r\n new Map()\r\n )\r\n .values()\r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'listToId'\n})\nexport class ListToIdPipe implements PipeTransform {\n\n transform(value: any, arg:any): any {\n return value.map((ele:any) => ele[arg]);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { cloneDeep } from 'lodash';\n\n@Pipe({\n name: 'refDisconnect'\n})\nexport class RefDisconnectPipe implements PipeTransform {\n\n transform(value: any, ...args: any[]): any {\n return cloneDeep(value);\n }\n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { retry } from 'rxjs/operators';\r\nimport { Configurations } from '../../../configurations';\r\nimport { AuthService } from '../../../workflow-services/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AssessmentService {\r\n\r\n env !: any;\r\n constructor(private http: HttpClient, private authService: AuthService, @Optional() config?: Configurations) {\r\n if (config) {\r\n this.env = config.envConfig;\r\n\r\n }\r\n }\r\n\r\n getAssessmentQuestions(id:string){\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.get(this.env.assessmentEnpoint+'assessment/fetchQuestionsByAssessmentId&id='+id,{headers}).pipe(retry(2));\r\n }\r\n getAssessmentCategory(payload: any) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post(this.env.assessmentEnpoint + 'category/list&isCreateResponsibility=true', payload, {headers}).pipe(retry(2));\r\n }\r\n\r\n getAssessmentList(payload: any, id: string) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post<any>(this.env.assessmentEnpoint + 'assessment/selectAssessment&isCreateResponsibility=true&catid='+id, payload, {headers}).pipe(retry(2));\r\n }\r\n\r\n getAssessmentDetailsByID(id: string) {\r\n const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());\r\n return this.http.post<any>(this.env.assessmentEnpoint + 'assessment/getAssessmentById&id='+id, {}, {headers}).pipe(retry(2));\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { AuthService } from '../../../workflow-services/auth.service';\nimport { AssessmentService } from './assessment.service';\n\n\n@Component({\n selector: 'assessment-picker',\n templateUrl: './assessment-picker.component.html',\n styleUrls: ['./assessment-picker.component.less']\n})\nexport class AssessmentPickerComponent implements OnInit {\n animation = false;\n selectedData: any;\n subList = false;\n @Input() isEdit = false\n openedCategory: Array<number> = [];\n assessmentPayload = {\n search_title:\"\",\n page_no:\"1\",\n state:\"ACTIVE\",\n search_text: '',\n alphabet_filter: ''\n }\n\n dataPerPage = 0;\n\n assessmentCategory: any ={\n data: [],\n totalPage: 0,\n totalRecords: 0,\n start_value: 0,\n end_value: 0,\n currentPage: 0\n };\n isLoader = false\n\n\n @Input('selectedAssessment') set setSelected(value: any) {\n if (value && value?.length) {\n this.selectedAssessments = [...value];\n this.selectedAssessmentIds = this.selectedAssessmentIds.map((ele:any) => ele?.id)\n }\n }\n\n\n isDeleted = false;\n\n searchAssessments = '';\n previewQuestionData !: any;\n isPreview = false;\n @Input() selectedAssessmentData: any;\n\n @Output() onAssessmentSelect = new EventEmitter();\n\n @Output() cancelAssessment = new EventEmitter();\n\n constructor( \n private assessmentService: AssessmentService,\n private auth :AuthService\n ) { \n\n this.dataPerPage = 30;\n }\n\n\n ngOnChanges(changes: SimpleChanges): void {\n console.log(\"changes ====>\", changes, this.selectedAssessmentData);\n \n }\n\n ngOnInit(): void {\n this.animation = true;\n this.getAssessmentCategoryList();\n setTimeout(() => {\n this.animation = false;\n }, 300);\n }\n\n onAssessmentSelected(event: any) {\n this.selectedData = event;\n }\n\n preview(evt:any){\n this.assessmentService.getAssessmentQuestions(evt?.id).subscribe({\n next:(res:any)=>{\n console.log(\"res\",res);\n this.auth.previewPanel.next(true)\n this.isPreview = true;\n this.previewQuestionData = res;\n\n }\n }) \n }\n\n previewBack(){\n this.isPreview = false;\n this.previewQuestionData = {};\n this.auth.previewPanel.next(false)\n }\n\n /**\n * \n * @param index : Accept index of elementPosition\n * \n */\n showSubList(index: number, id: string) {\n if(this.openedCategory.includes(index)) {\n this.openedCategory = this.openedCategory.filter(ele => ele !== index);\n } else {\n this.openedCategory.push(index);\n this.getAssessmentList(index, id)\n }\n return this.openedCategory\n }\n\n // TODO: Pagination\n /**\n * \n * @param event : page number that has been selected\n */\n onPageSelection(event: number) {\n this.openedCategory = [];\n this.assessmentPayload.page_no = event.toString();\n this.getAssessmentCategoryList();\n }\n\n // TODO: Search\n /**\n * \n * @param search : search text\n */\n onAssessmentSearch(search: string) {\n this.openedCategory = [];\n this.assessmentPayload.page_no = \"1\";\n this.assessmentPayload.search_title = search;\n this.assessmentPayload.search_text = search;\n this.getAssessmentCategoryList();\n }\n\n // TODO: Filter by alphabet\n/**\n * \n * @param event : Assessment category filter of Alphabet\n */\n onAlphabetSelected(event: string) {\n this.openedCategory = [];\n this.assessmentPayload.page_no = \"1\";\n this.assessmentPayload.alphabet_filter = event;\n this.assessmentPayload.search_text = '';\n this.getAssessmentCategoryList();\n }\n\n // TODO: Call API method\n getAssessmentCategoryList() {\n this.isLoader = true;\n this.assessmentService.getAssessmentCategory(this.assessmentPayload).subscribe((res: any) => {\n this.assessmentCategory = res;\n this.isLoader = false;\n })\n }\n\n // TODO: Call Sub data API method\n\n /**\n * \n * @param id : Assessment category id\n */\n getAssessmentList(index: number, id: string) {\n const payload = {\n search_title:\"\",\n }\n this.assessmentService.getAssessmentList(payload, id).subscribe((res: Array<any>) => {\n this.assessmentCategory.data[index].assessmentData = [...new Set(res)];\n })\n }\n\n selectedAssessments:any = [];\n selectedAssessmentIds:any = [];\n\n\n\n /**\n * #### Description\n * Selects item or deselect a itme\n * @param evt \n * @param payload \n */\n selectAssessment(evt: any, payload: any) {\n evt?.target?.checked === true ? this.manipulateSelectedAssessment('ADD', payload) : this.manipulateSelectedAssessment('DELETE', payload)\n }\n\n /**\n * #### Description\n * \n * Manipulates selected items in role list\n * @param action :'ADD' | 'DELETE'\n * @param payload \n */\n manipulateSelectedAssessment(action: 'ADD' | 'DELETE', payload: any) {\n if (action === 'ADD') {\n this.selectedAssessments = this.uniqueByProp([...this.selectedAssessments, ...[payload]], 'id');\n this.selectedAssessmentIds = this.selectedAssessments.map((ele: any) => ele?.id)\n } else if (action === 'DELETE') {\n let index = this.selectedAssessments.findIndex((ele: any) => ele?.id === payload?.id);\n if (index > -1) {\n this.selectedAssessments = this.selectedAssessments.filter((ele: any) => ele?.id !== payload?.id);\n this.selectedAssessmentIds = this.selectedAssessmentIds.filter((ele: any) => ele !== payload?.id)\n }\n }\n // this.allGroupSelectedStatus();\n }\n\n\n // TODO: Display selected data in bottom floating bar with next enabled button having\n \n // TODO: Send data in payload of create Responsibility form\n\n save() {\n this.onAssessmentSelect.emit(this.selectedAssessments)\n }\n\n close() {\n this.cancelAssessment.emit();\n }\n\n /**\n * #### Description\n * \n * Returns the unique array of object based on unique key\n * @param array \n * @param key \n * @returns \n */\n uniqueByProp(array: any, key: string) {\n return Array.from(\n array\n .reduce(\n (acc: any, item: any) => (\n item && item[key] && acc.set(item[key], item),\n acc\n ),\n new Map()\n )\n .values()\n );\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'assessment-loader',\n templateUrl: './assessment-loader.component.html',\n styleUrls: ['./assessment-loader.component.less']\n})\nexport class AssessmentLoaderComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'assessment-sub-loader',\n templateUrl: './assessment-sub-loader.component.html',\n styleUrls: ['./assessment-sub-loader.component.less']\n})\nexport class AssessmentSubLoaderComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'pagination',\r\n templateUrl: './workflow-pagination.component.html',\r\n styleUrls: ['./workflow-pagination.component.less']\r\n})\r\nexport class Pagination implements OnInit {\r\n alphabetsArray!: any;\r\n @Input() activeAlphabet = '';\r\n @Input() pageCount!: number;\r\n @Input() start !:number;\r\n @Input() end !:number;\r\n @Input() total !:number;\r\n @Input() noFilter!: boolean;\r\n public pageArray: Array<number> = [];\r\n @Input() currentPage = 1;\r\n public enterPageNumber!: any;\r\n public isInvalidInput = false;\r\n\r\n @Output() selectedPage: EventEmitter<any> = new EventEmitter();\r\n @Output() selectedAlphabet: EventEmitter<any> = new EventEmitter();\r\n\r\n pageList!: any;\r\n constructor() {\r\n this.alphabetsArray = 'abcdefghijklmnopqrstuvwxyz'.split('');\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n alphabetChange(alphabet: string) {\r\n this.activeAlphabet = alphabet;\r\n this.selectedAlphabet.emit(alphabet);\r\n this.goToPageArrayGenerate(1, false)\r\n }\r\n\r\n ngOnChanges(event: SimpleChanges) {\r\n this.pageArray = [];\r\n if (this.pageCount > 0) {\r\n if (this.pageCount < 5) {\r\n for (let i = 1; i <= this.pageCount; i++) {\r\n this.pageArray.push(i);\r\n }\r\n return;\r\n }\r\n this.goToPageArrayGenerate(this.currentPage,false);\r\n }\r\n }\r\n\r\n\r\n increaseOrDecrease(value: number) {\r\n this.currentPage += value;\r\n if (this.currentPage > 3 && this.currentPage <= this.pageCount && this.pageArray[this.pageArray.length - 1] < this.pageCount) {\r\n if (value > 0) {\r\n this.pageArray.shift();\r\n this.pageArray.push(this.pageArray[this.pageArray.length - 1] + 1);\r\n }\r\n }\r\n\r\n if (this.currentPage > 2 && value < 0 && this.pageArray[0] > 1 && this.currentPage < this.pageCount - 2) {\r\n this.pageArray.pop();\r\n this.pageArray.unshift(this.pageArray[0] - 1);\r\n }\r\n this.selectedPage.emit(this.currentPage);\r\n }\r\n onEnterPress(event: any) {\r\n if (event.key.toLowerCase() === 'enter') {\r\n if (!this.enterPageNumber || this.enterPageNumber > this.pageCount || this.enterPageNumber < 1) {\r\n this.isInvalidInput = true;\r\n return;\r\n } else {\r\n this.isInvalidInput = false;\r\n this.goToPageArrayGenerate(this.enterPageNumber,true);\r\n }\r\n }\r\n }\r\n\r\n\r\n goToPageArrayGenerate(page: any,shouldEmit:boolean) {\r\n this.isInvalidInput = false;\r\n this.currentPage = page;\r\n this.pageArray = [];\r\n if (this.currentPage > 3 && this.currentPage < this.pageCount - 2) {\r\n for (let i = this.currentPage - 2; i < this.currentPage + 3; i++) {\r\n this.pageArray.push(i);\r\n }\r\n } else if (this.currentPage <= 3) {\r\n if (this.pageCount > 4) {\r\n this.pageArray = [1, 2, 3, 4, 5];\r\n } else {\r\n for (let i = 1; i <= this.pageCount; i++) {\r\n this.pageArray.push(i);\r\n }\r\n }\r\n } else if (this.currentPage > this.pageCount - 3) {\r\n for (let i = this.pageCount - 4; i < this.pageCount + 1; i++) {\r\n this.pageArray.push(i);\r\n }\r\n } else {\r\n for (let i = this.currentPage - 2; i < this.currentPage + 2; i++) {\r\n this.pageArray.push(i);\r\n }\r\n }\r\n\r\n if(shouldEmit){\r\n this.selectedPage.emit(this.currentPage);\r\n }\r\n \r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-define-framework-listing',\r\n templateUrl: './define-framework-listing.component.html',\r\n styleUrls: ['./define-framework-listing.component.less']\r\n})\r\nexport class DefineFrameworkListingComponent implements OnInit {\r\n animation = true;\r\n hideCategoryList = false;\r\n hideFrameworkList = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.animation = true;\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 300);\r\n }\r\n\r\n clickCategoryList() {\r\n this.hideCategoryList = !this.hideCategoryList;\r\n }\r\n\r\n clickFrameworkList() {\r\n this.hideFrameworkList = !this.hideFrameworkList;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TabSelector } from './tab-selector/tab-selector.component';\r\nimport { TickMarkComponent } from './tick-mark/tick-mark.component';\r\nimport { FormFieldComponent } from './form-field/form-field.component';\r\nimport { FilePillComponent } from './file-pill/file-pill.component';\r\nimport { TooltipModule } from '../../ui-kit/tooltip/tooltip.module';\r\nimport { InputWithPillComponent } from './input-with-pill/input-with-pill.component';\r\nimport { SwitchComponent } from './cs-switch/cs-switch.component';\r\nimport { InputTrimDirective } from './directives/input-trim.directive';\r\nimport { RoleListComponent } from './role-list/role-list.component';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { PaginationModule } from './pagination/pagination.module';\r\nimport { VuiFloatingBarComponent } from './floating-bar/floating-bar.component';\r\nimport { PopoverModule } from '../../ui-kit/popover/popover.module';\r\nimport { SearchPipe } from './pipes/search.pipe';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NoDataModule } from '../../ui-kit/no-data/no-data.module';\r\nimport { UserGroupListComponent } from './user-group-list/user-group-list.component';\r\nimport { ListToIdPipe } from './pipes/list-to-id.pipe';\r\nimport { RefDisconnectPipe } from './pipes/ref-disconnect.pipe';\r\nimport { FormgroupModule } from '../../ui-kit/formgroup/formgroup.module';\r\nimport { AssessmentPickerComponent } from './assessment-picker/assessment-picker.component';\r\nimport { AssessmentLoaderComponent } from './assessment-picker/assessment-loader/assessment-loader.component';\r\nimport { AssessmentSubLoaderComponent } from './assessment-picker/assessment-sub-loader/assessment-sub-loader.component';\r\nimport { Pagination } from './assessment-picker/workflow-pagination/workflow-pagination.component';\r\nimport { AssessmentPreviewModule } from '../../sharedComponents/assessment-preview/assessment-preview.module';\r\nimport { DefineFrameworkListingComponent } from './define-framework-listing/define-framework-listing.component';\r\n// import { AssessmentListModule } from './assessment-list/assessment-list.module';\r\n// import { AssessmentPreviewModule } from '../../sharedComponents/assessment-preview/assessment-preview.module';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TabSelector,\r\n TickMarkComponent,\r\n FormFieldComponent,\r\n FilePillComponent,\r\n InputWithPillComponent,\r\n SwitchComponent,\r\n InputTrimDirective,\r\n RoleListComponent,\r\n CheckboxComponent,\r\n VuiFloatingBarComponent,\r\n SearchPipe,\r\n UserGroupListComponent,\r\n ListToIdPipe,\r\n RefDisconnectPipe,\r\n AssessmentPickerComponent,\r\n AssessmentLoaderComponent,\r\n AssessmentSubLoaderComponent,\r\n Pagination,\r\n DefineFrameworkListingComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TooltipModule,\r\n PaginationModule,\r\n PopoverModule,\r\n FormsModule,\r\n NoDataModule,\r\n FormgroupModule,\r\n AssessmentPreviewModule\r\n // AssessmentListModule,\r\n \r\n ],\r\n exports:[\r\n TabSelector,\r\n TickMarkComponent,\r\n FormFieldComponent,\r\n FilePillComponent,\r\n InputWithPillComponent,\r\n SwitchComponent,\r\n InputTrimDirective,\r\n CheckboxComponent,\r\n RoleListComponent,\r\n PaginationModule,\r\n VuiFloatingBarComponent,\r\n UserGroupListComponent,\r\n ListToIdPipe,\r\n RefDisconnectPipe,\r\n AssessmentPickerComponent,\r\n Pagination,\r\n DefineFrameworkListingComponent\r\n // AssessmentListModule\r\n ]\r\n})\r\nexport class CreateProgramUiModule { }\r\n","import { HttpClientModule } from '@angular/common/http';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { WorkflowEngineContainerComponent } from './workflow-engine-container/workflow-engine-container.component';\r\nimport { WorkflowRiskComponent } from './workflow-risk/workflow-risk.component';\r\nimport { WorkflowComplianceComponent } from './workflow-compliance/workflow-compliance.component';\r\nimport { WorkflowPolicyComponent } from './workflow-policy/workflow-policy.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MoreOptionComponent } from './more-option/more-option.component';\r\nimport { Configurations } from './configurations';\r\nimport { OwnerListComponent } from './sharedComponents/owner-list/owner-list.component';\r\nimport { CategoryListComponent } from './sharedComponents/category-list/category-list.component';\r\nimport { FloatingBarComponent } from './sharedComponents/floating-bar/floating-bar.component';\r\nimport { FormgroupModule } from './formgroup/formgroup.module';\r\nimport { TooltipModule } from './ui-kit/tooltip/tooltip.module';\r\nimport { MarxEditorModule } from 'vcomply-editor';\r\nimport { ResponsibilityCentersListComponent } from './sharedComponents/responsibility-centers-list/responsibility-centers-list.component';\r\nimport { WorkflowPaginationComponent } from './workflow-pagination/workflow-pagination.component';\r\nimport { LineLoaderModule } from './ui-kit/line-loader/line-loader.module';\r\nimport { AddMultipleRiskComponent } from './add-multiple-risk/add-multiple-risk.component';\r\nimport { BulkViewComponent } from './sharedComponents/bulk-view/bulk-view.component';\r\nimport { CheckpointsComponent } from './sharedComponents/checkpoint/checkpoints/checkpoints.component';\r\nimport { ConfirmationAlertComponent } from './confirmation-alert/confirmation-alert.component';\r\nimport { CheckpointsQuestionsComponent } from './sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CheckpointsListComponent } from './sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component';\r\nimport { SelectModule } from './formgroup/select/select.module';\r\nimport { FrequencyContainerComponent } from './sharedComponents/frequency/frequency-container/frequency-container.component';\r\nimport { FrequencyDailyComponent } from './sharedComponents/frequency/frequency-daily/frequency-daily.component';\r\nimport { FrequencyWeeklyComponent } from './sharedComponents/frequency/frequency-weekly/frequency-weekly.component';\r\nimport { FrequencyMonthlyComponent } from './sharedComponents/frequency/frequency-monthly/frequency-monthly.component';\r\nimport { FrequencyQuarterlyComponent } from './sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component';\r\nimport { FrequencyBiannualComponent } from './sharedComponents/frequency/frequency-biannual/frequency-biannual.component';\r\nimport { FrequencyAnnualComponent } from './sharedComponents/frequency/frequency-annual/frequency-annual.component';\r\nimport { FrequencyOneTimeComponent } from './sharedComponents/frequency/frequency-one-time/frequency-one-time.component';\r\nimport { FrequencyRandomComponent } from './sharedComponents/frequency/frequency-random/frequency-random.component';\r\nimport { FrequencyOnCompletionOfComponent } from './sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component';\r\nimport { FrequencyOngoingComponent } from './sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component';\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { FrequencyTopComponent } from './sharedComponents/frequency/frequency-top/frequency-top.component';\r\nimport { FrequencyLifecycleComponent } from './sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component';\r\nimport { DpDatePickerModule } from 'ng2-date-picker';\r\nimport { FrequencyDueDateComponent } from './sharedComponents/frequency/frequency-due-date/frequency-due-date.component';\r\nimport { FrequencyCheckboxListComponent } from './sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component';\r\nimport { FrequencyRadioListComponent } from './sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component';\r\nimport { AddMultipleResponsibilityComponent } from './add-multiple-responsibility/add-multiple-responsibility.component';\r\nimport { BulkResponsibilityViewComponent } from './sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component';\r\nimport { NoDataModule } from './sharedComponents/no-data/no-data.module';\r\nimport { VLoaderModule } from './sharedComponents/v-loader/v-loader.module';\r\nimport { PopoverModule } from './ui-kit/popover/popover.module';\r\nimport { CheckpointsPolicyContainerComponent } from './sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component';\r\nimport { CheckpointsPolicyListComponent } from './sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component';\r\nimport { CheckpointsPolicyQuestionsComponent } from './sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component';\r\nimport { WorkflowSurveyFormComponent } from './workflow-survey-form/workflow-survey-form.component';\r\nimport { LogAnIssueComponent } from './log-an-issue/log-an-issue.component';\r\nimport { FilterPipe } from './sharedComponents/pipes/filterPipe';\r\nimport { SmileyDialogModule } from './ui-kit/smiley-dialog/smiley-dialog.module';\r\nimport { CheckboxListComponent } from './sharedComponents/checkbox-list/checkbox-list.component';\r\nimport { RadioListComponent } from './sharedComponents/radio-list/radio-list.component';\r\nimport { ListMapperPipe } from './pipes/list-mapper.pipe';\r\n\r\nimport { CreateDocumentsComponent } from './create-documents/create-documents.component';\r\nimport { SearchPipe } from './pipes/search.pipe';\r\nimport { UserFilterPipe } from './pipes/user-filter.pipe';\r\nimport { GroupUsersListComponent } from './sharedComponents/group-users-list/group-users-list.component';\r\nimport { CategoryMultiSelectComponent } from './sharedComponents/category-multiselect/category-multi-select.component';\r\nimport { FrameworkListComponent } from './sharedComponents/framework-list/framework-list.component';\r\nimport { ParentTableComponent } from './sharedComponents/framework-list/parent-table/parent-table.component';\r\nimport { UserRadioListComponent } from './sharedComponents/users-radio-list/users-radio-list.component';\r\nimport { DataTypePipe } from './pipes/data-type.pipe';\r\nimport { CheckpointFloatingBarComponent } from './sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component';\r\nimport { SnackBarModule } from './ui-kit/snack-bar/snack-bar.module';\r\nimport { RiskClassificationComponent } from './sharedComponents/risk-classification/risk-classification.component';\r\nimport { FormatAndEvidenceComponent } from './sharedComponents/format-and-evidence/format-and-evidence.component';\r\nimport { DragDropDirective } from './sharedComponents/directive/drag-drop.directive';\r\nimport { AutofocusDirective } from './sharedComponents/directive/autofocus.directive';\r\nimport { ReviewFrequencyComponent } from './sharedComponents/review-frequency/review-frequency.component';\r\nimport { ScrollInViewDirective } from './sharedComponents/directive/scroll-in-view.directive';\r\nimport { SmileyDialogInlineModule } from './ui-kit/smiley-dialog-inline/smiley-dialog-inline.module';\r\nimport { ClickOutsideModule } from './ui-kit/click-outside/click-outside.module';\r\nimport { ShortMergePipe } from './sharedComponents/pipes/short-merge.pipe';\r\nimport { SpaceBreakerPipe } from './pipes/space-breaker.pipe';\r\n\r\nimport { FormatHtmlPipe } from \"./ui-kit/format-html.pipe\";\r\nimport { WithinDataPipe } from './sharedComponents/pipes/within-data.pipe';\r\nimport { PopoverHoverModule } from './ui-kit/popover-hover/popover-hover.module';\r\nimport { ResponsibilityRiskSelectorComponent } from './sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component';\r\nimport { ConditionalFocusDirective } from './sharedComponents/directive/conditional-focus.directive';\r\nimport { ListLoaderComponent } from './sharedComponents/list-loader/list-loader.component';\r\nimport { ArrayFilterPipe } from './sharedComponents/pipes/array-filter.pipe';\r\nimport { AuditCategoryListComponent } from './sharedComponents/audit-category-list/audit-category-list.component';\r\nimport { DocumentSectionComponent } from './sharedComponents/document-section/document-section.component';\r\nimport { WorkflowAssessmentComponent } from './workflow-assessment/workflow-assessment.component';\r\nimport { ImportAnAssessmentComponent } from './workflow-assessment/import-an-assessment/import-an-assessment.component';\r\nimport { AssessmentListComponent } from './sharedComponents/assessment-list/assessment-list.component';\r\nimport { RadioListWithPaginationComponent } from './sharedComponents/radio-list-with-pagination/radio-list.component';\r\nimport { PaginationModule } from './ui-kit/pagination/pagination.module';\r\nimport { LinkTreatmentLoaderComponent } from './sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component';\r\nimport { AssessmentListLoaderComponent } from './sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component'\r\nimport { AssessmentListSubLoaderComponent } from './sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component';\r\nimport { AssessmentPreviewModule } from './sharedComponents/assessment-preview/assessment-preview.module';\r\nimport { CreateAssessmentModule } from './sharedComponents/assessment-editor/create-assessment.module';\r\nimport { ActionDialogModule } from './ui-kit/action-dialog/action-dialog.module';\r\nimport { UncategorizedFilterPipe } from './pipes/uncategorized-filter.pipe';\r\nimport { WorkflowProgramComponent } from './workflow-program/workflow-program.component';\r\nimport { RolesListComponent } from './sharedComponents/roles-list/roles-list.component';\r\nimport { CreateProgramUiModule } from './workflow-program/create-program-ui/create-program-ui.module';\r\n\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n WorkflowEngineContainerComponent,\r\n WorkflowRiskComponent,\r\n WorkflowComplianceComponent,\r\n WorkflowPolicyComponent,\r\n MoreOptionComponent,\r\n OwnerListComponent,\r\n UserRadioListComponent,\r\n CategoryListComponent,\r\n CategoryMultiSelectComponent,\r\n FloatingBarComponent,\r\n ResponsibilityCentersListComponent,\r\n WorkflowPaginationComponent,\r\n AddMultipleRiskComponent,\r\n BulkViewComponent,\r\n CheckpointsComponent,\r\n ConfirmationAlertComponent,\r\n CheckpointsQuestionsComponent,\r\n CheckpointsListComponent,\r\n ReviewFrequencyComponent,\r\n FrequencyContainerComponent,\r\n FrequencyDailyComponent,\r\n FrequencyWeeklyComponent,\r\n FrequencyMonthlyComponent,\r\n FrequencyQuarterlyComponent,\r\n FrequencyBiannualComponent,\r\n FrequencyAnnualComponent,\r\n FrequencyOneTimeComponent,\r\n FrequencyRandomComponent,\r\n FrequencyOnCompletionOfComponent,\r\n FrequencyOngoingComponent,\r\n FrequencyTopComponent,\r\n FrequencyLifecycleComponent,\r\n FrequencyDueDateComponent,\r\n FrequencyCheckboxListComponent,\r\n FrequencyRadioListComponent,\r\n GroupUsersListComponent,\r\n AddMultipleResponsibilityComponent,\r\n BulkResponsibilityViewComponent,\r\n CheckpointsPolicyContainerComponent,\r\n CheckpointsPolicyListComponent,\r\n CheckpointsPolicyQuestionsComponent,\r\n WorkflowSurveyFormComponent,\r\n LogAnIssueComponent,\r\n FilterPipe,\r\n CheckboxListComponent,\r\n RadioListComponent,\r\n ListMapperPipe,\r\n CreateDocumentsComponent,\r\n SearchPipe,\r\n UserFilterPipe,\r\n FrameworkListComponent,\r\n ParentTableComponent,\r\n DataTypePipe,\r\n CheckpointFloatingBarComponent,\r\n FormatAndEvidenceComponent,\r\n RiskClassificationComponent,\r\n DragDropDirective,\r\n AutofocusDirective,\r\n ScrollInViewDirective,\r\n ShortMergePipe,\r\n SpaceBreakerPipe,\r\n FormatHtmlPipe,\r\n WithinDataPipe,\r\n ResponsibilityRiskSelectorComponent,\r\n ConditionalFocusDirective,\r\n ListLoaderComponent,\r\n ArrayFilterPipe,\r\n ConditionalFocusDirective,\r\n AuditCategoryListComponent,\r\n DocumentSectionComponent,\r\n DocumentSectionComponent,\r\n WorkflowAssessmentComponent,\r\n ImportAnAssessmentComponent,\r\n AssessmentListComponent,\r\n RadioListWithPaginationComponent,\r\n LinkTreatmentLoaderComponent,\r\n AssessmentListLoaderComponent,\r\n AssessmentListSubLoaderComponent,\r\n UncategorizedFilterPipe,\r\n WorkflowProgramComponent,\r\n RolesListComponent,\r\n \r\n ],\r\n imports: [\r\n ReactiveFormsModule,\r\n CreateAssessmentModule,\r\n MarxEditorModule,\r\n CommonModule,\r\n FormgroupModule,\r\n TooltipModule,\r\n PopoverModule,\r\n LineLoaderModule,\r\n FormsModule,\r\n SelectModule,\r\n NgxMaterialTimepickerModule,\r\n DpDatePickerModule,\r\n NoDataModule,\r\n VLoaderModule,\r\n SmileyDialogModule,\r\n SnackBarModule,\r\n HttpClientModule,\r\n SmileyDialogInlineModule,\r\n ClickOutsideModule,\r\n PopoverHoverModule,\r\n PaginationModule,\r\n CreateAssessmentModule,\r\n ActionDialogModule,\r\n AssessmentPreviewModule,\r\n CreateProgramUiModule\r\n ],\r\n exports: [\r\n WorkflowEngineContainerComponent,\r\n ],\r\n})\r\nexport class VComplyWorkflowEngineModule {\r\n public static forRoot(environmentConfig: Configurations): ModuleWithProviders<VComplyWorkflowEngineModule> {\r\n\r\n return {\r\n ngModule: VComplyWorkflowEngineModule,\r\n providers: [\r\n { provide: Configurations, useValue: environmentConfig }\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of workflow-engine\r\n */\r\n\r\nexport * from './lib/workflow-engine.service';\r\n// export * from './lib/workflow-engine.component';\r\nexport * from './lib/workflow-engine.module';\r\nexport * from './lib/workflow-engine-container/workflow-engine-container.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {AddMultipleResponsibilityComponent as ɵbs} from './lib/add-multiple-responsibility/add-multiple-responsibility.component';\nexport {AddMultipleRiskComponent as ɵu} from './lib/add-multiple-risk/add-multiple-risk.component';\nexport {Configurations as ɵe} from './lib/configurations';\nexport {ConfirmationAlertComponent as ɵx} from './lib/confirmation-alert/confirmation-alert.component';\nexport {CreateDocumentsComponent as ɵcf} from './lib/create-documents/create-documents.component';\nexport {CsCheckboxIndeterminateComponent as ɵfm} from './lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component';\nexport {CsCheckboxComponent as ɵfg} from './lib/formgroup/cs-checkbox/cs-checkbox.component';\nexport {CsRadioGroupComponent as ɵfj} from './lib/formgroup/cs-radio-group/cs-radio-group.component';\nexport {CsRadioComponent as ɵfh} from './lib/formgroup/cs-radio/cs-radio.component';\nexport {CsSelectComponent as ɵfk} from './lib/formgroup/cs-select/cs-select.component';\nexport {CsSwitchComponent as ɵfi} from './lib/formgroup/cs-switch/cs-switch.component';\nexport {FormgroupModule as ɵff} from './lib/formgroup/formgroup.module';\nexport {PascalPipe as ɵfl} from './lib/formgroup/pipes/pascal.pipe';\nexport {CsOptionComponent as ɵhk} from './lib/formgroup/select/cs-option/cs-option.component';\nexport {CsSelectComponent as ɵhi} from './lib/formgroup/select/cs-select/cs-select.component';\nexport {SelectModule as ɵhh} from './lib/formgroup/select/select.module';\nexport {SelectService as ɵhj} from './lib/formgroup/select/select.service';\nexport {LogAnIssueComponent as ɵbz} from './lib/log-an-issue/log-an-issue.component';\nexport {MoreOptionComponent as ɵm} from './lib/more-option/more-option.component';\nexport {DataTypePipe as ɵck} from './lib/pipes/data-type.pipe';\nexport {ListMapperPipe as ɵce} from './lib/pipes/list-mapper.pipe';\nexport {SearchPipe as ɵcg} from './lib/pipes/search.pipe';\nexport {SpaceBreakerPipe as ɵcs} from './lib/pipes/space-breaker.pipe';\nexport {UncategorizedFilterPipe as ɵdk} from './lib/pipes/uncategorized-filter.pipe';\nexport {UserFilterPipe as ɵch} from './lib/pipes/user-filter.pipe';\nexport {AddLogicComponent as ɵek} from './lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component';\nexport {AddPageDetailsComponent as ɵdy} from './lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component';\nexport {AddResponseSetPopupComponent as ɵec} from './lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component';\nexport {AddSegmentPopupComponent as ɵeb} from './lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component';\nexport {AssessmentSettingsComponent as ɵdz} from './lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component';\nexport {BuildModule as ɵfp} from './lib/sharedComponents/assessment-editor/components/build/build.module';\nexport {CheckboxComponent as ɵfr} from './lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component';\nexport {ChoiceSettingsPanelComponent as ɵgb} from './lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component';\nexport {DateTimeComponent as ɵga} from './lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component';\nexport {DropdownComponent as ɵfv} from './lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component';\nexport {ImageChoiceComponent as ɵfs} from './lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component';\nexport {MatrixDropdownComponent as ɵfu} from './lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component';\nexport {MatrixRatingScaleComponent as ɵfw} from './lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component';\nexport {MultipleChoiceComponent as ɵfq} from './lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component';\nexport {MultipleTextboxComponent as ɵfz} from './lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component';\nexport {RankingComponent as ɵfx} from './lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component';\nexport {SliderComponent as ɵfy} from './lib/sharedComponents/assessment-editor/components/build/slider/slider.component';\nexport {StarRatingComponent as ɵft} from './lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component';\nexport {ThankYouComponent as ɵgd} from './lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component';\nexport {WeightageSelectorComponent as ɵge} from './lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component';\nexport {WelcomeComponent as ɵgc} from './lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component';\nexport {EditorWrapperComponent as ɵed} from './lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component';\nexport {LogicCheckboxComponent as ɵia} from './lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component';\nexport {LogicCommentBoxComponent as ɵie} from './lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component';\nexport {LogicDateTimeComponent as ɵij} from './lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component';\nexport {LogicDropdownComponent as ɵif} from './lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component';\nexport {LogicImageChoiceComponent as ɵib} from './lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component';\nexport {LogicMultipleChoiceComponent as ɵhz} from './lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component';\nexport {LogicMultipleTextboxComponent as ɵii} from './lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component';\nexport {LogicQuestionsModule as ɵhy} from './lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module';\nexport {LogicRankingComponent as ɵig} from './lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component';\nexport {LogicSingleTextboxComponent as ɵid} from './lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component';\nexport {LogicSliderComponent as ɵih} from './lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component';\nexport {LogicStarRatingComponent as ɵic} from './lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component';\nexport {LogicComponent as ɵej} from './lib/sharedComponents/assessment-editor/components/logic/logic.component';\nexport {MoveComponent as ɵei} from './lib/sharedComponents/assessment-editor/components/move/move.component';\nexport {PageHeaderComponent as ɵes} from './lib/sharedComponents/assessment-editor/components/page-header/page-header.component';\nexport {CurrentPageQuestionPipe as ɵeu} from './lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe';\nexport {ErrorMessagePipe as ɵem} from './lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe';\nexport {FormatterPipe as ɵep} from './lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe';\nexport {QuestionFilterPipe as ɵen} from './lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe';\nexport {QuestionPageFilterPipe as ɵev} from './lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe';\nexport {QuestionParserPipe as ɵeo} from './lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe';\nexport {TypeOfPipe as ɵew} from './lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe';\nexport {PreviewCheckboxComponent as ɵgs} from './lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component';\nexport {PreviewCommentBoxComponent as ɵgw} from './lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component';\nexport {PreviewDateTimeComponent as ɵhd} from './lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component';\nexport {PreviewDropdownComponent as ɵgy} from './lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component';\nexport {PreviewFileUploadComponent as ɵhe} from './lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component';\nexport {PreviewImageChoiceComponent as ɵgt} from './lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component';\nexport {PreviewMatrixDropdownComponent as ɵgx} from './lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component';\nexport {PreviewMatrixRatingScaleComponent as ɵgz} from './lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component';\nexport {PreviewMultipleChoiceComponent as ɵgr} from './lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component';\nexport {PreviewMultipleTextboxComponent as ɵhc} from './lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component';\nexport {PreviewRankingComponent as ɵha} from './lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component';\nexport {PreviewSingleTextboxComponent as ɵgv} from './lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component';\nexport {PreviewSliderComponent as ɵhb} from './lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component';\nexport {PreviewStarRatingComponent as ɵgu} from './lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component';\nexport {PreviewWrapperComponent as ɵgq} from './lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component';\nexport {PreviewModule as ɵgp} from './lib/sharedComponents/assessment-editor/components/preview/preview.module';\nexport {ThankYouComponent as ɵhg} from './lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component';\nexport {WelcomeComponent as ɵhf} from './lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component';\nexport {QuestionTypeComponent as ɵdx} from './lib/sharedComponents/assessment-editor/components/question-type/question-type.component';\nexport {QuickSettingsComponent as ɵef} from './lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component';\nexport {ResponseSelectorComponent as ɵeh} from './lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component';\nexport {SettingAnonymousComponent as ɵeq} from './lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component';\nexport {SettingResponseSegmentComponent as ɵer} from './lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component';\nexport {SingleLineEditorComponent as ɵeg} from './lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component';\nexport {ToolkitComponent as ɵel} from './lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component';\nexport {WelcomeThankyouComponent as ɵet} from './lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component';\nexport {CreateAssessmentContainerComponent as ɵdp} from './lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component';\nexport {CreateAssessmentModule as ɵdo} from './lib/sharedComponents/assessment-editor/create-assessment.module';\nexport {EditorService as ɵdq} from './lib/sharedComponents/assessment-editor/services/editor.service';\nexport {ResultCriteriaService as ɵea} from './lib/sharedComponents/assessment-editor/services/result-criteria.service';\nexport {ValidatorService as ɵee} from './lib/sharedComponents/assessment-editor/services/validator.service';\nexport {AssessmentListLoaderComponent as ɵdi} from './lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component';\nexport {AssessmentListSubLoaderComponent as ɵdj} from './lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component';\nexport {AssessmentListComponent as ɵde} from './lib/sharedComponents/assessment-list/assessment-list.component';\nexport {AssessmentService as ɵdf} from './lib/sharedComponents/assessment-list/service/assessment.service';\nexport {AssessmentPreviewModule as ɵhl} from './lib/sharedComponents/assessment-preview/assessment-preview.module';\nexport {CheckboxQuestionComponent as ɵhm} from './lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component';\nexport {DateTimeComponent as ɵhn} from './lib/sharedComponents/assessment-preview/date-time/date-time.component';\nexport {DeviceComponent as ɵho} from './lib/sharedComponents/assessment-preview/device/device.component';\nexport {FileUploadComponent as ɵhp} from './lib/sharedComponents/assessment-preview/file-upload/file-upload.component';\nexport {PageHeaderComponent as ɵhw} from './lib/sharedComponents/assessment-preview/page-header/page-header.component';\nexport {PreviewContainerComponent as ɵhr} from './lib/sharedComponents/assessment-preview/preview-container/preview-container.component';\nexport {PreviewComponent as ɵhq} from './lib/sharedComponents/assessment-preview/preview/preview.component';\nexport {QuickSettingsComponent as ɵhs} from './lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component';\nexport {RadioQuestionComponent as ɵht} from './lib/sharedComponents/assessment-preview/radio-question/radio-question.component';\nexport {SelectQuestionComponent as ɵhu} from './lib/sharedComponents/assessment-preview/select-question/select-question.component';\nexport {SingleTextboxComponent as ɵhv} from './lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component';\nexport {WelcomeComponent as ɵhx} from './lib/sharedComponents/assessment-preview/welcome/welcome.component';\nexport {AuditCategoryListComponent as ɵcz} from './lib/sharedComponents/audit-category-list/audit-category-list.component';\nexport {BulkResponsibilityViewComponent as ɵbu} from './lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component';\nexport {BulkViewComponent as ɵv} from './lib/sharedComponents/bulk-view/bulk-view.component';\nexport {CategoryListComponent as ɵp} from './lib/sharedComponents/category-list/category-list.component';\nexport {CategoryMultiSelectComponent as ɵq} from './lib/sharedComponents/category-multiselect/category-multi-select.component';\nexport {CheckboxListComponent as ɵcc} from './lib/sharedComponents/checkbox-list/checkbox-list.component';\nexport {CheckpointFloatingBarComponent as ɵcl} from './lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component';\nexport {CheckpointsPolicyContainerComponent as ɵbv} from './lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component';\nexport {CheckpointsPolicyListComponent as ɵbw} from './lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component';\nexport {CheckpointsPolicyQuestionsComponent as ɵbx} from './lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component';\nexport {CheckpointsListComponent as ɵz} from './lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component';\nexport {CheckpointsQuestionsComponent as ɵy} from './lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component';\nexport {CheckpointsComponent as ɵw} from './lib/sharedComponents/checkpoint/checkpoints/checkpoints.component';\nexport {AutofocusDirective as ɵcp} from './lib/sharedComponents/directive/autofocus.directive';\nexport {ConditionalFocusDirective as ɵcw} from './lib/sharedComponents/directive/conditional-focus.directive';\nexport {DragDropDirective as ɵco} from './lib/sharedComponents/directive/drag-drop.directive';\nexport {ScrollInViewDirective as ɵcq} from './lib/sharedComponents/directive/scroll-in-view.directive';\nexport {DocumentSectionComponent as ɵda} from './lib/sharedComponents/document-section/document-section.component';\nexport {FloatingBarComponent as ɵr} from './lib/sharedComponents/floating-bar/floating-bar.component';\nexport {FormatAndEvidenceComponent as ɵcm} from './lib/sharedComponents/format-and-evidence/format-and-evidence.component';\nexport {FrameworkListComponent as ɵci} from './lib/sharedComponents/framework-list/framework-list.component';\nexport {ParentTableComponent as ɵcj} from './lib/sharedComponents/framework-list/parent-table/parent-table.component';\nexport {FrequencyAnnualComponent as ɵbh} from './lib/sharedComponents/frequency/frequency-annual/frequency-annual.component';\nexport {FrequencyBiannualComponent as ɵbg} from './lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component';\nexport {FrequencyCheckboxListComponent as ɵbp} from './lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component';\nexport {FrequencyContainerComponent as ɵbb} from './lib/sharedComponents/frequency/frequency-container/frequency-container.component';\nexport {FrequencyDailyComponent as ɵbc} from './lib/sharedComponents/frequency/frequency-daily/frequency-daily.component';\nexport {FrequencyDueDateComponent as ɵbo} from './lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component';\nexport {FrequencyLifecycleComponent as ɵbn} from './lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component';\nexport {FrequencyMonthlyComponent as ɵbe} from './lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component';\nexport {FrequencyOnCompletionOfComponent as ɵbk} from './lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component';\nexport {FrequencyOneTimeComponent as ɵbi} from './lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component';\nexport {FrequencyOngoingComponent as ɵbl} from './lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component';\nexport {FrequencyQuarterlyComponent as ɵbf} from './lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component';\nexport {FrequencyRadioListComponent as ɵbq} from './lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component';\nexport {FrequencyRandomComponent as ɵbj} from './lib/sharedComponents/frequency/frequency-random/frequency-random.component';\nexport {FrequencyTopComponent as ɵbm} from './lib/sharedComponents/frequency/frequency-top/frequency-top.component';\nexport {FrequencyWeeklyComponent as ɵbd} from './lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component';\nexport {FrequencyService as ɵj} from './lib/sharedComponents/frequency/frequency.service';\nexport {GroupUsersListComponent as ɵbr} from './lib/sharedComponents/group-users-list/group-users-list.component';\nexport {ListLoaderComponent as ɵcx} from './lib/sharedComponents/list-loader/list-loader.component';\nexport {NoDataComponent as ɵfo} from './lib/sharedComponents/no-data/no-data.component';\nexport {NoDataModule as ɵfn} from './lib/sharedComponents/no-data/no-data.module';\nexport {OwnerListComponent as ɵn} from './lib/sharedComponents/owner-list/owner-list.component';\nexport {ArrayFilterPipe as ɵcy} from './lib/sharedComponents/pipes/array-filter.pipe';\nexport {FilterPipe as ɵcb} from './lib/sharedComponents/pipes/filterPipe';\nexport {ShortMergePipe as ɵcr} from './lib/sharedComponents/pipes/short-merge.pipe';\nexport {WithinDataPipe as ɵcu} from './lib/sharedComponents/pipes/within-data.pipe';\nexport {LinkTreatmentLoaderComponent as ɵdh} from './lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component';\nexport {RadioListWithPaginationComponent as ɵdg} from './lib/sharedComponents/radio-list-with-pagination/radio-list.component';\nexport {RadioListComponent as ɵcd} from './lib/sharedComponents/radio-list/radio-list.component';\nexport {ResponsibilityCentersListComponent as ɵs} from './lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component';\nexport {ResponsibilityRiskSelectorComponent as ɵcv} from './lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component';\nexport {ReviewFrequencyComponent as ɵba} from './lib/sharedComponents/review-frequency/review-frequency.component';\nexport {RiskClassificationComponent as ɵcn} from './lib/sharedComponents/risk-classification/risk-classification.component';\nexport {RolesListComponent as ɵdn} from './lib/sharedComponents/roles-list/roles-list.component';\nexport {UserRadioListComponent as ɵo} from './lib/sharedComponents/users-radio-list/users-radio-list.component';\nexport {LoaderInlineComponent as ɵiq} from './lib/sharedComponents/v-loader/loader-inline/loader-inline.component';\nexport {LoaderComponent as ɵip} from './lib/sharedComponents/v-loader/loader/loader.component';\nexport {VLoaderModule as ɵio} from './lib/sharedComponents/v-loader/v-loader.module';\nexport {ActionDialogModule as ɵjf} from './lib/ui-kit/action-dialog/action-dialog.module';\nexport {ActiveComponent as ɵji} from './lib/ui-kit/action-dialog/active/active.component';\nexport {DeactivateComponent as ɵjh} from './lib/ui-kit/action-dialog/deactivate/deactivate.component';\nexport {DeleteComponent as ɵjg} from './lib/ui-kit/action-dialog/delete/delete.component';\nexport {DuplicateComponent as ɵjj} from './lib/ui-kit/action-dialog/duplicate/duplicate.component';\nexport {ClickOutsideDirective as ɵiy} from './lib/ui-kit/click-outside/click-outside.directive';\nexport {ClickOutsideModule as ɵix} from './lib/ui-kit/click-outside/click-outside.module';\nexport {DialogConfig as ɵdw} from './lib/ui-kit/dialog/dialog-config';\nexport {DialogRef as ɵdv} from './lib/ui-kit/dialog/dialog-ref';\nexport {DialogComponent as ɵdt} from './lib/ui-kit/dialog/dialog.component';\nexport {DialogModule as ɵds} from './lib/ui-kit/dialog/dialog.module';\nexport {DialogService as ɵdr} from './lib/ui-kit/dialog/dialog.service';\nexport {InsertionDirective as ɵdu} from './lib/ui-kit/dialog/insertion.directive';\nexport {EditorLoaderModule as ɵik} from './lib/ui-kit/editor-loader/editor-loader.module';\nexport {EditorLoaderComponent as ɵil} from './lib/ui-kit/editor-loader/editor-loader/editor-loader.component';\nexport {FormatHtmlPipe as ɵct} from './lib/ui-kit/format-html.pipe';\nexport {ClickOutsideDirective as ɵgn} from './lib/ui-kit/formgroup/click-outside.directive';\nexport {CsCheckboxIndeterminateComponent as ɵgo} from './lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component';\nexport {CsCheckboxComponent as ɵgg} from './lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component';\nexport {CsRadioGroupComponent as ɵgj} from './lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component';\nexport {CsRadioComponent as ɵgh} from './lib/ui-kit/formgroup/cs-radio/cs-radio.component';\nexport {CsSelectComponent as ɵgk} from './lib/ui-kit/formgroup/cs-select/cs-select.component';\nexport {CsSwitchComponent as ɵgi} from './lib/ui-kit/formgroup/cs-switch/cs-switch.component';\nexport {FormgroupModule as ɵgf} from './lib/ui-kit/formgroup/formgroup.module';\nexport {PascalPipe as ɵgl} from './lib/ui-kit/formgroup/pipes/pascal.pipe';\nexport {SearchMultiSelectPipe as ɵgm} from './lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe';\nexport {LineLoaderComponent as ɵin} from './lib/ui-kit/line-loader/line-loader.component';\nexport {LineLoaderModule as ɵim} from './lib/ui-kit/line-loader/line-loader.module';\nexport {NoDataComponent as ɵki} from './lib/ui-kit/no-data/no-data.component';\nexport {NoDataModule as ɵkh} from './lib/ui-kit/no-data/no-data.module';\nexport {PaginationModule as ɵjd} from './lib/ui-kit/pagination/pagination.module';\nexport {PaginationComponent as ɵje} from './lib/ui-kit/pagination/pagination/pagination.component';\nexport {PopoverHoverComponent as ɵja} from './lib/ui-kit/popover-hover/popover-hover.component';\nexport {PopoverHoverDirective as ɵjc} from './lib/ui-kit/popover-hover/popover-hover.directive';\nexport {PopoverHoverModule as ɵiz} from './lib/ui-kit/popover-hover/popover-hover.module';\nexport {PopoverHoverService as ɵjb} from './lib/ui-kit/popover-hover/popover-hover.service';\nexport {PopoverEventDirective as ɵfd} from './lib/ui-kit/popover/popover-event.directive';\nexport {PopoverLongpressDirective as ɵfe} from './lib/ui-kit/popover/popover-longpress.directive';\nexport {PopoverComponent as ɵfa} from './lib/ui-kit/popover/popover.component';\nexport {PopoverDirective as ɵfc} from './lib/ui-kit/popover/popover.directive';\nexport {PopoverModule as ɵez} from './lib/ui-kit/popover/popover.module';\nexport {PopoverService as ɵfb} from './lib/ui-kit/popover/popover.service';\nexport {SmileyDialogInlineComponent as ɵiw} from './lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component';\nexport {SmileyDialogInlineModule as ɵiv} from './lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module';\nexport {SmileyDialogComponent as ɵis} from './lib/ui-kit/smiley-dialog/smiley-dialog.component';\nexport {SmileyDialogModule as ɵir} from './lib/ui-kit/smiley-dialog/smiley-dialog.module';\nexport {SnackBarComponent as ɵiu} from './lib/ui-kit/snack-bar/snack-bar.component';\nexport {SnackBarModule as ɵit} from './lib/ui-kit/snack-bar/snack-bar.module';\nexport {SnackBarService as ɵb} from './lib/ui-kit/snack-bar/snack-bar.service';\nexport {ToolTipDirective as ɵey} from './lib/ui-kit/tooltip/tooltip.directive';\nexport {TooltipModule as ɵex} from './lib/ui-kit/tooltip/tooltip.module';\nexport {ImportAnAssessmentComponent as ɵdd} from './lib/workflow-assessment/import-an-assessment/import-an-assessment.component';\nexport {WorkflowAssessmentComponent as ɵdb} from './lib/workflow-assessment/workflow-assessment.component';\nexport {WorkflowComplianceComponent as ɵh} from './lib/workflow-compliance/workflow-compliance.component';\nexport {WorkflowPaginationComponent as ɵt} from './lib/workflow-pagination/workflow-pagination.component';\nexport {WorkflowPolicyComponent as ɵk} from './lib/workflow-policy/workflow-policy.component';\nexport {AssessmentLoaderComponent as ɵkb} from './lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component';\nexport {AssessmentPickerComponent as ɵjz} from './lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component';\nexport {AssessmentSubLoaderComponent as ɵkc} from './lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component';\nexport {AssessmentService as ɵka} from './lib/workflow-program/create-program-ui/assessment-picker/assessment.service';\nexport {Pagination as ɵkd} from './lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component';\nexport {CheckboxComponent as ɵjt} from './lib/workflow-program/create-program-ui/checkbox/checkbox.component';\nexport {CreateProgramUiModule as ɵjk} from './lib/workflow-program/create-program-ui/create-program-ui.module';\nexport {SwitchComponent as ɵjq} from './lib/workflow-program/create-program-ui/cs-switch/cs-switch.component';\nexport {DefineFrameworkListingComponent as ɵke} from './lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component';\nexport {InputTrimDirective as ɵjr} from './lib/workflow-program/create-program-ui/directives/input-trim.directive';\nexport {FilePillComponent as ɵjo} from './lib/workflow-program/create-program-ui/file-pill/file-pill.component';\nexport {VuiFloatingBarComponent as ɵju} from './lib/workflow-program/create-program-ui/floating-bar/floating-bar.component';\nexport {FormFieldComponent as ɵjn} from './lib/workflow-program/create-program-ui/form-field/form-field.component';\nexport {InputWithPillComponent as ɵjp} from './lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component';\nexport {PaginationModule as ɵkf} from './lib/workflow-program/create-program-ui/pagination/pagination.module';\nexport {PaginationComponent as ɵkg} from './lib/workflow-program/create-program-ui/pagination/pagination/pagination.component';\nexport {ListToIdPipe as ɵjx} from './lib/workflow-program/create-program-ui/pipes/list-to-id.pipe';\nexport {RefDisconnectPipe as ɵjy} from './lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe';\nexport {SearchPipe as ɵjv} from './lib/workflow-program/create-program-ui/pipes/search.pipe';\nexport {RoleListComponent as ɵjs} from './lib/workflow-program/create-program-ui/role-list/role-list.component';\nexport {TabSelector as ɵjl} from './lib/workflow-program/create-program-ui/tab-selector/tab-selector.component';\nexport {TickMarkComponent as ɵjm} from './lib/workflow-program/create-program-ui/tick-mark/tick-mark.component';\nexport {UserGroupListComponent as ɵjw} from './lib/workflow-program/create-program-ui/user-group-list/user-group-list.component';\nexport {WorkflowProgramComponent as ɵdl} from './lib/workflow-program/workflow-program.component';\nexport {WorkflowRiskComponent as ɵf} from './lib/workflow-risk/workflow-risk.component';\nexport {AddRiskService as ɵg} from './lib/workflow-services/add-risk.service';\nexport {AssessmentService as ɵdc} from './lib/workflow-services/assessment.service';\nexport {AuthService as ɵc} from './lib/workflow-services/auth.service';\nexport {FrequencyBulkService as ɵbt} from './lib/workflow-services/frequency.service';\nexport {LogIssueService as ɵca} from './lib/workflow-services/log-issue.service';\nexport {PolicyService as ɵl} from './lib/workflow-services/policy.service';\nexport {ProgramsService as ɵdm} from './lib/workflow-services/programs.service';\nexport {ResponsibilityService as ɵi} from './lib/workflow-services/responsibility.service';\nexport {TokenDecoderService as ɵd} from './lib/workflow-services/token-decoder.service';\nexport {UiKitService as ɵa} from './lib/workflow-services/ui-kit.service';\nexport {WorkflowSurveyFormComponent as ɵby} from './lib/workflow-survey-form/workflow-survey-form.component';"],"names":["Injectable","Subject","JwtHelperService","BehaviorSubject","HttpHeaders","retry","HttpClient","Optional","EventEmitter","Component","HostListener","Input","Output","ViewChild","cloneDeep","moment","uniqBy","Router","ActivatedRoute","PlatformLocation","Pipe","NgModule","CsCheckboxComponent","CsRadioComponent","CsSwitchComponent","CsRadioGroupComponent","CsSelectComponent","PascalPipe","CsCheckboxIndeterminateComponent","CommonModule","FormsModule","Directive","ElementRef","Renderer2","XLSX","ChangeDetectorRef","nanoid","NG_VALUE_ACCESSOR","forwardRef","NoDataComponent","map","HostBinding","ClickOutsideDirective","DomSanitizer","AssessmentService","PaginationComponent","shuffle","DateTimeComponent","QuickSettingsComponent","PageHeaderComponent","WelcomeComponent","FormgroupModule","NgxMaterialTimepickerModule","DpDatePickerModule","moveItemInArray","ViewContainerRef","NavigationStart","NavigationEnd","NavigationError","ComponentFactoryResolver","ApplicationRef","Injector","CheckboxComponent","ThankYouComponent","ViewChildren","MarxEditorModule","NoDataModule","some","DatePipe","DragDropModule","Validators","distinctUntilChanged","isEqual","FormBuilder","SearchPipe","ReactiveFormsModule","HttpClientModule","PaginationModule"],"mappings":"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"}