@sunbird-cb/toc 0.0.1

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 (495) hide show
  1. package/esm2022/lib/_collection/_common/attendance-card/attendance-card.component.mjs +55 -0
  2. package/esm2022/lib/_collection/_common/attendance-card/attendance-card.module.mjs +126 -0
  3. package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.component.mjs +32 -0
  4. package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.module.mjs +85 -0
  5. package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.component.mjs +100 -0
  6. package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.module.mjs +48 -0
  7. package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.component.mjs +120 -0
  8. package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.module.mjs +92 -0
  9. package/esm2022/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.mjs +48 -0
  10. package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.component.mjs +25 -0
  11. package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.module.mjs +41 -0
  12. package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover-card.component.mjs +89 -0
  13. package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.module.mjs +42 -0
  14. package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.servive.mjs +41 -0
  15. package/esm2022/lib/_collection/_common/connection-name/connection-name.component.mjs +78 -0
  16. package/esm2022/lib/_collection/_common/connection-name/connection-name.module.mjs +45 -0
  17. package/esm2022/lib/_collection/_common/connection-name/profile-v2.model.mjs +2 -0
  18. package/esm2022/lib/_collection/_common/content-progress/content-progress.component.mjs +70 -0
  19. package/esm2022/lib/_collection/_common/content-progress/content-progress.module.mjs +28 -0
  20. package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.mjs +187 -0
  21. package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.mjs +86 -0
  22. package/esm2022/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.mjs +31 -0
  23. package/esm2022/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.mjs +941 -0
  24. package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.mjs +183 -0
  25. package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.mjs +327 -0
  26. package/esm2022/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.mjs +297 -0
  27. package/esm2022/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.mjs +223 -0
  28. package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.mjs +591 -0
  29. package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.mjs +16 -0
  30. package/esm2022/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.mjs +43 -0
  31. package/esm2022/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.mjs +133 -0
  32. package/esm2022/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.mjs +66 -0
  33. package/esm2022/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.mjs +278 -0
  34. package/esm2022/lib/_collection/_common/content-toc/content-services/handle-claim.service.mjs +21 -0
  35. package/esm2022/lib/_collection/_common/content-toc/content-services/review-component-data.service.mjs +21 -0
  36. package/esm2022/lib/_collection/_common/content-toc/content-toc.component.mjs +847 -0
  37. package/esm2022/lib/_collection/_common/content-toc/content-toc.module.mjs +219 -0
  38. package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.component.mjs +209 -0
  39. package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.module.mjs +26 -0
  40. package/esm2022/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.mjs +19 -0
  41. package/esm2022/lib/_collection/_common/content-toc/pipes/truncate.pipe.mjs +23 -0
  42. package/esm2022/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.mjs +113 -0
  43. package/esm2022/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.mjs +110 -0
  44. package/esm2022/lib/_collection/_common/display-content-type/display-content-type.component.mjs +26 -0
  45. package/esm2022/lib/_collection/_common/display-content-type/display-content-type.module.mjs +19 -0
  46. package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.mjs +67 -0
  47. package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.mjs +28 -0
  48. package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.component.mjs +77 -0
  49. package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.model.mjs +2 -0
  50. package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.module.mjs +61 -0
  51. package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.module.mjs +20 -0
  52. package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.mjs +73 -0
  53. package/esm2022/lib/_collection/_common/player-brief/player-brief.component.mjs +139 -0
  54. package/esm2022/lib/_collection/_common/player-brief/player-brief.module.mjs +71 -0
  55. package/esm2022/lib/_collection/_common/rating-summary/rating-summary.component.mjs +34 -0
  56. package/esm2022/lib/_collection/_common/rating-summary/rating-summary.module.mjs +56 -0
  57. package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.component.mjs +25 -0
  58. package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.module.mjs +37 -0
  59. package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.mjs +32 -0
  60. package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner.module.mjs +30 -0
  61. package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.mjs +38 -0
  62. package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.mjs +51 -0
  63. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.component.mjs +115 -0
  64. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.model.mjs +12 -0
  65. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.module.mjs +51 -0
  66. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.service.mjs +61 -0
  67. package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.component.mjs +87 -0
  68. package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.module.mjs +36 -0
  69. package/esm2022/lib/_collection/_common/user-image/user-image.component.mjs +62 -0
  70. package/esm2022/lib/_collection/_common/user-image/user-image.module.mjs +24 -0
  71. package/esm2022/lib/_collection/btn-page-back/btn-page-back.component.mjs +192 -0
  72. package/esm2022/lib/_collection/btn-page-back/btn-page-back.module.mjs +44 -0
  73. package/esm2022/lib/_collection/btn-page-back/btn-page-back.service.mjs +99 -0
  74. package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.component.mjs +58 -0
  75. package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.module.mjs +67 -0
  76. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.component.mjs +112 -0
  77. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.model.mjs +2 -0
  78. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.module.mjs +69 -0
  79. package/esm2022/lib/_collection-api.mjs +57 -0
  80. package/esm2022/lib/_constants/widget-content.constants.mjs +19 -0
  81. package/esm2022/lib/_directives/tooltip.directive.mjs +68 -0
  82. package/esm2022/lib/_models/common.model.mjs +2 -0
  83. package/esm2022/lib/_models/error.model.mjs +2 -0
  84. package/esm2022/lib/_pipes/highlight.pipe.mjs +24 -0
  85. package/esm2022/lib/_services/rating.service.mjs +89 -0
  86. package/esm2022/lib/_services/samuhik-charcha.service.mjs +29 -0
  87. package/esm2022/lib/_services/viewer-route-util.mjs +103 -0
  88. package/esm2022/lib/_services/widget-content.model.mjs +246 -0
  89. package/esm2022/lib/_services/widget-content.service.mjs +589 -0
  90. package/esm2022/lib/_shared/translate-loader.factory.mjs +9 -0
  91. package/esm2022/lib/app-toc-lib.module.mjs +499 -0
  92. package/esm2022/lib/collection.config.mjs +161 -0
  93. package/esm2022/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.mjs +37 -0
  94. package/esm2022/lib/components/app-toc-banner/app-toc-banner.component.mjs +1436 -0
  95. package/esm2022/lib/components/app-toc-cios-home/app-toc-cios-home.component.mjs +475 -0
  96. package/esm2022/lib/components/app-toc-cios-home/consent-dialog.component.mjs +119 -0
  97. package/esm2022/lib/components/app-toc-cohorts/app-toc-cohorts.component.mjs +80 -0
  98. package/esm2022/lib/components/app-toc-content-card/app-toc-content-card.component.mjs +249 -0
  99. package/esm2022/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.mjs +39 -0
  100. package/esm2022/lib/components/app-toc-discussion/app-toc-discussion.component.mjs +58 -0
  101. package/esm2022/lib/components/app-toc-home/app-toc-home.component.mjs +2229 -0
  102. package/esm2022/lib/components/app-toc-home-v2/app-toc-home-v2.component.mjs +2796 -0
  103. package/esm2022/lib/components/app-toc-overview/app-toc-overview.component.mjs +157 -0
  104. package/esm2022/lib/components/app-toc-session-card/app-toc-session-card.component.mjs +48 -0
  105. package/esm2022/lib/components/app-toc-sessions/app-toc-sessions.component.mjs +47 -0
  106. package/esm2022/lib/components/app-toc-single-page/app-toc-single-page.component.mjs +766 -0
  107. package/esm2022/lib/components/completion-survey-form/completion-survey-form.component.mjs +243 -0
  108. package/esm2022/lib/components/create-batch-dialog/create-batch-dialog.component.mjs +116 -0
  109. package/esm2022/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.mjs +44 -0
  110. package/esm2022/lib/components/enroll-profile-form/enroll-profile-form.component.mjs +1838 -0
  111. package/esm2022/lib/components/enroll-questionnaire/enroll-questionnaire.component.mjs +236 -0
  112. package/esm2022/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.mjs +213 -0
  113. package/esm2022/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.mjs +36 -0
  114. package/esm2022/lib/components/public-survey-form/public-survey-form.component.mjs +256 -0
  115. package/esm2022/lib/components/survey-form-question/survey-form-question.component.mjs +133 -0
  116. package/esm2022/lib/components/survey-form-section/survey-form-section.component.mjs +36 -0
  117. package/esm2022/lib/models/app-toc-analytics.model.mjs +2 -0
  118. package/esm2022/lib/models/app-toc.model.mjs +38 -0
  119. package/esm2022/lib/models/auto-complete.model.mjs +2 -0
  120. package/esm2022/lib/models/card-content.model.mjs +13 -0
  121. package/esm2022/lib/models/content-strip-with-tabs.model.mjs +2 -0
  122. package/esm2022/lib/models/discussion-forum.model.mjs +14 -0
  123. package/esm2022/lib/models/goal.model.mjs +2 -0
  124. package/esm2022/lib/models/meta-tag.model.mjs +8 -0
  125. package/esm2022/lib/models/playlist.model.mjs +2 -0
  126. package/esm2022/lib/models/profile-revamp.model.mjs +2 -0
  127. package/esm2022/lib/models/rating.model.mjs +2 -0
  128. package/esm2022/lib/models/user-profile.model.mjs +21 -0
  129. package/esm2022/lib/resolvers/app-toc-cios-resolver.service.mjs +24 -0
  130. package/esm2022/lib/resolvers/app-toc-cios-user-enroll-resolver.service.mjs +24 -0
  131. package/esm2022/lib/resolvers/app-toc-content-read-resolver.service.mjs +60 -0
  132. package/esm2022/lib/resolvers/app-toc-ext-public-resolver.service.mjs +25 -0
  133. package/esm2022/lib/resolvers/app-toc-resolver.service.mjs +106 -0
  134. package/esm2022/lib/resolvers/config-resolver.service.mjs +25 -0
  135. package/esm2022/lib/resolvers/profile-resolver.service.mjs +25 -0
  136. package/esm2022/lib/resolvers/restricted-features-resolver.service.mjs +25 -0
  137. package/esm2022/lib/routes/app-toc-home/app-toc-home.component.mjs +51 -0
  138. package/esm2022/lib/routes/app-toc-home/app-toc-home.directive.mjs +16 -0
  139. package/esm2022/lib/routes/app-toc-home/app-toc-home.service.mjs +18 -0
  140. package/esm2022/lib/services/access-control.service.mjs +56 -0
  141. package/esm2022/lib/services/action.service.mjs +23 -0
  142. package/esm2022/lib/services/app-toc-v2.service.mjs +47 -0
  143. package/esm2022/lib/services/app-toc.service.mjs +1001 -0
  144. package/esm2022/lib/services/certificate.service.mjs +69 -0
  145. package/esm2022/lib/services/discuss-utils.service.mjs +58 -0
  146. package/esm2022/lib/services/editor.service.mjs +34 -0
  147. package/esm2022/lib/services/load-check.service.mjs +21 -0
  148. package/esm2022/lib/services/loader.service.mjs +33 -0
  149. package/esm2022/lib/services/mobile-apps.service.mjs +67 -0
  150. package/esm2022/lib/services/netcore.service.mjs +56 -0
  151. package/esm2022/lib/services/nps-grid.service.mjs +31 -0
  152. package/esm2022/lib/services/otp.service.mjs +43 -0
  153. package/esm2022/lib/services/profile-v2.service.mjs +43 -0
  154. package/esm2022/lib/services/reset-ratings.service.mjs +19 -0
  155. package/esm2022/lib/services/resource-download-helper.service.mjs +64 -0
  156. package/esm2022/lib/services/timer.service.mjs +23 -0
  157. package/esm2022/lib/services/title-tag.service.mjs +71 -0
  158. package/esm2022/lib/services/user-profile.service.mjs +55 -0
  159. package/esm2022/lib/services/viewer-data.service.mjs +64 -0
  160. package/esm2022/lib/services/viewer-util.service.mjs +500 -0
  161. package/esm2022/lib/share-toc/share-toc/share-toc.component.mjs +291 -0
  162. package/esm2022/lib/share-toc/share-toc.module.mjs +119 -0
  163. package/esm2022/public-api.mjs +56 -0
  164. package/esm2022/sunbird-cb-toc.mjs +5 -0
  165. package/fesm2022/sunbird-cb-toc.mjs +23517 -0
  166. package/fesm2022/sunbird-cb-toc.mjs.map +1 -0
  167. package/index.d.ts +6 -0
  168. package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts +17 -0
  169. package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts.map +1 -0
  170. package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts +32 -0
  171. package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts.map +1 -0
  172. package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts +16 -0
  173. package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts.map +1 -0
  174. package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts +21 -0
  175. package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts.map +1 -0
  176. package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts +23 -0
  177. package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts.map +1 -0
  178. package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts +16 -0
  179. package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts.map +1 -0
  180. package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts +23 -0
  181. package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts.map +1 -0
  182. package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts +23 -0
  183. package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts.map +1 -0
  184. package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts +10 -0
  185. package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts.map +1 -0
  186. package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts +12 -0
  187. package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts.map +1 -0
  188. package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts +13 -0
  189. package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts.map +1 -0
  190. package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts +19 -0
  191. package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts.map +1 -0
  192. package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts +15 -0
  193. package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts.map +1 -0
  194. package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts +12 -0
  195. package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts.map +1 -0
  196. package/lib/_collection/_common/connection-name/connection-name.component.d.ts +18 -0
  197. package/lib/_collection/_common/connection-name/connection-name.component.d.ts.map +1 -0
  198. package/lib/_collection/_common/connection-name/connection-name.module.d.ts +15 -0
  199. package/lib/_collection/_common/connection-name/connection-name.module.d.ts.map +1 -0
  200. package/lib/_collection/_common/connection-name/profile-v2.model.d.ts +200 -0
  201. package/lib/_collection/_common/connection-name/profile-v2.model.d.ts.map +1 -0
  202. package/lib/_collection/_common/content-progress/content-progress.component.d.ts +17 -0
  203. package/lib/_collection/_common/content-progress/content-progress.component.d.ts.map +1 -0
  204. package/lib/_collection/_common/content-progress/content-progress.module.d.ts +11 -0
  205. package/lib/_collection/_common/content-progress/content-progress.module.d.ts.map +1 -0
  206. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts +39 -0
  207. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts.map +1 -0
  208. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts +20 -0
  209. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts.map +1 -0
  210. package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts +12 -0
  211. package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts.map +1 -0
  212. package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts +184 -0
  213. package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts.map +1 -0
  214. package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts +42 -0
  215. package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts.map +1 -0
  216. package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts +55 -0
  217. package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts.map +1 -0
  218. package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts +48 -0
  219. package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts.map +1 -0
  220. package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts +49 -0
  221. package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts.map +1 -0
  222. package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts +92 -0
  223. package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts.map +1 -0
  224. package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts +9 -0
  225. package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts.map +1 -0
  226. package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts +17 -0
  227. package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts.map +1 -0
  228. package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts +41 -0
  229. package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts.map +1 -0
  230. package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts +22 -0
  231. package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts.map +1 -0
  232. package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts +46 -0
  233. package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts.map +1 -0
  234. package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts +11 -0
  235. package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts.map +1 -0
  236. package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts +11 -0
  237. package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts.map +1 -0
  238. package/lib/_collection/_common/content-toc/content-toc.component.d.ts +129 -0
  239. package/lib/_collection/_common/content-toc/content-toc.component.d.ts.map +1 -0
  240. package/lib/_collection/_common/content-toc/content-toc.module.d.ts +52 -0
  241. package/lib/_collection/_common/content-toc/content-toc.module.d.ts.map +1 -0
  242. package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts +30 -0
  243. package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts.map +1 -0
  244. package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts +10 -0
  245. package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts.map +1 -0
  246. package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts +8 -0
  247. package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts.map +1 -0
  248. package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts +8 -0
  249. package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts.map +1 -0
  250. package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts +29 -0
  251. package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts.map +1 -0
  252. package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts +25 -0
  253. package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts.map +1 -0
  254. package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts +15 -0
  255. package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts.map +1 -0
  256. package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts +10 -0
  257. package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts.map +1 -0
  258. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts +13 -0
  259. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts.map +1 -0
  260. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts +11 -0
  261. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts.map +1 -0
  262. package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts +23 -0
  263. package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts.map +1 -0
  264. package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts +9 -0
  265. package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts.map +1 -0
  266. package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts +19 -0
  267. package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts.map +1 -0
  268. package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts +9 -0
  269. package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts.map +1 -0
  270. package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts +17 -0
  271. package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts.map +1 -0
  272. package/lib/_collection/_common/player-brief/player-brief.component.d.ts +36 -0
  273. package/lib/_collection/_common/player-brief/player-brief.component.d.ts.map +1 -0
  274. package/lib/_collection/_common/player-brief/player-brief.module.d.ts +20 -0
  275. package/lib/_collection/_common/player-brief/player-brief.module.d.ts.map +1 -0
  276. package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts +15 -0
  277. package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts.map +1 -0
  278. package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts +14 -0
  279. package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts.map +1 -0
  280. package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts +12 -0
  281. package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts.map +1 -0
  282. package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts +12 -0
  283. package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts.map +1 -0
  284. package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts +16 -0
  285. package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts.map +1 -0
  286. package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts +11 -0
  287. package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts.map +1 -0
  288. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts +17 -0
  289. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts.map +1 -0
  290. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts +12 -0
  291. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts.map +1 -0
  292. package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts +35 -0
  293. package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts.map +1 -0
  294. package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts +18 -0
  295. package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts.map +1 -0
  296. package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts +16 -0
  297. package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts.map +1 -0
  298. package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts +16 -0
  299. package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts.map +1 -0
  300. package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts +22 -0
  301. package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts.map +1 -0
  302. package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts +13 -0
  303. package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts.map +1 -0
  304. package/lib/_collection/_common/user-image/user-image.component.d.ts +22 -0
  305. package/lib/_collection/_common/user-image/user-image.component.d.ts.map +1 -0
  306. package/lib/_collection/_common/user-image/user-image.module.d.ts +10 -0
  307. package/lib/_collection/_common/user-image/user-image.module.d.ts.map +1 -0
  308. package/lib/_collection/btn-page-back/btn-page-back.component.d.ts +48 -0
  309. package/lib/_collection/btn-page-back/btn-page-back.component.d.ts.map +1 -0
  310. package/lib/_collection/btn-page-back/btn-page-back.module.d.ts +15 -0
  311. package/lib/_collection/btn-page-back/btn-page-back.module.d.ts.map +1 -0
  312. package/lib/_collection/btn-page-back/btn-page-back.service.d.ts +23 -0
  313. package/lib/_collection/btn-page-back/btn-page-back.service.d.ts.map +1 -0
  314. package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts +20 -0
  315. package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts.map +1 -0
  316. package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts +16 -0
  317. package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts.map +1 -0
  318. package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts +26 -0
  319. package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts.map +1 -0
  320. package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts +22 -0
  321. package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts.map +1 -0
  322. package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts +19 -0
  323. package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts.map +1 -0
  324. package/lib/_collection-api.d.ts +35 -0
  325. package/lib/_collection-api.d.ts.map +1 -0
  326. package/lib/_constants/widget-content.constants.d.ts +8 -0
  327. package/lib/_constants/widget-content.constants.d.ts.map +1 -0
  328. package/lib/_directives/tooltip.directive.d.ts +18 -0
  329. package/lib/_directives/tooltip.directive.d.ts.map +1 -0
  330. package/lib/_models/common.model.d.ts +4 -0
  331. package/lib/_models/common.model.d.ts.map +1 -0
  332. package/lib/_models/error.model.d.ts +6 -0
  333. package/lib/_models/error.model.d.ts.map +1 -0
  334. package/lib/_pipes/highlight.pipe.d.ts +11 -0
  335. package/lib/_pipes/highlight.pipe.d.ts.map +1 -0
  336. package/lib/_services/rating.service.d.ts +19 -0
  337. package/lib/_services/rating.service.d.ts.map +1 -0
  338. package/lib/_services/samuhik-charcha.service.d.ts +14 -0
  339. package/lib/_services/samuhik-charcha.service.d.ts.map +1 -0
  340. package/lib/_services/viewer-route-util.d.ts +9 -0
  341. package/lib/_services/viewer-route-util.d.ts.map +1 -0
  342. package/lib/_services/widget-content.model.d.ts +515 -0
  343. package/lib/_services/widget-content.model.d.ts.map +1 -0
  344. package/lib/_services/widget-content.service.d.ts +101 -0
  345. package/lib/_services/widget-content.service.d.ts.map +1 -0
  346. package/lib/_shared/translate-loader.factory.d.ts +8 -0
  347. package/lib/_shared/translate-loader.factory.d.ts.map +1 -0
  348. package/lib/app-toc-lib.module.d.ts +89 -0
  349. package/lib/app-toc-lib.module.d.ts.map +1 -0
  350. package/lib/collection.config.d.ts +160 -0
  351. package/lib/collection.config.d.ts.map +1 -0
  352. package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts +18 -0
  353. package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts.map +1 -0
  354. package/lib/components/app-toc-banner/app-toc-banner.component.d.ts +226 -0
  355. package/lib/components/app-toc-banner/app-toc-banner.component.d.ts.map +1 -0
  356. package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts +79 -0
  357. package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts.map +1 -0
  358. package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts +23 -0
  359. package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts.map +1 -0
  360. package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts +32 -0
  361. package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts.map +1 -0
  362. package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts +48 -0
  363. package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts.map +1 -0
  364. package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts +15 -0
  365. package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts.map +1 -0
  366. package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts +22 -0
  367. package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts.map +1 -0
  368. package/lib/components/app-toc-home/app-toc-home.component.d.ts +315 -0
  369. package/lib/components/app-toc-home/app-toc-home.component.d.ts.map +1 -0
  370. package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts +386 -0
  371. package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts.map +1 -0
  372. package/lib/components/app-toc-overview/app-toc-overview.component.d.ts +48 -0
  373. package/lib/components/app-toc-overview/app-toc-overview.component.d.ts.map +1 -0
  374. package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts +23 -0
  375. package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts.map +1 -0
  376. package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts +15 -0
  377. package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts.map +1 -0
  378. package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts +150 -0
  379. package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts.map +1 -0
  380. package/lib/components/completion-survey-form/completion-survey-form.component.d.ts +43 -0
  381. package/lib/components/completion-survey-form/completion-survey-form.component.d.ts.map +1 -0
  382. package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts +28 -0
  383. package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts.map +1 -0
  384. package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts +16 -0
  385. package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts.map +1 -0
  386. package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts +196 -0
  387. package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts.map +1 -0
  388. package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts +45 -0
  389. package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts.map +1 -0
  390. package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts +55 -0
  391. package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts.map +1 -0
  392. package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts +19 -0
  393. package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts.map +1 -0
  394. package/lib/components/public-survey-form/public-survey-form.component.d.ts +44 -0
  395. package/lib/components/public-survey-form/public-survey-form.component.d.ts.map +1 -0
  396. package/lib/components/survey-form-question/survey-form-question.component.d.ts +21 -0
  397. package/lib/components/survey-form-question/survey-form-question.component.d.ts.map +1 -0
  398. package/lib/components/survey-form-section/survey-form-section.component.d.ts +14 -0
  399. package/lib/components/survey-form-section/survey-form-section.component.d.ts.map +1 -0
  400. package/lib/models/app-toc-analytics.model.d.ts +153 -0
  401. package/lib/models/app-toc-analytics.model.d.ts.map +1 -0
  402. package/lib/models/app-toc.model.d.ts +85 -0
  403. package/lib/models/app-toc.model.d.ts.map +1 -0
  404. package/lib/models/auto-complete.model.d.ts +28 -0
  405. package/lib/models/auto-complete.model.d.ts.map +1 -0
  406. package/lib/models/card-content.model.d.ts +20 -0
  407. package/lib/models/card-content.model.d.ts.map +1 -0
  408. package/lib/models/content-strip-with-tabs.model.d.ts +45 -0
  409. package/lib/models/content-strip-with-tabs.model.d.ts.map +1 -0
  410. package/lib/models/discussion-forum.model.d.ts +41 -0
  411. package/lib/models/discussion-forum.model.d.ts.map +1 -0
  412. package/lib/models/goal.model.d.ts +23 -0
  413. package/lib/models/goal.model.d.ts.map +1 -0
  414. package/lib/models/meta-tag.model.d.ts +7 -0
  415. package/lib/models/meta-tag.model.d.ts.map +1 -0
  416. package/lib/models/playlist.model.d.ts +24 -0
  417. package/lib/models/playlist.model.d.ts.map +1 -0
  418. package/lib/models/profile-revamp.model.d.ts +15 -0
  419. package/lib/models/profile-revamp.model.d.ts.map +1 -0
  420. package/lib/models/rating.model.d.ts +18 -0
  421. package/lib/models/rating.model.d.ts.map +1 -0
  422. package/lib/models/user-profile.model.d.ts +38 -0
  423. package/lib/models/user-profile.model.d.ts.map +1 -0
  424. package/lib/resolvers/app-toc-cios-resolver.service.d.ts +13 -0
  425. package/lib/resolvers/app-toc-cios-resolver.service.d.ts.map +1 -0
  426. package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts +13 -0
  427. package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts.map +1 -0
  428. package/lib/resolvers/app-toc-content-read-resolver.service.d.ts +17 -0
  429. package/lib/resolvers/app-toc-content-read-resolver.service.d.ts.map +1 -0
  430. package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts +13 -0
  431. package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts.map +1 -0
  432. package/lib/resolvers/app-toc-resolver.service.d.ts +17 -0
  433. package/lib/resolvers/app-toc-resolver.service.d.ts.map +1 -0
  434. package/lib/resolvers/config-resolver.service.d.ts +12 -0
  435. package/lib/resolvers/config-resolver.service.d.ts.map +1 -0
  436. package/lib/resolvers/profile-resolver.service.d.ts +12 -0
  437. package/lib/resolvers/profile-resolver.service.d.ts.map +1 -0
  438. package/lib/resolvers/restricted-features-resolver.service.d.ts +12 -0
  439. package/lib/resolvers/restricted-features-resolver.service.d.ts.map +1 -0
  440. package/lib/routes/app-toc-home/app-toc-home.component.d.ts +20 -0
  441. package/lib/routes/app-toc-home/app-toc-home.component.d.ts.map +1 -0
  442. package/lib/routes/app-toc-home/app-toc-home.directive.d.ts +9 -0
  443. package/lib/routes/app-toc-home/app-toc-home.directive.d.ts.map +1 -0
  444. package/lib/routes/app-toc-home/app-toc-home.service.d.ts +9 -0
  445. package/lib/routes/app-toc-home/app-toc-home.service.d.ts.map +1 -0
  446. package/lib/services/access-control.service.d.ts +30 -0
  447. package/lib/services/access-control.service.d.ts.map +1 -0
  448. package/lib/services/action.service.d.ts +10 -0
  449. package/lib/services/action.service.d.ts.map +1 -0
  450. package/lib/services/app-toc-v2.service.d.ts +8 -0
  451. package/lib/services/app-toc-v2.service.d.ts.map +1 -0
  452. package/lib/services/app-toc.service.d.ts +131 -0
  453. package/lib/services/app-toc.service.d.ts.map +1 -0
  454. package/lib/services/certificate.service.d.ts +43 -0
  455. package/lib/services/certificate.service.d.ts.map +1 -0
  456. package/lib/services/discuss-utils.service.d.ts +34 -0
  457. package/lib/services/discuss-utils.service.d.ts.map +1 -0
  458. package/lib/services/editor.service.d.ts +18 -0
  459. package/lib/services/editor.service.d.ts.map +1 -0
  460. package/lib/services/load-check.service.d.ts +9 -0
  461. package/lib/services/load-check.service.d.ts.map +1 -0
  462. package/lib/services/loader.service.d.ts +17 -0
  463. package/lib/services/loader.service.d.ts.map +1 -0
  464. package/lib/services/mobile-apps.service.d.ts +39 -0
  465. package/lib/services/mobile-apps.service.d.ts.map +1 -0
  466. package/lib/services/netcore.service.d.ts +34 -0
  467. package/lib/services/netcore.service.d.ts.map +1 -0
  468. package/lib/services/nps-grid.service.d.ts +16 -0
  469. package/lib/services/nps-grid.service.d.ts.map +1 -0
  470. package/lib/services/otp.service.d.ts +21 -0
  471. package/lib/services/otp.service.d.ts.map +1 -0
  472. package/lib/services/profile-v2.service.d.ts +21 -0
  473. package/lib/services/profile-v2.service.d.ts.map +1 -0
  474. package/lib/services/reset-ratings.service.d.ts +9 -0
  475. package/lib/services/reset-ratings.service.d.ts.map +1 -0
  476. package/lib/services/resource-download-helper.service.d.ts +30 -0
  477. package/lib/services/resource-download-helper.service.d.ts.map +1 -0
  478. package/lib/services/timer.service.d.ts +10 -0
  479. package/lib/services/timer.service.d.ts.map +1 -0
  480. package/lib/services/title-tag.service.d.ts +22 -0
  481. package/lib/services/title-tag.service.d.ts.map +1 -0
  482. package/lib/services/user-profile.service.d.ts +25 -0
  483. package/lib/services/user-profile.service.d.ts.map +1 -0
  484. package/lib/services/viewer-data.service.d.ts +59 -0
  485. package/lib/services/viewer-data.service.d.ts.map +1 -0
  486. package/lib/services/viewer-util.service.d.ts +63 -0
  487. package/lib/services/viewer-util.service.d.ts.map +1 -0
  488. package/lib/share-toc/share-toc/share-toc.component.d.ts +57 -0
  489. package/lib/share-toc/share-toc/share-toc.component.d.ts.map +1 -0
  490. package/lib/share-toc/share-toc.module.d.ts +33 -0
  491. package/lib/share-toc/share-toc.module.d.ts.map +1 -0
  492. package/package.json +36 -0
  493. package/public-api.d.ts +44 -0
  494. package/public-api.d.ts.map +1 -0
  495. package/sunbird-cb-toc.d.ts.map +1 -0
@@ -0,0 +1,192 @@
1
+ import { animate, style, transition, trigger } from '@angular/animations';
2
+ import { Component, HostBinding, Inject, Input } from '@angular/core';
3
+ import { WidgetBaseComponent } from '@sunbird-cb/resolver-v2';
4
+ // tslint:disable
5
+ import _ from 'lodash';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./btn-page-back.service";
8
+ import * as i2 from "@angular/router";
9
+ import * as i3 from "@sunbird-cb/utils-v2";
10
+ import * as i4 from "../../services/discuss-utils.service";
11
+ import * as i5 from "@ngx-translate/core";
12
+ import * as i6 from "@angular/common";
13
+ import * as i7 from "@angular/material/icon";
14
+ export class BtnPageBackComponent extends WidgetBaseComponent {
15
+ constructor(btnBackSvc, router, configSvc, discussUtilitySvc, translate, langtranslations, environment) {
16
+ super();
17
+ this.btnBackSvc = btnBackSvc;
18
+ this.router = router;
19
+ this.configSvc = configSvc;
20
+ this.discussUtilitySvc = discussUtilitySvc;
21
+ this.translate = translate;
22
+ this.langtranslations = langtranslations;
23
+ this.environment = environment;
24
+ this.widgetData = { url: 'none', titles: [] };
25
+ this.presentUrl = '';
26
+ this.id = 'nav-back';
27
+ this.visible = false;
28
+ this.enablePeopleSearch = true;
29
+ this.loggedinUser = !!(this.configSvc.userProfile && this.configSvc.userProfile.userId);
30
+ if (localStorage.getItem('websiteLanguage')) {
31
+ this.translate.setDefaultLang('en');
32
+ const lang = localStorage.getItem('websiteLanguage');
33
+ this.translate.use(lang);
34
+ }
35
+ }
36
+ ngOnInit() {
37
+ // environment is injected via constructor
38
+ const instanceConfig = this.configSvc.instanceConfig;
39
+ if (instanceConfig) {
40
+ this.hubsList = (instanceConfig.hubs || []).filter(i => i.active);
41
+ }
42
+ this.presentUrl = this.router.url;
43
+ if (this.configSvc.userProfile) {
44
+ this.loggedinUser = true;
45
+ }
46
+ else {
47
+ this.loggedinUser = false;
48
+ }
49
+ }
50
+ get isUserLoggegIn() {
51
+ return this.loggedinUser;
52
+ }
53
+ get backUrl() {
54
+ if (this.presentUrl === '/page/explore') {
55
+ return {
56
+ queryParams: undefined,
57
+ routeUrl: '/page/home',
58
+ };
59
+ }
60
+ if (this.widgetData.url === 'home') {
61
+ return {
62
+ queryParams: undefined,
63
+ routeUrl: '/page/home',
64
+ };
65
+ }
66
+ if (this.widgetData.url === 'doubleBack') {
67
+ return {
68
+ fragment: this.btnBackSvc.getLastUrl(2).fragment,
69
+ queryParams: this.btnBackSvc.getLastUrl(2).queryParams,
70
+ routeUrl: this.btnBackSvc.getLastUrl(2).route,
71
+ };
72
+ }
73
+ if (this.widgetData.url === 'back') {
74
+ return {
75
+ fragment: this.btnBackSvc.getLastUrl().fragment,
76
+ queryParams: this.btnBackSvc.getLastUrl().queryParams,
77
+ routeUrl: this.btnBackSvc.getLastUrl().route,
78
+ };
79
+ }
80
+ if (this.widgetData.url !== 'back' && this.widgetData.url !== 'doubleBack') {
81
+ this.btnBackSvc.checkUrl(this.widgetData.url);
82
+ }
83
+ return {
84
+ queryParams: undefined,
85
+ routeUrl: this.widgetData.url ? this.widgetData.url : '/app/home',
86
+ };
87
+ }
88
+ navigate() {
89
+ const config = {
90
+ menuOptions: [
91
+ {
92
+ route: 'all-discussions',
93
+ label: 'All discussions',
94
+ enable: true,
95
+ },
96
+ {
97
+ route: 'categories',
98
+ label: 'Categories',
99
+ enable: true,
100
+ },
101
+ {
102
+ route: 'tags',
103
+ label: 'Tags',
104
+ enable: true,
105
+ },
106
+ {
107
+ route: 'my-discussion',
108
+ label: 'Your discussion',
109
+ enable: true,
110
+ },
111
+ ],
112
+ userName: (this.configSvc.nodebbUserProfile && this.configSvc.nodebbUserProfile.username) || '',
113
+ context: {
114
+ id: 1,
115
+ },
116
+ categories: { result: [] },
117
+ routerSlug: '/app',
118
+ headerOptions: false,
119
+ bannerOption: true,
120
+ };
121
+ this.discussUtilitySvc.setDiscussionConfig(config);
122
+ localStorage.setItem('home', JSON.stringify(config));
123
+ this.router.navigate(['/app/discussion-forum'], { queryParams: { page: 'home' }, queryParamsHandling: 'merge' });
124
+ }
125
+ // get titleUrl(): { fragment?: string; routeUrl: string; queryParams: any } {
126
+ // return {
127
+ // queryParams: undefined,
128
+ // routeUrl: this.widgetData.url ? this.widgetData.url : '/app/home',
129
+ // }
130
+ // }
131
+ toggleVisibility() {
132
+ this.visible = !this.visible;
133
+ }
134
+ hasRole(role) {
135
+ let returnValue = false;
136
+ role.forEach(v => {
137
+ const rolesList = (this.configSvc.userRoles || new Set());
138
+ if (rolesList.has(v.toLowerCase()) || rolesList.has(v.toUpperCase())) {
139
+ returnValue = true;
140
+ }
141
+ });
142
+ return returnValue;
143
+ }
144
+ isAllowed(portalName) {
145
+ const roles = _.get(_.first(_.filter(this.environment.portals, { id: portalName })), 'roles') || [];
146
+ if (!(roles && roles.length)) {
147
+ return true;
148
+ }
149
+ const value = this.hasRole(roles);
150
+ return value;
151
+ }
152
+ translateLabels(label, type, subtype) {
153
+ return this.langtranslations.translateLabel(label, type, subtype);
154
+ }
155
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackComponent, deps: [{ token: i1.BtnPageBackService }, { token: i2.Router }, { token: i3.ConfigurationsService }, { token: i4.DiscussUtilsService }, { token: i5.TranslateService }, { token: i3.MultilingualTranslationsService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Component }); }
156
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BtnPageBackComponent, selector: "ws-widget-btn-page-back", inputs: { widgetData: "widgetData" }, host: { properties: { "id": "this.id" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"base-layout\" role=\"navigation\" id=\"back-nav\" aria-label=\"navigation\">\n <div class=\"container-balanced\">\n <div class=\"flex flex-1 flex-column\">\n <div class=\"flex flex-1 flex-column\">\n <div class=\"flex flex-wrap end-line-elipses items-center margin-top-l margin-bottom-l\" role=\"menubar\">\n <!-- disabled for explore btn disabled on contact us page refresh-->\n <a class=\"flex cursor-pointer simple-hubs-link \" href=\"/\" role=\"menuitem\" accesskey=\"H\" i18n-aria-label i18n-aria-title>\n <span class=\"margin-auto margin-0 mat-subheading-2 {{widgetData?.textClass? widgetData?.textClass: 'ws-mat-default-text'}}\">{{ 'btnpageback.home' | translate }}</span>\n </a>\n\n <ng-container *ngIf=\"widgetData.titles && widgetData.titles.length>0\">\n <div class=\"flex\" *ngFor=\"let title of widgetData.titles\">\n <mat-icon class=\"m-auto mr-2\">keyboard_arrow_right</mat-icon>\n <span *ngIf=\"title.title && title.url && title.url === 'none'\" i18n-aria-label i18n-aria-title\n i18n=\"page title: {{title.title}}\" class=\"flex m-auto\">\n <mat-icon class=\"icon-margin m-t-b ws-mat-black60-text\" *ngIf=\"title.icon\">{{ title.icon }}</mat-icon>\n <span class=\"m-t-b mat-body-2 font-bold-imp ws-mat-black60-text\">{{ title.title }}</span>\n </span>\n\n <a class=\"flex m-auto ws-mat-default-text\" i18n-aria-label *ngIf=\"title.url && title.url !== 'none'\"\n [routerLink]=\"title.url\" [queryParams]=\"title.queryParams\" role=\"menuitem\" i18n-aria-label\n [attr.accesskey]=\"title.accessKey\">\n <mat-icon class=\"ws-mat-default-text icon-margin\" *ngIf=\"title.icon\">{{title.icon}}</mat-icon>\n <span class=\"m-t-b mat-body-2 font-bold-imp {{title?.textClass}}\" *ngIf=\"!title?.disableTranslate\"> {{ translateLabels(title?.title, 'btnpageback') }}</span>\n <span class=\"m-t-b mat-body-2 font-bold-imp {{title?.textClass}}\" *ngIf=\"title?.disableTranslate\"> {{ title?.title }}</span>\n </a>\n </div>\n \n </ng-container>\n </div>\n <div class=\"flex flex-col\" *ngIf=\"visible\" [@enterAnimation]=\"visible\">\n <div class=\"flex flex-1 margin-xs\">\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.hubs' | translate }}</h4>\n </div>\n <div class=\"flex flex-1\">\n <h3 class=\"mat-error text-center\" *ngIf=\"hubsList.length === 0\" >\n {{ 'btnpageback.noHubs' | translate }}\n </h3>\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\" role=\"menubar\">\n <ng-container *ngFor=\"let hubsObj of hubsList\" [ngTemplateOutlet]=\"userIndividualNew\" [ngTemplateOutletContext]=\"{ hubs: hubsObj }\">\n </ng-container>\n </div>\n </div>\n\n <div class=\"flex flex-1 margin-xs\">\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.doMore' | translate }}</h4>\n </div>\n <div class=\"flex flex-1\">\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\">\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/knowledge-resource/all']\" >\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">menu_book</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\">{{ 'btnpageback.knowledgeResources' | translate }}</div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.knowledgeResourcesSubtitle' | translate }}</div>\n </div>\n </a>\n\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/my-dashboard']\" >\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon aria-hidden=\"false\" class=\"mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-label=\"bar_chart\" aria-labelledby=\"bar_chart\"> bar_chart </mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.dashboard' | translate }} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.dashboardSubtitle' | translate }}</div>\n </div>\n </a>\n\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/profile/settings']\" >\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">settings</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.settings' | translate }} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.settingSubtitle' | translate }}</div>\n </div>\n </a>\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/setup']\">\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\"\n aria-hidden=\"true\">thumb_up</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.interests' | translate }} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.interestsSubtitle' | translate }}</div>\n </div>\n </a>\n </div>\n </div>\n\n <div class=\"flex flex-1 margin-xs\">\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.quickLinks' | translate }}</h4>\n </div>\n <div class=\"flex flex-1\">\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\">\n <ng-container *ngFor=\"let portal of environment.portals | orderBy: 'sr'\">\n <ng-container *ngIf=\"portal.isPublic || isAllowed(portal.id)\">\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [attr.href]=\"portal.uriPath\" target=\"_blank\">\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\"m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">{{ portal.icon || 'info' }}</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{portal.name}} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{portal.desc}}</div>\n </div>\n </a>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n\n<ng-template #userIndividualNew let-hubs=\"hubs\">\n <ng-container *ngIf=\"hubs.hubname == 'Discuss'\">\n <a class=\"flex flex-wrap mb-4\" (click)=\"navigate()\" role=\"menuitem\" i18n-aria-label>\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\"mat-icon1\">{{hubs.icon}}</mat-icon>\n </div>\n <div [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\" class=\"width-expand padding-left-xs\">\n <div class=\"margin-0 mat-subheading-2\">\n {{ translateLabels(hubs.hubname, 'common') }}\n </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{hubs.desc}}</div>\n </div>\n </a>\n </ng-container>\n\n <ng-container *ngIf=\"hubs.hubname != 'Discuss'\">\n <a class=\"flex flex-wrap mb-4\" [routerLink]=\"(hubs.path)\" role=\"menuitem\" i18n-aria-label>\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\"mat-icon1\">{{hubs.icon}}</mat-icon>\n </div>\n <div [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\" class=\"width-expand padding-left-xs\">\n <div class=\"margin-0 mat-subheading-2\">\n {{ translateLabels(hubs.hubname, 'common') }}\n </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{hubs.desc}}</div>\n </div>\n </a>\n </ng-container>\n</ng-template>\n", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container-balanced{max-width:1230px;max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container-balanced{height:auto}.show{display:flex!important;visibility:visible;opacity:1;transition-delay:1s;transition:visibility 0s linear .33s,opacity .33s linear}.hide{display:none!important;visibility:hidden;opacity:0;transition:visibility 0s linear .33s,opacity .33s linear}.base-layout{box-shadow:none!important;border:none!important;padding:0;margin:auto}.fix-ww{margin-left:auto;margin-right:auto;max-width:1202px;display:flex;flex:1}a[target=_blank]{color:#000!important}h4.nav_sub_heading{margin:0!important}.next-b{width:12px;height:16px;transform:matrix(0,1,-1,0,0,0);background:#00a9f4 0% 0% no-repeat padding-box}.icon-margin{margin:0 .5rem 0 .1rem}.m-t-b{margin-top:auto;margin-bottom:auto}.home-icon{margin:auto 20px}.main-back{font-size:32px;margin-bottom:10px;margin-right:12px}.mat-y-icon{color:#9acd32}.mat-y-icon svg path{fill:red}.top-fixed-menu{position:fixed;width:100%;z-index:99}.simple-hubs-link{margin:auto 12px}.center{text-align:center;padding-top:12px}mat-form-field{width:100%}mat-grid-list{margin-top:40px;margin-bottom:20px}.margin-0{margin:0!important}.icon{width:71px;height:64px;border-radius:4px;text-align:center}.icon .mat-icon{padding:18px 16px}.base-header{margin-left:5px}.mat-grid-tile{display:inline;position:absolute}.mat-icon1{padding:16px;color:#347bb6!important}.font-bold-imp{font-weight:700!important}a.disabled{pointer-events:none;cursor:default}.end-line-elipses{-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.OrderByPipe, name: "orderBy" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], animations: [
157
+ trigger('enterAnimation', [
158
+ transition(':enter', [
159
+ style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 0 }),
160
+ animate('300ms', style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 1 })),
161
+ ]),
162
+ transition(':leave', [
163
+ style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 1 }),
164
+ animate('300ms', style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 0 })),
165
+ ]),
166
+ ]),
167
+ ] }); }
168
+ }
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackComponent, decorators: [{
170
+ type: Component,
171
+ args: [{ selector: 'ws-widget-btn-page-back', animations: [
172
+ trigger('enterAnimation', [
173
+ transition(':enter', [
174
+ style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 0 }),
175
+ animate('300ms', style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 1 })),
176
+ ]),
177
+ transition(':leave', [
178
+ style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 1 }),
179
+ animate('300ms', style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 0 })),
180
+ ]),
181
+ ]),
182
+ ], template: "<div class=\"base-layout\" role=\"navigation\" id=\"back-nav\" aria-label=\"navigation\">\n <div class=\"container-balanced\">\n <div class=\"flex flex-1 flex-column\">\n <div class=\"flex flex-1 flex-column\">\n <div class=\"flex flex-wrap end-line-elipses items-center margin-top-l margin-bottom-l\" role=\"menubar\">\n <!-- disabled for explore btn disabled on contact us page refresh-->\n <a class=\"flex cursor-pointer simple-hubs-link \" href=\"/\" role=\"menuitem\" accesskey=\"H\" i18n-aria-label i18n-aria-title>\n <span class=\"margin-auto margin-0 mat-subheading-2 {{widgetData?.textClass? widgetData?.textClass: 'ws-mat-default-text'}}\">{{ 'btnpageback.home' | translate }}</span>\n </a>\n\n <ng-container *ngIf=\"widgetData.titles && widgetData.titles.length>0\">\n <div class=\"flex\" *ngFor=\"let title of widgetData.titles\">\n <mat-icon class=\"m-auto mr-2\">keyboard_arrow_right</mat-icon>\n <span *ngIf=\"title.title && title.url && title.url === 'none'\" i18n-aria-label i18n-aria-title\n i18n=\"page title: {{title.title}}\" class=\"flex m-auto\">\n <mat-icon class=\"icon-margin m-t-b ws-mat-black60-text\" *ngIf=\"title.icon\">{{ title.icon }}</mat-icon>\n <span class=\"m-t-b mat-body-2 font-bold-imp ws-mat-black60-text\">{{ title.title }}</span>\n </span>\n\n <a class=\"flex m-auto ws-mat-default-text\" i18n-aria-label *ngIf=\"title.url && title.url !== 'none'\"\n [routerLink]=\"title.url\" [queryParams]=\"title.queryParams\" role=\"menuitem\" i18n-aria-label\n [attr.accesskey]=\"title.accessKey\">\n <mat-icon class=\"ws-mat-default-text icon-margin\" *ngIf=\"title.icon\">{{title.icon}}</mat-icon>\n <span class=\"m-t-b mat-body-2 font-bold-imp {{title?.textClass}}\" *ngIf=\"!title?.disableTranslate\"> {{ translateLabels(title?.title, 'btnpageback') }}</span>\n <span class=\"m-t-b mat-body-2 font-bold-imp {{title?.textClass}}\" *ngIf=\"title?.disableTranslate\"> {{ title?.title }}</span>\n </a>\n </div>\n \n </ng-container>\n </div>\n <div class=\"flex flex-col\" *ngIf=\"visible\" [@enterAnimation]=\"visible\">\n <div class=\"flex flex-1 margin-xs\">\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.hubs' | translate }}</h4>\n </div>\n <div class=\"flex flex-1\">\n <h3 class=\"mat-error text-center\" *ngIf=\"hubsList.length === 0\" >\n {{ 'btnpageback.noHubs' | translate }}\n </h3>\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\" role=\"menubar\">\n <ng-container *ngFor=\"let hubsObj of hubsList\" [ngTemplateOutlet]=\"userIndividualNew\" [ngTemplateOutletContext]=\"{ hubs: hubsObj }\">\n </ng-container>\n </div>\n </div>\n\n <div class=\"flex flex-1 margin-xs\">\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.doMore' | translate }}</h4>\n </div>\n <div class=\"flex flex-1\">\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\">\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/knowledge-resource/all']\" >\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">menu_book</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\">{{ 'btnpageback.knowledgeResources' | translate }}</div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.knowledgeResourcesSubtitle' | translate }}</div>\n </div>\n </a>\n\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/my-dashboard']\" >\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon aria-hidden=\"false\" class=\"mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-label=\"bar_chart\" aria-labelledby=\"bar_chart\"> bar_chart </mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.dashboard' | translate }} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.dashboardSubtitle' | translate }}</div>\n </div>\n </a>\n\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/profile/settings']\" >\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">settings</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.settings' | translate }} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.settingSubtitle' | translate }}</div>\n </div>\n </a>\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/setup']\">\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\"\n aria-hidden=\"true\">thumb_up</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.interests' | translate }} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.interestsSubtitle' | translate }}</div>\n </div>\n </a>\n </div>\n </div>\n\n <div class=\"flex flex-1 margin-xs\">\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.quickLinks' | translate }}</h4>\n </div>\n <div class=\"flex flex-1\">\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\">\n <ng-container *ngFor=\"let portal of environment.portals | orderBy: 'sr'\">\n <ng-container *ngIf=\"portal.isPublic || isAllowed(portal.id)\">\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [attr.href]=\"portal.uriPath\" target=\"_blank\">\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\"m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">{{ portal.icon || 'info' }}</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{portal.name}} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{portal.desc}}</div>\n </div>\n </a>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n\n<ng-template #userIndividualNew let-hubs=\"hubs\">\n <ng-container *ngIf=\"hubs.hubname == 'Discuss'\">\n <a class=\"flex flex-wrap mb-4\" (click)=\"navigate()\" role=\"menuitem\" i18n-aria-label>\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\"mat-icon1\">{{hubs.icon}}</mat-icon>\n </div>\n <div [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\" class=\"width-expand padding-left-xs\">\n <div class=\"margin-0 mat-subheading-2\">\n {{ translateLabels(hubs.hubname, 'common') }}\n </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{hubs.desc}}</div>\n </div>\n </a>\n </ng-container>\n\n <ng-container *ngIf=\"hubs.hubname != 'Discuss'\">\n <a class=\"flex flex-wrap mb-4\" [routerLink]=\"(hubs.path)\" role=\"menuitem\" i18n-aria-label>\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\"mat-icon1\">{{hubs.icon}}</mat-icon>\n </div>\n <div [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\" class=\"width-expand padding-left-xs\">\n <div class=\"margin-0 mat-subheading-2\">\n {{ translateLabels(hubs.hubname, 'common') }}\n </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{hubs.desc}}</div>\n </div>\n </a>\n </ng-container>\n</ng-template>\n", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container-balanced{max-width:1230px;max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container-balanced{height:auto}.show{display:flex!important;visibility:visible;opacity:1;transition-delay:1s;transition:visibility 0s linear .33s,opacity .33s linear}.hide{display:none!important;visibility:hidden;opacity:0;transition:visibility 0s linear .33s,opacity .33s linear}.base-layout{box-shadow:none!important;border:none!important;padding:0;margin:auto}.fix-ww{margin-left:auto;margin-right:auto;max-width:1202px;display:flex;flex:1}a[target=_blank]{color:#000!important}h4.nav_sub_heading{margin:0!important}.next-b{width:12px;height:16px;transform:matrix(0,1,-1,0,0,0);background:#00a9f4 0% 0% no-repeat padding-box}.icon-margin{margin:0 .5rem 0 .1rem}.m-t-b{margin-top:auto;margin-bottom:auto}.home-icon{margin:auto 20px}.main-back{font-size:32px;margin-bottom:10px;margin-right:12px}.mat-y-icon{color:#9acd32}.mat-y-icon svg path{fill:red}.top-fixed-menu{position:fixed;width:100%;z-index:99}.simple-hubs-link{margin:auto 12px}.center{text-align:center;padding-top:12px}mat-form-field{width:100%}mat-grid-list{margin-top:40px;margin-bottom:20px}.margin-0{margin:0!important}.icon{width:71px;height:64px;border-radius:4px;text-align:center}.icon .mat-icon{padding:18px 16px}.base-header{margin-left:5px}.mat-grid-tile{display:inline;position:absolute}.mat-icon1{padding:16px;color:#347bb6!important}.font-bold-imp{font-weight:700!important}a.disabled{pointer-events:none;cursor:default}.end-line-elipses{-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%}\n"] }]
183
+ }], ctorParameters: function () { return [{ type: i1.BtnPageBackService }, { type: i2.Router }, { type: i3.ConfigurationsService }, { type: i4.DiscussUtilsService }, { type: i5.TranslateService }, { type: i3.MultilingualTranslationsService }, { type: undefined, decorators: [{
184
+ type: Inject,
185
+ args: ['environment']
186
+ }] }]; }, propDecorators: { widgetData: [{
187
+ type: Input
188
+ }], id: [{
189
+ type: HostBinding,
190
+ args: ['id']
191
+ }] } });
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLXBhZ2UtYmFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vYnRuLXBhZ2UtYmFjay9idG4tcGFnZS1iYWNrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9fY29sbGVjdGlvbi9idG4tcGFnZS1iYWNrL2J0bi1wYWdlLWJhY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFBO0FBRXZGLE9BQU8sRUFBb0IsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUsvRSxpQkFBaUI7QUFDakIsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFBOzs7Ozs7Ozs7QUF5QnRCLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUFVM0QsWUFDVSxVQUE4QixFQUMvQixNQUFjLEVBQ2IsU0FBZ0MsRUFDaEMsaUJBQXNDLEVBQ3RDLFNBQTJCLEVBQzNCLGdCQUFpRCxFQUMxQixXQUFnQjtRQUUvQyxLQUFLLEVBQUUsQ0FBQTtRQVJDLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDYixjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBQ3RDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUM7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7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K0JBQ0UseUJBQXlCLGNBR3ZCO3dCQUNWLE9BQU8sQ0FDTCxnQkFBZ0IsRUFBRTs0QkFDbEIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLGtEQUFrRCxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDckYsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsa0RBQWtELEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NkJBQ3hHLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLGtEQUFrRCxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDckYsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsa0RBQWtELEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NkJBQ3hHLENBQUM7eUJBQ0gsQ0FDQTtxQkFDRjs7MEJBbUJFLE1BQU07MkJBQUMsYUFBYTs0Q0FmZCxVQUFVO3NCQUFsQixLQUFLO2dCQUdDLEVBQUU7c0JBRFIsV0FBVzt1QkFBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJ1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBOc1dpZGdldFJlc29sdmVyLCBXaWRnZXRCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHN1bmJpcmQtY2IvcmVzb2x2ZXItdjInXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UsIE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2UsIE5zSW5zdGFuY2VDb25maWcgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12MidcblxuaW1wb3J0IHsgQnRuUGFnZUJhY2tTZXJ2aWNlIH0gZnJvbSAnLi9idG4tcGFnZS1iYWNrLnNlcnZpY2UnXG5pbXBvcnQgeyBEaXNjdXNzVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGlzY3Vzcy11dGlscy5zZXJ2aWNlJ1xuLy8gdHNsaW50OmRpc2FibGVcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuLy8gdHNsaW50OmVuYWJsZVxuLy8gdHNsaW50OmVuYWJsZVxuXG50eXBlIFRVcmwgPSB1bmRlZmluZWQgfCAnbm9uZScgfCAnYmFjaycgfCBzdHJpbmdcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dzLXdpZGdldC1idG4tcGFnZS1iYWNrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J0bi1wYWdlLWJhY2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idG4tcGFnZS1iYWNrLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFxuICAgICAgJ2VudGVyQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7IHRyYW5zaXRpb246ICd2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjIzcywgb3BhY2l0eSAwLjMzcyBsaW5lYXInLCBvcGFjaXR5OiAwIH0pLFxuICAgICAgICBhbmltYXRlKCczMDBtcycsIHN0eWxlKHsgdHJhbnNpdGlvbjogJ3Zpc2liaWxpdHkgMHMgbGluZWFyIDAuMjNzLCBvcGFjaXR5IDAuMzNzIGxpbmVhcicsIG9wYWNpdHk6IDEgfSkpLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNpdGlvbjogJ3Zpc2liaWxpdHkgMHMgbGluZWFyIDAuMjNzLCBvcGFjaXR5IDAuMzNzIGxpbmVhcicsIG9wYWNpdHk6IDEgfSksXG4gICAgICAgIGFuaW1hdGUoJzMwMG1zJywgc3R5bGUoeyB0cmFuc2l0aW9uOiAndmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4yM3MsIG9wYWNpdHkgMC4zM3MgbGluZWFyJywgb3BhY2l0eTogMCB9KSksXG4gICAgICBdKSxcbiAgICBdXG4gICAgKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQnRuUGFnZUJhY2tDb21wb25lbnQgZXh0ZW5kcyBXaWRnZXRCYXNlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBOc1dpZGdldFJlc29sdmVyLklXaWRnZXREYXRhPHsgdXJsOiBUVXJsIH0+IHtcbiAgQElucHV0KCkgd2lkZ2V0RGF0YTogeyB1cmw6IFRVcmwsIHRpdGxlcz86IE5zV2lkZ2V0UmVzb2x2ZXIuSVRpdGxlW10sIHRleHRDbGFzcz86IHN0cmluZyB9ID0geyB1cmw6ICdub25lJywgdGl0bGVzOiBbXSB9XG4gIHByZXNlbnRVcmwgPSAnJ1xuICBASG9zdEJpbmRpbmcoJ2lkJylcbiAgcHVibGljIGlkID0gJ25hdi1iYWNrJ1xuICB2aXNpYmxlID0gZmFsc2VcbiAgZW5hYmxlUGVvcGxlU2VhcmNoID0gdHJ1ZVxuICBsb2dnZWRpblVzZXIgPSAhISh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VySWQpXG4gIGh1YnNMaXN0ITogTnNJbnN0YW5jZUNvbmZpZy5JSHVic1tdXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYnRuQmFja1N2YzogQnRuUGFnZUJhY2tTZXJ2aWNlLFxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlzY3Vzc1V0aWxpdHlTdmM6IERpc2N1c3NVdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYW5ndHJhbnNsYXRpb25zOiBNdWx0aWxpbmd1YWxUcmFuc2xhdGlvbnNTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKClcbiAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpKSB7XG4gICAgICB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZygnZW4nKVxuICAgICAgY29uc3QgbGFuZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3ZWJzaXRlTGFuZ3VhZ2UnKSFcbiAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIGVudmlyb25tZW50IGlzIGluamVjdGVkIHZpYSBjb25zdHJ1Y3RvclxuICAgIGNvbnN0IGluc3RhbmNlQ29uZmlnID0gdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWdcbiAgICBpZiAoaW5zdGFuY2VDb25maWcpIHtcbiAgICAgIHRoaXMuaHVic0xpc3QgPSAoaW5zdGFuY2VDb25maWcuaHVicyB8fCBbXSkuZmlsdGVyKGkgPT4gaS5hY3RpdmUpXG4gICAgfVxuICAgIHRoaXMucHJlc2VudFVybCA9IHRoaXMucm91dGVyLnVybFxuICAgIGlmICh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSkge1xuICAgICAgdGhpcy5sb2dnZWRpblVzZXIgPSB0cnVlXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VkaW5Vc2VyID0gZmFsc2VcbiAgICB9XG4gIH1cbiAgZ2V0IGlzVXNlckxvZ2dlZ0luKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvZ2dlZGluVXNlclxuICB9XG4gIGdldCBiYWNrVXJsKCk6IHsgZnJhZ21lbnQ/OiBzdHJpbmc7IHJvdXRlVXJsOiBzdHJpbmc7IHF1ZXJ5UGFyYW1zOiBhbnkgfSB7XG5cbiAgICBpZiAodGhpcy5wcmVzZW50VXJsID09PSAnL3BhZ2UvZXhwbG9yZScpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB1bmRlZmluZWQsXG4gICAgICAgIHJvdXRlVXJsOiAnL3BhZ2UvaG9tZScsXG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLndpZGdldERhdGEudXJsID09PSAnaG9tZScpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB1bmRlZmluZWQsXG4gICAgICAgIHJvdXRlVXJsOiAnL3BhZ2UvaG9tZScsXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMud2lkZ2V0RGF0YS51cmwgPT09ICdkb3VibGVCYWNrJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZnJhZ21lbnQ6IHRoaXMuYnRuQmFja1N2Yy5nZXRMYXN0VXJsKDIpLmZyYWdtZW50LFxuICAgICAgICBxdWVyeVBhcmFtczogdGhpcy5idG5CYWNrU3ZjLmdldExhc3RVcmwoMikucXVlcnlQYXJhbXMsXG4gICAgICAgIHJvdXRlVXJsOiB0aGlzLmJ0bkJhY2tTdmMuZ2V0TGFzdFVybCgyKS5yb3V0ZSxcbiAgICAgIH1cbiAgICB9IGlmICh0aGlzLndpZGdldERhdGEudXJsID09PSAnYmFjaycpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZyYWdtZW50OiB0aGlzLmJ0bkJhY2tTdmMuZ2V0TGFzdFVybCgpLmZyYWdtZW50LFxuICAgICAgICBxdWVyeVBhcmFtczogdGhpcy5idG5CYWNrU3ZjLmdldExhc3RVcmwoKS5xdWVyeVBhcmFtcyxcbiAgICAgICAgcm91dGVVcmw6IHRoaXMuYnRuQmFja1N2Yy5nZXRMYXN0VXJsKCkucm91dGUsXG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLndpZGdldERhdGEudXJsICE9PSAnYmFjaycgJiYgdGhpcy53aWRnZXREYXRhLnVybCAhPT0gJ2RvdWJsZUJhY2snKSB7XG5cbiAgICAgIHRoaXMuYnRuQmFja1N2Yy5jaGVja1VybCh0aGlzLndpZGdldERhdGEudXJsKVxuXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB1bmRlZmluZWQsXG4gICAgICByb3V0ZVVybDogdGhpcy53aWRnZXREYXRhLnVybCA/IHRoaXMud2lkZ2V0RGF0YS51cmwgOiAnL2FwcC9ob21lJyxcbiAgICB9XG4gIH1cblxuICBuYXZpZ2F0ZSgpIHtcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBtZW51T3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgcm91dGU6ICdhbGwtZGlzY3Vzc2lvbnMnLFxuICAgICAgICAgIGxhYmVsOiAnQWxsIGRpc2N1c3Npb25zJyxcbiAgICAgICAgICBlbmFibGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICByb3V0ZTogJ2NhdGVnb3JpZXMnLFxuICAgICAgICAgIGxhYmVsOiAnQ2F0ZWdvcmllcycsXG4gICAgICAgICAgZW5hYmxlOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcm91dGU6ICd0YWdzJyxcbiAgICAgICAgICBsYWJlbDogJ1RhZ3MnLFxuICAgICAgICAgIGVuYWJsZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHJvdXRlOiAnbXktZGlzY3Vzc2lvbicsXG4gICAgICAgICAgbGFiZWw6ICdZb3VyIGRpc2N1c3Npb24nLFxuICAgICAgICAgIGVuYWJsZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB1c2VyTmFtZTogKHRoaXMuY29uZmlnU3ZjLm5vZGViYlVzZXJQcm9maWxlICYmIHRoaXMuY29uZmlnU3ZjLm5vZGViYlVzZXJQcm9maWxlLnVzZXJuYW1lKSB8fCAnJyxcbiAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgaWQ6IDEsXG4gICAgICB9LFxuICAgICAgY2F0ZWdvcmllczogeyByZXN1bHQ6IFtdIH0sXG4gICAgICByb3V0ZXJTbHVnOiAnL2FwcCcsXG4gICAgICBoZWFkZXJPcHRpb25zOiBmYWxzZSxcbiAgICAgIGJhbm5lck9wdGlvbjogdHJ1ZSxcbiAgICB9XG4gICAgdGhpcy5kaXNjdXNzVXRpbGl0eVN2Yy5zZXREaXNjdXNzaW9uQ29uZmlnKGNvbmZpZylcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnaG9tZScsIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXBwL2Rpc2N1c3Npb24tZm9ydW0nXSwgeyBxdWVyeVBhcmFtczogeyBwYWdlOiAnaG9tZScgfSwgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyB9KVxuICB9XG5cbiAgLy8gZ2V0IHRpdGxlVXJsKCk6IHsgZnJhZ21lbnQ/OiBzdHJpbmc7IHJvdXRlVXJsOiBzdHJpbmc7IHF1ZXJ5UGFyYW1zOiBhbnkgfSB7XG4gIC8vICAgcmV0dXJuIHtcbiAgLy8gICAgIHF1ZXJ5UGFyYW1zOiB1bmRlZmluZWQsXG4gIC8vICAgICByb3V0ZVVybDogdGhpcy53aWRnZXREYXRhLnVybCA/IHRoaXMud2lkZ2V0RGF0YS51cmwgOiAnL2FwcC9ob21lJyxcbiAgLy8gICB9XG4gIC8vIH1cbiAgdG9nZ2xlVmlzaWJpbGl0eSgpIHtcbiAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlXG4gIH1cblxuICBoYXNSb2xlKHJvbGU6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgbGV0IHJldHVyblZhbHVlID0gZmFsc2VcbiAgICByb2xlLmZvckVhY2godiA9PiB7XG4gICAgICBjb25zdCByb2xlc0xpc3QgPSAodGhpcy5jb25maWdTdmMudXNlclJvbGVzIHx8IG5ldyBTZXQoKSlcbiAgICAgIGlmIChyb2xlc0xpc3QuaGFzKHYudG9Mb3dlckNhc2UoKSkgfHwgcm9sZXNMaXN0Lmhhcyh2LnRvVXBwZXJDYXNlKCkpKSB7XG4gICAgICAgIHJldHVyblZhbHVlID0gdHJ1ZVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJldHVyblZhbHVlXG4gIH1cblxuICBpc0FsbG93ZWQocG9ydGFsTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3Qgcm9sZXMgPSBfLmdldChfLmZpcnN0KF8uZmlsdGVyKHRoaXMuZW52aXJvbm1lbnQucG9ydGFscywgeyBpZDogcG9ydGFsTmFtZSB9KSksICdyb2xlcycpIHx8IFtdXG4gICAgaWYgKCEocm9sZXMgJiYgcm9sZXMubGVuZ3RoKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmhhc1JvbGUocm9sZXMpXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICB0cmFuc2xhdGVMYWJlbHMobGFiZWw6IHN0cmluZywgdHlwZTogYW55LCBzdWJ0eXBlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndHJhbnNsYXRpb25zLnRyYW5zbGF0ZUxhYmVsKGxhYmVsLCB0eXBlLCBzdWJ0eXBlKVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJiYXNlLWxheW91dFwiIHJvbGU9XCJuYXZpZ2F0aW9uXCIgaWQ9XCJiYWNrLW5hdlwiIGFyaWEtbGFiZWw9XCJuYXZpZ2F0aW9uXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItYmFsYW5jZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgZmxleC1jb2x1bW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBmbGV4LWNvbHVtblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZW5kLWxpbmUtZWxpcHNlcyBpdGVtcy1jZW50ZXIgbWFyZ2luLXRvcC1sIG1hcmdpbi1ib3R0b20tbFwiIHJvbGU9XCJtZW51YmFyXCI+XG4gICAgICAgICAgPCEtLSBkaXNhYmxlZCBmb3IgZXhwbG9yZSBidG4gZGlzYWJsZWQgb24gY29udGFjdCB1cyBwYWdlIHJlZnJlc2gtLT5cbiAgICAgICAgICA8YSBjbGFzcz1cImZsZXggY3Vyc29yLXBvaW50ZXIgc2ltcGxlLWh1YnMtbGluayBcIiBocmVmPVwiL1wiIHJvbGU9XCJtZW51aXRlbVwiIGFjY2Vzc2tleT1cIkhcIiBpMThuLWFyaWEtbGFiZWwgaTE4bi1hcmlhLXRpdGxlPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXJnaW4tYXV0byAgbWFyZ2luLTAgbWF0LXN1YmhlYWRpbmctMiB7e3dpZGdldERhdGE/LnRleHRDbGFzcz8gd2lkZ2V0RGF0YT8udGV4dENsYXNzOiAnd3MtbWF0LWRlZmF1bHQtdGV4dCd9fVwiPnt7ICdidG5wYWdlYmFjay5ob21lJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YS50aXRsZXMgJiYgd2lkZ2V0RGF0YS50aXRsZXMubGVuZ3RoPjBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCIgKm5nRm9yPVwibGV0IHRpdGxlIG9mIHdpZGdldERhdGEudGl0bGVzXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm0tYXV0byBtci0yXCI+a2V5Ym9hcmRfYXJyb3dfcmlnaHQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRpdGxlLnRpdGxlICYmIHRpdGxlLnVybCAmJiB0aXRsZS51cmwgPT09ICdub25lJ1wiIGkxOG4tYXJpYS1sYWJlbCBpMThuLWFyaWEtdGl0bGVcbiAgICAgICAgICAgICAgICBpMThuPVwicGFnZSB0aXRsZToge3t0aXRsZS50aXRsZX19XCIgY2xhc3M9XCJmbGV4IG0tYXV0b1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24tbWFyZ2luIG0tdC1iIHdzLW1hdC1ibGFjazYwLXRleHRcIiAqbmdJZj1cInRpdGxlLmljb25cIj57eyB0aXRsZS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tdC1iIG1hdC1ib2R5LTIgZm9udC1ib2xkLWltcCB3cy1tYXQtYmxhY2s2MC10ZXh0XCI+e3sgdGl0bGUudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICA8YSBjbGFzcz1cImZsZXggbS1hdXRvIHdzLW1hdC1kZWZhdWx0LXRleHRcIiBpMThuLWFyaWEtbGFiZWwgKm5nSWY9XCJ0aXRsZS51cmwgJiYgdGl0bGUudXJsICE9PSAnbm9uZSdcIlxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInRpdGxlLnVybFwiIFtxdWVyeVBhcmFtc109XCJ0aXRsZS5xdWVyeVBhcmFtc1wiIHJvbGU9XCJtZW51aXRlbVwiIGkxOG4tYXJpYS1sYWJlbFxuICAgICAgICAgICAgICAgIFthdHRyLmFjY2Vzc2tleV09XCJ0aXRsZS5hY2Nlc3NLZXlcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ3cy1tYXQtZGVmYXVsdC10ZXh0IGljb24tbWFyZ2luXCIgKm5nSWY9XCJ0aXRsZS5pY29uXCI+e3t0aXRsZS5pY29ufX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS10LWIgbWF0LWJvZHktMiBmb250LWJvbGQtaW1wIHt7dGl0bGU/LnRleHRDbGFzc319XCIgKm5nSWY9XCIhdGl0bGU/LmRpc2FibGVUcmFuc2xhdGVcIj4ge3sgdHJhbnNsYXRlTGFiZWxzKHRpdGxlPy50aXRsZSwgJ2J0bnBhZ2ViYWNrJykgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtLXQtYiBtYXQtYm9keS0yIGZvbnQtYm9sZC1pbXAge3t0aXRsZT8udGV4dENsYXNzfX1cIiAqbmdJZj1cInRpdGxlPy5kaXNhYmxlVHJhbnNsYXRlXCI+IHt7IHRpdGxlPy50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiICpuZ0lmPVwidmlzaWJsZVwiIFtAZW50ZXJBbmltYXRpb25dPVwidmlzaWJsZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBtYXJnaW4teHNcIj5cbiAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1hdC1oNCBuYXZfc3ViX2hlYWRpbmdcIj57eyAnYnRucGFnZWJhY2suaHVicycgfCB0cmFuc2xhdGUgfX08L2g0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMVwiPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwibWF0LWVycm9yIHRleHQtY2VudGVyXCIgKm5nSWY9XCJodWJzTGlzdC5sZW5ndGggPT09IDBcIiA+XG4gICAgICAgICAgICAgIHt7ICdidG5wYWdlYmFjay5ub0h1YnMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgbWFyZ2luLXhzIHNtOmdyaWQtY29scy0yIG1kOmdyaWQtY29scy0zIG1kOmdyaWQtY29scy00IGNvbC1nYXAtMlwiIHJvbGU9XCJtZW51YmFyXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGh1YnNPYmogb2YgaHVic0xpc3RcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJ1c2VySW5kaXZpZHVhbE5ld1wiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGh1YnM6IGh1YnNPYmogfVwiPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIG1hcmdpbi14c1wiPlxuICAgICAgICAgICAgPGg0IGNsYXNzPVwibWF0LWg0IG5hdl9zdWJfaGVhZGluZ1wiPnt7ICdidG5wYWdlYmFjay5kb01vcmUnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIG1hcmdpbi14cyBzbTpncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtMyBtZDpncmlkLWNvbHMtNCBjb2wtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBtYi00XCIgcm9sZT1cIm1lbnVpdGVtXCIgW3JvdXRlckxpbmtdPVwiWycvYXBwL2tub3dsZWRnZS1yZXNvdXJjZS9hbGwnXVwiID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiB3cy1tYXQtcHJpbWFyeS10YWdzXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIgbS1hdXRvIG1hdC1pY29uIG5vdHJhbnNsYXRlIG1hdGVyaWFsLWljb25zIG1hdC1pY29uLW5vLWNvbG9yXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPm1lbnVfYm9vazwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpZHRoLWV4cGFuZCBwYWRkaW5nLWxlZnQteHMgY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tMCBtYXQtc3ViaGVhZGluZy0yXCI+e3sgJ2J0bnBhZ2ViYWNrLmtub3dsZWRnZVJlc291cmNlcycgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtY2FwdGlvbiBjb2hvcnRzLWRlc2Mgd3MtbWF0LWJsYWNrNjAtdGV4dFwiPnt7ICdidG5wYWdlYmFjay5rbm93bGVkZ2VSZXNvdXJjZXNTdWJ0aXRsZScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgbWItNFwiIHJvbGU9XCJtZW51aXRlbVwiIFtyb3V0ZXJMaW5rXT1cIlsnL2FwcC9teS1kYXNoYm9hcmQnXVwiID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiB3cy1tYXQtcHJpbWFyeS10YWdzXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1oaWRkZW49XCJmYWxzZVwiIGNsYXNzPVwibWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3JcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cImJhcl9jaGFydFwiIGFyaWEtbGFiZWxsZWRieT1cImJhcl9jaGFydFwiPiBiYXJfY2hhcnQgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2lkdGgtZXhwYW5kIHBhZGRpbmctbGVmdC14cyBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmdpbi0wIG1hdC1zdWJoZWFkaW5nLTJcIj4ge3sgJ2J0bnBhZ2ViYWNrLmRhc2hib2FyZCcgfCB0cmFuc2xhdGUgfX0gPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWNhcHRpb24gY29ob3J0cy1kZXNjIHdzLW1hdC1ibGFjazYwLXRleHRcIj57eyAnYnRucGFnZWJhY2suZGFzaGJvYXJkU3VidGl0bGUnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICA8YSBjbGFzcz1cImZsZXggZmxleC13cmFwIG1iLTRcIiByb2xlPVwibWVudWl0ZW1cIiBbcm91dGVyTGlua109XCJbJy9hcHAvcHJvZmlsZS9zZXR0aW5ncyddXCIgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uIHdzLW1hdC1wcmltYXJ5LXRhZ3NcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiBtLWF1dG8gbWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3JcIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+c2V0dGluZ3M8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWR0aC1leHBhbmQgcGFkZGluZy1sZWZ0LXhzIGN1cnNvci1wb2ludGVyXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLTAgbWF0LXN1YmhlYWRpbmctMlwiPiB7eyAnYnRucGFnZWJhY2suc2V0dGluZ3MnIHwgdHJhbnNsYXRlIH19IDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1jYXB0aW9uIGNvaG9ydHMtZGVzYyB3cy1tYXQtYmxhY2s2MC10ZXh0XCI+e3sgJ2J0bnBhZ2ViYWNrLnNldHRpbmdTdWJ0aXRsZScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8YSBjbGFzcz1cImZsZXggZmxleC13cmFwIG1iLTRcIiByb2xlPVwibWVudWl0ZW1cIiBbcm91dGVyTGlua109XCJbJy9hcHAvc2V0dXAnXVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uIHdzLW1hdC1wcmltYXJ5LXRhZ3NcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiBtLWF1dG8gbWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3JcIiByb2xlPVwiaW1nXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+dGh1bWJfdXA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWR0aC1leHBhbmQgcGFkZGluZy1sZWZ0LXhzIGN1cnNvci1wb2ludGVyXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLTAgbWF0LXN1YmhlYWRpbmctMlwiPiB7eyAnYnRucGFnZWJhY2suaW50ZXJlc3RzJyB8IHRyYW5zbGF0ZSB9fSA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtY2FwdGlvbiBjb2hvcnRzLWRlc2Mgd3MtbWF0LWJsYWNrNjAtdGV4dFwiPnt7ICdidG5wYWdlYmFjay5pbnRlcmVzdHNTdWJ0aXRsZScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgbWFyZ2luLXhzXCI+XG4gICAgICAgICAgICA8aDQgY2xhc3M9XCJtYXQtaDQgbmF2X3N1Yl9oZWFkaW5nXCI+e3sgJ2J0bnBhZ2ViYWNrLnF1aWNrTGlua3MnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIG1hcmdpbi14cyBzbTpncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtMyBtZDpncmlkLWNvbHMtNCBjb2wtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcG9ydGFsIG9mIGVudmlyb25tZW50LnBvcnRhbHMgfCBvcmRlckJ5OiAnc3InXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvcnRhbC5pc1B1YmxpYyB8fCBpc0FsbG93ZWQocG9ydGFsLmlkKVwiPlxuICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBtYi00XCIgcm9sZT1cIm1lbnVpdGVtXCIgW2F0dHIuaHJlZl09XCJwb3J0YWwudXJpUGF0aFwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiB3cy1tYXQtcHJpbWFyeS10YWdzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibS1hdXRvIG1hdC1pY29uIG5vdHJhbnNsYXRlIG1hdGVyaWFsLWljb25zIG1hdC1pY29uLW5vLWNvbG9yXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt7IHBvcnRhbC5pY29uIHx8ICdpbmZvJyB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2lkdGgtZXhwYW5kIHBhZGRpbmctbGVmdC14cyBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tMCBtYXQtc3ViaGVhZGluZy0yXCI+IHt7cG9ydGFsLm5hbWV9fSA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWNhcHRpb24gY29ob3J0cy1kZXNjIHdzLW1hdC1ibGFjazYwLXRleHRcIj57e3BvcnRhbC5kZXNjfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cblxuPG5nLXRlbXBsYXRlICN1c2VySW5kaXZpZHVhbE5ldyBsZXQtaHVicz1cImh1YnNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImh1YnMuaHVibmFtZSA9PSAnRGlzY3VzcydcIj5cbiAgICA8YSBjbGFzcz1cImZsZXggZmxleC13cmFwIG1iLTRcIiAoY2xpY2spPVwibmF2aWdhdGUoKVwiIHJvbGU9XCJtZW51aXRlbVwiIGkxOG4tYXJpYS1sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uIHdzLW1hdC1wcmltYXJ5LXRhZ3NcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24xXCI+e3todWJzLmljb259fTwvbWF0LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydjdXJzb3ItcG9pbnRlcic6IGVuYWJsZVBlb3BsZVNlYXJjaH1cIiBjbGFzcz1cIndpZHRoLWV4cGFuZCBwYWRkaW5nLWxlZnQteHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmdpbi0wIG1hdC1zdWJoZWFkaW5nLTJcIj5cbiAgICAgICAgICB7eyB0cmFuc2xhdGVMYWJlbHMoaHVicy5odWJuYW1lLCAnY29tbW9uJykgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtY2FwdGlvbiBjb2hvcnRzLWRlc2Mgd3MtbWF0LWJsYWNrNjAtdGV4dFwiPnt7aHVicy5kZXNjfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImh1YnMuaHVibmFtZSAhPSAnRGlzY3VzcydcIj5cbiAgICA8YSBjbGFzcz1cImZsZXggZmxleC13cmFwIG1iLTRcIiBbcm91dGVyTGlua109XCIoaHVicy5wYXRoKVwiIHJvbGU9XCJtZW51aXRlbVwiIGkxOG4tYXJpYS1sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uIHdzLW1hdC1wcmltYXJ5LXRhZ3NcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24xXCI+e3todWJzLmljb259fTwvbWF0LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydjdXJzb3ItcG9pbnRlcic6IGVuYWJsZVBlb3BsZVNlYXJjaH1cIiBjbGFzcz1cIndpZHRoLWV4cGFuZCBwYWRkaW5nLWxlZnQteHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmdpbi0wIG1hdC1zdWJoZWFkaW5nLTJcIj5cbiAgICAgICAgICB7eyB0cmFuc2xhdGVMYWJlbHMoaHVicy5odWJuYW1lLCAnY29tbW9uJykgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtY2FwdGlvbiBjb2hvcnRzLWRlc2Mgd3MtbWF0LWJsYWNrNjAtdGV4dFwiPnt7aHVicy5kZXNjfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,44 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { RouterModule } from '@angular/router';
4
+ import { BtnPageBackComponent } from './btn-page-back.component';
5
+ import { PipeOrderByModule } from '@sunbird-cb/utils-v2';
6
+ import { TranslateModule } from '@ngx-translate/core';
7
+ import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';
8
+ import { MatLegacyCardModule as MatCardModule } from '@angular/material/legacy-card';
9
+ import { MatIconModule } from '@angular/material/icon';
10
+ import * as i0 from "@angular/core";
11
+ export class BtnPageBackModule {
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackModule, declarations: [BtnPageBackComponent], imports: [CommonModule,
14
+ RouterModule,
15
+ MatButtonModule,
16
+ MatIconModule,
17
+ MatCardModule,
18
+ PipeOrderByModule,
19
+ TranslateModule], exports: [BtnPageBackComponent] }); }
20
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackModule, imports: [CommonModule,
21
+ RouterModule,
22
+ MatButtonModule,
23
+ MatIconModule,
24
+ MatCardModule,
25
+ PipeOrderByModule,
26
+ TranslateModule] }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackModule, decorators: [{
29
+ type: NgModule,
30
+ args: [{
31
+ declarations: [BtnPageBackComponent],
32
+ imports: [
33
+ CommonModule,
34
+ RouterModule,
35
+ MatButtonModule,
36
+ MatIconModule,
37
+ MatCardModule,
38
+ PipeOrderByModule,
39
+ TranslateModule,
40
+ ],
41
+ exports: [BtnPageBackComponent]
42
+ }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLXBhZ2UtYmFjay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vYnRuLXBhZ2UtYmFjay9idG4tcGFnZS1iYWNrLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsSUFBSSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUMxRixPQUFPLEVBQUUsbUJBQW1CLElBQUksYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBOztBQWV0RCxNQUFNLE9BQU8saUJBQWlCOytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkFaWCxvQkFBb0IsYUFFL0IsWUFBWTtZQUNaLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsZUFBZSxhQUVULG9CQUFvQjtnSEFFckIsaUJBQWlCLFlBVnRCLFlBQVk7WUFDWixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7OzRGQUlWLGlCQUFpQjtrQkFiN0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGVBQWU7cUJBQ2xCO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IEJ0blBhZ2VCYWNrQ29tcG9uZW50IH0gZnJvbSAnLi9idG4tcGFnZS1iYWNrLmNvbXBvbmVudCdcbmltcG9ydCB7IFBpcGVPcmRlckJ5TW9kdWxlIH0gZnJvbSAnQHN1bmJpcmQtY2IvdXRpbHMtdjInXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTWF0TGVnYWN5QnV0dG9uTW9kdWxlIGFzIE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1idXR0b24nXG5pbXBvcnQgeyBNYXRMZWdhY3lDYXJkTW9kdWxlIGFzIE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktY2FyZCdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0J0blBhZ2VCYWNrQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdENhcmRNb2R1bGUsXG4gICAgICAgIFBpcGVPcmRlckJ5TW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbQnRuUGFnZUJhY2tDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEJ0blBhZ2VCYWNrTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,99 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { NavigationStart } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/router";
5
+ export class BtnPageBackService {
6
+ constructor(router) {
7
+ this.router = router;
8
+ this.previousRouteUrls = [];
9
+ this.routerSubscription = null;
10
+ }
11
+ initialize() {
12
+ if (this.routerSubscription) {
13
+ this.routerSubscription.unsubscribe();
14
+ }
15
+ this.routerSubscription = this.router.events.subscribe((event) => {
16
+ if (event instanceof NavigationStart) {
17
+ if (event.url === this.previousRouteUrls[this.previousRouteUrls.length - 1]) {
18
+ this.previousRouteUrls.pop();
19
+ }
20
+ else {
21
+ const lastStoredUrl = this.previousRouteUrls[this.previousRouteUrls.length - 1];
22
+ if (!lastStoredUrl || (lastStoredUrl && lastStoredUrl !== this.router.url)) {
23
+ this.previousRouteUrls.push(this.router.url);
24
+ }
25
+ if (this.widgetUrl === event.url) {
26
+ this.previousRouteUrls.pop();
27
+ }
28
+ }
29
+ }
30
+ });
31
+ }
32
+ getLastUrl(pageNumber = 1) {
33
+ let lastUrl = this.previousRouteUrls[this.previousRouteUrls.length - pageNumber];
34
+ let fragment;
35
+ if (!lastUrl) {
36
+ lastUrl = '/';
37
+ this.previousRouteUrls.push(lastUrl);
38
+ }
39
+ while (this.isUrlEncoded(lastUrl)) {
40
+ lastUrl = decodeURIComponent(lastUrl);
41
+ }
42
+ if (lastUrl.includes('#')) {
43
+ const urlFragmentParts = lastUrl.split('#');
44
+ lastUrl = urlFragmentParts[0];
45
+ fragment = urlFragmentParts[1];
46
+ }
47
+ if (lastUrl.includes('>')) {
48
+ const parentPath = lastUrl.split('>').slice(0, -1).join('>');
49
+ const childPath = lastUrl.split('>').slice(-1)[0];
50
+ lastUrl = `${parentPath}>${encodeURIComponent(childPath)}`;
51
+ }
52
+ return {
53
+ fragment,
54
+ route: lastUrl.split('?')[0],
55
+ queryParams: this.getQParams(lastUrl.split('?')[1]),
56
+ };
57
+ }
58
+ getQParams(qParamsUrl) {
59
+ let queryParamsUrl = qParamsUrl;
60
+ if (!queryParamsUrl || !queryParamsUrl.length) {
61
+ return undefined;
62
+ }
63
+ while (this.isUrlEncoded(queryParamsUrl)) {
64
+ queryParamsUrl = decodeURIComponent(queryParamsUrl);
65
+ }
66
+ const qParamsArr = queryParamsUrl.split('&');
67
+ let errorFlag = 0;
68
+ const qParams = qParamsArr
69
+ .reduce((acc, url) => {
70
+ const splitUrls = url.split('=');
71
+ if (splitUrls.length === 1) {
72
+ errorFlag = 1;
73
+ return acc;
74
+ }
75
+ acc[splitUrls[0]] = splitUrls[1];
76
+ return acc;
77
+ }, {});
78
+ if (errorFlag) {
79
+ return undefined;
80
+ }
81
+ return qParams;
82
+ }
83
+ isUrlEncoded(url) {
84
+ const receivedUrl = url || '';
85
+ return receivedUrl !== decodeURIComponent(receivedUrl);
86
+ }
87
+ checkUrl(url) {
88
+ this.widgetUrl = url;
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
91
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackService, providedIn: 'root' }); }
92
+ }
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackService, decorators: [{
94
+ type: Injectable,
95
+ args: [{
96
+ providedIn: 'root',
97
+ }]
98
+ }], ctorParameters: function () { return [{ type: i1.Router }]; } });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLXBhZ2UtYmFjay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL19jb2xsZWN0aW9uL2J0bi1wYWdlLWJhY2svYnRuLXBhZ2UtYmFjay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFBOzs7QUFNekQsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUNVLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBSGpCLHNCQUFpQixHQUFhLEVBQUUsQ0FBQTtRQUMvQix1QkFBa0IsR0FBd0IsSUFBSSxDQUFBO0lBR2xELENBQUM7SUFFRSxVQUFVO1FBRWYsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFFM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFBO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBRXBFLElBQUksS0FBSyxZQUFZLGVBQWUsRUFBRTtnQkFFcEMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUMzRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUE7aUJBQzdCO3FCQUFNO29CQUNMLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO29CQUMvRSxJQUFJLENBQUMsYUFBYSxJ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Q0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixTQUFTLEdBQUcsQ0FBQyxDQUFBO2dCQUNiLE9BQU8sR0FBRyxDQUFBO2FBQ1g7WUFDRCxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2hDLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQyxFQUNELEVBQUUsQ0FDTCxDQUFBO1FBQ0QsSUFBSSxTQUFTLEVBQUU7WUFDYixPQUFPLFNBQVMsQ0FBQTtTQUNqQjtRQUNELE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFFTyxZQUFZLENBQUMsR0FBVztRQUM5QixNQUFNLFdBQVcsR0FBRyxHQUFHLElBQUksRUFBRSxDQUFBO1FBQzdCLE9BQU8sV0FBVyxLQUFLLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFDRCxRQUFRLENBQUMsR0FBUTtRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFBO0lBQ3RCLENBQUM7K0dBdEdVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEJ0blBhZ2VCYWNrU2VydmljZSB7XG4gIHdpZGdldFVybCE6IHN0cmluZ1xuICBwdWJsaWMgcHJldmlvdXNSb3V0ZVVybHM6IHN0cmluZ1tdID0gW11cbiAgcHJpdmF0ZSByb3V0ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICkgeyB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKSB7XG5cbiAgICBpZiAodGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24pIHtcblxuICAgICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcblxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG5cbiAgICAgICAgaWYgKGV2ZW50LnVybCA9PT0gdGhpcy5wcmV2aW91c1JvdXRlVXJsc1t0aGlzLnByZXZpb3VzUm91dGVVcmxzLmxlbmd0aCAtIDFdKSB7XG4gICAgICAgICAgdGhpcy5wcmV2aW91c1JvdXRlVXJscy5wb3AoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGxhc3RTdG9yZWRVcmwgPSB0aGlzLnByZXZpb3VzUm91dGVVcmxzW3RoaXMucHJldmlvdXNSb3V0ZVVybHMubGVuZ3RoIC0gMV1cbiAgICAgICAgICBpZiAoIWxhc3RTdG9yZWRVcmwgfHwgKGxhc3RTdG9yZWRVcmwgJiYgbGFzdFN0b3JlZFVybCAhPT0gdGhpcy5yb3V0ZXIudXJsKSkge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1JvdXRlVXJscy5wdXNoKHRoaXMucm91dGVyLnVybClcblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLndpZGdldFVybCA9PT0gZXZlbnQudXJsKSB7XG5cbiAgICAgICAgICAgIHRoaXMucHJldmlvdXNSb3V0ZVVybHMucG9wKClcblxuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcblxuICB9XG5cbiAgZ2V0TGFzdFVybChwYWdlTnVtYmVyOiBudW1iZXIgPSAxKSB7XG5cbiAgICBsZXQgbGFzdFVybDogc3RyaW5nID0gdGhpcy5wcmV2aW91c1JvdXRlVXJsc1t0aGlzLnByZXZpb3VzUm91dGVVcmxzLmxlbmd0aCAtIHBhZ2VOdW1iZXJdXG4gICAgbGV0IGZyYWdtZW50XG4gICAgaWYgKCFsYXN0VXJsKSB7XG4gICAgICBsYXN0VXJsID0gJy8nXG4gICAgICB0aGlzLnByZXZpb3VzUm91dGVVcmxzLnB1c2gobGFzdFVybClcbiAgICB9XG4gICAgd2hpbGUgKHRoaXMuaXNVcmxFbmNvZGVkKGxhc3RVcmwpKSB7XG4gICAgICBsYXN0VXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KGxhc3RVcmwpXG4gICAgfVxuICAgIGlmIChsYXN0VXJsLmluY2x1ZGVzKCcjJykpIHtcbiAgICAgIGNvbnN0IHVybEZyYWdtZW50UGFydHMgPSBsYXN0VXJsLnNwbGl0KCcjJylcbiAgICAgIGxhc3RVcmwgPSB1cmxGcmFnbWVudFBhcnRzWzBdXG4gICAgICBmcmFnbWVudCA9IHVybEZyYWdtZW50UGFydHNbMV1cbiAgICB9XG4gICAgaWYgKGxhc3RVcmwuaW5jbHVkZXMoJz4nKSkge1xuICAgICAgY29uc3QgcGFyZW50UGF0aCA9IGxhc3RVcmwuc3BsaXQoJz4nKS5zbGljZSgwLCAtMSkuam9pbignPicpXG4gICAgICBjb25zdCBjaGlsZFBhdGggPSBsYXN0VXJsLnNwbGl0KCc+Jykuc2xpY2UoLTEpWzBdXG4gICAgICBsYXN0VXJsID0gYCR7cGFyZW50UGF0aH0+JHtlbmNvZGVVUklDb21wb25lbnQoY2hpbGRQYXRoKX1gXG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBmcmFnbWVudCxcbiAgICAgIHJvdXRlOiBsYXN0VXJsLnNwbGl0KCc/JylbMF0sXG4gICAgICBxdWVyeVBhcmFtczogdGhpcy5nZXRRUGFyYW1zKGxhc3RVcmwuc3BsaXQoJz8nKVsxXSksXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRRUGFyYW1zKHFQYXJhbXNVcmw6IHN0cmluZykge1xuICAgIGxldCBxdWVyeVBhcmFtc1VybCA9IHFQYXJhbXNVcmxcbiAgICBpZiAoIXF1ZXJ5UGFyYW1zVXJsIHx8ICFxdWVyeVBhcmFtc1VybC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gICAgd2hpbGUgKHRoaXMuaXNVcmxFbmNvZGVkKHF1ZXJ5UGFyYW1zVXJsKSkge1xuICAgICAgcXVlcnlQYXJhbXNVcmwgPSBkZWNvZGVVUklDb21wb25lbnQocXVlcnlQYXJhbXNVcmwpXG4gICAgfVxuICAgIGNvbnN0IHFQYXJhbXNBcnIgPSBxdWVyeVBhcmFtc1VybC5zcGxpdCgnJicpXG4gICAgbGV0IGVycm9yRmxhZyA9IDBcbiAgICBjb25zdCBxUGFyYW1zID0gcVBhcmFtc0FyclxuICAgICAgLnJlZHVjZShcbiAgICAgICAgKGFjYzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgdXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBjb25zdCBzcGxpdFVybHMgPSB1cmwuc3BsaXQoJz0nKVxuICAgICAgICAgIGlmIChzcGxpdFVybHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBlcnJvckZsYWcgPSAxXG4gICAgICAgICAgICByZXR1cm4gYWNjXG4gICAgICAgICAgfVxuICAgICAgICAgIGFjY1tzcGxpdFVybHNbMF1dID0gc3BsaXRVcmxzWzFdXG4gICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICB9LFxuICAgICAgICB7fSxcbiAgICApXG4gICAgaWYgKGVycm9yRmxhZykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgICByZXR1cm4gcVBhcmFtc1xuICB9XG5cbiAgcHJpdmF0ZSBpc1VybEVuY29kZWQodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCByZWNlaXZlZFVybCA9IHVybCB8fCAnJ1xuICAgIHJldHVybiByZWNlaXZlZFVybCAhPT0gZGVjb2RlVVJJQ29tcG9uZW50KHJlY2VpdmVkVXJsKVxuICB9XG4gIGNoZWNrVXJsKHVybDogYW55KSB7XG4gICAgdGhpcy53aWRnZXRVcmwgPSB1cmxcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,58 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../_services/rating.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/material/icon";
6
+ import * as i4 from "../_common/avatar-photo/avatar-photo.component";
7
+ import * as i5 from "@angular/material/legacy-card";
8
+ import * as i6 from "@sunbird-cb/utils-v2";
9
+ import * as i7 from "@ngx-translate/core";
10
+ export class CardRatingCommentComponent {
11
+ constructor(ratingService) {
12
+ this.ratingService = ratingService;
13
+ this.review = null;
14
+ this.showauthreply = false;
15
+ }
16
+ ngOnInit() {
17
+ if (this.review && this.review.review !== null) {
18
+ this.getAuthorReply(this.review);
19
+ }
20
+ }
21
+ getAuthorReply(review) {
22
+ this.authorReply = review.comment;
23
+ // const uID = review.userId ? review.userId : review.user_id
24
+ // const contentid = review.activityId ? review.activityId : this.contentid
25
+ // this.ratingService.getAuthorReply(contentid, uID).subscribe(
26
+ // (res: any) => {
27
+ // if (res.result.response && res.result.response.comment && res.result.response.comment !== null) {
28
+ // this.authorReply = res.result.response.comment
29
+ // }
30
+ // })
31
+ }
32
+ showAuthReply() {
33
+ this.showauthreply = !this.showauthreply;
34
+ }
35
+ getRatingIcon(ratingIndex, avg) {
36
+ return this.ratingService.getRatingIcon(ratingIndex, avg);
37
+ }
38
+ getRatingIconClass(ratingIndex, avg) {
39
+ return this.ratingService.getRatingIconClass(ratingIndex, avg);
40
+ }
41
+ getFullName(review) {
42
+ if (!review && !review.firstName) {
43
+ return '';
44
+ }
45
+ return `${review.firstName}`;
46
+ }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardRatingCommentComponent, deps: [{ token: i1.RatingService }], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardRatingCommentComponent, selector: "ws-widget-card-rating-comment", inputs: { review: "review", contentid: "contentid" }, ngImport: i0, template: "<mat-card class=\"comments-card margin-bottom-m position-relative mat-card\">\n <a href=\"javascript:void(0)\" role=\"button\">\n <mat-card-content>\n <div class=\"card_inner_content flex\">\n <div class=\"margin-right-m\">\n <ng-container *ngIf=\"review?.firstName\">\n <ws-widget-avatar-photo [name]=\"getFullName(review)\" [size]=\"'round-m'\"\n [photoUrl]=\"\"></ws-widget-avatar-photo>\n </ng-container>\n <ng-container *ngIf=\"!review?.firstName\">\n <ws-widget-avatar-photo [name]=\"review?.user_id\" [size]=\"'round-m'\"\n [photoUrl]=\"\"></ws-widget-avatar-photo>\n </ng-container>\n </div>\n\n <div class=\"flex-col align-left\">\n <div class=\"name margin-bottom-xs\">\n <ng-container *ngIf=\"review?.firstName\">\n {{getFullName(review)}}\n </ng-container>\n <ng-container *ngIf=\"!review?.firstName\">\n {{review.user_id}}\n </ng-container>\n </div>\n <div class=\"flex items-center \">\n <span class=\"margin-right-xs ws-mat-orange-text mat-body-1\"> {{review.rating}} </span>\n <mat-icon\n class=\"comments-rating mr-1 mat-icon material-icons ws-mat-black16-text\"\n [ngClass]=\"{'ws-mat-orange-text': getRatingIconClass(rating, review.rating )}\"\n *ngFor=\"let rating of [1, 2, 3, 4, 5]\">\n {{ getRatingIcon(rating, review.rating) }}</mat-icon>\n <!-- <span >from</span> -->\n <span *ngIf=\"review?.date\" class=\"margin-left-s ws-mat-black60-text mat-body-1\"> {{review.date | pipeRelativeTime}}\n </span>\n <span *ngIf=\"review?.updatedon\" class=\"margin-left-s ws-mat-black60-text mat-body-1\"> {{review.updatedon | pipeRelativeTime}}\n </span>\n </div>\n <div class=\"margin-top-m mat-body-1 break-all\">\n {{review.review}}\n </div>\n <div *ngIf=\"review?.comment\" class=\"margin-top-m\">\n <a class=\"custom-link\" (click)=\"showAuthReply()\">{{ 'cardratingcommet.viewReply' | translate }}</a>\n <div class=\"margin-top-m mat-body-1 break-all\" *ngIf=\"showauthreply\">\n {{review?.comment}}\n </div>\n </div>\n </div>\n </div>\n </mat-card-content>\n </a>\n</mat-card>", styles: [".comments-card{padding:24px 16px}.comments-card .comments-rating{height:16px;width:16px;font-size:16px}.comments-card .name{font:600 16px/21px Lato}.blue-border{border:2px solid #00A9F4!important}.mat-stroked-button{line-height:24px;color:#00a9f4!important;font-size:12px!important;padding:0 10px!important}.custom-link{font:600 14px/21px Lato!important;color:#0074b6!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.AvatarPhotoComponent, selector: "ws-widget-avatar-photo", inputs: ["datalen", "photoUrl", "name", "size", "randomColor", "initials", "showBadge"] }, { kind: "component", type: i5.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i5.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "pipe", type: i6.PipeRelativeTimePipe, name: "pipeRelativeTime" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardRatingCommentComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ selector: 'ws-widget-card-rating-comment', template: "<mat-card class=\"comments-card margin-bottom-m position-relative mat-card\">\n <a href=\"javascript:void(0)\" role=\"button\">\n <mat-card-content>\n <div class=\"card_inner_content flex\">\n <div class=\"margin-right-m\">\n <ng-container *ngIf=\"review?.firstName\">\n <ws-widget-avatar-photo [name]=\"getFullName(review)\" [size]=\"'round-m'\"\n [photoUrl]=\"\"></ws-widget-avatar-photo>\n </ng-container>\n <ng-container *ngIf=\"!review?.firstName\">\n <ws-widget-avatar-photo [name]=\"review?.user_id\" [size]=\"'round-m'\"\n [photoUrl]=\"\"></ws-widget-avatar-photo>\n </ng-container>\n </div>\n\n <div class=\"flex-col align-left\">\n <div class=\"name margin-bottom-xs\">\n <ng-container *ngIf=\"review?.firstName\">\n {{getFullName(review)}}\n </ng-container>\n <ng-container *ngIf=\"!review?.firstName\">\n {{review.user_id}}\n </ng-container>\n </div>\n <div class=\"flex items-center \">\n <span class=\"margin-right-xs ws-mat-orange-text mat-body-1\"> {{review.rating}} </span>\n <mat-icon\n class=\"comments-rating mr-1 mat-icon material-icons ws-mat-black16-text\"\n [ngClass]=\"{'ws-mat-orange-text': getRatingIconClass(rating, review.rating )}\"\n *ngFor=\"let rating of [1, 2, 3, 4, 5]\">\n {{ getRatingIcon(rating, review.rating) }}</mat-icon>\n <!-- <span >from</span> -->\n <span *ngIf=\"review?.date\" class=\"margin-left-s ws-mat-black60-text mat-body-1\"> {{review.date | pipeRelativeTime}}\n </span>\n <span *ngIf=\"review?.updatedon\" class=\"margin-left-s ws-mat-black60-text mat-body-1\"> {{review.updatedon | pipeRelativeTime}}\n </span>\n </div>\n <div class=\"margin-top-m mat-body-1 break-all\">\n {{review.review}}\n </div>\n <div *ngIf=\"review?.comment\" class=\"margin-top-m\">\n <a class=\"custom-link\" (click)=\"showAuthReply()\">{{ 'cardratingcommet.viewReply' | translate }}</a>\n <div class=\"margin-top-m mat-body-1 break-all\" *ngIf=\"showauthreply\">\n {{review?.comment}}\n </div>\n </div>\n </div>\n </div>\n </mat-card-content>\n </a>\n</mat-card>", styles: [".comments-card{padding:24px 16px}.comments-card .comments-rating{height:16px;width:16px;font-size:16px}.comments-card .name{font:600 16px/21px Lato}.blue-border{border:2px solid #00A9F4!important}.mat-stroked-button{line-height:24px;color:#00a9f4!important;font-size:12px!important;padding:0 10px!important}.custom-link{font:600 14px/21px Lato!important;color:#0074b6!important}\n"] }]
53
+ }], ctorParameters: function () { return [{ type: i1.RatingService }]; }, propDecorators: { review: [{
54
+ type: Input
55
+ }], contentid: [{
56
+ type: Input
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1yYXRpbmctY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vY2FyZC1yYXRpbmctY29tbWVudC9jYXJkLXJhdGluZy1jb21tZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9fY29sbGVjdGlvbi9jYXJkLXJhdGluZy1jb21tZW50L2NhcmQtcmF0aW5nLWNvbW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7Ozs7Ozs7OztBQVF4RCxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDLFlBQ1UsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFMN0IsV0FBTSxHQUFlLElBQUksQ0FBQTtRQUdsQyxrQkFBYSxHQUFHLEtBQUssQ0FBQTtJQUdqQixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7U0FDakM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQVc7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFBO1FBQ2pDLGlFQUFpRTtRQUNqRSwyRUFBMkU7UUFDM0UsK0RBQStEO1FBQy9ELHNCQUFzQjtRQUN0QiwwR0FBMEc7UUFDMUcseURBQXlEO1FBQ3pELFVBQVU7UUFDVixLQUFLO0lBQ1AsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsYUFBYSxDQUFDLFdBQW1CLEVBQUUsR0FBVztRQUM1QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsV0FBbUIsRUFBRSxHQUFXO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDaEUsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFXO1FBQ3JCLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQzlCLE9BQU8sRUFBRSxDQUFBO1NBQ1o7UUFDRCxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQzlCLENBQUM7K0dBNUNVLDBCQUEwQjttR0FBMUIsMEJBQTBCLDJIQ1J2QyxvNUZBa0RXOzs0RkQxQ0UsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLCtCQUErQjtvR0FLaEMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUmF0aW5nU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9yYXRpbmcuc2VydmljZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3Mtd2lkZ2V0LWNhcmQtcmF0aW5nLWNvbW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1yYXRpbmctY29tbWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhcmQtcmF0aW5nLWNvbW1lbnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZFJhdGluZ0NvbW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSByZXZpZXc6IGFueSB8IG51bGwgPSBudWxsXG4gIEBJbnB1dCgpIGNvbnRlbnRpZDogYW55XG4gIGF1dGhvclJlcGx5OiBhbnlcbiAgc2hvd2F1dGhyZXBseSA9IGZhbHNlXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmF0aW5nU2VydmljZTogUmF0aW5nU2VydmljZSxcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5yZXZpZXcgJiYgdGhpcy5yZXZpZXcucmV2aWV3ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLmdldEF1dGhvclJlcGx5KHRoaXMucmV2aWV3KVxuICAgIH1cbiAgfVxuXG4gIGdldEF1dGhvclJlcGx5KHJldmlldzogYW55KSB7XG4gICAgdGhpcy5hdXRob3JSZXBseSA9IHJldmlldy5jb21tZW50XG4gICAgLy8gY29uc3QgdUlEID0gIHJldmlldy51c2VySWQgID8gIHJldmlldy51c2VySWQgOiAgcmV2aWV3LnVzZXJfaWRcbiAgICAvLyBjb25zdCBjb250ZW50aWQgPSByZXZpZXcuYWN0aXZpdHlJZCA/IHJldmlldy5hY3Rpdml0eUlkIDogdGhpcy5jb250ZW50aWRcbiAgICAvLyB0aGlzLnJhdGluZ1NlcnZpY2UuZ2V0QXV0aG9yUmVwbHkoY29udGVudGlkLCB1SUQpLnN1YnNjcmliZShcbiAgICAvLyAgICAgKHJlczogYW55KSA9PiB7XG4gICAgLy8gICAgICAgaWYgKHJlcy5yZXN1bHQucmVzcG9uc2UgJiYgcmVzLnJlc3VsdC5yZXNwb25zZS5jb21tZW50ICYmIHJlcy5yZXN1bHQucmVzcG9uc2UuY29tbWVudCAhPT0gbnVsbCkge1xuICAgIC8vICAgICAgICAgdGhpcy5hdXRob3JSZXBseSA9IHJlcy5yZXN1bHQucmVzcG9uc2UuY29tbWVudFxuICAgIC8vICAgICAgIH1cbiAgICAvLyB9KVxuICB9XG5cbiAgc2hvd0F1dGhSZXBseSgpIHtcbiAgICB0aGlzLnNob3dhdXRocmVwbHkgPSAhdGhpcy5zaG93YXV0aHJlcGx5XG4gIH1cblxuICBnZXRSYXRpbmdJY29uKHJhdGluZ0luZGV4OiBudW1iZXIsIGF2ZzogbnVtYmVyKTogJ3N0YXInIHwgJ3N0YXJfYm9yZGVyJyB8ICdzdGFyX2hhbGYnIHtcbiAgICByZXR1cm4gdGhpcy5yYXRpbmdTZXJ2aWNlLmdldFJhdGluZ0ljb24ocmF0aW5nSW5kZXgsIGF2ZylcbiAgfVxuXG4gIGdldFJhdGluZ0ljb25DbGFzcyhyYXRpbmdJbmRleDogbnVtYmVyLCBhdmc6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJhdGluZ1NlcnZpY2UuZ2V0UmF0aW5nSWNvbkNsYXNzKHJhdGluZ0luZGV4LCBhdmcpXG4gIH1cblxuICBnZXRGdWxsTmFtZShyZXZpZXc6IGFueSkge1xuICAgIGlmICghcmV2aWV3ICYmICFyZXZpZXcuZmlyc3ROYW1lKSB7XG4gICAgICAgIHJldHVybiAnJ1xuICAgIH1cbiAgICByZXR1cm4gYCR7cmV2aWV3LmZpcnN0TmFtZX1gXG4gIH1cblxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwiY29tbWVudHMtY2FyZCBtYXJnaW4tYm90dG9tLW0gcG9zaXRpb24tcmVsYXRpdmUgbWF0LWNhcmRcIj5cbiAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgcm9sZT1cImJ1dHRvblwiPlxuICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkX2lubmVyX2NvbnRlbnQgZmxleFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tcmlnaHQtbVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmV2aWV3Py5maXJzdE5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx3cy13aWRnZXQtYXZhdGFyLXBob3RvIFtuYW1lXT1cImdldEZ1bGxOYW1lKHJldmlldylcIiBbc2l6ZV09XCIncm91bmQtbSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwaG90b1VybF09XCJcIj48L3dzLXdpZGdldC1hdmF0YXItcGhvdG8+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJldmlldz8uZmlyc3ROYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8d3Mtd2lkZ2V0LWF2YXRhci1waG90byBbbmFtZV09XCJyZXZpZXc/LnVzZXJfaWRcIiBbc2l6ZV09XCIncm91bmQtbSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwaG90b1VybF09XCJcIj48L3dzLXdpZGdldC1hdmF0YXItcGhvdG8+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtY29sIGFsaWduLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgbWFyZ2luLWJvdHRvbS14c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJldmlldz8uZmlyc3ROYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRGdWxsTmFtZShyZXZpZXcpfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZXZpZXc/LmZpcnN0TmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmV2aWV3LnVzZXJfaWR9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hcmdpbi1yaWdodC14cyB3cy1tYXQtb3JhbmdlLXRleHQgbWF0LWJvZHktMVwiPiB7e3Jldmlldy5yYXRpbmd9fSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbW1lbnRzLXJhdGluZyBtci0xIG1hdC1pY29uIG1hdGVyaWFsLWljb25zIHdzLW1hdC1ibGFjazE2LXRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnd3MtbWF0LW9yYW5nZS10ZXh0JzogZ2V0UmF0aW5nSWNvbkNsYXNzKHJhdGluZywgcmV2aWV3LnJhdGluZyApfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHJhdGluZyBvZiBbMSwgMiwgMywgNCwgNV1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRSYXRpbmdJY29uKHJhdGluZywgcmV2aWV3LnJhdGluZykgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAgPHNwYW4gPmZyb208L3NwYW4+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJyZXZpZXc/LmRhdGVcIiBjbGFzcz1cIm1hcmdpbi1sZWZ0LXMgIHdzLW1hdC1ibGFjazYwLXRleHQgbWF0LWJvZHktMVwiPiB7e3Jldmlldy5kYXRlIHwgcGlwZVJlbGF0aXZlVGltZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInJldmlldz8udXBkYXRlZG9uXCIgY2xhc3M9XCJtYXJnaW4tbGVmdC1zICB3cy1tYXQtYmxhY2s2MC10ZXh0IG1hdC1ib2R5LTFcIj4ge3tyZXZpZXcudXBkYXRlZG9uIHwgcGlwZVJlbGF0aXZlVGltZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLXRvcC1tIG1hdC1ib2R5LTEgYnJlYWstYWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3Jldmlldy5yZXZpZXd9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJldmlldz8uY29tbWVudFwiIGNsYXNzPVwibWFyZ2luLXRvcC1tXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImN1c3RvbS1saW5rXCIgKGNsaWNrKT1cInNob3dBdXRoUmVwbHkoKVwiPnt7ICdjYXJkcmF0aW5nY29tbWV0LnZpZXdSZXBseScgfCB0cmFuc2xhdGUgfX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLXRvcC1tIG1hdC1ib2R5LTEgYnJlYWstYWxsXCIgKm5nSWY9XCJzaG93YXV0aHJlcGx5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tyZXZpZXc/LmNvbW1lbnR9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICA8L2E+XG48L21hdC1jYXJkPiJdfQ==