@sunbird-cb/utils 1.0.19 → 1.0.21-ang-13-16

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 (409) hide show
  1. package/esm2022/lib/components/image-crop/image-crop.component.mjs +172 -0
  2. package/esm2022/lib/components/image-crop/image-crop.module.mjs +55 -0
  3. package/esm2022/lib/constants/features.enum.mjs +555 -0
  4. package/esm2022/lib/constants/instances.enum.mjs +5 -0
  5. package/esm2022/lib/constants/misc.constants.mjs +2 -0
  6. package/esm2022/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.mjs +87 -0
  7. package/esm2022/lib/directives/class-change-on-scroll/class-change-on-scroll.module.mjs +20 -0
  8. package/esm2022/lib/directives/default-thumbnail/default-thumbnail.directive.mjs +40 -0
  9. package/esm2022/lib/directives/default-thumbnail/default-thumbnail.module.mjs +20 -0
  10. package/esm2022/lib/directives/image-responsive/image-responsive.directive.mjs +86 -0
  11. package/esm2022/lib/directives/image-responsive/image-responsive.module.mjs +20 -0
  12. package/esm2022/lib/directives/in-view-port/in-view-port.directive.mjs +62 -0
  13. package/esm2022/lib/directives/in-view-port/in-view-port.module.mjs +20 -0
  14. package/esm2022/lib/directives/navigation/navigation.directive.mjs +43 -0
  15. package/esm2022/lib/directives/navigation/navigation.module.mjs +20 -0
  16. package/esm2022/lib/directives/permission/permission.directive.mjs +14 -0
  17. package/esm2022/lib/directives/permission/permission.module.mjs +20 -0
  18. package/esm2022/lib/helpers/functions/getStringifiedQueryParams.mjs +9 -0
  19. package/esm2022/lib/helpers/horizontal-scroller/horizontal-scroller.component.mjs +96 -0
  20. package/esm2022/lib/helpers/horizontal-scroller/horizontal-scroller.module.mjs +32 -0
  21. package/esm2022/lib/helpers/logout/logout.component.mjs +44 -0
  22. package/esm2022/lib/helpers/logout/logout.module.mjs +27 -0
  23. package/esm2022/lib/models/contentRating.model.mjs +2 -0
  24. package/esm2022/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.mjs +18 -0
  25. package/esm2022/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.mjs +57 -0
  26. package/esm2022/lib/pipes/pipe-count-transform/pipe-count-transform.module.mjs +20 -0
  27. package/esm2022/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.mjs +37 -0
  28. package/esm2022/lib/pipes/pipe-date-concat/pipe-date-concat.module.mjs +20 -0
  29. package/esm2022/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.mjs +36 -0
  30. package/esm2022/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.mjs +20 -0
  31. package/esm2022/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.mjs +64 -0
  32. package/esm2022/lib/pipes/pipe-filter/pipe-filter.module.mjs +20 -0
  33. package/esm2022/lib/pipes/pipe-filter/pipe-filter.pipe.mjs +20 -0
  34. package/esm2022/lib/pipes/pipe-filter-search/pipe-filter-search.module.mjs +20 -0
  35. package/esm2022/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.mjs +34 -0
  36. package/esm2022/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.mjs +20 -0
  37. package/esm2022/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.mjs +16 -0
  38. package/esm2022/lib/pipes/pipe-limit-to/pipe-limit-to.module.mjs +20 -0
  39. package/esm2022/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.mjs +29 -0
  40. package/esm2022/lib/pipes/pipe-list-filter/pipe-list-filter.module.mjs +20 -0
  41. package/esm2022/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.mjs +21 -0
  42. package/esm2022/lib/pipes/pipe-name-transform/pipe-name-transform.module.mjs +20 -0
  43. package/esm2022/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.mjs +29 -0
  44. package/esm2022/lib/pipes/pipe-order-by/pipe-order-by.module.mjs +20 -0
  45. package/esm2022/lib/pipes/pipe-order-by/pipe-order-by.pipe.mjs +17 -0
  46. package/esm2022/lib/pipes/pipe-partial-content/pipe-partial-content.module.mjs +20 -0
  47. package/esm2022/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.mjs +22 -0
  48. package/esm2022/lib/pipes/pipe-relative-time/pipe-relative-time.module.mjs +20 -0
  49. package/esm2022/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.mjs +21 -0
  50. package/esm2022/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.mjs +20 -0
  51. package/esm2022/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.mjs +33 -0
  52. package/esm2022/lib/resolvers/explore-detail.resolver.mjs +76 -0
  53. package/esm2022/lib/resolvers/marketing-offering.resolve.mjs +35 -0
  54. package/esm2022/lib/resolvers/page.constant.mjs +4 -0
  55. package/esm2022/lib/resolvers/page.model.mjs +2 -0
  56. package/esm2022/lib/resolvers/page.resolver.mjs +82 -0
  57. package/esm2022/lib/resolvers/resolver.model.mjs +2 -0
  58. package/esm2022/lib/services/auth-keycloak.service.mjs +52 -0
  59. package/esm2022/lib/services/auth-microsoft.service.mjs +173 -0
  60. package/esm2022/lib/services/card-content.model.mjs +11 -0
  61. package/esm2022/lib/services/configurations.model.mjs +2 -0
  62. package/esm2022/lib/services/configurations.service.mjs +65 -0
  63. package/esm2022/lib/services/content-strip-multiple.model.mjs +2 -0
  64. package/esm2022/lib/services/event.model.mjs +121 -0
  65. package/esm2022/lib/services/event.service.mjs +204 -0
  66. package/esm2022/lib/services/logger.service.mjs +45 -0
  67. package/esm2022/lib/services/ms-office.model.mjs +2 -0
  68. package/esm2022/lib/services/subapplication-respond.service.mjs +76 -0
  69. package/esm2022/lib/services/telemetry.service.mjs +502 -0
  70. package/esm2022/lib/services/user-preference.model.mjs +2 -0
  71. package/esm2022/lib/services/user-preference.service.mjs +92 -0
  72. package/esm2022/lib/services/utility.service.mjs +122 -0
  73. package/esm2022/lib/services/value.service.mjs +25 -0
  74. package/esm2022/lib/services/widget-content.model.mjs +107 -0
  75. package/esm2022/lib/services/widget-content.service.mjs +182 -0
  76. package/esm2022/lib/services/widget-resolver.model.mjs +2 -0
  77. package/esm2022/lib/services/widget-search.model.mjs +2 -0
  78. package/esm2022/public-api.mjs +74 -0
  79. package/esm2022/sunbird-cb-utils.mjs +2 -0
  80. package/fesm2022/sunbird-cb-utils.mjs +3902 -0
  81. package/fesm2022/sunbird-cb-utils.mjs.map +1 -0
  82. package/index.d.ts +3 -0
  83. package/lib/components/image-crop/image-crop.component.d.ts +6 -2
  84. package/lib/components/image-crop/image-crop.component.d.ts.map +1 -0
  85. package/lib/components/image-crop/image-crop.module.d.ts +15 -0
  86. package/lib/components/image-crop/image-crop.module.d.ts.map +1 -0
  87. package/lib/constants/features.enum.d.ts +1 -0
  88. package/lib/constants/features.enum.d.ts.map +1 -0
  89. package/lib/constants/instances.enum.d.ts +1 -0
  90. package/lib/constants/instances.enum.d.ts.map +1 -0
  91. package/lib/constants/misc.constants.d.ts +3 -2
  92. package/lib/constants/misc.constants.d.ts.map +1 -0
  93. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +7 -3
  94. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts.map +1 -0
  95. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts +7 -0
  96. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts.map +1 -0
  97. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +4 -0
  98. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts.map +1 -0
  99. package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts +7 -0
  100. package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts.map +1 -0
  101. package/lib/directives/image-responsive/image-responsive.directive.d.ts +4 -0
  102. package/lib/directives/image-responsive/image-responsive.directive.d.ts.map +1 -0
  103. package/lib/directives/image-responsive/image-responsive.module.d.ts +7 -0
  104. package/lib/directives/image-responsive/image-responsive.module.d.ts.map +1 -0
  105. package/lib/directives/in-view-port/in-view-port.directive.d.ts +4 -0
  106. package/lib/directives/in-view-port/in-view-port.directive.d.ts.map +1 -0
  107. package/lib/directives/in-view-port/in-view-port.module.d.ts +7 -0
  108. package/lib/directives/in-view-port/in-view-port.module.d.ts.map +1 -0
  109. package/lib/directives/navigation/navigation.directive.d.ts +4 -0
  110. package/lib/directives/navigation/navigation.directive.d.ts.map +1 -0
  111. package/lib/directives/navigation/navigation.module.d.ts +7 -0
  112. package/lib/directives/navigation/navigation.module.d.ts.map +1 -0
  113. package/lib/directives/permission/permission.directive.d.ts +4 -0
  114. package/lib/directives/permission/permission.directive.d.ts.map +1 -0
  115. package/lib/directives/permission/permission.module.d.ts +7 -0
  116. package/lib/directives/permission/permission.module.d.ts.map +1 -0
  117. package/lib/helpers/functions/getStringifiedQueryParams.d.ts +1 -0
  118. package/lib/helpers/functions/getStringifiedQueryParams.d.ts.map +1 -0
  119. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +4 -0
  120. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts.map +1 -0
  121. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +10 -0
  122. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts.map +1 -0
  123. package/lib/helpers/logout/logout.component.d.ts +6 -2
  124. package/lib/helpers/logout/logout.component.d.ts.map +1 -0
  125. package/lib/helpers/logout/logout.module.d.ts +9 -0
  126. package/lib/helpers/logout/logout.module.d.ts.map +1 -0
  127. package/lib/models/contentRating.model.d.ts +1 -0
  128. package/lib/models/contentRating.model.d.ts.map +1 -0
  129. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts +7 -0
  130. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts.map +1 -0
  131. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +4 -0
  132. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts.map +1 -0
  133. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts +7 -0
  134. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts.map +1 -0
  135. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +4 -0
  136. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts.map +1 -0
  137. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts +7 -0
  138. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts.map +1 -0
  139. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +4 -0
  140. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts.map +1 -0
  141. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +7 -0
  142. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts.map +1 -0
  143. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +4 -0
  144. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts.map +1 -0
  145. package/lib/pipes/pipe-filter/pipe-filter.module.d.ts +7 -0
  146. package/lib/pipes/pipe-filter/pipe-filter.module.d.ts.map +1 -0
  147. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +4 -0
  148. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts.map +1 -0
  149. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts +7 -0
  150. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts.map +1 -0
  151. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +4 -0
  152. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts.map +1 -0
  153. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts +7 -0
  154. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts.map +1 -0
  155. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +4 -0
  156. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts.map +1 -0
  157. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts +7 -0
  158. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts.map +1 -0
  159. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +4 -0
  160. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts.map +1 -0
  161. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts +7 -0
  162. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts.map +1 -0
  163. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +4 -0
  164. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts.map +1 -0
  165. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts +7 -0
  166. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts.map +1 -0
  167. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +4 -0
  168. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts.map +1 -0
  169. package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts +7 -0
  170. package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts.map +1 -0
  171. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +8 -4
  172. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts.map +1 -0
  173. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts +7 -0
  174. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts.map +1 -0
  175. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +4 -0
  176. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts.map +1 -0
  177. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts +7 -0
  178. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts.map +1 -0
  179. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +4 -0
  180. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts.map +1 -0
  181. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts +7 -0
  182. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts.map +1 -0
  183. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +4 -0
  184. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts.map +1 -0
  185. package/lib/resolvers/explore-detail.resolver.d.ts +6 -2
  186. package/lib/resolvers/explore-detail.resolver.d.ts.map +1 -0
  187. package/lib/resolvers/marketing-offering.resolve.d.ts +6 -2
  188. package/lib/resolvers/marketing-offering.resolve.d.ts.map +1 -0
  189. package/lib/resolvers/page.constant.d.ts +1 -0
  190. package/lib/resolvers/page.constant.d.ts.map +1 -0
  191. package/lib/resolvers/page.model.d.ts +2 -1
  192. package/lib/resolvers/page.model.d.ts.map +1 -0
  193. package/lib/resolvers/page.resolver.d.ts +6 -2
  194. package/lib/resolvers/page.resolver.d.ts.map +1 -0
  195. package/lib/resolvers/resolver.model.d.ts +1 -0
  196. package/lib/resolvers/resolver.model.d.ts.map +1 -0
  197. package/lib/services/auth-keycloak.service.d.ts +7 -23
  198. package/lib/services/auth-keycloak.service.d.ts.map +1 -0
  199. package/lib/services/auth-microsoft.service.d.ts +6 -2
  200. package/lib/services/auth-microsoft.service.d.ts.map +1 -0
  201. package/lib/services/card-content.model.d.ts +1 -0
  202. package/lib/services/card-content.model.d.ts.map +1 -0
  203. package/lib/services/configurations.model.d.ts +27 -24
  204. package/lib/services/configurations.model.d.ts.map +1 -0
  205. package/lib/services/configurations.service.d.ts +4 -0
  206. package/lib/services/configurations.service.d.ts.map +1 -0
  207. package/lib/services/content-strip-multiple.model.d.ts +8 -6
  208. package/lib/services/content-strip-multiple.model.d.ts.map +1 -0
  209. package/lib/services/event.model.d.ts +2 -1
  210. package/lib/services/event.model.d.ts.map +1 -0
  211. package/lib/services/event.service.d.ts +4 -0
  212. package/lib/services/event.service.d.ts.map +1 -0
  213. package/lib/services/logger.service.d.ts +8 -4
  214. package/lib/services/logger.service.d.ts.map +1 -0
  215. package/lib/services/ms-office.model.d.ts +1 -0
  216. package/lib/services/ms-office.model.d.ts.map +1 -0
  217. package/lib/services/subapplication-respond.service.d.ts +5 -10
  218. package/lib/services/subapplication-respond.service.d.ts.map +1 -0
  219. package/lib/services/telemetry.service.d.ts +6 -2
  220. package/lib/services/telemetry.service.d.ts.map +1 -0
  221. package/lib/services/user-preference.model.d.ts +1 -0
  222. package/lib/services/user-preference.model.d.ts.map +1 -0
  223. package/lib/services/user-preference.service.d.ts +4 -0
  224. package/lib/services/user-preference.service.d.ts.map +1 -0
  225. package/lib/services/utility.service.d.ts +11 -7
  226. package/lib/services/utility.service.d.ts.map +1 -0
  227. package/lib/services/value.service.d.ts +4 -0
  228. package/lib/services/value.service.d.ts.map +1 -0
  229. package/lib/services/widget-content.model.d.ts +21 -19
  230. package/lib/services/widget-content.model.d.ts.map +1 -0
  231. package/lib/services/widget-content.service.d.ts +4 -0
  232. package/lib/services/widget-content.service.d.ts.map +1 -0
  233. package/lib/services/widget-resolver.model.d.ts +2 -1
  234. package/lib/services/widget-resolver.model.d.ts.map +1 -0
  235. package/lib/services/widget-search.model.d.ts +1 -0
  236. package/lib/services/widget-search.model.d.ts.map +1 -0
  237. package/package.json +28 -25
  238. package/public-api.d.ts +7 -0
  239. package/public-api.d.ts.map +1 -0
  240. package/sunbird-cb-utils-1.0.21-ang-13-16.tgz +0 -0
  241. package/sunbird-cb-utils.d.ts.map +1 -0
  242. package/bundles/sunbird-cb-utils.umd.js +0 -5878
  243. package/bundles/sunbird-cb-utils.umd.js.map +0 -1
  244. package/bundles/sunbird-cb-utils.umd.min.js +0 -16
  245. package/bundles/sunbird-cb-utils.umd.min.js.map +0 -1
  246. package/esm2015/lib/components/image-crop/image-crop.component.js +0 -195
  247. package/esm2015/lib/components/image-crop/image-crop.module.js +0 -27
  248. package/esm2015/lib/constants/features.enum.js +0 -555
  249. package/esm2015/lib/constants/instances.enum.js +0 -5
  250. package/esm2015/lib/constants/misc.constants.js +0 -1
  251. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +0 -87
  252. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +0 -15
  253. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +0 -38
  254. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +0 -15
  255. package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +0 -92
  256. package/esm2015/lib/directives/image-responsive/image-responsive.module.js +0 -15
  257. package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +0 -68
  258. package/esm2015/lib/directives/in-view-port/in-view-port.module.js +0 -15
  259. package/esm2015/lib/directives/navigation/navigation.directive.js +0 -39
  260. package/esm2015/lib/directives/navigation/navigation.module.js +0 -15
  261. package/esm2015/lib/directives/permission/permission.directive.js +0 -11
  262. package/esm2015/lib/directives/permission/permission.module.js +0 -15
  263. package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +0 -9
  264. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +0 -99
  265. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +0 -19
  266. package/esm2015/lib/helpers/logout/logout.component.js +0 -57
  267. package/esm2015/lib/helpers/logout/logout.module.js +0 -18
  268. package/esm2015/lib/models/contentRating.model.js +0 -12
  269. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +0 -13
  270. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +0 -59
  271. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +0 -15
  272. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +0 -33
  273. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +0 -15
  274. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +0 -43
  275. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +0 -15
  276. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +0 -60
  277. package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +0 -15
  278. package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +0 -16
  279. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +0 -15
  280. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +0 -30
  281. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +0 -15
  282. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +0 -12
  283. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +0 -15
  284. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +0 -25
  285. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +0 -15
  286. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +0 -17
  287. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +0 -15
  288. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +0 -31
  289. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +0 -15
  290. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +0 -16
  291. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +0 -15
  292. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +0 -18
  293. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +0 -15
  294. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +0 -17
  295. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +0 -15
  296. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +0 -35
  297. package/esm2015/lib/resolvers/explore-detail.resolver.js +0 -89
  298. package/esm2015/lib/resolvers/marketing-offering.resolve.js +0 -40
  299. package/esm2015/lib/resolvers/page.constant.js +0 -4
  300. package/esm2015/lib/resolvers/page.model.js +0 -47
  301. package/esm2015/lib/resolvers/page.resolver.js +0 -90
  302. package/esm2015/lib/resolvers/resolver.model.js +0 -6
  303. package/esm2015/lib/services/auth-keycloak.service.js +0 -245
  304. package/esm2015/lib/services/auth-microsoft.service.js +0 -196
  305. package/esm2015/lib/services/card-content.model.js +0 -32
  306. package/esm2015/lib/services/configurations.model.js +0 -508
  307. package/esm2015/lib/services/configurations.service.js +0 -112
  308. package/esm2015/lib/services/content-strip-multiple.model.js +0 -75
  309. package/esm2015/lib/services/event.model.js +0 -229
  310. package/esm2015/lib/services/event.service.js +0 -212
  311. package/esm2015/lib/services/logger.service.js +0 -55
  312. package/esm2015/lib/services/ms-office.model.js +0 -8
  313. package/esm2015/lib/services/subapplication-respond.service.js +0 -225
  314. package/esm2015/lib/services/telemetry.service.js +0 -449
  315. package/esm2015/lib/services/user-preference.model.js +0 -38
  316. package/esm2015/lib/services/user-preference.service.js +0 -90
  317. package/esm2015/lib/services/utility.service.js +0 -145
  318. package/esm2015/lib/services/value.service.js +0 -31
  319. package/esm2015/lib/services/widget-content.model.js +0 -342
  320. package/esm2015/lib/services/widget-content.service.js +0 -192
  321. package/esm2015/lib/services/widget-resolver.model.js +0 -57
  322. package/esm2015/lib/services/widget-search.model.js +0 -126
  323. package/esm2015/public-api.js +0 -68
  324. package/esm2015/sunbird-cb-utils.js +0 -8
  325. package/esm5/lib/components/image-crop/image-crop.component.js +0 -200
  326. package/esm5/lib/components/image-crop/image-crop.module.js +0 -31
  327. package/esm5/lib/constants/features.enum.js +0 -555
  328. package/esm5/lib/constants/instances.enum.js +0 -5
  329. package/esm5/lib/constants/misc.constants.js +0 -1
  330. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +0 -105
  331. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +0 -19
  332. package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +0 -40
  333. package/esm5/lib/directives/default-thumbnail/default-thumbnail.module.js +0 -19
  334. package/esm5/lib/directives/image-responsive/image-responsive.directive.js +0 -95
  335. package/esm5/lib/directives/image-responsive/image-responsive.module.js +0 -19
  336. package/esm5/lib/directives/in-view-port/in-view-port.directive.js +0 -73
  337. package/esm5/lib/directives/in-view-port/in-view-port.module.js +0 -19
  338. package/esm5/lib/directives/navigation/navigation.directive.js +0 -41
  339. package/esm5/lib/directives/navigation/navigation.module.js +0 -19
  340. package/esm5/lib/directives/permission/permission.directive.js +0 -14
  341. package/esm5/lib/directives/permission/permission.module.js +0 -19
  342. package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +0 -9
  343. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +0 -103
  344. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +0 -23
  345. package/esm5/lib/helpers/logout/logout.component.js +0 -63
  346. package/esm5/lib/helpers/logout/logout.module.js +0 -22
  347. package/esm5/lib/models/contentRating.model.js +0 -12
  348. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +0 -17
  349. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +0 -63
  350. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +0 -19
  351. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +0 -37
  352. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +0 -19
  353. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +0 -45
  354. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +0 -19
  355. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +0 -64
  356. package/esm5/lib/pipes/pipe-filter/pipe-filter.module.js +0 -19
  357. package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +0 -20
  358. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +0 -19
  359. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +0 -38
  360. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +0 -19
  361. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +0 -16
  362. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +0 -19
  363. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +0 -30
  364. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +0 -19
  365. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +0 -21
  366. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +0 -19
  367. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +0 -35
  368. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.module.js +0 -19
  369. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +0 -18
  370. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +0 -19
  371. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +0 -34
  372. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +0 -19
  373. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +0 -21
  374. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +0 -19
  375. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +0 -38
  376. package/esm5/lib/resolvers/explore-detail.resolver.js +0 -93
  377. package/esm5/lib/resolvers/marketing-offering.resolve.js +0 -43
  378. package/esm5/lib/resolvers/page.constant.js +0 -4
  379. package/esm5/lib/resolvers/page.model.js +0 -47
  380. package/esm5/lib/resolvers/page.resolver.js +0 -98
  381. package/esm5/lib/resolvers/resolver.model.js +0 -6
  382. package/esm5/lib/services/auth-keycloak.service.js +0 -316
  383. package/esm5/lib/services/auth-microsoft.service.js +0 -251
  384. package/esm5/lib/services/card-content.model.js +0 -32
  385. package/esm5/lib/services/configurations.model.js +0 -508
  386. package/esm5/lib/services/configurations.service.js +0 -114
  387. package/esm5/lib/services/content-strip-multiple.model.js +0 -75
  388. package/esm5/lib/services/event.model.js +0 -229
  389. package/esm5/lib/services/event.service.js +0 -216
  390. package/esm5/lib/services/logger.service.js +0 -73
  391. package/esm5/lib/services/ms-office.model.js +0 -8
  392. package/esm5/lib/services/subapplication-respond.service.js +0 -230
  393. package/esm5/lib/services/telemetry.service.js +0 -484
  394. package/esm5/lib/services/user-preference.model.js +0 -38
  395. package/esm5/lib/services/user-preference.service.js +0 -109
  396. package/esm5/lib/services/utility.service.js +0 -178
  397. package/esm5/lib/services/value.service.js +0 -33
  398. package/esm5/lib/services/widget-content.model.js +0 -342
  399. package/esm5/lib/services/widget-content.service.js +0 -214
  400. package/esm5/lib/services/widget-resolver.model.js +0 -57
  401. package/esm5/lib/services/widget-search.model.js +0 -126
  402. package/esm5/public-api.js +0 -68
  403. package/esm5/sunbird-cb-utils.js +0 -8
  404. package/fesm2015/sunbird-cb-utils.js +0 -5182
  405. package/fesm2015/sunbird-cb-utils.js.map +0 -1
  406. package/fesm5/sunbird-cb-utils.js +0 -5605
  407. package/fesm5/sunbird-cb-utils.js.map +0 -1
  408. package/sunbird-cb-utils.d.ts +0 -7
  409. package/sunbird-cb-utils.metadata.json +0 -1
@@ -0,0 +1,3902 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, EventEmitter, Component, Inject, Output, NgModule, Directive, Input, HostBinding, HostListener, ViewChild, Pipe, LOCALE_ID } from '@angular/core';
3
+ import * as i1$1 from '@angular/material/legacy-dialog';
4
+ import { MAT_LEGACY_DIALOG_DATA, MatLegacyDialogModule } from '@angular/material/legacy-dialog';
5
+ import { BehaviorSubject, ReplaySubject, fromEvent, timer, of, forkJoin, Subject } from 'rxjs';
6
+ import * as i3 from '@angular/material/legacy-snack-bar';
7
+ import * as i1 from '@angular/cdk/layout';
8
+ import { Breakpoints } from '@angular/cdk/layout';
9
+ import { map, debounceTime, distinctUntilChanged, throttleTime, catchError, mergeMap, retry, filter } from 'rxjs/operators';
10
+ import * as i1$2 from '@angular/common';
11
+ import { CommonModule } from '@angular/common';
12
+ import * as i6 from 'ngx-image-cropper';
13
+ import { ImageCropperModule } from 'ngx-image-cropper';
14
+ import * as i7 from '@angular/material/icon';
15
+ import { MatIconModule } from '@angular/material/icon';
16
+ import * as i8 from '@angular/material/legacy-button';
17
+ import { MatLegacyButtonModule } from '@angular/material/legacy-button';
18
+ import * as i9 from '@angular/material/legacy-card';
19
+ import { MatLegacyCardModule } from '@angular/material/legacy-card';
20
+ import * as i10 from '@angular/material/legacy-slider';
21
+ import { MatLegacySliderModule } from '@angular/material/legacy-slider';
22
+ import { MatToolbarModule } from '@angular/material/toolbar';
23
+ import { MatLegacyTooltipModule } from '@angular/material/legacy-tooltip';
24
+ import * as i4 from '@angular/material/legacy-progress-spinner';
25
+ import { MatLegacyProgressSpinnerModule } from '@angular/material/legacy-progress-spinner';
26
+ import * as i3$1 from '@angular/router';
27
+ import { NavigationEnd } from '@angular/router';
28
+ import * as i1$3 from '@angular/common/http';
29
+ import * as i2 from '@angular/cdk/platform';
30
+ import * as _moment from 'moment';
31
+ import * as _ from 'lodash';
32
+ import { orderBy } from 'lodash';
33
+ import * as i1$4 from '@angular/platform-browser';
34
+
35
+ class ConfigurationsService {
36
+ constructor() {
37
+ this.appSetup = true;
38
+ this.userUrl = '';
39
+ this.baseUrl = `assets/configurations`;
40
+ this.sitePath = `assets/configurations`;
41
+ this.hostPath = (window.location.host).replace(':', '_');
42
+ this.userRoles = null;
43
+ this.userGroups = null;
44
+ this.restrictedFeatures = null;
45
+ this.restrictedWidgets = null;
46
+ this.instanceConfig = null;
47
+ this.appsConfig = null;
48
+ this.rootOrg = null;
49
+ this.org = null;
50
+ this.activeOrg = '';
51
+ this.isProduction = false;
52
+ this.hasAcceptedTnc = false;
53
+ this.profileDetailsStatus = false;
54
+ this.userPreference = null;
55
+ this.userProfile = null;
56
+ this.userProfileV2 = null;
57
+ this.isAuthenticated = false;
58
+ this.isNewUser = false;
59
+ this.isActive = true;
60
+ this.pinnedApps = new BehaviorSubject(new Set());
61
+ this.prefChangeNotifier = new ReplaySubject(1);
62
+ this.tourGuideNotifier = new ReplaySubject();
63
+ this.authChangeNotifier = new ReplaySubject(1);
64
+ this.activeThemeObject = null;
65
+ this.activeFontObject = null;
66
+ this.isDarkMode = false;
67
+ this.isIntranetAllowed = false;
68
+ this.isRTL = false;
69
+ this.activeLocale = null;
70
+ this.activeLocaleGroup = '';
71
+ this.completedActivity = null;
72
+ this.completedTour = false;
73
+ this.profileSettings = ['profilePicture', 'learningTime', 'learningPoints'];
74
+ this.primaryNavBar = {
75
+ color: 'primary',
76
+ };
77
+ this.pageNavBar = {
78
+ color: 'primary',
79
+ };
80
+ this.primaryNavBarConfig = null;
81
+ this.updateOrgReadData = new BehaviorSubject('');
82
+ this.updateOrgReadDataObservable = this.updateOrgReadData.asObservable();
83
+ }
84
+ updateOrgData(id) {
85
+ this.updateOrgReadData.next(id);
86
+ }
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigurationsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
88
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigurationsService, providedIn: 'root' }); }
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigurationsService, decorators: [{
91
+ type: Injectable,
92
+ args: [{
93
+ providedIn: 'root',
94
+ }]
95
+ }], ctorParameters: function () { return []; } });
96
+
97
+ class ValueService {
98
+ constructor(breakpointObserver) {
99
+ this.breakpointObserver = breakpointObserver;
100
+ this.isXSmall$ = this.breakpointObserver
101
+ .observe([Breakpoints.XSmall])
102
+ .pipe(map((res) => res.matches));
103
+ this.isLtMedium$ = this.breakpointObserver
104
+ .observe([Breakpoints.XSmall, Breakpoints.Small])
105
+ .pipe(map((res) => res.matches));
106
+ }
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValueService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
108
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValueService, providedIn: 'root' }); }
109
+ }
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValueService, decorators: [{
111
+ type: Injectable,
112
+ args: [{
113
+ providedIn: 'root',
114
+ }]
115
+ }], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; } });
116
+
117
+ class ImageCropComponent {
118
+ constructor(dialogRef, configSvc, snackBar, valueSvc, data) {
119
+ this.dialogRef = dialogRef;
120
+ this.configSvc = configSvc;
121
+ this.snackBar = snackBar;
122
+ this.valueSvc = valueSvc;
123
+ this.data = new EventEmitter();
124
+ this.isRoundCrop = false;
125
+ this.isNotOfRequiredSize = false;
126
+ this.imageFileBase64 = '';
127
+ this.width = '';
128
+ this.height = '';
129
+ this.imageDimensions = '';
130
+ this.croppedHeight = '';
131
+ this.croppedWidth = '';
132
+ this.cropperReadyToStart = false;
133
+ this.fileName = '';
134
+ this.canvasRotation = 0;
135
+ this.transform = {};
136
+ this.resetValue = false;
137
+ this.isXSmall = false;
138
+ this.isThumbnail = true;
139
+ this.isRoundCrop = data.isRoundCrop;
140
+ if (data.imageFile) {
141
+ this.imageFile = data.imageFile;
142
+ }
143
+ if (data.imageFileName) {
144
+ this.fileName = data.imageFileName;
145
+ }
146
+ if (!data.isRoundCrop) {
147
+ if (data.height) {
148
+ this.opHeight = data.height;
149
+ }
150
+ if (data.width) {
151
+ this.opWidth = data.width;
152
+ }
153
+ }
154
+ }
155
+ ngOnInit() {
156
+ this.thumbnailSizeDetection();
157
+ this.valueSvc.isXSmall$.subscribe((isXSmall) => {
158
+ this.isXSmall = isXSmall;
159
+ if (this.isXSmall) {
160
+ this.dialogRef.updateSize('90%');
161
+ }
162
+ else {
163
+ this.dialogRef.updateSize('70%');
164
+ }
165
+ });
166
+ }
167
+ changeToDefaultImg($event) {
168
+ $event.target.src = this.configSvc.instanceConfig ?
169
+ this.configSvc.instanceConfig.logos.defaultContent : '';
170
+ }
171
+ imageCropped(event) {
172
+ this.imageFileBase64 = event.base64;
173
+ this.cropimageFile = this.base64ImageToBlob(this.imageFileBase64);
174
+ this.croppedHeight = event.height;
175
+ this.croppedWidth = event.width;
176
+ }
177
+ openSnackBar(message) {
178
+ this.snackBar.open(message, 'X', {
179
+ duration: 2000,
180
+ });
181
+ }
182
+ continueToImageCrop() {
183
+ this.isNotOfRequiredSize = false;
184
+ }
185
+ thumbnailSizeDetection() {
186
+ const fr = new FileReader();
187
+ fr.readAsDataURL(this.imageFile);
188
+ fr.onload = () => {
189
+ const img = new Image();
190
+ img.src = fr.result;
191
+ img.onload = () => {
192
+ this.width = img.width;
193
+ this.height = img.height;
194
+ if (!this.isRoundCrop) {
195
+ if ((this.height === this.opHeight) && (this.width === this.opWidth)) {
196
+ this.openSnackBar('Image is of the required dimensions of the thumbnail, croping is not available!');
197
+ return;
198
+ }
199
+ if ((this.height < this.opHeight) || (this.width < this.opWidth)) {
200
+ this.isNotOfRequiredSize = true;
201
+ }
202
+ }
203
+ };
204
+ };
205
+ }
206
+ base64ImageToBlob(str) {
207
+ const pos = str.indexOf(';base64,');
208
+ const b64 = str.substr(pos + 8);
209
+ const imageContent = atob(b64);
210
+ const buffer = new ArrayBuffer(imageContent.length);
211
+ const view = new Uint8Array(buffer);
212
+ for (let n = 0; n < imageContent.length; n = n + 1) {
213
+ view[n] = imageContent.charCodeAt(n);
214
+ }
215
+ const blob = new Blob([view], { type: 'image/png' });
216
+ const b = blob;
217
+ b.lastModifiedDate = new Date();
218
+ b.name = this.fileName;
219
+ const file = new File([blob], this.fileName, { type: 'image/jpeg' });
220
+ return file;
221
+ }
222
+ flipAfterRotate() {
223
+ const flippedH = this.transform.flipH;
224
+ const flippedV = this.transform.flipV;
225
+ this.transform = {
226
+ ...this.transform,
227
+ flipH: flippedV,
228
+ flipV: flippedH,
229
+ };
230
+ }
231
+ rotateLeft() {
232
+ this.canvasRotation = this.canvasRotation - 1;
233
+ this.flipAfterRotate();
234
+ }
235
+ rotateRight() {
236
+ this.canvasRotation = this.canvasRotation + 1;
237
+ this.flipAfterRotate();
238
+ }
239
+ flipHorizontal() {
240
+ this.transform = {
241
+ ...this.transform,
242
+ flipH: !this.transform.flipH,
243
+ };
244
+ }
245
+ zoom(event) {
246
+ this.resetValue = false;
247
+ this.transform = {
248
+ ...this.transform,
249
+ scale: event.value,
250
+ };
251
+ }
252
+ croppingImage() {
253
+ this.dialogRef.close(this.cropimageFile);
254
+ }
255
+ reset() {
256
+ this.resetValue = true;
257
+ this.canvasRotation = 0;
258
+ this.transform = {};
259
+ }
260
+ close() {
261
+ this.dialogRef.close();
262
+ }
263
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageCropComponent, deps: [{ token: i1$1.MatLegacyDialogRef }, { token: ConfigurationsService }, { token: i3.MatLegacySnackBar }, { token: ValueService }, { token: MAT_LEGACY_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
264
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ImageCropComponent, selector: "ws-utils-image-crop", outputs: { data: "data" }, ngImport: i0, template: "<ng-container *ngIf=\"isNotOfRequiredSize\">\r\n <mat-dialog-content>\r\n <div class=\"flex pl-4\">\r\n <mat-icon class=\"ws-mat-warn-text largeicon padding-remove-left\">warning</mat-icon>\r\n <h2 class=\"text-xl\" i18n>This image will appear stretched as it is not in proper dimension. Do you want to\r\n continue?</h2>\r\n </div>\r\n <div class=\"text-sm pl-4\">\r\n <div i18n class=\"pb-2\">Note:</div>\r\n <div i18n class=\"pb-2\">Required dimensions : 265 * 150</div>\r\n <div class=\"flex flex-wrap items-baseline\">\r\n <div>Current dimensions:</div>\r\n <div class=\"pl-1\">{{ width }} * {{ height }} px</div>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n <mat-dialog-actions class=\"flex flex-end\">\r\n <div class=\"flex flex-end\">\r\n <button mat-raised-button autofocus type=\"button\" (click)=\" close()\">\r\n <span i18n>No</span>\r\n </button>\r\n <button mat-raised-button type=\"button\" class=\"text-white ws-mat-primary-background text-white\"\r\n (click)=\" continueToImageCrop()\">\r\n <span class=\"text-white\" i18n>Yes</span>\r\n </button>\r\n </div>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n<ng-container *ngIf=\"isRoundCrop\">\r\n <!-- For Profile image - start -->\r\n <div class=\"flex flex-between\">\r\n <mat-icon class=\" ws-mat-primary-text margin-bottom-xxs\">crop</mat-icon>\r\n <p mat-dialog-title class=\"text-3xl font-weight-bold ws-mat-primary-text\" i18n>Profile Photo</p>\r\n <mat-icon class=\"float-right flex-end cursor-pointer\" (click)=\"close()\" i18n>close</mat-icon>\r\n\r\n </div>\r\n <mat-dialog-content class=\"p-0 overflow-hidden \" *ngIf=\"isRoundCrop\">\r\n <div class=\"flex flex-between\">\r\n <div class=\"profile-slides\">\r\n <image-cropper #imageCropper class=\"image-cropper-profile\" [imageFile]=\"imageFile\" [maintainAspectRatio]=\"true\"\r\n [aspectRatio]=\"250 / 250\" [resizeToWidth]=\"100\" [roundCropper]=\"isRoundCrop\" [resizeToHeight]=\"120\"\r\n [cropperMinWidth]=\"500\" [format]=\"'jpeg'\" [transform]=\"transform\" [canvasRotation]=\"canvasRotation\"\r\n (imageCropped)=\"imageCropped($event)\">\r\n </image-cropper>\r\n </div>\r\n </div>\r\n <ul class=\"toolbar cf\">\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"rotateLeft()\">\r\n <mat-icon class=\"text-white large-icon ws-mat-primary-text\">rotate_left</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Left</span>\r\n </button>\r\n </li>\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"rotateRight()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">rotate_right</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Right</span>\r\n </button></li>\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"flipHorizontal()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">flip</mat-icon>\r\n <span class=\"button-text\" i18n>Flip Horizontal</span>\r\n </button></li>\r\n <li><a href=\"#\"><i class=\"icon-cloud\"></i></a></li>\r\n </ul>\r\n </mat-dialog-content>\r\n</ng-container> <!-- For Profile image - end -->\r\n<ng-container>\r\n <ng-container *ngIf=\"!isNotOfRequiredSize && !isRoundCrop \">\r\n <div class=\"flex flex-between\">\r\n <mat-icon class=\" ws-mat-primary-text margin-bottom-xxs\">crop</mat-icon>\r\n <p mat-dialog-title class=\"text-3xl title-margin font-weight-bold ws-mat-primary-text\" i18n>Edit Image</p>\r\n <mat-icon class=\"float-right flex-end cursor-pointer\" (click)=\"close()\" i18n>\r\n close</mat-icon>\r\n </div>\r\n <mat-dialog-content *ngIf=\"!isRoundCrop\">\r\n <div class=\"flex flex-between\">\r\n <div class=\"Slides\">\r\n <image-cropper #imageCropper class=\"image-cropper padding-remove\" [imageFile]=\"imageFile\"\r\n [maintainAspectRatio]=\"true\" [aspectRatio]=\"opWidth / opHeight\" [resizeToWidth]=\"opWidth\"\r\n [roundCropper]=\"isRoundCrop\" [resizeToHeight]=\"opHeight\" [cropperMinWidth]=\"opWidth\" [format]=\"'jpeg'\"\r\n [transform]=\"transform\" [canvasRotation]=\"canvasRotation\" (imageCropped)=\"imageCropped($event)\">\r\n </image-cropper>\r\n <div class=\"flex flex-between\">\r\n <span class=\"my-3\" i18n>Zoom</span>\r\n <mat-slider class=\"w-full mx-3\" color=\"primary\" (input)=\"zoom($event)\" min=\"1\" max=\"2.5\" step=\"0.1\">\r\n </mat-slider>\r\n </div>\r\n <div class=\"edit-feature-window \" *ngIf=\"!isXSmall\">\r\n <div class=\"flex flex-between\">\r\n <button mat-raised-button class=\"mat-button\" (click)=\"rotateLeft()\">\r\n <mat-icon class=\"text-white large-icon ws-mat-primary-text\">rotate_left</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Left</span>\r\n </button>\r\n <button mat-raised-button class=\"mat-button\" (click)=\"rotateRight()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">rotate_right</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Right</span>\r\n </button>\r\n <button mat-raised-button class=\"mat-button\" (click)=\"flipHorizontal()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">flip</mat-icon>\r\n <span class=\"button-text\" i18n>Flip Horizontal</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <mat-card class=\"ws-mat-primary-border-top-bolder mat-elevation-z6 margin-bottom-l button-text\"\r\n *ngIf=\"isThumbnail\">\r\n <img [src]=\"imageFileBase64\" height=\"auto\" width=\"100%\" (error)=\"changeToDefaultImg($event)\" />\r\n <div class=\"flex flex-middle justify-center margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">image</mat-icon>\r\n <b class=\"mat-title margin-remove ws-mat-primary-text\" i18n>Preview</b>\r\n </div>\r\n </mat-card>\r\n </div>\r\n <div class=\"edit-feature-window heightwidth\">\r\n <!-- <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_horiz</mat-icon>\r\n <b class=\"mat-body margin-remove \" i18n>Cropped dimensions: {{ opWidth }} * {{ opHeight }} px</b>\r\n </div> -->\r\n <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_horiz</mat-icon>\r\n <b class=\"mat-body margin-remove \">\r\n <span i18n>Cropped Width: </span>\r\n <span>{{ croppedWidth }}</span>\r\n <span i18n>px</span>\r\n </b>\r\n </div>\r\n <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_vert</mat-icon>\r\n <b class=\"mat-body margin-remove \">\r\n <span i18n>Cropped Height: </span>\r\n <span>{{ croppedHeight }}</span>\r\n <span i18n>px</span>\r\n </b>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n </ng-container>\r\n <mat-dialog-actions align=\"end\" *ngIf=\"!isNotOfRequiredSize \">\r\n <div class=\"flex flex-end margin-bottom-s\">\r\n <!-- <button mat-raised-button type=\"button\" (click)=\" reset()\">\r\n <span i18n>Reset</span>\r\n </button> -->\r\n <button mat-raised-button type=\"button\" class=\"text-white ws-mat-primary-background text-white\"\r\n (click)=\" croppingImage()\">\r\n <span class=\"text-white\" i18n>Apply</span>\r\n </button>\r\n </div>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n", styles: [".image-cropper{max-height:55vh}::ng-deep image-cropper .overlay{background-color:transparent!important}.Slides{display:block;height:auto;width:50%;position:relative;margin-left:auto;margin-right:auto;padding:0 1.25em}@media only screen and (max-width: 1030px){.Slides{padding:0;width:100%}}.cursor{cursor:pointer}.edit-feature-window{background:transparent;justify-content:center}mat-toolbar{background-color:#fff!important;z-index:1!important}mat-dialog-content{padding:1.25em!important}@media only screen and (max-width: 1030px){mat-dialog-content{padding:.25em .5em!important}}.heightwidth{display:flex}@media only screen and (max-width: 1030px){.heightwidth{display:block}}@media only screen and (max-width: 1030px){.mat-button{min-width:auto;padding:0 14px}}.largeicon{font-size:2em;padding:.13em .5em}.tooltip{background:#b71c1c}.dimension-icon{position:relative;top:.35em;padding:0 0 0 .3em}@media only screen and (max-width: 1030px){.button-text{display:none}}.image-cropper-profile{max-height:55vh}.profile-slides{box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;display:block;height:auto;width:50%;position:relative;margin-left:auto;margin-right:auto}@media only screen and (max-width: 1030px){.profile-slides{padding:0;width:100%}}.toolbar{left:50%;margin:1em 0 0 -10em;position:absolute;width:auto;border-radius:4px}.cf:before,.cf:after{content:\"\";display:table}.cf:after{clear:both}.toolbar li{float:left;list-style:none}.toolbar a{border-left:0px solid rgba(79,123,170,.4);border-right:1px solid rgba(255,255,255,.3)}.toolbar li:first-child a{border-left:none;border-radius:4px 0 0 4px}.toolbar li:last-child a{border-right:none;border-radius:0 4px 4px 0}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "format", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "autoCrop", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "cropper", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1$1.MatLegacyDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$1.MatLegacyDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$1.MatLegacyDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i9.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i10.MatLegacySlider, selector: "mat-slider", inputs: ["disabled", "color", "tabIndex", "invert", "max", "min", "step", "thumbLabel", "tickInterval", "value", "displayWith", "valueText", "vertical"], outputs: ["change", "input", "valueChange"], exportAs: ["matSlider"] }] }); }
265
+ }
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageCropComponent, decorators: [{
267
+ type: Component,
268
+ args: [{ selector: 'ws-utils-image-crop', template: "<ng-container *ngIf=\"isNotOfRequiredSize\">\r\n <mat-dialog-content>\r\n <div class=\"flex pl-4\">\r\n <mat-icon class=\"ws-mat-warn-text largeicon padding-remove-left\">warning</mat-icon>\r\n <h2 class=\"text-xl\" i18n>This image will appear stretched as it is not in proper dimension. Do you want to\r\n continue?</h2>\r\n </div>\r\n <div class=\"text-sm pl-4\">\r\n <div i18n class=\"pb-2\">Note:</div>\r\n <div i18n class=\"pb-2\">Required dimensions : 265 * 150</div>\r\n <div class=\"flex flex-wrap items-baseline\">\r\n <div>Current dimensions:</div>\r\n <div class=\"pl-1\">{{ width }} * {{ height }} px</div>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n <mat-dialog-actions class=\"flex flex-end\">\r\n <div class=\"flex flex-end\">\r\n <button mat-raised-button autofocus type=\"button\" (click)=\" close()\">\r\n <span i18n>No</span>\r\n </button>\r\n <button mat-raised-button type=\"button\" class=\"text-white ws-mat-primary-background text-white\"\r\n (click)=\" continueToImageCrop()\">\r\n <span class=\"text-white\" i18n>Yes</span>\r\n </button>\r\n </div>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n<ng-container *ngIf=\"isRoundCrop\">\r\n <!-- For Profile image - start -->\r\n <div class=\"flex flex-between\">\r\n <mat-icon class=\" ws-mat-primary-text margin-bottom-xxs\">crop</mat-icon>\r\n <p mat-dialog-title class=\"text-3xl font-weight-bold ws-mat-primary-text\" i18n>Profile Photo</p>\r\n <mat-icon class=\"float-right flex-end cursor-pointer\" (click)=\"close()\" i18n>close</mat-icon>\r\n\r\n </div>\r\n <mat-dialog-content class=\"p-0 overflow-hidden \" *ngIf=\"isRoundCrop\">\r\n <div class=\"flex flex-between\">\r\n <div class=\"profile-slides\">\r\n <image-cropper #imageCropper class=\"image-cropper-profile\" [imageFile]=\"imageFile\" [maintainAspectRatio]=\"true\"\r\n [aspectRatio]=\"250 / 250\" [resizeToWidth]=\"100\" [roundCropper]=\"isRoundCrop\" [resizeToHeight]=\"120\"\r\n [cropperMinWidth]=\"500\" [format]=\"'jpeg'\" [transform]=\"transform\" [canvasRotation]=\"canvasRotation\"\r\n (imageCropped)=\"imageCropped($event)\">\r\n </image-cropper>\r\n </div>\r\n </div>\r\n <ul class=\"toolbar cf\">\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"rotateLeft()\">\r\n <mat-icon class=\"text-white large-icon ws-mat-primary-text\">rotate_left</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Left</span>\r\n </button>\r\n </li>\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"rotateRight()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">rotate_right</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Right</span>\r\n </button></li>\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"flipHorizontal()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">flip</mat-icon>\r\n <span class=\"button-text\" i18n>Flip Horizontal</span>\r\n </button></li>\r\n <li><a href=\"#\"><i class=\"icon-cloud\"></i></a></li>\r\n </ul>\r\n </mat-dialog-content>\r\n</ng-container> <!-- For Profile image - end -->\r\n<ng-container>\r\n <ng-container *ngIf=\"!isNotOfRequiredSize && !isRoundCrop \">\r\n <div class=\"flex flex-between\">\r\n <mat-icon class=\" ws-mat-primary-text margin-bottom-xxs\">crop</mat-icon>\r\n <p mat-dialog-title class=\"text-3xl title-margin font-weight-bold ws-mat-primary-text\" i18n>Edit Image</p>\r\n <mat-icon class=\"float-right flex-end cursor-pointer\" (click)=\"close()\" i18n>\r\n close</mat-icon>\r\n </div>\r\n <mat-dialog-content *ngIf=\"!isRoundCrop\">\r\n <div class=\"flex flex-between\">\r\n <div class=\"Slides\">\r\n <image-cropper #imageCropper class=\"image-cropper padding-remove\" [imageFile]=\"imageFile\"\r\n [maintainAspectRatio]=\"true\" [aspectRatio]=\"opWidth / opHeight\" [resizeToWidth]=\"opWidth\"\r\n [roundCropper]=\"isRoundCrop\" [resizeToHeight]=\"opHeight\" [cropperMinWidth]=\"opWidth\" [format]=\"'jpeg'\"\r\n [transform]=\"transform\" [canvasRotation]=\"canvasRotation\" (imageCropped)=\"imageCropped($event)\">\r\n </image-cropper>\r\n <div class=\"flex flex-between\">\r\n <span class=\"my-3\" i18n>Zoom</span>\r\n <mat-slider class=\"w-full mx-3\" color=\"primary\" (input)=\"zoom($event)\" min=\"1\" max=\"2.5\" step=\"0.1\">\r\n </mat-slider>\r\n </div>\r\n <div class=\"edit-feature-window \" *ngIf=\"!isXSmall\">\r\n <div class=\"flex flex-between\">\r\n <button mat-raised-button class=\"mat-button\" (click)=\"rotateLeft()\">\r\n <mat-icon class=\"text-white large-icon ws-mat-primary-text\">rotate_left</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Left</span>\r\n </button>\r\n <button mat-raised-button class=\"mat-button\" (click)=\"rotateRight()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">rotate_right</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Right</span>\r\n </button>\r\n <button mat-raised-button class=\"mat-button\" (click)=\"flipHorizontal()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">flip</mat-icon>\r\n <span class=\"button-text\" i18n>Flip Horizontal</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <mat-card class=\"ws-mat-primary-border-top-bolder mat-elevation-z6 margin-bottom-l button-text\"\r\n *ngIf=\"isThumbnail\">\r\n <img [src]=\"imageFileBase64\" height=\"auto\" width=\"100%\" (error)=\"changeToDefaultImg($event)\" />\r\n <div class=\"flex flex-middle justify-center margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">image</mat-icon>\r\n <b class=\"mat-title margin-remove ws-mat-primary-text\" i18n>Preview</b>\r\n </div>\r\n </mat-card>\r\n </div>\r\n <div class=\"edit-feature-window heightwidth\">\r\n <!-- <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_horiz</mat-icon>\r\n <b class=\"mat-body margin-remove \" i18n>Cropped dimensions: {{ opWidth }} * {{ opHeight }} px</b>\r\n </div> -->\r\n <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_horiz</mat-icon>\r\n <b class=\"mat-body margin-remove \">\r\n <span i18n>Cropped Width: </span>\r\n <span>{{ croppedWidth }}</span>\r\n <span i18n>px</span>\r\n </b>\r\n </div>\r\n <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_vert</mat-icon>\r\n <b class=\"mat-body margin-remove \">\r\n <span i18n>Cropped Height: </span>\r\n <span>{{ croppedHeight }}</span>\r\n <span i18n>px</span>\r\n </b>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n </ng-container>\r\n <mat-dialog-actions align=\"end\" *ngIf=\"!isNotOfRequiredSize \">\r\n <div class=\"flex flex-end margin-bottom-s\">\r\n <!-- <button mat-raised-button type=\"button\" (click)=\" reset()\">\r\n <span i18n>Reset</span>\r\n </button> -->\r\n <button mat-raised-button type=\"button\" class=\"text-white ws-mat-primary-background text-white\"\r\n (click)=\" croppingImage()\">\r\n <span class=\"text-white\" i18n>Apply</span>\r\n </button>\r\n </div>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n", styles: [".image-cropper{max-height:55vh}::ng-deep image-cropper .overlay{background-color:transparent!important}.Slides{display:block;height:auto;width:50%;position:relative;margin-left:auto;margin-right:auto;padding:0 1.25em}@media only screen and (max-width: 1030px){.Slides{padding:0;width:100%}}.cursor{cursor:pointer}.edit-feature-window{background:transparent;justify-content:center}mat-toolbar{background-color:#fff!important;z-index:1!important}mat-dialog-content{padding:1.25em!important}@media only screen and (max-width: 1030px){mat-dialog-content{padding:.25em .5em!important}}.heightwidth{display:flex}@media only screen and (max-width: 1030px){.heightwidth{display:block}}@media only screen and (max-width: 1030px){.mat-button{min-width:auto;padding:0 14px}}.largeicon{font-size:2em;padding:.13em .5em}.tooltip{background:#b71c1c}.dimension-icon{position:relative;top:.35em;padding:0 0 0 .3em}@media only screen and (max-width: 1030px){.button-text{display:none}}.image-cropper-profile{max-height:55vh}.profile-slides{box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;display:block;height:auto;width:50%;position:relative;margin-left:auto;margin-right:auto}@media only screen and (max-width: 1030px){.profile-slides{padding:0;width:100%}}.toolbar{left:50%;margin:1em 0 0 -10em;position:absolute;width:auto;border-radius:4px}.cf:before,.cf:after{content:\"\";display:table}.cf:after{clear:both}.toolbar li{float:left;list-style:none}.toolbar a{border-left:0px solid rgba(79,123,170,.4);border-right:1px solid rgba(255,255,255,.3)}.toolbar li:first-child a{border-left:none;border-radius:4px 0 0 4px}.toolbar li:last-child a{border-right:none;border-radius:0 4px 4px 0}\n"] }]
269
+ }], ctorParameters: function () { return [{ type: i1$1.MatLegacyDialogRef }, { type: ConfigurationsService }, { type: i3.MatLegacySnackBar }, { type: ValueService }, { type: undefined, decorators: [{
270
+ type: Inject,
271
+ args: [MAT_LEGACY_DIALOG_DATA]
272
+ }] }]; }, propDecorators: { data: [{
273
+ type: Output
274
+ }] } });
275
+
276
+ class ImageCropModule {
277
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageCropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
278
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ImageCropModule, declarations: [ImageCropComponent], imports: [CommonModule,
279
+ ImageCropperModule,
280
+ MatIconModule,
281
+ MatLegacyButtonModule,
282
+ MatLegacyDialogModule,
283
+ MatToolbarModule,
284
+ MatLegacyDialogModule,
285
+ MatLegacyCardModule,
286
+ MatLegacyTooltipModule,
287
+ MatLegacySliderModule], exports: [ImageCropComponent] }); }
288
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageCropModule, imports: [CommonModule,
289
+ ImageCropperModule,
290
+ MatIconModule,
291
+ MatLegacyButtonModule,
292
+ MatLegacyDialogModule,
293
+ MatToolbarModule,
294
+ MatLegacyDialogModule,
295
+ MatLegacyCardModule,
296
+ MatLegacyTooltipModule,
297
+ MatLegacySliderModule] }); }
298
+ }
299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageCropModule, decorators: [{
300
+ type: NgModule,
301
+ args: [{
302
+ declarations: [ImageCropComponent],
303
+ imports: [
304
+ CommonModule,
305
+ ImageCropperModule,
306
+ MatIconModule,
307
+ MatLegacyButtonModule,
308
+ MatLegacyDialogModule,
309
+ MatToolbarModule,
310
+ MatLegacyDialogModule,
311
+ MatLegacyCardModule,
312
+ MatLegacyTooltipModule,
313
+ MatLegacySliderModule,
314
+ ],
315
+ exports: [ImageCropComponent]
316
+ }]
317
+ }] });
318
+
319
+ var EFeatures;
320
+ (function (EFeatures) {
321
+ EFeatures["PLAYLIST"] = "playlist";
322
+ EFeatures["PLAYLIST_CREATE"] = "playlistCreate";
323
+ EFeatures["PLAYLIST_ADD_NEW_CONTENT"] = "playlistAddNewContent";
324
+ EFeatures["PLAYLIST_REMOVE_EXISTING_CONTENT"] = "playlistRemoveExistingContent";
325
+ EFeatures["PLAYLIST_DELETE"] = "playlistDelete";
326
+ EFeatures["PLAYLIST_SHARE"] = "playlistShare";
327
+ EFeatures["GOAL"] = "goal";
328
+ EFeatures["GOAL_CREATE_OWN"] = "goalCreateOwn";
329
+ EFeatures["GOAL_CREATE_SUGGESTED"] = "goalCreateSuggested";
330
+ EFeatures["GOAL_EDIT_EXISTING_GOAL"] = "goalEditExistingGoal";
331
+ EFeatures["GOAL_DELETE_EXISTING_GOAL"] = "goalDeleteExistingGoal";
332
+ EFeatures["GOAL_SHARE_GOAL_WITH_OTHERS"] = "goalShareGoalWithOthers";
333
+ EFeatures["GOAL_VIEW_ALL_GOALS_SECTION"] = "goalViewAllGoalsSection";
334
+ EFeatures["GOAL_VIEW_IN_PROGRESS_GOALS_SECTION"] = "goalViewInProgressGoalsSection";
335
+ EFeatures["GOAL_VIEW_COMPLETED_GOALS_SECTION"] = "goalViewCompletedGoalsSection";
336
+ EFeatures["NAVIGATOR"] = "navigator";
337
+ EFeatures["NAVIGATOR_VIEW_NAVIGATOR_CAROUSEL"] = "navigatorViewNavigatorCarousel";
338
+ EFeatures["NAVIGATOR_VIEW_ROLES_PAGE"] = "navigatorViewRolesPage";
339
+ EFeatures["NAVIGATOR_SELECT_ANY_PILLAR"] = "navigatorSelectAnyPillar";
340
+ EFeatures["NAVIGATOR_PURSUE_ANY_OFFERING"] = "navigatorPursueAnyOffering";
341
+ EFeatures["NAVIGATOR_CREATE_GOAL_FROM_OFFERING"] = "navigatorCreateGoalFromOffering";
342
+ EFeatures["NAVIGATOR_VIEW_EXPLORE_PAGE"] = "navigatorViewExplorePage";
343
+ EFeatures["NAVIGATOR_SELECT_ANY_LEARNING_PATH"] = "navigatorSelectAnyLearningPath";
344
+ EFeatures["NAVIGATOR_CREATE_GOAL_FROM_LEARNING_PATH"] = "navigatorCreateGoalFromLearningPath";
345
+ EFeatures["NAVIGATOR_VIEW_SUGGESTIONS_PAGE"] = "navigatorViewSuggestionsPage";
346
+ EFeatures["NAVIGATOR_SELECT_SUGGESTED_TOPICS"] = "navigatorSelectSuggestedTopics";
347
+ EFeatures["NAVIGATOR_GET_SUGGESTIONS_OF_SELECTED_TOPICS"] = "navigatorGetSuggestionsOfSelectedTopics";
348
+ EFeatures["NAVIGATOR_CREATE_GOAL_FROM_SELECTED_LEARNING_PATHS"] = "navigatorCreateGoalFromSelectedLearningPaths";
349
+ EFeatures["NAVIGATOR_VIEW_INDUSTRIES_PAGE"] = "navigatorViewIndustriesPage";
350
+ EFeatures["NAVIGATOR_VIEW_CME_PAGE"] = "navigatorViewCmePage";
351
+ EFeatures["NAVIGATOR_SELECT_SUBDOMAIN"] = "navigatorSelectSubdomain";
352
+ EFeatures["NAVIGATOR_SELECT_PILLAR"] = "navigatorSelectPillar";
353
+ EFeatures["NAVIGATOR_SELECT_THEME"] = "navigatorSelectTheme";
354
+ EFeatures["NAVIGATOR_VIEW_CPG_PAGE"] = "navigatorViewCpgPage";
355
+ EFeatures["NAVIGATOR_VIEW_ENERGY_PAGE"] = "navigatorViewEnergyPage";
356
+ EFeatures["NAVIGATOR_VIEW_FINANCIAL_SERVICES_PAGE"] = "navigatorViewFinancialServicesPage";
357
+ EFeatures["NAVIGATOR_VIEW_HEALTH_CARE_PAGE"] = "navigatorViewHealthCarePage";
358
+ EFeatures["NAVIGATOR_VIEW_INSURANCE_PAGE"] = "navigatorViewInsurancePage";
359
+ EFeatures["NAVIGATOR_VIEW_LIFE_SCIENCES_PAGE"] = "navigatorViewLifeSciencesPage";
360
+ EFeatures["NAVIGATOR_VIEW_MFG_PAGE"] = "navigatorViewMfgPage";
361
+ EFeatures["NAVIGATOR_VIEW_RETAIL_PAGE"] = "navigatorViewRetailPage";
362
+ EFeatures["NAVIGATOR_VIEW_TRAVEL_AND_HOSPITALITY_PAGE"] = "navigatorViewTravelAndHospitalityPage";
363
+ EFeatures["NAVIGATOR_VIEW_UTILITIES_PAGE"] = "navigatorViewUtilitiesPage";
364
+ EFeatures["NAVIGATOR_VIEW_CME_ANALYTICS"] = "navigatorViewCmeAnalytics";
365
+ EFeatures["NAVIGATOR_VIEW_GPG_ANALYTICS"] = "navigatorViewGpgAnalytics";
366
+ EFeatures["NAVIGATOR_VIEW_ENERGY_ANALYTICS"] = "navigatorViewEnergyAnalytics";
367
+ EFeatures["NAVIGATOR_VIEW_FINANCIAL_SERVICES_ANALYTICS"] = "navigatorViewFinancialServicesAnalytics";
368
+ EFeatures["NAVIGATOR_VIEW_HEALTH_CARE_ANALYTICS"] = "navigatorViewHealthCareAnalytics";
369
+ EFeatures["NAVIGATOR_VIEW_INSURANCE_ANALYTICS"] = "navigatorViewInsuranceAnalytics";
370
+ EFeatures["NAVIGATOR_VIEW_LIFE_SCIENCES_ANALYTICS"] = "navigatorViewLifeSciencesAnalytics";
371
+ EFeatures["NAVIGATOR_VIEW_MFG_ANALYTICS"] = "navigatorViewMfgAnalytics";
372
+ EFeatures["NAVIGATOR_VIEW_RETAIL_ANALYTICS"] = "navigatorViewRetailAnalytics";
373
+ EFeatures["NAVIGATOR_VIEW_TRAVEL_AND_HOSPITALITY_ANALYTICS"] = "navigatorViewTravelAndHospitalityAnalytics";
374
+ EFeatures["NAVIGATOR_VIEW_UTILITIES_ANALYTICS"] = "navigatorViewUtilitiesAnalytics";
375
+ EFeatures["NAVIGATOR_VIEW_PILLARS_PAGE"] = "navigatorViewPillarsPage";
376
+ EFeatures["NAVIGATOR_VIEW_DIFFERENT_COURSES_IN_PILLAR"] = "navigatorViewDifferentCoursesInPillar";
377
+ EFeatures["NAVIGATOR_VIEW_FULL_STACK_PAGE"] = "navigatorViewFullStackPage";
378
+ EFeatures["NAVIGATOR_VIEW_DIFFERENT_FULL_STACK_PROGRAMS"] = "navigatorViewDifferentFullStackPrograms";
379
+ EFeatures["CATALOG"] = "catalog";
380
+ EFeatures["CATALOG_VIEW_CATALOG_LIST"] = "catalogViewCatalogList";
381
+ EFeatures["CATALOG_SELECT_ITEM_FROM_CATALOG_LIST"] = "catalogSelectItemFromCatalogList";
382
+ EFeatures["CATALOG_VIEW_PROGRAMS_STRIP"] = "catalogViewProgramsStrip";
383
+ EFeatures["CATALOG_VIEW_COURSES_STRIP"] = "catalogViewCoursesStrip";
384
+ EFeatures["CATALOG_VIEW_LEARNING_MODULES_STRIP"] = "catalogViewLearningModulesStrip";
385
+ EFeatures["CATALOG_VIEW_RESOURCES_STRIP"] = "catalogViewResourcesStrip";
386
+ EFeatures["MARKETING_PAGE"] = "marketingPage";
387
+ EFeatures["MARKETING_PAGE_VIEW_BRAND_ASSETS_PAGE"] = "marketingPageViewBrandAssetsPage";
388
+ EFeatures["MARKETING_PAGE_VIEW_CORPORATE_STRIP"] = "marketingPageViewCorporateStrip";
389
+ EFeatures["MARKETING_PAGE_VIEW_EMPLOYEE_STRIP"] = "marketingPageViewEmployeeStrip";
390
+ EFeatures["MARKETING_PAGE_VIEW_EXPERIMENTAL_SHOWCASE_PAGE"] = "marketingPageViewExperimentalShowcasePage";
391
+ EFeatures["MARKETING_PAGE_VIEW_HUBS_PAGE"] = "marketingPageViewHubsPage";
392
+ EFeatures["MARKETING_PAGE_VIEW_CONNECTICUT_STRIP"] = "marketingPageViewConnecticutStrip";
393
+ EFeatures["MARKETING_PAGE_VIEW_INDIANA_STRIP"] = "marketingPageViewIndianaStrip";
394
+ EFeatures["MARKETING_PAGE_VIEW_RHODE_ISLAND_STRIP"] = "marketingPageViewRhodeIslandStrip";
395
+ EFeatures["MARKETING_PAGE_VIEW_CLIENT_STORIES_PAGE"] = "marketingPageViewClientStoriesPage";
396
+ EFeatures["MARKETING_PAGE_VIEW_AGILE_SCALE_AT_DIGITAL_STRIP"] = "marketingPageViewAgileScaleAtDigitalStrip";
397
+ EFeatures["MARKETING_PAGE_VIEW_AI_POWERED_CORE_STRIP"] = "marketingPageViewAiPoweredCoreStrip";
398
+ EFeatures["MARKETING_PAGE_VIEW_ALWAYS_ON_LEAVING_STRIP"] = "marketingPageViewAlwaysOnLeavingStrip";
399
+ EFeatures["MARKETING_PAGE_VIEW_SERVICES_PAGE"] = "marketingPageViewServicesPage";
400
+ EFeatures["MARKETING_PAGE_VIEW_SERVICES_PENTAGON"] = "marketingPageViewServicesPentagon";
401
+ EFeatures["MARKETING_PAGE_VIEW_OFFERINGS_LIST"] = "marketingPageViewOfferingsList";
402
+ EFeatures["MARKETING_PAGE_SELECT_ANY_OFFERING"] = "marketingPageSelectAnyOffering";
403
+ EFeatures["MARKETING_PAGE_SELECT_ANY_PILLAR_FROM_PENTAGON"] = "marketingPageSelectAnyPillarFromPentagon";
404
+ EFeatures["MARKETING_PAGE_VIEW_INDUSTRIES_PAGE"] = "marketingPageViewIndustriesPage";
405
+ EFeatures["MARKETING_PAGE_VIEW_INDUSTRIES_LIST"] = "marketingPageViewIndustriesList";
406
+ EFeatures["MARKETING_PAGE_SELECT_ANY_INDUSTRY"] = "marketingPageSelectAnyIndustry";
407
+ EFeatures["MARKETING_PAGE_VIEW_PRODUCT_AND_SUBSIDIARIES_PAGE"] = "marketingPageViewProductAndSubsidiariesPage";
408
+ EFeatures["MARKETING_PAGE_VIEW_PRODUCT_AND_SUBSIDIARIES_LIST"] = "marketingPageViewProductAndSubsidiariesList";
409
+ EFeatures["MARKETING_PAGE_SELECT_ANY_PRODUCT_AND_SUBSIDIARY"] = "marketingPageSelectAnyProductAndSubsidiary";
410
+ EFeatures["INTERESTS"] = "interests";
411
+ EFeatures["INTERESTS_ADD_INTERESTS_FROM_SEARCH"] = "interestsAddInterestsFromSearch";
412
+ EFeatures["INTERESTS_ADD_INTERESTS_FROM_OUR_SUGGESTIONS_SECTION"] = "interestsAddInterestsFromOurSuggestionsSection";
413
+ EFeatures["INTERESTS_REMOVE_INTERESTS_FROM_MY_INTERESTS_SECTION"] = "interestsRemoveInterestsFromMyInterestsSection";
414
+ EFeatures["INTERESTS_VIEW_INTERESTS_SEARCH_FIELD"] = "interestsViewInterestsSearchField";
415
+ EFeatures["INTERESTS_VIEW_MY_INTERESTS_SECTION"] = "interestsViewMyInterestsSection";
416
+ EFeatures["INTERESTS_VIEW_OWN_SUGGESTIONS_SECTION"] = "interestsViewOwnSuggestionsSection";
417
+ EFeatures["INTERESTS_VIEW_MORE_SUGGESTIONS_BUTTON"] = "interestsViewMoreSuggestionsButton";
418
+ EFeatures["FEEDBACK"] = "feedback";
419
+ EFeatures["FEEDBACK_VIEW_PLATFORM_FEEDBACK_SECTION"] = "feedbackViewPlatformFeedbackSection";
420
+ EFeatures["FEEDBACK_STAR_RATING_FOR_PLATFORM"] = "feedbackStarRatingForPlatform";
421
+ EFeatures["FEEDBACK_WRITE_PLATFORM_FEEDBACK"] = "feedbackWritePlatformFeedback";
422
+ EFeatures["FEEDBACK_RESET_PLATFORM_FEEDBACK"] = "feedbackResetPlatformFeedback";
423
+ EFeatures["FEEDBACK_SUBMIT_PLATFORM_FEEDBACK"] = "feedbackSubmitPlatformFeedback";
424
+ EFeatures["FEEDBACK_VIEW_CONTENT_FEEDBACK_SECTION"] = "feedbackViewContentFeedbackSection";
425
+ EFeatures["FEEDBACK_STAR_RATING_FOR_CONTENT"] = "feedbackStarRatingForContent";
426
+ EFeatures["FEEDBACK_WRITE_CONTENT_FEEDBACK"] = "feedbackWriteContentFeedback";
427
+ EFeatures["FEEDBACK_RESET_CONTENT_FEEDBACK"] = "feedbackResetContentFeedback";
428
+ EFeatures["FEEDBACK_SUBMIT_CONTENT_FEEDBACK"] = "feedbackSubmitContentFeedback";
429
+ EFeatures["FEEDBACK_VIEW_ISSUE_REPORTING_SECTION"] = "feedbackViewIssueReportingSection";
430
+ EFeatures["FEEDBACK_WRITING_ISSUE"] = "feedbackWritingIssue";
431
+ EFeatures["FEEDBACK_RESET_ISSUE"] = "feedbackResetIssue";
432
+ EFeatures["FEEDBACK_SUBMIT_ISSUE"] = "feedbackSubmitIssue";
433
+ EFeatures["CONTACT_US"] = "contactUs";
434
+ EFeatures["CONTACT_US_VIEW_RAISE_AHD_SECTION"] = "contactUsViewRaiseAhdSection";
435
+ EFeatures["CONTACT_US_VIEW_MAIL_US_SECTION"] = "contactUsViewMailUsSection";
436
+ EFeatures["CONTACT_US_VIEW_TALK_TO_US_SECTION"] = "contactUsViewTalkToUsSection";
437
+ EFeatures["CONTACT_US_RAISE_AHD"] = "contactUsRaiseAhd";
438
+ EFeatures["CONTACT_US_WRITE_EMAIL"] = "contactUsWriteEmail";
439
+ EFeatures["CONTACT_US_DIAL_FROM_PHONE"] = "contactUsDialFromPhone";
440
+ EFeatures["FAQ"] = "faq";
441
+ EFeatures["FAQ_VIEW_LOGIN_FAQS"] = "faqViewLoginFaqs";
442
+ EFeatures["FAQ_VIEW_ODC_ACCESS_FAQS"] = "faqViewOdcAccessFaqs";
443
+ EFeatures["FAQ_VIEW_COMPATIBILITY_FAQS"] = "faqViewCompatibilityFaqs";
444
+ EFeatures["FAQ_VIEW_INSTALLATION_FAQS"] = "faqViewInstallationFaqs";
445
+ EFeatures["FAQ_VIEW_PROGRESS_COMPLETION_FAQS"] = "faqViewProgressCompletionFaqs";
446
+ EFeatures["FAQ_VIEW_VIDEO_FAQS"] = "faqViewVideoFaqs";
447
+ EFeatures["FAQ_VIEW_AUTHORING_FAQS"] = "faqViewAuthoringFaqs";
448
+ EFeatures["MOBILE_APPS"] = "mobileApps";
449
+ EFeatures["MOBILE_APPS_VIEW_ANDROID_APP_SECTION"] = "mobileAppsViewAndroidAppSection";
450
+ EFeatures["MOBILE_APPS_DOWNLOAD_APP_FROM_PLAY_STORE"] = "mobileAppsDownloadAppFromPlayStore";
451
+ EFeatures["MOBILE_APPS_DOWNLOAD_APP_FROM_OUR_SERVER"] = "mobileAppsDownloadAppFromOurServer";
452
+ EFeatures["MOBILE_APPS_VIEW_QR_CODE_FOR_ANDROID_APP"] = "mobileAppsViewQrCodeForAndroidApp";
453
+ EFeatures["MOBILE_APPS_VIEW_IOS_APP_SECTION"] = "mobileAppsViewIosAppSection";
454
+ EFeatures["MOBILE_APPS_DOWNLOAD_IOS_APP"] = "mobileAppsDownloadIosApp";
455
+ EFeatures["MOBILE_APPS_VIEW_QR_CODE_FOR_IOS_APP"] = "mobileAppsViewQrCodeForIosApp";
456
+ EFeatures["ABOUT_US"] = "aboutUs";
457
+ EFeatures["ABOUT_US_VIEW_ABOUT_US_PAGE_SECTIONS"] = "aboutUsViewAboutUsPageSections";
458
+ EFeatures["SETTINGS"] = "settings";
459
+ EFeatures["SETTINGS_VIEW_LANGUAGE_SECTION"] = "settingsViewLanguageSection";
460
+ EFeatures["SETTINGS_VIEW_FONT_SIZE_SECTION"] = "settingsViewFontSizeSection";
461
+ EFeatures["SETTINGS_VIEW_THEME_SECTION"] = "settingsViewThemeSection";
462
+ EFeatures["SETTINGS_CHANGE_LANGUAGE"] = "settingsChangeLanguage";
463
+ EFeatures["SETTINGS_CHANGE_FONT_SIZE"] = "settingsChangeFontSize";
464
+ EFeatures["SETTINGS_CHANGE_THEME"] = "settingsChangeTheme";
465
+ EFeatures["LOGIN_PAGE"] = "loginPage";
466
+ EFeatures["LOGIN_PAGE_LOGIN_FOR_INFOSCIONS"] = "loginPageLoginForInfoscions";
467
+ EFeatures["LOGIN_PAGE_LOGIN_FOR_SUBSIDIARIES"] = "loginPageLoginForSubsidiaries";
468
+ EFeatures["LOGIN_PAGE_LOGIN_FOR_NEW_RECRUITS"] = "loginPageLoginForNewRecruits";
469
+ EFeatures["LOGIN_PAGE_ABOUT_US"] = "loginPageAboutUs";
470
+ EFeatures["LOGIN_PAGE_TERMS_OF_USE"] = "loginPageTermsOfUse";
471
+ EFeatures["LOGIN_PAGE_FAQS"] = "loginPageFaqs";
472
+ EFeatures["LOGIN_PAGE_CONTACT_US"] = "loginPageContactUs";
473
+ EFeatures["TOC_PAGE"] = "tocPage";
474
+ EFeatures["TOC_PAGE_VIEW_OVERVIEW_SECTION"] = "tocPageViewOverviewSection";
475
+ EFeatures["TOC_PAGE_VIEW_INSTRUCTOR_LED_SECTION"] = "tocPageViewInstructorLedSection";
476
+ EFeatures["TOC_PAGE_VIEW_COHORTS_SECTION"] = "tocPageViewCohortsSection";
477
+ EFeatures["TOC_PAGE_VIEW_DISCUSSION_FORUM_SECTION"] = "tocPageViewDiscussionForumSection";
478
+ EFeatures["TOC_PAGE_VIEW_COURSE_ANALYTICS_SECTION"] = "tocPageViewCourseAnalyticsSection";
479
+ EFeatures["TOC_PAGE_VIEW_WHATS_NEXT_SECTION"] = "tocPageViewWhatsNextSection";
480
+ EFeatures["TOC_PAGE_VIEW_PART_OF_SECTION"] = "tocPageViewPartOfSection";
481
+ EFeatures["TOC_PAGE_REGISTER_FOR_UPCOMING_TRAINING"] = "tocPageRegisterForUpcomingTraining";
482
+ EFeatures["TOC_PAGE_UNREGISTER_FROM_REGISTERED_TRAINING"] = "tocPageUnregisterFromRegisteredTraining";
483
+ EFeatures["TOC_PAGE_SHARE_INSTRUCTOR_LED_TRAININGS"] = "tocPageShareInstructorLedTrainings";
484
+ EFeatures["TOC_PAGE_VIEW_EDUCATORS_OF_TRAININGS"] = "tocPageViewEducatorsOfTrainings";
485
+ EFeatures["TOC_PAGE_NOMINATE_OTHERS_FOR_TRAININGS"] = "tocPageNominateOthersForTrainings";
486
+ EFeatures["TOC_PAGE_REQUEST_TRAINING"] = "tocPageRequestTraining";
487
+ EFeatures["TOC_PAGE_VIEW_ACTIVE_LEARNERS_SECTION"] = "tocPageViewActiveLearnersSection";
488
+ EFeatures["TOC_PAGE_VIEW_ALL_ACTIVE_LEARNERS"] = "tocPageViewAllActiveLearners";
489
+ EFeatures["TOC_PAGE_VIEW_CURRENTLY_ACTIVE_LEARNERS"] = "tocPageViewCurrentlyActiveLearners";
490
+ EFeatures["TOC_PAGE_VIEW_LEARNERS_SHARING_THE_SAME_GOALS"] = "tocPageViewLearnersSharingTheSameGoals";
491
+ EFeatures["TOC_PAGE_VIEW_EXPERTS_AND_TUTORS_SECTION"] = "tocPageViewExpertsAndTutorsSection";
492
+ EFeatures["TOC_PAGE_VIEW_ALL_EXPERTS_AND_TUTORS"] = "tocPageViewAllExpertsAndTutors";
493
+ EFeatures["TOC_PAGE_VIEW_AUTHORS_OF_COURSE"] = "tocPageViewAuthorsOfCourse";
494
+ EFeatures["TOC_PAGE_VIEW_EDUCATORS_OF_COURSE"] = "tocPageViewEducatorsOfCourse";
495
+ EFeatures["TOC_PAGE_VIEW_TOPPERS_OF_COURSE"] = "tocPageViewToppersOfCourse";
496
+ EFeatures["TOC_PAGE_MAIL_THE_PERSON"] = "tocPageMailThePerson";
497
+ EFeatures["TOC_PAGE_CALL_THE_PERSON"] = "tocPageCallThePerson";
498
+ EFeatures["TOC_PAGE_POST_VIEWS_IN_DISCUSSION_FORUM"] = "tocPagePostViewsInDiscussionForum";
499
+ EFeatures["TOC_PAGE_LEARN_THE_COURSE"] = "tocPageLearnTheCourse";
500
+ EFeatures["TOC_PAGE_LIKE_THE_COURSE"] = "tocPageLikeTheCourse";
501
+ EFeatures["TOC_PAGE_SHARE_THE_COURSE"] = "tocPageShareTheCourse";
502
+ EFeatures["TOC_PAGE_ADD_COURSE_TO_GOALS"] = "tocPageAddCourseToGoals";
503
+ EFeatures["TOC_PAGE_ADD_COURSE_TO_PLAYLIST"] = "tocPageAddCourseToPlaylist";
504
+ EFeatures["TOC_PAGE_ADD_COURSE_TO_WATCHLIST"] = "tocPageAddCourseToWatchlist";
505
+ EFeatures["TOC_PAGE_GIVE_COURSE_FEEDBACK"] = "tocPageGiveCourseFeedback";
506
+ EFeatures["TOC_PAGE_RESUME_THE_COURSE"] = "tocPageResumeTheCourse";
507
+ EFeatures["TOC_PAGE_START_OVER_THE_COURSE"] = "tocPageStartOverTheCourse";
508
+ EFeatures["TOC_PAGE_GO_TO_COURSE_QUIZ"] = "tocPageGoToCourseQuiz";
509
+ EFeatures["TOC_PAGE_GO_TO_COURSE_HANDS_ON"] = "tocPageGoToCourseHandsOn";
510
+ EFeatures["NAVBAR"] = "navbar";
511
+ EFeatures["NAVBAR_VIEW_LOGO"] = "navbarViewLogo";
512
+ EFeatures["NAVBAR_CATALOG_ICON"] = "navbarCatalogIcon";
513
+ EFeatures["NAVBAR_NAVIGATOR_ICON"] = "navbarNavigatorIcon";
514
+ EFeatures["NAVBAR_NOTIFICATION_ICON"] = "navbarNotificationIcon";
515
+ EFeatures["NAVBAR_SETTINGS_ICON"] = "navbarSettingsIcon";
516
+ EFeatures["NAVBAR_SEARCH_ICON"] = "navbarSearchIcon";
517
+ EFeatures["NAVBAR_APPS_ICON"] = "navbarAppsIcon";
518
+ EFeatures["HOME_PAGE"] = "homePage";
519
+ EFeatures["HOME_PAGE_VIEW_CAROUSEL"] = "homePageViewCarousel";
520
+ EFeatures["HOME_PAGE_VIEW_CONTINUE_LEARNING_STRIP"] = "homePageViewContinueLearningStrip";
521
+ EFeatures["HOME_PAGE_VIEW_FEATURED_APPS_STRIP"] = "homePageViewFeaturedAppsStrip";
522
+ EFeatures["HOME_PAGE_VIEW_RECENT_ADDITION_TO_PLAYLISTS_STRIP"] = "homePageViewRecentAdditionToPlaylistsStrip";
523
+ EFeatures["HOME_PAGE_VIEW_BASED_ON_YOUR_INTERESTS_STRIP"] = "homePageViewBasedOnYourInterestsStrip";
524
+ EFeatures["HOME_PAGE_VIEW_BASED_ON_WHAT_YOU_VIEWED_STRIP"] = "homePageViewBasedOnWhatYouViewedStrip";
525
+ EFeatures["HOME_PAGE_VIEW_LATEST_STRIP"] = "homePageViewLatestStrip";
526
+ EFeatures["HOME_PAGE_VIEW_TRENDING_STRIP"] = "homePageViewTrendingStrip";
527
+ EFeatures["HOME_PAGE_SHOW_COMPLETED_FILTER"] = "homePageShowCompletedFilter";
528
+ EFeatures["HOME_PAGE_SHOW_RESOURCES_FILTER"] = "homePageShowResourcesFilter";
529
+ EFeatures["TNC_PAGE"] = "tncPage";
530
+ EFeatures["TNC_PAGE_VIEW_CONTEST_RULES_SECTION"] = "tncPageViewContestRulesSection";
531
+ EFeatures["TNC_PAGE_VIEW_DATA_PRIVACY_SECTION"] = "tncPageViewDataPrivacySection";
532
+ EFeatures["TNC_PAGE_ACCEPT_TERMS_AND_CONDITIONS"] = "tncPageAcceptTermsAndConditions";
533
+ EFeatures["BLOGS"] = "blogs";
534
+ EFeatures["BLOG_VIEW_OTHERS_BLOGS"] = "blogViewOthersBlogs";
535
+ EFeatures["BLOGS_LIKE_OTHER_BLOGS"] = "blogsLikeOtherBlogs";
536
+ EFeatures["BLOGS_VIEW_MY_BLOGS"] = "blogsViewMyBlogs";
537
+ EFeatures["BLOGS_WRITE_NEW_BLOG"] = "blogsWriteNewBlog";
538
+ EFeatures["BLOGS_SAVE_BLOG_AS_DRAFT"] = "blogsSaveBlogAsDraft";
539
+ EFeatures["BLOGS_EDIT_MY_SAVED_BLOG"] = "blogsEditMySavedBlog";
540
+ EFeatures["BLOGS_PUBLISH_MY_BLOG"] = "blogsPublishMyBlog";
541
+ EFeatures["BLOGS_UPVOTE_FOR_BLOG"] = "blogsUpvoteForBlog";
542
+ EFeatures["BLOGS_DOWNVOTE_FOR_BLOG"] = "blogsDownvoteForBlog";
543
+ EFeatures["BLOGS_WRITE_RESPONSE_FOR_BLOG"] = "blogsWriteResponseForBlog";
544
+ EFeatures["BLOGS_DELETE_MY_BLOG"] = "blogsDeleteMyBlog";
545
+ EFeatures["BLOGS_EDIT_MY_RESPONSE"] = "blogsEditMyResponse";
546
+ EFeatures["BLOGS_DELETE_MY_RESPONSE"] = "blogsDeleteMyResponse";
547
+ EFeatures["BLOGS_VIEW_DRAFTS_SECTION"] = "blogsViewDraftsSection";
548
+ EFeatures["BLOGS_VIEW_PUBLISHED_SECTION"] = "blogsViewPublishedSection";
549
+ EFeatures["QUESTION_AND_ANSWER"] = "questionAndAnswer";
550
+ EFeatures["QUESTION_AND_ANSWER_VIEW_ALL_QUESTIONS_AND_ANSWERS"] = "questionAndAnswerViewAllQuestionsAndAnswers";
551
+ EFeatures["QUESTION_AND_ANSWER_VIEW_ONLY_UNANSWERED_QUESTIONS"] = "questionAndAnswerViewOnlyUnansweredQuestions";
552
+ EFeatures["QUESTION_AND_ANSWER_VIEW_MY_TIMELINE"] = "questionAndAnswerViewMyTimeline";
553
+ EFeatures["QUESTION_AND_ANSWER_ASK_NEW_QUESTION"] = "questionAndAnswerAskNewQuestion";
554
+ EFeatures["QUESTION_AND_ANSWER_VIEW_SPECIFIC_QUESTION"] = "questionAndAnswerViewSpecificQuestion";
555
+ EFeatures["QUESTION_AND_ANSWER_UPVOTE_FOR_ANSWER"] = "questionAndAnswerUpvoteForAnswer";
556
+ EFeatures["QUESTION_AND_ANSWER_DOWNVOTE_FOR_ANSWER"] = "questionAndAnswerDownvoteForAnswer";
557
+ EFeatures["QUESTION_AND_ANSWER_LIKE_AN_ANSWER"] = "questionAndAnswerLikeAnAnswer";
558
+ EFeatures["QUESTION_AND_ANSWER_ADD_COMMENT_FOR_ANY_ANSWER"] = "questionAndAnswerAddCommentForAnyAnswer";
559
+ EFeatures["QUESTION_AND_ANSWER_ADD_ANSWER_FOR_ANY_QUESTION"] = "questionAndAnswerAddAnswerForAnyQuestion";
560
+ EFeatures["QUESTION_AND_ANSWER_SAVE_QUESTION_AS_DRAFT"] = "questionAndAnswerSaveQuestionAsDraft";
561
+ EFeatures["QUESTION_AND_ANSWER_PUBLISH_SAVED_QUESTION"] = "questionAndAnswerPublishedSavedQuestion";
562
+ EFeatures["QUESTION_AND_ANSWER_VIEW_DRAFTS_SECTION"] = "questionAndAnswerViewDraftsSection";
563
+ EFeatures["QUESTION_AND_ANSWER_VIEW_PUBLISHED_SECTION"] = "questionAndAnswerViewPublishedSection";
564
+ EFeatures["BADGES"] = "badges";
565
+ EFeatures["BADGES_VIEW_RECENTLY_EARNED_BADGE"] = "badgesViewRecentlyEarnedBadge";
566
+ EFeatures["BADGES_VIEW_ALL_EARNED_BADGES"] = "badgesViewAllEarnedBadges";
567
+ EFeatures["BADGES_VIEW_NEXT_TARGETTED_BADGES"] = "badgesViewNextTargettedBadges";
568
+ EFeatures["HANDS_ON_DASHBOARD"] = "handsOnDashboard";
569
+ EFeatures["HANDS_ON_DASHBOARD_VIEW_MY_DASHBOARD"] = "handsOnDashboardViewMyDashboard";
570
+ EFeatures["HANDS_ON_DASHBOARD_VIEW_SHARED_PROFILE_SECTION"] = "handsOnDashboardViewSharedProfileSection";
571
+ EFeatures["LEARNING_HISTORY"] = "learningHistory";
572
+ EFeatures["LEARNING_HISTORY_VIEW_PROGRAMS_SECTION"] = "learningHistoryViewProgramsSection";
573
+ EFeatures["LEARNING_HISTORY_VIEW_COURSES_SECTION"] = "learningHistoryViewCoursesSection";
574
+ EFeatures["LEARNING_HISTORY_VIEW_LEARNING_MODULES_SECTION"] = "learningHistoryViewLearningModulesSection";
575
+ EFeatures["LEARNING_HISTORY_VIEW_RESOURCES_SECTION"] = "learningHistoryViewResourcesSection";
576
+ EFeatures["LEARNING_HISTORY_VIEW_CERTIFICATIONS_SECTION"] = "learningHistoryViewCertificationsSection";
577
+ EFeatures["LEARNING_HISTORY_APPLY_COMPLETED_FILTER"] = "learningHistoryApplyCompletedFilter";
578
+ EFeatures["LEARNING_HISTORY_VIEW_MORE_BUTTON"] = "learningHistoryViewMoreButton";
579
+ EFeatures["LEARNING_TIME"] = "learningTime";
580
+ EFeatures["LEARNING_TIME_VIEW_LEARNING_TIME_GRAPH"] = "learningTimeViewLearningTimeGraph";
581
+ EFeatures["LEARNING_TIME_APPLY_BAR_GRAPH_FILTER"] = "learningTimeApplyBarGraphFilter";
582
+ EFeatures["LEARNING_TIME_APPLY_DATE_RANGE_FILTER"] = "learningTimeApplyDateRangeFilter";
583
+ EFeatures["LEARNING_TIME_APPLY_TIME_SPENT_FILTER"] = "learningTimeApplyTimeSpentFilter";
584
+ EFeatures["LEARNING_TIME_APPLY_APP_AVERAGE_FILTER"] = "learningTimeApplyAppAverageFilter";
585
+ EFeatures["LEARNING_TIME_APPLY_USER_AVERAGE_OVER_PERIOD_FILTER"] = "learningTimeApplyUserAverageOverPeriodFilter";
586
+ EFeatures["NOTIFICATION"] = "notification";
587
+ EFeatures["NOTIFICATION_VIEW_RECENT_BADGE_EARNED"] = "notificationViewRecentBadgeEarned";
588
+ EFeatures["NOTIFICATION_VIEW_SHARED_PLAYLIST"] = "notificationViewSharedPlaylist";
589
+ EFeatures["NOTIFICATION_VIEW_SHARED_GOALS"] = "notificationViewSharedGoals";
590
+ EFeatures["PROFILE"] = "profile";
591
+ EFeatures["PROFILE_VIEW_BASIC_INFORMATION"] = "profileViewBasicInformation";
592
+ EFeatures["PROFILE_VIEW_RECENTLY_LEARNED_COURSES"] = "profileViewRecentlyLearnedCourses";
593
+ EFeatures["PROFILE_VIEW_LIKED_ITEMS"] = "profileViewLikedItems";
594
+ EFeatures["PROFILE_VIEW_BADGES_EARNED"] = "profileViewBadgesEarned";
595
+ EFeatures["BEHAVIORAL_SKILLS"] = "behavioralSkills";
596
+ EFeatures["BEHAVIORAL_SKILLS_VIEW_MODEL_CLIENT_INTERACTIONS"] = "behavioralSkillsViewModalClientInteractions";
597
+ EFeatures["BEHAVIORAL_SKILLS_VIEW_CLIENT_INTERACTION_TESTS"] = "behavioralSkillsViewClientInteractionTests";
598
+ EFeatures["CERTIFICATIONS"] = "certifications";
599
+ EFeatures["CERTIFICATIONS_VIEW_MY_APPROVALS_SECTION"] = "certificationsViewMyApprovalsSection";
600
+ EFeatures["CERTIFICATIONS_VIEW_MY_REQUESTS_SECTION"] = "certificationsViewMyRequestsSection";
601
+ EFeatures["CERTIFICATIONS_VIEW_MY_CERTIFICATIONS_SECTION"] = "certificationsViewMyCertificationsSection";
602
+ EFeatures["CERTIFICATIONS_APPLY_COMPLETION_STATUS_FILTER"] = "certificationsApplyCompletionStatusFilter";
603
+ EFeatures["CODE_CRACK"] = "codeCrack";
604
+ EFeatures["CODE_CRACK_VIEW_PUZZLE_MANIA"] = "codeCrackViewPuzzleMania";
605
+ EFeatures["CODE_CRACK_VIEW_CODE_CRACK"] = "codeCrackViewCodeCrack";
606
+ EFeatures["CODE_CRACK_VIEW_TECHNOLOGY_PLAYGROUND"] = "codeCrackViewTechnologyPlayground";
607
+ EFeatures["CODE_CRACK_WATCH_PROGRAMMING_CHALLENGES_VIDEO"] = "codeCrackWatchProgrammingChallengesVideo";
608
+ EFeatures["CODE_CRACK_VIEW_ACCELERATE"] = "codeCrackViewAccelerate";
609
+ EFeatures["CODE_CRACK_START_CODE_CRACK_TEST"] = "codeCrackStartCodeCrackTest";
610
+ EFeatures["CODE_CRACK_START_PUZZLE_MANIA"] = "codeCrackStartPuzzleMania";
611
+ EFeatures["CODE_CRACK_START_TECHNOLOGY_PLAYGROUND"] = "codeCrackStartTechnologyPlayground";
612
+ EFeatures["INSTRUCTOR_LED_TRAINING"] = "instructorLedTraining";
613
+ EFeatures["INSTRUCTOR_LED_TRAINING_VIEW_TRAINING_SCHEDULE_SECTION"] = "instructorLedTrainingViewTrainingScheduleSection";
614
+ EFeatures["INSTRUCTOR_LED_TRAINING_VIEW_FEEDBACK_SECTION"] = "instructorLedTrainingViewFeedbackSection";
615
+ EFeatures["INSTRUCTOR_LED_TRAINING_VIEW_TRAININGS_PLANNED_BY_YOUR_TEAM_SECTION"] = "instructorLedTrainingViewTrainingsPlannedByYourTeamSection";
616
+ EFeatures["INSTRUCTOR_LED_TRAINING_SEARCH_TRAINING"] = "instructorLedTrainingSearchTraining";
617
+ EFeatures["INSTRUCTOR_LED_TRAINING_REGISTER_FOR_TRAINING"] = "instructorLedTrainingRegisterForTraining";
618
+ EFeatures["INSTRUCTOR_LED_TRAINING_GIVE_TRAINING_FEEDBACK"] = "instructorLedTrainingGiveTrainingFeedback";
619
+ EFeatures["LEADERBOARD"] = "leaderboard";
620
+ EFeatures["LEADERBOARD_VIEW_WEEKLY_SECTION"] = "leaderboardViewWeeklySection";
621
+ EFeatures["LEADERBOARD_VIEW_MONTHLY_SECTION"] = "leaderboardViewMonthlySection";
622
+ EFeatures["LEADERBOARD_VIEW_HALL_OF_FAME_SECTION"] = "leaderboardViewHallOfSection";
623
+ EFeatures["LEADERBOARD_APPLY_LEARNER_COLLABORATOR_FILTER"] = "leaderboardApplyLearnerCollaboratorFilter";
624
+ EFeatures["LEADERBOARD_BACK_DATE_BUTTON"] = "leaderboardBackDatebutton";
625
+ EFeatures["LEADERBOARD_FORWARD_DATE_BUTTON"] = "leaderboardForwardDateButton";
626
+ EFeatures["PLAYGROUND"] = "playground";
627
+ EFeatures["PLAYGROUND_VIEW_TECHNOLOGY_PLAYGROUNDS_STRIP"] = "playgroundViewTechnologyPlaygorundsStrip";
628
+ EFeatures["PLAYGROUND_VIEW_ASSESSMENTS_PLAYGROUNDS_STRIP"] = "playgroundViewAssessmentsPlaygroundsStrip";
629
+ EFeatures["PUZZLE_MANIA"] = "puzzleMania";
630
+ EFeatures["PUZZLE_MANIA_VIEW_PUZZLE_MANIA"] = "puzzleManiaViewPuzzleMania";
631
+ EFeatures["PUZZLE_MANIA_VIEW_CODE_CRACK"] = "puzzleManiaViewCodeCrack";
632
+ EFeatures["PUZZLE_MANIA_VIEW_TECHNOLOGY_PLAYGROUND"] = "puzzleManiaViewTechnologyPlayground";
633
+ EFeatures["PUZZLE_MANIA_WATCH_PROGRAMMING_CHALLENGES_VIDEO"] = "puzzleManiaWatchProgrammingChallengesVideo";
634
+ EFeatures["PUZZLE_MANIA_VIEW_ACCELERATE"] = "puzzleManiaViewAccelerate";
635
+ EFeatures["PUZZLE_MANIA_START_CODE_CRACK_TEST"] = "puzzleManiaStartCodeCrackTest";
636
+ EFeatures["PUZZLE_MANIA_START_PUZZLE_MANIA"] = "puzzleManiaStartPuzzleMania";
637
+ EFeatures["PUZZLE_MANIA_START_TECHNOLOGY_PLAYGROUND"] = "puzzleManiaStartTechnologyPlayground";
638
+ EFeatures["FULL_STACK_SALES_LEADER"] = "fullStackSalesLeader";
639
+ EFeatures["FULL_STACK_SALES_LEADER_WATCH_LEADER_VIDEO"] = "fullStackSalesLeaderWatchLeaderVideo";
640
+ EFeatures["FULL_STACK_SALES_LEADER_EMBARK_ON_THIS_LEARNING_JOURNEY_BUTTON"] = "fullStackSalesLeaderEmbarkOnThisLearningJourneyButton";
641
+ EFeatures["FULL_STACK_SALES_LEADER_QUICK_TOUR_VIDEO_LINK"] = "fullStackSalesLeaderQuickTourVideoLink";
642
+ EFeatures["FULL_STACK_SALES_LEADER_FEEDBACK_LINK"] = "fullStackSalesLeaderFeedbackLink";
643
+ EFeatures["FULL_STACK_SALES_LEADER_DROP_NOTE_LINK"] = "fullStackSalesLeaderDropNoteLink";
644
+ EFeatures["ONBOARDING"] = "onboarding";
645
+ EFeatures["ONBOARDING_VIEW_DC_ONBOARDING_PROGRAMS_STRIP"] = "onboardingViewDcOnboardingProgramsStrip";
646
+ EFeatures["ONBOARDING_VIEW_ORGANISATIONAL_ONBOARDING_PROGRAMS_STRIP"] = "onboardingViewOrganisationalOnboardingProgramsStrip";
647
+ EFeatures["ONBOARDING_VIEW_ROLE_BASED_ONBOARDING_PROGRAMS_STRIP"] = "onboardingViewRoleBasedOnboardingProgramsStrip";
648
+ EFeatures["ONBOARDING_VIEW_UNIT_AND_PROJECT_ONBOARDING_PROGRAMS_STRIP"] = "onboardingViewUnitAndProjectOnboardingProgramsStrip";
649
+ EFeatures["SEARCH"] = "search";
650
+ EFeatures["SEARCH_SEARCHING_CONTENT"] = "searchSearchingContent";
651
+ EFeatures["KNOWLEDGE_HUB"] = "knowledgeHub";
652
+ EFeatures["KNOWLEDGE_HUB_SUBMIT_KNOWLEDGE_ARTIFACTS"] = "knowledgeHubSubmitKnowledgeArtifacts";
653
+ EFeatures["KNOWLEDGE_HUB_VIEW_TOP_PROJECTS_SECTION"] = "knowledgeHubViewTopProjectsSection";
654
+ EFeatures["KNOWLEDGE_HUB_VIEW_INTERESTING_READS_SECTION"] = "knowledgeHubViewInterestingReadsSection";
655
+ EFeatures["KNOWLEDGE_HUB_VIEW_MARKETING_SECTION"] = "knowledgeHubViewMarketingSection";
656
+ EFeatures["KNOWLEDGE_HUB_VIEW_KSHOP_CLASSIC_SECTION"] = "knowledgeHubViewKshopClassicSection";
657
+ EFeatures["KNOWLEDGE_HUB_VIEW_TRENDING_TOOLS_SECTION"] = "knowledgeHubViewTrendingToolsSection";
658
+ EFeatures["KNOWLEDGE_HUB_VIEW_DOCUMENTS_STRIP"] = "knowledgeHubViewDocumentsStrip";
659
+ EFeatures["KNOWLEDGE_HUB_VIEW_TOOLS_STRIP"] = "knowledgeHubViewProjectReferencesStrip";
660
+ EFeatures["KNOWLEDGE_HUB_VIEW_MARKETING_STRIP"] = "knowledgeHubViewMarketingStrip";
661
+ EFeatures["CHANNELS"] = "channels";
662
+ EFeatures["CHANNELS_VIEW_LEADERSHIP_SECTION"] = "channelsViewLeadershipSection";
663
+ EFeatures["CHANNELS_VIEW_RAVI_KUMAR_PAGE"] = "channelsViewRaviKumarPage";
664
+ EFeatures["CHANNELS_VIEW_MOHIT_JOSHI_PAGE"] = "channelsViewMohitJoshiPage";
665
+ EFeatures["CHANNELS_FOLLOW_RAVI_KUMAR"] = "channelsFollowRaviKumar";
666
+ EFeatures["CHANNELS_MAIL_TO_RAVI_KUMAR"] = "channelsMailToRaviKumar";
667
+ EFeatures["CHANNELS_VIEW_ABOUT_RAVI_KUMAR_SECTION"] = "channelsViewAboutRaviKumarSection";
668
+ EFeatures["CHANNELS_VIEW_RAVI_KUMAR_TWEETS_SECTION"] = "channelsViewRaviKumarTweetsSection";
669
+ EFeatures["CHANNELS_VIEW_RAVI_KUMAR_ARTICLES_SECTION"] = "channelsViewRaviKumarArticlesSection";
670
+ EFeatures["CHANNELS_VIEW_RAVI_KUMAR_TRAILBLAZERS_SECTION"] = "channelsViewRaviKumarTrailblazersSection";
671
+ EFeatures["CHANNELS_VIEW_RAVI_KUMAR_COMMUNICATIONS_SECTION"] = "channelsViewRaviKumarCommunicationsSection";
672
+ EFeatures["CHANNELS_VIEW_RAVI_KUMAR_DISCUSSION_SECTION"] = "channelsViewraviKumarDiscussionSection";
673
+ EFeatures["CHANNELS_LIKE_TWEET_RAVI_KUMAR"] = "channelsLikeTweetRaviKumar";
674
+ EFeatures["CHANNELS_SHARE_TWEET_RAVI_KUMAR"] = "channelsShareTweetRaviKumar";
675
+ EFeatures["CHANNELS_POST_YOUR_THOUGHTS_IN_DISCUSSION_RAVI_KUMAR"] = "channelsPostYourThoughtsInDiscussionRaviKumar";
676
+ EFeatures["CHANNELS_FOLLOW_MOHIT_JOSHI"] = "channelsFollowMohitJoshi";
677
+ EFeatures["CHANNELS_MAIL_TO_MOHIT_JOSHI"] = "channelsMailToMohitJoshi";
678
+ EFeatures["CHANNELS_VIEW_ABOUT_MOHIT_JOSHI_SECTION"] = "channelsViewAboutMohitJoshiSection";
679
+ EFeatures["CHANNELS_VIEW_MOHIT_JOSHI_TWEETS_SECTION"] = "channelsViewMohitJoshiTweetsSection";
680
+ EFeatures["CHANNELS_VIEW_MOHIT_JOSHI_ARTICLES_SECTION"] = "channelsViewMohitJoshiArticlesSection";
681
+ EFeatures["CHANNELS_VIEW_MOHIT_JOSHI_TRAILBLAZERS_SECTION"] = "channelsViewMohitJoshiTrailblazersSection";
682
+ EFeatures["CHANNELS_VIEW_MOHIT_JOSHI_COMMUNICATIONS_SECTION"] = "channelsViewMohitJoshiCommunicationsSection";
683
+ EFeatures["CHANNELS_VIEW_MOHIT_JOSHI_DISCUSSION_SECTION"] = "channelsViewMohitJoshiDiscussionSection";
684
+ EFeatures["CHANNELS_LIKE_TWEET_MOHIT_JOSHI"] = "channelsLikeTweetMohitJoshi";
685
+ EFeatures["CHANNELS_SHARE_TWEET_MOHIT_JOSHI"] = "channelsShareTweetMohitJoshi";
686
+ EFeatures["CHANNELS_POST_YOUR_THOUGHTS_IN_DISCUSSION_MOHIT_JOSHI"] = "channelsPostYourThoughtsInDiscussionMohitJoshi";
687
+ EFeatures["CHANNELS_VIEW_CORPORATE_SECTION"] = "channelsViewCorporateSection";
688
+ EFeatures["CHANNELS_VIEW_EXPERIENCE_WOW_PAGE"] = "channelsViewExperienceWowPage";
689
+ EFeatures["CHANNELS_VIEW_INFOSYS_KNOWLEDGE_INSTITUTE_PAGE"] = "channelsViewInfosysKnowledgeInstitutePage";
690
+ EFeatures["CHANNELS_VIEW_CMT_LEARNING_HUB_PAGE"] = "channelsViewCmtLearningHubPage";
691
+ EFeatures["CHANNELS_VIEW_FULL_STACK_SALES_LEADERS_PAGE"] = "channelsViewFullStackSalesLeaderPage";
692
+ EFeatures["EXPERIENCE_WOW_PAGE"] = "experienceWowPage";
693
+ EFeatures["EXPERIENCE_WOW_PAGE_VIEW_PAGE_SECTIONS"] = "experienceWowPageViewPageSections";
694
+ EFeatures["EXPERIENCE_WOW_PAGE_CHECK_Wingspan_STATISTICS"] = "experienceWowPageCheckWingspanStatistics";
695
+ EFeatures["EXPERIENCE_WOW_PAGE_CHECK_INFY_ME_STATISTICS"] = "experienceWowPageCheckInfyMeStatistics";
696
+ EFeatures["EXPERIENCE_WOW_PAGE_PROVIDE_SUGGESTIONS"] = "experienceWowPageProvideSuggestions";
697
+ EFeatures["EXPERIENCE_WOW_PAGE_SEND_MAIL_FOR_BECOMING_COCREATOR"] = "experienceWowPageSendMailForBecomingCocreator";
698
+ EFeatures["INFY_RADIO"] = "infyRadio";
699
+ EFeatures["INFY_RADIO_VIEW_PODCASTS_STRIP"] = "infyRadioViewPodcastsStrip";
700
+ EFeatures["INFY_TV"] = "infyTv";
701
+ EFeatures["INFY_TV_VIEW_JUST_FOR_YOU_SECTION"] = "infyTvViewJustForYouSection";
702
+ EFeatures["INFY_TV_VIEW_MUST_VIEW_STRIP"] = "infyTvViewMustViewStrip";
703
+ EFeatures["INFY_TV_VIEW_LATEST_STRIP"] = "infyTvViewLatestStrip";
704
+ EFeatures["INFY_TV_VIEW_CHANNELS_SECTION"] = "infyTvViewChannelsSection";
705
+ EFeatures["INFY_TV_VIEW_CHANNELS_STRIP"] = "infyTvViewChannelsStrip";
706
+ EFeatures["INFY_TV_VIEW_BROADCAST_SECTION"] = "infyTvViewBroadcastSection";
707
+ EFeatures["INFY_TV_VIEW_PREVIOUS_EVENTS_LIST"] = "infyTvViewPreviousEventsList";
708
+ EFeatures["INFY_TV_VIEW_LIVE_EVENTS_LIST"] = "infyTvViewLiveEventsList";
709
+ EFeatures["INFY_TV_VIEW_UPCOMING_EVENTS_LIST"] = "infyTvViewUpcomingEventsList";
710
+ EFeatures["LEADERSHIP_MESSAGES"] = "leadershipMessages";
711
+ EFeatures["LEADERSHIP_MESSAGES_VIEW_LEADERSHIP_VIDEO"] = "leadershipMessagesViewLeadershipVideo";
712
+ EFeatures["LIVING_LABS"] = "livingLabs";
713
+ EFeatures["LIVING_LABS_VIEW_LIVING_LABS_STRIP"] = "livingLabsViewLivingLabsStrip";
714
+ EFeatures["AMERICAS_CONFLUENECE"] = "americasConfluence";
715
+ EFeatures["AMERICAS_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS"] = "americasConfluenceViewConfluenceVideosStrips";
716
+ EFeatures["APAC_CONFLUENECE"] = "apacConfluence";
717
+ EFeatures["APAC_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS"] = "apacConfluenceViewConfluenceVideosStrips";
718
+ EFeatures["EMEA_CONFLUENECE"] = "emeaConfluence";
719
+ EFeatures["EMEA_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS"] = "emeaConfluenceViewConfluenceVideosStrips";
720
+ EFeatures["CONNECT"] = "connect";
721
+ EFeatures["CONNECT_VIEW_CONTENT_STRIP"] = "connectViewContentStrip";
722
+ EFeatures["LIVE_EVENTS"] = "liveEvents";
723
+ EFeatures["LIVE_EVENTS_WATCH_LIVE"] = "liveEventsWatchLive";
724
+ EFeatures["LIVE_EVENTS_WATCH_CLASSROOM_BROADCAST"] = "liveEventsWatchClassroomBroadcast";
725
+ EFeatures["LIVE_EVENTS_WATCH_THREE_SIXTY_VIDEO"] = "liveEventsWatchThreeSixtyVideo";
726
+ EFeatures["LIVE_EVENTS_WATCH_FAMILY_MATTERS_VIDEO"] = "liveEventsWatchFamilyMattersVideo";
727
+ EFeatures["LIVE_EVENTS_WATCH_CONFLUENCE_EVENTS"] = "liveEventsWatchConfluenceEvents";
728
+ EFeatures["DIGITAL_ASSISTANT_TOUR"] = "digitalAssistantTour";
729
+ EFeatures["DIGITAL_ASSISTANT_TOUR_WATCH_TOUR_VIDEO"] = "digitalAssistantTourWatchTourVideo";
730
+ EFeatures["QUICK_TOUR"] = "quickTour";
731
+ EFeatures["QUICK_TOUR_WATCH_TOUR_VIDEO"] = "quickTourWatchTourVideo";
732
+ EFeatures["LOGOUT"] = "logout";
733
+ EFeatures["LOGOUT_LOGS_OUT_FROM_APPLICATION"] = "logoutLogsOutFromApplication";
734
+ EFeatures["MY_ANALYTICS"] = "myAnalytics";
735
+ EFeatures["MY_ANALYTICS_APPLY_QUARTER_FILTERS"] = "myAnalyticsApplyQuarterFilters";
736
+ EFeatures["MY_ANALYTICS_VIEW_MY_LEARNING_SECTION"] = "myAnalyticsViewMyLearningSection";
737
+ EFeatures["MY_ANALYTICS_VIEW_MY_ASSESSMENT_SECTION"] = "myAnalyticsViewMyAssessmentSection";
738
+ EFeatures["MY_ANALYTICS_VIEW_MY_REFACTORING_SECTION"] = "myAnalyticsViewMyRefactoringSection";
739
+ EFeatures["MY_ANALYTICS_VIEW_MY_PLANS_SECTION"] = "myAnalyticsViewMyPlansSection";
740
+ EFeatures["MY_ANALYTICS_VIEW_MY_COLLABORATORS_SECTION"] = "myAnalyticsViewMyCollaboratorsSection";
741
+ EFeatures["MY_ANALYTICS_VIEW_MY_FEATURES_USAGE_SECTION"] = "myAnalyticsViewTopCoursesSection";
742
+ EFeatures["MY_ANALYTICS_VIEW_MY_LEARNING_MINUTES"] = "myAnalyticsViewMyLearningMinutes";
743
+ EFeatures["MY_ANALYTICS_VIEW_MY_LEARNING_POINTS"] = "myAnalyticsViewMyLearningPoints";
744
+ EFeatures["MY_ANALYTICS_VIEW_BADGES"] = "myAnalyticsViewBadges";
745
+ EFeatures["MY_ANALYTICS_VIEW_TIME_SPENT_BY_USER"] = "myAnalyticsViewTimeSpentByUser";
746
+ EFeatures["MY_ANALYTICS_VIEW_AVERAGE_MINUTES_ON_Wingspan"] = "myAnalyticsViewAverageMinutesOnWingspan";
747
+ EFeatures["MY_ANALYTICS_VIEW_AVERAGE_MINUTES_ACROSS_DIMENSIONS"] = "myAnalyticsViewAverageMinutesAcrossDimensions";
748
+ EFeatures["MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_USER"] = "myAnalyticsViewPercentageTimeSpentByUser";
749
+ EFeatures["MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_INFOSCIONS"] = "myAnalyticsViewPercentageTimeSpentByInfoscions";
750
+ EFeatures["MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_PEERS"] = "myAnalyticsViewPercentageTimeSpentByPeers";
751
+ EFeatures["MY_ANALYTICS_VIEW_TOTAL_ASSESSMENTS"] = "myAnalyticsViewTotalAssessments";
752
+ EFeatures["MY_ANALYTICS_VIEW_PENDING_ASSESSMENTS"] = "myAnalyticsViewPendingAssessments";
753
+ EFeatures["MY_ANALYTICS_VIEW_CERTIFICATIONS"] = "myAnalyticsViewCertifications";
754
+ EFeatures["MY_ANALYTICS_VIEW_ASSESSMENTS"] = "myAnalyticsViewAssessments";
755
+ EFeatures["MY_ANALYTICS_VIEW_RECENT_ASSESSMENTS"] = "myAnalyticsViewRecentAssessments";
756
+ EFeatures["MY_ANALYTICS_VIEW_ASSESSMENT_DETAILS"] = "myAnalyticsViewAssessmentDetails";
757
+ EFeatures["MY_ANALYTICS_VIEW_RECENT_ASSESSMENT"] = "myAnalyticsViewRecentAssessment";
758
+ EFeatures["MY_ANALYTICS_VIEW_MY_REFACTORING_PROGRAM"] = "myAnalyticsViewMyRefactoringProgram";
759
+ EFeatures["MY_ANALYTICS_VIEW_NAVIGATOR"] = "myAnalyticsViewNavigator";
760
+ EFeatures["MY_ANALYTICS_VIEW_AI_AND_AUTOMATION_PROGRESS"] = "myAnalyticsViewAiAndAutomationProcess";
761
+ EFeatures["MY_ANALYTICS_VIEW_MY_GOALS"] = "myAnalyticsViewMyGoals";
762
+ EFeatures["MY_ANALYTICS_VIEW_PLAYLIST"] = "myAnalyticsViewPlaylist";
763
+ EFeatures["MY_ANALYTICS_VIEW_GOALS_SHARED_WITH_USER"] = "myAnalyticsViewGoalsSharedWithUser";
764
+ EFeatures["MY_ANALYTICS_VIEW_DETAILED_COURSES_PROGRESS"] = "myAnalyticsViewDetailedCoursesProgress";
765
+ EFeatures["MY_ANALYTICS_VIEW_GOALS_SHARED_BY_USER"] = "myAnalyticsViewGoalsSharedByUser";
766
+ EFeatures["MY_ANALYTICS_VIEW_ARTIFACTS_SHARED_BY_USER"] = "myAnalyticsViewArtifactsSharedByUser";
767
+ EFeatures["MY_ANALYTICS_VIEW_EXPERTS_USER_CONTACTED"] = "myAnalyticsViewExpertsUserContacted";
768
+ EFeatures["MY_ANALYTICS_VIEW_DETAILED_GOALS_SHARING"] = "myAnalyticsViewDetailedGoalsSharing";
769
+ EFeatures["MY_ANALYTICS_VIEW_PLAYGROUNDS"] = "myAnalyticsViewPlaygrounds";
770
+ EFeatures["MY_ANALYTICS_VIEW_LIKES"] = "myAnalyticsViewLikes";
771
+ EFeatures["MY_ANALYTICS_VIEW_SEARCH"] = "myAnalyticsViewSearch";
772
+ EFeatures["MY_ANALYTICS_VIEW_INFY_TV"] = "myAnalyticsViewInfyTv";
773
+ EFeatures["MY_ANALYTICS_VIEW_INFY_RADIO"] = "myAnalyticsViewInfyRadio";
774
+ EFeatures["MY_ANALYTICS_VIEW_INFY_LIVE"] = "myAnalyticsViewInfyLive";
775
+ EFeatures["MY_ANALYTICS_VIEW_TOP_COURSES_BY_USER_UNIT"] = "myAnalyticsViewTopCoursesByUserUnit";
776
+ EFeatures["MY_ANALYTICS_VIEW_TOP_COURSES_BY_USER_PEERS"] = "myAnalyticsViewTopCoursesbyUserPeers";
777
+ EFeatures["LEARNING_ANALYTICS"] = "learningAnalytics";
778
+ EFeatures["LEARNING_ANALYTICS_SEARCH_FOR_PARTICIPANTS_AND_EDUCATORS"] = "learningAnalyticsSearchForParticipantsAndEducators";
779
+ EFeatures["LEARNING_ANALYTICS_UNIT_FILTER"] = "learningAnalyticsUnitFilter";
780
+ EFeatures["LEARNING_ANALYTICS_PU_FILTER"] = "learningAnalyticsPuFilter";
781
+ EFeatures["LEARNING_ANALYTICS_DU_FILTER"] = "learningAnalyticsDuFilter";
782
+ EFeatures["LEARNING_ANALYTICS_ACCOUNT_FILTER"] = "learningAnalyticsAccountFilter";
783
+ EFeatures["LEARNING_ANALYTICS_LOCATION_FILTER"] = "learningAnalyticsLocationFilter";
784
+ EFeatures["LEARNING_ANALYTICS_QUARTER_FILTER"] = "learningAnalyticsQuarterFilter";
785
+ EFeatures["LEARNING_ANALYTICS_COMPLETED_FILTER"] = "learningAnalyticsCompletedFilter";
786
+ EFeatures["LEARNING_ANALYTICS_ETA_FILTER"] = "learningAnalyticsEtaFilter";
787
+ EFeatures["LEARNING_ANALYTICS_UNIQUE_USERS_DATA"] = "learningAnalyticsUniqueUsersData";
788
+ EFeatures["LEARNING_ANALYTICS_USERS_BY_ONSITE_OFFSHORE"] = "learningAnalyticsUsersByOnsiteOffshore";
789
+ EFeatures["LEARNING_ANALYTICS_USERS_BY_DEVICE_TYPE"] = "learningAnalyticsUsersByDeviceType";
790
+ EFeatures["LEARNING_ANALYTICS_USERS_BY_UNIT"] = "learningAnalyticsUsersByUnit";
791
+ EFeatures["LEARNING_ANALYTICS_USERS_BY_TRACK"] = "learningAnalyticsUsersByTrack";
792
+ EFeatures["LEARNING_ANALYTICS_USERS_BY_PU_SALES"] = "learningAnalyticsUsersByPuSales";
793
+ EFeatures["LEARNING_ANALYTICS_USERS_BY_CU_TYPE"] = "learningAnalyticsUsersByCuType";
794
+ EFeatures["LEARNING_ANALYTICS_USERS_BY_SKILL"] = "learningAnalyticsUsersBySkill";
795
+ EFeatures["LEARNING_ANALYTICS_USERS_BY_TOPICS"] = "learningAnalyticsUsersByTopics";
796
+ EFeatures["LEARNING_ANALYTICS_USERS_BY_HORIZON"] = "learningAnalyticsUsersByHorizon";
797
+ EFeatures["LEARNING_ANALYTICS_USERS_GROWTH"] = "learningAnalyticsUsersGrowth";
798
+ EFeatures["LEARNING_ANALYTICS_USERS_DETAILS"] = "learningAnalyticsUsersDetails";
799
+ EFeatures["LEARNING_ANALYTICS_VIEW_ALL_TRAININGS_SECTION"] = "learningAnalyticsViewAllTrainingsSection";
800
+ EFeatures["LEARNING_ANALYTICS_TALENT_GRID_FILTER"] = "learningAnalyticstalentGridFilter";
801
+ EFeatures["LEARNING_ANALYTICS_STACK_FILTER"] = "learningAnalyticsStackFilter";
802
+ EFeatures["LEARNING_ANALYTICS_UNIQUE_PARTICIPANTS"] = "learningAnalyticsUniqueParticipants";
803
+ EFeatures["LEARNING_ANALYTICS_OVERALL_PARTICIPANTS"] = "learningAnalyticsOverallParticipants";
804
+ EFeatures["LEARNING_ANALYTICS_AVERAGE_DAYS"] = "learningAnalyticsAverageDays";
805
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS_BY_ONSITE_ONSHORE"] = "learningAnalyticsParticipantsByOnsiteOnshore";
806
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS_BY_UNIT"] = "learningAnalyticsParticipantsByUnit";
807
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS_BY_PU"] = "learningAnalyticsParticipantsByPu";
808
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS_BY_SKILL_TYPE"] = "learningAnalyticsParticipantsBySkillType";
809
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS_BY_SKILL"] = "learningAnalyticsParticipantsBySkill";
810
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS_BY_STACKS"] = "learningAnalyticsParticipantsByStacks";
811
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS_BY_NEW_SERVICES"] = "learningAnalyticsParticipantsByNewServices";
812
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS_BY_LEARNING_TRACK"] = "learningAnalyticsParticipantsByLearningTrack";
813
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS_BY_OFFERING_MODE"] = "learningAnalyticsParticipantsByOfferingMode";
814
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS_BY_TOPICS"] = "learningAnalyticsParticipantsByTopics";
815
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS_BY_ABCD"] = "learningAnalyticsParticipantsByAbcd";
816
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS_DETAILS"] = "learningAnalyticsParticipantsDetails";
817
+ EFeatures["LEARNING_ANALYTICS_SCHEDULES_SECTION"] = "learningAnalyticsSchedulesSection";
818
+ EFeatures["LEARNING_ANALYTICS_SCHEDULE_DATE_FILTER"] = "learningAnalyticsScheduleDateFilter";
819
+ EFeatures["LEARNING_ANALYTICS_PARTICIPANTS"] = "learningAnalyticsParticipants";
820
+ EFeatures["LEARNING_ANALYTICS_EDUCATORS"] = "learningAnalyticsEducators";
821
+ EFeatures["LEARNING_ANALYTICS_COURSES"] = "learningAnalyticsCourses";
822
+ EFeatures["LEARNING_ANALYTICS_SCHEDULES"] = "learningAnalyticsSchedules";
823
+ EFeatures["LEARNING_ANALYTICS_VIEW_TRAINING_SCHEDULES_SECTION"] = "learningAnalyticsTrainingSchedulesSection";
824
+ EFeatures["LEARNING_ANALYTICS_COURSES_BY_OFFERING_MODE"] = "learningAnalyticsCoursesByOfferingMode";
825
+ EFeatures["LEARNING_ANALYTICS_COURSES_BY_TRACK"] = "learningAnalyticsCoursesByTrack";
826
+ EFeatures["LEARNING_ANALYTICS_COURSES_BY_TOPIC"] = "learningAnalyticsCoursesByTopic";
827
+ EFeatures["LEARNING_ANALYTICS_COURSES_BY_ABCD"] = "learningAnalyticsCoursesByAbcd";
828
+ EFeatures["LEARNING_ANALYTICS_COURSES_BY_SKILL"] = "learningAnalyticsCoursesBySkill";
829
+ EFeatures["APPS_PAGE"] = "appsPage";
830
+ EFeatures["APPS_PAGE_VIEW_DIFFERENT_APPS_ICONS"] = "appsPageViewDifferentAppsIcons";
831
+ EFeatures["COURSE_CARD"] = "courseCard";
832
+ EFeatures["COURSE_CARD_LIKE_THE_COURSE_BUTTON"] = "courseCardLikeTheCourseButton";
833
+ EFeatures["COURSE_CARD_SHARE_THE_COURSE_BUTTON"] = "courseCardShareTheCourseButton";
834
+ EFeatures["COURSE_CARD_ADD_COURSE_TO_GOALS_BUTTON"] = "courseCardAddCourseToGoalsButton";
835
+ EFeatures["COURSE_CARD_ADD_COURSE_TO_PLAYLIST_BUTTON"] = "courseCardAddCourseToPlaylistButton";
836
+ EFeatures["COURSE_CARD_VIEW_MORE_OPTIONS_BUTTON"] = "courseCardViewMoreOptionsButton";
837
+ EFeatures["COURSE_CARD_START_COURSE_OPTION"] = "courseCardStartCourseOption";
838
+ EFeatures["COURSE_CARD_VIEW_TOC_OPTION"] = "courseCardViewTocOption";
839
+ EFeatures["COURSE_CARD_COHORTS_OPTION"] = "courseCardCohortsOption";
840
+ EFeatures["COURSE_CARD_ANALYTICS_OPTION"] = "courseCardAnalyticsOption";
841
+ EFeatures["SEARCH_RESULTS_PAGE"] = "searchResultsPage";
842
+ EFeatures["SEARCH_RESULTS_PAGE_VIEW_LEARNING_SECTION"] = "searchResultsPageViewLearningSection";
843
+ EFeatures["SEARCH_RESULTS_PAGE_VIEW_CERTIFICATIONS_SECTION"] = "searchResultsPageViewCertificationsSection";
844
+ EFeatures["SEARCH_RESULTS_PAGE_VIEW_KNOWLEDGE_SECTION"] = "searchResultsPageViewKnowledgeSection";
845
+ EFeatures["SEARCH_RESULTS_PAGE_VIEW_PROJECTS_SECTION"] = "searchResultsPageViewProjectsSection";
846
+ EFeatures["SEARCH_RESULTS_PAGE_VIEW_SOCIAL_SECTION"] = "searchResultsPageViewSocialSection";
847
+ EFeatures["SEARCH_RESULTS_PAGE_CATALOG_FILTER"] = "searchResultsPageCatalogFilter";
848
+ EFeatures["SEARCH_RESULTS_PAGE_DURATION_FILTER"] = "searchResultsPageDurationFilter";
849
+ EFeatures["SEARCH_RESULTS_PAGE_CONTENT_TYPE_FILTER"] = "searchResultsPageContentTypeFilter";
850
+ EFeatures["SEARCH_RESULTS_PAGE_LEVEL_FILTER"] = "searchResultsPageLevelFilter";
851
+ EFeatures["SEARCH_RESULTS_PAGE_SOURCE_FILTER"] = "searchResultsPageSourceFilter";
852
+ EFeatures["SEARCH_RESULTS_PAGE_UNIT_FILTER"] = "searchResultsPageUnitFilter";
853
+ EFeatures["SEARCH_RESULTS_PAGE_TYPE_FILTER"] = "searchResultsPageTypeFilter";
854
+ EFeatures["SEARCH_RESULTS_PAGE_PUBLISHED_DATE_FILTER"] = "searchResultsPagePublishedDateFilter";
855
+ EFeatures["SEARCH_RESULTS_PAGE_CATEGORY_FILTER"] = "searchResultsPageCategoryFilter";
856
+ EFeatures["SEARCH_RESULTS_PAGE_ITEM_TYPE_FILTER"] = "searchResultsPageItemTypeFilter";
857
+ EFeatures["SEARCH_RESULTS_PAGE_TOPICS_FILTER"] = "searchResultsPageTopicsFilter";
858
+ EFeatures["SEARCH_RESULTS_PAGE_AUTHORS_FILTER"] = "searchResultsPageAuthorsFilter";
859
+ EFeatures["SEARCH_RESULTS_PAGE_TAGS_FILTER"] = "searchResultsPageTagsFilter";
860
+ EFeatures["SEARCH_RESULTS_PAGE_GROUPS_FILTER"] = "searchResultsPageGroupsFilter";
861
+ EFeatures["SEARCH_RESULTS_PAGE_VIEW_RESULT_CARDS"] = "searchResultsPageViewResultCards";
862
+ EFeatures["SEARCH_RESULTS_PAGE_VIEW_RELATED_CONCEPTS"] = "searchResultsPageViewRelatedConcepts";
863
+ EFeatures["LAB_42_INTERVIEW"] = "interview";
864
+ EFeatures["LAB_42_DIALOGUE"] = "dialogue";
865
+ EFeatures["LAB_42_STRATEGY_MAP"] = "strategyMap";
866
+ EFeatures["LAB_42_VIRTUAL_CLASSROOM"] = "virtualClassroom";
867
+ EFeatures["LAB_42_PROJECT_STACK"] = "projectStack";
868
+ EFeatures["LAB_42_LIVE_TRANSCRIBE"] = "liveTranscribe";
869
+ EFeatures["LAB_42_EPOCH"] = "epoch";
870
+ EFeatures["LEARNING_ASSISTANT_MAQ"] = "learning-assistant-maq";
871
+ EFeatures["LEARNING_ASSISTANT_ILIPDP"] = "learning-assistant-ilipdp";
872
+ })(EFeatures || (EFeatures = {}));
873
+
874
+ var EInstance;
875
+ (function (EInstance) {
876
+ EInstance["INSTANCE"] = "RootOrg";
877
+ })(EInstance || (EInstance = {}));
878
+
879
+ var ScrollingStateEnum;
880
+ (function (ScrollingStateEnum) {
881
+ ScrollingStateEnum[ScrollingStateEnum["ScrollingUp"] = 0] = "ScrollingUp";
882
+ ScrollingStateEnum[ScrollingStateEnum["ScrollingDown"] = 1] = "ScrollingDown";
883
+ ScrollingStateEnum[ScrollingStateEnum["NoScrolling"] = 2] = "NoScrolling";
884
+ })(ScrollingStateEnum || (ScrollingStateEnum = {}));
885
+ class ClassChangeOnScrollDirective {
886
+ get isScrollingDown() {
887
+ return this.currState === ScrollingStateEnum.ScrollingDown;
888
+ }
889
+ get isScrollingUp() {
890
+ return this.currState === ScrollingStateEnum.ScrollingUp;
891
+ }
892
+ get isNotScrolling() {
893
+ return this.currState === ScrollingStateEnum.NoScrolling;
894
+ }
895
+ constructor() {
896
+ this.wsClassOnScrollDirChange = 5000;
897
+ this.hasScrolledDown = false;
898
+ this.windowScrollSubscription = null;
899
+ this.lastScreenTop = 0;
900
+ this.currState = ScrollingStateEnum.NoScrolling;
901
+ }
902
+ ngOnInit() {
903
+ this.windowScrollSubscription = fromEvent(window, 'scroll')
904
+ .pipe(debounceTime(50))
905
+ .subscribe(() => {
906
+ clearTimeout(this.timeoutTimer);
907
+ const curr = window.scrollY;
908
+ this.hasScrolledDown = curr > 56;
909
+ this.setScrollState(this.lastScreenTop, curr);
910
+ this.lastScreenTop = curr;
911
+ });
912
+ }
913
+ ngAfterViewInit() { }
914
+ ngOnDestroy() {
915
+ if (this.windowScrollSubscription) {
916
+ this.windowScrollSubscription.unsubscribe();
917
+ }
918
+ }
919
+ setScrollState(prev = 0, curr = 0) {
920
+ if (prev > curr) {
921
+ this.currState = ScrollingStateEnum.ScrollingUp;
922
+ }
923
+ else if (prev < curr) {
924
+ this.currState = ScrollingStateEnum.ScrollingDown;
925
+ }
926
+ else {
927
+ this.currState = ScrollingStateEnum.NoScrolling;
928
+ }
929
+ if (this.currState !== ScrollingStateEnum.NoScrolling) {
930
+ this.resetScrollingState();
931
+ }
932
+ }
933
+ resetScrollingState() {
934
+ this.timeoutTimer = setTimeout(() => {
935
+ this.setScrollState();
936
+ }, this.wsClassOnScrollDirChange || 5000);
937
+ }
938
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
939
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ClassChangeOnScrollDirective, selector: "[wsUtilsClassChangeOnScroll]", inputs: { wsClassOnScrollDirChange: "wsClassOnScrollDirChange" }, host: { properties: { "class.scrolling-down": "this.isScrollingDown", "class.scrolling-up": "this.isScrollingUp", "class.scrolling-no": "this.isNotScrolling", "class.scrolled-down": "this.hasScrolledDown" } }, ngImport: i0 }); }
940
+ }
941
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollDirective, decorators: [{
942
+ type: Directive,
943
+ args: [{
944
+ selector: '[wsUtilsClassChangeOnScroll]',
945
+ }]
946
+ }], ctorParameters: function () { return []; }, propDecorators: { wsClassOnScrollDirChange: [{
947
+ type: Input
948
+ }], isScrollingDown: [{
949
+ type: HostBinding,
950
+ args: ['class.scrolling-down']
951
+ }], isScrollingUp: [{
952
+ type: HostBinding,
953
+ args: ['class.scrolling-up']
954
+ }], isNotScrolling: [{
955
+ type: HostBinding,
956
+ args: ['class.scrolling-no']
957
+ }], hasScrolledDown: [{
958
+ type: HostBinding,
959
+ args: ['class.scrolled-down']
960
+ }] } });
961
+
962
+ class ClassChangeOnScrollModule {
963
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
964
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollModule, declarations: [ClassChangeOnScrollDirective], imports: [CommonModule], exports: [ClassChangeOnScrollDirective] }); }
965
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollModule, imports: [CommonModule] }); }
966
+ }
967
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollModule, decorators: [{
968
+ type: NgModule,
969
+ args: [{
970
+ declarations: [ClassChangeOnScrollDirective],
971
+ imports: [
972
+ CommonModule,
973
+ ],
974
+ exports: [ClassChangeOnScrollDirective],
975
+ }]
976
+ }] });
977
+
978
+ class DefaultThumbnailDirective {
979
+ constructor() {
980
+ this.wsUtilsDefaultThumbnail = '';
981
+ this.src = '';
982
+ this.isSrcUpdateAttemptedForDefault = false;
983
+ this.srcUrl = '';
984
+ }
985
+ updateSrc() {
986
+ if (!this.isSrcUpdateAttemptedForDefault) {
987
+ this.srcUrl = this.wsUtilsDefaultThumbnail;
988
+ this.isSrcUpdateAttemptedForDefault = true;
989
+ }
990
+ }
991
+ ngOnChanges() {
992
+ if (this.src) {
993
+ this.srcUrl = this.src;
994
+ }
995
+ }
996
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
997
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DefaultThumbnailDirective, selector: "[wsUtilsDefaultThumbnail]", inputs: { wsUtilsDefaultThumbnail: "wsUtilsDefaultThumbnail", src: "src" }, host: { listeners: { "error": "updateSrc()" }, properties: { "src": "this.srcUrl" } }, usesOnChanges: true, ngImport: i0 }); }
998
+ }
999
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailDirective, decorators: [{
1000
+ type: Directive,
1001
+ args: [{
1002
+ selector: '[wsUtilsDefaultThumbnail]',
1003
+ }]
1004
+ }], propDecorators: { wsUtilsDefaultThumbnail: [{
1005
+ type: Input
1006
+ }], src: [{
1007
+ type: Input
1008
+ }], srcUrl: [{
1009
+ type: HostBinding,
1010
+ args: ['src']
1011
+ }], updateSrc: [{
1012
+ type: HostListener,
1013
+ args: ['error']
1014
+ }] } });
1015
+
1016
+ class DefaultThumbnailModule {
1017
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1018
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailModule, declarations: [DefaultThumbnailDirective], imports: [CommonModule], exports: [DefaultThumbnailDirective] }); }
1019
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailModule, imports: [CommonModule] }); }
1020
+ }
1021
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailModule, decorators: [{
1022
+ type: NgModule,
1023
+ args: [{
1024
+ declarations: [DefaultThumbnailDirective],
1025
+ imports: [
1026
+ CommonModule,
1027
+ ],
1028
+ exports: [DefaultThumbnailDirective],
1029
+ }]
1030
+ }] });
1031
+
1032
+ const customBreakPoints = {
1033
+ xs: '(max-width: 450px)',
1034
+ s: '(min-width: 450.001px) and (max-width: 768px)',
1035
+ m: '(min-width: 768.001px) and (max-width: 1024px)',
1036
+ l: '(min-width: 1024.001px) and (max-width: 1400px)',
1037
+ xl: '(min-width: 1400.001px) and (max-width: 1920px)',
1038
+ xxl: '(min-width: 1920.001px)',
1039
+ };
1040
+ class ImageResponsiveDirective {
1041
+ constructor(breakpointObserver) {
1042
+ this.breakpointObserver = breakpointObserver;
1043
+ this.src = null;
1044
+ this.srcBindUrl = '';
1045
+ this.currentSize = '';
1046
+ this.breakpointSubscription = null;
1047
+ this.breakpointSubscription = this.breakpointObserver
1048
+ .observe([
1049
+ customBreakPoints.xs,
1050
+ customBreakPoints.s,
1051
+ customBreakPoints.m,
1052
+ customBreakPoints.l,
1053
+ customBreakPoints.xl,
1054
+ customBreakPoints.xxl,
1055
+ ])
1056
+ .pipe(distinctUntilChanged())
1057
+ .subscribe(data => {
1058
+ if (data.breakpoints[customBreakPoints.xxl]) {
1059
+ this.currentSize = 'xxl';
1060
+ }
1061
+ else if (data.breakpoints[customBreakPoints.xl]) {
1062
+ this.currentSize = 'xl';
1063
+ }
1064
+ else if (data.breakpoints[customBreakPoints.l]) {
1065
+ this.currentSize = 'l';
1066
+ }
1067
+ else if (data.breakpoints[customBreakPoints.m]) {
1068
+ this.currentSize = 'm';
1069
+ }
1070
+ else if (data.breakpoints[customBreakPoints.s]) {
1071
+ this.currentSize = 's';
1072
+ }
1073
+ else if (data.breakpoints[customBreakPoints.xs]) {
1074
+ this.currentSize = 'xs';
1075
+ }
1076
+ else {
1077
+ this.currentSize = 'xl';
1078
+ }
1079
+ this.setSrc();
1080
+ });
1081
+ }
1082
+ ngOnChanges() {
1083
+ if (this.src) {
1084
+ this.setSrc();
1085
+ }
1086
+ }
1087
+ ngOnDestroy() {
1088
+ if (this.breakpointSubscription) {
1089
+ this.breakpointSubscription.unsubscribe();
1090
+ }
1091
+ }
1092
+ setSrc() {
1093
+ if (this.currentSize &&
1094
+ this.src &&
1095
+ this.src[this.currentSize]) {
1096
+ this.srcBindUrl = this.src[this.currentSize];
1097
+ }
1098
+ }
1099
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveDirective, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Directive }); }
1100
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ImageResponsiveDirective, selector: "[wsUtilsImageResponsive]", inputs: { src: "src" }, host: { properties: { "src": "this.srcBindUrl" } }, usesOnChanges: true, ngImport: i0 }); }
1101
+ }
1102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveDirective, decorators: [{
1103
+ type: Directive,
1104
+ args: [{
1105
+ selector: '[wsUtilsImageResponsive]',
1106
+ }]
1107
+ }], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; }, propDecorators: { src: [{
1108
+ type: Input
1109
+ }], srcBindUrl: [{
1110
+ type: HostBinding,
1111
+ args: ['src']
1112
+ }] } });
1113
+
1114
+ class ImageResponsiveModule {
1115
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1116
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveModule, declarations: [ImageResponsiveDirective], imports: [CommonModule], exports: [ImageResponsiveDirective] }); }
1117
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveModule, imports: [CommonModule] }); }
1118
+ }
1119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveModule, decorators: [{
1120
+ type: NgModule,
1121
+ args: [{
1122
+ declarations: [ImageResponsiveDirective],
1123
+ imports: [
1124
+ CommonModule,
1125
+ ],
1126
+ exports: [ImageResponsiveDirective],
1127
+ }]
1128
+ }] });
1129
+
1130
+ class InViewPortDirective {
1131
+ constructor(_el) {
1132
+ this._el = _el;
1133
+ this.inViewport = new EventEmitter();
1134
+ }
1135
+ ngOnInit() {
1136
+ this.check();
1137
+ this.scroll =
1138
+ fromEvent(window, 'scroll').pipe(debounceTime(100)).subscribe(() => {
1139
+ this.check();
1140
+ });
1141
+ this.resize =
1142
+ fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe(() => {
1143
+ this.check();
1144
+ });
1145
+ }
1146
+ ngOnDestroy() {
1147
+ this.scroll.unsubscribe();
1148
+ this.resize.unsubscribe();
1149
+ }
1150
+ check(partial = true, direction = 'both') {
1151
+ const el = this._el.nativeElement;
1152
+ const elSize = (el.offsetWidth * el.offsetHeight);
1153
+ const rec = el.getBoundingClientRect();
1154
+ const vp = {
1155
+ width: window.innerWidth,
1156
+ height: window.innerHeight,
1157
+ };
1158
+ const tViz = rec.top >= 0 && rec.top < vp.height;
1159
+ const bViz = rec.bottom > 0 && rec.bottom <= vp.height;
1160
+ const lViz = rec.left >= 0 && rec.left < vp.width;
1161
+ const rViz = rec.right > 0 && rec.right <= vp.width;
1162
+ const vVisible = partial ? tViz || bViz : tViz && bViz;
1163
+ const hVisible = partial ? lViz || rViz : lViz && rViz;
1164
+ let event = false;
1165
+ if (direction === 'both') {
1166
+ event = (elSize && vVisible && hVisible) ? true : false;
1167
+ }
1168
+ else if (direction === 'vertical') {
1169
+ event = (elSize && vVisible) ? true : false;
1170
+ }
1171
+ else if (direction === 'horizontal') {
1172
+ event = (elSize && hVisible) ? true : false;
1173
+ }
1174
+ this.inViewport.emit(event);
1175
+ }
1176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InViewPortDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
1177
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: InViewPortDirective, selector: "[wsUtilsInViewPort]", outputs: { inViewport: "inViewport" }, ngImport: i0 }); }
1178
+ }
1179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InViewPortDirective, decorators: [{
1180
+ type: Directive,
1181
+ args: [{
1182
+ selector: '[wsUtilsInViewPort]',
1183
+ }]
1184
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { inViewport: [{
1185
+ type: Output
1186
+ }] } });
1187
+
1188
+ class InViewPortModule {
1189
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InViewPortModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1190
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: InViewPortModule, declarations: [InViewPortDirective], imports: [CommonModule], exports: [InViewPortDirective] }); }
1191
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InViewPortModule, imports: [CommonModule] }); }
1192
+ }
1193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InViewPortModule, decorators: [{
1194
+ type: NgModule,
1195
+ args: [{
1196
+ declarations: [InViewPortDirective],
1197
+ exports: [InViewPortDirective],
1198
+ imports: [
1199
+ CommonModule,
1200
+ ],
1201
+ }]
1202
+ }] });
1203
+
1204
+ class NavigationDirective {
1205
+ onMouseEnter($event) {
1206
+ if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {
1207
+ $event.preventDefault();
1208
+ $event.stopPropagation();
1209
+ this.routeUrl = './';
1210
+ window.open(this.wsUtilsNavigation);
1211
+ }
1212
+ }
1213
+ constructor() {
1214
+ this.wsUtilsNavigation = '';
1215
+ this.openInNewTab = false;
1216
+ this.routeUrl = '';
1217
+ }
1218
+ ngOnChanges() {
1219
+ if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {
1220
+ this.routeUrl = './';
1221
+ }
1222
+ }
1223
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1224
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NavigationDirective, selector: "[wsUtilsNavigation]", inputs: { wsUtilsNavigation: "wsUtilsNavigation", openInNewTab: "openInNewTab", routeUrl: "routeUrl" }, host: { listeners: { "mousedown": "onMouseEnter($event)" }, properties: { "attr.routerLink": "this.routeUrl" } }, usesOnChanges: true, ngImport: i0 }); }
1225
+ }
1226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationDirective, decorators: [{
1227
+ type: Directive,
1228
+ args: [{
1229
+ selector: '[wsUtilsNavigation]',
1230
+ }]
1231
+ }], ctorParameters: function () { return []; }, propDecorators: { wsUtilsNavigation: [{
1232
+ type: Input
1233
+ }], openInNewTab: [{
1234
+ type: Input
1235
+ }], routeUrl: [{
1236
+ type: Input
1237
+ }, {
1238
+ type: HostBinding,
1239
+ args: ['attr.routerLink']
1240
+ }], onMouseEnter: [{
1241
+ type: HostListener,
1242
+ args: ['mousedown', ['$event']]
1243
+ }] } });
1244
+
1245
+ class NavigationModule {
1246
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1247
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, declarations: [NavigationDirective], imports: [CommonModule], exports: [NavigationDirective] }); }
1248
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, imports: [CommonModule] }); }
1249
+ }
1250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, decorators: [{
1251
+ type: NgModule,
1252
+ args: [{
1253
+ declarations: [NavigationDirective],
1254
+ imports: [
1255
+ CommonModule,
1256
+ ],
1257
+ exports: [NavigationDirective],
1258
+ }]
1259
+ }] });
1260
+
1261
+ class PermissionDirective {
1262
+ constructor() { }
1263
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PermissionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1264
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PermissionDirective, selector: "[wsUtilsPermission]", ngImport: i0 }); }
1265
+ }
1266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PermissionDirective, decorators: [{
1267
+ type: Directive,
1268
+ args: [{
1269
+ selector: '[wsUtilsPermission]',
1270
+ }]
1271
+ }], ctorParameters: function () { return []; } });
1272
+
1273
+ class PermissionModule {
1274
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PermissionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1275
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PermissionModule, declarations: [PermissionDirective], imports: [CommonModule], exports: [PermissionDirective] }); }
1276
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PermissionModule, imports: [CommonModule] }); }
1277
+ }
1278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PermissionModule, decorators: [{
1279
+ type: NgModule,
1280
+ args: [{
1281
+ declarations: [PermissionDirective],
1282
+ imports: [
1283
+ CommonModule,
1284
+ ],
1285
+ exports: [PermissionDirective],
1286
+ }]
1287
+ }] });
1288
+
1289
+ function getStringifiedQueryParams(obj) {
1290
+ return Object.entries(obj)
1291
+ .filter(u => u[1])
1292
+ .map(u => {
1293
+ return `${u[0]}=${u[1]}`;
1294
+ })
1295
+ .join('&');
1296
+ }
1297
+
1298
+ class HorizontalScrollerComponent {
1299
+ constructor() {
1300
+ this.loadStatus = 'none';
1301
+ this.onHover = false;
1302
+ this.loadNext = new EventEmitter();
1303
+ this.horizontalScrollElem = null;
1304
+ this.enablePrev = false;
1305
+ this.enableNext = false;
1306
+ this.scrollObserver = null;
1307
+ }
1308
+ ngOnInit() {
1309
+ if (this.horizontalScrollElem) {
1310
+ const horizontalScrollElem = this.horizontalScrollElem;
1311
+ this.scrollObserver = fromEvent(horizontalScrollElem.nativeElement, 'scroll')
1312
+ .pipe(debounceTime(100), throttleTime(100))
1313
+ .subscribe(_ => {
1314
+ this.updateNavigationBtnStatus(horizontalScrollElem
1315
+ .nativeElement);
1316
+ });
1317
+ }
1318
+ }
1319
+ ngOnChanges() {
1320
+ timer(100).subscribe(() => {
1321
+ if (this.horizontalScrollElem) {
1322
+ this.updateNavigationBtnStatus(this.horizontalScrollElem
1323
+ .nativeElement);
1324
+ }
1325
+ });
1326
+ }
1327
+ ngOnDestroy() {
1328
+ if (this.scrollObserver) {
1329
+ this.scrollObserver.unsubscribe();
1330
+ }
1331
+ }
1332
+ showPrev() {
1333
+ if (this.horizontalScrollElem) {
1334
+ if (this.horizontalScrollElem) {
1335
+ const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
1336
+ this.horizontalScrollElem.nativeElement.scrollTo({
1337
+ left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,
1338
+ behavior: 'smooth',
1339
+ });
1340
+ }
1341
+ }
1342
+ }
1343
+ showNext() {
1344
+ if (this.horizontalScrollElem) {
1345
+ if (this.horizontalScrollElem) {
1346
+ const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
1347
+ this.horizontalScrollElem.nativeElement.scrollTo({
1348
+ left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,
1349
+ behavior: 'smooth',
1350
+ });
1351
+ }
1352
+ }
1353
+ }
1354
+ updateNavigationBtnStatus(elem) {
1355
+ this.enablePrev = true;
1356
+ this.enableNext = true;
1357
+ if (elem.scrollLeft === 0) {
1358
+ this.enablePrev = false;
1359
+ }
1360
+ if (elem.scrollWidth === elem.clientWidth + elem.scrollLeft) {
1361
+ if (this.loadStatus === 'hasMore') {
1362
+ this.loadNext.emit();
1363
+ }
1364
+ else {
1365
+ this.enableNext = false;
1366
+ }
1367
+ }
1368
+ }
1369
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HorizontalScrollerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1370
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HorizontalScrollerComponent, selector: "ws-utils-horizontal-scroller", inputs: { loadStatus: "loadStatus", onHover: "onHover" }, outputs: { loadNext: "loadNext" }, viewQueries: [{ propertyName: "horizontalScrollElem", first: true, predicate: ["horizontalScrollElem"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<section class=\"horizontal-scroll-container h-full\">\r\n <button i18n-aria-label name=\"content-backward-button\" mat-mini-fab color=\"primary\" (click)=\"showPrev()\"\r\n class=\"prevBtn hidden-touch border-radius-xs\" [hidden]=\"!enablePrev\" [ngClass]=\"{'prevBtnHover': onHover}\">\r\n <mat-icon>navigate_before</mat-icon>\r\n </button>\r\n <div name=\"horizontal-scroll-content-strip\" class=\"horizontal-scroll-content\" #horizontalScrollElem>\r\n <ng-content></ng-content>\r\n </div>\r\n <button i18n-aria-label name=\"content-forward-button\" mat-mini-fab (click)=\"showNext()\" color=\"primary\"\r\n class=\"nextBtn hidden-touch border-radius-xs\" [ngClass]=\"{'nextBtnHover': onHover}\"\r\n [hidden]=\"!enableNext || loadStatus === 'fetching'\">\r\n <mat-icon>navigate_next</mat-icon>\r\n </button>\r\n <div class=\"nextLoading\" *ngIf=\"loadStatus === 'fetching'\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n</section>", styles: [".horizontal-scroll-container{position:relative;width:100%;min-height:100px}.nextLoading,.nextBtn,.prevBtn{position:absolute;top:50%;transform:translateY(-50%);z-index:999}.border-radius-xs{border-radius:8px!important}.prevBtn{left:-16px}.nextBtn{right:-16px}.nextLoading{padding:0;right:-16px}.horizontal-scroll-content{overflow-x:auto;-webkit-overflow-scrolling:touch;height:100%;flex-wrap:nowrap;display:flex;align-items:stretch;-ms-overflow-style:none}.horizontal-scroll-content::-webkit-scrollbar{width:0px;height:0px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }] }); }
1371
+ }
1372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HorizontalScrollerComponent, decorators: [{
1373
+ type: Component,
1374
+ args: [{ selector: 'ws-utils-horizontal-scroller', template: "<section class=\"horizontal-scroll-container h-full\">\r\n <button i18n-aria-label name=\"content-backward-button\" mat-mini-fab color=\"primary\" (click)=\"showPrev()\"\r\n class=\"prevBtn hidden-touch border-radius-xs\" [hidden]=\"!enablePrev\" [ngClass]=\"{'prevBtnHover': onHover}\">\r\n <mat-icon>navigate_before</mat-icon>\r\n </button>\r\n <div name=\"horizontal-scroll-content-strip\" class=\"horizontal-scroll-content\" #horizontalScrollElem>\r\n <ng-content></ng-content>\r\n </div>\r\n <button i18n-aria-label name=\"content-forward-button\" mat-mini-fab (click)=\"showNext()\" color=\"primary\"\r\n class=\"nextBtn hidden-touch border-radius-xs\" [ngClass]=\"{'nextBtnHover': onHover}\"\r\n [hidden]=\"!enableNext || loadStatus === 'fetching'\">\r\n <mat-icon>navigate_next</mat-icon>\r\n </button>\r\n <div class=\"nextLoading\" *ngIf=\"loadStatus === 'fetching'\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n</section>", styles: [".horizontal-scroll-container{position:relative;width:100%;min-height:100px}.nextLoading,.nextBtn,.prevBtn{position:absolute;top:50%;transform:translateY(-50%);z-index:999}.border-radius-xs{border-radius:8px!important}.prevBtn{left:-16px}.nextBtn{right:-16px}.nextLoading{padding:0;right:-16px}.horizontal-scroll-content{overflow-x:auto;-webkit-overflow-scrolling:touch;height:100%;flex-wrap:nowrap;display:flex;align-items:stretch;-ms-overflow-style:none}.horizontal-scroll-content::-webkit-scrollbar{width:0px;height:0px}\n"] }]
1375
+ }], ctorParameters: function () { return []; }, propDecorators: { loadStatus: [{
1376
+ type: Input
1377
+ }], onHover: [{
1378
+ type: Input
1379
+ }], loadNext: [{
1380
+ type: Output
1381
+ }], horizontalScrollElem: [{
1382
+ type: ViewChild,
1383
+ args: ['horizontalScrollElem', { static: true }]
1384
+ }] } });
1385
+
1386
+ class HorizontalScrollerModule {
1387
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HorizontalScrollerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1388
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: HorizontalScrollerModule, declarations: [HorizontalScrollerComponent], imports: [CommonModule,
1389
+ MatLegacyButtonModule,
1390
+ MatIconModule,
1391
+ MatLegacyProgressSpinnerModule], exports: [HorizontalScrollerComponent] }); }
1392
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HorizontalScrollerModule, imports: [CommonModule,
1393
+ MatLegacyButtonModule,
1394
+ MatIconModule,
1395
+ MatLegacyProgressSpinnerModule] }); }
1396
+ }
1397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HorizontalScrollerModule, decorators: [{
1398
+ type: NgModule,
1399
+ args: [{
1400
+ declarations: [HorizontalScrollerComponent],
1401
+ imports: [
1402
+ CommonModule,
1403
+ MatLegacyButtonModule,
1404
+ MatIconModule,
1405
+ MatLegacyProgressSpinnerModule,
1406
+ ],
1407
+ exports: [HorizontalScrollerComponent],
1408
+ }]
1409
+ }] });
1410
+
1411
+ const storage$1 = localStorage;
1412
+ const storageKey$1 = 'kc';
1413
+ class AuthKeycloakService {
1414
+ constructor() {
1415
+ this.loginChangeSubject = new ReplaySubject(1);
1416
+ }
1417
+ get isLoggedIn$() {
1418
+ return this.loginChangeSubject.asObservable();
1419
+ }
1420
+ async logout(_redirectUrl = this.defaultRedirectUrl) {
1421
+ window.location.href = `${_redirectUrl}public/logout`;
1422
+ }
1423
+ async force_logout() {
1424
+ if (storage$1.getItem('telemetrySessionId')) {
1425
+ storage$1.removeItem('telemetrySessionId');
1426
+ }
1427
+ storage$1.removeItem(storageKey$1);
1428
+ if (localStorage.getItem('login') === 'true') {
1429
+ try {
1430
+ sessionStorage.clear();
1431
+ localStorage.clear();
1432
+ }
1433
+ catch {
1434
+ }
1435
+ window.location.href = `${this.defaultRedirectUrl}apis/reset`;
1436
+ }
1437
+ else {
1438
+ window.location.href = `${this.defaultRedirectUrl}public/logout`;
1439
+ }
1440
+ }
1441
+ get defaultRedirectUrl() {
1442
+ try {
1443
+ const baseUrl = document.baseURI;
1444
+ return baseUrl || location.origin;
1445
+ }
1446
+ catch (error) {
1447
+ return location.origin;
1448
+ }
1449
+ }
1450
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthKeycloakService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1451
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthKeycloakService, providedIn: 'root' }); }
1452
+ }
1453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthKeycloakService, decorators: [{
1454
+ type: Injectable,
1455
+ args: [{
1456
+ providedIn: 'root',
1457
+ }]
1458
+ }], ctorParameters: function () { return []; } });
1459
+
1460
+ const RANDOM_ID_PER_USER = 0;
1461
+ class UtilityService {
1462
+ constructor(http, platform, router, route) {
1463
+ this.http = http;
1464
+ this.platform = platform;
1465
+ this.router = router;
1466
+ this.route = route;
1467
+ this.currentRouteData = [];
1468
+ this.router.events.subscribe((event) => {
1469
+ if (event instanceof NavigationEnd) {
1470
+ const snapshot = this.route.snapshot;
1471
+ const firstChild = snapshot.root.firstChild;
1472
+ this.getChildRouteData(snapshot, firstChild);
1473
+ }
1474
+ });
1475
+ }
1476
+ getChildRouteData(snapshot, firstChild) {
1477
+ if (firstChild) {
1478
+ if (firstChild.data) {
1479
+ this.currentRouteData.push(firstChild.data);
1480
+ }
1481
+ if (firstChild.firstChild) {
1482
+ this.getChildRouteData(snapshot, firstChild.firstChild);
1483
+ }
1484
+ }
1485
+ }
1486
+ get randomId() {
1487
+ return RANDOM_ID_PER_USER + 1;
1488
+ }
1489
+ getJson(url) {
1490
+ return this.http.get(url);
1491
+ }
1492
+ getLeafNodes(node, nodes) {
1493
+ if ((node.children || []).length === 0) {
1494
+ nodes.push(node);
1495
+ }
1496
+ else {
1497
+ if (node.children) {
1498
+ node.children.forEach(child => {
1499
+ this.getLeafNodes(child, nodes);
1500
+ });
1501
+ }
1502
+ }
1503
+ return nodes;
1504
+ }
1505
+ getPath(node, id) {
1506
+ const path = [];
1507
+ this.hasPath(node, path, id);
1508
+ return path;
1509
+ }
1510
+ hasPath(node, pathArr, id) {
1511
+ if (node == null) {
1512
+ return false;
1513
+ }
1514
+ pathArr.push(node);
1515
+ if (node.identifier === id) {
1516
+ return true;
1517
+ }
1518
+ const children = node.children || [];
1519
+ if (children.some(u => this.hasPath(u, pathArr, id))) {
1520
+ return true;
1521
+ }
1522
+ pathArr.pop();
1523
+ return false;
1524
+ }
1525
+ get isMobile() {
1526
+ if (this.isIos || this.isAndroid) {
1527
+ return true;
1528
+ }
1529
+ return false;
1530
+ }
1531
+ get isIos() {
1532
+ return this.platform.IOS;
1533
+ }
1534
+ get isAndroid() {
1535
+ return this.platform.ANDROID;
1536
+ }
1537
+ get isAndroidApp() {
1538
+ return Boolean(window.appRef);
1539
+ }
1540
+ get iOsAppRef() {
1541
+ if (window.webkit &&
1542
+ window.webkit.messageHandlers &&
1543
+ window.webkit.messageHandlers.appRef) {
1544
+ return window.webkit.messageHandlers.appRef;
1545
+ }
1546
+ return null;
1547
+ }
1548
+ setRouteData(data) {
1549
+ this.currentRouteData = data;
1550
+ }
1551
+ get routeData() {
1552
+ const data = {
1553
+ module: '',
1554
+ pageId: '',
1555
+ };
1556
+ this.currentRouteData.map((rd) => {
1557
+ if (rd.pageId) {
1558
+ data.pageId = `${data.pageId}/${rd.pageId}`;
1559
+ }
1560
+ if (rd.module) {
1561
+ data.module = rd.module;
1562
+ }
1563
+ });
1564
+ return data;
1565
+ }
1566
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UtilityService, deps: [{ token: i1$3.HttpClient }, { token: i2.Platform }, { token: i3$1.Router }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
1567
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UtilityService, providedIn: 'root' }); }
1568
+ }
1569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UtilityService, decorators: [{
1570
+ type: Injectable,
1571
+ args: [{
1572
+ providedIn: 'root',
1573
+ }]
1574
+ }], ctorParameters: function () { return [{ type: i1$3.HttpClient }, { type: i2.Platform }, { type: i3$1.Router }, { type: i3$1.ActivatedRoute }]; } });
1575
+
1576
+ class LogoutComponent {
1577
+ constructor(dialogRef, authSvc, configSvc, utilitySvc) {
1578
+ this.dialogRef = dialogRef;
1579
+ this.authSvc = authSvc;
1580
+ this.configSvc = configSvc;
1581
+ this.utilitySvc = utilitySvc;
1582
+ this.disabled = false;
1583
+ this.isDownloadableIos = false;
1584
+ this.isDownloadableAndroid = false;
1585
+ }
1586
+ ngOnInit() {
1587
+ if (this.configSvc.restrictedFeatures) {
1588
+ this.isDownloadableIos = !this.configSvc.restrictedFeatures.has('iosDownload');
1589
+ this.isDownloadableAndroid = !this.configSvc.restrictedFeatures.has('androidDownload');
1590
+ }
1591
+ }
1592
+ confirmed() {
1593
+ this.disabled = true;
1594
+ this.dialogRef.close();
1595
+ this.authSvc.force_logout();
1596
+ }
1597
+ get isDownloadable() {
1598
+ if (this.configSvc.instanceConfig && this.configSvc.instanceConfig.isContentDownloadAvailable &&
1599
+ (this.utilitySvc.iOsAppRef || this.utilitySvc.isAndroidApp)) {
1600
+ return true;
1601
+ }
1602
+ return false;
1603
+ }
1604
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LogoutComponent, deps: [{ token: i1$1.MatLegacyDialogRef }, { token: AuthKeycloakService }, { token: ConfigurationsService }, { token: UtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
1605
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LogoutComponent, selector: "ws-utils-logout", ngImport: i0, template: "<div class=\"logout-outer\">\r\n <h1 mat-dialog-title i18n>Logout Now</h1>\r\n <div class=\"ws-mat-primary-text text-base pb-2 title-text\" *ngIf=\"isDownloadable\" i18n>\r\n Note: On logging out all the downloaded content will be deleted.\r\n </div>\r\n <div mat-dialog-content class=\"text-base hide-overflow\" i18n>\r\n Are you sure?\r\n </div>\r\n <div mat-dialog-actions class=\"flex-row-reverse\">\r\n <button mat-flat-button color=\"warn\" [disabled]=\"disabled\" (click)=\"confirmed()\" i18n>\r\n Yes\r\n </button>\r\n <button mat-button class=\"margin-right-xs\" [mat-dialog-close] cdkFocusInitial i18n>No</button>\r\n </div>\r\n</div>", styles: [".hide-overflow{overflow:hidden}.logout-outer{padding:16px 0}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1$1.MatLegacyDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$1.MatLegacyDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$1.MatLegacyDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$1.MatLegacyDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] }); }
1606
+ }
1607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LogoutComponent, decorators: [{
1608
+ type: Component,
1609
+ args: [{ selector: 'ws-utils-logout', template: "<div class=\"logout-outer\">\r\n <h1 mat-dialog-title i18n>Logout Now</h1>\r\n <div class=\"ws-mat-primary-text text-base pb-2 title-text\" *ngIf=\"isDownloadable\" i18n>\r\n Note: On logging out all the downloaded content will be deleted.\r\n </div>\r\n <div mat-dialog-content class=\"text-base hide-overflow\" i18n>\r\n Are you sure?\r\n </div>\r\n <div mat-dialog-actions class=\"flex-row-reverse\">\r\n <button mat-flat-button color=\"warn\" [disabled]=\"disabled\" (click)=\"confirmed()\" i18n>\r\n Yes\r\n </button>\r\n <button mat-button class=\"margin-right-xs\" [mat-dialog-close] cdkFocusInitial i18n>No</button>\r\n </div>\r\n</div>", styles: [".hide-overflow{overflow:hidden}.logout-outer{padding:16px 0}\n"] }]
1610
+ }], ctorParameters: function () { return [{ type: i1$1.MatLegacyDialogRef }, { type: AuthKeycloakService }, { type: ConfigurationsService }, { type: UtilityService }]; } });
1611
+
1612
+ class LogoutModule {
1613
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LogoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1614
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: LogoutModule, declarations: [LogoutComponent], imports: [CommonModule,
1615
+ MatLegacyButtonModule,
1616
+ MatLegacyDialogModule] }); }
1617
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LogoutModule, imports: [CommonModule,
1618
+ MatLegacyButtonModule,
1619
+ MatLegacyDialogModule] }); }
1620
+ }
1621
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LogoutModule, decorators: [{
1622
+ type: NgModule,
1623
+ args: [{
1624
+ declarations: [LogoutComponent],
1625
+ imports: [
1626
+ CommonModule,
1627
+ MatLegacyButtonModule,
1628
+ MatLegacyDialogModule,
1629
+ ]
1630
+ }]
1631
+ }] });
1632
+
1633
+ class PipeConciseDateRangePipe {
1634
+ transform(dateRange) {
1635
+ try {
1636
+ let conciseRange;
1637
+ let prefix;
1638
+ let suffix;
1639
+ const fromDate = new Date(dateRange.fromDate);
1640
+ const toDate = new Date(dateRange.toDate);
1641
+ const fromDateObj = {
1642
+ day: fromDate.getDate(),
1643
+ month: fromDate.toLocaleString('default', { month: 'short' }),
1644
+ year: fromDate.getFullYear(),
1645
+ time: fromDate.getTime(),
1646
+ };
1647
+ const toDateObj = {
1648
+ day: toDate.getDate(),
1649
+ month: toDate.toLocaleString('default', { month: 'short' }),
1650
+ year: toDate.getFullYear(),
1651
+ time: toDate.getTime(),
1652
+ };
1653
+ if (fromDateObj.time === toDateObj.time) {
1654
+ conciseRange = `${fromDateObj.day} ${fromDateObj.month} ${fromDateObj.year}`;
1655
+ return conciseRange;
1656
+ }
1657
+ if (fromDateObj.year !== fromDateObj.year) {
1658
+ prefix = `${fromDateObj.day} ${fromDateObj.month} ${fromDateObj.year}`;
1659
+ suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`;
1660
+ conciseRange = `${prefix} - ${suffix}`;
1661
+ return conciseRange;
1662
+ }
1663
+ if (fromDateObj.month === toDateObj.month) {
1664
+ prefix = `${fromDateObj.day}`;
1665
+ suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`;
1666
+ }
1667
+ else {
1668
+ prefix = `${fromDateObj.day} ${fromDateObj.month}`;
1669
+ suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`;
1670
+ }
1671
+ conciseRange = `${prefix} - ${suffix}`;
1672
+ return conciseRange;
1673
+ }
1674
+ catch (e) {
1675
+ return `${dateRange.fromDate} - ${dateRange.toDate}`;
1676
+ }
1677
+ }
1678
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeConciseDateRangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1679
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeConciseDateRangePipe, name: "pipeConciseDateRange" }); }
1680
+ }
1681
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeConciseDateRangePipe, decorators: [{
1682
+ type: Pipe,
1683
+ args: [{
1684
+ name: 'pipeConciseDateRange',
1685
+ }]
1686
+ }] });
1687
+
1688
+ class PipeConciseDateRangeModule {
1689
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeConciseDateRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1690
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeConciseDateRangeModule, declarations: [PipeConciseDateRangePipe], imports: [CommonModule], exports: [PipeConciseDateRangePipe] }); }
1691
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeConciseDateRangeModule, imports: [CommonModule] }); }
1692
+ }
1693
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeConciseDateRangeModule, decorators: [{
1694
+ type: NgModule,
1695
+ args: [{
1696
+ declarations: [PipeConciseDateRangePipe],
1697
+ imports: [CommonModule],
1698
+ exports: [PipeConciseDateRangePipe],
1699
+ }]
1700
+ }] });
1701
+
1702
+ class PipeCountTransformPipe {
1703
+ transform(value) {
1704
+ const thousand = 1000;
1705
+ const million = 1000000;
1706
+ if (value > 0) {
1707
+ if (value < thousand) {
1708
+ return String(value);
1709
+ }
1710
+ if (value >= thousand && value < million) {
1711
+ const views = (value / thousand).toFixed(1);
1712
+ if (views.endsWith('0')) {
1713
+ return `${views.split('.')[0]}K`;
1714
+ }
1715
+ return `${views}K`;
1716
+ }
1717
+ {
1718
+ const views = (value / million).toFixed(1);
1719
+ if (views.endsWith('0')) {
1720
+ return `${views.split('.')[0]}M`;
1721
+ }
1722
+ return `${views}M`;
1723
+ }
1724
+ }
1725
+ return '0';
1726
+ }
1727
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeCountTransformPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1728
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeCountTransformPipe, name: "pipeCountTransform" }); }
1729
+ }
1730
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeCountTransformPipe, decorators: [{
1731
+ type: Pipe,
1732
+ args: [{
1733
+ name: 'pipeCountTransform',
1734
+ }]
1735
+ }] });
1736
+
1737
+ class PipeCountTransformModule {
1738
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeCountTransformModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1739
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeCountTransformModule, declarations: [PipeCountTransformPipe], imports: [CommonModule], exports: [PipeCountTransformPipe] }); }
1740
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeCountTransformModule, imports: [CommonModule] }); }
1741
+ }
1742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeCountTransformModule, decorators: [{
1743
+ type: NgModule,
1744
+ args: [{
1745
+ declarations: [PipeCountTransformPipe],
1746
+ imports: [
1747
+ CommonModule,
1748
+ ],
1749
+ exports: [PipeCountTransformPipe],
1750
+ }]
1751
+ }] });
1752
+
1753
+ class PipeDateConcatPipe {
1754
+ constructor() {
1755
+ this.months = [
1756
+ 'Jan',
1757
+ 'Feb',
1758
+ 'Mar',
1759
+ 'Apr',
1760
+ 'May',
1761
+ 'Jun',
1762
+ 'Jul',
1763
+ 'Aug',
1764
+ 'Sep',
1765
+ 'Oct',
1766
+ 'Nov',
1767
+ 'Dec',
1768
+ ];
1769
+ }
1770
+ transform(value) {
1771
+ let dateStr = `${value.day} ${this.months[value.month - 1]} ${value.year}`;
1772
+ if (value.timeZone) {
1773
+ dateStr += ` ${value.timeZone}`;
1774
+ }
1775
+ return dateStr;
1776
+ }
1777
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeDateConcatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1778
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeDateConcatPipe, name: "pipeDateConcat" }); }
1779
+ }
1780
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeDateConcatPipe, decorators: [{
1781
+ type: Pipe,
1782
+ args: [{
1783
+ name: 'pipeDateConcat',
1784
+ }]
1785
+ }], ctorParameters: function () { return []; } });
1786
+
1787
+ class PipeDateConcatModule {
1788
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeDateConcatModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1789
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeDateConcatModule, declarations: [PipeDateConcatPipe], imports: [CommonModule], exports: [PipeDateConcatPipe] }); }
1790
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeDateConcatModule, imports: [CommonModule] }); }
1791
+ }
1792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeDateConcatModule, decorators: [{
1793
+ type: NgModule,
1794
+ args: [{
1795
+ declarations: [PipeDateConcatPipe],
1796
+ imports: [
1797
+ CommonModule,
1798
+ ],
1799
+ exports: [PipeDateConcatPipe],
1800
+ }]
1801
+ }] });
1802
+
1803
+ class PipeDurationTransformPipe {
1804
+ transform(data, type) {
1805
+ if (data <= 0) {
1806
+ return '';
1807
+ }
1808
+ const h = Math.floor(data / 3600);
1809
+ const m = Math.floor((data % 3600) / 60);
1810
+ const s = Math.floor((data % 3600) % 60);
1811
+ let duration = '';
1812
+ let space = '';
1813
+ switch (type) {
1814
+ case 'time24':
1815
+ return this.defaultDuration(h, m, s);
1816
+ case 'hms':
1817
+ if (h > 0) {
1818
+ duration += type === 'hms' ? `${h}h` : `${h} hr`;
1819
+ }
1820
+ if (m > 0) {
1821
+ if (h > 0) {
1822
+ space = ' ';
1823
+ }
1824
+ duration += type === 'hms' ? `${space}${m}m` : `${space}${m} min`;
1825
+ }
1826
+ if (s > 0 && h === 0) {
1827
+ if (m > 0) {
1828
+ space = ' ';
1829
+ }
1830
+ duration += type === 'hms' ? `${space}${s}s` : `${space}${s} sec`;
1831
+ }
1832
+ return duration;
1833
+ case 'hour':
1834
+ if (h === 0) {
1835
+ duration += 'less than an hour';
1836
+ }
1837
+ if (h === 1) {
1838
+ duration += `${h} hour`;
1839
+ }
1840
+ if (h > 1) {
1841
+ duration += `${h} hours`;
1842
+ }
1843
+ return duration;
1844
+ default:
1845
+ return this.defaultDuration(h, m, s);
1846
+ }
1847
+ }
1848
+ defaultDuration(h, m, s) {
1849
+ let duration = '';
1850
+ duration += h > 0 ? `${h.toString().padStart(2)}:` : '';
1851
+ duration += m > 0 ? `${m.toString().padStart(2)}:` : '00:';
1852
+ duration += s > 0 ? s.toString().padStart(2) : '00';
1853
+ return duration;
1854
+ }
1855
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeDurationTransformPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1856
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeDurationTransformPipe, name: "pipeDurationTransform" }); }
1857
+ }
1858
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeDurationTransformPipe, decorators: [{
1859
+ type: Pipe,
1860
+ args: [{
1861
+ name: 'pipeDurationTransform',
1862
+ }]
1863
+ }] });
1864
+
1865
+ class PipeDurationTransformModule {
1866
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeDurationTransformModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1867
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeDurationTransformModule, declarations: [PipeDurationTransformPipe], imports: [CommonModule], exports: [PipeDurationTransformPipe] }); }
1868
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeDurationTransformModule, imports: [CommonModule] }); }
1869
+ }
1870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeDurationTransformModule, decorators: [{
1871
+ type: NgModule,
1872
+ args: [{
1873
+ declarations: [PipeDurationTransformPipe],
1874
+ imports: [
1875
+ CommonModule,
1876
+ ],
1877
+ exports: [PipeDurationTransformPipe],
1878
+ }]
1879
+ }] });
1880
+
1881
+ class PipeHtmlTagRemovalPipe {
1882
+ transform(htmlString) {
1883
+ return htmlString ? String(htmlString).replace(/<[^>]+>/gm, '') : '';
1884
+ }
1885
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeHtmlTagRemovalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1886
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeHtmlTagRemovalPipe, name: "pipeHtmlTagRemoval" }); }
1887
+ }
1888
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeHtmlTagRemovalPipe, decorators: [{
1889
+ type: Pipe,
1890
+ args: [{
1891
+ name: 'pipeHtmlTagRemoval',
1892
+ }]
1893
+ }] });
1894
+
1895
+ class PipeHtmlTagRemovalModule {
1896
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeHtmlTagRemovalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1897
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeHtmlTagRemovalModule, declarations: [PipeHtmlTagRemovalPipe], imports: [CommonModule], exports: [PipeHtmlTagRemovalPipe] }); }
1898
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeHtmlTagRemovalModule, imports: [CommonModule] }); }
1899
+ }
1900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeHtmlTagRemovalModule, decorators: [{
1901
+ type: NgModule,
1902
+ args: [{
1903
+ declarations: [PipeHtmlTagRemovalPipe],
1904
+ imports: [
1905
+ CommonModule,
1906
+ ],
1907
+ exports: [PipeHtmlTagRemovalPipe],
1908
+ }]
1909
+ }] });
1910
+
1911
+ class PipeFilterPipe {
1912
+ transform(value, keys, term) {
1913
+ if (!term) {
1914
+ return value;
1915
+ }
1916
+ return (value || []).filter((item) => keys.split(',')
1917
+ .some(key => item.hasOwnProperty(key) && new RegExp(`^${term}$`, 'gi').test(item[key])));
1918
+ }
1919
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1920
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterPipe, name: "pipeFilter" }); }
1921
+ }
1922
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterPipe, decorators: [{
1923
+ type: Pipe,
1924
+ args: [{
1925
+ name: 'pipeFilter',
1926
+ }]
1927
+ }] });
1928
+
1929
+ class PipeFilterModule {
1930
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1931
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterModule, declarations: [PipeFilterPipe], imports: [CommonModule], exports: [PipeFilterPipe] }); }
1932
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterModule, imports: [CommonModule] }); }
1933
+ }
1934
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterModule, decorators: [{
1935
+ type: NgModule,
1936
+ args: [{
1937
+ declarations: [PipeFilterPipe],
1938
+ imports: [
1939
+ CommonModule,
1940
+ ],
1941
+ exports: [PipeFilterPipe],
1942
+ }]
1943
+ }] });
1944
+
1945
+ class PipeFilterSearchPipe {
1946
+ transform(items, searchText, ...keys) {
1947
+ if (!items) {
1948
+ return [];
1949
+ }
1950
+ if (!searchText) {
1951
+ return items;
1952
+ }
1953
+ const searchTextLowerCase = searchText.toLowerCase();
1954
+ if (keys && keys.length) {
1955
+ const result = items.filter(it => {
1956
+ return it['personalDetails'][keys[0]].toLowerCase().includes(searchTextLowerCase);
1957
+ });
1958
+ if (result && result.length <= 0) {
1959
+ return [-1];
1960
+ }
1961
+ return result;
1962
+ }
1963
+ return items.filter(it => {
1964
+ return it.title.toLowerCase().includes(searchTextLowerCase);
1965
+ });
1966
+ }
1967
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterSearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1968
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterSearchPipe, name: "pipeFilterSearch" }); }
1969
+ }
1970
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterSearchPipe, decorators: [{
1971
+ type: Pipe,
1972
+ args: [{
1973
+ name: 'pipeFilterSearch',
1974
+ }]
1975
+ }] });
1976
+
1977
+ class PipeFilterSearchModule {
1978
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1979
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterSearchModule, declarations: [PipeFilterSearchPipe], imports: [CommonModule], exports: [PipeFilterSearchPipe] }); }
1980
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterSearchModule, imports: [CommonModule] }); }
1981
+ }
1982
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeFilterSearchModule, decorators: [{
1983
+ type: NgModule,
1984
+ args: [{
1985
+ declarations: [PipeFilterSearchPipe],
1986
+ imports: [
1987
+ CommonModule,
1988
+ ],
1989
+ exports: [PipeFilterSearchPipe],
1990
+ }]
1991
+ }] });
1992
+
1993
+ class PipeListFilterPipe {
1994
+ transform(value, keys, term) {
1995
+ if (!term) {
1996
+ return value;
1997
+ }
1998
+ return (value || []).filter((item) => keys.split(',')
1999
+ .some(key => item.hasOwnProperty(key)
2000
+ && item[key] && (`${item[key]} `).toLocaleLowerCase().includes(term.toLocaleLowerCase())));
2001
+ }
2002
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeListFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2003
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeListFilterPipe, name: "pipeListFilter" }); }
2004
+ }
2005
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeListFilterPipe, decorators: [{
2006
+ type: Pipe,
2007
+ args: [{
2008
+ name: 'pipeListFilter',
2009
+ }]
2010
+ }] });
2011
+
2012
+ class PipeListFilterModule {
2013
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeListFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2014
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeListFilterModule, declarations: [PipeListFilterPipe], imports: [CommonModule], exports: [PipeListFilterPipe] }); }
2015
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeListFilterModule, imports: [CommonModule] }); }
2016
+ }
2017
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeListFilterModule, decorators: [{
2018
+ type: NgModule,
2019
+ args: [{
2020
+ declarations: [PipeListFilterPipe],
2021
+ imports: [
2022
+ CommonModule,
2023
+ ],
2024
+ exports: [PipeListFilterPipe],
2025
+ }]
2026
+ }] });
2027
+
2028
+ const moment$1 = _moment;
2029
+ class PipeRelativeTimePipe {
2030
+ transform(value) {
2031
+ if (value) {
2032
+ return moment$1((new Date(value))).fromNow();
2033
+ }
2034
+ return moment$1().startOf('hour').fromNow();
2035
+ }
2036
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeRelativeTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2037
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeRelativeTimePipe, name: "pipeRelativeTime" }); }
2038
+ }
2039
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeRelativeTimePipe, decorators: [{
2040
+ type: Pipe,
2041
+ args: [{
2042
+ name: 'pipeRelativeTime',
2043
+ }]
2044
+ }] });
2045
+
2046
+ class PipeRelativeTimeModule {
2047
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeRelativeTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2048
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeRelativeTimeModule, declarations: [PipeRelativeTimePipe], imports: [CommonModule], exports: [PipeRelativeTimePipe] }); }
2049
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeRelativeTimeModule, imports: [CommonModule] }); }
2050
+ }
2051
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeRelativeTimeModule, decorators: [{
2052
+ type: NgModule,
2053
+ args: [{
2054
+ declarations: [PipeRelativeTimePipe],
2055
+ imports: [
2056
+ CommonModule,
2057
+ ],
2058
+ exports: [PipeRelativeTimePipe],
2059
+ }]
2060
+ }] });
2061
+
2062
+ class OrderByPipe {
2063
+ constructor() {
2064
+ this.transform = orderBy;
2065
+ }
2066
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrderByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2067
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: OrderByPipe, name: "orderBy" }); }
2068
+ }
2069
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrderByPipe, decorators: [{
2070
+ type: Pipe,
2071
+ args: [{
2072
+ name: 'orderBy',
2073
+ }]
2074
+ }] });
2075
+
2076
+ class PipeOrderByModule {
2077
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeOrderByModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2078
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeOrderByModule, declarations: [OrderByPipe], imports: [CommonModule], exports: [OrderByPipe] }); }
2079
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeOrderByModule, imports: [CommonModule] }); }
2080
+ }
2081
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeOrderByModule, decorators: [{
2082
+ type: NgModule,
2083
+ args: [{
2084
+ declarations: [OrderByPipe],
2085
+ imports: [
2086
+ CommonModule,
2087
+ ],
2088
+ exports: [OrderByPipe],
2089
+ }]
2090
+ }] });
2091
+
2092
+ class PipeLimitToPipe {
2093
+ transform(data, limit = 5) {
2094
+ if (!data || !data.length) {
2095
+ return null;
2096
+ }
2097
+ if (Array.isArray(data)) {
2098
+ return data.slice(0, limit);
2099
+ }
2100
+ if (typeof data === 'string') {
2101
+ const slicedString = data.substr(0, limit);
2102
+ if (limit < data.length) {
2103
+ return `${slicedString}...`;
2104
+ }
2105
+ return slicedString;
2106
+ }
2107
+ return null;
2108
+ }
2109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeLimitToPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2110
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeLimitToPipe, name: "pipeLimitTo" }); }
2111
+ }
2112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeLimitToPipe, decorators: [{
2113
+ type: Pipe,
2114
+ args: [{
2115
+ name: 'pipeLimitTo',
2116
+ }]
2117
+ }] });
2118
+
2119
+ class PipeLimitToModule {
2120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeLimitToModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2121
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeLimitToModule, declarations: [PipeLimitToPipe], imports: [CommonModule], exports: [PipeLimitToPipe] }); }
2122
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeLimitToModule, imports: [CommonModule] }); }
2123
+ }
2124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeLimitToModule, decorators: [{
2125
+ type: NgModule,
2126
+ args: [{
2127
+ declarations: [PipeLimitToPipe],
2128
+ imports: [
2129
+ CommonModule,
2130
+ ],
2131
+ exports: [PipeLimitToPipe],
2132
+ }]
2133
+ }] });
2134
+
2135
+ class PipeNameTransformPipe {
2136
+ transform(value) {
2137
+ let result = '';
2138
+ if (value.firstName) {
2139
+ result += value.firstName;
2140
+ }
2141
+ if (value.lastName && value.lastName !== value.firstName) {
2142
+ result += ` ${value.lastName}`;
2143
+ }
2144
+ if (result.trim() !== '') {
2145
+ return result;
2146
+ }
2147
+ if (value.email) {
2148
+ return value.email;
2149
+ }
2150
+ return 'Anonymous User';
2151
+ }
2152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeNameTransformPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2153
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeNameTransformPipe, name: "pipeNameTransform" }); }
2154
+ }
2155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeNameTransformPipe, decorators: [{
2156
+ type: Pipe,
2157
+ args: [{
2158
+ name: 'pipeNameTransform',
2159
+ }]
2160
+ }] });
2161
+
2162
+ class PipeNameTransformModule {
2163
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeNameTransformModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2164
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeNameTransformModule, declarations: [PipeNameTransformPipe], imports: [CommonModule], exports: [PipeNameTransformPipe] }); }
2165
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeNameTransformModule, imports: [CommonModule] }); }
2166
+ }
2167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeNameTransformModule, decorators: [{
2168
+ type: NgModule,
2169
+ args: [{
2170
+ declarations: [PipeNameTransformPipe],
2171
+ imports: [
2172
+ CommonModule,
2173
+ ],
2174
+ exports: [PipeNameTransformPipe],
2175
+ }]
2176
+ }] });
2177
+
2178
+ class PipePartialContentPipe {
2179
+ transform(value, keys) {
2180
+ const result = {};
2181
+ for (const key of keys) {
2182
+ if (value[key]) {
2183
+ result[key] = value[key];
2184
+ }
2185
+ }
2186
+ return result;
2187
+ }
2188
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipePartialContentPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2189
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipePartialContentPipe, name: "pipePartialContent" }); }
2190
+ }
2191
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipePartialContentPipe, decorators: [{
2192
+ type: Pipe,
2193
+ args: [{
2194
+ name: 'pipePartialContent',
2195
+ }]
2196
+ }] });
2197
+
2198
+ class PipePartialContentModule {
2199
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipePartialContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2200
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipePartialContentModule, declarations: [PipePartialContentPipe], imports: [CommonModule], exports: [PipePartialContentPipe] }); }
2201
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipePartialContentModule, imports: [CommonModule] }); }
2202
+ }
2203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipePartialContentModule, decorators: [{
2204
+ type: NgModule,
2205
+ args: [{
2206
+ declarations: [PipePartialContentPipe],
2207
+ imports: [
2208
+ CommonModule,
2209
+ ],
2210
+ exports: [PipePartialContentPipe],
2211
+ }]
2212
+ }] });
2213
+
2214
+ class PipeSafeSanitizerPipe {
2215
+ constructor(sanitizer) {
2216
+ this.sanitizer = sanitizer;
2217
+ }
2218
+ transform(value, type = 'html') {
2219
+ switch (type) {
2220
+ case 'html':
2221
+ return this.sanitizer.bypassSecurityTrustHtml(value);
2222
+ case 'style':
2223
+ return this.sanitizer.bypassSecurityTrustStyle(value);
2224
+ case 'script':
2225
+ return this.sanitizer.bypassSecurityTrustScript(value);
2226
+ case 'url':
2227
+ return this.sanitizer.bypassSecurityTrustUrl(value);
2228
+ case 'resourceUrl':
2229
+ return this.sanitizer.bypassSecurityTrustResourceUrl(value);
2230
+ default:
2231
+ throw new Error(`Invalid safe type specified: ${type}`);
2232
+ }
2233
+ }
2234
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeSafeSanitizerPipe, deps: [{ token: i1$4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
2235
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeSafeSanitizerPipe, name: "pipeSafeSanitizer" }); }
2236
+ }
2237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeSafeSanitizerPipe, decorators: [{
2238
+ type: Pipe,
2239
+ args: [{
2240
+ name: 'pipeSafeSanitizer',
2241
+ }]
2242
+ }], ctorParameters: function () { return [{ type: i1$4.DomSanitizer }]; } });
2243
+
2244
+ class PipeSafeSanitizerModule {
2245
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeSafeSanitizerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2246
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeSafeSanitizerModule, declarations: [PipeSafeSanitizerPipe], imports: [CommonModule], exports: [PipeSafeSanitizerPipe] }); }
2247
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeSafeSanitizerModule, imports: [CommonModule] }); }
2248
+ }
2249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeSafeSanitizerModule, decorators: [{
2250
+ type: NgModule,
2251
+ args: [{
2252
+ declarations: [PipeSafeSanitizerPipe],
2253
+ imports: [
2254
+ CommonModule,
2255
+ ],
2256
+ exports: [PipeSafeSanitizerPipe],
2257
+ }]
2258
+ }] });
2259
+
2260
+ class ExploreDetailResolve {
2261
+ constructor(http, configSvc, utilitySvc) {
2262
+ this.http = http;
2263
+ this.configSvc = configSvc;
2264
+ this.utilitySvc = utilitySvc;
2265
+ this.baseUrl = this.configSvc.sitePath;
2266
+ this.isIntranetAllowedSettings = false;
2267
+ }
2268
+ resolve(route, _state) {
2269
+ this.isIntranetAllowedSettings = this.configSvc.isIntranetAllowed;
2270
+ const tag = decodeURIComponent(route.params.tags);
2271
+ let url = '';
2272
+ if (route.data.pageUrl) {
2273
+ url = route.data.pageUrl;
2274
+ }
2275
+ if (route.data.pageType === 'page' && route.data.pageKey) {
2276
+ url = `${this.baseUrl}/page/${route.data.pageKey}.json`;
2277
+ }
2278
+ return this.http.get(url).pipe(map(pageData => ({ data: this.transformPageData(pageData, tag), error: null })), catchError(err => of({ data: null, error: err })));
2279
+ }
2280
+ transformPageData(pageData, tag) {
2281
+ const DELIMITER = '>';
2282
+ const path = tag.split(DELIMITER);
2283
+ pageData.pageLayout.widgetData.widgets = pageData.pageLayout.widgetData.widgets.map((widget) => {
2284
+ if (pageData.navigationBar && pageData.navigationBar.links) {
2285
+ pageData.navigationBar.links = pageData.navigationBar.links
2286
+ .filter((link) => link.widgetData.tags === tag);
2287
+ }
2288
+ if (widget.widgetSubType === 'cardBreadcrumb') {
2289
+ widget.widgetData.path = [{
2290
+ text: pageData.navigationBar.pageTitle,
2291
+ clickUrl: pageData.navigationBar.pageBackLink,
2292
+ }].concat(path.map((edge, idx) => ({
2293
+ text: edge,
2294
+ clickUrl: `/page/explore/${path.slice(0, idx + 1).join(DELIMITER)}`,
2295
+ })));
2296
+ }
2297
+ if (widget.widgetSubType === 'contentStripMultiple') {
2298
+ widget.widgetData.strips = widget.widgetData.strips.map((strip) => {
2299
+ strip.request.searchV6.filters[0].andFilters.push({ catalogPaths: [tag] });
2300
+ if (this.utilitySvc.isMobile && !this.isIntranetAllowedSettings) {
2301
+ strip.request.searchV6.filters[0].andFilters.push({ isInIntranet: ['false'] });
2302
+ }
2303
+ return strip;
2304
+ });
2305
+ if (widget.widgetData.noDataWidget && widget.widgetData.noDataWidget.widgetData.strips) {
2306
+ widget.widgetData.noDataWidget.widgetData.strips = widget.widgetData.noDataWidget.widgetData.strips.map((strip) => {
2307
+ strip.request.searchV6.filters[0].andFilters.push({ catalogPaths: [tag] });
2308
+ if (this.utilitySvc.isMobile && !this.isIntranetAllowedSettings) {
2309
+ strip.request.searchV6.filters[0].andFilters.push({ isInIntranet: ['false'] });
2310
+ }
2311
+ return strip;
2312
+ });
2313
+ }
2314
+ }
2315
+ return widget;
2316
+ });
2317
+ return pageData;
2318
+ }
2319
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExploreDetailResolve, deps: [{ token: i1$3.HttpClient }, { token: ConfigurationsService }, { token: UtilityService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2320
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExploreDetailResolve, providedIn: 'root' }); }
2321
+ }
2322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExploreDetailResolve, decorators: [{
2323
+ type: Injectable,
2324
+ args: [{
2325
+ providedIn: 'root',
2326
+ }]
2327
+ }], ctorParameters: function () { return [{ type: i1$3.HttpClient }, { type: ConfigurationsService }, { type: UtilityService }]; } });
2328
+
2329
+ class MarketingOfferingResolve {
2330
+ constructor(http) {
2331
+ this.http = http;
2332
+ }
2333
+ resolve(route, _state) {
2334
+ const tag = route.params.tag;
2335
+ return this.http.get(route.data.pageUrl).pipe(map(pageData => ({ data: this.transformPageData(pageData, tag), error: null })), catchError(err => of({ data: null, error: err })));
2336
+ }
2337
+ transformPageData(pageData, tag) {
2338
+ pageData.pageLayout.widgetData.widgets = pageData.pageLayout.widgetData.widgets.map((widget) => {
2339
+ if (widget.widgetSubType === 'contentStripMultiple') {
2340
+ widget.widgetData.strips = widget.widgetData.strips.map((strip) => {
2341
+ strip.request.search.filters.catalogPaths = [decodeURIComponent(tag)];
2342
+ return strip;
2343
+ });
2344
+ }
2345
+ return widget;
2346
+ });
2347
+ return pageData;
2348
+ }
2349
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MarketingOfferingResolve, deps: [{ token: i1$3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
2350
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MarketingOfferingResolve, providedIn: 'root' }); }
2351
+ }
2352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MarketingOfferingResolve, decorators: [{
2353
+ type: Injectable,
2354
+ args: [{
2355
+ providedIn: 'root',
2356
+ }]
2357
+ }], ctorParameters: function () { return [{ type: i1$3.HttpClient }]; } });
2358
+
2359
+ const JSON_MAP = {
2360
+ pagename: 'lexid',
2361
+ };
2362
+
2363
+ class PageResolve {
2364
+ constructor(configSvc, http, locale) {
2365
+ this.configSvc = configSvc;
2366
+ this.http = http;
2367
+ this.locale = locale;
2368
+ this.baseUrl = this.configSvc.sitePath;
2369
+ }
2370
+ resolve(route) {
2371
+ if (route.data.pageUrl) {
2372
+ return this.getData(route.data.pageUrl);
2373
+ }
2374
+ if (route.data.pageType === 'feature' && route.data.pageKey) {
2375
+ return this.getData(`${this.baseUrl}/feature/${route.data.pageKey}`);
2376
+ }
2377
+ if (route.data.pageType === 'page' &&
2378
+ route.data.pageKey &&
2379
+ route.paramMap.has(route.data.pageKey)) {
2380
+ return this.getData(`${this.baseUrl}/page/${route.paramMap.get(route.data.pageKey)}`);
2381
+ }
2382
+ if (route.data.pageType === 'page' &&
2383
+ route.data.pageKey &&
2384
+ route.data.pageKey === 'toc') {
2385
+ return this.getData(`${this.baseUrl}/page/${route.data.pageKey}`);
2386
+ }
2387
+ return {
2388
+ data: null,
2389
+ error: 'CONFIGURATION_ERROR_PAGE_URL_NOT_FORMED',
2390
+ };
2391
+ }
2392
+ setS3Cookie(contentId) {
2393
+ return this.http.post(`/apis/protected/v8/content/setCookie`, { contentId }).pipe(catchError(_err => of(true)));
2394
+ }
2395
+ getContent(id) {
2396
+ return this.http
2397
+ .post(`/apis/protected/v8/content/${id}?hierarchyType=minimal`, ['status', 'artifactUrl']);
2398
+ }
2399
+ getData(url) {
2400
+ const id = url.split('/').pop().split('.')[0] || '';
2401
+ const equivalentId = id.startsWith('lex_auth_') ? id : JSON_MAP[id];
2402
+ if (equivalentId) {
2403
+ return forkJoin([this.setS3Cookie(equivalentId), this.getContent(equivalentId)]).pipe(mergeMap(([_, v]) => {
2404
+ if (v.status === 'Expired' || v.status === 'Deleted' || !v.artifactUrl) {
2405
+ return of({ data: null, error: 'NoContent' });
2406
+ }
2407
+ return this.http
2408
+ .get(`${v.artifactUrl}?ts=${new Date().getTime()}`)
2409
+ .pipe(map(data => ({ data, error: null })), catchError(err => of({ data: null, error: err })));
2410
+ }), catchError(err => of({ data: null, error: err })));
2411
+ }
2412
+ const pageRequest = [
2413
+ (equivalentId ? this.setS3Cookie(equivalentId) : of(true)).pipe(mergeMap(() => this.http.get(`${url}.json`).pipe(map(data => ({ data, error: null })), catchError(err => of({ data: null, error: err }))))),
2414
+ this.locale === 'en' || this.locale === 'en-US' ?
2415
+ of({ data: undefined, error: null }) :
2416
+ this.http.get(`${url}.${this.locale}.json`).pipe(map(data => ({ data, error: null })), catchError(err => of({ data: null, error: err }))),
2417
+ ];
2418
+ return forkJoin(pageRequest).pipe(map(([general, withLocale]) => {
2419
+ if (withLocale.data) {
2420
+ return withLocale;
2421
+ }
2422
+ return general;
2423
+ }));
2424
+ }
2425
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageResolve, deps: [{ token: ConfigurationsService }, { token: i1$3.HttpClient }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
2426
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageResolve, providedIn: 'root' }); }
2427
+ }
2428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageResolve, decorators: [{
2429
+ type: Injectable,
2430
+ args: [{
2431
+ providedIn: 'root',
2432
+ }]
2433
+ }], ctorParameters: function () { return [{ type: ConfigurationsService }, { type: i1$3.HttpClient }, { type: undefined, decorators: [{
2434
+ type: Inject,
2435
+ args: [LOCALE_ID]
2436
+ }] }]; } });
2437
+
2438
+ class LoggerService {
2439
+ constructor(configSvc) {
2440
+ this.configSvc = configSvc;
2441
+ this.consoleError = console.error;
2442
+ this.consoleInfo = console.info;
2443
+ this.consoleLog = console.log;
2444
+ this.consoleWarn = console.warn;
2445
+ this.noConsole = () => { };
2446
+ }
2447
+ get error() {
2448
+ return this.consoleError;
2449
+ }
2450
+ get info() {
2451
+ return this.configSvc.isProduction ? this.noConsole : this.consoleInfo;
2452
+ }
2453
+ get log() {
2454
+ return this.configSvc.isProduction ? this.noConsole : this.consoleLog;
2455
+ }
2456
+ get warn() {
2457
+ return this.configSvc.isProduction ? this.noConsole : this.consoleWarn;
2458
+ }
2459
+ removeConsoleAccess() {
2460
+ if (this.configSvc.isProduction) {
2461
+ return;
2462
+ }
2463
+ const noConsoleWithError = () => {
2464
+ throw new Error('Console Functions Usage Are Not Allowed.');
2465
+ };
2466
+ console.warn = noConsoleWithError;
2467
+ console.info = noConsoleWithError;
2468
+ console.error = noConsoleWithError;
2469
+ }
2470
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoggerService, deps: [{ token: ConfigurationsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2471
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoggerService, providedIn: 'root' }); }
2472
+ }
2473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoggerService, decorators: [{
2474
+ type: Injectable,
2475
+ args: [{
2476
+ providedIn: 'root',
2477
+ }]
2478
+ }], ctorParameters: function () { return [{ type: ConfigurationsService }]; } });
2479
+
2480
+ const msTokenExpiryDuration = 600;
2481
+ const storageKey = 'msLoginRequested';
2482
+ const storage = localStorage;
2483
+ const API_ENDPOINTS = {
2484
+ sharePointToken: '/apis/protected/v8/user/token',
2485
+ };
2486
+ class AuthMicrosoftService {
2487
+ constructor(loggerSvc, http) {
2488
+ this.loggerSvc = loggerSvc;
2489
+ this.http = http;
2490
+ this.msConfig = {
2491
+ clientId: '',
2492
+ tenant: '',
2493
+ defaultEmailId: '',
2494
+ validEmailExtensions: [],
2495
+ isConfigured: false,
2496
+ };
2497
+ this.emailUsed = null;
2498
+ this.code = null;
2499
+ this.msToken = {
2500
+ accessToken: '',
2501
+ expiresOn: '',
2502
+ resource: '',
2503
+ tokenType: '',
2504
+ };
2505
+ }
2506
+ get isLogoutRequired() {
2507
+ return Boolean(this.msConfig.isConfigured && this.msConfig.clientId && this.emailUsed);
2508
+ }
2509
+ get loginUrl() {
2510
+ if (this.msConfig.isConfigured && this.msConfig.clientId) {
2511
+ const base = 'https://login.windows.net/common/oauth2/authorize';
2512
+ const searchParam = new URLSearchParams({
2513
+ response_type: 'code',
2514
+ client_id: this.msConfig.clientId,
2515
+ redirect_uri: window.location.href,
2516
+ });
2517
+ const fragment = location.search.substring(1);
2518
+ if (fragment) {
2519
+ return `${base}?${searchParam.toString()}#${fragment}`;
2520
+ }
2521
+ return `${base}?${searchParam.toString()}`;
2522
+ }
2523
+ return null;
2524
+ }
2525
+ logoutUrl(redirectUrl) {
2526
+ if (this.isValidEmail(this.emailUsed || '')) {
2527
+ return `https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri=${redirectUrl}`;
2528
+ }
2529
+ return redirectUrl;
2530
+ }
2531
+ async init(config) {
2532
+ if (!config || !config.microsoft || !config.microsoft.isConfigured) {
2533
+ this.loggerSvc.warn('Empty/No Configuration passed, ignoring Microsoft Authentication');
2534
+ }
2535
+ this.msConfig = config.microsoft;
2536
+ const queryParams = new URLSearchParams(location.search);
2537
+ if (queryParams.has('code') && queryParams.has('session_state')) {
2538
+ this.code = queryParams.get('code');
2539
+ if (!this.code) {
2540
+ return;
2541
+ }
2542
+ let url = location.origin + location.pathname;
2543
+ await this.exchangeTokenForCode(this.code, url);
2544
+ if (location.hash) {
2545
+ url += location.hash.substring(1);
2546
+ }
2547
+ history.replaceState(null, '', url);
2548
+ }
2549
+ }
2550
+ async login(email) {
2551
+ if (!this.isValidEmail(email)) {
2552
+ this.loggerSvc.warn(`Microsoft Login is not allowed for your emailId (${email})`);
2553
+ return;
2554
+ }
2555
+ const loginUrl = this.loginUrl;
2556
+ if (loginUrl) {
2557
+ location.assign(loginUrl);
2558
+ }
2559
+ else {
2560
+ this.loggerSvc.warn('Unable to identify Office Login URL, Ignoring login request');
2561
+ }
2562
+ }
2563
+ async getToken(email) {
2564
+ if (this.msToken &&
2565
+ this.isValid(this.msToken.accessToken, this.msToken.expiresOn) &&
2566
+ this.msToken.accessToken) {
2567
+ return this.msToken.accessToken;
2568
+ }
2569
+ if (this.isValidEmail(email)) {
2570
+ try {
2571
+ this.msToken = await this.getTokenForEmail(email);
2572
+ if (this.msToken.accessToken) {
2573
+ this.emailUsed = email;
2574
+ return this.msToken.accessToken;
2575
+ }
2576
+ }
2577
+ catch (error) {
2578
+ if (!this.code) {
2579
+ this.login(email);
2580
+ }
2581
+ }
2582
+ }
2583
+ if (this.msConfig.defaultEmailId && this.isValidEmail(this.msConfig.defaultEmailId)) {
2584
+ try {
2585
+ this.msToken = await this.getTokenForEmail(this.msConfig.defaultEmailId);
2586
+ if (this.msToken.accessToken) {
2587
+ this.emailUsed = this.msConfig.defaultEmailId;
2588
+ return this.msToken.accessToken;
2589
+ }
2590
+ }
2591
+ catch (error) { }
2592
+ }
2593
+ throw new Error('UNABLE TO FETCH MS AUTH TOKEN');
2594
+ }
2595
+ loginForSSOEnabledEmbed(email) {
2596
+ if (!this.isValidEmail(email)) {
2597
+ this.loggerSvc.warn('SSO Login request Ignored. Invalid Email Id for SSO Enabled Content');
2598
+ }
2599
+ let msPrevTS = 0;
2600
+ try {
2601
+ msPrevTS = parseInt(storage.getItem(storageKey) || '0', 10);
2602
+ }
2603
+ catch (error) { }
2604
+ if (!msPrevTS || (msPrevTS && (Date.now() - msPrevTS) / 1000 > msTokenExpiryDuration)) {
2605
+ this.loggerSvc.info(`last login exceeded ${msTokenExpiryDuration} duration. Redirecting to O365 login`);
2606
+ storage.setItem(storageKey, Date.now().toString());
2607
+ this.login(email);
2608
+ }
2609
+ }
2610
+ isValidEmail(email) {
2611
+ return this.msConfig.validEmailExtensions.some(ext => email.endsWith(ext));
2612
+ }
2613
+ isValid(accessToken, expiresOn) {
2614
+ if (accessToken && expiresOn) {
2615
+ return true;
2616
+ }
2617
+ return false;
2618
+ }
2619
+ async exchangeTokenForCode(code, redirectUrl) {
2620
+ const response = await this.http
2621
+ .get(`${API_ENDPOINTS}?code=${code}&redirectUrl=${redirectUrl}`)
2622
+ .toPromise();
2623
+ return this.getInstanceFromResponse(response);
2624
+ }
2625
+ async getTokenForEmail(email) {
2626
+ const response = await this.http
2627
+ .get(`${API_ENDPOINTS.sharePointToken}?email=${email}`)
2628
+ .toPromise();
2629
+ return this.getInstanceFromResponse(response);
2630
+ }
2631
+ getInstanceFromResponse(token) {
2632
+ return {
2633
+ accessToken: token.accessToken,
2634
+ expiresOn: token.expiresOn,
2635
+ resource: token.resource,
2636
+ tokenType: token.tokenType,
2637
+ };
2638
+ }
2639
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthMicrosoftService, deps: [{ token: LoggerService }, { token: i1$3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
2640
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthMicrosoftService, providedIn: 'root' }); }
2641
+ }
2642
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthMicrosoftService, decorators: [{
2643
+ type: Injectable,
2644
+ args: [{
2645
+ providedIn: 'root',
2646
+ }]
2647
+ }], ctorParameters: function () { return [{ type: LoggerService }, { type: i1$3.HttpClient }]; } });
2648
+
2649
+ var WsEvents;
2650
+ (function (WsEvents) {
2651
+ let WsEventType;
2652
+ (function (WsEventType) {
2653
+ WsEventType["Action"] = "Action";
2654
+ WsEventType["Telemetry"] = "Telemetry";
2655
+ WsEventType["PageNavigation"] = "PageNavigation";
2656
+ WsEventType["AccessRestrictedContentAccessed"] = "AccessRestrictedContentAccessed";
2657
+ WsEventType["PageSlow"] = "PageSlow";
2658
+ WsEventType["ErrorOccurred"] = "ErrorOccurred";
2659
+ WsEventType["WidgetResolveError"] = "WidgetResolveError";
2660
+ })(WsEventType = WsEvents.WsEventType || (WsEvents.WsEventType = {}));
2661
+ let WsEventLogLevel;
2662
+ (function (WsEventLogLevel) {
2663
+ WsEventLogLevel["Warn"] = "Warn";
2664
+ WsEventLogLevel["Error"] = "Error";
2665
+ WsEventLogLevel["Info"] = "Info";
2666
+ WsEventLogLevel["Log"] = "Log";
2667
+ WsEventLogLevel["Trace"] = "Trace";
2668
+ })(WsEventLogLevel = WsEvents.WsEventLogLevel || (WsEvents.WsEventLogLevel = {}));
2669
+ let WsAuditTypes;
2670
+ (function (WsAuditTypes) {
2671
+ WsAuditTypes["Created"] = "Created";
2672
+ WsAuditTypes["Updated"] = "Updated";
2673
+ WsAuditTypes["Deleted"] = "Deleted";
2674
+ })(WsAuditTypes = WsEvents.WsAuditTypes || (WsEvents.WsAuditTypes = {}));
2675
+ let WsTimeSpentType;
2676
+ (function (WsTimeSpentType) {
2677
+ WsTimeSpentType["Page"] = "Page";
2678
+ WsTimeSpentType["Player"] = "Player";
2679
+ })(WsTimeSpentType = WsEvents.WsTimeSpentType || (WsEvents.WsTimeSpentType = {}));
2680
+ let WsTimeSpentMode;
2681
+ (function (WsTimeSpentMode) {
2682
+ WsTimeSpentMode["Play"] = "Play";
2683
+ WsTimeSpentMode["View"] = "View";
2684
+ })(WsTimeSpentMode = WsEvents.WsTimeSpentMode || (WsEvents.WsTimeSpentMode = {}));
2685
+ let externalTelemetrypdata;
2686
+ (function (externalTelemetrypdata) {
2687
+ externalTelemetrypdata["RBCP"] = "rbcp-web-ui";
2688
+ })(externalTelemetrypdata = WsEvents.externalTelemetrypdata || (WsEvents.externalTelemetrypdata = {}));
2689
+ let EnumTelemetrySubType;
2690
+ (function (EnumTelemetrySubType) {
2691
+ EnumTelemetrySubType["Init"] = "Init";
2692
+ EnumTelemetrySubType["Interact"] = "Interact";
2693
+ EnumTelemetrySubType["Loaded"] = "Loaded";
2694
+ EnumTelemetrySubType["Unloaded"] = "Unloaded";
2695
+ EnumTelemetrySubType["StateChange"] = "StateChange";
2696
+ EnumTelemetrySubType["HeartBeat"] = "HeartBeat";
2697
+ EnumTelemetrySubType["Search"] = "Search";
2698
+ EnumTelemetrySubType["Feedback"] = "Feedback";
2699
+ EnumTelemetrySubType["Impression"] = "Impression";
2700
+ })(EnumTelemetrySubType = WsEvents.EnumTelemetrySubType || (WsEvents.EnumTelemetrySubType = {}));
2701
+ let EnumTelemetryPdfActivity;
2702
+ (function (EnumTelemetryPdfActivity) {
2703
+ EnumTelemetryPdfActivity["PAGE_CHANGED"] = "PAGE_CHANGED";
2704
+ EnumTelemetryPdfActivity["FULLSCREEN_ACTIVATED"] = "FULLSCREEN_ACTIVATED";
2705
+ EnumTelemetryPdfActivity["FULLSCREEN_DEACTIVATED"] = "FULLSCREEN_DEACTIVATED";
2706
+ EnumTelemetryPdfActivity["ZOOM_CHANGE"] = "ZOOM_CHANGE";
2707
+ EnumTelemetryPdfActivity["NONE"] = "NONE";
2708
+ })(EnumTelemetryPdfActivity = WsEvents.EnumTelemetryPdfActivity || (WsEvents.EnumTelemetryPdfActivity = {}));
2709
+ let EnumTelemetryMediaActivity;
2710
+ (function (EnumTelemetryMediaActivity) {
2711
+ EnumTelemetryMediaActivity["PLAYED"] = "PLAYED";
2712
+ EnumTelemetryMediaActivity["PAUSED"] = "PAUSED";
2713
+ EnumTelemetryMediaActivity["SEEKED"] = "SEEKED";
2714
+ EnumTelemetryMediaActivity["ENDED"] = "ENDED";
2715
+ EnumTelemetryMediaActivity["VOLUME_CHANGE"] = "VOLUME_CHANGE";
2716
+ EnumTelemetryMediaActivity["MUTE"] = "MUTE";
2717
+ EnumTelemetryMediaActivity["UNMUTE"] = "UNMUTE";
2718
+ EnumTelemetryMediaActivity["PLAYBACK_SPEED_CHANGE"] = "PLAYBACK_SPEED_CHANGE";
2719
+ EnumTelemetryMediaActivity["FULLSCREEN_ACTIVATED"] = "FULLSCREEN_ACTIVATED";
2720
+ EnumTelemetryMediaActivity["FULLSCREEN_DEACTIVATED"] = "FULLSCREEN_DEACTIVATED";
2721
+ EnumTelemetryMediaActivity["PICTURE_IN_PICTURE_ACTIVATED"] = "PICTURE_IN_PICTURE_ACTIVATED";
2722
+ EnumTelemetryMediaActivity["PICTURE_IN_PICTURE_DEACTIVATED"] = "PICTURE_IN_PICTURE_DEACTIVATED";
2723
+ EnumTelemetryMediaActivity["NONE"] = "NONE";
2724
+ })(EnumTelemetryMediaActivity = WsEvents.EnumTelemetryMediaActivity || (WsEvents.EnumTelemetryMediaActivity = {}));
2725
+ let EnumTelemetryMediaState;
2726
+ (function (EnumTelemetryMediaState) {
2727
+ EnumTelemetryMediaState["PLAYING"] = "PLAYING";
2728
+ EnumTelemetryMediaState["PAUSED"] = "PAUSED";
2729
+ EnumTelemetryMediaState["ENDED"] = "ENDED";
2730
+ EnumTelemetryMediaState["BUFFERING"] = "BUFFERING";
2731
+ EnumTelemetryMediaState["NOT_STARTED"] = "NOT_STARTED";
2732
+ })(EnumTelemetryMediaState = WsEvents.EnumTelemetryMediaState || (WsEvents.EnumTelemetryMediaState = {}));
2733
+ let EnumTelemetrymodules;
2734
+ (function (EnumTelemetrymodules) {
2735
+ EnumTelemetrymodules["CONTENT"] = "content";
2736
+ EnumTelemetrymodules["FEEDBACK"] = "feedback";
2737
+ EnumTelemetrymodules["COURSE"] = "course";
2738
+ EnumTelemetrymodules["PROGRAM"] = "program";
2739
+ EnumTelemetrymodules["EXPLORE"] = "explore";
2740
+ EnumTelemetrymodules["LEARN"] = "learn";
2741
+ EnumTelemetrymodules["HOME"] = "home";
2742
+ EnumTelemetrymodules["DASHBOARD"] = "dashboard";
2743
+ EnumTelemetrymodules["SEARCH"] = "search";
2744
+ EnumTelemetrymodules["DISCUSS"] = "discuss";
2745
+ EnumTelemetrymodules["COMPETENCY"] = "competency";
2746
+ EnumTelemetrymodules["EVENTS"] = "events";
2747
+ EnumTelemetrymodules["CAREER"] = "career";
2748
+ EnumTelemetrymodules["PROFILE"] = "profile";
2749
+ EnumTelemetrymodules["NETWORK"] = "network";
2750
+ EnumTelemetrymodules["SUPPORT"] = "support";
2751
+ })(EnumTelemetrymodules = WsEvents.EnumTelemetrymodules || (WsEvents.EnumTelemetrymodules = {}));
2752
+ let EnumInteractTypes;
2753
+ (function (EnumInteractTypes) {
2754
+ EnumInteractTypes["CLICK"] = "click";
2755
+ })(EnumInteractTypes = WsEvents.EnumInteractTypes || (WsEvents.EnumInteractTypes = {}));
2756
+ let EnumInteractSubTypes;
2757
+ (function (EnumInteractSubTypes) {
2758
+ EnumInteractSubTypes["COURSE_TAB"] = "course-tab";
2759
+ EnumInteractSubTypes["CAREER_TAB"] = "career-tab";
2760
+ EnumInteractSubTypes["NETWORK_TAB"] = "network-tab";
2761
+ EnumInteractSubTypes["COMPETENCY_TAB"] = "competency-tab";
2762
+ EnumInteractSubTypes["PROFILE_EDIT_TAB"] = "profile-edit-tab";
2763
+ EnumInteractSubTypes["DISCUSS_TAB"] = "discuss-tab";
2764
+ EnumInteractSubTypes["EVENTS_TAB"] = "events-tab";
2765
+ EnumInteractSubTypes["SIDE_MENU"] = "side-menu";
2766
+ EnumInteractSubTypes["HOME_PAGE_STRIP_TABS"] = "home-page-strip-tabs";
2767
+ })(EnumInteractSubTypes = WsEvents.EnumInteractSubTypes || (WsEvents.EnumInteractSubTypes = {}));
2768
+ })(WsEvents || (WsEvents = {}));
2769
+
2770
+ const moment = _moment;
2771
+ class EventService {
2772
+ constructor(utilitySvc, environment) {
2773
+ this.utilitySvc = utilitySvc;
2774
+ this.todaysEvents = [];
2775
+ this.eventsSubject = new Subject();
2776
+ this.events$ = this.eventsSubject.asObservable();
2777
+ this.eventsChatbotSubject = new Subject();
2778
+ this.chatbotEvents$ = this.eventsChatbotSubject.asObservable();
2779
+ this.eventsGetStartSubject = new Subject();
2780
+ this.getStartEvents$ = this.eventsGetStartSubject.asObservable();
2781
+ this.eventsPRSubject = new Subject();
2782
+ this.getPREvents$ = this.eventsPRSubject.asObservable();
2783
+ this.environment = environment;
2784
+ }
2785
+ dispatchEvent(event) {
2786
+ event.pageContext = this.getContext(event.pageContext);
2787
+ this.eventsSubject.next(event);
2788
+ }
2789
+ dispatchChatbotEvent(event) {
2790
+ this.eventsChatbotSubject.next(event);
2791
+ }
2792
+ dispatchGetStartedEvent(event) {
2793
+ this.eventsGetStartSubject.next(event);
2794
+ }
2795
+ dispatchPlatformRatingEvent(event) {
2796
+ this.eventsPRSubject.next(event);
2797
+ }
2798
+ raiseInteractTelemetry(edata, object, pageContext) {
2799
+ this.dispatchEvent({
2800
+ eventType: WsEvents.WsEventType.Telemetry,
2801
+ eventLogLevel: WsEvents.WsEventLogLevel.Info,
2802
+ data: {
2803
+ edata,
2804
+ object,
2805
+ pageContext: this.getContext(pageContext),
2806
+ eventSubType: WsEvents.EnumTelemetrySubType.Interact,
2807
+ },
2808
+ from: '',
2809
+ to: 'Telemetry',
2810
+ });
2811
+ }
2812
+ raiseFeedbackTelemetry(edata, object, from) {
2813
+ this.dispatchEvent({
2814
+ eventType: WsEvents.WsEventType.Telemetry,
2815
+ eventLogLevel: WsEvents.WsEventLogLevel.Info,
2816
+ data: {
2817
+ edata,
2818
+ object,
2819
+ eventSubType: WsEvents.EnumTelemetrySubType.Feedback,
2820
+ },
2821
+ from: from || '',
2822
+ to: 'Telemetry',
2823
+ });
2824
+ }
2825
+ raiseCustomImpression(object, pageContext) {
2826
+ this.dispatchEvent({
2827
+ eventType: WsEvents.WsEventType.Telemetry,
2828
+ eventLogLevel: WsEvents.WsEventLogLevel.Info,
2829
+ data: {
2830
+ object,
2831
+ pageContext: this.getContext(pageContext),
2832
+ eventSubType: WsEvents.EnumTelemetrySubType.Impression,
2833
+ },
2834
+ from: '',
2835
+ to: 'Telemetry',
2836
+ });
2837
+ }
2838
+ getContext(pageContext) {
2839
+ const routeDataContext = this.utilitySvc.routeData;
2840
+ const finalContext = {
2841
+ pageId: routeDataContext.pageId,
2842
+ module: routeDataContext.module,
2843
+ };
2844
+ if (pageContext) {
2845
+ if (pageContext.pageIdExt) {
2846
+ finalContext.pageId = `${routeDataContext.pageId}_${pageContext.pageIdExt}`;
2847
+ }
2848
+ else if (pageContext.pageId) {
2849
+ finalContext.pageId = pageContext.pageId;
2850
+ }
2851
+ if (pageContext.module) {
2852
+ finalContext.module = pageContext.module;
2853
+ }
2854
+ }
2855
+ return finalContext;
2856
+ }
2857
+ handleTabTelemetry(subType, data, object) {
2858
+ this.raiseInteractTelemetry({
2859
+ subType,
2860
+ type: WsEvents.EnumInteractTypes.CLICK,
2861
+ id: `${_.camelCase(data.label)}-tab`,
2862
+ }, {
2863
+ ...object
2864
+ }, {
2865
+ pageIdExt: `${_.camelCase(data.label)}-tab`,
2866
+ });
2867
+ this.raiseCustomImpression({
2868
+ context: {
2869
+ position: data.index,
2870
+ },
2871
+ ...object
2872
+ }, {
2873
+ pageIdExt: `${_.camelCase(data.label)}-tab`,
2874
+ });
2875
+ }
2876
+ getPublicUrl(url) {
2877
+ const mainUrl = url.split('/content').pop() || '';
2878
+ return `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`;
2879
+ }
2880
+ allEventDateFormat(datetime) {
2881
+ const date = new Date(datetime).getDate();
2882
+ const year = new Date(datetime).getFullYear();
2883
+ const month = new Date(datetime).getMonth();
2884
+ const hours = new Date(datetime).getHours();
2885
+ const minutes = new Date(datetime).getMinutes();
2886
+ const seconds = new Date(datetime).getSeconds();
2887
+ const formatedDate = new Date(year, month, date, hours, minutes, seconds, 0);
2888
+ const format = 'YYYY-MM-DD';
2889
+ const readableDateMonth = moment(formatedDate).format(format);
2890
+ const finalDateTimeValue = `${readableDateMonth}`;
2891
+ return finalDateTimeValue;
2892
+ }
2893
+ compareDate(startDate) {
2894
+ const now = new Date();
2895
+ const day = ('0' + (new Date().getDate())).slice(-2);
2896
+ const year = new Date().getFullYear();
2897
+ const month = ('0' + (now.getMonth() + 1)).slice(-2);
2898
+ const todaysdate = `${year}-${month}-${day}`;
2899
+ if (startDate === todaysdate) {
2900
+ return true;
2901
+ }
2902
+ return false;
2903
+ }
2904
+ customDateFormat(date, time) {
2905
+ const stime = time.split('+')[0];
2906
+ const hour = stime.substr(0, 2);
2907
+ const min = stime.substr(2, 3);
2908
+ return `${date} ${hour}${min}`;
2909
+ }
2910
+ setEventListData(eventObj) {
2911
+ if (eventObj !== undefined) {
2912
+ this.todaysEvents = [];
2913
+ const data = eventObj;
2914
+ Object.keys(data).forEach((index) => {
2915
+ const obj = data[index];
2916
+ const floor = Math.floor;
2917
+ const hours = floor(obj.duration / 60);
2918
+ const minutes = obj.duration % 60;
2919
+ const duration = (hours === 0) ? ((minutes === 0) ? '---' : `${minutes} minutes`) : (minutes === 0) ? (hours === 1) ?
2920
+ `${hours} hour` : `${hours} hours` : (hours === 1) ? `${hours} hour ${minutes} minutes` :
2921
+ `${hours} hours ${minutes} minutes`;
2922
+ const creatordata = obj.creatorDetails !== undefined ? obj.creatorDetails : [];
2923
+ const str = creatordata && creatordata.length > 0 ? creatordata.replace(/\\/g, '') : [];
2924
+ const creatorDetails = str && str.length > 0 ? JSON.parse(str) : creatordata;
2925
+ const stime = obj.startTime.split('+')[0];
2926
+ const hour = stime.substr(0, 2);
2927
+ const min = stime.substr(2, 3);
2928
+ const starttime = `${hour}${min}`;
2929
+ const etime = obj.endTime.split('+')[0];
2930
+ const ehour = etime.substr(0, 2);
2931
+ const emin = etime.substr(2, 3);
2932
+ const endtime = `${ehour}${emin}`;
2933
+ const eventDataObj = {
2934
+ event: obj,
2935
+ eventName: obj.name,
2936
+ eventStartTime: starttime,
2937
+ eventEndTime: endtime,
2938
+ eventStartDate: obj.startDate,
2939
+ eventCreatedOn: this.allEventDateFormat(obj.createdOn),
2940
+ eventDuration: duration,
2941
+ eventjoined: creatorDetails.length,
2942
+ eventThumbnail: obj.appIcon && (obj.appIcon !== null || obj.appIcon !== undefined) ?
2943
+ this.getPublicUrl(obj.appIcon) :
2944
+ '/assets/icons/Events_default.png',
2945
+ pastevent: false,
2946
+ };
2947
+ const isToday = this.compareDate(obj.startDate);
2948
+ if (isToday) {
2949
+ this.todaysEvents.push(eventDataObj);
2950
+ }
2951
+ });
2952
+ }
2953
+ }
2954
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EventService, deps: [{ token: UtilityService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
2955
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EventService, providedIn: 'root' }); }
2956
+ }
2957
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EventService, decorators: [{
2958
+ type: Injectable,
2959
+ args: [{
2960
+ providedIn: 'root',
2961
+ }]
2962
+ }], ctorParameters: function () { return [{ type: UtilityService }, { type: undefined, decorators: [{
2963
+ type: Inject,
2964
+ args: ['environment']
2965
+ }] }]; } });
2966
+
2967
+ const PROTECTED_SLAG_V8 = '/apis/protected/v8';
2968
+ const API_END_POINTS = {
2969
+ CONTENT: `${PROTECTED_SLAG_V8}/content`,
2970
+ AUTHORING_CONTENT: `/apis/authApi/hierarchy`,
2971
+ CONTENT_LIKES: `${PROTECTED_SLAG_V8}/content/likeCount`,
2972
+ SET_S3_COOKIE: `${PROTECTED_SLAG_V8}/content/setCookie`,
2973
+ SET_S3_IMAGE_COOKIE: `${PROTECTED_SLAG_V8}/content/setImageCookie`,
2974
+ FETCH_MANIFEST: `${PROTECTED_SLAG_V8}/content/getWebModuleManifest`,
2975
+ FETCH_WEB_MODULE_FILES: `${PROTECTED_SLAG_V8}/content/getWebModuleFiles`,
2976
+ MULTIPLE_CONTENT: `${PROTECTED_SLAG_V8}/content/multiple`,
2977
+ CONTENT_SEARCH_V5: `${PROTECTED_SLAG_V8}/content/searchV5`,
2978
+ CONTENT_SEARCH_V6: `${PROTECTED_SLAG_V8}/content/searchV6`,
2979
+ CONTENT_SEARCH_REGION_RECOMMENDATION: `${PROTECTED_SLAG_V8}/content/searchRegionRecommendation`,
2980
+ CONTENT_HISTORY: `${PROTECTED_SLAG_V8}/user/history`,
2981
+ USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,
2982
+ CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,
2983
+ CONTENT_RATING_V2: `${PROTECTED_SLAG_V8}/user/rating/content/average-ratingInfo`,
2984
+ COLLECTION_HIERARCHY: (type, id) => `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`,
2985
+ REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,
2986
+ MARK_AS_COMPLETE_META: (contentId) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`,
2987
+ };
2988
+ class WidgetContentService {
2989
+ constructor(http, configSvc) {
2990
+ this.http = http;
2991
+ this.configSvc = configSvc;
2992
+ }
2993
+ fetchMarkAsCompleteMeta(identifier) {
2994
+ const url = API_END_POINTS.MARK_AS_COMPLETE_META(identifier);
2995
+ return this.http.get(url).toPromise();
2996
+ }
2997
+ fetchContent(contentId, hierarchyType = 'detail', additionalFields = []) {
2998
+ const url = `${API_END_POINTS.CONTENT}/${contentId}?hierarchyType=${hierarchyType}`;
2999
+ return this.http
3000
+ .post(url, { additionalFields })
3001
+ .pipe(retry(1));
3002
+ }
3003
+ fetchAuthoringContent(contentId) {
3004
+ const url = `${API_END_POINTS.AUTHORING_CONTENT}/${contentId}`;
3005
+ return this.http.get(url).pipe(retry(1));
3006
+ }
3007
+ fetchMultipleContent(ids) {
3008
+ return this.http.get(`${API_END_POINTS.MULTIPLE_CONTENT}/${ids.join(',')}`);
3009
+ }
3010
+ fetchCollectionHierarchy(type, id, pageNumber = 0, pageSize = 1) {
3011
+ return this.http.get(`${API_END_POINTS.COLLECTION_HIERARCHY(type, id)}?pageNumber=${pageNumber}&pageSize=${pageSize}`);
3012
+ }
3013
+ fetchContentLikes(contentIds) {
3014
+ return this.http
3015
+ .post(API_END_POINTS.CONTENT_LIKES, contentIds)
3016
+ .toPromise();
3017
+ }
3018
+ fetchContentRatings(contentIds) {
3019
+ return this.http
3020
+ .post(`${API_END_POINTS.CONTENT_RATING}/rating`, contentIds)
3021
+ .toPromise();
3022
+ }
3023
+ fetchContentRatingsV2(contentId) {
3024
+ return this.http
3025
+ .get(`${API_END_POINTS.CONTENT_RATING_V2}/${contentId}`);
3026
+ }
3027
+ fetchContentHistory(contentId) {
3028
+ return this.http.get(`${API_END_POINTS.CONTENT_HISTORY}/${contentId}`);
3029
+ }
3030
+ async continueLearning(id, collectionId, collectionType) {
3031
+ return new Promise(async (resolve) => {
3032
+ if (collectionType &&
3033
+ collectionType.toLowerCase() === 'playlist') {
3034
+ const reqBody = {
3035
+ contextPathId: collectionId ? collectionId : id,
3036
+ resourceId: id,
3037
+ data: JSON.stringify({
3038
+ timestamp: Date.now(),
3039
+ contextFullPath: [collectionId, id],
3040
+ }),
3041
+ dateAccessed: Date.now(),
3042
+ contextType: 'playlist',
3043
+ };
3044
+ await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {
3045
+ resolve(true);
3046
+ });
3047
+ }
3048
+ else {
3049
+ const reqBody = {
3050
+ contextPathId: collectionId ? collectionId : id,
3051
+ resourceId: id,
3052
+ data: JSON.stringify({ timestamp: Date.now() }),
3053
+ dateAccessed: Date.now(),
3054
+ };
3055
+ await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {
3056
+ resolve(true);
3057
+ });
3058
+ }
3059
+ });
3060
+ }
3061
+ saveContinueLearning(content) {
3062
+ const url = API_END_POINTS.USER_CONTINUE_LEARNING;
3063
+ return this.http.post(url, content);
3064
+ }
3065
+ setS3Cookie(contentId) {
3066
+ return this.http
3067
+ .post(API_END_POINTS.SET_S3_COOKIE, { contentId })
3068
+ .pipe(catchError(_err => of(true)));
3069
+ }
3070
+ setS3ImageCookie() {
3071
+ return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError(_err => of(true)));
3072
+ }
3073
+ fetchManifest(url) {
3074
+ return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url });
3075
+ }
3076
+ fetchWebModuleContent(url) {
3077
+ return this.http.get(`${API_END_POINTS.FETCH_WEB_MODULE_FILES}?url=${encodeURIComponent(url)}`);
3078
+ }
3079
+ search(req) {
3080
+ req.query = req.query || '';
3081
+ return this.http.post(API_END_POINTS.CONTENT_SEARCH_V5, {
3082
+ request: req,
3083
+ });
3084
+ }
3085
+ searchRegionRecommendation(req) {
3086
+ req.query = req.query || '';
3087
+ req.preLabelValue =
3088
+ (req.preLabelValue || '') +
3089
+ ((this.configSvc.userProfile && this.configSvc.userProfile.country) || '');
3090
+ req.filters = {
3091
+ ...req.filters,
3092
+ labels: [req.preLabelValue || ''],
3093
+ };
3094
+ return this.http.post(API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION, { request: req });
3095
+ }
3096
+ searchV6(req) {
3097
+ req.query = req.query || '';
3098
+ return this.http.post(API_END_POINTS.CONTENT_SEARCH_V6, req);
3099
+ }
3100
+ fetchContentRating(contentId) {
3101
+ return this.http.get(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);
3102
+ }
3103
+ deleteContentRating(contentId) {
3104
+ return this.http.delete(`${API_END_POINTS.CONTENT_RATING}/${contentId}`);
3105
+ }
3106
+ addContentRating(contentId, data) {
3107
+ return this.http.post(`${API_END_POINTS.CONTENT_RATING}/${contentId}`, data);
3108
+ }
3109
+ getFirstChildInHierarchy(content) {
3110
+ if (!(content.children || []).length) {
3111
+ return content;
3112
+ }
3113
+ if (content.contentType === 'Learning Path' &&
3114
+ !(content.artifactUrl && content.artifactUrl.length)) {
3115
+ const child = content.children[0];
3116
+ return this.getFirstChildInHierarchy(child);
3117
+ }
3118
+ if (content.contentType === 'Resource' ||
3119
+ content.contentType === 'Knowledge Artifact' ||
3120
+ content.contentType === 'Learning Path') {
3121
+ return content;
3122
+ }
3123
+ const firstChild = content.children[0];
3124
+ const resultContent = this.getFirstChildInHierarchy(firstChild);
3125
+ return resultContent;
3126
+ }
3127
+ getRegistrationStatus(source) {
3128
+ return this.http.get(`${API_END_POINTS.REGISTRATION_STATUS}/${source}`).toPromise();
3129
+ }
3130
+ fetchConfig(url) {
3131
+ return this.http.get(url);
3132
+ }
3133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetContentService, deps: [{ token: i1$3.HttpClient }, { token: ConfigurationsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3134
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetContentService, providedIn: 'root' }); }
3135
+ }
3136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetContentService, decorators: [{
3137
+ type: Injectable,
3138
+ args: [{
3139
+ providedIn: 'root',
3140
+ }]
3141
+ }], ctorParameters: function () { return [{ type: i1$3.HttpClient }, { type: ConfigurationsService }]; } });
3142
+
3143
+ class TelemetryService {
3144
+ constructor(environment, configSvc, eventsSvc, logger) {
3145
+ this.configSvc = configSvc;
3146
+ this.eventsSvc = eventsSvc;
3147
+ this.logger = logger;
3148
+ this.previousUrl = null;
3149
+ this.telemetryConfig = null;
3150
+ this.pData = null;
3151
+ this.contextCdata = [];
3152
+ this.externalApps = {
3153
+ RBCP: 'rbcp-web-ui',
3154
+ };
3155
+ this.environment = environment;
3156
+ const instanceConfig = this.configSvc.instanceConfig;
3157
+ if (instanceConfig) {
3158
+ this.telemetryConfig = instanceConfig.telemetryConfig;
3159
+ this.telemetryConfig = {
3160
+ ...this.telemetryConfig,
3161
+ pdata: {
3162
+ ...this.telemetryConfig.pdata,
3163
+ id: `${environment.name}.${this.telemetryConfig.pdata.id}`,
3164
+ },
3165
+ uid: this.configSvc.userProfile && this.configSvc.userProfile.userId,
3166
+ channel: this.rootOrgId || this.telemetryConfig.channel,
3167
+ sid: this.getTelemetrySessionId,
3168
+ };
3169
+ this.pData = this.telemetryConfig.pdata;
3170
+ this.addPlayerListener();
3171
+ this.addCustomEventListener();
3172
+ this.addInteractListener();
3173
+ this.addFeedbackListener();
3174
+ this.addTimeSpentListener();
3175
+ this.addSearchListener();
3176
+ this.addHearbeatListener();
3177
+ this.addCustomImpressionListener();
3178
+ }
3179
+ }
3180
+ get getTelemetrySessionId() {
3181
+ return localStorage.getItem('telemetrySessionId') || '';
3182
+ }
3183
+ get rootOrgId() {
3184
+ if (this.configSvc && this.configSvc.userProfile && this.configSvc.userProfile.rootOrgId) {
3185
+ return this.configSvc.userProfile.rootOrgId;
3186
+ }
3187
+ return '';
3188
+ }
3189
+ start(edata, data, pageContext) {
3190
+ try {
3191
+ if (this.telemetryConfig) {
3192
+ $t.start(this.telemetryConfig, (pageContext && pageContext.pageId) ?
3193
+ pageContext.pageId
3194
+ : '', '1.0', {
3195
+ type: edata.type,
3196
+ mode: edata.mode,
3197
+ pageid: (pageContext && pageContext.pageId) ?
3198
+ pageContext.pageId
3199
+ : '',
3200
+ duration: 1,
3201
+ }, {
3202
+ context: {
3203
+ pdata: {
3204
+ ...this.pData,
3205
+ id: this.pData.id,
3206
+ },
3207
+ ...(pageContext && pageContext.module ? { env: pageContext.module } : null),
3208
+ },
3209
+ object: {
3210
+ ...(data) && data,
3211
+ },
3212
+ });
3213
+ }
3214
+ else {
3215
+ this.logger.error('Error Initializing Telemetry. Config missing.');
3216
+ }
3217
+ }
3218
+ catch (e) {
3219
+ console.log('Error in telemetry start', e);
3220
+ }
3221
+ }
3222
+ end(edata, data, pageContext) {
3223
+ try {
3224
+ $t.end({
3225
+ type: edata.type,
3226
+ mode: edata.mode,
3227
+ pageid: (pageContext && pageContext.pageId) ?
3228
+ pageContext.pageId
3229
+ : '',
3230
+ }, {
3231
+ context: {
3232
+ pdata: {
3233
+ ...this.pData,
3234
+ id: this.pData.id,
3235
+ },
3236
+ ...(pageContext && pageContext.module ? { env: pageContext.module } : null),
3237
+ },
3238
+ object: {
3239
+ ...(data) && data,
3240
+ },
3241
+ });
3242
+ }
3243
+ catch (e) {
3244
+ console.log('Error in telemetry end', e);
3245
+ }
3246
+ }
3247
+ audit(type, props, data) {
3248
+ try {
3249
+ $t.audit({
3250
+ type,
3251
+ props,
3252
+ state: data,
3253
+ prevstate: '',
3254
+ duration: '',
3255
+ }, {
3256
+ context: {
3257
+ pdata: {
3258
+ ...this.pData,
3259
+ id: this.pData.id,
3260
+ },
3261
+ },
3262
+ });
3263
+ }
3264
+ catch (e) {
3265
+ console.log('Error in telemetry audit', e);
3266
+ }
3267
+ }
3268
+ heartbeat(type, id) {
3269
+ try {
3270
+ $t.heartbeat({
3271
+ id,
3272
+ type,
3273
+ });
3274
+ }
3275
+ catch (e) {
3276
+ console.log('Error in telemetry heartbeat', e);
3277
+ }
3278
+ }
3279
+ impression(data) {
3280
+ try {
3281
+ const page = this.getPageDetails();
3282
+ if (data && data.pageContext) {
3283
+ page.module = data.pageContext.module;
3284
+ }
3285
+ const edata = {
3286
+ pageid: page.pageid,
3287
+ type: page.pageUrlParts[0],
3288
+ uri: page.pageUrl,
3289
+ };
3290
+ if (page.objectId) {
3291
+ const config = {
3292
+ context: {
3293
+ pdata: {
3294
+ ...this.pData,
3295
+ id: this.pData.id,
3296
+ },
3297
+ env: page.module || (this.telemetryConfig && this.telemetryConfig.env),
3298
+ },
3299
+ object: {
3300
+ id: page.objectId,
3301
+ ...((data) ? data.object : {}),
3302
+ },
3303
+ };
3304
+ $t.impression(edata, config);
3305
+ }
3306
+ else {
3307
+ $t.impression(edata, {
3308
+ context: {
3309
+ pdata: {
3310
+ ...this.pData,
3311
+ id: this.pData.id,
3312
+ },
3313
+ env: page.module || '',
3314
+ },
3315
+ object: {
3316
+ ...((data) ? data.object : {}),
3317
+ },
3318
+ });
3319
+ }
3320
+ this.previousUrl = page.pageUrl;
3321
+ }
3322
+ catch (e) {
3323
+ console.log('Error in telemetry impression', e);
3324
+ }
3325
+ }
3326
+ externalImpression(impressionData) {
3327
+ try {
3328
+ const page = this.getPageDetails();
3329
+ if (this.externalApps[impressionData.subApplicationName]) {
3330
+ const externalConfig = page.objectId ? {
3331
+ context: {
3332
+ pdata: {
3333
+ ...this.pData,
3334
+ id: this.externalApps[impressionData.subApplicationName],
3335
+ },
3336
+ },
3337
+ object: {
3338
+ id: page.objectId,
3339
+ },
3340
+ } : {
3341
+ context: {
3342
+ pdata: {
3343
+ ...this.pData,
3344
+ id: this.externalApps[impressionData.subApplicationName],
3345
+ },
3346
+ },
3347
+ };
3348
+ $t.impression(impressionData.data, externalConfig);
3349
+ }
3350
+ }
3351
+ catch (e) {
3352
+ console.log('Error in telemetry externalImpression', e);
3353
+ }
3354
+ }
3355
+ addCustomImpressionListener() {
3356
+ this.eventsSvc.events$
3357
+ .pipe(filter((event) => event &&
3358
+ event.data &&
3359
+ event.eventType === WsEvents.WsEventType.Telemetry &&
3360
+ event.data.eventSubType === WsEvents.EnumTelemetrySubType.Impression))
3361
+ .subscribe(event => {
3362
+ try {
3363
+ this.impression(event.data);
3364
+ }
3365
+ catch (e) {
3366
+ console.log('Error in telemetry impression', e);
3367
+ }
3368
+ });
3369
+ }
3370
+ addTimeSpentListener() {
3371
+ this.eventsSvc.events$
3372
+ .pipe(filter(event => event &&
3373
+ event.eventType === WsEvents.WsEventType.Telemetry &&
3374
+ event.data.type === WsEvents.WsTimeSpentType.Page &&
3375
+ event.data.mode &&
3376
+ event.data))
3377
+ .subscribe(event => {
3378
+ if (event.data.state === WsEvents.EnumTelemetrySubType.Loaded) {
3379
+ this.start({
3380
+ type: event.data.type || WsEvents.WsTimeSpentType.Player,
3381
+ mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,
3382
+ }, {}, event.pageContext);
3383
+ }
3384
+ if (event.data.state === WsEvents.EnumTelemetrySubType.Unloaded) {
3385
+ this.end({
3386
+ type: event.data.type || WsEvents.WsTimeSpentType.Player,
3387
+ mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,
3388
+ }, {}, event.pageContext);
3389
+ }
3390
+ });
3391
+ }
3392
+ addCustomEventListener() {
3393
+ this.eventsSvc.events$
3394
+ .pipe(filter(event => event &&
3395
+ event.eventType === WsEvents.WsEventType.Telemetry))
3396
+ .subscribe(event => {
3397
+ if (event.data.state === WsEvents.EnumTelemetrySubType.Loaded &&
3398
+ event.data.type !== WsEvents.WsTimeSpentType.Player) {
3399
+ this.start({
3400
+ type: event.data.type,
3401
+ mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,
3402
+ }, event.data.object, event.pageContext);
3403
+ }
3404
+ if (event.data.state === WsEvents.EnumTelemetrySubType.Unloaded &&
3405
+ event.data.type !== WsEvents.WsTimeSpentType.Player) {
3406
+ this.end({
3407
+ type: event.data.type || WsEvents.WsTimeSpentType.Player,
3408
+ mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,
3409
+ }, event.data.object, event.pageContext);
3410
+ }
3411
+ });
3412
+ }
3413
+ addPlayerListener() {
3414
+ this.eventsSvc.events$
3415
+ .pipe(filter(event => event &&
3416
+ event.eventType === WsEvents.WsEventType.Telemetry &&
3417
+ event.data.type === WsEvents.WsTimeSpentType.Player &&
3418
+ event.data.mode &&
3419
+ event.data))
3420
+ .subscribe(event => {
3421
+ const content = event.data.content;
3422
+ if (event.data.state === WsEvents.EnumTelemetrySubType.Loaded &&
3423
+ (!content ||
3424
+ (content.isIframeSupported || '').toLowerCase() === 'maybe' ||
3425
+ (content.isIframeSupported || '').toLowerCase() === 'yes' ||
3426
+ (content.mimeType === 'application/pdf' || 'application/json'))) {
3427
+ this.start({
3428
+ type: event.data.type || WsEvents.WsTimeSpentType.Player,
3429
+ mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,
3430
+ }, event.data.object, event.pageContext);
3431
+ }
3432
+ if (event.data.state === WsEvents.EnumTelemetrySubType.Unloaded &&
3433
+ (!content ||
3434
+ (content.isIframeSupported || '').toLowerCase() === 'maybe' ||
3435
+ (content.isIframeSupported || '').toLowerCase() === 'yes' ||
3436
+ (content.mimeType === 'application/pdf' || 'application/json'))) {
3437
+ this.end({
3438
+ type: event.data.type || WsEvents.WsTimeSpentType.Player,
3439
+ mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,
3440
+ }, event.data.object, event.pageContext);
3441
+ }
3442
+ });
3443
+ }
3444
+ addInteractListener() {
3445
+ this.eventsSvc.events$
3446
+ .pipe(filter((event) => event &&
3447
+ event.data &&
3448
+ event.eventType === WsEvents.WsEventType.Telemetry &&
3449
+ event.data.eventSubType === WsEvents.EnumTelemetrySubType.Interact))
3450
+ .subscribe(event => {
3451
+ const page = this.getPageDetails();
3452
+ if (typeof event.from === 'string' && this.externalApps[event.from]) {
3453
+ const externalConfig = {
3454
+ context: {
3455
+ pdata: {
3456
+ ...this.pData,
3457
+ id: this.externalApps[event.from],
3458
+ },
3459
+ },
3460
+ };
3461
+ try {
3462
+ $t.interact(event.data, externalConfig);
3463
+ }
3464
+ catch (e) {
3465
+ console.log('Error in telemetry interact', e);
3466
+ }
3467
+ }
3468
+ else {
3469
+ try {
3470
+ $t.interact({
3471
+ type: event.data.edata.type,
3472
+ subtype: event.data.edata.subType,
3473
+ id: (event.data.edata && event.data.edata.id) ?
3474
+ event.data.edata.id
3475
+ : '',
3476
+ pageid: event.data.pageContext && event.data.pageContext.pageId || page.pageid,
3477
+ }, {
3478
+ context: {
3479
+ pdata: {
3480
+ ...this.pData,
3481
+ id: this.pData.id,
3482
+ },
3483
+ ...(event.data.pageContext && event.data.pageContext.module ? { env: event.data.pageContext.module } : null),
3484
+ },
3485
+ object: {
3486
+ ...event.data.object,
3487
+ },
3488
+ });
3489
+ }
3490
+ catch (e) {
3491
+ console.log('Error in telemetry interact', e);
3492
+ }
3493
+ }
3494
+ });
3495
+ }
3496
+ addFeedbackListener() {
3497
+ this.eventsSvc.events$
3498
+ .pipe(filter((event) => event &&
3499
+ event.data &&
3500
+ event.eventType === WsEvents.WsEventType.Telemetry &&
3501
+ event.data.eventSubType === WsEvents.EnumTelemetrySubType.Feedback))
3502
+ .subscribe(event => {
3503
+ const page = this.getPageDetails();
3504
+ try {
3505
+ $t.feedback({
3506
+ rating: event.data.object.rating || 0,
3507
+ commentid: event.data.object.commentid || '',
3508
+ commenttxt: event.data.object.commenttxt || '',
3509
+ pageid: page.pageid,
3510
+ }, {
3511
+ context: {
3512
+ pdata: {
3513
+ ...this.pData,
3514
+ id: this.pData.id,
3515
+ },
3516
+ },
3517
+ object: {
3518
+ id: event.data.object.contentId || event.data.object.id || '',
3519
+ type: event.data.edata.type || '',
3520
+ ver: `${(event.data.object.version || '1')}${''}`,
3521
+ rollup: {},
3522
+ },
3523
+ });
3524
+ }
3525
+ catch (e) {
3526
+ console.log('Error in telemetry interact', e);
3527
+ }
3528
+ });
3529
+ }
3530
+ addHearbeatListener() {
3531
+ this.eventsSvc.events$
3532
+ .pipe(filter((event) => event &&
3533
+ event.data &&
3534
+ event.eventType === WsEvents.WsEventType.Telemetry &&
3535
+ event.data.eventSubType === WsEvents.EnumTelemetrySubType.HeartBeat))
3536
+ .subscribe(event => {
3537
+ if (typeof event.from === 'string' && this.externalApps[event.from]) {
3538
+ const externalConfig = {
3539
+ context: {
3540
+ pdata: {
3541
+ ...this.pData,
3542
+ id: this.externalApps[event.from],
3543
+ },
3544
+ },
3545
+ };
3546
+ try {
3547
+ $t.heartbeat(event.data, externalConfig);
3548
+ }
3549
+ catch (e) {
3550
+ console.log('Error in telemetry heartbeat', e);
3551
+ }
3552
+ }
3553
+ else {
3554
+ try {
3555
+ $t.heartbeat({
3556
+ type: event.data.type,
3557
+ id: event.data.id,
3558
+ }, {
3559
+ context: {
3560
+ pdata: {
3561
+ ...this.pData,
3562
+ id: this.pData.id,
3563
+ },
3564
+ },
3565
+ });
3566
+ }
3567
+ catch (e) {
3568
+ console.log('Error in telemetry heartbeat', e);
3569
+ }
3570
+ }
3571
+ });
3572
+ }
3573
+ addSearchListener() {
3574
+ this.eventsSvc.events$
3575
+ .pipe(filter((event) => event &&
3576
+ event.data &&
3577
+ event.eventType === WsEvents.WsEventType.Telemetry &&
3578
+ event.data.eventSubType === WsEvents.EnumTelemetrySubType.Search))
3579
+ .subscribe(event => {
3580
+ try {
3581
+ $t.search({
3582
+ query: event.data.query,
3583
+ filters: event.data.filters,
3584
+ size: event.data.size,
3585
+ }, {
3586
+ context: {
3587
+ pdata: {
3588
+ ...this.pData,
3589
+ id: this.pData.id,
3590
+ },
3591
+ },
3592
+ });
3593
+ }
3594
+ catch (e) {
3595
+ console.log('Error in telemetry search', e);
3596
+ }
3597
+ });
3598
+ }
3599
+ getPageDetails() {
3600
+ const path = window.location.pathname.replace('/', '');
3601
+ const url = path + window.location.search;
3602
+ return {
3603
+ pageid: path,
3604
+ pageUrl: url,
3605
+ pageUrlParts: path.split('/'),
3606
+ refferUrl: this.previousUrl,
3607
+ objectId: this.extractContentIdFromUrlParts(path.split('/')),
3608
+ module: '',
3609
+ };
3610
+ }
3611
+ extractContentIdFromUrlParts(urlParts) {
3612
+ const tocIdx = urlParts.indexOf('toc');
3613
+ const viewerIdx = urlParts.indexOf('viewer');
3614
+ if (tocIdx === -1 && viewerIdx === -1) {
3615
+ return null;
3616
+ }
3617
+ if (tocIdx !== -1 && tocIdx < urlParts.length - 1) {
3618
+ return urlParts[tocIdx + 1];
3619
+ }
3620
+ if (viewerIdx !== -1 && viewerIdx < urlParts.length - 2) {
3621
+ return urlParts[viewerIdx + 2];
3622
+ }
3623
+ return null;
3624
+ }
3625
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TelemetryService, deps: [{ token: 'environment' }, { token: ConfigurationsService }, { token: EventService }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3626
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TelemetryService, providedIn: 'root' }); }
3627
+ }
3628
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TelemetryService, decorators: [{
3629
+ type: Injectable,
3630
+ args: [{
3631
+ providedIn: 'root',
3632
+ }]
3633
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
3634
+ type: Inject,
3635
+ args: ['environment']
3636
+ }] }, { type: ConfigurationsService }, { type: EventService }, { type: LoggerService }]; } });
3637
+
3638
+ class SubapplicationRespondService {
3639
+ constructor(contentSvc, eventSvc, teleSvc) {
3640
+ this.contentSvc = contentSvc;
3641
+ this.eventSvc = eventSvc;
3642
+ this.teleSvc = teleSvc;
3643
+ this.subAppname = '';
3644
+ this.continueLearningData = null;
3645
+ this.loaded = false;
3646
+ }
3647
+ continueLearningRespond(id, continueLearning) {
3648
+ this.contentSvc.saveContinueLearning({
3649
+ contextPathId: id,
3650
+ resourceId: id,
3651
+ data: JSON.stringify({ timestamp: Date.now(), data: continueLearning }),
3652
+ dateAccessed: Date.now(),
3653
+ })
3654
+ .toPromise()
3655
+ .catch();
3656
+ }
3657
+ telemetryEvents(tData) {
3658
+ if (tData) {
3659
+ switch (tData.eventId) {
3660
+ case 'INTERACT':
3661
+ this.eventSvc.dispatchEvent({
3662
+ eventType: WsEvents.WsEventType.Telemetry,
3663
+ eventLogLevel: WsEvents.WsEventLogLevel.Warn,
3664
+ data: {
3665
+ ...tData.data,
3666
+ eventSubType: WsEvents.EnumTelemetrySubType.Interact,
3667
+ },
3668
+ from: tData.subApplicationName,
3669
+ to: 'Telemetry',
3670
+ });
3671
+ break;
3672
+ case 'HEARTBEAT':
3673
+ this.eventSvc.dispatchEvent({
3674
+ eventType: WsEvents.WsEventType.Telemetry,
3675
+ eventLogLevel: WsEvents.WsEventLogLevel.Trace,
3676
+ data: {
3677
+ ...tData.data,
3678
+ eventSubType: WsEvents.EnumTelemetrySubType.HeartBeat,
3679
+ },
3680
+ from: tData.subApplicationName,
3681
+ to: 'Telemetry',
3682
+ });
3683
+ break;
3684
+ case 'IMPRESSION':
3685
+ this.teleSvc.externalImpression(tData.data);
3686
+ break;
3687
+ default:
3688
+ break;
3689
+ }
3690
+ }
3691
+ }
3692
+ unsubscribeResponse() {
3693
+ this.subAppname = '';
3694
+ this.continueLearningData = null;
3695
+ this.contentWindowinfo = null;
3696
+ this.loaded = false;
3697
+ }
3698
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubapplicationRespondService, deps: [{ token: WidgetContentService }, { token: EventService }, { token: TelemetryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3699
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubapplicationRespondService, providedIn: 'root' }); }
3700
+ }
3701
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubapplicationRespondService, decorators: [{
3702
+ type: Injectable,
3703
+ args: [{
3704
+ providedIn: 'root',
3705
+ }]
3706
+ }], ctorParameters: function () { return [{ type: WidgetContentService }, { type: EventService }, { type: TelemetryService }]; } });
3707
+
3708
+ const endpoints = {
3709
+ userPref: '/apis/protected/v8/user/preference',
3710
+ };
3711
+ class UserPreferenceService {
3712
+ constructor(http, configurationSvc) {
3713
+ this.http = http;
3714
+ this.configurationSvc = configurationSvc;
3715
+ }
3716
+ initialize() {
3717
+ this.configurationSvc.prefChangeNotifier
3718
+ .pipe(debounceTime(250))
3719
+ .subscribe((changedUserPref) => {
3720
+ if (this.configurationSvc.isAuthenticated) {
3721
+ this.saveUserPreference(changedUserPref);
3722
+ }
3723
+ });
3724
+ }
3725
+ async fetchUserPreference() {
3726
+ const pref = await this.http.get(endpoints.userPref).toPromise();
3727
+ return pref;
3728
+ }
3729
+ async saveUserPreference(changedUserPref) {
3730
+ try {
3731
+ if (!changedUserPref) {
3732
+ return false;
3733
+ }
3734
+ const newUserPref = {
3735
+ ...this.configurationSvc.userPreference,
3736
+ pinnedApps: (changedUserPref && changedUserPref.pinnedApps) ||
3737
+ (this.configurationSvc.userPreference &&
3738
+ this.configurationSvc.userPreference.pinnedApps) ||
3739
+ '',
3740
+ isDarkMode: this.configurationSvc.isDarkMode,
3741
+ isRTL: this.configurationSvc.isRTL,
3742
+ selectedTheme: (this.configurationSvc.activeThemeObject &&
3743
+ this.configurationSvc.activeThemeObject.themeClass) ||
3744
+ '',
3745
+ selectedFont: (this.configurationSvc.activeFontObject &&
3746
+ this.configurationSvc.activeFontObject.fontClass) ||
3747
+ '',
3748
+ selectedLangGroup: (this.configurationSvc.userPreference &&
3749
+ this.configurationSvc.userPreference.selectedLangGroup) ||
3750
+ '',
3751
+ selectedLocale: (this.configurationSvc.userPreference &&
3752
+ this.configurationSvc.userPreference.selectedLocale) ||
3753
+ '',
3754
+ colorPallet: (this.configurationSvc.userPreference &&
3755
+ this.configurationSvc.userPreference.colorPallet) ||
3756
+ [],
3757
+ defaultCardType: (this.configurationSvc.userPreference &&
3758
+ this.configurationSvc.userPreference.defaultCardType) ||
3759
+ '',
3760
+ completedActivity: (this.configurationSvc.userPreference &&
3761
+ this.configurationSvc.userPreference.completedActivity) ||
3762
+ [],
3763
+ ...(changedUserPref || {}),
3764
+ completedTour: this.configurationSvc.completedTour,
3765
+ profileSettings: (this.configurationSvc.userPreference &&
3766
+ this.configurationSvc.userPreference.profileSettings) ||
3767
+ this.configurationSvc.profileSettings,
3768
+ };
3769
+ const oldUserPref = this.configurationSvc.userPreference;
3770
+ this.configurationSvc.userPreference = newUserPref;
3771
+ await this.http
3772
+ .put(endpoints.userPref, newUserPref)
3773
+ .pipe(retry(3), catchError(err => {
3774
+ this.configurationSvc.userPreference = oldUserPref;
3775
+ return of(err);
3776
+ }))
3777
+ .toPromise();
3778
+ return true;
3779
+ }
3780
+ catch (err) {
3781
+ return false;
3782
+ }
3783
+ }
3784
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPreferenceService, deps: [{ token: i1$3.HttpClient }, { token: ConfigurationsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3785
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPreferenceService, providedIn: 'root' }); }
3786
+ }
3787
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserPreferenceService, decorators: [{
3788
+ type: Injectable,
3789
+ args: [{
3790
+ providedIn: 'root',
3791
+ }]
3792
+ }], ctorParameters: function () { return [{ type: i1$3.HttpClient }, { type: ConfigurationsService }]; } });
3793
+
3794
+ var NsContent;
3795
+ (function (NsContent) {
3796
+ let EContentTypes;
3797
+ (function (EContentTypes) {
3798
+ EContentTypes["PROGRAM"] = "Learning Path";
3799
+ EContentTypes["CHANNEL"] = "Channel";
3800
+ EContentTypes["COURSE"] = "Course";
3801
+ EContentTypes["KNOWLEDGE_ARTIFACT"] = "Knowledge Artifact";
3802
+ EContentTypes["KNOWLEDGE_BOARD"] = "Knowledge Board";
3803
+ EContentTypes["LEARNING_JOURNEY"] = "Learning Journeys";
3804
+ EContentTypes["MODULE"] = "Collection";
3805
+ EContentTypes["RESOURCE"] = "Resource";
3806
+ })(EContentTypes = NsContent.EContentTypes || (NsContent.EContentTypes = {}));
3807
+ let EMiscPlayerSupportedCollectionTypes;
3808
+ (function (EMiscPlayerSupportedCollectionTypes) {
3809
+ EMiscPlayerSupportedCollectionTypes["PLAYLIST"] = "Playlist";
3810
+ })(EMiscPlayerSupportedCollectionTypes = NsContent.EMiscPlayerSupportedCollectionTypes || (NsContent.EMiscPlayerSupportedCollectionTypes = {}));
3811
+ NsContent.PLAYER_SUPPORTED_COLLECTION_TYPES = [
3812
+ EContentTypes.COURSE,
3813
+ EContentTypes.MODULE,
3814
+ EContentTypes.PROGRAM,
3815
+ EMiscPlayerSupportedCollectionTypes.PLAYLIST,
3816
+ ];
3817
+ NsContent.KB_SUPPORTED_CONTENT_TYPES = [
3818
+ EContentTypes.COURSE,
3819
+ EContentTypes.MODULE,
3820
+ EContentTypes.PROGRAM,
3821
+ EContentTypes.RESOURCE,
3822
+ ];
3823
+ NsContent.PLAYLIST_SUPPORTED_CONTENT_TYPES = [
3824
+ EContentTypes.COURSE,
3825
+ EContentTypes.MODULE,
3826
+ EContentTypes.PROGRAM,
3827
+ EContentTypes.RESOURCE,
3828
+ ];
3829
+ let EMimeTypes;
3830
+ (function (EMimeTypes) {
3831
+ EMimeTypes["COLLECTION"] = "application/vnd.ekstep.content-collection";
3832
+ EMimeTypes["HTML"] = "application/html";
3833
+ EMimeTypes["ILP_FP"] = "application/ilpfp";
3834
+ EMimeTypes["IAP"] = "application/iap-assessment";
3835
+ EMimeTypes["M4A"] = "audio/m4a";
3836
+ EMimeTypes["MP3"] = "audio/mpeg";
3837
+ EMimeTypes["MP4"] = "video/mp4";
3838
+ EMimeTypes["M3U8"] = "application/x-mpegURL";
3839
+ EMimeTypes["INTERACTION"] = "video/interactive";
3840
+ EMimeTypes["PDF"] = "application/pdf";
3841
+ EMimeTypes["QUIZ"] = "application/quiz";
3842
+ EMimeTypes["DRAG_DROP"] = "application/drag-drop";
3843
+ EMimeTypes["HTML_PICKER"] = "application/htmlpicker";
3844
+ EMimeTypes["WEB_MODULE"] = "application/web-module";
3845
+ EMimeTypes["WEB_MODULE_EXERCISE"] = "application/web-module-exercise";
3846
+ EMimeTypes["YOUTUBE"] = "video/x-youtube";
3847
+ EMimeTypes["HANDS_ON"] = "application/integrated-hands-on";
3848
+ EMimeTypes["RDBMS_HANDS_ON"] = "application/rdbms";
3849
+ EMimeTypes["CLASS_DIAGRAM"] = "application/class-diagram";
3850
+ EMimeTypes["CHANNEL"] = "application/channel";
3851
+ EMimeTypes["COLLECTION_RESOURCE"] = "resource/collection";
3852
+ EMimeTypes["CERTIFICATION"] = "application/certification";
3853
+ EMimeTypes["PLAYLIST"] = "application/playlist";
3854
+ EMimeTypes["UNKNOWN"] = "application/unknown";
3855
+ })(EMimeTypes = NsContent.EMimeTypes || (NsContent.EMimeTypes = {}));
3856
+ let EDisplayContentTypes;
3857
+ (function (EDisplayContentTypes) {
3858
+ EDisplayContentTypes["ASSESSMENT"] = "ASSESSMENT";
3859
+ EDisplayContentTypes["AUDIO"] = "AUDIO";
3860
+ EDisplayContentTypes["CERTIFICATION"] = "CERTIFICATION";
3861
+ EDisplayContentTypes["CHANNEL"] = "Channel";
3862
+ EDisplayContentTypes["CLASS_DIAGRAM"] = "CLASS_DIAGRAM";
3863
+ EDisplayContentTypes["COURSE"] = "COURSE";
3864
+ EDisplayContentTypes["DEFAULT"] = "DEFAULT";
3865
+ EDisplayContentTypes["DRAG_DROP"] = "DRAG_DROP";
3866
+ EDisplayContentTypes["EXTERNAL_CERTIFICATION"] = "EXTERNAL_CERTIFICATION";
3867
+ EDisplayContentTypes["EXTERNAL_COURSE"] = "EXTERNAL_COURSE";
3868
+ EDisplayContentTypes["GOALS"] = "GOALS";
3869
+ EDisplayContentTypes["HANDS_ON"] = "HANDS_ON";
3870
+ EDisplayContentTypes["IAP"] = "IAP";
3871
+ EDisplayContentTypes["INSTRUCTOR_LED"] = "INSTRUCTOR_LED";
3872
+ EDisplayContentTypes["INTERACTIVE_VIDEO"] = "INTERACTIVE_VIDEO";
3873
+ EDisplayContentTypes["KNOWLEDGE_ARTIFACT"] = "KNOWLEDGE_ARTIFACT";
3874
+ EDisplayContentTypes["MODULE"] = "MODULE";
3875
+ EDisplayContentTypes["PDF"] = "PDF";
3876
+ EDisplayContentTypes["PLAYLIST"] = "PLAYLIST";
3877
+ EDisplayContentTypes["PROGRAM"] = "PROGRAM";
3878
+ EDisplayContentTypes["QUIZ"] = "QUIZ";
3879
+ EDisplayContentTypes["RESOURCE"] = "RESOURCE";
3880
+ EDisplayContentTypes["RDBMS_HANDS_ON"] = "RDBMS_HANDS_ON";
3881
+ EDisplayContentTypes["VIDEO"] = "VIDEO";
3882
+ EDisplayContentTypes["WEB_MODULE"] = "WEB_MODULE";
3883
+ EDisplayContentTypes["WEB_PAGE"] = "WEB_PAGE";
3884
+ EDisplayContentTypes["YOUTUBE"] = "YOUTUBE";
3885
+ EDisplayContentTypes["KNOWLEDGE_BOARD"] = "Knowledge Board";
3886
+ EDisplayContentTypes["LEARNING_JOURNEY"] = "Learning Journeys";
3887
+ })(EDisplayContentTypes = NsContent.EDisplayContentTypes || (NsContent.EDisplayContentTypes = {}));
3888
+ let EFilterCategory;
3889
+ (function (EFilterCategory) {
3890
+ EFilterCategory["ALL"] = "ALL";
3891
+ EFilterCategory["LEARN"] = "LEARN";
3892
+ EFilterCategory["PRACTICE"] = "PRACTICE";
3893
+ EFilterCategory["ASSESS"] = "ASSESS";
3894
+ })(EFilterCategory = NsContent.EFilterCategory || (NsContent.EFilterCategory = {}));
3895
+ let ETagType;
3896
+ (function (ETagType) {
3897
+ ETagType["NEWLY_ADDED"] = "NEWLY ADDED";
3898
+ })(ETagType = NsContent.ETagType || (NsContent.ETagType = {}));
3899
+ })(NsContent || (NsContent = {}));
3900
+
3901
+ export { AuthKeycloakService, AuthMicrosoftService, ClassChangeOnScrollDirective, ClassChangeOnScrollModule, ConfigurationsService, DefaultThumbnailDirective, DefaultThumbnailModule, EFeatures, EInstance, EventService, ExploreDetailResolve, HorizontalScrollerComponent, HorizontalScrollerModule, ImageCropComponent, ImageCropModule, ImageResponsiveDirective, ImageResponsiveModule, InViewPortDirective, InViewPortModule, LoggerService, LogoutComponent, LogoutModule, MarketingOfferingResolve, NavigationDirective, NavigationModule, NsContent, OrderByPipe, PageResolve, PermissionDirective, PermissionModule, PipeConciseDateRangeModule, PipeConciseDateRangePipe, PipeCountTransformModule, PipeCountTransformPipe, PipeDateConcatModule, PipeDateConcatPipe, PipeDurationTransformModule, PipeDurationTransformPipe, PipeFilterModule, PipeFilterPipe, PipeFilterSearchModule, PipeFilterSearchPipe, PipeHtmlTagRemovalModule, PipeHtmlTagRemovalPipe, PipeLimitToModule, PipeLimitToPipe, PipeListFilterModule, PipeListFilterPipe, PipeNameTransformModule, PipeNameTransformPipe, PipeOrderByModule, PipePartialContentModule, PipePartialContentPipe, PipeRelativeTimeModule, PipeRelativeTimePipe, PipeSafeSanitizerModule, PipeSafeSanitizerPipe, SubapplicationRespondService, TelemetryService, UserPreferenceService, UtilityService, ValueService, WidgetContentService, WsEvents, getStringifiedQueryParams };
3902
+ //# sourceMappingURL=sunbird-cb-utils.mjs.map