@sunbird-cb/utils 1.0.18 → 1.0.19-ang-13-16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sunbird-cb-utils.umd.js +2395 -3477
- package/bundles/sunbird-cb-utils.umd.js.map +1 -1
- package/esm2015/lib/components/image-crop/image-crop.component.js +38 -67
- package/esm2015/lib/components/image-crop/image-crop.module.js +52 -21
- package/esm2015/lib/constants/features.enum.js +555 -555
- package/esm2015/lib/constants/instances.enum.js +5 -5
- package/esm2015/lib/constants/misc.constants.js +2 -1
- package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +34 -34
- package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +17 -10
- package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +20 -18
- package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +17 -10
- package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +18 -24
- package/esm2015/lib/directives/image-responsive/image-responsive.module.js +17 -10
- package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +17 -23
- package/esm2015/lib/directives/in-view-port/in-view-port.module.js +17 -10
- package/esm2015/lib/directives/navigation/navigation.directive.js +22 -18
- package/esm2015/lib/directives/navigation/navigation.module.js +17 -10
- package/esm2015/lib/directives/permission/permission.directive.js +10 -7
- package/esm2015/lib/directives/permission/permission.module.js +17 -10
- package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
- package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +33 -32
- package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +29 -14
- package/esm2015/lib/helpers/logout/logout.component.js +18 -27
- package/esm2015/lib/helpers/logout/logout.module.js +25 -13
- package/esm2015/lib/models/contentRating.model.js +2 -12
- package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +13 -8
- package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +10 -12
- package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +17 -10
- package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +10 -6
- package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +17 -10
- package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +10 -17
- package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +17 -10
- package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +10 -6
- package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +17 -10
- package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +12 -8
- package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +17 -10
- package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +14 -10
- package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +17 -10
- package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +10 -6
- package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +17 -10
- package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +10 -6
- package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +17 -10
- package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +13 -9
- package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +17 -10
- package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +10 -12
- package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +17 -10
- package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +10 -9
- package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +17 -10
- package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +10 -6
- package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +17 -10
- package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +10 -6
- package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +17 -10
- package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +11 -13
- package/esm2015/lib/resolvers/explore-detail.resolver.js +19 -32
- package/esm2015/lib/resolvers/marketing-offering.resolve.js +14 -19
- package/esm2015/lib/resolvers/page.constant.js +1 -1
- package/esm2015/lib/resolvers/page.model.js +2 -47
- package/esm2015/lib/resolvers/page.resolver.js +22 -30
- package/esm2015/lib/resolvers/resolver.model.js +2 -6
- package/esm2015/lib/services/auth-keycloak.service.js +14 -202
- package/esm2015/lib/services/auth-microsoft.service.js +16 -28
- package/esm2015/lib/services/card-content.model.js +1 -22
- package/esm2015/lib/services/configurations.model.js +2 -498
- package/esm2015/lib/services/configurations.service.js +9 -55
- package/esm2015/lib/services/content-strip-multiple.model.js +2 -75
- package/esm2015/lib/services/event.model.js +1 -109
- package/esm2015/lib/services/event.service.js +14 -27
- package/esm2015/lib/services/logger.service.js +12 -22
- package/esm2015/lib/services/ms-office.model.js +2 -8
- package/esm2015/lib/services/subapplication-respond.service.js +15 -170
- package/esm2015/lib/services/telemetry.service.js +58 -73
- package/esm2015/lib/services/user-preference.model.js +2 -38
- package/esm2015/lib/services/user-preference.service.js +18 -26
- package/esm2015/lib/services/utility.service.js +17 -40
- package/esm2015/lib/services/value.service.js +12 -18
- package/esm2015/lib/services/widget-content.model.js +1 -236
- package/esm2015/lib/services/widget-content.service.js +22 -32
- package/esm2015/lib/services/widget-resolver.model.js +2 -57
- package/esm2015/lib/services/widget-search.model.js +2 -126
- package/esm2015/public-api.js +74 -68
- package/esm2015/sunbird-cb-utils.js +2 -8
- package/fesm2015/sunbird-cb-utils.js +1845 -3142
- package/fesm2015/sunbird-cb-utils.js.map +1 -1
- package/lib/components/image-crop/image-crop.component.d.ts +4 -0
- package/lib/components/image-crop/image-crop.component.d.ts.map +1 -0
- package/lib/components/image-crop/image-crop.module.d.ts +15 -0
- package/lib/components/image-crop/image-crop.module.d.ts.map +1 -0
- package/lib/constants/features.enum.d.ts +1 -0
- package/lib/constants/features.enum.d.ts.map +1 -0
- package/lib/constants/instances.enum.d.ts +1 -0
- package/lib/constants/instances.enum.d.ts.map +1 -0
- package/lib/constants/misc.constants.d.ts +1 -0
- package/lib/constants/misc.constants.d.ts.map +1 -0
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +7 -3
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts.map +1 -0
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts +7 -0
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts.map +1 -0
- package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +4 -0
- package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts.map +1 -0
- package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts +7 -0
- package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts.map +1 -0
- package/lib/directives/image-responsive/image-responsive.directive.d.ts +4 -0
- package/lib/directives/image-responsive/image-responsive.directive.d.ts.map +1 -0
- package/lib/directives/image-responsive/image-responsive.module.d.ts +7 -0
- package/lib/directives/image-responsive/image-responsive.module.d.ts.map +1 -0
- package/lib/directives/in-view-port/in-view-port.directive.d.ts +4 -0
- package/lib/directives/in-view-port/in-view-port.directive.d.ts.map +1 -0
- package/lib/directives/in-view-port/in-view-port.module.d.ts +7 -0
- package/lib/directives/in-view-port/in-view-port.module.d.ts.map +1 -0
- package/lib/directives/navigation/navigation.directive.d.ts +4 -0
- package/lib/directives/navigation/navigation.directive.d.ts.map +1 -0
- package/lib/directives/navigation/navigation.module.d.ts +7 -0
- package/lib/directives/navigation/navigation.module.d.ts.map +1 -0
- package/lib/directives/permission/permission.directive.d.ts +4 -0
- package/lib/directives/permission/permission.directive.d.ts.map +1 -0
- package/lib/directives/permission/permission.module.d.ts +7 -0
- package/lib/directives/permission/permission.module.d.ts.map +1 -0
- package/lib/helpers/functions/getStringifiedQueryParams.d.ts +1 -0
- package/lib/helpers/functions/getStringifiedQueryParams.d.ts.map +1 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +4 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts.map +1 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +10 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts.map +1 -0
- package/lib/helpers/logout/logout.component.d.ts +6 -2
- package/lib/helpers/logout/logout.component.d.ts.map +1 -0
- package/lib/helpers/logout/logout.module.d.ts +9 -0
- package/lib/helpers/logout/logout.module.d.ts.map +1 -0
- package/lib/models/contentRating.model.d.ts +1 -0
- package/lib/models/contentRating.model.d.ts.map +1 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts +7 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts.map +1 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +4 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts +7 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts.map +1 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +4 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts +7 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts.map +1 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +4 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +7 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts.map +1 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +4 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-filter/pipe-filter.module.d.ts +7 -0
- package/lib/pipes/pipe-filter/pipe-filter.module.d.ts.map +1 -0
- package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +4 -0
- package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts +7 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts.map +1 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +4 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts +7 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts.map +1 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +4 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts +7 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts.map +1 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +4 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts +7 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts.map +1 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +4 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts +7 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts.map +1 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +4 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts +7 -0
- package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts.map +1 -0
- package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +8 -4
- package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts +7 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts.map +1 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +4 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts +7 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts.map +1 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +4 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts +7 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts.map +1 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +4 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts.map +1 -0
- package/lib/resolvers/explore-detail.resolver.d.ts +4 -0
- package/lib/resolvers/explore-detail.resolver.d.ts.map +1 -0
- package/lib/resolvers/marketing-offering.resolve.d.ts +4 -0
- package/lib/resolvers/marketing-offering.resolve.d.ts.map +1 -0
- package/lib/resolvers/page.constant.d.ts +1 -0
- package/lib/resolvers/page.constant.d.ts.map +1 -0
- package/lib/resolvers/page.model.d.ts +2 -1
- package/lib/resolvers/page.model.d.ts.map +1 -0
- package/lib/resolvers/page.resolver.d.ts +4 -0
- package/lib/resolvers/page.resolver.d.ts.map +1 -0
- package/lib/resolvers/resolver.model.d.ts +1 -0
- package/lib/resolvers/resolver.model.d.ts.map +1 -0
- package/lib/services/auth-keycloak.service.d.ts +7 -23
- package/lib/services/auth-keycloak.service.d.ts.map +1 -0
- package/lib/services/auth-microsoft.service.d.ts +6 -2
- package/lib/services/auth-microsoft.service.d.ts.map +1 -0
- package/lib/services/card-content.model.d.ts +1 -0
- package/lib/services/card-content.model.d.ts.map +1 -0
- package/lib/services/configurations.model.d.ts +34 -23
- package/lib/services/configurations.model.d.ts.map +1 -0
- package/lib/services/configurations.service.d.ts +5 -0
- package/lib/services/configurations.service.d.ts.map +1 -0
- package/lib/services/content-strip-multiple.model.d.ts +8 -6
- package/lib/services/content-strip-multiple.model.d.ts.map +1 -0
- package/lib/services/event.model.d.ts +2 -1
- package/lib/services/event.model.d.ts.map +1 -0
- package/lib/services/event.service.d.ts +4 -0
- package/lib/services/event.service.d.ts.map +1 -0
- package/lib/services/logger.service.d.ts +8 -4
- package/lib/services/logger.service.d.ts.map +1 -0
- package/lib/services/ms-office.model.d.ts +1 -0
- package/lib/services/ms-office.model.d.ts.map +1 -0
- package/lib/services/subapplication-respond.service.d.ts +5 -10
- package/lib/services/subapplication-respond.service.d.ts.map +1 -0
- package/lib/services/telemetry.service.d.ts +6 -2
- package/lib/services/telemetry.service.d.ts.map +1 -0
- package/lib/services/user-preference.model.d.ts +1 -0
- package/lib/services/user-preference.model.d.ts.map +1 -0
- package/lib/services/user-preference.service.d.ts +4 -0
- package/lib/services/user-preference.service.d.ts.map +1 -0
- package/lib/services/utility.service.d.ts +11 -7
- package/lib/services/utility.service.d.ts.map +1 -0
- package/lib/services/value.service.d.ts +4 -0
- package/lib/services/value.service.d.ts.map +1 -0
- package/lib/services/widget-content.model.d.ts +21 -19
- package/lib/services/widget-content.model.d.ts.map +1 -0
- package/lib/services/widget-content.service.d.ts +4 -0
- package/lib/services/widget-content.service.d.ts.map +1 -0
- package/lib/services/widget-resolver.model.d.ts +1 -0
- package/lib/services/widget-resolver.model.d.ts.map +1 -0
- package/lib/services/widget-search.model.d.ts +1 -0
- package/lib/services/widget-search.model.d.ts.map +1 -0
- package/package.json +14 -19
- package/public-api.d.ts +7 -0
- package/public-api.d.ts.map +1 -0
- package/sunbird-cb-utils-1.0.19-ang-13-16.tgz +0 -0
- package/sunbird-cb-utils.d.ts +2 -6
- package/sunbird-cb-utils.d.ts.map +1 -0
- package/bundles/sunbird-cb-utils.umd.min.js +0 -16
- package/bundles/sunbird-cb-utils.umd.min.js.map +0 -1
- package/esm5/lib/components/image-crop/image-crop.component.js +0 -200
- package/esm5/lib/components/image-crop/image-crop.module.js +0 -31
- package/esm5/lib/constants/features.enum.js +0 -555
- package/esm5/lib/constants/instances.enum.js +0 -5
- package/esm5/lib/constants/misc.constants.js +0 -1
- package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +0 -105
- package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +0 -19
- package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +0 -40
- package/esm5/lib/directives/default-thumbnail/default-thumbnail.module.js +0 -19
- package/esm5/lib/directives/image-responsive/image-responsive.directive.js +0 -95
- package/esm5/lib/directives/image-responsive/image-responsive.module.js +0 -19
- package/esm5/lib/directives/in-view-port/in-view-port.directive.js +0 -73
- package/esm5/lib/directives/in-view-port/in-view-port.module.js +0 -19
- package/esm5/lib/directives/navigation/navigation.directive.js +0 -41
- package/esm5/lib/directives/navigation/navigation.module.js +0 -19
- package/esm5/lib/directives/permission/permission.directive.js +0 -14
- package/esm5/lib/directives/permission/permission.module.js +0 -19
- package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +0 -9
- package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +0 -103
- package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +0 -23
- package/esm5/lib/helpers/logout/logout.component.js +0 -63
- package/esm5/lib/helpers/logout/logout.module.js +0 -22
- package/esm5/lib/models/contentRating.model.js +0 -12
- package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +0 -17
- package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +0 -63
- package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +0 -19
- package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +0 -37
- package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +0 -19
- package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +0 -45
- package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +0 -19
- package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +0 -64
- package/esm5/lib/pipes/pipe-filter/pipe-filter.module.js +0 -19
- package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +0 -20
- package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +0 -19
- package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +0 -38
- package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +0 -19
- package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +0 -16
- package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +0 -19
- package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +0 -30
- package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +0 -19
- package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +0 -21
- package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +0 -19
- package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +0 -35
- package/esm5/lib/pipes/pipe-order-by/pipe-order-by.module.js +0 -19
- package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +0 -18
- package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +0 -19
- package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +0 -34
- package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +0 -19
- package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +0 -21
- package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +0 -19
- package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +0 -38
- package/esm5/lib/resolvers/explore-detail.resolver.js +0 -93
- package/esm5/lib/resolvers/marketing-offering.resolve.js +0 -43
- package/esm5/lib/resolvers/page.constant.js +0 -4
- package/esm5/lib/resolvers/page.model.js +0 -47
- package/esm5/lib/resolvers/page.resolver.js +0 -98
- package/esm5/lib/resolvers/resolver.model.js +0 -6
- package/esm5/lib/services/auth-keycloak.service.js +0 -316
- package/esm5/lib/services/auth-microsoft.service.js +0 -251
- package/esm5/lib/services/card-content.model.js +0 -32
- package/esm5/lib/services/configurations.model.js +0 -498
- package/esm5/lib/services/configurations.service.js +0 -113
- package/esm5/lib/services/content-strip-multiple.model.js +0 -75
- package/esm5/lib/services/event.model.js +0 -229
- package/esm5/lib/services/event.service.js +0 -216
- package/esm5/lib/services/logger.service.js +0 -73
- package/esm5/lib/services/ms-office.model.js +0 -8
- package/esm5/lib/services/subapplication-respond.service.js +0 -230
- package/esm5/lib/services/telemetry.service.js +0 -484
- package/esm5/lib/services/user-preference.model.js +0 -38
- package/esm5/lib/services/user-preference.service.js +0 -109
- package/esm5/lib/services/utility.service.js +0 -178
- package/esm5/lib/services/value.service.js +0 -33
- package/esm5/lib/services/widget-content.model.js +0 -342
- package/esm5/lib/services/widget-content.service.js +0 -214
- package/esm5/lib/services/widget-resolver.model.js +0 -57
- package/esm5/lib/services/widget-search.model.js +0 -126
- package/esm5/public-api.js +0 -68
- package/esm5/sunbird-cb-utils.js +0 -8
- package/fesm5/sunbird-cb-utils.js +0 -5594
- package/fesm5/sunbird-cb-utils.js.map +0 -1
- package/sunbird-cb-utils.metadata.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sunbird-cb-utils.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@sunbird-cb/utils/lib/services/configurations.service.ts","ng://@sunbird-cb/utils/lib/services/value.service.ts","ng://@sunbird-cb/utils/lib/components/image-crop/image-crop.component.ts","ng://@sunbird-cb/utils/lib/components/image-crop/image-crop.module.ts","ng://@sunbird-cb/utils/lib/constants/features.enum.ts","ng://@sunbird-cb/utils/lib/constants/instances.enum.ts","ng://@sunbird-cb/utils/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.ts","ng://@sunbird-cb/utils/lib/directives/class-change-on-scroll/class-change-on-scroll.module.ts","ng://@sunbird-cb/utils/lib/directives/default-thumbnail/default-thumbnail.directive.ts","ng://@sunbird-cb/utils/lib/directives/default-thumbnail/default-thumbnail.module.ts","ng://@sunbird-cb/utils/lib/directives/image-responsive/image-responsive.directive.ts","ng://@sunbird-cb/utils/lib/directives/image-responsive/image-responsive.module.ts","ng://@sunbird-cb/utils/lib/directives/in-view-port/in-view-port.directive.ts","ng://@sunbird-cb/utils/lib/directives/in-view-port/in-view-port.module.ts","ng://@sunbird-cb/utils/lib/directives/navigation/navigation.directive.ts","ng://@sunbird-cb/utils/lib/directives/navigation/navigation.module.ts","ng://@sunbird-cb/utils/lib/directives/permission/permission.directive.ts","ng://@sunbird-cb/utils/lib/directives/permission/permission.module.ts","ng://@sunbird-cb/utils/lib/helpers/functions/getStringifiedQueryParams.ts","ng://@sunbird-cb/utils/lib/helpers/horizontal-scroller/horizontal-scroller.component.ts","ng://@sunbird-cb/utils/lib/helpers/horizontal-scroller/horizontal-scroller.module.ts","ng://@sunbird-cb/utils/lib/services/logger.service.ts","ng://@sunbird-cb/utils/lib/services/auth-microsoft.service.ts","ng://@sunbird-cb/utils/lib/services/auth-keycloak.service.ts","ng://@sunbird-cb/utils/lib/services/utility.service.ts","ng://@sunbird-cb/utils/lib/helpers/logout/logout.component.ts","ng://@sunbird-cb/utils/lib/helpers/logout/logout.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-count-transform/pipe-count-transform.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-date-concat/pipe-date-concat.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-filter/pipe-filter.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-filter/pipe-filter.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-filter-search/pipe-filter-search.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-list-filter/pipe-list-filter.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-relative-time/pipe-relative-time.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-order-by/pipe-order-by.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-order-by/pipe-order-by.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-limit-to/pipe-limit-to.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-name-transform/pipe-name-transform.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-partial-content/pipe-partial-content.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.ts","ng://@sunbird-cb/utils/lib/resolvers/explore-detail.resolver.ts","ng://@sunbird-cb/utils/lib/resolvers/marketing-offering.resolve.ts","ng://@sunbird-cb/utils/lib/resolvers/page.model.ts","ng://@sunbird-cb/utils/lib/resolvers/page.constant.ts","ng://@sunbird-cb/utils/lib/resolvers/page.resolver.ts","ng://@sunbird-cb/utils/lib/resolvers/resolver.model.ts","ng://@sunbird-cb/utils/lib/services/configurations.model.ts","ng://@sunbird-cb/utils/lib/services/event.model.ts","ng://@sunbird-cb/utils/lib/services/event.service.ts","ng://@sunbird-cb/utils/lib/services/ms-office.model.ts","ng://@sunbird-cb/utils/lib/services/widget-content.service.ts","ng://@sunbird-cb/utils/lib/services/telemetry.service.ts","ng://@sunbird-cb/utils/lib/services/subapplication-respond.service.ts","ng://@sunbird-cb/utils/lib/services/user-preference.model.ts","ng://@sunbird-cb/utils/lib/services/user-preference.service.ts","ng://@sunbird-cb/utils/lib/services/widget-content.model.ts","ng://@sunbird-cb/utils/lib/models/contentRating.model.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core'\nimport { BehaviorSubject, ReplaySubject } from 'rxjs'\n// import { environment } from '../../../../../../src/environments/environment'\nimport { NsPage } from '../resolvers/page.model'\nimport { NsAppsConfig, NsInstanceConfig, NsUser } from './configurations.model'\nimport { IUserPreference } from './user-preference.model'\n\n// const instanceConfigPath: string | null = window.location.host\n// const locationHost: string | null = window.location.host\n\n// if (!environment.production && Boolean(environment.sitePath)) {\n// locationHost = environment.sitePath\n// instanceConfigPath = environment.sitePath\n// }\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationsService {\n // update as the single source of truth\n constructor() {\n // @Inject('env') env: any\n // if (!env.production && Boolean(env.sitePath)) {\n // locationHost = env.sitePath\n // instanceConfigPath = env.sitePath\n // }\n }\n appSetup = true\n // The url the user tried to access while landing in the app before accepting tnc\n userUrl = ''\n baseUrl = `assets/configurations`\n sitePath = `assets/configurations`\n hostPath = (window.location.host).replace(':', '_')\n\n userRoles: Set<string> | null = null\n userGroups: Set<string> | null = null\n restrictedFeatures: Set<string> | null = null\n restrictedWidgets: Set<string> | null = null\n instanceConfig: NsInstanceConfig.IConfig | null = null\n appsConfig: NsAppsConfig.IAppsConfig | null = null\n rootOrg: string | null = null\n courseContentPath?: string\n org: string[] | null = null\n activeOrg: string | null = ''\n isProduction = false\n hasAcceptedTnc = false\n profileDetailsStatus = false\n userPreference: IUserPreference | null = null\n userProfile: NsUser.IUserProfile | null = null\n userProfileV2: NsUser.IUserProfile | null = null\n // created to store complete user details sent by pid\n unMappedUser: any\n orgReadData: any\n isAuthenticated = false\n isNewUser = false\n isActive = true\n\n // pinnedApps\n pinnedApps = new BehaviorSubject<Set<string>>(new Set())\n\n // Notifier\n prefChangeNotifier = new ReplaySubject<Partial<IUserPreference>>(1)\n tourGuideNotifier = new ReplaySubject<boolean>()\n authChangeNotifier = new ReplaySubject<boolean>(1)\n\n // Preference Related Values\n activeThemeObject: NsInstanceConfig.ITheme | null = null\n activeFontObject: NsInstanceConfig.IFontSize | null = null\n isDarkMode = false\n isIntranetAllowed = false\n isRTL = false\n activeLocale: NsInstanceConfig.ILocalsConfig | null = null\n activeLocaleGroup = ''\n completedActivity: string[] | null = null\n completedTour = false\n profileSettings = ['profilePicture', 'learningTime', 'learningPoints']\n\n primaryNavBar: Partial<NsPage.INavBackground> = {\n color: 'primary',\n }\n pageNavBar: Partial<NsPage.INavBackground> = {\n color: 'primary',\n }\n primaryNavBarConfig: NsInstanceConfig.IPrimaryNavbarConfig | null = null\n\n private updateOrgReadData: BehaviorSubject<string> = new BehaviorSubject('')\n updateOrgReadDataObservable = this.updateOrgReadData.asObservable()\n\n updateOrgData(id: string) {\n this.updateOrgReadData.next(id)\n }\n}\n","import { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs'\r\nimport { BreakpointObserver, Breakpoints, BreakpointState } from '@angular/cdk/layout'\r\nimport { map } from 'rxjs/operators'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ValueService {\r\n\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n ) { }\r\n\r\n public isXSmall$: Observable<boolean> = this.breakpointObserver\r\n .observe([Breakpoints.XSmall])\r\n .pipe(map((res: BreakpointState) => res.matches))\r\n public isLtMedium$: Observable<boolean> = this.breakpointObserver\r\n .observe([Breakpoints.XSmall, Breakpoints.Small])\r\n .pipe(map((res: BreakpointState) => res.matches))\r\n\r\n}\r\n","import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core'\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'\r\nimport { MatSnackBar } from '@angular/material/snack-bar'\r\n\r\nimport { ImageCroppedEvent, ImageTransform } from 'ngx-image-cropper'\r\nimport { ConfigurationsService } from '../../services/configurations.service'\r\nimport { ValueService } from '../../services/value.service'\r\nexport interface IDialogueDta {\r\n isRoundCrop: boolean,\r\n imageFile: File,\r\n height: number,\r\n width: number,\r\n imageFileName: string\r\n}\r\n@Component({\r\n selector: 'ws-utils-image-crop',\r\n templateUrl: './image-crop.component.html',\r\n styleUrls: ['./image-crop.component.scss'],\r\n})\r\nexport class ImageCropComponent implements OnInit {\r\n // need to set for creator Logo\r\n @Output() data = new EventEmitter<File>()\r\n isRoundCrop = false\r\n isNotOfRequiredSize = false\r\n imageFile!: File\r\n cropimageFile!: File\r\n imageFileBase64: any = ''\r\n width: any = ''\r\n height: any = ''\r\n opHeight: any\r\n opWidth: any\r\n imageDimensions: any = ''\r\n croppedHeight: any = ''\r\n croppedWidth: any = ''\r\n cropperReadyToStart: any = false\r\n fileName = ''\r\n canvasRotation = 0\r\n transform: ImageTransform = {}\r\n resetValue = false\r\n element: any\r\n isXSmall = false\r\n isThumbnail = true\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef<ImageCropComponent>,\r\n private configSvc: ConfigurationsService,\r\n private snackBar: MatSnackBar,\r\n private valueSvc: ValueService,\r\n @Inject(MAT_DIALOG_DATA) data: IDialogueDta\r\n ) {\r\n this.isRoundCrop = data.isRoundCrop\r\n if (data.imageFile) {\r\n this.imageFile = data.imageFile\r\n }\r\n if (data.imageFileName) {\r\n this.fileName = data.imageFileName\r\n }\r\n if (!data.isRoundCrop) {\r\n if (data.height) {\r\n this.opHeight = data.height\r\n }\r\n if (data.width) {\r\n this.opWidth = data.width\r\n }\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.thumbnailSizeDetection()\r\n this.valueSvc.isXSmall$.subscribe((isXSmall: boolean) => {\r\n this.isXSmall = isXSmall\r\n if (this.isXSmall) {\r\n this.dialogRef.updateSize('90%')\r\n } else {\r\n this.dialogRef.updateSize('70%')\r\n }\r\n })\r\n\r\n }\r\n\r\n // displays the default image\r\n changeToDefaultImg($event: any) {\r\n $event.target.src = this.configSvc.instanceConfig ?\r\n this.configSvc.instanceConfig.logos.defaultContent : ''\r\n }\r\n\r\n // image cropping event\r\n imageCropped(event: ImageCroppedEvent) {\r\n\r\n this.imageFileBase64 = event.base64 // store the cropped image as a base64 value\r\n this.cropimageFile = this.base64ImageToBlob(this.imageFileBase64) // convert the cropped image as a file\r\n this.croppedHeight = event.height\r\n this.croppedWidth = event.width\r\n\r\n }\r\n\r\n openSnackBar(message: string) {\r\n this.snackBar.open(message, 'X', {\r\n duration: 2000,\r\n })\r\n }\r\n continueToImageCrop() {\r\n this.isNotOfRequiredSize = false\r\n }\r\n\r\n // checks if the image is of the correct dimensions\r\n thumbnailSizeDetection() {\r\n const fr = new FileReader()\r\n fr.readAsDataURL(this.imageFile)\r\n fr.onload = () => { // when file has loaded\r\n const img = new Image()\r\n img.src = fr.result as string\r\n img.onload = () => {\r\n this.width = img.width\r\n this.height = img.height\r\n if (!this.isRoundCrop) {\r\n if ((this.height === this.opHeight) && (this.width === this.opWidth)) {\r\n this.openSnackBar('Image is of the required dimensions of the thumbnail, croping is not available!')\r\n return\r\n }\r\n if ((this.height < this.opHeight) || (this.width < this.opWidth)) {\r\n this.isNotOfRequiredSize = true\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n base64ImageToBlob(str: string): File {\r\n // extract content type and base64 payload from original string\r\n\r\n const pos = str.indexOf(';base64,')\r\n // var type = str.substring(5, pos);\r\n const b64 = str.substr(pos + 8)\r\n // decode base64\r\n const imageContent = atob(b64)\r\n // create an ArrayBuffer and a view (as unsigned 8-bit)\r\n const buffer = new ArrayBuffer(imageContent.length)\r\n const view = new Uint8Array(buffer)\r\n // fill the view, using the decoded base64\r\n for (let n = 0; n < imageContent.length; n = n + 1) {\r\n view[n] = imageContent.charCodeAt(n)\r\n }\r\n // convert ArrayBuffer to Blob\r\n const blob = new Blob([view], { type: 'image/png' })\r\n const b: any = blob\r\n // Cast to a File() type\r\n b.lastModifiedDate = new Date()\r\n b.name = this.fileName\r\n const file = new File([blob], this.fileName, { type: 'image/jpeg' })\r\n return file\r\n\r\n }\r\n\r\n private flipAfterRotate() {\r\n const flippedH = this.transform.flipH\r\n const flippedV = this.transform.flipV\r\n this.transform = {\r\n ...this.transform,\r\n flipH: flippedV,\r\n flipV: flippedH,\r\n }\r\n }\r\n\r\n rotateLeft() {\r\n this.canvasRotation = this.canvasRotation - 1\r\n this.flipAfterRotate()\r\n }\r\n\r\n rotateRight() {\r\n this.canvasRotation = this.canvasRotation + 1\r\n this.flipAfterRotate()\r\n }\r\n\r\n flipHorizontal() {\r\n this.transform = {\r\n ...this.transform,\r\n flipH: !this.transform.flipH,\r\n }\r\n }\r\n\r\n zoom(event: any) {\r\n this.resetValue = false\r\n this.transform = {\r\n ...this.transform,\r\n scale: event.value,\r\n }\r\n }\r\n\r\n // calls when apply button is clicked,and returns the cropped image\r\n croppingImage() {\r\n this.dialogRef.close(this.cropimageFile)\r\n }\r\n\r\n reset() {\r\n this.resetValue = true\r\n this.canvasRotation = 0\r\n this.transform = {}\r\n }\r\n // closes the dialog box\r\n close(): void {\r\n this.dialogRef.close()\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common'\r\nimport { NgModule } from '@angular/core'\r\nimport {\r\n MatButtonModule,\r\n MatCardModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatSliderModule,\r\n} from '@angular/material'\r\nimport { ImageCropperModule } from 'ngx-image-cropper'\r\nimport { ImageCropComponent } from './image-crop.component'\r\n// @dynamic\r\n@NgModule({\r\n declarations: [ImageCropComponent],\r\n imports: [\r\n CommonModule,\r\n ImageCropperModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatToolbarModule,\r\n MatDialogModule,\r\n MatCardModule,\r\n MatTooltipModule,\r\n MatSliderModule,\r\n ],\r\n exports: [ImageCropComponent],\r\n entryComponents: [ImageCropComponent],\r\n})\r\nexport class ImageCropModule { }\r\n","export enum EFeatures {\r\n // Playlists\r\n PLAYLIST = 'playlist',\r\n PLAYLIST_CREATE = 'playlistCreate',\r\n PLAYLIST_ADD_NEW_CONTENT = 'playlistAddNewContent',\r\n PLAYLIST_REMOVE_EXISTING_CONTENT = 'playlistRemoveExistingContent',\r\n PLAYLIST_DELETE = 'playlistDelete',\r\n PLAYLIST_SHARE = 'playlistShare',\r\n\r\n // Goals\r\n GOAL = 'goal',\r\n GOAL_CREATE_OWN = 'goalCreateOwn',\r\n GOAL_CREATE_SUGGESTED = 'goalCreateSuggested',\r\n GOAL_EDIT_EXISTING_GOAL = 'goalEditExistingGoal',\r\n GOAL_DELETE_EXISTING_GOAL = 'goalDeleteExistingGoal',\r\n GOAL_SHARE_GOAL_WITH_OTHERS = 'goalShareGoalWithOthers',\r\n GOAL_VIEW_ALL_GOALS_SECTION = 'goalViewAllGoalsSection',\r\n GOAL_VIEW_IN_PROGRESS_GOALS_SECTION = 'goalViewInProgressGoalsSection',\r\n GOAL_VIEW_COMPLETED_GOALS_SECTION = 'goalViewCompletedGoalsSection',\r\n\r\n // Navigator\r\n NAVIGATOR = 'navigator',\r\n NAVIGATOR_VIEW_NAVIGATOR_CAROUSEL = 'navigatorViewNavigatorCarousel',\r\n NAVIGATOR_VIEW_ROLES_PAGE = 'navigatorViewRolesPage',\r\n NAVIGATOR_SELECT_ANY_PILLAR = 'navigatorSelectAnyPillar',\r\n NAVIGATOR_PURSUE_ANY_OFFERING = 'navigatorPursueAnyOffering',\r\n NAVIGATOR_CREATE_GOAL_FROM_OFFERING = 'navigatorCreateGoalFromOffering',\r\n NAVIGATOR_VIEW_EXPLORE_PAGE = 'navigatorViewExplorePage',\r\n NAVIGATOR_SELECT_ANY_LEARNING_PATH = 'navigatorSelectAnyLearningPath',\r\n NAVIGATOR_CREATE_GOAL_FROM_LEARNING_PATH = 'navigatorCreateGoalFromLearningPath',\r\n NAVIGATOR_VIEW_SUGGESTIONS_PAGE = 'navigatorViewSuggestionsPage',\r\n NAVIGATOR_SELECT_SUGGESTED_TOPICS = 'navigatorSelectSuggestedTopics',\r\n NAVIGATOR_GET_SUGGESTIONS_OF_SELECTED_TOPICS = 'navigatorGetSuggestionsOfSelectedTopics',\r\n NAVIGATOR_CREATE_GOAL_FROM_SELECTED_LEARNING_PATHS = 'navigatorCreateGoalFromSelectedLearningPaths',\r\n NAVIGATOR_VIEW_INDUSTRIES_PAGE = 'navigatorViewIndustriesPage',\r\n NAVIGATOR_VIEW_CME_PAGE = 'navigatorViewCmePage',\r\n NAVIGATOR_SELECT_SUBDOMAIN = 'navigatorSelectSubdomain',\r\n NAVIGATOR_SELECT_PILLAR = 'navigatorSelectPillar',\r\n NAVIGATOR_SELECT_THEME = 'navigatorSelectTheme',\r\n NAVIGATOR_VIEW_CPG_PAGE = 'navigatorViewCpgPage',\r\n NAVIGATOR_VIEW_ENERGY_PAGE = 'navigatorViewEnergyPage',\r\n NAVIGATOR_VIEW_FINANCIAL_SERVICES_PAGE = 'navigatorViewFinancialServicesPage',\r\n NAVIGATOR_VIEW_HEALTH_CARE_PAGE = 'navigatorViewHealthCarePage',\r\n NAVIGATOR_VIEW_INSURANCE_PAGE = 'navigatorViewInsurancePage',\r\n NAVIGATOR_VIEW_LIFE_SCIENCES_PAGE = 'navigatorViewLifeSciencesPage',\r\n NAVIGATOR_VIEW_MFG_PAGE = 'navigatorViewMfgPage',\r\n NAVIGATOR_VIEW_RETAIL_PAGE = 'navigatorViewRetailPage',\r\n NAVIGATOR_VIEW_TRAVEL_AND_HOSPITALITY_PAGE = 'navigatorViewTravelAndHospitalityPage',\r\n NAVIGATOR_VIEW_UTILITIES_PAGE = 'navigatorViewUtilitiesPage',\r\n NAVIGATOR_VIEW_CME_ANALYTICS = 'navigatorViewCmeAnalytics',\r\n NAVIGATOR_VIEW_GPG_ANALYTICS = 'navigatorViewGpgAnalytics',\r\n NAVIGATOR_VIEW_ENERGY_ANALYTICS = 'navigatorViewEnergyAnalytics',\r\n NAVIGATOR_VIEW_FINANCIAL_SERVICES_ANALYTICS = 'navigatorViewFinancialServicesAnalytics',\r\n NAVIGATOR_VIEW_HEALTH_CARE_ANALYTICS = 'navigatorViewHealthCareAnalytics',\r\n NAVIGATOR_VIEW_INSURANCE_ANALYTICS = 'navigatorViewInsuranceAnalytics',\r\n NAVIGATOR_VIEW_LIFE_SCIENCES_ANALYTICS = 'navigatorViewLifeSciencesAnalytics',\r\n NAVIGATOR_VIEW_MFG_ANALYTICS = 'navigatorViewMfgAnalytics',\r\n NAVIGATOR_VIEW_RETAIL_ANALYTICS = 'navigatorViewRetailAnalytics',\r\n NAVIGATOR_VIEW_TRAVEL_AND_HOSPITALITY_ANALYTICS = 'navigatorViewTravelAndHospitalityAnalytics',\r\n NAVIGATOR_VIEW_UTILITIES_ANALYTICS = 'navigatorViewUtilitiesAnalytics',\r\n NAVIGATOR_VIEW_PILLARS_PAGE = 'navigatorViewPillarsPage',\r\n NAVIGATOR_VIEW_DIFFERENT_COURSES_IN_PILLAR = 'navigatorViewDifferentCoursesInPillar',\r\n NAVIGATOR_VIEW_FULL_STACK_PAGE = 'navigatorViewFullStackPage',\r\n NAVIGATOR_VIEW_DIFFERENT_FULL_STACK_PROGRAMS = 'navigatorViewDifferentFullStackPrograms',\r\n\r\n // Catalog\r\n CATALOG = 'catalog',\r\n CATALOG_VIEW_CATALOG_LIST = 'catalogViewCatalogList',\r\n CATALOG_SELECT_ITEM_FROM_CATALOG_LIST = 'catalogSelectItemFromCatalogList',\r\n CATALOG_VIEW_PROGRAMS_STRIP = 'catalogViewProgramsStrip',\r\n CATALOG_VIEW_COURSES_STRIP = 'catalogViewCoursesStrip',\r\n CATALOG_VIEW_LEARNING_MODULES_STRIP = 'catalogViewLearningModulesStrip',\r\n CATALOG_VIEW_RESOURCES_STRIP = 'catalogViewResourcesStrip',\r\n\r\n // Marketing Page\r\n MARKETING_PAGE = 'marketingPage',\r\n MARKETING_PAGE_VIEW_BRAND_ASSETS_PAGE = 'marketingPageViewBrandAssetsPage',\r\n MARKETING_PAGE_VIEW_CORPORATE_STRIP = 'marketingPageViewCorporateStrip',\r\n MARKETING_PAGE_VIEW_EMPLOYEE_STRIP = 'marketingPageViewEmployeeStrip',\r\n MARKETING_PAGE_VIEW_EXPERIMENTAL_SHOWCASE_PAGE = 'marketingPageViewExperimentalShowcasePage',\r\n MARKETING_PAGE_VIEW_HUBS_PAGE = 'marketingPageViewHubsPage',\r\n MARKETING_PAGE_VIEW_CONNECTICUT_STRIP = 'marketingPageViewConnecticutStrip',\r\n MARKETING_PAGE_VIEW_INDIANA_STRIP = 'marketingPageViewIndianaStrip',\r\n MARKETING_PAGE_VIEW_RHODE_ISLAND_STRIP = 'marketingPageViewRhodeIslandStrip',\r\n MARKETING_PAGE_VIEW_CLIENT_STORIES_PAGE = 'marketingPageViewClientStoriesPage',\r\n MARKETING_PAGE_VIEW_AGILE_SCALE_AT_DIGITAL_STRIP = 'marketingPageViewAgileScaleAtDigitalStrip',\r\n MARKETING_PAGE_VIEW_AI_POWERED_CORE_STRIP = 'marketingPageViewAiPoweredCoreStrip',\r\n MARKETING_PAGE_VIEW_ALWAYS_ON_LEAVING_STRIP = 'marketingPageViewAlwaysOnLeavingStrip',\r\n MARKETING_PAGE_VIEW_SERVICES_PAGE = 'marketingPageViewServicesPage',\r\n MARKETING_PAGE_VIEW_SERVICES_PENTAGON = 'marketingPageViewServicesPentagon',\r\n MARKETING_PAGE_VIEW_OFFERINGS_LIST = 'marketingPageViewOfferingsList',\r\n MARKETING_PAGE_SELECT_ANY_OFFERING = 'marketingPageSelectAnyOffering',\r\n MARKETING_PAGE_SELECT_ANY_PILLAR_FROM_PENTAGON = 'marketingPageSelectAnyPillarFromPentagon',\r\n MARKETING_PAGE_VIEW_INDUSTRIES_PAGE = 'marketingPageViewIndustriesPage',\r\n MARKETING_PAGE_VIEW_INDUSTRIES_LIST = 'marketingPageViewIndustriesList',\r\n MARKETING_PAGE_SELECT_ANY_INDUSTRY = 'marketingPageSelectAnyIndustry',\r\n MARKETING_PAGE_VIEW_PRODUCT_AND_SUBSIDIARIES_PAGE = 'marketingPageViewProductAndSubsidiariesPage',\r\n MARKETING_PAGE_VIEW_PRODUCT_AND_SUBSIDIARIES_LIST = 'marketingPageViewProductAndSubsidiariesList',\r\n MARKETING_PAGE_SELECT_ANY_PRODUCT_AND_SUBSIDIARY = 'marketingPageSelectAnyProductAndSubsidiary',\r\n\r\n // Interests\r\n INTERESTS = 'interests',\r\n INTERESTS_ADD_INTERESTS_FROM_SEARCH = 'interestsAddInterestsFromSearch',\r\n INTERESTS_ADD_INTERESTS_FROM_OUR_SUGGESTIONS_SECTION = 'interestsAddInterestsFromOurSuggestionsSection',\r\n INTERESTS_REMOVE_INTERESTS_FROM_MY_INTERESTS_SECTION = 'interestsRemoveInterestsFromMyInterestsSection',\r\n INTERESTS_VIEW_INTERESTS_SEARCH_FIELD = 'interestsViewInterestsSearchField',\r\n INTERESTS_VIEW_MY_INTERESTS_SECTION = 'interestsViewMyInterestsSection',\r\n INTERESTS_VIEW_OWN_SUGGESTIONS_SECTION = 'interestsViewOwnSuggestionsSection',\r\n INTERESTS_VIEW_MORE_SUGGESTIONS_BUTTON = 'interestsViewMoreSuggestionsButton',\r\n\r\n // Feedback\r\n FEEDBACK = 'feedback',\r\n FEEDBACK_VIEW_PLATFORM_FEEDBACK_SECTION = 'feedbackViewPlatformFeedbackSection',\r\n FEEDBACK_STAR_RATING_FOR_PLATFORM = 'feedbackStarRatingForPlatform',\r\n FEEDBACK_WRITE_PLATFORM_FEEDBACK = 'feedbackWritePlatformFeedback',\r\n FEEDBACK_RESET_PLATFORM_FEEDBACK = 'feedbackResetPlatformFeedback',\r\n FEEDBACK_SUBMIT_PLATFORM_FEEDBACK = 'feedbackSubmitPlatformFeedback',\r\n FEEDBACK_VIEW_CONTENT_FEEDBACK_SECTION = 'feedbackViewContentFeedbackSection',\r\n FEEDBACK_STAR_RATING_FOR_CONTENT = 'feedbackStarRatingForContent',\r\n FEEDBACK_WRITE_CONTENT_FEEDBACK = 'feedbackWriteContentFeedback',\r\n FEEDBACK_RESET_CONTENT_FEEDBACK = 'feedbackResetContentFeedback',\r\n FEEDBACK_SUBMIT_CONTENT_FEEDBACK = 'feedbackSubmitContentFeedback',\r\n FEEDBACK_VIEW_ISSUE_REPORTING_SECTION = 'feedbackViewIssueReportingSection',\r\n FEEDBACK_WRITING_ISSUE = 'feedbackWritingIssue',\r\n FEEDBACK_RESET_ISSUE = 'feedbackResetIssue',\r\n FEEDBACK_SUBMIT_ISSUE = 'feedbackSubmitIssue',\r\n\r\n // Contact Us\r\n CONTACT_US = 'contactUs',\r\n CONTACT_US_VIEW_RAISE_AHD_SECTION = 'contactUsViewRaiseAhdSection',\r\n CONTACT_US_VIEW_MAIL_US_SECTION = 'contactUsViewMailUsSection',\r\n CONTACT_US_VIEW_TALK_TO_US_SECTION = 'contactUsViewTalkToUsSection',\r\n CONTACT_US_RAISE_AHD = 'contactUsRaiseAhd',\r\n CONTACT_US_WRITE_EMAIL = 'contactUsWriteEmail',\r\n CONTACT_US_DIAL_FROM_PHONE = 'contactUsDialFromPhone',\r\n\r\n // FAQs\r\n FAQ = 'faq',\r\n FAQ_VIEW_LOGIN_FAQS = 'faqViewLoginFaqs',\r\n FAQ_VIEW_ODC_ACCESS_FAQS = 'faqViewOdcAccessFaqs',\r\n FAQ_VIEW_COMPATIBILITY_FAQS = 'faqViewCompatibilityFaqs',\r\n FAQ_VIEW_INSTALLATION_FAQS = 'faqViewInstallationFaqs',\r\n FAQ_VIEW_PROGRESS_COMPLETION_FAQS = 'faqViewProgressCompletionFaqs',\r\n FAQ_VIEW_VIDEO_FAQS = 'faqViewVideoFaqs',\r\n FAQ_VIEW_AUTHORING_FAQS = 'faqViewAuthoringFaqs',\r\n\r\n // Mobile Apps\r\n MOBILE_APPS = 'mobileApps',\r\n MOBILE_APPS_VIEW_ANDROID_APP_SECTION = 'mobileAppsViewAndroidAppSection',\r\n MOBILE_APPS_DOWNLOAD_APP_FROM_PLAY_STORE = 'mobileAppsDownloadAppFromPlayStore',\r\n MOBILE_APPS_DOWNLOAD_APP_FROM_OUR_SERVER = 'mobileAppsDownloadAppFromOurServer',\r\n MOBILE_APPS_VIEW_QR_CODE_FOR_ANDROID_APP = 'mobileAppsViewQrCodeForAndroidApp',\r\n MOBILE_APPS_VIEW_IOS_APP_SECTION = 'mobileAppsViewIosAppSection',\r\n MOBILE_APPS_DOWNLOAD_IOS_APP = 'mobileAppsDownloadIosApp',\r\n MOBILE_APPS_VIEW_QR_CODE_FOR_IOS_APP = 'mobileAppsViewQrCodeForIosApp',\r\n\r\n // About Us\r\n ABOUT_US = 'aboutUs',\r\n ABOUT_US_VIEW_ABOUT_US_PAGE_SECTIONS = 'aboutUsViewAboutUsPageSections',\r\n\r\n // Settings\r\n SETTINGS = 'settings',\r\n SETTINGS_VIEW_LANGUAGE_SECTION = 'settingsViewLanguageSection',\r\n SETTINGS_VIEW_FONT_SIZE_SECTION = 'settingsViewFontSizeSection',\r\n SETTINGS_VIEW_THEME_SECTION = 'settingsViewThemeSection',\r\n SETTINGS_CHANGE_LANGUAGE = 'settingsChangeLanguage',\r\n SETTINGS_CHANGE_FONT_SIZE = 'settingsChangeFontSize',\r\n SETTINGS_CHANGE_THEME = 'settingsChangeTheme',\r\n\r\n // Login Page\r\n LOGIN_PAGE = 'loginPage',\r\n LOGIN_PAGE_LOGIN_FOR_INFOSCIONS = 'loginPageLoginForInfoscions',\r\n LOGIN_PAGE_LOGIN_FOR_SUBSIDIARIES = 'loginPageLoginForSubsidiaries',\r\n LOGIN_PAGE_LOGIN_FOR_NEW_RECRUITS = 'loginPageLoginForNewRecruits',\r\n LOGIN_PAGE_ABOUT_US = 'loginPageAboutUs',\r\n LOGIN_PAGE_TERMS_OF_USE = 'loginPageTermsOfUse',\r\n LOGIN_PAGE_FAQS = 'loginPageFaqs',\r\n LOGIN_PAGE_CONTACT_US = 'loginPageContactUs',\r\n\r\n // TOC Page\r\n TOC_PAGE = 'tocPage',\r\n TOC_PAGE_VIEW_OVERVIEW_SECTION = 'tocPageViewOverviewSection',\r\n TOC_PAGE_VIEW_INSTRUCTOR_LED_SECTION = 'tocPageViewInstructorLedSection',\r\n TOC_PAGE_VIEW_COHORTS_SECTION = 'tocPageViewCohortsSection',\r\n TOC_PAGE_VIEW_DISCUSSION_FORUM_SECTION = 'tocPageViewDiscussionForumSection',\r\n TOC_PAGE_VIEW_COURSE_ANALYTICS_SECTION = 'tocPageViewCourseAnalyticsSection',\r\n TOC_PAGE_VIEW_WHATS_NEXT_SECTION = 'tocPageViewWhatsNextSection',\r\n TOC_PAGE_VIEW_PART_OF_SECTION = 'tocPageViewPartOfSection',\r\n TOC_PAGE_REGISTER_FOR_UPCOMING_TRAINING = 'tocPageRegisterForUpcomingTraining',\r\n TOC_PAGE_UNREGISTER_FROM_REGISTERED_TRAINING = 'tocPageUnregisterFromRegisteredTraining',\r\n TOC_PAGE_SHARE_INSTRUCTOR_LED_TRAININGS = 'tocPageShareInstructorLedTrainings',\r\n TOC_PAGE_VIEW_EDUCATORS_OF_TRAININGS = 'tocPageViewEducatorsOfTrainings',\r\n TOC_PAGE_NOMINATE_OTHERS_FOR_TRAININGS = 'tocPageNominateOthersForTrainings', // Applicable only for JL6 and above.\r\n TOC_PAGE_REQUEST_TRAINING = 'tocPageRequestTraining', // Applicable only for JL6 and above.\r\n TOC_PAGE_VIEW_ACTIVE_LEARNERS_SECTION = 'tocPageViewActiveLearnersSection',\r\n TOC_PAGE_VIEW_ALL_ACTIVE_LEARNERS = 'tocPageViewAllActiveLearners',\r\n TOC_PAGE_VIEW_CURRENTLY_ACTIVE_LEARNERS = 'tocPageViewCurrentlyActiveLearners',\r\n TOC_PAGE_VIEW_LEARNERS_SHARING_THE_SAME_GOALS = 'tocPageViewLearnersSharingTheSameGoals',\r\n TOC_PAGE_VIEW_EXPERTS_AND_TUTORS_SECTION = 'tocPageViewExpertsAndTutorsSection',\r\n TOC_PAGE_VIEW_ALL_EXPERTS_AND_TUTORS = 'tocPageViewAllExpertsAndTutors',\r\n TOC_PAGE_VIEW_AUTHORS_OF_COURSE = 'tocPageViewAuthorsOfCourse',\r\n TOC_PAGE_VIEW_EDUCATORS_OF_COURSE = 'tocPageViewEducatorsOfCourse',\r\n TOC_PAGE_VIEW_TOPPERS_OF_COURSE = 'tocPageViewToppersOfCourse',\r\n TOC_PAGE_MAIL_THE_PERSON = 'tocPageMailThePerson',\r\n TOC_PAGE_CALL_THE_PERSON = 'tocPageCallThePerson',\r\n TOC_PAGE_POST_VIEWS_IN_DISCUSSION_FORUM = 'tocPagePostViewsInDiscussionForum',\r\n TOC_PAGE_LEARN_THE_COURSE = 'tocPageLearnTheCourse',\r\n TOC_PAGE_LIKE_THE_COURSE = 'tocPageLikeTheCourse',\r\n TOC_PAGE_SHARE_THE_COURSE = 'tocPageShareTheCourse',\r\n TOC_PAGE_ADD_COURSE_TO_GOALS = 'tocPageAddCourseToGoals',\r\n TOC_PAGE_ADD_COURSE_TO_PLAYLIST = 'tocPageAddCourseToPlaylist',\r\n TOC_PAGE_ADD_COURSE_TO_WATCHLIST = 'tocPageAddCourseToWatchlist',\r\n TOC_PAGE_GIVE_COURSE_FEEDBACK = 'tocPageGiveCourseFeedback',\r\n TOC_PAGE_RESUME_THE_COURSE = 'tocPageResumeTheCourse',\r\n TOC_PAGE_START_OVER_THE_COURSE = 'tocPageStartOverTheCourse',\r\n TOC_PAGE_GO_TO_COURSE_QUIZ = 'tocPageGoToCourseQuiz',\r\n TOC_PAGE_GO_TO_COURSE_HANDS_ON = 'tocPageGoToCourseHandsOn',\r\n\r\n // Navbar\r\n NAVBAR = 'navbar',\r\n NAVBAR_VIEW_LOGO = 'navbarViewLogo',\r\n NAVBAR_CATALOG_ICON = 'navbarCatalogIcon',\r\n NAVBAR_NAVIGATOR_ICON = 'navbarNavigatorIcon',\r\n NAVBAR_NOTIFICATION_ICON = 'navbarNotificationIcon',\r\n NAVBAR_SETTINGS_ICON = 'navbarSettingsIcon',\r\n NAVBAR_SEARCH_ICON = 'navbarSearchIcon',\r\n NAVBAR_APPS_ICON = 'navbarAppsIcon',\r\n\r\n // Home Page\r\n HOME_PAGE = 'homePage',\r\n HOME_PAGE_VIEW_CAROUSEL = 'homePageViewCarousel',\r\n HOME_PAGE_VIEW_CONTINUE_LEARNING_STRIP = 'homePageViewContinueLearningStrip',\r\n HOME_PAGE_VIEW_FEATURED_APPS_STRIP = 'homePageViewFeaturedAppsStrip',\r\n HOME_PAGE_VIEW_RECENT_ADDITION_TO_PLAYLISTS_STRIP = 'homePageViewRecentAdditionToPlaylistsStrip',\r\n HOME_PAGE_VIEW_BASED_ON_YOUR_INTERESTS_STRIP = 'homePageViewBasedOnYourInterestsStrip',\r\n HOME_PAGE_VIEW_BASED_ON_WHAT_YOU_VIEWED_STRIP = 'homePageViewBasedOnWhatYouViewedStrip',\r\n HOME_PAGE_VIEW_LATEST_STRIP = 'homePageViewLatestStrip',\r\n HOME_PAGE_VIEW_TRENDING_STRIP = 'homePageViewTrendingStrip',\r\n HOME_PAGE_SHOW_COMPLETED_FILTER = 'homePageShowCompletedFilter',\r\n HOME_PAGE_SHOW_RESOURCES_FILTER = 'homePageShowResourcesFilter',\r\n\r\n // TNC Page\r\n TNC_PAGE = 'tncPage',\r\n TNC_PAGE_VIEW_CONTEST_RULES_SECTION = 'tncPageViewContestRulesSection',\r\n TNC_PAGE_VIEW_DATA_PRIVACY_SECTION = 'tncPageViewDataPrivacySection',\r\n TNC_PAGE_ACCEPT_TERMS_AND_CONDITIONS = 'tncPageAcceptTermsAndConditions',\r\n\r\n // Blogs\r\n BLOGS = 'blogs',\r\n BLOG_VIEW_OTHERS_BLOGS = 'blogViewOthersBlogs',\r\n BLOGS_LIKE_OTHER_BLOGS = 'blogsLikeOtherBlogs',\r\n BLOGS_VIEW_MY_BLOGS = 'blogsViewMyBlogs',\r\n BLOGS_WRITE_NEW_BLOG = 'blogsWriteNewBlog',\r\n BLOGS_SAVE_BLOG_AS_DRAFT = 'blogsSaveBlogAsDraft',\r\n BLOGS_EDIT_MY_SAVED_BLOG = 'blogsEditMySavedBlog',\r\n BLOGS_PUBLISH_MY_BLOG = 'blogsPublishMyBlog',\r\n BLOGS_UPVOTE_FOR_BLOG = 'blogsUpvoteForBlog',\r\n BLOGS_DOWNVOTE_FOR_BLOG = 'blogsDownvoteForBlog',\r\n BLOGS_WRITE_RESPONSE_FOR_BLOG = 'blogsWriteResponseForBlog',\r\n BLOGS_DELETE_MY_BLOG = 'blogsDeleteMyBlog',\r\n BLOGS_EDIT_MY_RESPONSE = 'blogsEditMyResponse',\r\n BLOGS_DELETE_MY_RESPONSE = 'blogsDeleteMyResponse',\r\n BLOGS_VIEW_DRAFTS_SECTION = 'blogsViewDraftsSection',\r\n BLOGS_VIEW_PUBLISHED_SECTION = 'blogsViewPublishedSection',\r\n\r\n // Question and Answer\r\n QUESTION_AND_ANSWER = 'questionAndAnswer',\r\n QUESTION_AND_ANSWER_VIEW_ALL_QUESTIONS_AND_ANSWERS = 'questionAndAnswerViewAllQuestionsAndAnswers',\r\n QUESTION_AND_ANSWER_VIEW_ONLY_UNANSWERED_QUESTIONS = 'questionAndAnswerViewOnlyUnansweredQuestions',\r\n QUESTION_AND_ANSWER_VIEW_MY_TIMELINE = 'questionAndAnswerViewMyTimeline',\r\n QUESTION_AND_ANSWER_ASK_NEW_QUESTION = 'questionAndAnswerAskNewQuestion',\r\n QUESTION_AND_ANSWER_VIEW_SPECIFIC_QUESTION = 'questionAndAnswerViewSpecificQuestion',\r\n QUESTION_AND_ANSWER_UPVOTE_FOR_ANSWER = 'questionAndAnswerUpvoteForAnswer',\r\n QUESTION_AND_ANSWER_DOWNVOTE_FOR_ANSWER = 'questionAndAnswerDownvoteForAnswer',\r\n QUESTION_AND_ANSWER_LIKE_AN_ANSWER = 'questionAndAnswerLikeAnAnswer',\r\n QUESTION_AND_ANSWER_ADD_COMMENT_FOR_ANY_ANSWER = 'questionAndAnswerAddCommentForAnyAnswer',\r\n QUESTION_AND_ANSWER_ADD_ANSWER_FOR_ANY_QUESTION = 'questionAndAnswerAddAnswerForAnyQuestion',\r\n QUESTION_AND_ANSWER_SAVE_QUESTION_AS_DRAFT = 'questionAndAnswerSaveQuestionAsDraft',\r\n QUESTION_AND_ANSWER_PUBLISH_SAVED_QUESTION = 'questionAndAnswerPublishedSavedQuestion',\r\n QUESTION_AND_ANSWER_VIEW_DRAFTS_SECTION = 'questionAndAnswerViewDraftsSection',\r\n QUESTION_AND_ANSWER_VIEW_PUBLISHED_SECTION = 'questionAndAnswerViewPublishedSection',\r\n\r\n // Badges\r\n BADGES = 'badges',\r\n BADGES_VIEW_RECENTLY_EARNED_BADGE = 'badgesViewRecentlyEarnedBadge',\r\n BADGES_VIEW_ALL_EARNED_BADGES = 'badgesViewAllEarnedBadges',\r\n BADGES_VIEW_NEXT_TARGETTED_BADGES = 'badgesViewNextTargettedBadges',\r\n\r\n // Hands on Dashboard\r\n HANDS_ON_DASHBOARD = 'handsOnDashboard',\r\n HANDS_ON_DASHBOARD_VIEW_MY_DASHBOARD = 'handsOnDashboardViewMyDashboard',\r\n HANDS_ON_DASHBOARD_VIEW_SHARED_PROFILE_SECTION = 'handsOnDashboardViewSharedProfileSection',\r\n\r\n // Learning History\r\n LEARNING_HISTORY = 'learningHistory',\r\n LEARNING_HISTORY_VIEW_PROGRAMS_SECTION = 'learningHistoryViewProgramsSection',\r\n LEARNING_HISTORY_VIEW_COURSES_SECTION = 'learningHistoryViewCoursesSection',\r\n LEARNING_HISTORY_VIEW_LEARNING_MODULES_SECTION = 'learningHistoryViewLearningModulesSection',\r\n LEARNING_HISTORY_VIEW_RESOURCES_SECTION = 'learningHistoryViewResourcesSection',\r\n LEARNING_HISTORY_VIEW_CERTIFICATIONS_SECTION = 'learningHistoryViewCertificationsSection',\r\n LEARNING_HISTORY_APPLY_COMPLETED_FILTER = 'learningHistoryApplyCompletedFilter',\r\n LEARNING_HISTORY_VIEW_MORE_BUTTON = 'learningHistoryViewMoreButton',\r\n\r\n // Learning Time\r\n LEARNING_TIME = 'learningTime',\r\n LEARNING_TIME_VIEW_LEARNING_TIME_GRAPH = 'learningTimeViewLearningTimeGraph',\r\n LEARNING_TIME_APPLY_BAR_GRAPH_FILTER = 'learningTimeApplyBarGraphFilter',\r\n LEARNING_TIME_APPLY_DATE_RANGE_FILTER = 'learningTimeApplyDateRangeFilter',\r\n LEARNING_TIME_APPLY_TIME_SPENT_FILTER = 'learningTimeApplyTimeSpentFilter',\r\n LEARNING_TIME_APPLY_APP_AVERAGE_FILTER = 'learningTimeApplyAppAverageFilter',\r\n LEARNING_TIME_APPLY_USER_AVERAGE_OVER_PERIOD_FILTER = 'learningTimeApplyUserAverageOverPeriodFilter',\r\n\r\n // Notification\r\n NOTIFICATION = 'notification',\r\n NOTIFICATION_VIEW_RECENT_BADGE_EARNED = 'notificationViewRecentBadgeEarned',\r\n NOTIFICATION_VIEW_SHARED_PLAYLIST = 'notificationViewSharedPlaylist',\r\n NOTIFICATION_VIEW_SHARED_GOALS = 'notificationViewSharedGoals',\r\n\r\n // Profile\r\n PROFILE = 'profile',\r\n PROFILE_VIEW_BASIC_INFORMATION = 'profileViewBasicInformation',\r\n PROFILE_VIEW_RECENTLY_LEARNED_COURSES = 'profileViewRecentlyLearnedCourses',\r\n PROFILE_VIEW_LIKED_ITEMS = 'profileViewLikedItems',\r\n PROFILE_VIEW_BADGES_EARNED = 'profileViewBadgesEarned',\r\n\r\n // Behavioural Skills\r\n BEHAVIORAL_SKILLS = 'behavioralSkills',\r\n BEHAVIORAL_SKILLS_VIEW_MODEL_CLIENT_INTERACTIONS = 'behavioralSkillsViewModalClientInteractions',\r\n BEHAVIORAL_SKILLS_VIEW_CLIENT_INTERACTION_TESTS = 'behavioralSkillsViewClientInteractionTests',\r\n\r\n // Certifications\r\n CERTIFICATIONS = 'certifications',\r\n CERTIFICATIONS_VIEW_MY_APPROVALS_SECTION = 'certificationsViewMyApprovalsSection',\r\n CERTIFICATIONS_VIEW_MY_REQUESTS_SECTION = 'certificationsViewMyRequestsSection',\r\n CERTIFICATIONS_VIEW_MY_CERTIFICATIONS_SECTION = 'certificationsViewMyCertificationsSection',\r\n CERTIFICATIONS_APPLY_COMPLETION_STATUS_FILTER = 'certificationsApplyCompletionStatusFilter',\r\n\r\n // Code Crack\r\n CODE_CRACK = 'codeCrack',\r\n CODE_CRACK_VIEW_PUZZLE_MANIA = 'codeCrackViewPuzzleMania',\r\n CODE_CRACK_VIEW_CODE_CRACK = 'codeCrackViewCodeCrack',\r\n CODE_CRACK_VIEW_TECHNOLOGY_PLAYGROUND = 'codeCrackViewTechnologyPlayground',\r\n CODE_CRACK_WATCH_PROGRAMMING_CHALLENGES_VIDEO = 'codeCrackWatchProgrammingChallengesVideo',\r\n CODE_CRACK_VIEW_ACCELERATE = 'codeCrackViewAccelerate',\r\n CODE_CRACK_START_CODE_CRACK_TEST = 'codeCrackStartCodeCrackTest',\r\n CODE_CRACK_START_PUZZLE_MANIA = 'codeCrackStartPuzzleMania',\r\n CODE_CRACK_START_TECHNOLOGY_PLAYGROUND = 'codeCrackStartTechnologyPlayground',\r\n\r\n // Instructor Led Training\r\n INSTRUCTOR_LED_TRAINING = 'instructorLedTraining',\r\n INSTRUCTOR_LED_TRAINING_VIEW_TRAINING_SCHEDULE_SECTION = 'instructorLedTrainingViewTrainingScheduleSection',\r\n INSTRUCTOR_LED_TRAINING_VIEW_FEEDBACK_SECTION = 'instructorLedTrainingViewFeedbackSection',\r\n INSTRUCTOR_LED_TRAINING_VIEW_TRAININGS_PLANNED_BY_YOUR_TEAM_SECTION = 'instructorLedTrainingViewTrainingsPlannedByYourTeamSection',\r\n INSTRUCTOR_LED_TRAINING_SEARCH_TRAINING = 'instructorLedTrainingSearchTraining',\r\n INSTRUCTOR_LED_TRAINING_REGISTER_FOR_TRAINING = 'instructorLedTrainingRegisterForTraining',\r\n INSTRUCTOR_LED_TRAINING_GIVE_TRAINING_FEEDBACK = 'instructorLedTrainingGiveTrainingFeedback',\r\n\r\n // LeaderBoard\r\n LEADERBOARD = 'leaderboard',\r\n LEADERBOARD_VIEW_WEEKLY_SECTION = 'leaderboardViewWeeklySection',\r\n LEADERBOARD_VIEW_MONTHLY_SECTION = 'leaderboardViewMonthlySection',\r\n LEADERBOARD_VIEW_HALL_OF_FAME_SECTION = 'leaderboardViewHallOfSection',\r\n LEADERBOARD_APPLY_LEARNER_COLLABORATOR_FILTER = 'leaderboardApplyLearnerCollaboratorFilter',\r\n LEADERBOARD_BACK_DATE_BUTTON = 'leaderboardBackDatebutton',\r\n LEADERBOARD_FORWARD_DATE_BUTTON = 'leaderboardForwardDateButton',\r\n\r\n // Playground\r\n PLAYGROUND = 'playground',\r\n PLAYGROUND_VIEW_TECHNOLOGY_PLAYGROUNDS_STRIP = 'playgroundViewTechnologyPlaygorundsStrip',\r\n PLAYGROUND_VIEW_ASSESSMENTS_PLAYGROUNDS_STRIP = 'playgroundViewAssessmentsPlaygroundsStrip',\r\n\r\n // Puzzle Mania\r\n PUZZLE_MANIA = 'puzzleMania',\r\n PUZZLE_MANIA_VIEW_PUZZLE_MANIA = 'puzzleManiaViewPuzzleMania',\r\n PUZZLE_MANIA_VIEW_CODE_CRACK = 'puzzleManiaViewCodeCrack',\r\n PUZZLE_MANIA_VIEW_TECHNOLOGY_PLAYGROUND = 'puzzleManiaViewTechnologyPlayground',\r\n PUZZLE_MANIA_WATCH_PROGRAMMING_CHALLENGES_VIDEO = 'puzzleManiaWatchProgrammingChallengesVideo',\r\n PUZZLE_MANIA_VIEW_ACCELERATE = 'puzzleManiaViewAccelerate',\r\n PUZZLE_MANIA_START_CODE_CRACK_TEST = 'puzzleManiaStartCodeCrackTest',\r\n PUZZLE_MANIA_START_PUZZLE_MANIA = 'puzzleManiaStartPuzzleMania',\r\n PUZZLE_MANIA_START_TECHNOLOGY_PLAYGROUND = 'puzzleManiaStartTechnologyPlayground',\r\n\r\n // Full Stack Sales Leader\r\n FULL_STACK_SALES_LEADER = 'fullStackSalesLeader',\r\n FULL_STACK_SALES_LEADER_WATCH_LEADER_VIDEO = 'fullStackSalesLeaderWatchLeaderVideo',\r\n FULL_STACK_SALES_LEADER_EMBARK_ON_THIS_LEARNING_JOURNEY_BUTTON = 'fullStackSalesLeaderEmbarkOnThisLearningJourneyButton',\r\n FULL_STACK_SALES_LEADER_QUICK_TOUR_VIDEO_LINK = 'fullStackSalesLeaderQuickTourVideoLink',\r\n FULL_STACK_SALES_LEADER_FEEDBACK_LINK = 'fullStackSalesLeaderFeedbackLink',\r\n FULL_STACK_SALES_LEADER_DROP_NOTE_LINK = 'fullStackSalesLeaderDropNoteLink',\r\n\r\n // Onboarding\r\n ONBOARDING = 'onboarding',\r\n ONBOARDING_VIEW_DC_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewDcOnboardingProgramsStrip',\r\n ONBOARDING_VIEW_ORGANISATIONAL_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewOrganisationalOnboardingProgramsStrip',\r\n ONBOARDING_VIEW_ROLE_BASED_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewRoleBasedOnboardingProgramsStrip',\r\n ONBOARDING_VIEW_UNIT_AND_PROJECT_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewUnitAndProjectOnboardingProgramsStrip',\r\n\r\n // Search\r\n SEARCH = 'search',\r\n SEARCH_SEARCHING_CONTENT = 'searchSearchingContent',\r\n\r\n // Knowledge Hub\r\n KNOWLEDGE_HUB = 'knowledgeHub',\r\n KNOWLEDGE_HUB_SUBMIT_KNOWLEDGE_ARTIFACTS = 'knowledgeHubSubmitKnowledgeArtifacts',\r\n KNOWLEDGE_HUB_VIEW_TOP_PROJECTS_SECTION = 'knowledgeHubViewTopProjectsSection',\r\n KNOWLEDGE_HUB_VIEW_INTERESTING_READS_SECTION = 'knowledgeHubViewInterestingReadsSection',\r\n KNOWLEDGE_HUB_VIEW_MARKETING_SECTION = 'knowledgeHubViewMarketingSection',\r\n KNOWLEDGE_HUB_VIEW_KSHOP_CLASSIC_SECTION = 'knowledgeHubViewKshopClassicSection',\r\n KNOWLEDGE_HUB_VIEW_TRENDING_TOOLS_SECTION = 'knowledgeHubViewTrendingToolsSection',\r\n KNOWLEDGE_HUB_VIEW_DOCUMENTS_STRIP = 'knowledgeHubViewDocumentsStrip',\r\n KNOWLEDGE_HUB_VIEW_TOOLS_STRIP = 'knowledgeHubViewProjectReferencesStrip',\r\n KNOWLEDGE_HUB_VIEW_MARKETING_STRIP = 'knowledgeHubViewMarketingStrip',\r\n\r\n // Channels\r\n CHANNELS = 'channels',\r\n CHANNELS_VIEW_LEADERSHIP_SECTION = 'channelsViewLeadershipSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_PAGE = 'channelsViewRaviKumarPage',\r\n CHANNELS_VIEW_MOHIT_JOSHI_PAGE = 'channelsViewMohitJoshiPage',\r\n CHANNELS_FOLLOW_RAVI_KUMAR = 'channelsFollowRaviKumar',\r\n CHANNELS_MAIL_TO_RAVI_KUMAR = 'channelsMailToRaviKumar',\r\n CHANNELS_VIEW_ABOUT_RAVI_KUMAR_SECTION = 'channelsViewAboutRaviKumarSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_TWEETS_SECTION = 'channelsViewRaviKumarTweetsSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_ARTICLES_SECTION = 'channelsViewRaviKumarArticlesSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_TRAILBLAZERS_SECTION = 'channelsViewRaviKumarTrailblazersSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_COMMUNICATIONS_SECTION = 'channelsViewRaviKumarCommunicationsSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_DISCUSSION_SECTION = 'channelsViewraviKumarDiscussionSection',\r\n CHANNELS_LIKE_TWEET_RAVI_KUMAR = 'channelsLikeTweetRaviKumar',\r\n CHANNELS_SHARE_TWEET_RAVI_KUMAR = 'channelsShareTweetRaviKumar',\r\n CHANNELS_POST_YOUR_THOUGHTS_IN_DISCUSSION_RAVI_KUMAR = 'channelsPostYourThoughtsInDiscussionRaviKumar',\r\n CHANNELS_FOLLOW_MOHIT_JOSHI = 'channelsFollowMohitJoshi',\r\n CHANNELS_MAIL_TO_MOHIT_JOSHI = 'channelsMailToMohitJoshi',\r\n CHANNELS_VIEW_ABOUT_MOHIT_JOSHI_SECTION = 'channelsViewAboutMohitJoshiSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_TWEETS_SECTION = 'channelsViewMohitJoshiTweetsSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_ARTICLES_SECTION = 'channelsViewMohitJoshiArticlesSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_TRAILBLAZERS_SECTION = 'channelsViewMohitJoshiTrailblazersSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_COMMUNICATIONS_SECTION = 'channelsViewMohitJoshiCommunicationsSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_DISCUSSION_SECTION = 'channelsViewMohitJoshiDiscussionSection',\r\n CHANNELS_LIKE_TWEET_MOHIT_JOSHI = 'channelsLikeTweetMohitJoshi',\r\n CHANNELS_SHARE_TWEET_MOHIT_JOSHI = 'channelsShareTweetMohitJoshi',\r\n CHANNELS_POST_YOUR_THOUGHTS_IN_DISCUSSION_MOHIT_JOSHI = 'channelsPostYourThoughtsInDiscussionMohitJoshi',\r\n CHANNELS_VIEW_CORPORATE_SECTION = 'channelsViewCorporateSection',\r\n CHANNELS_VIEW_EXPERIENCE_WOW_PAGE = 'channelsViewExperienceWowPage',\r\n CHANNELS_VIEW_INFOSYS_KNOWLEDGE_INSTITUTE_PAGE = 'channelsViewInfosysKnowledgeInstitutePage',\r\n CHANNELS_VIEW_CMT_LEARNING_HUB_PAGE = 'channelsViewCmtLearningHubPage',\r\n CHANNELS_VIEW_FULL_STACK_SALES_LEADERS_PAGE = 'channelsViewFullStackSalesLeaderPage',\r\n\r\n // Experience Wow Page\r\n EXPERIENCE_WOW_PAGE = 'experienceWowPage',\r\n EXPERIENCE_WOW_PAGE_VIEW_PAGE_SECTIONS = 'experienceWowPageViewPageSections',\r\n EXPERIENCE_WOW_PAGE_CHECK_Wingspan_STATISTICS = 'experienceWowPageCheckWingspanStatistics',\r\n EXPERIENCE_WOW_PAGE_CHECK_INFY_ME_STATISTICS = 'experienceWowPageCheckInfyMeStatistics',\r\n EXPERIENCE_WOW_PAGE_PROVIDE_SUGGESTIONS = 'experienceWowPageProvideSuggestions',\r\n EXPERIENCE_WOW_PAGE_SEND_MAIL_FOR_BECOMING_COCREATOR = 'experienceWowPageSendMailForBecomingCocreator',\r\n\r\n // Infy Radio\r\n INFY_RADIO = 'infyRadio',\r\n INFY_RADIO_VIEW_PODCASTS_STRIP = 'infyRadioViewPodcastsStrip',\r\n\r\n // Infy TV\r\n INFY_TV = 'infyTv',\r\n INFY_TV_VIEW_JUST_FOR_YOU_SECTION = 'infyTvViewJustForYouSection',\r\n INFY_TV_VIEW_MUST_VIEW_STRIP = 'infyTvViewMustViewStrip',\r\n INFY_TV_VIEW_LATEST_STRIP = 'infyTvViewLatestStrip',\r\n INFY_TV_VIEW_CHANNELS_SECTION = 'infyTvViewChannelsSection',\r\n INFY_TV_VIEW_CHANNELS_STRIP = 'infyTvViewChannelsStrip',\r\n INFY_TV_VIEW_BROADCAST_SECTION = 'infyTvViewBroadcastSection',\r\n INFY_TV_VIEW_PREVIOUS_EVENTS_LIST = 'infyTvViewPreviousEventsList',\r\n INFY_TV_VIEW_LIVE_EVENTS_LIST = 'infyTvViewLiveEventsList',\r\n INFY_TV_VIEW_UPCOMING_EVENTS_LIST = 'infyTvViewUpcomingEventsList',\r\n\r\n // Leadership Messages\r\n LEADERSHIP_MESSAGES = 'leadershipMessages',\r\n LEADERSHIP_MESSAGES_VIEW_LEADERSHIP_VIDEO = 'leadershipMessagesViewLeadershipVideo',\r\n\r\n // Living Labs\r\n LIVING_LABS = 'livingLabs',\r\n LIVING_LABS_VIEW_LIVING_LABS_STRIP = 'livingLabsViewLivingLabsStrip',\r\n\r\n // Americas Confluence 2018\r\n AMERICAS_CONFLUENECE = 'americasConfluence',\r\n AMERICAS_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS = 'americasConfluenceViewConfluenceVideosStrips',\r\n\r\n // APAC Confluence 2019\r\n APAC_CONFLUENECE = 'apacConfluence',\r\n APAC_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS = 'apacConfluenceViewConfluenceVideosStrips',\r\n\r\n // EMEA Confluence 2018\r\n EMEA_CONFLUENECE = 'emeaConfluence',\r\n EMEA_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS = 'emeaConfluenceViewConfluenceVideosStrips',\r\n\r\n // Connect 2019\r\n CONNECT = 'connect',\r\n CONNECT_VIEW_CONTENT_STRIP = 'connectViewContentStrip',\r\n\r\n // Live Events\r\n LIVE_EVENTS = 'liveEvents',\r\n LIVE_EVENTS_WATCH_LIVE = 'liveEventsWatchLive',\r\n LIVE_EVENTS_WATCH_CLASSROOM_BROADCAST = 'liveEventsWatchClassroomBroadcast',\r\n LIVE_EVENTS_WATCH_THREE_SIXTY_VIDEO = 'liveEventsWatchThreeSixtyVideo',\r\n LIVE_EVENTS_WATCH_FAMILY_MATTERS_VIDEO = 'liveEventsWatchFamilyMattersVideo',\r\n LIVE_EVENTS_WATCH_CONFLUENCE_EVENTS = 'liveEventsWatchConfluenceEvents',\r\n\r\n // Digital Assistant Tour\r\n DIGITAL_ASSISTANT_TOUR = 'digitalAssistantTour',\r\n DIGITAL_ASSISTANT_TOUR_WATCH_TOUR_VIDEO = 'digitalAssistantTourWatchTourVideo',\r\n\r\n // Quick Tour\r\n QUICK_TOUR = 'quickTour',\r\n QUICK_TOUR_WATCH_TOUR_VIDEO = 'quickTourWatchTourVideo',\r\n\r\n // Logout\r\n LOGOUT = 'logout',\r\n LOGOUT_LOGS_OUT_FROM_APPLICATION = 'logoutLogsOutFromApplication',\r\n\r\n // My Analytics\r\n MY_ANALYTICS = 'myAnalytics',\r\n MY_ANALYTICS_APPLY_QUARTER_FILTERS = 'myAnalyticsApplyQuarterFilters',\r\n MY_ANALYTICS_VIEW_MY_LEARNING_SECTION = 'myAnalyticsViewMyLearningSection',\r\n MY_ANALYTICS_VIEW_MY_ASSESSMENT_SECTION = 'myAnalyticsViewMyAssessmentSection',\r\n MY_ANALYTICS_VIEW_MY_REFACTORING_SECTION = 'myAnalyticsViewMyRefactoringSection',\r\n MY_ANALYTICS_VIEW_MY_PLANS_SECTION = 'myAnalyticsViewMyPlansSection',\r\n MY_ANALYTICS_VIEW_MY_COLLABORATORS_SECTION = 'myAnalyticsViewMyCollaboratorsSection',\r\n MY_ANALYTICS_VIEW_MY_FEATURES_USAGE_SECTION = 'myAnalyticsViewTopCoursesSection',\r\n MY_ANALYTICS_VIEW_MY_LEARNING_MINUTES = 'myAnalyticsViewMyLearningMinutes',\r\n MY_ANALYTICS_VIEW_MY_LEARNING_POINTS = 'myAnalyticsViewMyLearningPoints',\r\n MY_ANALYTICS_VIEW_BADGES = 'myAnalyticsViewBadges',\r\n MY_ANALYTICS_VIEW_TIME_SPENT_BY_USER = 'myAnalyticsViewTimeSpentByUser',\r\n MY_ANALYTICS_VIEW_AVERAGE_MINUTES_ON_Wingspan = 'myAnalyticsViewAverageMinutesOnWingspan',\r\n MY_ANALYTICS_VIEW_AVERAGE_MINUTES_ACROSS_DIMENSIONS = 'myAnalyticsViewAverageMinutesAcrossDimensions',\r\n MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_USER = 'myAnalyticsViewPercentageTimeSpentByUser',\r\n MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_INFOSCIONS = 'myAnalyticsViewPercentageTimeSpentByInfoscions',\r\n MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_PEERS = 'myAnalyticsViewPercentageTimeSpentByPeers',\r\n MY_ANALYTICS_VIEW_TOTAL_ASSESSMENTS = 'myAnalyticsViewTotalAssessments',\r\n MY_ANALYTICS_VIEW_PENDING_ASSESSMENTS = 'myAnalyticsViewPendingAssessments',\r\n MY_ANALYTICS_VIEW_CERTIFICATIONS = 'myAnalyticsViewCertifications',\r\n MY_ANALYTICS_VIEW_ASSESSMENTS = 'myAnalyticsViewAssessments',\r\n MY_ANALYTICS_VIEW_RECENT_ASSESSMENTS = 'myAnalyticsViewRecentAssessments',\r\n MY_ANALYTICS_VIEW_ASSESSMENT_DETAILS = 'myAnalyticsViewAssessmentDetails',\r\n MY_ANALYTICS_VIEW_RECENT_ASSESSMENT = 'myAnalyticsViewRecentAssessment',\r\n MY_ANALYTICS_VIEW_MY_REFACTORING_PROGRAM = 'myAnalyticsViewMyRefactoringProgram',\r\n MY_ANALYTICS_VIEW_NAVIGATOR = 'myAnalyticsViewNavigator',\r\n MY_ANALYTICS_VIEW_AI_AND_AUTOMATION_PROGRESS = 'myAnalyticsViewAiAndAutomationProcess',\r\n MY_ANALYTICS_VIEW_MY_GOALS = 'myAnalyticsViewMyGoals',\r\n MY_ANALYTICS_VIEW_PLAYLIST = 'myAnalyticsViewPlaylist',\r\n MY_ANALYTICS_VIEW_GOALS_SHARED_WITH_USER = 'myAnalyticsViewGoalsSharedWithUser',\r\n MY_ANALYTICS_VIEW_DETAILED_COURSES_PROGRESS = 'myAnalyticsViewDetailedCoursesProgress',\r\n MY_ANALYTICS_VIEW_GOALS_SHARED_BY_USER = 'myAnalyticsViewGoalsSharedByUser',\r\n MY_ANALYTICS_VIEW_ARTIFACTS_SHARED_BY_USER = 'myAnalyticsViewArtifactsSharedByUser',\r\n MY_ANALYTICS_VIEW_EXPERTS_USER_CONTACTED = 'myAnalyticsViewExpertsUserContacted',\r\n MY_ANALYTICS_VIEW_DETAILED_GOALS_SHARING = 'myAnalyticsViewDetailedGoalsSharing',\r\n MY_ANALYTICS_VIEW_PLAYGROUNDS = 'myAnalyticsViewPlaygrounds',\r\n MY_ANALYTICS_VIEW_LIKES = 'myAnalyticsViewLikes',\r\n MY_ANALYTICS_VIEW_SEARCH = 'myAnalyticsViewSearch',\r\n MY_ANALYTICS_VIEW_INFY_TV = 'myAnalyticsViewInfyTv',\r\n MY_ANALYTICS_VIEW_INFY_RADIO = 'myAnalyticsViewInfyRadio',\r\n MY_ANALYTICS_VIEW_INFY_LIVE = 'myAnalyticsViewInfyLive',\r\n MY_ANALYTICS_VIEW_TOP_COURSES_BY_USER_UNIT = 'myAnalyticsViewTopCoursesByUserUnit',\r\n MY_ANALYTICS_VIEW_TOP_COURSES_BY_USER_PEERS = 'myAnalyticsViewTopCoursesbyUserPeers',\r\n\r\n // Learning Analytics\r\n LEARNING_ANALYTICS = 'learningAnalytics',\r\n LEARNING_ANALYTICS_SEARCH_FOR_PARTICIPANTS_AND_EDUCATORS = 'learningAnalyticsSearchForParticipantsAndEducators',\r\n LEARNING_ANALYTICS_UNIT_FILTER = 'learningAnalyticsUnitFilter',\r\n LEARNING_ANALYTICS_PU_FILTER = 'learningAnalyticsPuFilter',\r\n LEARNING_ANALYTICS_DU_FILTER = 'learningAnalyticsDuFilter',\r\n LEARNING_ANALYTICS_ACCOUNT_FILTER = 'learningAnalyticsAccountFilter',\r\n LEARNING_ANALYTICS_LOCATION_FILTER = 'learningAnalyticsLocationFilter',\r\n LEARNING_ANALYTICS_QUARTER_FILTER = 'learningAnalyticsQuarterFilter',\r\n LEARNING_ANALYTICS_COMPLETED_FILTER = 'learningAnalyticsCompletedFilter',\r\n LEARNING_ANALYTICS_ETA_FILTER = 'learningAnalyticsEtaFilter',\r\n LEARNING_ANALYTICS_UNIQUE_USERS_DATA = 'learningAnalyticsUniqueUsersData',\r\n LEARNING_ANALYTICS_USERS_BY_ONSITE_OFFSHORE = 'learningAnalyticsUsersByOnsiteOffshore',\r\n LEARNING_ANALYTICS_USERS_BY_DEVICE_TYPE = 'learningAnalyticsUsersByDeviceType',\r\n LEARNING_ANALYTICS_USERS_BY_UNIT = 'learningAnalyticsUsersByUnit',\r\n LEARNING_ANALYTICS_USERS_BY_TRACK = 'learningAnalyticsUsersByTrack',\r\n LEARNING_ANALYTICS_USERS_BY_PU_SALES = 'learningAnalyticsUsersByPuSales',\r\n LEARNING_ANALYTICS_USERS_BY_CU_TYPE = 'learningAnalyticsUsersByCuType',\r\n LEARNING_ANALYTICS_USERS_BY_SKILL = 'learningAnalyticsUsersBySkill',\r\n LEARNING_ANALYTICS_USERS_BY_TOPICS = 'learningAnalyticsUsersByTopics',\r\n LEARNING_ANALYTICS_USERS_BY_HORIZON = 'learningAnalyticsUsersByHorizon',\r\n LEARNING_ANALYTICS_USERS_GROWTH = 'learningAnalyticsUsersGrowth',\r\n LEARNING_ANALYTICS_USERS_DETAILS = 'learningAnalyticsUsersDetails',\r\n LEARNING_ANALYTICS_VIEW_ALL_TRAININGS_SECTION = 'learningAnalyticsViewAllTrainingsSection',\r\n LEARNING_ANALYTICS_TALENT_GRID_FILTER = 'learningAnalyticstalentGridFilter',\r\n LEARNING_ANALYTICS_STACK_FILTER = 'learningAnalyticsStackFilter',\r\n LEARNING_ANALYTICS_UNIQUE_PARTICIPANTS = 'learningAnalyticsUniqueParticipants',\r\n LEARNING_ANALYTICS_OVERALL_PARTICIPANTS = 'learningAnalyticsOverallParticipants',\r\n LEARNING_ANALYTICS_AVERAGE_DAYS = 'learningAnalyticsAverageDays',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_ONSITE_ONSHORE = 'learningAnalyticsParticipantsByOnsiteOnshore',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_UNIT = 'learningAnalyticsParticipantsByUnit',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_PU = 'learningAnalyticsParticipantsByPu',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_SKILL_TYPE = 'learningAnalyticsParticipantsBySkillType',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_SKILL = 'learningAnalyticsParticipantsBySkill',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_STACKS = 'learningAnalyticsParticipantsByStacks',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_NEW_SERVICES = 'learningAnalyticsParticipantsByNewServices',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_LEARNING_TRACK = 'learningAnalyticsParticipantsByLearningTrack',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_OFFERING_MODE = 'learningAnalyticsParticipantsByOfferingMode',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_TOPICS = 'learningAnalyticsParticipantsByTopics',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_ABCD = 'learningAnalyticsParticipantsByAbcd',\r\n LEARNING_ANALYTICS_PARTICIPANTS_DETAILS = 'learningAnalyticsParticipantsDetails',\r\n LEARNING_ANALYTICS_SCHEDULES_SECTION = 'learningAnalyticsSchedulesSection',\r\n LEARNING_ANALYTICS_SCHEDULE_DATE_FILTER = 'learningAnalyticsScheduleDateFilter',\r\n LEARNING_ANALYTICS_PARTICIPANTS = 'learningAnalyticsParticipants',\r\n LEARNING_ANALYTICS_EDUCATORS = 'learningAnalyticsEducators',\r\n LEARNING_ANALYTICS_COURSES = 'learningAnalyticsCourses',\r\n LEARNING_ANALYTICS_SCHEDULES = 'learningAnalyticsSchedules',\r\n LEARNING_ANALYTICS_VIEW_TRAINING_SCHEDULES_SECTION = 'learningAnalyticsTrainingSchedulesSection',\r\n LEARNING_ANALYTICS_COURSES_BY_OFFERING_MODE = 'learningAnalyticsCoursesByOfferingMode',\r\n LEARNING_ANALYTICS_COURSES_BY_TRACK = 'learningAnalyticsCoursesByTrack',\r\n LEARNING_ANALYTICS_COURSES_BY_TOPIC = 'learningAnalyticsCoursesByTopic',\r\n LEARNING_ANALYTICS_COURSES_BY_ABCD = 'learningAnalyticsCoursesByAbcd',\r\n LEARNING_ANALYTICS_COURSES_BY_SKILL = 'learningAnalyticsCoursesBySkill',\r\n\r\n // Apps Page\r\n APPS_PAGE = 'appsPage',\r\n APPS_PAGE_VIEW_DIFFERENT_APPS_ICONS = 'appsPageViewDifferentAppsIcons',\r\n\r\n // Course Card\r\n COURSE_CARD = 'courseCard',\r\n COURSE_CARD_LIKE_THE_COURSE_BUTTON = 'courseCardLikeTheCourseButton',\r\n COURSE_CARD_SHARE_THE_COURSE_BUTTON = 'courseCardShareTheCourseButton',\r\n COURSE_CARD_ADD_COURSE_TO_GOALS_BUTTON = 'courseCardAddCourseToGoalsButton',\r\n COURSE_CARD_ADD_COURSE_TO_PLAYLIST_BUTTON = 'courseCardAddCourseToPlaylistButton',\r\n COURSE_CARD_VIEW_MORE_OPTIONS_BUTTON = 'courseCardViewMoreOptionsButton',\r\n COURSE_CARD_START_COURSE_OPTION = 'courseCardStartCourseOption',\r\n COURSE_CARD_VIEW_TOC_OPTION = 'courseCardViewTocOption',\r\n COURSE_CARD_COHORTS_OPTION = 'courseCardCohortsOption',\r\n COURSE_CARD_ANALYTICS_OPTION = 'courseCardAnalyticsOption',\r\n\r\n // Search Results Page\r\n SEARCH_RESULTS_PAGE = 'searchResultsPage',\r\n SEARCH_RESULTS_PAGE_VIEW_LEARNING_SECTION = 'searchResultsPageViewLearningSection',\r\n SEARCH_RESULTS_PAGE_VIEW_CERTIFICATIONS_SECTION = 'searchResultsPageViewCertificationsSection',\r\n SEARCH_RESULTS_PAGE_VIEW_KNOWLEDGE_SECTION = 'searchResultsPageViewKnowledgeSection',\r\n SEARCH_RESULTS_PAGE_VIEW_PROJECTS_SECTION = 'searchResultsPageViewProjectsSection',\r\n SEARCH_RESULTS_PAGE_VIEW_SOCIAL_SECTION = 'searchResultsPageViewSocialSection',\r\n SEARCH_RESULTS_PAGE_CATALOG_FILTER = 'searchResultsPageCatalogFilter',\r\n SEARCH_RESULTS_PAGE_DURATION_FILTER = 'searchResultsPageDurationFilter',\r\n SEARCH_RESULTS_PAGE_CONTENT_TYPE_FILTER = 'searchResultsPageContentTypeFilter',\r\n SEARCH_RESULTS_PAGE_LEVEL_FILTER = 'searchResultsPageLevelFilter',\r\n SEARCH_RESULTS_PAGE_SOURCE_FILTER = 'searchResultsPageSourceFilter',\r\n SEARCH_RESULTS_PAGE_UNIT_FILTER = 'searchResultsPageUnitFilter',\r\n SEARCH_RESULTS_PAGE_TYPE_FILTER = 'searchResultsPageTypeFilter',\r\n SEARCH_RESULTS_PAGE_PUBLISHED_DATE_FILTER = 'searchResultsPagePublishedDateFilter',\r\n SEARCH_RESULTS_PAGE_CATEGORY_FILTER = 'searchResultsPageCategoryFilter',\r\n SEARCH_RESULTS_PAGE_ITEM_TYPE_FILTER = 'searchResultsPageItemTypeFilter',\r\n SEARCH_RESULTS_PAGE_TOPICS_FILTER = 'searchResultsPageTopicsFilter',\r\n SEARCH_RESULTS_PAGE_AUTHORS_FILTER = 'searchResultsPageAuthorsFilter',\r\n SEARCH_RESULTS_PAGE_TAGS_FILTER = 'searchResultsPageTagsFilter',\r\n SEARCH_RESULTS_PAGE_GROUPS_FILTER = 'searchResultsPageGroupsFilter',\r\n SEARCH_RESULTS_PAGE_VIEW_RESULT_CARDS = 'searchResultsPageViewResultCards',\r\n SEARCH_RESULTS_PAGE_VIEW_RELATED_CONCEPTS = 'searchResultsPageViewRelatedConcepts',\r\n\r\n // Lab42 Pages\r\n LAB_42_INTERVIEW = 'interview',\r\n LAB_42_DIALOGUE = 'dialogue',\r\n LAB_42_STRATEGY_MAP = 'strategyMap',\r\n LAB_42_VIRTUAL_CLASSROOM = 'virtualClassroom',\r\n LAB_42_PROJECT_STACK = 'projectStack',\r\n LAB_42_LIVE_TRANSCRIBE = 'liveTranscribe',\r\n LAB_42_EPOCH = 'epoch',\r\n\r\n // Learning Assistant Pages\r\n LEARNING_ASSISTANT_MAQ = 'learning-assistant-maq',\r\n LEARNING_ASSISTANT_ILIPDP = 'learning-assistant-ilipdp',\r\n}\r\n","export enum EInstance {\r\n INSTANCE = 'RootOrg',\r\n}\r\n","import { Directive, Input, OnInit, HostBinding, OnDestroy, AfterViewInit } from '@angular/core'\r\nimport { Subscription, fromEvent } from 'rxjs'\r\nimport { debounceTime } from 'rxjs/operators'\r\n\r\nenum ScrollingStateEnum {\r\n ScrollingUp,\r\n ScrollingDown,\r\n NoScrolling,\r\n}\r\n\r\n@Directive({\r\n selector: '[wsUtilsClassChangeOnScroll]',\r\n})\r\nexport class ClassChangeOnScrollDirective implements OnInit, OnDestroy, AfterViewInit {\r\n\r\n @Input() wsClassOnScrollDirChange = 5000\r\n\r\n @HostBinding('class.scrolling-down') get isScrollingDown() {\r\n return this.currState === ScrollingStateEnum.ScrollingDown\r\n }\r\n @HostBinding('class.scrolling-up') get isScrollingUp() {\r\n return this.currState === ScrollingStateEnum.ScrollingUp\r\n }\r\n @HostBinding('class.scrolling-no') get isNotScrolling() {\r\n return this.currState === ScrollingStateEnum.NoScrolling\r\n }\r\n @HostBinding('class.scrolled-down') hasScrolledDown = false\r\n\r\n private windowScrollSubscription: Subscription | null = null\r\n private timeoutTimer: any\r\n\r\n private lastScreenTop = 0\r\n private currState: ScrollingStateEnum = ScrollingStateEnum.NoScrolling\r\n constructor() { }\r\n ngOnInit() {\r\n this.windowScrollSubscription = fromEvent<Event>(window, 'scroll')\r\n .pipe(debounceTime(50))\r\n .subscribe(() => {\r\n clearTimeout(this.timeoutTimer)\r\n const curr = window.scrollY\r\n this.hasScrolledDown = curr > 56\r\n this.setScrollState(this.lastScreenTop, curr)\r\n this.lastScreenTop = curr\r\n })\r\n }\r\n\r\n ngAfterViewInit() { }\r\n ngOnDestroy() {\r\n if (this.windowScrollSubscription) {\r\n this.windowScrollSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n private setScrollState(prev: number = 0, curr: number = 0) {\r\n if (prev > curr) {\r\n this.currState = ScrollingStateEnum.ScrollingUp\r\n } else if (prev < curr) {\r\n this.currState = ScrollingStateEnum.ScrollingDown\r\n } else {\r\n this.currState = ScrollingStateEnum.NoScrolling\r\n }\r\n if (this.currState !== ScrollingStateEnum.NoScrolling) {\r\n this.resetScrollingState()\r\n }\r\n }\r\n private resetScrollingState() {\r\n this.timeoutTimer = setTimeout(\r\n () => {\r\n this.setScrollState()\r\n },\r\n this.wsClassOnScrollDirChange || 5000,\r\n )\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ClassChangeOnScrollDirective } from './class-change-on-scroll.directive'\r\n\r\n@NgModule({\r\n declarations: [ClassChangeOnScrollDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ClassChangeOnScrollDirective],\r\n})\r\nexport class ClassChangeOnScrollModule { }\r\n","import { Directive, Input, HostListener, HostBinding, OnChanges } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsDefaultThumbnail]',\r\n})\r\nexport class DefaultThumbnailDirective implements OnChanges {\r\n\r\n @Input() wsUtilsDefaultThumbnail = ''\r\n @Input() src = ''\r\n isSrcUpdateAttemptedForDefault = false\r\n\r\n @HostBinding('src') srcUrl = ''\r\n @HostListener('error') updateSrc() {\r\n if (!this.isSrcUpdateAttemptedForDefault) {\r\n this.srcUrl = this.wsUtilsDefaultThumbnail\r\n this.isSrcUpdateAttemptedForDefault = true\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.srcUrl = this.src\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { DefaultThumbnailDirective } from './default-thumbnail.directive'\r\n\r\n@NgModule({\r\n declarations: [DefaultThumbnailDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [DefaultThumbnailDirective],\r\n})\r\nexport class DefaultThumbnailModule { }\r\n","import { BreakpointObserver } from '@angular/cdk/layout'\r\nimport { Directive, HostBinding, Input, OnChanges, OnDestroy } from '@angular/core'\r\nimport { Subscription } from 'rxjs'\r\nimport { distinctUntilChanged } from 'rxjs/operators'\r\n\r\nexport interface IImageResponsiveUnit {\r\n [key: string]: string\r\n}\r\n\r\nconst customBreakPoints = {\r\n xs: '(max-width: 450px)',\r\n s: '(min-width: 450.001px) and (max-width: 768px)',\r\n m: '(min-width: 768.001px) and (max-width: 1024px)',\r\n l: '(min-width: 1024.001px) and (max-width: 1400px)',\r\n xl: '(min-width: 1400.001px) and (max-width: 1920px)',\r\n xxl: '(min-width: 1920.001px)',\r\n}\r\n\r\n@Directive({\r\n selector: '[wsUtilsImageResponsive]',\r\n})\r\nexport class ImageResponsiveDirective implements OnChanges, OnDestroy {\r\n\r\n @Input() src: IImageResponsiveUnit | null = null\r\n @HostBinding('src') srcBindUrl = ''\r\n\r\n currentSize = ''\r\n breakpointSubscription: Subscription | null = null\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n ) {\r\n this.breakpointSubscription = this.breakpointObserver\r\n .observe([\r\n customBreakPoints.xs,\r\n customBreakPoints.s,\r\n customBreakPoints.m,\r\n customBreakPoints.l,\r\n customBreakPoints.xl,\r\n customBreakPoints.xxl,\r\n ])\r\n .pipe(distinctUntilChanged())\r\n .subscribe(data => {\r\n // //console.log('data >', data)\r\n if (data.breakpoints[customBreakPoints.xxl]) {\r\n this.currentSize = 'xxl'\r\n } else if (data.breakpoints[customBreakPoints.xl]) {\r\n this.currentSize = 'xl'\r\n } else if (data.breakpoints[customBreakPoints.l]) {\r\n this.currentSize = 'l'\r\n } else if (data.breakpoints[customBreakPoints.m]) {\r\n this.currentSize = 'm'\r\n } else if (data.breakpoints[customBreakPoints.s]) {\r\n this.currentSize = 's'\r\n } else if (data.breakpoints[customBreakPoints.xs]) {\r\n this.currentSize = 'xs'\r\n } else {\r\n this.currentSize = 'xl'\r\n }\r\n this.setSrc()\r\n })\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.setSrc()\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.breakpointSubscription) {\r\n this.breakpointSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n private setSrc() {\r\n if (\r\n this.currentSize &&\r\n this.src &&\r\n this.src[this.currentSize]\r\n ) {\r\n this.srcBindUrl = this.src[this.currentSize]\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ImageResponsiveDirective } from './image-responsive.directive'\r\n\r\n@NgModule({\r\n declarations: [ImageResponsiveDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ImageResponsiveDirective],\r\n})\r\nexport class ImageResponsiveModule { }\r\n","import { Directive, OnInit, Output, EventEmitter, ElementRef, OnDestroy } from '@angular/core'\r\nimport { fromEvent } from 'rxjs'\r\nimport { debounceTime } from 'rxjs/operators'\r\n\r\n@Directive({\r\n selector: '[wsUtilsInViewPort]',\r\n})\r\nexport class InViewPortDirective implements OnInit, OnDestroy {\r\n\r\n private scroll: any\r\n private resize: any\r\n\r\n @Output() inViewport: EventEmitter<boolean> = new EventEmitter<boolean>()\r\n\r\n constructor(private _el: ElementRef) { }\r\n\r\n ngOnInit() {\r\n this.check()\r\n this.scroll =\r\n fromEvent(window, 'scroll').pipe(debounceTime(100)).subscribe(() => {\r\n this.check()\r\n })\r\n this.resize =\r\n fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe(() => {\r\n this.check()\r\n })\r\n\r\n // let limit = 1\r\n // this.scroll =\r\n // fromEvent(window, 'scroll').pipe(debounceTime(100)).subscribe(() => {\r\n // if (limit) {\r\n // this.check()\r\n // limit -= 1\r\n // }\r\n // })\r\n\r\n // this.resize =\r\n // fromEvent(window, 'resize').toPromise().then(() => {\r\n // this.check()\r\n // })\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.scroll.unsubscribe()\r\n this.resize.unsubscribe()\r\n }\r\n\r\n check(partial: boolean = true, direction: string = 'both') {\r\n const el = this._el.nativeElement\r\n\r\n const elSize = (el.offsetWidth * el.offsetHeight)\r\n\r\n const rec = el.getBoundingClientRect()\r\n\r\n const vp = {\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n }\r\n\r\n const tViz = rec.top >= 0 && rec.top < vp.height\r\n const bViz = rec.bottom > 0 && rec.bottom <= vp.height\r\n\r\n const lViz = rec.left >= 0 && rec.left < vp.width\r\n const rViz = rec.right > 0 && rec.right <= vp.width\r\n\r\n const vVisible = partial ? tViz || bViz : tViz && bViz\r\n const hVisible = partial ? lViz || rViz : lViz && rViz\r\n\r\n let event = false\r\n\r\n if (direction === 'both') {\r\n event = (elSize && vVisible && hVisible) ? true : false\r\n } else if (direction === 'vertical') {\r\n event = (elSize && vVisible) ? true : false\r\n } else if (direction === 'horizontal') {\r\n event = (elSize && hVisible) ? true : false\r\n }\r\n this.inViewport.emit(event)\r\n }\r\n}\r\n","import { InViewPortDirective } from './in-view-port.directive'\r\nimport { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\n\r\n@NgModule({\r\n declarations: [InViewPortDirective],\r\n exports: [InViewPortDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n})\r\nexport class InViewPortModule { }\r\n","import { Directive, OnChanges, Input, HostBinding, HostListener } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsNavigation]',\r\n})\r\nexport class NavigationDirective implements OnChanges {\r\n @Input() wsUtilsNavigation = ''\r\n @Input() openInNewTab = false\r\n @Input()\r\n @HostBinding('attr.routerLink') routeUrl = ''\r\n @HostListener('mousedown', ['$event']) onMouseEnter($event: Event) {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n $event.preventDefault()\r\n $event.stopPropagation()\r\n this.routeUrl = './'\r\n window.open(this.wsUtilsNavigation)\r\n }\r\n }\r\n constructor() { }\r\n\r\n ngOnChanges() {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n this.routeUrl = './'\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { NavigationDirective } from './navigation.directive'\r\n\r\n@NgModule({\r\n declarations: [NavigationDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [NavigationDirective],\r\n})\r\nexport class NavigationModule { }\r\n","import { Directive } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsPermission]',\r\n})\r\nexport class PermissionDirective {\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PermissionDirective } from './permission.directive'\r\n\r\n@NgModule({\r\n declarations: [PermissionDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PermissionDirective],\r\n})\r\nexport class PermissionModule { }\r\n","export function getStringifiedQueryParams(obj: { [key: string]: number | string | undefined | string[] }) {\r\n return Object.entries(obj)\r\n .filter(u => u[1])\r\n .map(u => {\r\n return `${u[0]}=${u[1]}`\r\n })\r\n .join('&')\r\n}\r\n","import { Component, OnInit, OnChanges, OnDestroy, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core'\r\nimport {\r\n fromEvent,\r\n Subscription,\r\n timer,\r\n} from 'rxjs'\r\nimport { debounceTime, throttleTime } from 'rxjs/operators'\r\nimport { TFetchStatus } from '../../constants/misc.constants'\r\n\r\n@Component({\r\n selector: 'ws-utils-horizontal-scroller',\r\n templateUrl: './horizontal-scroller.component.html',\r\n styleUrls: ['./horizontal-scroller.component.scss'],\r\n})\r\nexport class HorizontalScrollerComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n @Input()\r\n loadStatus: TFetchStatus = 'none'\r\n @Input()\r\n onHover = false\r\n @Output()\r\n loadNext = new EventEmitter()\r\n @ViewChild('horizontalScrollElem', { static: true })\r\n horizontalScrollElem: ElementRef | null = null\r\n\r\n enablePrev = false\r\n enableNext = false\r\n private scrollObserver: Subscription | null = null\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n if (this.horizontalScrollElem) {\r\n const horizontalScrollElem = this.horizontalScrollElem\r\n this.scrollObserver = fromEvent(\r\n horizontalScrollElem.nativeElement,\r\n 'scroll',\r\n )\r\n .pipe(debounceTime(100), throttleTime(100))\r\n .subscribe(_ => {\r\n this.updateNavigationBtnStatus(horizontalScrollElem\r\n .nativeElement as HTMLElement)\r\n })\r\n }\r\n }\r\n ngOnChanges() {\r\n timer(100).subscribe(() => {\r\n if (this.horizontalScrollElem) {\r\n this.updateNavigationBtnStatus(this.horizontalScrollElem\r\n .nativeElement as HTMLElement)\r\n }\r\n })\r\n }\r\n ngOnDestroy() {\r\n if (this.scrollObserver) {\r\n this.scrollObserver.unsubscribe()\r\n }\r\n }\r\n showPrev() {\r\n if (this.horizontalScrollElem) {\r\n // const elem = this.horizontalScrollElem.nativeElement\r\n // elem.scrollLeft -= 0.20 * elem.clientWidth\r\n if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,\r\n behavior: 'smooth',\r\n })\r\n }\r\n }\r\n }\r\n showNext() {\r\n if (this.horizontalScrollElem) {\r\n // const elem = this.horizontalScrollElem.nativeElement\r\n // elem.scrollLeft += 0.20 * elem.clientWidth\r\n if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,\r\n behavior: 'smooth',\r\n })\r\n }\r\n }\r\n }\r\n private updateNavigationBtnStatus(elem: HTMLElement) {\r\n this.enablePrev = true\r\n this.enableNext = true\r\n if (elem.scrollLeft === 0) {\r\n this.enablePrev = false\r\n }\r\n if (elem.scrollWidth === elem.clientWidth + elem.scrollLeft) {\r\n if (this.loadStatus === 'hasMore') {\r\n this.loadNext.emit()\r\n } else {\r\n this.enableNext = false\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { HorizontalScrollerComponent } from './horizontal-scroller.component'\r\nimport { MatButtonModule, MatIconModule, MatProgressSpinnerModule } from '@angular/material'\r\n\r\n@NgModule({\r\n declarations: [HorizontalScrollerComponent],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n ],\r\n exports: [HorizontalScrollerComponent],\r\n})\r\nexport class HorizontalScrollerModule { }\r\n","// tslint:disable:no-console\r\nimport { Injectable } from '@angular/core'\r\nimport { ConfigurationsService } from './configurations.service'\r\n\r\ntype consoleFun = (...args: any) => void\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoggerService {\r\n constructor(private configSvc: ConfigurationsService) { }\r\n\r\n private consoleError = console.error\r\n private consoleInfo = console.info\r\n private consoleLog = console.log\r\n private consoleWarn = console.warn\r\n private noConsole: consoleFun = () => { }\r\n\r\n get error() {\r\n return this.consoleError\r\n }\r\n get info() {\r\n return this.configSvc.isProduction ? this.noConsole : this.consoleInfo\r\n }\r\n get log() {\r\n return this.configSvc.isProduction ? this.noConsole : this.consoleLog\r\n }\r\n get warn() {\r\n return this.configSvc.isProduction ? this.noConsole : this.consoleWarn\r\n }\r\n\r\n removeConsoleAccess() {\r\n if (this.configSvc.isProduction) {\r\n return\r\n }\r\n const noConsoleWithError: consoleFun = () => {\r\n throw new Error('Console Functions Usage Are Not Allowed.')\r\n }\r\n // console.log = noConsoleWithError\r\n console.warn = noConsoleWithError\r\n console.info = noConsoleWithError\r\n console.error = noConsoleWithError\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { LoggerService } from './logger.service'\r\nimport { NsInstanceConfig } from './configurations.model'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { IWsMsTokenModelResponse } from './ms-office.model'\r\n// TODO: Use a url-search-polyfill if the site didnot work in IE 11\r\n\r\nconst msTokenExpiryDuration = 600\r\nconst storageKey = 'msLoginRequested'\r\nconst storage = localStorage\r\n\r\nconst API_ENDPOINTS = {\r\n sharePointToken: '/apis/protected/v8/user/token',\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthMicrosoftService {\r\n private msConfig: NsInstanceConfig.IMicrosoft = {\r\n clientId: '',\r\n tenant: '',\r\n defaultEmailId: '',\r\n validEmailExtensions: [],\r\n isConfigured: false,\r\n }\r\n private emailUsed: string | null = null\r\n private code: string | null = null\r\n private msToken: IWsMsTokenModelResponse = {\r\n accessToken: '',\r\n expiresOn: '',\r\n resource: '',\r\n tokenType: '',\r\n }\r\n\r\n constructor(private loggerSvc: LoggerService, private http: HttpClient) { }\r\n\r\n get isLogoutRequired(): boolean {\r\n return Boolean(this.msConfig.isConfigured && this.msConfig.clientId && this.emailUsed)\r\n }\r\n get loginUrl(): string | null {\r\n if (this.msConfig.isConfigured && this.msConfig.clientId) {\r\n const base = 'https://login.windows.net/common/oauth2/authorize'\r\n const searchParam = new URLSearchParams({\r\n response_type: 'code',\r\n client_id: this.msConfig.clientId,\r\n redirect_uri: window.location.href,\r\n })\r\n const fragment = location.search.substring(1)\r\n if (fragment) {\r\n return `${base}?${searchParam.toString()}#${fragment}`\r\n }\r\n return `${base}?${searchParam.toString()}`\r\n }\r\n return null\r\n }\r\n logoutUrl(redirectUrl: string) {\r\n if (this.isValidEmail(this.emailUsed || '')) {\r\n return `https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri=${redirectUrl}`\r\n }\r\n return redirectUrl\r\n }\r\n\r\n // Behavior Methods\r\n\r\n async init(config: Pick<NsInstanceConfig.IConfig, 'microsoft'>) {\r\n if (!config || !config.microsoft || !config.microsoft.isConfigured) {\r\n this.loggerSvc.warn('Empty/No Configuration passed, ignoring Microsoft Authentication')\r\n }\r\n this.msConfig = config.microsoft\r\n const queryParams = new URLSearchParams(location.search)\r\n if (queryParams.has('code') && queryParams.has('session_state')) {\r\n this.code = queryParams.get('code')\r\n if (!this.code) {\r\n return\r\n }\r\n let url = location.origin + location.pathname\r\n await this.exchangeTokenForCode(this.code, url)\r\n if (location.hash) {\r\n url += location.hash.substring(1)\r\n }\r\n history.replaceState(null, '', url)\r\n }\r\n }\r\n\r\n async login(email: string) {\r\n if (!this.isValidEmail(email)) {\r\n this.loggerSvc.warn(`Microsoft Login is not allowed for your emailId (${email})`)\r\n return\r\n }\r\n const loginUrl = this.loginUrl\r\n if (loginUrl) {\r\n location.assign(loginUrl)\r\n } else {\r\n this.loggerSvc.warn('Unable to identify Office Login URL, Ignoring login request')\r\n }\r\n }\r\n\r\n async getToken(email: string): Promise<string> {\r\n if (\r\n this.msToken &&\r\n this.isValid(this.msToken.accessToken, this.msToken.expiresOn) &&\r\n this.msToken.accessToken\r\n ) {\r\n return this.msToken.accessToken\r\n }\r\n if (this.isValidEmail(email)) {\r\n try {\r\n this.msToken = await this.getTokenForEmail(email)\r\n if (this.msToken.accessToken) {\r\n this.emailUsed = email\r\n return this.msToken.accessToken\r\n }\r\n } catch (error) {\r\n if (!this.code) {\r\n this.login(email)\r\n }\r\n }\r\n }\r\n if (this.msConfig.defaultEmailId && this.isValidEmail(this.msConfig.defaultEmailId)) {\r\n try {\r\n this.msToken = await this.getTokenForEmail(this.msConfig.defaultEmailId)\r\n if (this.msToken.accessToken) {\r\n this.emailUsed = this.msConfig.defaultEmailId\r\n return this.msToken.accessToken\r\n }\r\n } catch (error) { }\r\n }\r\n throw new Error('UNABLE TO FETCH MS AUTH TOKEN')\r\n }\r\n\r\n loginForSSOEnabledEmbed(email: string) {\r\n if (!this.isValidEmail(email)) {\r\n this.loggerSvc.warn('SSO Login request Ignored. Invalid Email Id for SSO Enabled Content')\r\n }\r\n let msPrevTS = 0\r\n try {\r\n msPrevTS = parseInt(storage.getItem(storageKey) || '0', 10)\r\n } catch (error) { }\r\n if (!msPrevTS || (msPrevTS && (Date.now() - msPrevTS) / 1000 > msTokenExpiryDuration)) {\r\n this.loggerSvc.info(\r\n `last login exceeded ${msTokenExpiryDuration} duration. Redirecting to O365 login`,\r\n )\r\n storage.setItem(storageKey, Date.now().toString())\r\n this.login(email)\r\n }\r\n }\r\n\r\n isValidEmail(email: string) {\r\n return this.msConfig.validEmailExtensions.some(ext => email.endsWith(ext))\r\n }\r\n\r\n isValid(accessToken: string | undefined, expiresOn: string | undefined): boolean {\r\n if (accessToken && expiresOn) {\r\n // TODO: Implement expiredOn and Date comparison based validity\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n async exchangeTokenForCode(code: string, redirectUrl: string): Promise<any> {\r\n const response = await this.http\r\n .get<IWsMsTokenModelResponse>(`${API_ENDPOINTS}?code=${code}&redirectUrl=${redirectUrl}`)\r\n .toPromise()\r\n return this.getInstanceFromResponse(response)\r\n }\r\n\r\n async getTokenForEmail(email: string): Promise<any> {\r\n const response = await this.http\r\n .get<IWsMsTokenModelResponse>(`${API_ENDPOINTS.sharePointToken}?email=${email}`)\r\n .toPromise()\r\n return this.getInstanceFromResponse(response)\r\n }\r\n\r\n getInstanceFromResponse(token: IWsMsTokenModelResponse) {\r\n return {\r\n accessToken: token.accessToken,\r\n expiresOn: token.expiresOn,\r\n resource: token.resource,\r\n tokenType: token.tokenType,\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\nimport { KeycloakEvent, KeycloakEventType, KeycloakInitOptions, KeycloakService } from 'keycloak-angular'\nimport { fromEvent, ReplaySubject } from 'rxjs'\nimport { filter } from 'rxjs/operators'\nimport { AuthMicrosoftService } from './auth-microsoft.service'\nimport { ConfigurationsService } from './configurations.service'\n\ninterface IParsedToken {\n email?: string\n encEmail?: string\n name?: string\n preferred_username?: string\n}\n\nconst storage = localStorage\nconst storageKey = 'kc'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthKeycloakService {\n private loginChangeSubject = new ReplaySubject<boolean>(1)\n constructor(\n private configSvc: ConfigurationsService,\n private keycloakSvc: KeycloakService,\n private msAuthSvc: AuthMicrosoftService,\n ) {\n this.loginChangeSubject.subscribe((isLoggedIn: boolean) => {\n this.configSvc.isAuthenticated = isLoggedIn\n if (\n isLoggedIn &&\n this.configSvc.instanceConfig &&\n Boolean(this.configSvc.instanceConfig.disablePidCheck)\n ) {\n this.configSvc.userProfile = {\n email: this.userEmail,\n userName: this.userName,\n userId: this.userId || '',\n }\n }\n })\n }\n\n // Getters\n get isLoggedIn$() {\n return this.loginChangeSubject.asObservable()\n }\n get isLoggedIn(): Promise<boolean> {\n return this.keycloakSvc.isLoggedIn()\n }\n get isAuthenticated(): boolean | undefined {\n return this.keycloakSvc.getKeycloakInstance().authenticated\n }\n get token(): string | undefined {\n return this.keycloakSvc.getKeycloakInstance().token\n }\n get sessionId(): string | undefined {\n return this.keycloakSvc.getKeycloakInstance().sessionId\n }\n get userId(): string | undefined {\n const kc = this.keycloakSvc.getKeycloakInstance()\n if (!kc) {\n return\n }\n return (kc.tokenParsed && kc.tokenParsed.sub) || (kc.idTokenParsed && kc.idTokenParsed.sub)\n }\n\n get userEmail(): string | undefined {\n const kc = this.keycloakSvc.getKeycloakInstance()\n\n const tokenParsed = kc.tokenParsed as IParsedToken\n const idTokenParsed = kc.idTokenParsed as IParsedToken\n return (\n (tokenParsed && tokenParsed.email) ||\n (idTokenParsed && idTokenParsed.email) ||\n (idTokenParsed && idTokenParsed.encEmail) ||\n (tokenParsed && tokenParsed.preferred_username) ||\n (idTokenParsed && idTokenParsed.preferred_username)\n )\n }\n\n get userName(): string | undefined {\n const kc = this.keycloakSvc.getKeycloakInstance()\n return (\n (kc.tokenParsed && (kc.tokenParsed as IParsedToken).name) ||\n (kc.idTokenParsed && (kc.idTokenParsed as IParsedToken).name)\n )\n }\n\n async initAuth(): Promise<boolean> {\n if (!this.configSvc.instanceConfig) {\n return false\n }\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig.microsoft.isConfigured) {\n this.msAuthSvc.init({ microsoft: instanceConfig.microsoft })\n }\n try {\n this.setupGlobalAuthResponder()\n this.addKeycloakEventListener()\n return await this.keycloakSvc.init({\n config: {\n url: instanceConfig.keycloak.url,\n realm: instanceConfig.keycloak.realm,\n clientId: instanceConfig.keycloak.clientId,\n },\n initOptions: {\n ...this.getSavedKcConfig(),\n onLoad: instanceConfig.keycloak.onLoad || 'check-sso',\n checkLoginIframe: false,\n },\n enableBearerInterceptor: true,\n loadUserProfileAtStartUp: false,\n bearerExcludedUrls: instanceConfig.keycloak.bearerExcludedUrls,\n })\n } catch (err) {\n return false\n }\n }\n\n login(\n idpHint: 'E' | 'N' | 'S' = 'E',\n redirectUrl: string = this.defaultRedirectUrl,\n ): Promise<void> {\n return this.keycloakSvc.login({\n idpHint,\n redirectUri: redirectUrl,\n })\n }\n\n register(\n redirectUrl: string = this.defaultRedirectUrl,\n ): Promise<void> {\n return this.keycloakSvc.register({\n redirectUri: redirectUrl,\n })\n }\n /**\n * @deprecated this will be depricated\n */\n async logout(_redirectUrl = this.defaultRedirectUrl) {\n // window.location.href = `${_redirectUrl}apis/reset`\n window.location.href = `${_redirectUrl}public/logout`\n\n // storage.removeItem(storageKey)\n // await this.http.get('/apis/reset').toPromise()\n // if (this.msAuthSvc.isLogoutRequired) {\n // this.keycloakSvc.logout(this.msAuthSvc.logoutUrl(redirectUrl))\n // } else {\n // this.keycloakSvc.logout(redirectUrl)\n // }\n }\n async force_logout() {\n // const headers = new HttpHeaders({\n // 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\n // Pragma: 'no-cache',\n // Expires: '0',\n // })\n if (storage.getItem('telemetrySessionId')) {\n storage.removeItem('telemetrySessionId')\n }\n // try {\n // sessionStorage.clear()\n // localStorage.clear()\n // } catch {\n\n // }\n storage.removeItem(storageKey)\n if (localStorage.getItem('login') === 'true') {\n try {\n sessionStorage.clear()\n localStorage.clear()\n } catch {\n\n }\n window.location.href = `${this.defaultRedirectUrl}apis/reset`\n } else {\n window.location.href = `${this.defaultRedirectUrl}public/logout`\n }\n // window.location.href = '/public/logout'\n // await this.http.get('/apis/reset', { headers }).toPromise()\n }\n private addKeycloakEventListener() {\n this.keycloakSvc.keycloakEvents$.subscribe((event: KeycloakEvent) => {\n switch (event.type) {\n case KeycloakEventType.OnAuthError:\n this.loginChangeSubject.next(false)\n break\n case KeycloakEventType.OnAuthLogout:\n this.loginChangeSubject.next(false)\n storage.removeItem(storageKey)\n break\n case KeycloakEventType.OnAuthRefreshError:\n break\n case KeycloakEventType.OnAuthRefreshSuccess:\n break\n case KeycloakEventType.OnAuthSuccess:\n break\n case KeycloakEventType.OnReady:\n this.loginChangeSubject.next(event.args)\n if (event.args) {\n this.saveKeycloakConfig()\n }\n break\n case KeycloakEventType.OnTokenExpired:\n this.keycloakSvc.updateToken(60)\n break\n }\n })\n }\n\n private setupGlobalAuthResponder() {\n fromEvent<MessageEvent>(window, 'message')\n .pipe(\n filter(\n (event: MessageEvent) =>\n Boolean(event) &&\n Boolean(event.data) &&\n event.data.type === 'AUTH_REQUEST' &&\n Boolean(event.source && typeof event.source.postMessage === 'function'),\n ),\n )\n .subscribe(async (event: MessageEvent) => {\n const contentWindow = event.source as Window\n const token = await this.keycloakSvc.getToken()\n const response = {\n app: 'WEB_PORTAL',\n type: 'AUTH_RESPONSE',\n state: 'NONE',\n plugin: 'NONE',\n data: {\n token,\n id: event.data && event.data.data && event.data.data.id,\n },\n }\n contentWindow.postMessage(response, '*')\n })\n }\n\n // Utility Methods\n private saveKeycloakConfig() {\n const kc = this.keycloakSvc.getKeycloakInstance()\n const kcInitOptions: KeycloakInitOptions = {\n idToken: kc.idToken,\n refreshToken: kc.refreshToken,\n timeSkew: kc.timeSkew,\n token: kc.token,\n }\n storage.setItem(storageKey, JSON.stringify(kcInitOptions))\n }\n private getSavedKcConfig(): KeycloakInitOptions {\n try {\n // const lastSaved = KEYCLOAK_STORAGE.getItem(key);\n const lastSaved = storage.getItem(storageKey)\n if (lastSaved) {\n const processed = JSON.parse(lastSaved)\n if (\n 'idToken' in processed &&\n 'refreshToken' in processed &&\n 'timeSkew' in processed &&\n 'token' in processed\n ) {\n return processed\n }\n }\n } catch (e) { }\n return {}\n }\n\n private get defaultRedirectUrl(): string {\n try {\n const baseUrl = document.baseURI\n return baseUrl || location.origin\n } catch (error) {\n return location.origin\n }\n }\n}\n","import { Platform } from '@angular/cdk/platform'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs'\r\nimport { Router, NavigationEnd, ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router'\r\nimport { WsEvents } from './event.model'\r\ninterface IWindowMobileAppModified extends Window {\r\n appRef?: any\r\n webkit?: any\r\n}\r\ndeclare var window: IWindowMobileAppModified\r\n\r\nconst RANDOM_ID_PER_USER = 0\r\ninterface IRecursiveData {\r\n identifier: string\r\n children: null | IRecursiveData[]\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UtilityService {\r\n currentRouteData: any[] = []\r\n constructor(\r\n private http: HttpClient,\r\n private platform: Platform,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n // private events: EventService,\r\n ) {\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationEnd) {\r\n // let snapshot = this.router.routerState.firstChild(this.activatedRoute).snapshot\r\n // console.log('this.route.snapshot :: ', this.route.snapshot)\r\n const snapshot = this.route.snapshot\r\n // console.log('root.snapshot.root.firstChild ', snapshot.root.firstChild)\r\n // console.log('firstChild ', snapshot.firstChild)\r\n const firstChild = snapshot.root.firstChild\r\n this.getChildRouteData(snapshot, firstChild)\r\n }\r\n })\r\n }\r\n\r\n private getChildRouteData(snapshot: ActivatedRouteSnapshot, firstChild: ActivatedRouteSnapshot | null) {\r\n if (firstChild) {\r\n if (firstChild.data) {\r\n // console.log('firstChild.data', firstChild.data)\r\n this.currentRouteData.push(firstChild.data)\r\n }\r\n if (firstChild.firstChild) {\r\n this.getChildRouteData(snapshot, firstChild.firstChild)\r\n }\r\n }\r\n }\r\n\r\n get randomId() {\r\n return RANDOM_ID_PER_USER + 1\r\n }\r\n\r\n getJson<T>(url: string): Observable<T> {\r\n return this.http.get<T>(url)\r\n }\r\n\r\n getLeafNodes<T extends IRecursiveData>(node: T, nodes: T[]): T[] {\r\n if ((node.children || []).length === 0) {\r\n nodes.push(node)\r\n } else {\r\n if (node.children) {\r\n node.children.forEach(child => {\r\n this.getLeafNodes(child, nodes)\r\n })\r\n }\r\n }\r\n return nodes\r\n }\r\n getPath<T extends IRecursiveData>(node: T, id: string): T[] {\r\n const path: T[] = []\r\n this.hasPath(node, path, id)\r\n return path\r\n }\r\n\r\n private hasPath<T extends IRecursiveData>(node: T, pathArr: T[], id: string): boolean {\r\n if (node == null) {\r\n return false\r\n }\r\n pathArr.push(node)\r\n if (node.identifier === id) {\r\n return true\r\n }\r\n const children = node.children || []\r\n if (children.some(u => this.hasPath(u, pathArr, id))) {\r\n return true\r\n }\r\n pathArr.pop()\r\n return false\r\n }\r\n\r\n get isMobile(): boolean {\r\n if (this.isIos || this.isAndroid) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n get isIos(): boolean {\r\n return this.platform.IOS\r\n }\r\n\r\n get isAndroid(): boolean {\r\n return this.platform.ANDROID\r\n }\r\n get isAndroidApp(): boolean {\r\n return Boolean(window.appRef)\r\n }\r\n\r\n get iOsAppRef() {\r\n if (\r\n window.webkit &&\r\n window.webkit.messageHandlers &&\r\n window.webkit.messageHandlers.appRef\r\n ) {\r\n return window.webkit.messageHandlers.appRef\r\n }\r\n return null\r\n }\r\n\r\n public setRouteData(data: any) {\r\n this.currentRouteData = data\r\n }\r\n\r\n get routeData(): WsEvents.ITelemetryPageContext {\r\n const data: WsEvents.ITelemetryPageContext = {\r\n module: '',\r\n pageId: '',\r\n }\r\n // tslint:disable-next-line: no-console\r\n // console.log('Final currentDataRoute get routeData()', this.currentRouteData)\r\n this.currentRouteData.map((rd: any) => {\r\n if (rd.pageId) {\r\n data.pageId = `${data.pageId}/${rd.pageId}`\r\n }\r\n if (rd.module) {\r\n data.module = rd.module\r\n }\r\n })\r\n return data\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core'\r\nimport { MatDialogRef } from '@angular/material'\r\n// import { Router } from '@angular/router'\r\nimport { AuthKeycloakService } from '../../services/auth-keycloak.service'\r\nimport { ConfigurationsService } from '../../services/configurations.service'\r\nimport { UtilityService } from '../../services/utility.service'\r\n\r\n@Component({\r\n selector: 'ws-utils-logout',\r\n templateUrl: './logout.component.html',\r\n styleUrls: ['./logout.component.scss'],\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n\r\n disabled = false\r\n isDownloadableIos = false\r\n isDownloadableAndroid = false\r\n constructor(\r\n public dialogRef: MatDialogRef<LogoutComponent>,\r\n private authSvc: AuthKeycloakService,\r\n private configSvc: ConfigurationsService,\r\n private utilitySvc: UtilityService,\r\n // private router: Router,\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.configSvc.restrictedFeatures) {\r\n this.isDownloadableIos = !this.configSvc.restrictedFeatures.has('iosDownload')\r\n this.isDownloadableAndroid = !this.configSvc.restrictedFeatures.has('androidDownload')\r\n }\r\n }\r\n\r\n confirmed() {\r\n this.disabled = true\r\n this.dialogRef.close()\r\n this.authSvc.force_logout()\r\n // this.router.navigate(['public', 'logout'])\r\n // this.router.logout()\r\n }\r\n\r\n get isDownloadable() {\r\n if (this.configSvc.instanceConfig && this.configSvc.instanceConfig.isContentDownloadAvailable &&\r\n (this.utilitySvc.iOsAppRef || this.utilitySvc.isAndroidApp)) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { MatButtonModule, MatDialogModule } from '@angular/material'\r\n\r\nimport { LogoutComponent } from './logout.component'\r\n\r\n@NgModule({\r\n declarations: [LogoutComponent],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n ],\r\n entryComponents: [LogoutComponent],\r\n})\r\nexport class LogoutModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\ninterface IDateRange {\r\n fromDate: Date\r\n toDate: Date\r\n timeZone?: string\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeConciseDateRange',\r\n})\r\nexport class PipeConciseDateRangePipe implements PipeTransform {\r\n transform(dateRange: IDateRange): string {\r\n try {\r\n let conciseRange: string\r\n let prefix: string\r\n let suffix: string\r\n const fromDate = new Date(dateRange.fromDate)\r\n const toDate = new Date(dateRange.toDate)\r\n\r\n const fromDateObj = {\r\n day: fromDate.getDate(),\r\n month: fromDate.toLocaleString('default', { month: 'short' }),\r\n year: fromDate.getFullYear(),\r\n time: fromDate.getTime(),\r\n }\r\n\r\n const toDateObj = {\r\n day: toDate.getDate(),\r\n month: toDate.toLocaleString('default', { month: 'short' }),\r\n year: toDate.getFullYear(),\r\n time: toDate.getTime(),\r\n }\r\n\r\n if (fromDateObj.time === toDateObj.time) {\r\n conciseRange = `${fromDateObj.day} ${fromDateObj.month} ${fromDateObj.year}`\r\n return conciseRange\r\n }\r\n\r\n if (fromDateObj.year !== fromDateObj.year) {\r\n prefix = `${fromDateObj.day} ${fromDateObj.month} ${fromDateObj.year}`\r\n suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`\r\n conciseRange = `${prefix} - ${suffix}`\r\n return conciseRange\r\n }\r\n\r\n if (fromDateObj.month === toDateObj.month) {\r\n prefix = `${fromDateObj.day}`\r\n suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`\r\n } else {\r\n prefix = `${fromDateObj.day} ${fromDateObj.month}`\r\n suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`\r\n }\r\n\r\n conciseRange = `${prefix} - ${suffix}`\r\n return conciseRange\r\n } catch (e) {\r\n return `${dateRange.fromDate} - ${dateRange.toDate}`\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeConciseDateRangePipe } from './pipe-concise-date-range.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeConciseDateRangePipe],\r\n imports: [CommonModule],\r\n exports: [PipeConciseDateRangePipe],\r\n})\r\nexport class PipeConciseDateRangeModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeCountTransform',\r\n})\r\nexport class PipeCountTransformPipe implements PipeTransform {\r\n\r\n transform(value: number): string {\r\n const thousand = 1000\r\n const million = 1000000\r\n if (value > 0) {\r\n if (value < thousand) {\r\n return String(value)\r\n }\r\n if (value >= thousand && value < million) {\r\n const views = (value / thousand).toFixed(1)\r\n if (views.endsWith('0')) {\r\n return `${views.split('.')[0]}K`\r\n }\r\n return `${views}K`\r\n }\r\n {\r\n const views = (value / million).toFixed(1)\r\n if (views.endsWith('0')) {\r\n return `${views.split('.')[0]}M`\r\n }\r\n return `${views}M`\r\n }\r\n }\r\n return '0'\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeCountTransformPipe } from './pipe-count-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeCountTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeCountTransformPipe],\r\n})\r\nexport class PipeCountTransformModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\ninterface ICertificationDate {\r\n day: number\r\n month: number\r\n year: number\r\n timeZone?: string\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeDateConcat',\r\n})\r\nexport class PipeDateConcatPipe implements PipeTransform {\r\n private readonly months: string[]\r\n\r\n constructor() {\r\n this.months = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ]\r\n }\r\n\r\n transform(value: ICertificationDate): string {\r\n let dateStr = `${value.day} ${this.months[value.month - 1]} ${value.year}`\r\n if (value.timeZone) {\r\n dateStr += ` ${value.timeZone}`\r\n }\r\n\r\n return dateStr\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeDateConcatPipe } from './pipe-date-concat.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeDateConcatPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeDateConcatPipe],\r\n})\r\nexport class PipeDateConcatModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeDurationTransform',\r\n})\r\nexport class PipeDurationTransformPipe implements PipeTransform {\r\n\r\n transform(data: number, type: 'time24' | 'hms' | 'hour'): any {\r\n if (data <= 0) {\r\n return ''\r\n }\r\n const h = Math.floor(data / 3600)\r\n const m = Math.floor((data % 3600) / 60)\r\n const s = Math.floor((data % 3600) % 60)\r\n let duration = ''\r\n let space = ''\r\n\r\n switch (type) {\r\n case 'time24':\r\n return this.defaultDuration(h, m, s)\r\n case 'hms':\r\n if (h > 0) {\r\n duration += type === 'hms' ? `${h}h` : `${h} hr`\r\n }\r\n if (m > 0) {\r\n if (h > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${m}m` : `${space}${m} min`\r\n }\r\n if (s > 0 && h === 0) {\r\n if (m > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${s}s` : `${space}${s} sec`\r\n }\r\n return duration\r\n case 'hour':\r\n if (h === 0) {\r\n duration += 'less than an hour'\r\n }\r\n if (h === 1) {\r\n duration += `${h} hour`\r\n }\r\n if (h > 1) {\r\n duration += `${h} hours`\r\n }\r\n return duration\r\n default:\r\n return this.defaultDuration(h, m, s)\r\n }\r\n }\r\n\r\n defaultDuration(h: number, m: number, s: number) {\r\n let duration = ''\r\n duration += h > 0 ? `${h.toString().padStart(2)}:` : ''\r\n duration += m > 0 ? `${m.toString().padStart(2)}:` : '00:'\r\n duration += s > 0 ? s.toString().padStart(2) : '00'\r\n return duration\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeDurationTransformPipe } from './pipe-duration-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeDurationTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeDurationTransformPipe],\r\n})\r\nexport class PipeDurationTransformModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeHtmlTagRemoval',\r\n})\r\nexport class PipeHtmlTagRemovalPipe implements PipeTransform {\r\n\r\n transform(htmlString: string): string {\r\n return htmlString ? String(htmlString).replace(/<[^>]+>/gm, '') : ''\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeHtmlTagRemovalPipe } from './pipe-html-tag-removal.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeHtmlTagRemovalPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeHtmlTagRemovalPipe],\r\n})\r\nexport class PipeHtmlTagRemovalModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeFilter',\r\n})\r\nexport class PipeFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, keys: string, term: string): string {\r\n if (!term) {\r\n return value\r\n }\r\n return (value || []).filter((item: any) => keys.split(',')\r\n .some(key => item.hasOwnProperty(key) && new RegExp(`^${term}$`, 'gi').test(item[key])))\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeFilterPipe } from './pipe-filter.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeFilterPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeFilterPipe],\r\n})\r\nexport class PipeFilterModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeFilterSearch',\r\n})\r\nexport class PipeFilterSearchPipe implements PipeTransform {\r\n\r\n transform(items: any[], searchText: string, ...keys: any): any {\r\n if (!items) { return [] }\r\n if (!searchText) { return items }\r\n const searchTextLowerCase = searchText.toLowerCase()\r\n if (keys && keys.length) {\r\n const result = items.filter(it => {\r\n return it['personalDetails'][keys[0]].toLowerCase().includes(searchTextLowerCase)\r\n // keys.map((key: any) => {\r\n // console.log('key:', key)\r\n // console.log(`it['personalDetails'][key]`, it['personalDetails'][key])\r\n // return it['personalDetails'][key].toLowerCase().includes(searchTextLowerCase)\r\n // })\r\n })\r\n if (result && result.length <= 0) {\r\n return [-1]\r\n }\r\n return result\r\n }\r\n return items.filter(it => {\r\n return it.title.toLowerCase().includes(searchTextLowerCase)\r\n })\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeFilterSearchPipe } from './pipe-filter-search.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeFilterSearchPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeFilterSearchPipe],\r\n})\r\nexport class PipeFilterSearchModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeListFilter',\r\n})\r\nexport class PipeListFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, keys: string, term: string): string {\r\n if (!term) {\r\n return value\r\n }\r\n return (value || []).filter((item: any) => keys.split(',')\r\n .some(key => item.hasOwnProperty(key)\r\n && item[key] && (`${item[key]} `).toLocaleLowerCase().includes(term.toLocaleLowerCase())))\r\n // new RegExp(`^${term}$`, 'gi').test(item[key])\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeListFilterPipe } from './pipe-list-filter.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeListFilterPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeListFilterPipe],\r\n})\r\nexport class PipeListFilterModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport * as _moment from 'moment'\r\nconst moment = _moment\r\n\r\n@Pipe({\r\n name: 'pipeRelativeTime',\r\n})\r\nexport class PipeRelativeTimePipe implements PipeTransform {\r\n transform(value: number): string {\r\n if (value) {\r\n return moment((new Date(value))).fromNow()\r\n }\r\n return moment().startOf('hour').fromNow()\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeRelativeTimePipe } from './pipe-relative-time.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeRelativeTimePipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeRelativeTimePipe],\r\n})\r\nexport class PipeRelativeTimeModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { orderBy } from 'lodash'\r\n\r\n@Pipe({\r\n name: 'orderBy',\r\n})\r\n\r\nexport class OrderByPipe implements PipeTransform {\r\n transform = orderBy\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { OrderByPipe } from './pipe-order-by.pipe'\r\n\r\n@NgModule({\r\n declarations: [OrderByPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [OrderByPipe],\r\n})\r\nexport class PipeOrderByModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeLimitTo',\r\n})\r\nexport class PipeLimitToPipe implements PipeTransform {\r\n\r\n transform(data: any, limit: number = 5): any {\r\n if (!data || !data.length) {\r\n return null\r\n }\r\n if (Array.isArray(data)) {\r\n return data.slice(0, limit)\r\n }\r\n if (typeof data === 'string') {\r\n const slicedString = data.substr(0, limit)\r\n if (limit < data.length) {\r\n return `${slicedString}...`\r\n }\r\n return slicedString\r\n }\r\n return null\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeLimitToPipe } from './pipe-limit-to.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeLimitToPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeLimitToPipe],\r\n})\r\nexport class PipeLimitToModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\ninterface IUserName {\r\n firstName: string\r\n lastName: string\r\n email: string\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeNameTransform',\r\n})\r\nexport class PipeNameTransformPipe implements PipeTransform {\r\n\r\n transform(value: IUserName): string {\r\n let result = ''\r\n if (value.firstName) {\r\n result += value.firstName\r\n }\r\n if (value.lastName && value.lastName !== value.firstName) {\r\n result += ` ${value.lastName}`\r\n }\r\n if (result.trim() !== '') {\r\n return result\r\n }\r\n if (value.email) {\r\n return value.email\r\n }\r\n return 'Anonymous User'\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeNameTransformPipe } from './pipe-name-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeNameTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeNameTransformPipe],\r\n})\r\nexport class PipeNameTransformModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipePartialContent',\r\n})\r\nexport class PipePartialContentPipe implements PipeTransform {\r\n\r\n transform(value: any, keys: string[]): any {\r\n const result: { [key: string]: any } = {}\r\n for (const key of keys) {\r\n if (value[key]) {\r\n result[key] = value[key]\r\n }\r\n }\r\n return result\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipePartialContentPipe } from './pipe-partial-content.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipePartialContentPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipePartialContentPipe],\r\n})\r\nexport class PipePartialContentModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser'\r\n\r\n@Pipe({\r\n name: 'pipeSafeSanitizer',\r\n})\r\nexport class PipeSafeSanitizerPipe implements PipeTransform {\r\n\r\n constructor(protected sanitizer: DomSanitizer) { }\r\n public transform(\r\n value: string,\r\n type: string = 'html',\r\n ): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n case 'html':\r\n return this.sanitizer.bypassSecurityTrustHtml(value)\r\n case 'style':\r\n return this.sanitizer.bypassSecurityTrustStyle(value)\r\n case 'script':\r\n return this.sanitizer.bypassSecurityTrustScript(value)\r\n case 'url':\r\n return this.sanitizer.bypassSecurityTrustUrl(value)\r\n case 'resourceUrl':\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(value)\r\n default:\r\n throw new Error(`Invalid safe type specified: ${type}`)\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeSafeSanitizerPipe } from './pipe-safe-sanitizer.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeSafeSanitizerPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeSafeSanitizerPipe],\r\n})\r\nexport class PipeSafeSanitizerModule { }\r\n","import { Injectable } from '@angular/core'\r\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'\r\nimport { Observable, of } from 'rxjs'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, catchError } from 'rxjs/operators'\r\nimport { UtilityService } from '../services/utility.service'\r\nimport { ConfigurationsService } from '../services/configurations.service'\r\nimport { IResolveResponse } from './resolver.model'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExploreDetailResolve\r\n implements\r\n Resolve<\r\n | Observable<IResolveResponse<any>>\r\n | IResolveResponse<any>\r\n > {\r\n private baseUrl = this.configSvc.sitePath\r\n isIntranetAllowedSettings = false\r\n constructor(\r\n private http: HttpClient,\r\n private configSvc: ConfigurationsService,\r\n private utilitySvc: UtilityService,\r\n ) { }\r\n\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n _state: RouterStateSnapshot,\r\n ): Observable<IResolveResponse<any>> {\r\n this.isIntranetAllowedSettings = this.configSvc.isIntranetAllowed\r\n const tag = decodeURIComponent(route.params.tags)\r\n let url = ''\r\n if (route.data.pageUrl) {\r\n url = route.data.pageUrl\r\n }\r\n if (route.data.pageType === 'page' && route.data.pageKey) {\r\n url = `${this.baseUrl}/page/${route.data.pageKey}.json`\r\n }\r\n return this.http.get(url).pipe(\r\n map(pageData => ({ data: this.transformPageData(pageData, tag), error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }\r\n\r\n private transformPageData(pageData: any, tag: string) {\r\n const DELIMITER = '>'\r\n const path = tag.split(DELIMITER)\r\n pageData.pageLayout.widgetData.widgets = pageData.pageLayout.widgetData.widgets.map((widget: any) => {\r\n if (pageData.navigationBar && pageData.navigationBar.links) {\r\n pageData.navigationBar.links = pageData.navigationBar.links\r\n .filter((link: any) => link.widgetData.tags === tag)\r\n }\r\n\r\n if (widget.widgetSubType === 'cardBreadcrumb') {\r\n widget.widgetData.path = [{\r\n text: pageData.navigationBar.pageTitle,\r\n clickUrl: pageData.navigationBar.pageBackLink,\r\n }].concat(path.map((edge: string, idx: number) => ({\r\n text: edge,\r\n clickUrl: `/page/explore/${path.slice(0, idx + 1).join(DELIMITER)}`,\r\n })))\r\n }\r\n\r\n if (widget.widgetSubType === 'contentStripMultiple') {\r\n widget.widgetData.strips = widget.widgetData.strips.map((strip: any) => {\r\n strip.request.searchV6.filters[0].andFilters.push({ catalogPaths: [tag] })\r\n if (this.utilitySvc.isMobile && !this.isIntranetAllowedSettings) {\r\n strip.request.searchV6.filters[0].andFilters.push({ isInIntranet: ['false'] })\r\n }\r\n return strip\r\n })\r\n if (widget.widgetData.noDataWidget && widget.widgetData.noDataWidget.widgetData.strips) {\r\n widget.widgetData.noDataWidget.widgetData.strips = widget.widgetData.noDataWidget.widgetData.strips.map((strip: any) => {\r\n strip.request.searchV6.filters[0].andFilters.push({ catalogPaths: [tag] })\r\n if (this.utilitySvc.isMobile && !this.isIntranetAllowedSettings) {\r\n strip.request.searchV6.filters[0].andFilters.push({ isInIntranet: ['false'] })\r\n }\r\n return strip\r\n })\r\n }\r\n\r\n }\r\n return widget\r\n })\r\n\r\n return pageData\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'\r\nimport { Observable, of } from 'rxjs'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, catchError } from 'rxjs/operators'\r\nimport { IResolveResponse } from './resolver.model'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MarketingOfferingResolve\r\n implements\r\n Resolve<\r\n | Observable<IResolveResponse<any>>\r\n | IResolveResponse<any>\r\n > {\r\n constructor(\r\n private http: HttpClient,\r\n ) { }\r\n\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n _state: RouterStateSnapshot,\r\n ): Observable<IResolveResponse<any>> {\r\n const tag = route.params.tag\r\n return this.http.get(route.data.pageUrl).pipe(\r\n map(pageData => ({ data: this.transformPageData(pageData, tag), error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }\r\n\r\n private transformPageData(pageData: any, tag: string) {\r\n pageData.pageLayout.widgetData.widgets = pageData.pageLayout.widgetData.widgets.map((widget: any) => {\r\n if (widget.widgetSubType === 'contentStripMultiple') {\r\n widget.widgetData.strips = widget.widgetData.strips.map((strip: any) => {\r\n strip.request.search.filters.catalogPaths = [decodeURIComponent(tag)]\r\n return strip\r\n })\r\n }\r\n\r\n return widget\r\n })\r\n\r\n return pageData\r\n }\r\n}\r\n","import { ThemePalette } from '@angular/material'\r\nimport { NsAppsConfig } from '../services/configurations.model'\r\nimport { NsWidgetResolver } from '../services/widget-resolver.model'\r\n\r\nexport namespace NsPage {\r\n export interface IPage {\r\n contentType: string\r\n navigationBar: INavBar\r\n pageLayout: NsWidgetResolver.IRenderConfigWithAnyData\r\n tourGuide?: string[][]\r\n }\r\n\r\n export interface INavBar {\r\n links: NsWidgetResolver.IRenderConfigWithTypedData<INavLink>[]\r\n xsmallNonMenuLinks: NsWidgetResolver.IRenderConfigWithTypedData<INavLink>[]\r\n pageBackLink: string\r\n pageTitle: string\r\n background: INavBackground\r\n }\r\n export interface INavBackground {\r\n color: 'primary' | 'accent' | 'warn' | 'default'\r\n styles: { [id: string]: string }\r\n }\r\n\r\n export interface INavLink {\r\n config: Pick<INavLinkConfig<'card-full' | 'card-small'>, 'type' | 'hideStatus'> |\r\n Pick<INavLinkConfig<'mat-icon-button' | 'mat-fab' | 'mat-mini-fab' | 'card-mini'>, 'type'> |\r\n Pick<INavLinkConfig<'mat-button' | 'mat-raised-button' | 'mat-flat-button' | 'mat-stroked-button'>, 'type' | 'hideIcon' | 'hideTitle'> |\r\n Pick<INavLinkConfig<'mat-menu-item'>, 'type'> |\r\n Pick<INavLinkConfig<'feature-item'>, 'type' | 'useShortName' | 'iconColor' | 'treatAsCard' | 'hidePin'>\r\n actionBtnId?: string\r\n actionBtn?: NsAppsConfig.IFeature\r\n actionBtnName?: string\r\n }\r\n\r\n export interface INavLinkConfig<T> {\r\n type: T\r\n hideIcon?: boolean\r\n hideTitle?: boolean\r\n hideStatus?: boolean\r\n hidePin?: boolean\r\n iconColor?: ThemePalette\r\n treatAsCard?: boolean\r\n useShortName?: boolean\r\n }\r\n\r\n}\r\n","export const JSON_MAP: any = {\r\n pagename: 'lexid',\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Inject, Injectable, LOCALE_ID } from '@angular/core'\r\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router'\r\nimport { forkJoin, Observable, of } from 'rxjs'\r\nimport { catchError, map, mergeMap } from 'rxjs/operators'\r\nimport { ConfigurationsService } from '../services/configurations.service'\r\nimport { JSON_MAP } from './page.constant'\r\nimport { NsPage } from './page.model'\r\nimport { IResolveResponse } from './resolver.model'\r\nimport { NsContent } from '../services/widget-content.model'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PageResolve implements Resolve<IResolveResponse<NsPage.IPage>> {\r\n private baseUrl = this.configSvc.sitePath\r\n constructor(\r\n private configSvc: ConfigurationsService,\r\n private http: HttpClient,\r\n @Inject(LOCALE_ID) private locale: string,\r\n ) { }\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n ): Observable<IResolveResponse<NsPage.IPage>> | IResolveResponse<NsPage.IPage> {\r\n if (route.data.pageUrl) {\r\n return this.getData(route.data.pageUrl)\r\n }\r\n if (route.data.pageType === 'feature' && route.data.pageKey) {\r\n return this.getData(`${this.baseUrl}/feature/${route.data.pageKey}`)\r\n }\r\n if (\r\n route.data.pageType === 'page' &&\r\n route.data.pageKey &&\r\n route.paramMap.has(route.data.pageKey)\r\n ) {\r\n return this.getData(`${this.baseUrl}/page/${route.paramMap.get(route.data.pageKey)}`)\r\n }\r\n if (\r\n route.data.pageType === 'page' &&\r\n route.data.pageKey &&\r\n route.data.pageKey === 'toc'\r\n ) {\r\n return this.getData(`${this.baseUrl}/page/${route.data.pageKey}`)\r\n }\r\n return {\r\n data: null,\r\n error: 'CONFIGURATION_ERROR_PAGE_URL_NOT_FORMED',\r\n }\r\n }\r\n\r\n private setS3Cookie(contentId: string): Observable<any> {\r\n return this.http.post(`/apis/protected/v8/content/setCookie`, { contentId }).pipe(\r\n catchError(_err => of(true)),\r\n )\r\n }\r\n\r\n private getContent(id: string) {\r\n return this.http\r\n .post<NsContent.IContent>(\r\n `/apis/protected/v8/content/${id}?hierarchyType=minimal`,\r\n ['status', 'artifactUrl'],\r\n )\r\n }\r\n\r\n private getData(url: string) {\r\n const id = (url.split('/').pop() as string).split('.')[0] || ''\r\n const equivalentId = id.startsWith('lex_auth_') ? id : JSON_MAP[id]\r\n if (equivalentId) {\r\n return forkJoin([this.setS3Cookie(equivalentId), this.getContent(equivalentId)]).pipe(\r\n mergeMap(([_, v]) => {\r\n if (v.status === 'Expired' || v.status === 'Deleted' || !v.artifactUrl) {\r\n return of({ data: null, error: 'NoContent' })\r\n }\r\n return this.http\r\n .get<NsPage.IPage>(`${v.artifactUrl}?ts=${new Date().getTime()}`)\r\n .pipe(\r\n map(data => ({ data, error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }\r\n const pageRequest = [\r\n (equivalentId ? this.setS3Cookie(equivalentId) : of(true)).pipe(\r\n mergeMap(() =>\r\n this.http.get<NsPage.IPage>(`${url}.json`).pipe(\r\n map(data => ({ data, error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n ),\r\n ),\r\n ),\r\n this.locale === 'en' || this.locale === 'en-US' ?\r\n of({ data: undefined as any, error: null }) :\r\n this.http.get<NsPage.IPage>(`${url}.${this.locale}.json`).pipe(\r\n map(data => ({ data, error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n ),\r\n ]\r\n return forkJoin(pageRequest).pipe(\r\n map(\r\n ([general, withLocale]): IResolveResponse<NsPage.IPage> => {\r\n if (withLocale.data) {\r\n return withLocale\r\n }\r\n return general\r\n },\r\n ),\r\n )\r\n }\r\n\r\n}\r\n","export interface IResolveResponse<T> {\r\n data: T | null\r\n error: any | null\r\n}\r\n","import { NsPage } from '../resolvers/page.model'\nimport { NsWidgetResolver } from './widget-resolver.model'\nexport namespace NsInstanceConfig {\n export interface IConfig {\n authoring: {\n doUniqueCheck: boolean\n isMultiStepFlow: boolean\n allowExpiry: boolean\n allowRestore: boolean\n allowReview: boolean\n allowPublish: boolean\n allowRedo: boolean\n newDesign: boolean\n allowedContentType: string[]\n urlPatternMatching: {\n allowReplace: boolean\n source: string\n pattern: string\n allowIframe: boolean\n }[]\n }\n appSetup: boolean\n chatBotUrl: string\n defaultFontsize: string\n defaultThemeClass: string\n defaultLocale: string\n disablePidCheck?: boolean\n fontSizes: IFontSize[]\n isContentDownloadAvailable: boolean\n indexHtmlMeta: IIndexHtmlMeta\n keycloak: IKeycloak\n locals: ILocalsConfig[]\n microsoft: IMicrosoft\n telemetryConfig: ITelemetryConfig\n themes: ITheme[]\n logos: ILogos\n sources?: ISourceLogo[]\n mailIds: IMailIds\n details: IDetails\n validMailIdExtensionsForMailMe: string[]\n defaultFeatureConfigs: {\n error: string\n }\n backgrounds: {\n primaryNavBar: NsPage.INavBackground\n pageNavBar: NsPage.INavBackground\n }\n featuredApps: string[]\n primaryNavBarConfig: IPrimaryNavbarConfig\n org: string[]\n rootOrg: string\n intranetIframeUrls?: string[]\n showNavBarInSetup?: boolean\n intranetUrlToCheck?: string\n introVideo: IPath\n tourVideo: IPath\n isDownloadableSource?: IPath\n isDownloadableIosResource?: IPath\n isDownloadableAndroidResource?: IPath\n sourceFieldsUserAutocomplete?: string[]\n forgotPasswordConfig?: IForgotPassword\n hubs: IHubs[]\n courseContentPath?: string\n }\n\n export interface IForgotPassword {\n local?: string\n enterprise?: string\n social?: string\n }\n export interface ISourceLogo {\n sourceName?: string\n sourceId?: string\n logo?: string\n }\n export interface IPath {\n [key: string]: string\n }\n export interface IHubs {\n active: boolean\n desc: string\n hubname: string\n icon: string\n path: string\n }\n export interface IIndexHtmlMeta {\n description?: string\n openSearchUrl?: string\n webmanifest: string\n xIcon?: string\n pngIcon?: string\n }\n export interface IFontSize {\n baseFontSize: string\n fontClass: string\n scale: number\n }\n export interface IKeycloak {\n defaultidpHint: 'E' | 'N' | 'S'\n isLoginHidden: boolean\n bearerExcludedUrls: string[]\n clientId: string\n key: string\n realm: string\n url: string\n changePasswordUrl?: string\n onLoad?: 'check-sso' | 'login-required'\n }\n export interface ILocalsConfig {\n isAvailable: boolean\n isEnabled: boolean\n locals: string[]\n path: string\n isRTL: boolean\n }\n export interface IMicrosoft {\n clientId: string\n defaultEmailId: string\n tenant: string\n validEmailExtensions: string[]\n isConfigured: boolean\n }\n export interface ITheme {\n color: IThemeColor\n themeFile: string\n themeClass: string\n themeName: string\n }\n\n export interface IThemeColor {\n accent: string\n primary: string\n warn: string\n }\n export interface ILogos {\n app: string\n appTransparent: string\n aboutFooter: string\n aboutHeader: string\n appBottomNav?: string\n company: string\n developedBy: string\n poweredBy: string\n defaultContent?: string\n defaultSourceLogo?: string\n landingLogo: string\n navbarLogo?: string\n playListLogo?: string\n thumpsUp?: string\n\n }\n export interface IMailIds {\n contactUs: string\n default: string\n support: string\n }\n export interface IDetails {\n appName: string\n }\n export interface IPrimaryNavbarConfig {\n mediumScreen: IPrimaryNavBarScreen\n smallScreen: IPrimaryNavBarScreen\n }\n interface IPrimaryNavBarScreen {\n left: IPrimaryNavBarSide[]\n right: IPrimaryNavBarSide[]\n }\n interface IPrimaryNavBarSide {\n type: 'widgetButton' | 'featureButton'\n config: NsWidgetResolver.IRenderConfigWithAnyData | NsPage.INavLink\n }\n\n export interface ITelemetryConfig {\n pdata: {\n id: string\n ver: string\n pid: string\n }\n object: {\n ver: string\n id: string | undefined\n }\n uid: string | null\n authtoken?: string\n env: string\n channel: string\n batchsize: number\n host: string\n endpoint: string\n apislug: string\n sid: string\n }\n}\n\nexport namespace NsAppsConfig {\n export type TIconType = 'mat-icon' | 'url'\n\n export interface IAppsConfig {\n groups: IGroup[]\n features: { [id: string]: IFeature }\n tourGuide?: string[][]\n }\n\n export interface IGroup {\n id: string\n iconType: string\n icon: string\n keywords: string[]\n name: string\n toolTip: string\n featureIds: string[]\n stripBackground?: string\n hasRole: string[]\n }\n\n // export interface IGroupWithFeatures extends IGroup {\n // features: IFeature[]\n // }\n export interface IFeature {\n name: string\n id: string\n url: string\n permission: string | string[] | { all: string[]; some: string[]; none: string[] }\n iconType: TIconType\n icon: string\n keywords: string[]\n toolTip: string\n accessKey: string\n status?: 'earlyAccess' | 'live' | 'alpha' | 'beta'\n shortName: string\n description?: string\n badgeEndpoint?: string\n mobileAppFunction?: string\n color?: string\n target?: string\n }\n}\n\nexport namespace NsUser {\n export interface IUserProfile {\n userId: string\n email?: string\n mobile?: string\n departmentName?: string\n userName?: string\n firstName?: string\n surName?: string\n middleName?: string\n lastName?: string\n rootOrgId?: string\n rootOrgName?: string\n profileImage?: string\n givenName?: string\n country?: null | string\n unit?: string | null\n source_profile_picture?: null | string\n dealerCode?: null | string\n isManager?: boolean\n }\n\n export interface INodebbUserProfile {\n username: string\n email: string\n }\n\n export interface IUserPidProfile {\n kid_updated: boolean\n user: IUser\n }\n\n export interface IUserPidProfileV2 {\n kid_updated: boolean\n result: {\n response: IUserV2\n }\n }\n\n export interface IUserPidProfileVer2 {\n result: {\n UserProfile: IUserVer2\n }\n }\n interface ISourceData {\n GID: string\n SNAMPRE: string\n SNAMADD: string\n LASTNAME: string\n SN: string\n GIVENNAME: string\n NICKNAME: string\n PREFERREDSN: string\n PERSONALTITLE: string\n MOBILE: string\n MAIL: string\n DEPARTMENTTEXT: string\n COSTLOCATIONUNIT: string\n COSTLOCATION: string\n ORGID: string\n MGMTRESP: string\n UTC: string\n CNAMEENG: string\n LNAMEINT: string\n USERTYPE: string\n STATUS: string\n CONTRACTSTATUS: string\n }\n\n interface IUser {\n wid: string\n root_org: string\n org: string\n is_active?: any\n account_expiry_date?: any\n kid: string\n imported_source_name: string\n source_id: string\n username?: any\n first_name: string\n last_name: string\n middle_name?: any\n known_as: string\n salutation?: any\n email: string\n gender?: any\n dob?: any\n languages_known?: any\n preferred_language?: any\n source_profile_picture?: any\n residence_country: string\n residence_state?: any\n residence_city: string\n contact_phone_number_office?: any\n contact_phone_number_home?: any\n contact_phone_number_personal: string\n employement_status?: any\n contract_type?: any\n job_title?: any\n job_role?: any\n department_name: string\n unit_name?: any\n organization_location_country?: any\n organization_location_state?: any\n organization_location_city?: any\n time_inserted: Date\n time_updated: Date\n json_unmapped_fields?: any\n source_data: ISourceData\n }\n interface IRootOrg {\n dateTime: string\n preferredLanguage: string\n keys: {}\n channel: string\n approvedBy: string\n description: string\n updatedDate: string\n addressId: string\n orgType: string\n provider: string\n orgCode: string\n locationId: string\n theme: string\n id: string\n isApproved: boolean\n communityId: string\n slug: string\n email: string\n isSSOEnabled: boolean\n thumbnail: string\n updatedBy: string\n orgName: string\n locationIds: []\n externalId: string\n isRootOrg: boolean\n rootOrgId: string\n imgUrl: string\n approvedDate: string\n orgTypeId: string\n homeUrl: string\n isDefault: boolean\n createdDate: string\n contactDetail: string\n parentOrgId: string\n createdBy: string\n hashTagId: string\n noOfMembers: string\n status: number\n }\n interface IOrg {\n updatedBy: string\n organisationId: string\n orgName: string\n addedByName: string\n addedBy: string\n roles: string[]\n approvedBy: string\n updatedDate: string\n userId: string\n approvaldate: string\n isDeleted: boolean\n parentOrgId: string\n hashTagId: string\n isRejected: boolean\n position: string\n id: string\n orgjoindate: string\n isApproved: boolean\n orgLeftDate: string\n }\n interface IUserV2 {\n surName: any\n maskedPhone: string\n rootOrgName: string\n subject: []\n channel: string\n language: []\n updatedDate: string\n managedBy: string\n flagsValue: number\n id: string\n recoveryEmail: string\n identifier: string\n thumbnail: string\n profileVisibility: []\n updatedBy: string\n accesscode: string\n locationIds: []\n externalIds: []\n registryId: string\n rootOrgId: string\n prevUsedEmail: string\n firstName: string\n tncAcceptedOn: string\n phone: string\n dob: string\n grade: []\n currentLoginTime: string\n userType: string\n status: number\n lastName: string\n gender: string\n roles: string[]\n prevUsedPhone: string\n stateValidated: boolean\n isDeleted: boolean\n organisations: IOrg[]\n countryCode: string\n maskedEmail: string\n tempPassword: string\n email: string\n rootOrg: IRootOrg\n profileSummary: string\n phoneVerified: boolean\n recoveryPhone: string\n userName: string\n userId: string\n lastLoginTime: string\n emailVerified: true\n framework: {}\n createdDate: string\n createdBy: string\n location: string\n tncAcceptedVersion: string\n }\n\n interface IUserVer2 {\n 'firstname': string,\n 'motherTongue': string,\n 'secondaryEmail': string,\n 'gender': string,\n '@type': string,\n 'mobile': number,\n 'middlename': string,\n 'telephone': number,\n 'osid': string,\n 'primaryEmailType': string,\n 'knownLanguages': ILanguages[],\n 'wid': string,\n 'nationality': string,\n 'surname': string,\n 'dob': string,\n 'category': string,\n 'primaryEmail': string,\n 'maritalStatus': string,\n 'residenceAddress': string,\n 'result': any\n }\n export interface ILanguages {\n name: string\n }\n}\n","export namespace WsEvents {\r\n export interface IWsEventsFromWidget {\r\n type: 'widget'\r\n widgetType: string\r\n widgetSubType: string\r\n }\r\n export interface IWsEventsFromPage {\r\n type: 'page'\r\n pageUrl: string\r\n pageType: string\r\n }\r\n export enum WsEventType {\r\n Action = 'Action',\r\n Telemetry = 'Telemetry',\r\n PageNavigation = 'PageNavigation',\r\n AccessRestrictedContentAccessed = 'AccessRestrictedContentAccessed',\r\n PageSlow = 'PageSlow',\r\n ErrorOccurred = 'ErrorOccurred',\r\n WidgetResolveError = 'WidgetResolveError',\r\n }\r\n export enum WsEventLogLevel {\r\n Warn = 'Warn',\r\n Error = 'Error',\r\n Info = 'Info',\r\n Log = 'Log',\r\n Trace = 'Trace',\r\n }\r\n export enum WsAuditTypes {\r\n Created = 'Created',\r\n Updated = 'Updated',\r\n Deleted = 'Deleted',\r\n }\r\n export enum WsTimeSpentType {\r\n Page = 'Page',\r\n Player = 'Player',\r\n }\r\n export enum WsTimeSpentMode {\r\n Play = 'Play',\r\n View = 'View',\r\n }\r\n export enum externalTelemetrypdata {\r\n RBCP = 'rbcp-web-ui',\r\n }\r\n\r\n export interface IWsEvents<T> {\r\n eventType: WsEventType\r\n eventLogLevel: WsEventLogLevel\r\n from: IWsEventsFromWidget | IWsEventsFromPage | string\r\n to: string\r\n data: T\r\n passThroughData?: any,\r\n pageContext?: any\r\n }\r\n\r\n export enum EnumTelemetrySubType {\r\n Init = 'Init',\r\n Interact = 'Interact',\r\n Loaded = 'Loaded',\r\n Unloaded = 'Unloaded',\r\n StateChange = 'StateChange',\r\n HeartBeat = 'HeartBeat',\r\n Search = 'Search',\r\n Feedback = 'Feedback',\r\n Impression = 'Impression',\r\n }\r\n\r\n export interface ITelemetryPageContext {\r\n pageId?: string,\r\n module?: string,\r\n pageIdExt?: string\r\n }\r\n\r\n export interface ITelemetryEdata {\r\n type: string\r\n subType?: string\r\n id?: string\r\n pageid?: string\r\n }\r\n\r\n export interface ITelemetryTabData {\r\n label: string,\r\n index: number,\r\n }\r\n\r\n export interface IWsEventTelemetry {\r\n eventSubType: EnumTelemetrySubType\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n // PDF Telemetry Event\r\n export enum EnumTelemetryPdfActivity {\r\n PAGE_CHANGED = 'PAGE_CHANGED',\r\n FULLSCREEN_ACTIVATED = 'FULLSCREEN_ACTIVATED',\r\n FULLSCREEN_DEACTIVATED = 'FULLSCREEN_DEACTIVATED',\r\n ZOOM_CHANGE = 'ZOOM_CHANGE',\r\n NONE = 'NONE',\r\n }\r\n export interface IWsEventTelemetryPdfData extends IWsEventTelemetry {\r\n activityType: EnumTelemetryPdfActivity\r\n currentPage: number\r\n totalPage: number\r\n activityStartedAt: Date | null\r\n object: any\r\n }\r\n export type WsEventTelemetryPDF = IWsEvents<IWsEventTelemetryPdfData>\r\n\r\n // Interact Telemetry Event\r\n export interface IWsEventTelemetryInteract extends IWsEventTelemetry {\r\n edata: ITelemetryEdata\r\n object: any\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n export interface IWsEventTelemetryFeedback extends IWsEventTelemetry {\r\n edata: ITelemetryEdata\r\n object: any\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n export interface IWsEventTelemetryImpression extends IWsEventTelemetry {\r\n edata?: ITelemetryEdata\r\n object?: any\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n export interface IWsEventTelemetrySearch extends IWsEventTelemetry {\r\n type: string\r\n subType?: string\r\n query?: string\r\n filters?: string\r\n size?: number\r\n locale?: any\r\n }\r\n export interface IWsEventTelemetryHeartBeat extends IWsEventTelemetry {\r\n type: string\r\n // subType?: string\r\n // mode: string\r\n id: string\r\n // mimeType: string\r\n }\r\n export type WsEventTelemetryInteract = IWsEvents<IWsEventTelemetryInteract>\r\n export type WsEventTelemetryFeedback = IWsEvents<IWsEventTelemetryFeedback>\r\n export type WsEventTelemetryImpression = IWsEvents<IWsEventTelemetryImpression>\r\n export type WsEventTelemetrySearch = IWsEvents<IWsEventTelemetrySearch>\r\n export type WsEventTelemetryHeartBeat = IWsEvents<IWsEventTelemetryHeartBeat>\r\n\r\n // Multimedia Telemetry Data\r\n export enum EnumTelemetryMediaActivity {\r\n PLAYED = 'PLAYED',\r\n PAUSED = 'PAUSED',\r\n SEEKED = 'SEEKED',\r\n ENDED = 'ENDED',\r\n VOLUME_CHANGE = 'VOLUME_CHANGE',\r\n MUTE = 'MUTE',\r\n UNMUTE = 'UNMUTE',\r\n PLAYBACK_SPEED_CHANGE = 'PLAYBACK_SPEED_CHANGE',\r\n FULLSCREEN_ACTIVATED = 'FULLSCREEN_ACTIVATED',\r\n FULLSCREEN_DEACTIVATED = 'FULLSCREEN_DEACTIVATED',\r\n PICTURE_IN_PICTURE_ACTIVATED = 'PICTURE_IN_PICTURE_ACTIVATED',\r\n PICTURE_IN_PICTURE_DEACTIVATED = 'PICTURE_IN_PICTURE_DEACTIVATED',\r\n NONE = 'NONE',\r\n }\r\n export enum EnumTelemetryMediaState {\r\n PLAYING = 'PLAYING',\r\n PAUSED = 'PAUSED',\r\n ENDED = 'ENDED',\r\n BUFFERING = 'BUFFERING',\r\n NOT_STARTED = 'NOT_STARTED',\r\n }\r\n export interface IWsEventTelemetryMediaData extends IWsEventTelemetry {\r\n currentState: EnumTelemetryMediaState\r\n activityType: EnumTelemetryMediaActivity\r\n currentTime: number | null\r\n totalTime: number | null\r\n maxedSeekedTime: number\r\n activityStartedAt?: Date | null\r\n }\r\n export type WsEventTelemetryMedia = IWsEvents<IWsEventTelemetryMediaData>\r\n\r\n export enum EnumTelemetrymodules {\r\n CONTENT = 'content',\r\n FEEDBACK = 'feedback',\r\n COURSE = 'course',\r\n PROGRAM = 'program',\r\n EXPLORE = 'explore',\r\n LEARN = 'learn',\r\n HOME = 'home',\r\n DASHBOARD = 'dashboard',\r\n SEARCH = 'search',\r\n DISCUSS = 'discuss',\r\n COMPETENCY = 'competency',\r\n EVENTS = 'events',\r\n CAREER = 'career',\r\n PROFILE = 'profile',\r\n NETWORK = 'network',\r\n SUPPORT = 'support',\r\n }\r\n export enum EnumInteractTypes {\r\n CLICK = 'click',\r\n }\r\n export enum EnumInteractSubTypes {\r\n COURSE_TAB = 'course-tab',\r\n CAREER_TAB = 'career-tab',\r\n NETWORK_TAB = 'network-tab',\r\n COMPETENCY_TAB = 'competency-tab',\r\n PROFILE_EDIT_TAB = 'profile-edit-tab',\r\n DISCUSS_TAB = 'discuss-tab',\r\n EVENTS_TAB = 'events-tab',\r\n SIDE_MENU = 'side-menu',\r\n HOME_PAGE_STRIP_TABS = 'home-page-strip-tabs',\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Subject } from 'rxjs'\r\nimport { WsEvents } from './event.model'\r\nimport { UtilityService } from './utility.service'\r\n/* tslint:disable*/\r\nimport * as _ from 'lodash'\r\nimport * as _moment from 'moment'\r\nconst moment = _moment\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EventService {\r\n todaysEvents: any = []\r\n \r\n private eventsSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public events$ = this.eventsSubject.asObservable()\r\n\r\n private eventsChatbotSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public chatbotEvents$ = this.eventsChatbotSubject.asObservable()\r\n\r\n private eventsGetStartSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public getStartEvents$ = this.eventsGetStartSubject.asObservable()\r\n\r\n private eventsPRSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public getPREvents$ = this.eventsPRSubject.asObservable()\r\n environment: any\r\n\r\n\r\n constructor(\r\n private utilitySvc: UtilityService,\r\n @Inject('environment') environment: any,\r\n ) {\r\n this.environment = environment\r\n // this.focusChangeEventListener()\r\n }\r\n\r\n dispatchEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n event.pageContext = this.getContext(event.pageContext)\r\n this.eventsSubject.next(event)\r\n }\r\n\r\n dispatchChatbotEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n this.eventsChatbotSubject.next(event)\r\n }\r\n\r\n dispatchGetStartedEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n this.eventsGetStartSubject.next(event)\r\n }\r\n\r\n dispatchPlatformRatingEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n this.eventsPRSubject.next(event)\r\n }\r\n\r\n\r\n\r\n // helper functions\r\n raiseInteractTelemetry(edata: WsEvents.ITelemetryEdata, object: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n this.dispatchEvent<WsEvents.IWsEventTelemetryInteract>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Info,\r\n data: {\r\n edata,\r\n object,\r\n pageContext: this.getContext(pageContext),\r\n eventSubType: WsEvents.EnumTelemetrySubType.Interact,\r\n },\r\n from: '',\r\n to: 'Telemetry',\r\n })\r\n }\r\n\r\n raiseFeedbackTelemetry(edata: WsEvents.ITelemetryEdata, object: any, from?: string) {\r\n this.dispatchEvent<WsEvents.IWsEventTelemetryInteract>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Info,\r\n data: {\r\n edata,\r\n object,\r\n eventSubType: WsEvents.EnumTelemetrySubType.Feedback,\r\n },\r\n from: from || '',\r\n to: 'Telemetry',\r\n })\r\n }\r\n\r\n // Raise custom impression events eg:on tab change\r\n raiseCustomImpression(object: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n this.dispatchEvent<WsEvents.IWsEventTelemetryImpression>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Info,\r\n data: {\r\n object,\r\n pageContext: this.getContext(pageContext),\r\n eventSubType: WsEvents.EnumTelemetrySubType.Impression,\r\n },\r\n from: '',\r\n to: 'Telemetry',\r\n })\r\n }\r\n\r\n // private focusChangeEventListener() {\r\n // fromEvent(window, 'focus').subscribe(() => {\r\n // this.raiseInteractTelemetry('focus', 'gained', {})\r\n // })\r\n // fromEvent(window, 'blur').subscribe(() => {\r\n // this.raiseInteractTelemetry('focus', 'lost', {})\r\n // })\r\n // }\r\n\r\n // Method to get the context information about the telemetry interact event\r\n private getContext(pageContext: WsEvents.ITelemetryPageContext | undefined): WsEvents.ITelemetryPageContext {\r\n const routeDataContext = this.utilitySvc.routeData\r\n // initialize with the route data configuration - current route's pageID & module\r\n const finalContext: WsEvents.ITelemetryPageContext = {\r\n pageId: routeDataContext.pageId,\r\n module: routeDataContext.module,\r\n }\r\n if (pageContext) {\r\n // if context has pageIdExt, append it to the route's pageId\r\n if (pageContext.pageIdExt) {\r\n finalContext.pageId = `${routeDataContext.pageId}_${pageContext.pageIdExt}`\r\n } else if (pageContext.pageId) {\r\n // else context has pageId, override it to the final pageID\r\n finalContext.pageId = pageContext.pageId\r\n }\r\n // if context has module, override it to the final module\r\n if (pageContext.module) {\r\n finalContext.module = pageContext.module\r\n }\r\n }\r\n\r\n return finalContext\r\n }\r\n\r\n public handleTabTelemetry(subType: string, data: WsEvents.ITelemetryTabData, object?:any) {\r\n // raise a tab click interact event\r\n this.raiseInteractTelemetry(\r\n {\r\n subType,\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n id: `${_.camelCase(data.label)}-tab`,\r\n },\r\n {\r\n // context: {\r\n // position: data.index,\r\n // },\r\n ...object\r\n },\r\n {\r\n pageIdExt: `${_.camelCase(data.label)}-tab`,\r\n })\r\n\r\n // raise a tab click impression event\r\n this.raiseCustomImpression({\r\n context: {\r\n position: data.index,\r\n },\r\n ...object\r\n },{\r\n pageIdExt: `${_.camelCase(data.label)}-tab`,\r\n })\r\n }\r\n\r\n getPublicUrl(url: string): string {\r\n const mainUrl = url.split('/content').pop() || ''\r\n return `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`\r\n }\r\n\r\n allEventDateFormat(datetime: any) {\r\n const date = new Date(datetime).getDate()\r\n const year = new Date(datetime).getFullYear()\r\n const month = new Date(datetime).getMonth()\r\n const hours = new Date(datetime).getHours()\r\n const minutes = new Date(datetime).getMinutes()\r\n const seconds = new Date(datetime).getSeconds()\r\n const formatedDate = new Date(year, month, date, hours, minutes, seconds, 0)\r\n // let format = 'YYYY-MM-DD hh:mm a'\r\n // if (!timeAllow) {\r\n const format = 'YYYY-MM-DD'\r\n // }\r\n const readableDateMonth = moment(formatedDate).format(format)\r\n const finalDateTimeValue = `${readableDateMonth}`\r\n return finalDateTimeValue\r\n }\r\n\r\n compareDate(startDate: any) {\r\n const now = new Date()\r\n\r\n // tslint:disable-next-line:prefer-template\r\n const day = ('0' + (new Date().getDate())).slice(-2)\r\n const year = new Date().getFullYear()\r\n // tslint:disable-next-line:prefer-template\r\n const month = ('0' + (now.getMonth() + 1)).slice(-2)\r\n const todaysdate = `${year}-${month}-${day}`\r\n if (startDate === todaysdate) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n customDateFormat(date: any, time: any) {\r\n const stime = time.split('+')[0]\r\n const hour = stime.substr(0, 2)\r\n const min = stime.substr(2, 3)\r\n return `${date} ${hour}${min}`\r\n }\r\n\r\n\r\n setEventListData(eventObj: any) {\r\n if (eventObj !== undefined) {\r\n this.todaysEvents = []\r\n const data = eventObj\r\n // console.log('strip comp', data)\r\n Object.keys(data).forEach((index: any) => {\r\n const obj = data[index]\r\n const floor = Math.floor\r\n const hours = floor(obj.duration / 60)\r\n const minutes = obj.duration % 60\r\n const duration = (hours === 0) ? ((minutes === 0) ? '---' : `${minutes} minutes`) : (minutes === 0) ? (hours === 1) ?\r\n `${hours} hour` : `${hours} hours` : (hours === 1) ? `${hours} hour ${minutes} minutes` :\r\n `${hours} hours ${minutes} minutes`\r\n const creatordata = obj.creatorDetails !== undefined ? obj.creatorDetails : []\r\n const str = creatordata && creatordata.length > 0 ? creatordata.replace(/\\\\/g, '') : []\r\n const creatorDetails = str && str.length > 0 ? JSON.parse(str) : creatordata\r\n\r\n const stime = obj.startTime.split('+')[0]\r\n const hour = stime.substr(0, 2)\r\n const min = stime.substr(2, 3)\r\n const starttime = `${hour}${min}`\r\n\r\n const etime = obj.endTime.split('+')[0]\r\n const ehour = etime.substr(0, 2)\r\n const emin = etime.substr(2, 3)\r\n const endtime = `${ehour}${emin}`\r\n\r\n const eventDataObj = {\r\n event: obj,\r\n eventName: obj.name,\r\n eventStartTime: starttime,\r\n eventEndTime: endtime,\r\n eventStartDate: obj.startDate,\r\n eventCreatedOn: this.allEventDateFormat(obj.createdOn),\r\n eventDuration: duration,\r\n eventjoined: creatorDetails.length,\r\n eventThumbnail: obj.appIcon && (obj.appIcon !== null || obj.appIcon !== undefined) ?\r\n this.getPublicUrl(obj.appIcon) :\r\n '/assets/icons/Events_default.png',\r\n pastevent: false,\r\n }\r\n const isToday = this.compareDate(obj.startDate)\r\n if (isToday) {\r\n this.todaysEvents.push(eventDataObj)\r\n }\r\n })\r\n }\r\n}\r\n}\r\n","export interface IWsMsTokenModelResponse {\r\n accessToken?: string\r\n expiresOn?: string\r\n resource?: string\r\n tokenType?: string\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Injectable } from '@angular/core'\r\nimport { Observable, of } from 'rxjs'\r\nimport { catchError, retry } from 'rxjs/operators'\r\nimport { IContentRating } from '../models/contentRating.model'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { NsContentStripMultiple } from './content-strip-multiple.model'\r\nimport { NsContent } from './widget-content.model'\r\nimport { NSSearch } from './widget-search.model'\r\n\r\n// TODO: move this in some common place\r\nconst PROTECTED_SLAG_V8 = '/apis/protected/v8'\r\n\r\nconst API_END_POINTS = {\r\n CONTENT: `${PROTECTED_SLAG_V8}/content`,\r\n AUTHORING_CONTENT: `/apis/authApi/hierarchy`,\r\n CONTENT_LIKES: `${PROTECTED_SLAG_V8}/content/likeCount`,\r\n SET_S3_COOKIE: `${PROTECTED_SLAG_V8}/content/setCookie`,\r\n SET_S3_IMAGE_COOKIE: `${PROTECTED_SLAG_V8}/content/setImageCookie`,\r\n FETCH_MANIFEST: `${PROTECTED_SLAG_V8}/content/getWebModuleManifest`,\r\n FETCH_WEB_MODULE_FILES: `${PROTECTED_SLAG_V8}/content/getWebModuleFiles`,\r\n MULTIPLE_CONTENT: `${PROTECTED_SLAG_V8}/content/multiple`,\r\n CONTENT_SEARCH_V5: `${PROTECTED_SLAG_V8}/content/searchV5`,\r\n CONTENT_SEARCH_V6: `${PROTECTED_SLAG_V8}/content/searchV6`,\r\n CONTENT_SEARCH_REGION_RECOMMENDATION: `${PROTECTED_SLAG_V8}/content/searchRegionRecommendation`,\r\n CONTENT_HISTORY: `${PROTECTED_SLAG_V8}/user/history`,\r\n USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,\r\n CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,\r\n CONTENT_RATING_V2: `${PROTECTED_SLAG_V8}/user/rating/content/average-ratingInfo`,\r\n COLLECTION_HIERARCHY: (type: string, id: string) =>\r\n `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`,\r\n REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,\r\n MARK_AS_COMPLETE_META: (contentId: string) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WidgetContentService {\r\n constructor(\r\n private http: HttpClient,\r\n private configSvc: ConfigurationsService\r\n ) { }\r\n\r\n fetchMarkAsCompleteMeta(identifier: string): Promise<any> {\r\n const url = API_END_POINTS.MARK_AS_COMPLETE_META(identifier)\r\n return this.http.get(url).toPromise()\r\n }\r\n\r\n fetchContent(\r\n contentId: string,\r\n hierarchyType: 'all' | 'minimal' | 'detail' = 'detail',\r\n additionalFields: string[] = [],\r\n ): Observable<NsContent.IContent> {\r\n const url = `${API_END_POINTS.CONTENT}/${contentId}?hierarchyType=${hierarchyType}`\r\n return this.http\r\n .post<NsContent.IContent>(url, { additionalFields })\r\n .pipe(retry(1))\r\n }\r\n fetchAuthoringContent(contentId: string): Observable<NsContent.IContent> {\r\n const url = `${API_END_POINTS.AUTHORING_CONTENT}/${contentId}`\r\n return this.http.get<NsContent.IContent>(url).pipe(retry(1))\r\n }\r\n fetchMultipleContent(ids: string[]): Observable<NsContent.IContent[]> {\r\n return this.http.get<NsContent.IContent[]>(\r\n `${API_END_POINTS.MULTIPLE_CONTENT}/${ids.join(',')}`,\r\n )\r\n }\r\n fetchCollectionHierarchy(type: string, id: string, pageNumber: number = 0, pageSize: number = 1) {\r\n return this.http.get<NsContent.ICollectionHierarchyResponse>(\r\n `${API_END_POINTS.COLLECTION_HIERARCHY(\r\n type,\r\n id,\r\n )}?pageNumber=${pageNumber}&pageSize=${pageSize}`,\r\n )\r\n }\r\n\r\n fetchContentLikes(contentIds: { content_id: string[] }) {\r\n return this.http\r\n .post<{ [identifier: string]: number }>(API_END_POINTS.CONTENT_LIKES, contentIds)\r\n .toPromise()\r\n }\r\n fetchContentRatings(contentIds: { contentIds: string[] }) {\r\n return this.http\r\n .post(`${API_END_POINTS.CONTENT_RATING}/rating`, contentIds)\r\n .toPromise()\r\n }\r\n\r\n fetchContentRatingsV2(contentId: string) {\r\n return this.http\r\n .get<IContentRating>(`${API_END_POINTS.CONTENT_RATING_V2}/${contentId}`)\r\n }\r\n\r\n fetchContentHistory(contentId: string): Observable<NsContent.IContinueLearningData> {\r\n return this.http.get<NsContent.IContinueLearningData>(\r\n `${API_END_POINTS.CONTENT_HISTORY}/${contentId}`,\r\n )\r\n }\r\n\r\n async continueLearning(id: string, collectionId?: string, collectionType?: string): Promise<any> {\r\n return new Promise(async resolve => {\r\n if (collectionType &&\r\n collectionType.toLowerCase() === 'playlist') {\r\n const reqBody = {\r\n contextPathId: collectionId ? collectionId : id,\r\n resourceId: id,\r\n data: JSON.stringify({\r\n timestamp: Date.now(),\r\n contextFullPath: [collectionId, id],\r\n }),\r\n dateAccessed: Date.now(),\r\n contextType: 'playlist',\r\n }\r\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\r\n resolve(true)\r\n }\r\n )\r\n } else {\r\n const reqBody = {\r\n contextPathId: collectionId ? collectionId : id,\r\n resourceId: id,\r\n data: JSON.stringify({ timestamp: Date.now() }),\r\n dateAccessed: Date.now(),\r\n }\r\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\r\n resolve(true)\r\n })\r\n }\r\n })\r\n }\r\n saveContinueLearning(content: NsContent.IViewerContinueLearningRequest): Observable<any> {\r\n const url = API_END_POINTS.USER_CONTINUE_LEARNING\r\n return this.http.post<any>(url, content)\r\n }\r\n\r\n setS3Cookie(\r\n contentId: string,\r\n // _path: string,\r\n ): Observable<any> {\r\n return this.http\r\n .post(API_END_POINTS.SET_S3_COOKIE, { contentId })\r\n .pipe(catchError(_err => of(true)))\r\n }\r\n\r\n setS3ImageCookie(): Observable<any> {\r\n return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError(_err => of(true)))\r\n }\r\n\r\n fetchManifest(url: string): Observable<any> {\r\n return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url })\r\n }\r\n fetchWebModuleContent(url: string): Observable<any> {\r\n return this.http.get(`${API_END_POINTS.FETCH_WEB_MODULE_FILES}?url=${encodeURIComponent(url)}`)\r\n }\r\n search(req: NSSearch.ISearchRequest): Observable<NSSearch.ISearchApiResult> {\r\n req.query = req.query || ''\r\n return this.http.post<NSSearch.ISearchApiResult>(API_END_POINTS.CONTENT_SEARCH_V5, {\r\n request: req,\r\n })\r\n }\r\n searchRegionRecommendation(\r\n req: NSSearch.ISearchOrgRegionRecommendationRequest,\r\n ): Observable<NsContentStripMultiple.IContentStripResponseApi> {\r\n req.query = req.query || ''\r\n req.preLabelValue =\r\n (req.preLabelValue || '') +\r\n ((this.configSvc.userProfile && this.configSvc.userProfile.country) || '')\r\n req.filters = {\r\n ...req.filters,\r\n labels: [req.preLabelValue || ''],\r\n }\r\n return this.http.post<NsContentStripMultiple.IContentStripResponseApi>(\r\n API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION,\r\n { request: req },\r\n )\r\n }\r\n searchV6(req: NSSearch.ISearchV6Request): Observable<NSSearch.ISearchV6ApiResult> {\r\n req.query = req.query || ''\r\n return this.http.post<NSSearch.ISearchV6ApiResult>(API_END_POINTS.CONTENT_SEARCH_V6, req)\r\n }\r\n\r\n fetchContentRating(contentId: string): Observable<{ rating: number }> {\r\n return this.http.get<{ rating: number }>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`)\r\n }\r\n deleteContentRating(contentId: string): Observable<any> {\r\n return this.http.delete(`${API_END_POINTS.CONTENT_RATING}/${contentId}`)\r\n }\r\n addContentRating(contentId: string, data: { rating: number }): Observable<any> {\r\n return this.http.post<any>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`, data)\r\n }\r\n\r\n getFirstChildInHierarchy(content: NsContent.IContent): NsContent.IContent {\r\n if (!(content.children || []).length) {\r\n return content\r\n }\r\n if (\r\n content.contentType === 'Learning Path' &&\r\n !(content.artifactUrl && content.artifactUrl.length)\r\n ) {\r\n const child = content.children[0]\r\n return this.getFirstChildInHierarchy(child)\r\n }\r\n if (\r\n content.contentType === 'Resource' ||\r\n content.contentType === 'Knowledge Artifact' ||\r\n content.contentType === 'Learning Path'\r\n ) {\r\n return content\r\n }\r\n const firstChild = content.children[0]\r\n const resultContent = this.getFirstChildInHierarchy(firstChild)\r\n return resultContent\r\n }\r\n\r\n getRegistrationStatus(source: string): Promise<{ hasAccess: boolean; registrationUrl?: string }> {\r\n return this.http.get<any>(`${API_END_POINTS.REGISTRATION_STATUS}/${source}`).toPromise()\r\n }\r\n\r\n fetchConfig(url: string) {\r\n return this.http.get<any>(url)\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { filter } from 'rxjs/operators'\r\n// import { AuthKeycloakService } from './auth-keycloak.service'\r\nimport { NsInstanceConfig } from './configurations.model'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { WsEvents } from './event.model'\r\nimport { EventService } from './event.service'\r\nimport { LoggerService } from './logger.service'\r\nimport { NsContent } from './widget-content.model'\r\n\r\ndeclare var $t: any\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TelemetryService {\r\n previousUrl: string | null = null\r\n telemetryConfig: NsInstanceConfig.ITelemetryConfig | null = null\r\n pData: any = null\r\n contextCdata = []\r\n environment: any\r\n\r\n externalApps: any = {\r\n RBCP: 'rbcp-web-ui',\r\n }\r\n constructor(\r\n @Inject('environment') environment: any,\r\n private configSvc: ConfigurationsService,\r\n private eventsSvc: EventService,\r\n // private authSvc: AuthKeycloakService,\r\n private logger: LoggerService,\r\n ) {\r\n this.environment = environment\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.telemetryConfig = instanceConfig.telemetryConfig\r\n this.telemetryConfig = {\r\n ...this.telemetryConfig,\r\n pdata: {\r\n ...this.telemetryConfig.pdata,\r\n // pid: navigator.userAgent,\r\n id: `${environment.name}.${this.telemetryConfig.pdata.id}`,\r\n },\r\n uid: this.configSvc.userProfile && this.configSvc.userProfile.userId,\r\n // authtoken: this.authSvc.token,\r\n // tslint:disable-next-line: no-non-null-assertion\r\n channel: this.rootOrgId || this.telemetryConfig.channel,\r\n sid: this.getTelemetrySessionId,\r\n }\r\n this.pData = this.telemetryConfig.pdata\r\n this.addPlayerListener()\r\n this.addCustomEventListener()\r\n this.addInteractListener()\r\n this.addFeedbackListener()\r\n this.addTimeSpentListener()\r\n this.addSearchListener()\r\n this.addHearbeatListener()\r\n this.addCustomImpressionListener()\r\n }\r\n }\r\n\r\n get getTelemetrySessionId(): string {\r\n return localStorage.getItem('telemetrySessionId') || ''\r\n }\r\n\r\n get rootOrgId(): string {\r\n if (this.configSvc && this.configSvc.userProfile && this.configSvc.userProfile.rootOrgId) {\r\n return this.configSvc.userProfile.rootOrgId\r\n }\r\n return ''\r\n }\r\n\r\n start(edata: any, data: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n try {\r\n if (this.telemetryConfig) {\r\n $t.start(\r\n this.telemetryConfig,\r\n (pageContext && pageContext.pageId) ?\r\n pageContext.pageId\r\n : '',\r\n '1.0',\r\n {\r\n // id,\r\n type: edata.type,\r\n mode: edata.mode,\r\n pageid: (pageContext && pageContext.pageId) ?\r\n pageContext.pageId\r\n : '',\r\n duration: 1,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n ...(pageContext && pageContext.module ? { env: pageContext.module } : null),\r\n },\r\n object: {\r\n ...(data) && data,\r\n },\r\n }\r\n )\r\n } else {\r\n this.logger.error('Error Initializing Telemetry. Config missing.')\r\n }\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry start', e)\r\n }\r\n }\r\n\r\n end(edata: any, data: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n try {\r\n $t.end(\r\n {\r\n type: edata.type,\r\n mode: edata.mode,\r\n pageid: (pageContext && pageContext.pageId) ?\r\n pageContext.pageId\r\n : '',\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n ...(pageContext && pageContext.module ? { env: pageContext.module } : null),\r\n },\r\n object: {\r\n ...(data) && data,\r\n },\r\n },\r\n )\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry end', e)\r\n }\r\n }\r\n\r\n audit(type: string, props: string, data: any) {\r\n try {\r\n $t.audit(\r\n {\r\n type,\r\n props,\r\n // data,\r\n state: data, // Optional. Current State\r\n prevstate: '', // Optional. Previous State\r\n duration: '', // Optional.\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n },\r\n )\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry audit', e)\r\n }\r\n }\r\n\r\n heartbeat(type: string, id: string) {\r\n try {\r\n $t.heartbeat({\r\n id,\r\n // mode,\r\n type,\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry heartbeat', e)\r\n }\r\n }\r\n\r\n impression(data?: any) {\r\n try {\r\n const page = this.getPageDetails()\r\n if (data && data.pageContext) {\r\n // page.pageid = data.pageContext.pageId\r\n page.module = data.pageContext.module\r\n }\r\n const edata = {\r\n pageid: page.pageid, // Required. Unique page id\r\n type: page.pageUrlParts[0], // Required. Impression type (list, detail, view, edit, workflow, search)\r\n uri: page.pageUrl,\r\n }\r\n if (page.objectId) {\r\n const config = {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n env: page.module || (this.telemetryConfig && this.telemetryConfig.env),\r\n },\r\n object: {\r\n id: page.objectId,\r\n // This will override above id if the data has object in it.\r\n ...((data) ? data.object : {}),\r\n },\r\n }\r\n $t.impression(edata, config)\r\n } else {\r\n $t.impression(edata, {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n env: page.module || '',\r\n },\r\n object: {\r\n ...((data) ? data.object : {}),\r\n },\r\n })\r\n }\r\n this.previousUrl = page.pageUrl\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry impression', e)\r\n }\r\n }\r\n\r\n externalImpression(impressionData: any) {\r\n try {\r\n const page = this.getPageDetails()\r\n if (this.externalApps[impressionData.subApplicationName]) {\r\n const externalConfig = page.objectId ? {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[impressionData.subApplicationName],\r\n },\r\n },\r\n object: {\r\n id: page.objectId,\r\n },\r\n } : {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[impressionData.subApplicationName],\r\n },\r\n },\r\n }\r\n $t.impression(impressionData.data, externalConfig)\r\n }\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry externalImpression', e)\r\n }\r\n }\r\n\r\n addCustomImpressionListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryImpression) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Impression,\r\n ),\r\n )\r\n .subscribe(event => {\r\n try {\r\n // console.log('event.data::', event.data)\r\n this.impression(event.data)\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry impression', e)\r\n }\r\n })\r\n }\r\n\r\n addTimeSpentListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n event =>\r\n event &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.type === WsEvents.WsTimeSpentType.Page &&\r\n event.data.mode &&\r\n event.data,\r\n ),\r\n )\r\n .subscribe(event => {\r\n if (event.data.state === WsEvents.EnumTelemetrySubType.Loaded) {\r\n this.start(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n {},\r\n event.pageContext\r\n )\r\n }\r\n if (event.data.state === WsEvents.EnumTelemetrySubType.Unloaded) {\r\n this.end({\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n {},\r\n event.pageContext\r\n )\r\n }\r\n })\r\n }\r\n\r\n addCustomEventListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n event =>\r\n event &&\r\n event.eventType === WsEvents.WsEventType.Telemetry\r\n ),\r\n )\r\n .subscribe(event => {\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Loaded &&\r\n event.data.type !== WsEvents.WsTimeSpentType.Player\r\n ) {\r\n this.start(\r\n {\r\n type: event.data.type,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n )\r\n }\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Unloaded &&\r\n event.data.type !== WsEvents.WsTimeSpentType.Player\r\n ) {\r\n this.end(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n )\r\n }\r\n })\r\n }\r\n addPlayerListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n event =>\r\n event &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.type === WsEvents.WsTimeSpentType.Player &&\r\n event.data.mode &&\r\n event.data,\r\n ),\r\n )\r\n .subscribe(event => {\r\n const content: NsContent.IContent | null = event.data.content\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Loaded &&\r\n (!content ||\r\n (content.isIframeSupported || '').toLowerCase() === 'maybe' ||\r\n (content.isIframeSupported || '').toLowerCase() === 'yes' ||\r\n (content.mimeType === 'application/pdf' || 'application/json'))\r\n ) {\r\n this.start(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n\r\n )\r\n }\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Unloaded &&\r\n (!content ||\r\n (content.isIframeSupported || '').toLowerCase() === 'maybe' ||\r\n (content.isIframeSupported || '').toLowerCase() === 'yes' ||\r\n (content.mimeType === 'application/pdf' || 'application/json'))\r\n ) {\r\n this.end(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n )\r\n }\r\n })\r\n }\r\n\r\n addInteractListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryInteract) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Interact,\r\n ),\r\n )\r\n .subscribe(event => {\r\n const page = this.getPageDetails()\r\n if (typeof event.from === 'string' && this.externalApps[event.from]) {\r\n const externalConfig = {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[event.from],\r\n },\r\n },\r\n }\r\n try {\r\n $t.interact(event.data, externalConfig)\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry interact', e)\r\n }\r\n } else {\r\n // let interactid\r\n // if (event.data.edata.type === 'goal') {\r\n // interactid = page.pageUrlParts[4]\r\n // }\r\n try {\r\n $t.interact(\r\n {\r\n type: event.data.edata.type,\r\n subtype: event.data.edata.subType,\r\n // object: event.data.object,\r\n id: (event.data.edata && event.data.edata.id) ?\r\n event.data.edata.id\r\n : '',\r\n pageid: event.data.pageContext && event.data.pageContext.pageId || page.pageid,\r\n // target: { page },\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n ...(event.data.pageContext && event.data.pageContext.module ? { env: event.data.pageContext.module } : null),\r\n },\r\n object: {\r\n ...event.data.object,\r\n },\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry interact', e)\r\n }\r\n }\r\n })\r\n }\r\n\r\n addFeedbackListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryFeedback) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Feedback,\r\n ),\r\n )\r\n .subscribe(event => {\r\n const page = this.getPageDetails()\r\n try {\r\n $t.feedback(\r\n {\r\n rating: event.data.object.rating || 0,\r\n commentid: event.data.object.commentid || '',\r\n commenttxt: event.data.object.commenttxt || '',\r\n pageid: page.pageid,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n object: {\r\n id: event.data.object.contentId || event.data.object.id || '',\r\n type: event.data.edata.type || '',\r\n ver: `${(event.data.object.version || '1')}${''}`,\r\n rollup: {},\r\n },\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry interact', e)\r\n }\r\n })\r\n }\r\n\r\n addHearbeatListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryHeartBeat) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.HeartBeat,\r\n ),\r\n )\r\n .subscribe(event => {\r\n if (typeof event.from === 'string' && this.externalApps[event.from]) {\r\n const externalConfig = {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[event.from],\r\n },\r\n },\r\n }\r\n try {\r\n $t.heartbeat(event.data, externalConfig)\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry heartbeat', e)\r\n }\r\n } else {\r\n try {\r\n $t.heartbeat(\r\n {\r\n type: event.data.type,\r\n // subtype: event.data.eventSubType,\r\n id: event.data.id,\r\n // mimeType: event.data.mimeType,\r\n // mode: event.data.mode,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry heartbeat', e)\r\n }\r\n }\r\n })\r\n }\r\n\r\n addSearchListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetrySearch) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Search,\r\n ),\r\n )\r\n .subscribe(event => {\r\n try {\r\n $t.search(\r\n {\r\n query: event.data.query,\r\n filters: event.data.filters,\r\n size: event.data.size,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n },\r\n )\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry search', e)\r\n }\r\n })\r\n }\r\n\r\n getPageDetails() {\r\n const path = window.location.pathname.replace('/', '')\r\n const url = path + window.location.search\r\n return {\r\n pageid: path,\r\n pageUrl: url,\r\n pageUrlParts: path.split('/'),\r\n refferUrl: this.previousUrl,\r\n objectId: this.extractContentIdFromUrlParts(path.split('/')),\r\n module: '',\r\n }\r\n }\r\n\r\n extractContentIdFromUrlParts(urlParts: string[]) {\r\n // TODO: pick toc and viewer url from some configuration\r\n const tocIdx = urlParts.indexOf('toc')\r\n const viewerIdx = urlParts.indexOf('viewer')\r\n\r\n if (tocIdx === -1 && viewerIdx === -1) {\r\n return null\r\n }\r\n\r\n if (tocIdx !== -1 && tocIdx < urlParts.length - 1) {\r\n return urlParts[tocIdx + 1] // e.g. url /app/toc/<content_id>\r\n }\r\n\r\n if (viewerIdx !== -1 && viewerIdx < urlParts.length - 2) {\r\n return urlParts[viewerIdx + 2] // e.g. url /app/viewer/<content_type>/<content_id>\r\n }\r\n\r\n return null\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { ActivatedRoute, Router } from '@angular/router'\r\nimport { WidgetContentService } from './widget-content.service'\r\nimport { AuthKeycloakService } from './auth-keycloak.service'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { WsEvents } from './event.model'\r\nimport { EventService } from './event.service'\r\nimport { TelemetryService } from './telemetry.service'\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubapplicationRespondService {\r\n subAppname = ''\r\n continueLearningData: any = null\r\n contentWindowinfo: any\r\n loaded = false\r\n constructor(\r\n private configSvc: ConfigurationsService,\r\n private contentSvc: WidgetContentService,\r\n private keyCloakSvc: AuthKeycloakService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private eventSvc: EventService,\r\n private teleSvc: TelemetryService,\r\n ) {\r\n this.changeContextrespond()\r\n this.configSvc.prefChangeNotifier.subscribe(() => {\r\n this.changeContextrespond()\r\n })\r\n }\r\n loadedRespond(contentWindow: any, applicationName: string, id?: string) {\r\n if (id && this.activatedRoute.snapshot.queryParams.viewMode && this.activatedRoute.snapshot.queryParams.viewMode === 'RESUME') {\r\n this.continueLearningData = null\r\n this.contentSvc.fetchContentHistory(id).subscribe(\r\n data => {\r\n this.continueLearningData = data.continueData\r\n if (this.configSvc && this.configSvc.userProfile) {\r\n const firstName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[0] : ''\r\n const lastName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[1] : ''\r\n const viewMode: string = this.activatedRoute.snapshot.queryParams.viewMode ?\r\n this.activatedRoute.snapshot.queryParams.viewMode : ''\r\n const token = this.keyCloakSvc.token\r\n const response = {\r\n subApplicationName: applicationName,\r\n requestId: 'LOADED',\r\n parentContext: {\r\n domainName: window.location.host,\r\n url: this.router.url,\r\n rootOrg: this.configSvc.rootOrg,\r\n theme: this.configSvc.activeThemeObject ? {\r\n name: this.configSvc.activeThemeObject.themeName,\r\n ...this.configSvc.activeThemeObject.color,\r\n } : '',\r\n fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',\r\n locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',\r\n darkMode: this.configSvc.isDarkMode,\r\n subApplicationStartMode: viewMode.toUpperCase(),\r\n user: {\r\n firstName,\r\n lastName,\r\n token,\r\n userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',\r\n roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],\r\n },\r\n heartbeatFrequency: '200',\r\n },\r\n data: this.continueLearningData.data ? {\r\n continueLearning: this.continueLearningData.data,\r\n } : null,\r\n }\r\n contentWindow.postMessage(response, '*')\r\n this.contentWindowinfo = contentWindow\r\n this.loaded = true\r\n this.subAppname = applicationName\r\n }\r\n })\r\n } else {\r\n if (this.configSvc && this.configSvc.userProfile) {\r\n const firstName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[0] : ''\r\n const lastName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[1] : ''\r\n const viewMode: string = this.activatedRoute.snapshot.queryParams.viewMode ?\r\n this.activatedRoute.snapshot.queryParams.viewMode : ''\r\n const token = this.keyCloakSvc.token\r\n const response = {\r\n subApplicationName: applicationName,\r\n requestId: 'LOADED',\r\n parentContext: {\r\n domainName: window.location.host,\r\n url: this.router.url,\r\n rootOrg: this.configSvc.rootOrg,\r\n theme: this.configSvc.activeThemeObject ? {\r\n name: this.configSvc.activeThemeObject.themeName,\r\n ...this.configSvc.activeThemeObject.color,\r\n } : '',\r\n fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',\r\n locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',\r\n darkMode: this.configSvc.isDarkMode,\r\n subApplicationStartMode: viewMode.toUpperCase(),\r\n user: {\r\n firstName,\r\n lastName,\r\n token,\r\n userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',\r\n roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],\r\n },\r\n heartbeatFrequency: '200',\r\n },\r\n data: null,\r\n }\r\n contentWindow.postMessage(response, '*')\r\n this.contentWindowinfo = contentWindow\r\n this.loaded = true\r\n this.subAppname = applicationName\r\n }\r\n }\r\n }\r\n continueLearningRespond(id: string, continueLearning: any) {\r\n this.contentSvc.saveContinueLearning(\r\n {\r\n contextPathId: id,\r\n resourceId: id,\r\n data: JSON.stringify({ timestamp: Date.now(), data: continueLearning }),\r\n dateAccessed: Date.now(),\r\n },\r\n )\r\n .toPromise()\r\n .catch()\r\n }\r\n telemetryEvents(tData: any) {\r\n if (tData) {\r\n switch (tData.eventId) {\r\n case 'INTERACT':\r\n this.eventSvc.dispatchEvent<WsEvents.IWsEventTelemetryInteract>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Warn,\r\n data: {\r\n ...tData.data,\r\n eventSubType: WsEvents.EnumTelemetrySubType.Interact,\r\n },\r\n from: tData.subApplicationName,\r\n to: 'Telemetry',\r\n })\r\n break\r\n case 'HEARTBEAT':\r\n this.eventSvc.dispatchEvent<WsEvents.IWsEventTelemetryHeartBeat>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Trace,\r\n data: {\r\n ...tData.data,\r\n eventSubType: WsEvents.EnumTelemetrySubType.HeartBeat,\r\n },\r\n from: tData.subApplicationName,\r\n to: 'Telemetry',\r\n })\r\n break\r\n case 'IMPRESSION':\r\n this.teleSvc.externalImpression(tData.data)\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n }\r\n unsubscribeResponse() {\r\n this.subAppname = ''\r\n this.continueLearningData = null\r\n this.contentWindowinfo = null\r\n this.loaded = false\r\n }\r\n changeContextrespond() {\r\n if (this.loaded && this.contentWindowinfo && this.configSvc && this.configSvc.userProfile && this.subAppname) {\r\n const firstName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[0] : ''\r\n const lastName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[1] : ''\r\n const viewMode: string = this.activatedRoute.snapshot.queryParams.viewMode ?\r\n this.activatedRoute.snapshot.queryParams.viewMode : ''\r\n const token = this.keyCloakSvc.token\r\n const response = {\r\n subApplicationName: this.subAppname,\r\n requestId: 'CONTEXT_CHANGE',\r\n parentContext: {\r\n domainName: window.location.host,\r\n url: this.router.url,\r\n rootOrg: this.configSvc.rootOrg,\r\n theme: this.configSvc.activeThemeObject ? {\r\n name: this.configSvc.activeThemeObject.themeName,\r\n ...this.configSvc.activeThemeObject.color,\r\n } : '',\r\n fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',\r\n locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',\r\n darkMode: this.configSvc.isDarkMode,\r\n subApplicationStartMode: viewMode.toUpperCase(),\r\n user: {\r\n firstName,\r\n lastName,\r\n token,\r\n userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',\r\n roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],\r\n },\r\n heartbeatFrequency: '200',\r\n },\r\n }\r\n this.contentWindowinfo.postMessage(response, '*')\r\n }\r\n }\r\n}\r\n","export interface IUserPreference {\r\n selectedTheme: string\r\n selectedFont: string\r\n selectedLocale: string\r\n isDarkMode: boolean\r\n isIntranetAllowed?: boolean\r\n isRTL: boolean\r\n colorPallet: string[]\r\n defaultCardType: string\r\n pinnedApps: string\r\n selectedLangGroup?: string\r\n completedActivity: string[]\r\n completedTour?: boolean\r\n profileSettings: string[]\r\n}\r\n\r\nexport interface IProfile {\r\n showProfilePicture: boolean\r\n showUserInterest: boolean\r\n showKbFollowed: boolean\r\n showPlaylist: boolean\r\n showAuthoredByMe: boolean\r\n showReviewedByMe: boolean\r\n showBadgeDetails: boolean\r\n showBlogs: boolean\r\n showQnA: boolean\r\n // showLearningTime: boolean\r\n // showLearningPoints: boolean\r\n // showLastViewed: boolean\r\n // showGoals: boolean\r\n // showTopicsFollowed: boolean\r\n // showAssessmentDetails: boolean\r\n // showCertificationDetails: boolean\r\n // showUserSkills: boolean\r\n}\r\nexport interface IPortalUrls {\r\n igot: string,\r\n spv: string,\r\n mdo: string,\r\n cbc: string,\r\n cbp: string,\r\n frac: string\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { IUserPreference } from './user-preference.model'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { debounceTime, retry, catchError } from 'rxjs/operators'\r\nimport { of } from 'rxjs'\r\nconst endpoints = {\r\n userPref: '/apis/protected/v8/user/preference',\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserPreferenceService {\r\n // do changes in the backend and update the store\r\n\r\n constructor(private http: HttpClient, private configurationSvc: ConfigurationsService) { }\r\n\r\n initialize() {\r\n this.configurationSvc.prefChangeNotifier\r\n .pipe(debounceTime(250))\r\n .subscribe((changedUserPref?: Partial<IUserPreference>) => {\r\n if (this.configurationSvc.isAuthenticated) {\r\n this.saveUserPreference(changedUserPref)\r\n }\r\n })\r\n }\r\n\r\n async fetchUserPreference(): Promise<IUserPreference> {\r\n const pref = await this.http.get<IUserPreference>(endpoints.userPref).toPromise()\r\n return pref\r\n }\r\n\r\n async saveUserPreference(changedUserPref?: Partial<IUserPreference>): Promise<boolean> {\r\n try {\r\n if (!changedUserPref) {\r\n return false\r\n }\r\n const newUserPref: IUserPreference = {\r\n ...this.configurationSvc.userPreference,\r\n pinnedApps:\r\n (changedUserPref && changedUserPref.pinnedApps) ||\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.pinnedApps) ||\r\n '',\r\n isDarkMode: this.configurationSvc.isDarkMode,\r\n isRTL: this.configurationSvc.isRTL,\r\n selectedTheme:\r\n (this.configurationSvc.activeThemeObject &&\r\n this.configurationSvc.activeThemeObject.themeClass) ||\r\n '',\r\n selectedFont:\r\n (this.configurationSvc.activeFontObject &&\r\n this.configurationSvc.activeFontObject.fontClass) ||\r\n '',\r\n selectedLangGroup:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.selectedLangGroup) ||\r\n '',\r\n selectedLocale:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.selectedLocale) ||\r\n '',\r\n colorPallet:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.colorPallet) ||\r\n [],\r\n defaultCardType:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.defaultCardType) ||\r\n '',\r\n completedActivity:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.completedActivity) ||\r\n [],\r\n ...(changedUserPref || {}),\r\n completedTour: this.configurationSvc.completedTour,\r\n profileSettings:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.profileSettings) ||\r\n this.configurationSvc.profileSettings,\r\n }\r\n const oldUserPref: IUserPreference | null = this.configurationSvc.userPreference\r\n this.configurationSvc.userPreference = newUserPref\r\n await this.http\r\n .put(endpoints.userPref, newUserPref)\r\n .pipe(\r\n retry(3),\r\n catchError(err => {\r\n this.configurationSvc.userPreference = oldUserPref\r\n return of(err)\r\n }),\r\n )\r\n .toPromise()\r\n return true\r\n } catch (err) {\r\n return false\r\n }\r\n }\r\n}\r\n","export namespace NsContent {\r\n export interface IContinueLearningData extends IContent {\r\n continueData: any\r\n }\r\n\r\n export interface IContent {\r\n platform?: any\r\n addedOn: string\r\n appIcon: string\r\n artifactUrl: string\r\n averageRating?: any\r\n body?: string\r\n certificationList?: IRelatedContentMeta[]\r\n certificationStatus?: TCertificationStatus\r\n certificationSubmissionDate?: string\r\n certificationUrl: string\r\n children: IContent[]\r\n childrenClassifiers?: string[]\r\n clients?: IClient[]\r\n collections?: IContent[]\r\n complexityLevel: string\r\n contentId: string\r\n contentType: EContentTypes\r\n contentUrlAtSource: string\r\n creatorContacts: ICreator[]\r\n\r\n creatorDetails: ICreator[]\r\n creatorLogo: string\r\n creatorPosterImage: string\r\n creatorThumbnail: string\r\n\r\n curatedTags: string[]\r\n description: string\r\n displayContentType: EDisplayContentTypes // For UI\r\n downloadUrl?: string\r\n duration: number\r\n exclusiveContent?: boolean\r\n expiryDate?: string\r\n equivalentCertifications?: IRelatedContentMeta[]\r\n hasAccess: boolean\r\n hasAssessment?: string\r\n idealScreenSize?: string\r\n identifier: string\r\n introductoryVideo?: string\r\n introductoryVideoIcon?: string\r\n learningTrack?: string\r\n isExternal: boolean\r\n isIframeSupported: 'Yes' | 'No' | 'Maybe'\r\n isInIntranet?: boolean\r\n keywords?: string[]\r\n kArtifacts?: IRelatedContentMeta[]\r\n lastUpdatedOn: string\r\n learningMode?: TLearningMode\r\n learningObjective: string\r\n labels?: string[]\r\n locale?: string\r\n hasTranslations?: { identifier: string; locale: string }[]\r\n isTranslationOf?: { identifier: string; locale: string }[]\r\n me_totalSessionsCount: number\r\n mediaType: string\r\n mimeType: EMimeTypes\r\n minWingspanVersion?: string\r\n msArtifactDetails?: IMSArtifactDetails\r\n mode?: ETagType\r\n name: string\r\n nextCertificationAttemptDate?: string\r\n playgroundInstructions?: string\r\n playgroundResources?: IResourcePlayground[]\r\n postContents?: IPrePostContent[]\r\n posterImage?: string\r\n preContents?: IPrePostContent[]\r\n preRequisites: string\r\n price?: {\r\n currency: string\r\n value: number\r\n }\r\n proctorUrl?: string\r\n progress?: IMarkAsCompleteProgress\r\n publishedOn: string\r\n recentCertificationAttemptScore?: number\r\n recommendationReasons?: string[]\r\n region?: string[]\r\n registrationUrl?: string\r\n registrationInstructions?: string\r\n resourceCategory?: string[]\r\n resourceType: string\r\n size?: number\r\n skills: ISkill[]\r\n softwareRequirements?: IResourceDetail[]\r\n sourceName: string\r\n sourceShortName: string\r\n sourceIconUrl?: string\r\n sourceUrl?: string\r\n ssoEnabled?: boolean\r\n status:\r\n | 'Draft'\r\n | 'InReview'\r\n | 'QualityReview'\r\n | 'Reviewed'\r\n | 'Processing'\r\n | 'Live'\r\n | 'Deleted'\r\n | 'MarkedForDeletion'\r\n | 'Expired'\r\n subTitle?: string\r\n subTitles?: ISubtitle[]\r\n studyMaterials?: IRelatedContentMeta[]\r\n systemRequirements?: string[]\r\n tags: ITag[]\r\n topics: IContentTopic[]\r\n totalLikes?: { [key: string]: number }\r\n totalRating?: number\r\n track: ITrack[]\r\n uniqueLearners?: number\r\n viewCount?: { [key: string]: number }\r\n reason?: string // required for Knowledge board\r\n trainingLHubCount?: number // for LHub trainings\r\n verifiers?: {\r\n // required for External Certifications\r\n name: string\r\n email: string\r\n id: string\r\n }[]\r\n references?: { url: string; title: string }[]\r\n resumePage?: number // For player WebModule in UI\r\n [key: string]: any\r\n }\r\n\r\n export interface IContentMinimal {\r\n appIcon: string\r\n artifactUrl: string\r\n complexityLevel: string\r\n contentType: EContentTypes\r\n description: string\r\n displayContentType?: EDisplayContentTypes\r\n duration: number\r\n identifier: string\r\n hasAccess?: boolean\r\n isInIntranet?: boolean\r\n learningMode?: TLearningMode\r\n mimeType: EMimeTypes\r\n name: string\r\n creatorDetails: ICreator[]\r\n creatorContacts: ICreator[]\r\n PosterImage: string\r\n resourceType?: string\r\n totalRating?: number\r\n }\r\n\r\n export interface ICollectionHierarchyResponse {\r\n data: IContent\r\n hasMore: boolean\r\n totalContents: number\r\n }\r\n\r\n export interface IRelatedContentMeta {\r\n identifier: string\r\n name: string\r\n }\r\n\r\n type TCertificationStatus = 'ongoing' | 'passed' | 'canAttempt' | 'cannotAttempt'\r\n export type TLearningMode = 'Self-Paced' | 'Instructor-Led' | 'Open' | 'Closed'\r\n\r\n interface IMarkAsCompleteProgress {\r\n progressStatus: 'open' | 'started' | 'completed'\r\n showMarkAsComplete: boolean\r\n markAsCompleteReason: string\r\n progressSupported: boolean\r\n progress: number | null\r\n }\r\n\r\n interface ITag {\r\n id: string\r\n type: string\r\n value: string\r\n }\r\n interface IMSArtifactDetails {\r\n channelId: string\r\n videoId: string\r\n }\r\n interface IClient {\r\n displayName: string\r\n id: string\r\n name: string\r\n }\r\n interface ISubtitle {\r\n srclang: string\r\n label: string\r\n url: string\r\n }\r\n interface IPrePostContent {\r\n identifier: string\r\n name: string\r\n }\r\n interface IResourceDetail {\r\n title?: string\r\n url?: string\r\n }\r\n interface IResourcePlayground {\r\n appIcon: string\r\n artifactUrl: string\r\n identifier: string\r\n name: string\r\n }\r\n interface ITrack {\r\n id: string\r\n name: string\r\n status: string\r\n visibility: string\r\n }\r\n interface ISkill {\r\n id: string\r\n category: string\r\n skill: string\r\n name: string\r\n }\r\n export interface ICreator {\r\n id: string\r\n name: string\r\n email: string\r\n }\r\n export interface IContentTopic {\r\n identifier: string\r\n name: string\r\n }\r\n // API Based\r\n\r\n export interface IContact {\r\n id: string\r\n name: string\r\n email: string\r\n }\r\n\r\n export interface IViewerContinueLearningRequest {\r\n resourceId: string\r\n contextPathId: string\r\n data: string\r\n dateAccessed: number\r\n contextType?: string\r\n }\r\n\r\n export enum EContentTypes {\r\n PROGRAM = 'Learning Path',\r\n CHANNEL = 'Channel',\r\n COURSE = 'Course',\r\n KNOWLEDGE_ARTIFACT = 'Knowledge Artifact',\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n MODULE = 'Collection',\r\n RESOURCE = 'Resource',\r\n }\r\n export enum EMiscPlayerSupportedCollectionTypes {\r\n PLAYLIST = 'Playlist',\r\n }\r\n export const PLAYER_SUPPORTED_COLLECTION_TYPES: string[] = [\r\n EContentTypes.COURSE,\r\n EContentTypes.MODULE,\r\n EContentTypes.PROGRAM,\r\n EMiscPlayerSupportedCollectionTypes.PLAYLIST,\r\n ]\r\n export const KB_SUPPORTED_CONTENT_TYPES: EContentTypes[] = [\r\n EContentTypes.COURSE,\r\n EContentTypes.MODULE,\r\n EContentTypes.PROGRAM,\r\n EContentTypes.RESOURCE,\r\n ]\r\n export const PLAYLIST_SUPPORTED_CONTENT_TYPES: EContentTypes[] = [\r\n EContentTypes.COURSE,\r\n EContentTypes.MODULE,\r\n EContentTypes.PROGRAM,\r\n EContentTypes.RESOURCE,\r\n ]\r\n export enum EMimeTypes {\r\n COLLECTION = 'application/vnd.ekstep.content-collection',\r\n HTML = 'application/html',\r\n ILP_FP = 'application/ilpfp',\r\n IAP = 'application/iap-assessment',\r\n M4A = 'audio/m4a',\r\n MP3 = 'audio/mpeg',\r\n MP4 = 'video/mp4',\r\n M3U8 = 'application/x-mpegURL',\r\n INTERACTION = 'video/interactive',\r\n PDF = 'application/pdf',\r\n QUIZ = 'application/quiz',\r\n DRAG_DROP = 'application/drag-drop',\r\n HTML_PICKER = 'application/htmlpicker',\r\n WEB_MODULE = 'application/web-module',\r\n WEB_MODULE_EXERCISE = 'application/web-module-exercise',\r\n YOUTUBE = 'video/x-youtube',\r\n HANDS_ON = 'application/integrated-hands-on',\r\n RDBMS_HANDS_ON = 'application/rdbms',\r\n CLASS_DIAGRAM = 'application/class-diagram',\r\n CHANNEL = 'application/channel',\r\n COLLECTION_RESOURCE = 'resource/collection',\r\n // Added on UI Only\r\n CERTIFICATION = 'application/certification',\r\n PLAYLIST = 'application/playlist',\r\n UNKNOWN = 'application/unknown',\r\n }\r\n export enum EDisplayContentTypes {\r\n ASSESSMENT = 'ASSESSMENT',\r\n AUDIO = 'AUDIO',\r\n CERTIFICATION = 'CERTIFICATION',\r\n CHANNEL = 'Channel',\r\n CLASS_DIAGRAM = 'CLASS_DIAGRAM',\r\n COURSE = 'COURSE',\r\n DEFAULT = 'DEFAULT',\r\n DRAG_DROP = 'DRAG_DROP',\r\n EXTERNAL_CERTIFICATION = 'EXTERNAL_CERTIFICATION',\r\n EXTERNAL_COURSE = 'EXTERNAL_COURSE',\r\n GOALS = 'GOALS',\r\n HANDS_ON = 'HANDS_ON',\r\n IAP = 'IAP',\r\n INSTRUCTOR_LED = 'INSTRUCTOR_LED',\r\n INTERACTIVE_VIDEO = 'INTERACTIVE_VIDEO',\r\n KNOWLEDGE_ARTIFACT = 'KNOWLEDGE_ARTIFACT',\r\n MODULE = 'MODULE',\r\n PDF = 'PDF',\r\n PLAYLIST = 'PLAYLIST',\r\n PROGRAM = 'PROGRAM',\r\n QUIZ = 'QUIZ',\r\n RESOURCE = 'RESOURCE',\r\n RDBMS_HANDS_ON = 'RDBMS_HANDS_ON',\r\n VIDEO = 'VIDEO',\r\n WEB_MODULE = 'WEB_MODULE',\r\n WEB_PAGE = 'WEB_PAGE',\r\n YOUTUBE = 'YOUTUBE',\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n }\r\n // for UI\r\n export enum EFilterCategory {\r\n ALL = 'ALL',\r\n LEARN = 'LEARN',\r\n PRACTICE = 'PRACTICE',\r\n ASSESS = 'ASSESS',\r\n }\r\n\r\n // for UI\r\n export enum ETagType {\r\n NEWLY_ADDED = 'NEWLY ADDED',\r\n }\r\n}\r\n","export interface IContentRating {\n averageRating: string\n ratingCount: number\n ratingInfo: IRatingInfo[]\n}\nexport interface IRatingInfo {\n rating: number\n count: number\n}\n"],"names":["BehaviorSubject","ReplaySubject","Injectable","Breakpoints","map","BreakpointObserver","EventEmitter","Component","MatDialogRef","MatSnackBar","Inject","MAT_DIALOG_DATA","Output","NgModule","CommonModule","ImageCropperModule","MatIconModule","MatButtonModule","MatDialogModule","MatToolbarModule","MatCardModule","MatTooltipModule","MatSliderModule","fromEvent","debounceTime","Directive","Input","HostBinding","HostListener","distinctUntilChanged","ElementRef","throttleTime","timer","ViewChild","MatProgressSpinnerModule","HttpClient","storage","storageKey","KeycloakEventType","filter","KeycloakService","router","NavigationEnd","Platform","Router","ActivatedRoute","Pipe","orderBy","tslib_1.__values","DomSanitizer","catchError","of","forkJoin","mergeMap","LOCALE_ID","WsEvents","moment","Subject","_.camelCase","retry","NsContent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sunbird-cb-utils.umd.js","sources":["../../../../library/sunbird-cb/utils/src/lib/services/configurations.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/value.service.ts","../../../../library/sunbird-cb/utils/src/lib/components/image-crop/image-crop.component.ts","../../../../library/sunbird-cb/utils/src/lib/components/image-crop/image-crop.component.html","../../../../library/sunbird-cb/utils/src/lib/components/image-crop/image-crop.module.ts","../../../../library/sunbird-cb/utils/src/lib/constants/features.enum.ts","../../../../library/sunbird-cb/utils/src/lib/constants/instances.enum.ts","../../../../library/sunbird-cb/utils/src/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.ts","../../../../library/sunbird-cb/utils/src/lib/directives/class-change-on-scroll/class-change-on-scroll.module.ts","../../../../library/sunbird-cb/utils/src/lib/directives/default-thumbnail/default-thumbnail.directive.ts","../../../../library/sunbird-cb/utils/src/lib/directives/default-thumbnail/default-thumbnail.module.ts","../../../../library/sunbird-cb/utils/src/lib/directives/image-responsive/image-responsive.directive.ts","../../../../library/sunbird-cb/utils/src/lib/directives/image-responsive/image-responsive.module.ts","../../../../library/sunbird-cb/utils/src/lib/directives/in-view-port/in-view-port.directive.ts","../../../../library/sunbird-cb/utils/src/lib/directives/in-view-port/in-view-port.module.ts","../../../../library/sunbird-cb/utils/src/lib/directives/navigation/navigation.directive.ts","../../../../library/sunbird-cb/utils/src/lib/directives/navigation/navigation.module.ts","../../../../library/sunbird-cb/utils/src/lib/directives/permission/permission.directive.ts","../../../../library/sunbird-cb/utils/src/lib/directives/permission/permission.module.ts","../../../../library/sunbird-cb/utils/src/lib/helpers/functions/getStringifiedQueryParams.ts","../../../../library/sunbird-cb/utils/src/lib/helpers/horizontal-scroller/horizontal-scroller.component.ts","../../../../library/sunbird-cb/utils/src/lib/helpers/horizontal-scroller/horizontal-scroller.component.html","../../../../library/sunbird-cb/utils/src/lib/helpers/horizontal-scroller/horizontal-scroller.module.ts","../../../../node_modules/tslib/tslib.es6.mjs","../../../../library/sunbird-cb/utils/src/lib/services/auth-keycloak.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/utility.service.ts","../../../../library/sunbird-cb/utils/src/lib/helpers/logout/logout.component.ts","../../../../library/sunbird-cb/utils/src/lib/helpers/logout/logout.component.html","../../../../library/sunbird-cb/utils/src/lib/helpers/logout/logout.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-count-transform/pipe-count-transform.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-date-concat/pipe-date-concat.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-filter/pipe-filter.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-filter/pipe-filter.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-filter-search/pipe-filter-search.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-list-filter/pipe-list-filter.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-relative-time/pipe-relative-time.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-order-by/pipe-order-by.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-order-by/pipe-order-by.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-limit-to/pipe-limit-to.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-name-transform/pipe-name-transform.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-partial-content/pipe-partial-content.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.ts","../../../../library/sunbird-cb/utils/src/lib/resolvers/explore-detail.resolver.ts","../../../../library/sunbird-cb/utils/src/lib/resolvers/marketing-offering.resolve.ts","../../../../library/sunbird-cb/utils/src/lib/resolvers/page.constant.ts","../../../../library/sunbird-cb/utils/src/lib/resolvers/page.resolver.ts","../../../../library/sunbird-cb/utils/src/lib/services/logger.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/auth-microsoft.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/event.model.ts","../../../../library/sunbird-cb/utils/src/lib/services/event.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/widget-content.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/telemetry.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/subapplication-respond.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/user-preference.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/widget-content.model.ts"],"sourcesContent":["import { Injectable } from '@angular/core'\nimport { BehaviorSubject, ReplaySubject } from 'rxjs'\n// import { environment } from '../../../../../../src/environments/environment'\nimport { NsPage } from '../resolvers/page.model'\nimport { NsAppsConfig, NsInstanceConfig, NsUser } from './configurations.model'\nimport { IUserPreference } from './user-preference.model'\n\n// const instanceConfigPath: string | null = window.location.host\n// const locationHost: string | null = window.location.host\n\n// if (!environment.production && Boolean(environment.sitePath)) {\n// locationHost = environment.sitePath\n// instanceConfigPath = environment.sitePath\n// }\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationsService {\n // update as the single source of truth\n constructor() {\n // @Inject('env') env: any\n // if (!env.production && Boolean(env.sitePath)) {\n // locationHost = env.sitePath\n // instanceConfigPath = env.sitePath\n // }\n }\n appSetup = true\n // The url the user tried to access while landing in the app before accepting tnc\n userUrl = ''\n baseUrl = `assets/configurations`\n sitePath = `assets/configurations`\n hostPath = (window.location.host).replace(':', '_')\n\n userRoles: Set<string> | null = null\n userGroups: Set<string> | null = null\n restrictedFeatures: Set<string> | null = null\n restrictedWidgets: Set<string> | null = null\n instanceConfig: NsInstanceConfig.IConfig | null = null\n appsConfig: NsAppsConfig.IAppsConfig | null = null\n rootOrg: string | null = null\n courseContentPath?: string\n org: string[] | null = null\n activeOrg: string | null = ''\n isProduction = false\n hasAcceptedTnc = false\n profileDetailsStatus = false\n userPreference: IUserPreference | null = null\n userProfile: NsUser.IUserProfile | null = null\n userProfileV2: NsUser.IUserProfile | null = null\n // created to store complete user details sent by pid\n unMappedUser: any\n orgReadData: any\n isAuthenticated = false\n isNewUser = false\n isActive = true\n\n // pinnedApps\n pinnedApps = new BehaviorSubject<Set<string>>(new Set())\n\n // Notifier\n prefChangeNotifier = new ReplaySubject<Partial<IUserPreference>>(1)\n tourGuideNotifier = new ReplaySubject<boolean>()\n authChangeNotifier = new ReplaySubject<boolean>(1)\n\n // Preference Related Values\n activeThemeObject: NsInstanceConfig.ITheme | null = null\n activeFontObject: NsInstanceConfig.IFontSize | null = null\n isDarkMode = false\n isIntranetAllowed = false\n isRTL = false\n activeLocale: NsInstanceConfig.ILocalsConfig | null = null\n activeLocaleGroup = ''\n completedActivity: string[] | null = null\n completedTour = false\n competency: any\n profileSettings = ['profilePicture', 'learningTime', 'learningPoints']\n\n primaryNavBar: Partial<NsPage.INavBackground> = {\n color: 'primary',\n }\n pageNavBar: Partial<NsPage.INavBackground> = {\n color: 'primary',\n }\n primaryNavBarConfig: NsInstanceConfig.IPrimaryNavbarConfig | null = null\n\n private updateOrgReadData: BehaviorSubject<string> = new BehaviorSubject('')\n updateOrgReadDataObservable = this.updateOrgReadData.asObservable()\n updateOrgData(id: string) {\n this.updateOrgReadData.next(id)\n }\n}\n","import { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs'\r\nimport { BreakpointObserver, Breakpoints, BreakpointState } from '@angular/cdk/layout'\r\nimport { map } from 'rxjs/operators'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ValueService {\r\n\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n ) { }\r\n\r\n public isXSmall$: Observable<boolean> = this.breakpointObserver\r\n .observe([Breakpoints.XSmall])\r\n .pipe(map((res: BreakpointState) => res.matches))\r\n public isLtMedium$: Observable<boolean> = this.breakpointObserver\r\n .observe([Breakpoints.XSmall, Breakpoints.Small])\r\n .pipe(map((res: BreakpointState) => res.matches))\r\n\r\n}\r\n","import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core'\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'\r\nimport { MatSnackBar } from '@angular/material/snack-bar'\r\n\r\nimport { ImageCroppedEvent, ImageTransform } from 'ngx-image-cropper'\r\nimport { ConfigurationsService } from '../../services/configurations.service'\r\nimport { ValueService } from '../../services/value.service'\r\nexport interface IDialogueDta {\r\n isRoundCrop: boolean,\r\n imageFile: File,\r\n height: number,\r\n width: number,\r\n imageFileName: string\r\n}\r\n@Component({\r\n selector: 'ws-utils-image-crop',\r\n templateUrl: './image-crop.component.html',\r\n styleUrls: ['./image-crop.component.scss'],\r\n})\r\nexport class ImageCropComponent implements OnInit {\r\n // need to set for creator Logo\r\n @Output() data = new EventEmitter<File>()\r\n isRoundCrop = false\r\n isNotOfRequiredSize = false\r\n imageFile!: File\r\n cropimageFile!: File\r\n imageFileBase64: any = ''\r\n width: any = ''\r\n height: any = ''\r\n opHeight: any\r\n opWidth: any\r\n imageDimensions: any = ''\r\n croppedHeight: any = ''\r\n croppedWidth: any = ''\r\n cropperReadyToStart: any = false\r\n fileName = ''\r\n canvasRotation = 0\r\n transform: ImageTransform = {}\r\n resetValue = false\r\n element: any\r\n isXSmall = false\r\n isThumbnail = true\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef<ImageCropComponent>,\r\n private configSvc: ConfigurationsService,\r\n private snackBar: MatSnackBar,\r\n private valueSvc: ValueService,\r\n @Inject(MAT_DIALOG_DATA) data: IDialogueDta\r\n ) {\r\n this.isRoundCrop = data.isRoundCrop\r\n if (data.imageFile) {\r\n this.imageFile = data.imageFile\r\n }\r\n if (data.imageFileName) {\r\n this.fileName = data.imageFileName\r\n }\r\n if (!data.isRoundCrop) {\r\n if (data.height) {\r\n this.opHeight = data.height\r\n }\r\n if (data.width) {\r\n this.opWidth = data.width\r\n }\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.thumbnailSizeDetection()\r\n this.valueSvc.isXSmall$.subscribe((isXSmall: boolean) => {\r\n this.isXSmall = isXSmall\r\n if (this.isXSmall) {\r\n this.dialogRef.updateSize('90%')\r\n } else {\r\n this.dialogRef.updateSize('70%')\r\n }\r\n })\r\n\r\n }\r\n\r\n // displays the default image\r\n changeToDefaultImg($event: any) {\r\n $event.target.src = this.configSvc.instanceConfig ?\r\n this.configSvc.instanceConfig.logos.defaultContent : ''\r\n }\r\n\r\n // image cropping event\r\n imageCropped(event: ImageCroppedEvent) {\r\n\r\n this.imageFileBase64 = event.base64 // store the cropped image as a base64 value\r\n this.cropimageFile = this.base64ImageToBlob(this.imageFileBase64) // convert the cropped image as a file\r\n this.croppedHeight = event.height\r\n this.croppedWidth = event.width\r\n\r\n }\r\n\r\n openSnackBar(message: string) {\r\n this.snackBar.open(message, 'X', {\r\n duration: 2000,\r\n })\r\n }\r\n continueToImageCrop() {\r\n this.isNotOfRequiredSize = false\r\n }\r\n\r\n // checks if the image is of the correct dimensions\r\n thumbnailSizeDetection() {\r\n const fr = new FileReader()\r\n fr.readAsDataURL(this.imageFile)\r\n fr.onload = () => { // when file has loaded\r\n const img = new Image()\r\n img.src = fr.result as string\r\n img.onload = () => {\r\n this.width = img.width\r\n this.height = img.height\r\n if (!this.isRoundCrop) {\r\n if ((this.height === this.opHeight) && (this.width === this.opWidth)) {\r\n this.openSnackBar('Image is of the required dimensions of the thumbnail, croping is not available!')\r\n return\r\n }\r\n if ((this.height < this.opHeight) || (this.width < this.opWidth)) {\r\n this.isNotOfRequiredSize = true\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n base64ImageToBlob(str: string): File {\r\n // extract content type and base64 payload from original string\r\n\r\n const pos = str.indexOf(';base64,')\r\n // var type = str.substring(5, pos);\r\n const b64 = str.substr(pos + 8)\r\n // decode base64\r\n const imageContent = atob(b64)\r\n // create an ArrayBuffer and a view (as unsigned 8-bit)\r\n const buffer = new ArrayBuffer(imageContent.length)\r\n const view = new Uint8Array(buffer)\r\n // fill the view, using the decoded base64\r\n for (let n = 0; n < imageContent.length; n = n + 1) {\r\n view[n] = imageContent.charCodeAt(n)\r\n }\r\n // convert ArrayBuffer to Blob\r\n const blob = new Blob([view], { type: 'image/png' })\r\n const b: any = blob\r\n // Cast to a File() type\r\n b.lastModifiedDate = new Date()\r\n b.name = this.fileName\r\n const file = new File([blob], this.fileName, { type: 'image/jpeg' })\r\n return file\r\n\r\n }\r\n\r\n private flipAfterRotate() {\r\n const flippedH = this.transform.flipH\r\n const flippedV = this.transform.flipV\r\n this.transform = {\r\n ...this.transform,\r\n flipH: flippedV,\r\n flipV: flippedH,\r\n }\r\n }\r\n\r\n rotateLeft() {\r\n this.canvasRotation = this.canvasRotation - 1\r\n this.flipAfterRotate()\r\n }\r\n\r\n rotateRight() {\r\n this.canvasRotation = this.canvasRotation + 1\r\n this.flipAfterRotate()\r\n }\r\n\r\n flipHorizontal() {\r\n this.transform = {\r\n ...this.transform,\r\n flipH: !this.transform.flipH,\r\n }\r\n }\r\n\r\n zoom(event: any) {\r\n this.resetValue = false\r\n this.transform = {\r\n ...this.transform,\r\n scale: event.value,\r\n }\r\n }\r\n\r\n // calls when apply button is clicked,and returns the cropped image\r\n croppingImage() {\r\n this.dialogRef.close(this.cropimageFile)\r\n }\r\n\r\n reset() {\r\n this.resetValue = true\r\n this.canvasRotation = 0\r\n this.transform = {}\r\n }\r\n // closes the dialog box\r\n close(): void {\r\n this.dialogRef.close()\r\n }\r\n\r\n}\r\n","<ng-container *ngIf=\"isNotOfRequiredSize\">\r\n <mat-dialog-content>\r\n <div class=\"flex pl-4\">\r\n <mat-icon class=\"ws-mat-warn-text largeicon padding-remove-left\">warning</mat-icon>\r\n <h2 class=\"text-xl\" i18n>This image will appear stretched as it is not in proper dimension. Do you want to\r\n continue?</h2>\r\n </div>\r\n <div class=\"text-sm pl-4\">\r\n <div i18n class=\"pb-2\">Note:</div>\r\n <div i18n class=\"pb-2\">Required dimensions : 265 * 150</div>\r\n <div class=\"flex flex-wrap items-baseline\">\r\n <div>Current dimensions:</div>\r\n <div class=\"pl-1\">{{ width }} * {{ height }} px</div>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n <mat-dialog-actions class=\"flex flex-end\">\r\n <div class=\"flex flex-end\">\r\n <button mat-raised-button autofocus type=\"button\" (click)=\" close()\">\r\n <span i18n>No</span>\r\n </button>\r\n <button mat-raised-button type=\"button\" class=\"text-white ws-mat-primary-background text-white\"\r\n (click)=\" continueToImageCrop()\">\r\n <span class=\"text-white\" i18n>Yes</span>\r\n </button>\r\n </div>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n<ng-container *ngIf=\"isRoundCrop\">\r\n <!-- For Profile image - start -->\r\n <div class=\"flex flex-between\">\r\n <mat-icon class=\" ws-mat-primary-text margin-bottom-xxs\">crop</mat-icon>\r\n <p mat-dialog-title class=\"text-3xl font-weight-bold ws-mat-primary-text\" i18n>Profile Photo</p>\r\n <mat-icon class=\"float-right flex-end cursor-pointer\" (click)=\"close()\" i18n>close</mat-icon>\r\n\r\n </div>\r\n <mat-dialog-content class=\"p-0 overflow-hidden \" *ngIf=\"isRoundCrop\">\r\n <div class=\"flex flex-between\">\r\n <div class=\"profile-slides\">\r\n <image-cropper #imageCropper class=\"image-cropper-profile\" [imageFile]=\"imageFile\" [maintainAspectRatio]=\"true\"\r\n [aspectRatio]=\"250 / 250\" [resizeToWidth]=\"100\" [roundCropper]=\"isRoundCrop\" [resizeToHeight]=\"120\"\r\n [cropperMinWidth]=\"500\" [format]=\"'jpeg'\" [transform]=\"transform\" [canvasRotation]=\"canvasRotation\"\r\n (imageCropped)=\"imageCropped($event)\">\r\n </image-cropper>\r\n </div>\r\n </div>\r\n <ul class=\"toolbar cf\">\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"rotateLeft()\">\r\n <mat-icon class=\"text-white large-icon ws-mat-primary-text\">rotate_left</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Left</span>\r\n </button>\r\n </li>\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"rotateRight()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">rotate_right</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Right</span>\r\n </button></li>\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"flipHorizontal()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">flip</mat-icon>\r\n <span class=\"button-text\" i18n>Flip Horizontal</span>\r\n </button></li>\r\n <li><a href=\"#\"><i class=\"icon-cloud\"></i></a></li>\r\n </ul>\r\n </mat-dialog-content>\r\n</ng-container> <!-- For Profile image - end -->\r\n<ng-container>\r\n <ng-container *ngIf=\"!isNotOfRequiredSize && !isRoundCrop \">\r\n <div class=\"flex flex-between\">\r\n <mat-icon class=\" ws-mat-primary-text margin-bottom-xxs\">crop</mat-icon>\r\n <p mat-dialog-title class=\"text-3xl title-margin font-weight-bold ws-mat-primary-text\" i18n>Edit Image</p>\r\n <mat-icon class=\"float-right flex-end cursor-pointer\" (click)=\"close()\" i18n>\r\n close</mat-icon>\r\n </div>\r\n <mat-dialog-content *ngIf=\"!isRoundCrop\">\r\n <div class=\"flex flex-between\">\r\n <div class=\"Slides\">\r\n <image-cropper #imageCropper class=\"image-cropper padding-remove\" [imageFile]=\"imageFile\"\r\n [maintainAspectRatio]=\"true\" [aspectRatio]=\"opWidth / opHeight\" [resizeToWidth]=\"opWidth\"\r\n [roundCropper]=\"isRoundCrop\" [resizeToHeight]=\"opHeight\" [cropperMinWidth]=\"opWidth\" [format]=\"'jpeg'\"\r\n [transform]=\"transform\" [canvasRotation]=\"canvasRotation\" (imageCropped)=\"imageCropped($event)\">\r\n </image-cropper>\r\n <div class=\"flex flex-between\">\r\n <span class=\"my-3\" i18n>Zoom</span>\r\n <mat-slider class=\"w-full mx-3\" color=\"primary\" (input)=\"zoom($event)\" min=\"1\" max=\"2.5\" step=\"0.1\">\r\n </mat-slider>\r\n </div>\r\n <div class=\"edit-feature-window \" *ngIf=\"!isXSmall\">\r\n <div class=\"flex flex-between\">\r\n <button mat-raised-button class=\"mat-button\" (click)=\"rotateLeft()\">\r\n <mat-icon class=\"text-white large-icon ws-mat-primary-text\">rotate_left</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Left</span>\r\n </button>\r\n <button mat-raised-button class=\"mat-button\" (click)=\"rotateRight()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">rotate_right</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Right</span>\r\n </button>\r\n <button mat-raised-button class=\"mat-button\" (click)=\"flipHorizontal()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">flip</mat-icon>\r\n <span class=\"button-text\" i18n>Flip Horizontal</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <mat-card class=\"ws-mat-primary-border-top-bolder mat-elevation-z6 margin-bottom-l button-text\"\r\n *ngIf=\"isThumbnail\">\r\n <img [src]=\"imageFileBase64\" height=\"auto\" width=\"100%\" (error)=\"changeToDefaultImg($event)\" />\r\n <div class=\"flex flex-middle justify-center margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">image</mat-icon>\r\n <b class=\"mat-title margin-remove ws-mat-primary-text\" i18n>Preview</b>\r\n </div>\r\n </mat-card>\r\n </div>\r\n <div class=\"edit-feature-window heightwidth\">\r\n <!-- <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_horiz</mat-icon>\r\n <b class=\"mat-body margin-remove \" i18n>Cropped dimensions: {{ opWidth }} * {{ opHeight }} px</b>\r\n </div> -->\r\n <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_horiz</mat-icon>\r\n <b class=\"mat-body margin-remove \">\r\n <span i18n>Cropped Width: </span>\r\n <span>{{ croppedWidth }}</span>\r\n <span i18n>px</span>\r\n </b>\r\n </div>\r\n <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_vert</mat-icon>\r\n <b class=\"mat-body margin-remove \">\r\n <span i18n>Cropped Height: </span>\r\n <span>{{ croppedHeight }}</span>\r\n <span i18n>px</span>\r\n </b>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n </ng-container>\r\n <mat-dialog-actions align=\"end\" *ngIf=\"!isNotOfRequiredSize \">\r\n <div class=\"flex flex-end margin-bottom-s\">\r\n <!-- <button mat-raised-button type=\"button\" (click)=\" reset()\">\r\n <span i18n>Reset</span>\r\n </button> -->\r\n <button mat-raised-button type=\"button\" class=\"text-white ws-mat-primary-background text-white\"\r\n (click)=\" croppingImage()\">\r\n <span class=\"text-white\" i18n>Apply</span>\r\n </button>\r\n </div>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common'\r\nimport { NgModule } from '@angular/core'\r\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatDialogModule } from '@angular/material/dialog'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatSliderModule } from '@angular/material/slider'\nimport { MatToolbarModule } from '@angular/material/toolbar'\nimport { MatTooltipModule } from '@angular/material/tooltip'\r\nimport { ImageCropperModule } from 'ngx-image-cropper'\r\nimport { ImageCropComponent } from './image-crop.component'\r\n// @dynamic\r\n@NgModule({\r\n declarations: [ImageCropComponent],\r\n imports: [\r\n CommonModule,\r\n ImageCropperModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatToolbarModule,\r\n MatDialogModule,\r\n MatCardModule,\r\n MatTooltipModule,\r\n MatSliderModule,\r\n ],\r\n exports: [ImageCropComponent],\r\n entryComponents: [ImageCropComponent],\r\n})\r\nexport class ImageCropModule { }\r\n","export enum EFeatures {\r\n // Playlists\r\n PLAYLIST = 'playlist',\r\n PLAYLIST_CREATE = 'playlistCreate',\r\n PLAYLIST_ADD_NEW_CONTENT = 'playlistAddNewContent',\r\n PLAYLIST_REMOVE_EXISTING_CONTENT = 'playlistRemoveExistingContent',\r\n PLAYLIST_DELETE = 'playlistDelete',\r\n PLAYLIST_SHARE = 'playlistShare',\r\n\r\n // Goals\r\n GOAL = 'goal',\r\n GOAL_CREATE_OWN = 'goalCreateOwn',\r\n GOAL_CREATE_SUGGESTED = 'goalCreateSuggested',\r\n GOAL_EDIT_EXISTING_GOAL = 'goalEditExistingGoal',\r\n GOAL_DELETE_EXISTING_GOAL = 'goalDeleteExistingGoal',\r\n GOAL_SHARE_GOAL_WITH_OTHERS = 'goalShareGoalWithOthers',\r\n GOAL_VIEW_ALL_GOALS_SECTION = 'goalViewAllGoalsSection',\r\n GOAL_VIEW_IN_PROGRESS_GOALS_SECTION = 'goalViewInProgressGoalsSection',\r\n GOAL_VIEW_COMPLETED_GOALS_SECTION = 'goalViewCompletedGoalsSection',\r\n\r\n // Navigator\r\n NAVIGATOR = 'navigator',\r\n NAVIGATOR_VIEW_NAVIGATOR_CAROUSEL = 'navigatorViewNavigatorCarousel',\r\n NAVIGATOR_VIEW_ROLES_PAGE = 'navigatorViewRolesPage',\r\n NAVIGATOR_SELECT_ANY_PILLAR = 'navigatorSelectAnyPillar',\r\n NAVIGATOR_PURSUE_ANY_OFFERING = 'navigatorPursueAnyOffering',\r\n NAVIGATOR_CREATE_GOAL_FROM_OFFERING = 'navigatorCreateGoalFromOffering',\r\n NAVIGATOR_VIEW_EXPLORE_PAGE = 'navigatorViewExplorePage',\r\n NAVIGATOR_SELECT_ANY_LEARNING_PATH = 'navigatorSelectAnyLearningPath',\r\n NAVIGATOR_CREATE_GOAL_FROM_LEARNING_PATH = 'navigatorCreateGoalFromLearningPath',\r\n NAVIGATOR_VIEW_SUGGESTIONS_PAGE = 'navigatorViewSuggestionsPage',\r\n NAVIGATOR_SELECT_SUGGESTED_TOPICS = 'navigatorSelectSuggestedTopics',\r\n NAVIGATOR_GET_SUGGESTIONS_OF_SELECTED_TOPICS = 'navigatorGetSuggestionsOfSelectedTopics',\r\n NAVIGATOR_CREATE_GOAL_FROM_SELECTED_LEARNING_PATHS = 'navigatorCreateGoalFromSelectedLearningPaths',\r\n NAVIGATOR_VIEW_INDUSTRIES_PAGE = 'navigatorViewIndustriesPage',\r\n NAVIGATOR_VIEW_CME_PAGE = 'navigatorViewCmePage',\r\n NAVIGATOR_SELECT_SUBDOMAIN = 'navigatorSelectSubdomain',\r\n NAVIGATOR_SELECT_PILLAR = 'navigatorSelectPillar',\r\n NAVIGATOR_SELECT_THEME = 'navigatorSelectTheme',\r\n NAVIGATOR_VIEW_CPG_PAGE = 'navigatorViewCpgPage',\r\n NAVIGATOR_VIEW_ENERGY_PAGE = 'navigatorViewEnergyPage',\r\n NAVIGATOR_VIEW_FINANCIAL_SERVICES_PAGE = 'navigatorViewFinancialServicesPage',\r\n NAVIGATOR_VIEW_HEALTH_CARE_PAGE = 'navigatorViewHealthCarePage',\r\n NAVIGATOR_VIEW_INSURANCE_PAGE = 'navigatorViewInsurancePage',\r\n NAVIGATOR_VIEW_LIFE_SCIENCES_PAGE = 'navigatorViewLifeSciencesPage',\r\n NAVIGATOR_VIEW_MFG_PAGE = 'navigatorViewMfgPage',\r\n NAVIGATOR_VIEW_RETAIL_PAGE = 'navigatorViewRetailPage',\r\n NAVIGATOR_VIEW_TRAVEL_AND_HOSPITALITY_PAGE = 'navigatorViewTravelAndHospitalityPage',\r\n NAVIGATOR_VIEW_UTILITIES_PAGE = 'navigatorViewUtilitiesPage',\r\n NAVIGATOR_VIEW_CME_ANALYTICS = 'navigatorViewCmeAnalytics',\r\n NAVIGATOR_VIEW_GPG_ANALYTICS = 'navigatorViewGpgAnalytics',\r\n NAVIGATOR_VIEW_ENERGY_ANALYTICS = 'navigatorViewEnergyAnalytics',\r\n NAVIGATOR_VIEW_FINANCIAL_SERVICES_ANALYTICS = 'navigatorViewFinancialServicesAnalytics',\r\n NAVIGATOR_VIEW_HEALTH_CARE_ANALYTICS = 'navigatorViewHealthCareAnalytics',\r\n NAVIGATOR_VIEW_INSURANCE_ANALYTICS = 'navigatorViewInsuranceAnalytics',\r\n NAVIGATOR_VIEW_LIFE_SCIENCES_ANALYTICS = 'navigatorViewLifeSciencesAnalytics',\r\n NAVIGATOR_VIEW_MFG_ANALYTICS = 'navigatorViewMfgAnalytics',\r\n NAVIGATOR_VIEW_RETAIL_ANALYTICS = 'navigatorViewRetailAnalytics',\r\n NAVIGATOR_VIEW_TRAVEL_AND_HOSPITALITY_ANALYTICS = 'navigatorViewTravelAndHospitalityAnalytics',\r\n NAVIGATOR_VIEW_UTILITIES_ANALYTICS = 'navigatorViewUtilitiesAnalytics',\r\n NAVIGATOR_VIEW_PILLARS_PAGE = 'navigatorViewPillarsPage',\r\n NAVIGATOR_VIEW_DIFFERENT_COURSES_IN_PILLAR = 'navigatorViewDifferentCoursesInPillar',\r\n NAVIGATOR_VIEW_FULL_STACK_PAGE = 'navigatorViewFullStackPage',\r\n NAVIGATOR_VIEW_DIFFERENT_FULL_STACK_PROGRAMS = 'navigatorViewDifferentFullStackPrograms',\r\n\r\n // Catalog\r\n CATALOG = 'catalog',\r\n CATALOG_VIEW_CATALOG_LIST = 'catalogViewCatalogList',\r\n CATALOG_SELECT_ITEM_FROM_CATALOG_LIST = 'catalogSelectItemFromCatalogList',\r\n CATALOG_VIEW_PROGRAMS_STRIP = 'catalogViewProgramsStrip',\r\n CATALOG_VIEW_COURSES_STRIP = 'catalogViewCoursesStrip',\r\n CATALOG_VIEW_LEARNING_MODULES_STRIP = 'catalogViewLearningModulesStrip',\r\n CATALOG_VIEW_RESOURCES_STRIP = 'catalogViewResourcesStrip',\r\n\r\n // Marketing Page\r\n MARKETING_PAGE = 'marketingPage',\r\n MARKETING_PAGE_VIEW_BRAND_ASSETS_PAGE = 'marketingPageViewBrandAssetsPage',\r\n MARKETING_PAGE_VIEW_CORPORATE_STRIP = 'marketingPageViewCorporateStrip',\r\n MARKETING_PAGE_VIEW_EMPLOYEE_STRIP = 'marketingPageViewEmployeeStrip',\r\n MARKETING_PAGE_VIEW_EXPERIMENTAL_SHOWCASE_PAGE = 'marketingPageViewExperimentalShowcasePage',\r\n MARKETING_PAGE_VIEW_HUBS_PAGE = 'marketingPageViewHubsPage',\r\n MARKETING_PAGE_VIEW_CONNECTICUT_STRIP = 'marketingPageViewConnecticutStrip',\r\n MARKETING_PAGE_VIEW_INDIANA_STRIP = 'marketingPageViewIndianaStrip',\r\n MARKETING_PAGE_VIEW_RHODE_ISLAND_STRIP = 'marketingPageViewRhodeIslandStrip',\r\n MARKETING_PAGE_VIEW_CLIENT_STORIES_PAGE = 'marketingPageViewClientStoriesPage',\r\n MARKETING_PAGE_VIEW_AGILE_SCALE_AT_DIGITAL_STRIP = 'marketingPageViewAgileScaleAtDigitalStrip',\r\n MARKETING_PAGE_VIEW_AI_POWERED_CORE_STRIP = 'marketingPageViewAiPoweredCoreStrip',\r\n MARKETING_PAGE_VIEW_ALWAYS_ON_LEAVING_STRIP = 'marketingPageViewAlwaysOnLeavingStrip',\r\n MARKETING_PAGE_VIEW_SERVICES_PAGE = 'marketingPageViewServicesPage',\r\n MARKETING_PAGE_VIEW_SERVICES_PENTAGON = 'marketingPageViewServicesPentagon',\r\n MARKETING_PAGE_VIEW_OFFERINGS_LIST = 'marketingPageViewOfferingsList',\r\n MARKETING_PAGE_SELECT_ANY_OFFERING = 'marketingPageSelectAnyOffering',\r\n MARKETING_PAGE_SELECT_ANY_PILLAR_FROM_PENTAGON = 'marketingPageSelectAnyPillarFromPentagon',\r\n MARKETING_PAGE_VIEW_INDUSTRIES_PAGE = 'marketingPageViewIndustriesPage',\r\n MARKETING_PAGE_VIEW_INDUSTRIES_LIST = 'marketingPageViewIndustriesList',\r\n MARKETING_PAGE_SELECT_ANY_INDUSTRY = 'marketingPageSelectAnyIndustry',\r\n MARKETING_PAGE_VIEW_PRODUCT_AND_SUBSIDIARIES_PAGE = 'marketingPageViewProductAndSubsidiariesPage',\r\n MARKETING_PAGE_VIEW_PRODUCT_AND_SUBSIDIARIES_LIST = 'marketingPageViewProductAndSubsidiariesList',\r\n MARKETING_PAGE_SELECT_ANY_PRODUCT_AND_SUBSIDIARY = 'marketingPageSelectAnyProductAndSubsidiary',\r\n\r\n // Interests\r\n INTERESTS = 'interests',\r\n INTERESTS_ADD_INTERESTS_FROM_SEARCH = 'interestsAddInterestsFromSearch',\r\n INTERESTS_ADD_INTERESTS_FROM_OUR_SUGGESTIONS_SECTION = 'interestsAddInterestsFromOurSuggestionsSection',\r\n INTERESTS_REMOVE_INTERESTS_FROM_MY_INTERESTS_SECTION = 'interestsRemoveInterestsFromMyInterestsSection',\r\n INTERESTS_VIEW_INTERESTS_SEARCH_FIELD = 'interestsViewInterestsSearchField',\r\n INTERESTS_VIEW_MY_INTERESTS_SECTION = 'interestsViewMyInterestsSection',\r\n INTERESTS_VIEW_OWN_SUGGESTIONS_SECTION = 'interestsViewOwnSuggestionsSection',\r\n INTERESTS_VIEW_MORE_SUGGESTIONS_BUTTON = 'interestsViewMoreSuggestionsButton',\r\n\r\n // Feedback\r\n FEEDBACK = 'feedback',\r\n FEEDBACK_VIEW_PLATFORM_FEEDBACK_SECTION = 'feedbackViewPlatformFeedbackSection',\r\n FEEDBACK_STAR_RATING_FOR_PLATFORM = 'feedbackStarRatingForPlatform',\r\n FEEDBACK_WRITE_PLATFORM_FEEDBACK = 'feedbackWritePlatformFeedback',\r\n FEEDBACK_RESET_PLATFORM_FEEDBACK = 'feedbackResetPlatformFeedback',\r\n FEEDBACK_SUBMIT_PLATFORM_FEEDBACK = 'feedbackSubmitPlatformFeedback',\r\n FEEDBACK_VIEW_CONTENT_FEEDBACK_SECTION = 'feedbackViewContentFeedbackSection',\r\n FEEDBACK_STAR_RATING_FOR_CONTENT = 'feedbackStarRatingForContent',\r\n FEEDBACK_WRITE_CONTENT_FEEDBACK = 'feedbackWriteContentFeedback',\r\n FEEDBACK_RESET_CONTENT_FEEDBACK = 'feedbackResetContentFeedback',\r\n FEEDBACK_SUBMIT_CONTENT_FEEDBACK = 'feedbackSubmitContentFeedback',\r\n FEEDBACK_VIEW_ISSUE_REPORTING_SECTION = 'feedbackViewIssueReportingSection',\r\n FEEDBACK_WRITING_ISSUE = 'feedbackWritingIssue',\r\n FEEDBACK_RESET_ISSUE = 'feedbackResetIssue',\r\n FEEDBACK_SUBMIT_ISSUE = 'feedbackSubmitIssue',\r\n\r\n // Contact Us\r\n CONTACT_US = 'contactUs',\r\n CONTACT_US_VIEW_RAISE_AHD_SECTION = 'contactUsViewRaiseAhdSection',\r\n CONTACT_US_VIEW_MAIL_US_SECTION = 'contactUsViewMailUsSection',\r\n CONTACT_US_VIEW_TALK_TO_US_SECTION = 'contactUsViewTalkToUsSection',\r\n CONTACT_US_RAISE_AHD = 'contactUsRaiseAhd',\r\n CONTACT_US_WRITE_EMAIL = 'contactUsWriteEmail',\r\n CONTACT_US_DIAL_FROM_PHONE = 'contactUsDialFromPhone',\r\n\r\n // FAQs\r\n FAQ = 'faq',\r\n FAQ_VIEW_LOGIN_FAQS = 'faqViewLoginFaqs',\r\n FAQ_VIEW_ODC_ACCESS_FAQS = 'faqViewOdcAccessFaqs',\r\n FAQ_VIEW_COMPATIBILITY_FAQS = 'faqViewCompatibilityFaqs',\r\n FAQ_VIEW_INSTALLATION_FAQS = 'faqViewInstallationFaqs',\r\n FAQ_VIEW_PROGRESS_COMPLETION_FAQS = 'faqViewProgressCompletionFaqs',\r\n FAQ_VIEW_VIDEO_FAQS = 'faqViewVideoFaqs',\r\n FAQ_VIEW_AUTHORING_FAQS = 'faqViewAuthoringFaqs',\r\n\r\n // Mobile Apps\r\n MOBILE_APPS = 'mobileApps',\r\n MOBILE_APPS_VIEW_ANDROID_APP_SECTION = 'mobileAppsViewAndroidAppSection',\r\n MOBILE_APPS_DOWNLOAD_APP_FROM_PLAY_STORE = 'mobileAppsDownloadAppFromPlayStore',\r\n MOBILE_APPS_DOWNLOAD_APP_FROM_OUR_SERVER = 'mobileAppsDownloadAppFromOurServer',\r\n MOBILE_APPS_VIEW_QR_CODE_FOR_ANDROID_APP = 'mobileAppsViewQrCodeForAndroidApp',\r\n MOBILE_APPS_VIEW_IOS_APP_SECTION = 'mobileAppsViewIosAppSection',\r\n MOBILE_APPS_DOWNLOAD_IOS_APP = 'mobileAppsDownloadIosApp',\r\n MOBILE_APPS_VIEW_QR_CODE_FOR_IOS_APP = 'mobileAppsViewQrCodeForIosApp',\r\n\r\n // About Us\r\n ABOUT_US = 'aboutUs',\r\n ABOUT_US_VIEW_ABOUT_US_PAGE_SECTIONS = 'aboutUsViewAboutUsPageSections',\r\n\r\n // Settings\r\n SETTINGS = 'settings',\r\n SETTINGS_VIEW_LANGUAGE_SECTION = 'settingsViewLanguageSection',\r\n SETTINGS_VIEW_FONT_SIZE_SECTION = 'settingsViewFontSizeSection',\r\n SETTINGS_VIEW_THEME_SECTION = 'settingsViewThemeSection',\r\n SETTINGS_CHANGE_LANGUAGE = 'settingsChangeLanguage',\r\n SETTINGS_CHANGE_FONT_SIZE = 'settingsChangeFontSize',\r\n SETTINGS_CHANGE_THEME = 'settingsChangeTheme',\r\n\r\n // Login Page\r\n LOGIN_PAGE = 'loginPage',\r\n LOGIN_PAGE_LOGIN_FOR_INFOSCIONS = 'loginPageLoginForInfoscions',\r\n LOGIN_PAGE_LOGIN_FOR_SUBSIDIARIES = 'loginPageLoginForSubsidiaries',\r\n LOGIN_PAGE_LOGIN_FOR_NEW_RECRUITS = 'loginPageLoginForNewRecruits',\r\n LOGIN_PAGE_ABOUT_US = 'loginPageAboutUs',\r\n LOGIN_PAGE_TERMS_OF_USE = 'loginPageTermsOfUse',\r\n LOGIN_PAGE_FAQS = 'loginPageFaqs',\r\n LOGIN_PAGE_CONTACT_US = 'loginPageContactUs',\r\n\r\n // TOC Page\r\n TOC_PAGE = 'tocPage',\r\n TOC_PAGE_VIEW_OVERVIEW_SECTION = 'tocPageViewOverviewSection',\r\n TOC_PAGE_VIEW_INSTRUCTOR_LED_SECTION = 'tocPageViewInstructorLedSection',\r\n TOC_PAGE_VIEW_COHORTS_SECTION = 'tocPageViewCohortsSection',\r\n TOC_PAGE_VIEW_DISCUSSION_FORUM_SECTION = 'tocPageViewDiscussionForumSection',\r\n TOC_PAGE_VIEW_COURSE_ANALYTICS_SECTION = 'tocPageViewCourseAnalyticsSection',\r\n TOC_PAGE_VIEW_WHATS_NEXT_SECTION = 'tocPageViewWhatsNextSection',\r\n TOC_PAGE_VIEW_PART_OF_SECTION = 'tocPageViewPartOfSection',\r\n TOC_PAGE_REGISTER_FOR_UPCOMING_TRAINING = 'tocPageRegisterForUpcomingTraining',\r\n TOC_PAGE_UNREGISTER_FROM_REGISTERED_TRAINING = 'tocPageUnregisterFromRegisteredTraining',\r\n TOC_PAGE_SHARE_INSTRUCTOR_LED_TRAININGS = 'tocPageShareInstructorLedTrainings',\r\n TOC_PAGE_VIEW_EDUCATORS_OF_TRAININGS = 'tocPageViewEducatorsOfTrainings',\r\n TOC_PAGE_NOMINATE_OTHERS_FOR_TRAININGS = 'tocPageNominateOthersForTrainings', // Applicable only for JL6 and above.\r\n TOC_PAGE_REQUEST_TRAINING = 'tocPageRequestTraining', // Applicable only for JL6 and above.\r\n TOC_PAGE_VIEW_ACTIVE_LEARNERS_SECTION = 'tocPageViewActiveLearnersSection',\r\n TOC_PAGE_VIEW_ALL_ACTIVE_LEARNERS = 'tocPageViewAllActiveLearners',\r\n TOC_PAGE_VIEW_CURRENTLY_ACTIVE_LEARNERS = 'tocPageViewCurrentlyActiveLearners',\r\n TOC_PAGE_VIEW_LEARNERS_SHARING_THE_SAME_GOALS = 'tocPageViewLearnersSharingTheSameGoals',\r\n TOC_PAGE_VIEW_EXPERTS_AND_TUTORS_SECTION = 'tocPageViewExpertsAndTutorsSection',\r\n TOC_PAGE_VIEW_ALL_EXPERTS_AND_TUTORS = 'tocPageViewAllExpertsAndTutors',\r\n TOC_PAGE_VIEW_AUTHORS_OF_COURSE = 'tocPageViewAuthorsOfCourse',\r\n TOC_PAGE_VIEW_EDUCATORS_OF_COURSE = 'tocPageViewEducatorsOfCourse',\r\n TOC_PAGE_VIEW_TOPPERS_OF_COURSE = 'tocPageViewToppersOfCourse',\r\n TOC_PAGE_MAIL_THE_PERSON = 'tocPageMailThePerson',\r\n TOC_PAGE_CALL_THE_PERSON = 'tocPageCallThePerson',\r\n TOC_PAGE_POST_VIEWS_IN_DISCUSSION_FORUM = 'tocPagePostViewsInDiscussionForum',\r\n TOC_PAGE_LEARN_THE_COURSE = 'tocPageLearnTheCourse',\r\n TOC_PAGE_LIKE_THE_COURSE = 'tocPageLikeTheCourse',\r\n TOC_PAGE_SHARE_THE_COURSE = 'tocPageShareTheCourse',\r\n TOC_PAGE_ADD_COURSE_TO_GOALS = 'tocPageAddCourseToGoals',\r\n TOC_PAGE_ADD_COURSE_TO_PLAYLIST = 'tocPageAddCourseToPlaylist',\r\n TOC_PAGE_ADD_COURSE_TO_WATCHLIST = 'tocPageAddCourseToWatchlist',\r\n TOC_PAGE_GIVE_COURSE_FEEDBACK = 'tocPageGiveCourseFeedback',\r\n TOC_PAGE_RESUME_THE_COURSE = 'tocPageResumeTheCourse',\r\n TOC_PAGE_START_OVER_THE_COURSE = 'tocPageStartOverTheCourse',\r\n TOC_PAGE_GO_TO_COURSE_QUIZ = 'tocPageGoToCourseQuiz',\r\n TOC_PAGE_GO_TO_COURSE_HANDS_ON = 'tocPageGoToCourseHandsOn',\r\n\r\n // Navbar\r\n NAVBAR = 'navbar',\r\n NAVBAR_VIEW_LOGO = 'navbarViewLogo',\r\n NAVBAR_CATALOG_ICON = 'navbarCatalogIcon',\r\n NAVBAR_NAVIGATOR_ICON = 'navbarNavigatorIcon',\r\n NAVBAR_NOTIFICATION_ICON = 'navbarNotificationIcon',\r\n NAVBAR_SETTINGS_ICON = 'navbarSettingsIcon',\r\n NAVBAR_SEARCH_ICON = 'navbarSearchIcon',\r\n NAVBAR_APPS_ICON = 'navbarAppsIcon',\r\n\r\n // Home Page\r\n HOME_PAGE = 'homePage',\r\n HOME_PAGE_VIEW_CAROUSEL = 'homePageViewCarousel',\r\n HOME_PAGE_VIEW_CONTINUE_LEARNING_STRIP = 'homePageViewContinueLearningStrip',\r\n HOME_PAGE_VIEW_FEATURED_APPS_STRIP = 'homePageViewFeaturedAppsStrip',\r\n HOME_PAGE_VIEW_RECENT_ADDITION_TO_PLAYLISTS_STRIP = 'homePageViewRecentAdditionToPlaylistsStrip',\r\n HOME_PAGE_VIEW_BASED_ON_YOUR_INTERESTS_STRIP = 'homePageViewBasedOnYourInterestsStrip',\r\n HOME_PAGE_VIEW_BASED_ON_WHAT_YOU_VIEWED_STRIP = 'homePageViewBasedOnWhatYouViewedStrip',\r\n HOME_PAGE_VIEW_LATEST_STRIP = 'homePageViewLatestStrip',\r\n HOME_PAGE_VIEW_TRENDING_STRIP = 'homePageViewTrendingStrip',\r\n HOME_PAGE_SHOW_COMPLETED_FILTER = 'homePageShowCompletedFilter',\r\n HOME_PAGE_SHOW_RESOURCES_FILTER = 'homePageShowResourcesFilter',\r\n\r\n // TNC Page\r\n TNC_PAGE = 'tncPage',\r\n TNC_PAGE_VIEW_CONTEST_RULES_SECTION = 'tncPageViewContestRulesSection',\r\n TNC_PAGE_VIEW_DATA_PRIVACY_SECTION = 'tncPageViewDataPrivacySection',\r\n TNC_PAGE_ACCEPT_TERMS_AND_CONDITIONS = 'tncPageAcceptTermsAndConditions',\r\n\r\n // Blogs\r\n BLOGS = 'blogs',\r\n BLOG_VIEW_OTHERS_BLOGS = 'blogViewOthersBlogs',\r\n BLOGS_LIKE_OTHER_BLOGS = 'blogsLikeOtherBlogs',\r\n BLOGS_VIEW_MY_BLOGS = 'blogsViewMyBlogs',\r\n BLOGS_WRITE_NEW_BLOG = 'blogsWriteNewBlog',\r\n BLOGS_SAVE_BLOG_AS_DRAFT = 'blogsSaveBlogAsDraft',\r\n BLOGS_EDIT_MY_SAVED_BLOG = 'blogsEditMySavedBlog',\r\n BLOGS_PUBLISH_MY_BLOG = 'blogsPublishMyBlog',\r\n BLOGS_UPVOTE_FOR_BLOG = 'blogsUpvoteForBlog',\r\n BLOGS_DOWNVOTE_FOR_BLOG = 'blogsDownvoteForBlog',\r\n BLOGS_WRITE_RESPONSE_FOR_BLOG = 'blogsWriteResponseForBlog',\r\n BLOGS_DELETE_MY_BLOG = 'blogsDeleteMyBlog',\r\n BLOGS_EDIT_MY_RESPONSE = 'blogsEditMyResponse',\r\n BLOGS_DELETE_MY_RESPONSE = 'blogsDeleteMyResponse',\r\n BLOGS_VIEW_DRAFTS_SECTION = 'blogsViewDraftsSection',\r\n BLOGS_VIEW_PUBLISHED_SECTION = 'blogsViewPublishedSection',\r\n\r\n // Question and Answer\r\n QUESTION_AND_ANSWER = 'questionAndAnswer',\r\n QUESTION_AND_ANSWER_VIEW_ALL_QUESTIONS_AND_ANSWERS = 'questionAndAnswerViewAllQuestionsAndAnswers',\r\n QUESTION_AND_ANSWER_VIEW_ONLY_UNANSWERED_QUESTIONS = 'questionAndAnswerViewOnlyUnansweredQuestions',\r\n QUESTION_AND_ANSWER_VIEW_MY_TIMELINE = 'questionAndAnswerViewMyTimeline',\r\n QUESTION_AND_ANSWER_ASK_NEW_QUESTION = 'questionAndAnswerAskNewQuestion',\r\n QUESTION_AND_ANSWER_VIEW_SPECIFIC_QUESTION = 'questionAndAnswerViewSpecificQuestion',\r\n QUESTION_AND_ANSWER_UPVOTE_FOR_ANSWER = 'questionAndAnswerUpvoteForAnswer',\r\n QUESTION_AND_ANSWER_DOWNVOTE_FOR_ANSWER = 'questionAndAnswerDownvoteForAnswer',\r\n QUESTION_AND_ANSWER_LIKE_AN_ANSWER = 'questionAndAnswerLikeAnAnswer',\r\n QUESTION_AND_ANSWER_ADD_COMMENT_FOR_ANY_ANSWER = 'questionAndAnswerAddCommentForAnyAnswer',\r\n QUESTION_AND_ANSWER_ADD_ANSWER_FOR_ANY_QUESTION = 'questionAndAnswerAddAnswerForAnyQuestion',\r\n QUESTION_AND_ANSWER_SAVE_QUESTION_AS_DRAFT = 'questionAndAnswerSaveQuestionAsDraft',\r\n QUESTION_AND_ANSWER_PUBLISH_SAVED_QUESTION = 'questionAndAnswerPublishedSavedQuestion',\r\n QUESTION_AND_ANSWER_VIEW_DRAFTS_SECTION = 'questionAndAnswerViewDraftsSection',\r\n QUESTION_AND_ANSWER_VIEW_PUBLISHED_SECTION = 'questionAndAnswerViewPublishedSection',\r\n\r\n // Badges\r\n BADGES = 'badges',\r\n BADGES_VIEW_RECENTLY_EARNED_BADGE = 'badgesViewRecentlyEarnedBadge',\r\n BADGES_VIEW_ALL_EARNED_BADGES = 'badgesViewAllEarnedBadges',\r\n BADGES_VIEW_NEXT_TARGETTED_BADGES = 'badgesViewNextTargettedBadges',\r\n\r\n // Hands on Dashboard\r\n HANDS_ON_DASHBOARD = 'handsOnDashboard',\r\n HANDS_ON_DASHBOARD_VIEW_MY_DASHBOARD = 'handsOnDashboardViewMyDashboard',\r\n HANDS_ON_DASHBOARD_VIEW_SHARED_PROFILE_SECTION = 'handsOnDashboardViewSharedProfileSection',\r\n\r\n // Learning History\r\n LEARNING_HISTORY = 'learningHistory',\r\n LEARNING_HISTORY_VIEW_PROGRAMS_SECTION = 'learningHistoryViewProgramsSection',\r\n LEARNING_HISTORY_VIEW_COURSES_SECTION = 'learningHistoryViewCoursesSection',\r\n LEARNING_HISTORY_VIEW_LEARNING_MODULES_SECTION = 'learningHistoryViewLearningModulesSection',\r\n LEARNING_HISTORY_VIEW_RESOURCES_SECTION = 'learningHistoryViewResourcesSection',\r\n LEARNING_HISTORY_VIEW_CERTIFICATIONS_SECTION = 'learningHistoryViewCertificationsSection',\r\n LEARNING_HISTORY_APPLY_COMPLETED_FILTER = 'learningHistoryApplyCompletedFilter',\r\n LEARNING_HISTORY_VIEW_MORE_BUTTON = 'learningHistoryViewMoreButton',\r\n\r\n // Learning Time\r\n LEARNING_TIME = 'learningTime',\r\n LEARNING_TIME_VIEW_LEARNING_TIME_GRAPH = 'learningTimeViewLearningTimeGraph',\r\n LEARNING_TIME_APPLY_BAR_GRAPH_FILTER = 'learningTimeApplyBarGraphFilter',\r\n LEARNING_TIME_APPLY_DATE_RANGE_FILTER = 'learningTimeApplyDateRangeFilter',\r\n LEARNING_TIME_APPLY_TIME_SPENT_FILTER = 'learningTimeApplyTimeSpentFilter',\r\n LEARNING_TIME_APPLY_APP_AVERAGE_FILTER = 'learningTimeApplyAppAverageFilter',\r\n LEARNING_TIME_APPLY_USER_AVERAGE_OVER_PERIOD_FILTER = 'learningTimeApplyUserAverageOverPeriodFilter',\r\n\r\n // Notification\r\n NOTIFICATION = 'notification',\r\n NOTIFICATION_VIEW_RECENT_BADGE_EARNED = 'notificationViewRecentBadgeEarned',\r\n NOTIFICATION_VIEW_SHARED_PLAYLIST = 'notificationViewSharedPlaylist',\r\n NOTIFICATION_VIEW_SHARED_GOALS = 'notificationViewSharedGoals',\r\n\r\n // Profile\r\n PROFILE = 'profile',\r\n PROFILE_VIEW_BASIC_INFORMATION = 'profileViewBasicInformation',\r\n PROFILE_VIEW_RECENTLY_LEARNED_COURSES = 'profileViewRecentlyLearnedCourses',\r\n PROFILE_VIEW_LIKED_ITEMS = 'profileViewLikedItems',\r\n PROFILE_VIEW_BADGES_EARNED = 'profileViewBadgesEarned',\r\n\r\n // Behavioural Skills\r\n BEHAVIORAL_SKILLS = 'behavioralSkills',\r\n BEHAVIORAL_SKILLS_VIEW_MODEL_CLIENT_INTERACTIONS = 'behavioralSkillsViewModalClientInteractions',\r\n BEHAVIORAL_SKILLS_VIEW_CLIENT_INTERACTION_TESTS = 'behavioralSkillsViewClientInteractionTests',\r\n\r\n // Certifications\r\n CERTIFICATIONS = 'certifications',\r\n CERTIFICATIONS_VIEW_MY_APPROVALS_SECTION = 'certificationsViewMyApprovalsSection',\r\n CERTIFICATIONS_VIEW_MY_REQUESTS_SECTION = 'certificationsViewMyRequestsSection',\r\n CERTIFICATIONS_VIEW_MY_CERTIFICATIONS_SECTION = 'certificationsViewMyCertificationsSection',\r\n CERTIFICATIONS_APPLY_COMPLETION_STATUS_FILTER = 'certificationsApplyCompletionStatusFilter',\r\n\r\n // Code Crack\r\n CODE_CRACK = 'codeCrack',\r\n CODE_CRACK_VIEW_PUZZLE_MANIA = 'codeCrackViewPuzzleMania',\r\n CODE_CRACK_VIEW_CODE_CRACK = 'codeCrackViewCodeCrack',\r\n CODE_CRACK_VIEW_TECHNOLOGY_PLAYGROUND = 'codeCrackViewTechnologyPlayground',\r\n CODE_CRACK_WATCH_PROGRAMMING_CHALLENGES_VIDEO = 'codeCrackWatchProgrammingChallengesVideo',\r\n CODE_CRACK_VIEW_ACCELERATE = 'codeCrackViewAccelerate',\r\n CODE_CRACK_START_CODE_CRACK_TEST = 'codeCrackStartCodeCrackTest',\r\n CODE_CRACK_START_PUZZLE_MANIA = 'codeCrackStartPuzzleMania',\r\n CODE_CRACK_START_TECHNOLOGY_PLAYGROUND = 'codeCrackStartTechnologyPlayground',\r\n\r\n // Instructor Led Training\r\n INSTRUCTOR_LED_TRAINING = 'instructorLedTraining',\r\n INSTRUCTOR_LED_TRAINING_VIEW_TRAINING_SCHEDULE_SECTION = 'instructorLedTrainingViewTrainingScheduleSection',\r\n INSTRUCTOR_LED_TRAINING_VIEW_FEEDBACK_SECTION = 'instructorLedTrainingViewFeedbackSection',\r\n INSTRUCTOR_LED_TRAINING_VIEW_TRAININGS_PLANNED_BY_YOUR_TEAM_SECTION = 'instructorLedTrainingViewTrainingsPlannedByYourTeamSection',\r\n INSTRUCTOR_LED_TRAINING_SEARCH_TRAINING = 'instructorLedTrainingSearchTraining',\r\n INSTRUCTOR_LED_TRAINING_REGISTER_FOR_TRAINING = 'instructorLedTrainingRegisterForTraining',\r\n INSTRUCTOR_LED_TRAINING_GIVE_TRAINING_FEEDBACK = 'instructorLedTrainingGiveTrainingFeedback',\r\n\r\n // LeaderBoard\r\n LEADERBOARD = 'leaderboard',\r\n LEADERBOARD_VIEW_WEEKLY_SECTION = 'leaderboardViewWeeklySection',\r\n LEADERBOARD_VIEW_MONTHLY_SECTION = 'leaderboardViewMonthlySection',\r\n LEADERBOARD_VIEW_HALL_OF_FAME_SECTION = 'leaderboardViewHallOfSection',\r\n LEADERBOARD_APPLY_LEARNER_COLLABORATOR_FILTER = 'leaderboardApplyLearnerCollaboratorFilter',\r\n LEADERBOARD_BACK_DATE_BUTTON = 'leaderboardBackDatebutton',\r\n LEADERBOARD_FORWARD_DATE_BUTTON = 'leaderboardForwardDateButton',\r\n\r\n // Playground\r\n PLAYGROUND = 'playground',\r\n PLAYGROUND_VIEW_TECHNOLOGY_PLAYGROUNDS_STRIP = 'playgroundViewTechnologyPlaygorundsStrip',\r\n PLAYGROUND_VIEW_ASSESSMENTS_PLAYGROUNDS_STRIP = 'playgroundViewAssessmentsPlaygroundsStrip',\r\n\r\n // Puzzle Mania\r\n PUZZLE_MANIA = 'puzzleMania',\r\n PUZZLE_MANIA_VIEW_PUZZLE_MANIA = 'puzzleManiaViewPuzzleMania',\r\n PUZZLE_MANIA_VIEW_CODE_CRACK = 'puzzleManiaViewCodeCrack',\r\n PUZZLE_MANIA_VIEW_TECHNOLOGY_PLAYGROUND = 'puzzleManiaViewTechnologyPlayground',\r\n PUZZLE_MANIA_WATCH_PROGRAMMING_CHALLENGES_VIDEO = 'puzzleManiaWatchProgrammingChallengesVideo',\r\n PUZZLE_MANIA_VIEW_ACCELERATE = 'puzzleManiaViewAccelerate',\r\n PUZZLE_MANIA_START_CODE_CRACK_TEST = 'puzzleManiaStartCodeCrackTest',\r\n PUZZLE_MANIA_START_PUZZLE_MANIA = 'puzzleManiaStartPuzzleMania',\r\n PUZZLE_MANIA_START_TECHNOLOGY_PLAYGROUND = 'puzzleManiaStartTechnologyPlayground',\r\n\r\n // Full Stack Sales Leader\r\n FULL_STACK_SALES_LEADER = 'fullStackSalesLeader',\r\n FULL_STACK_SALES_LEADER_WATCH_LEADER_VIDEO = 'fullStackSalesLeaderWatchLeaderVideo',\r\n FULL_STACK_SALES_LEADER_EMBARK_ON_THIS_LEARNING_JOURNEY_BUTTON = 'fullStackSalesLeaderEmbarkOnThisLearningJourneyButton',\r\n FULL_STACK_SALES_LEADER_QUICK_TOUR_VIDEO_LINK = 'fullStackSalesLeaderQuickTourVideoLink',\r\n FULL_STACK_SALES_LEADER_FEEDBACK_LINK = 'fullStackSalesLeaderFeedbackLink',\r\n FULL_STACK_SALES_LEADER_DROP_NOTE_LINK = 'fullStackSalesLeaderDropNoteLink',\r\n\r\n // Onboarding\r\n ONBOARDING = 'onboarding',\r\n ONBOARDING_VIEW_DC_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewDcOnboardingProgramsStrip',\r\n ONBOARDING_VIEW_ORGANISATIONAL_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewOrganisationalOnboardingProgramsStrip',\r\n ONBOARDING_VIEW_ROLE_BASED_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewRoleBasedOnboardingProgramsStrip',\r\n ONBOARDING_VIEW_UNIT_AND_PROJECT_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewUnitAndProjectOnboardingProgramsStrip',\r\n\r\n // Search\r\n SEARCH = 'search',\r\n SEARCH_SEARCHING_CONTENT = 'searchSearchingContent',\r\n\r\n // Knowledge Hub\r\n KNOWLEDGE_HUB = 'knowledgeHub',\r\n KNOWLEDGE_HUB_SUBMIT_KNOWLEDGE_ARTIFACTS = 'knowledgeHubSubmitKnowledgeArtifacts',\r\n KNOWLEDGE_HUB_VIEW_TOP_PROJECTS_SECTION = 'knowledgeHubViewTopProjectsSection',\r\n KNOWLEDGE_HUB_VIEW_INTERESTING_READS_SECTION = 'knowledgeHubViewInterestingReadsSection',\r\n KNOWLEDGE_HUB_VIEW_MARKETING_SECTION = 'knowledgeHubViewMarketingSection',\r\n KNOWLEDGE_HUB_VIEW_KSHOP_CLASSIC_SECTION = 'knowledgeHubViewKshopClassicSection',\r\n KNOWLEDGE_HUB_VIEW_TRENDING_TOOLS_SECTION = 'knowledgeHubViewTrendingToolsSection',\r\n KNOWLEDGE_HUB_VIEW_DOCUMENTS_STRIP = 'knowledgeHubViewDocumentsStrip',\r\n KNOWLEDGE_HUB_VIEW_TOOLS_STRIP = 'knowledgeHubViewProjectReferencesStrip',\r\n KNOWLEDGE_HUB_VIEW_MARKETING_STRIP = 'knowledgeHubViewMarketingStrip',\r\n\r\n // Channels\r\n CHANNELS = 'channels',\r\n CHANNELS_VIEW_LEADERSHIP_SECTION = 'channelsViewLeadershipSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_PAGE = 'channelsViewRaviKumarPage',\r\n CHANNELS_VIEW_MOHIT_JOSHI_PAGE = 'channelsViewMohitJoshiPage',\r\n CHANNELS_FOLLOW_RAVI_KUMAR = 'channelsFollowRaviKumar',\r\n CHANNELS_MAIL_TO_RAVI_KUMAR = 'channelsMailToRaviKumar',\r\n CHANNELS_VIEW_ABOUT_RAVI_KUMAR_SECTION = 'channelsViewAboutRaviKumarSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_TWEETS_SECTION = 'channelsViewRaviKumarTweetsSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_ARTICLES_SECTION = 'channelsViewRaviKumarArticlesSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_TRAILBLAZERS_SECTION = 'channelsViewRaviKumarTrailblazersSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_COMMUNICATIONS_SECTION = 'channelsViewRaviKumarCommunicationsSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_DISCUSSION_SECTION = 'channelsViewraviKumarDiscussionSection',\r\n CHANNELS_LIKE_TWEET_RAVI_KUMAR = 'channelsLikeTweetRaviKumar',\r\n CHANNELS_SHARE_TWEET_RAVI_KUMAR = 'channelsShareTweetRaviKumar',\r\n CHANNELS_POST_YOUR_THOUGHTS_IN_DISCUSSION_RAVI_KUMAR = 'channelsPostYourThoughtsInDiscussionRaviKumar',\r\n CHANNELS_FOLLOW_MOHIT_JOSHI = 'channelsFollowMohitJoshi',\r\n CHANNELS_MAIL_TO_MOHIT_JOSHI = 'channelsMailToMohitJoshi',\r\n CHANNELS_VIEW_ABOUT_MOHIT_JOSHI_SECTION = 'channelsViewAboutMohitJoshiSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_TWEETS_SECTION = 'channelsViewMohitJoshiTweetsSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_ARTICLES_SECTION = 'channelsViewMohitJoshiArticlesSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_TRAILBLAZERS_SECTION = 'channelsViewMohitJoshiTrailblazersSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_COMMUNICATIONS_SECTION = 'channelsViewMohitJoshiCommunicationsSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_DISCUSSION_SECTION = 'channelsViewMohitJoshiDiscussionSection',\r\n CHANNELS_LIKE_TWEET_MOHIT_JOSHI = 'channelsLikeTweetMohitJoshi',\r\n CHANNELS_SHARE_TWEET_MOHIT_JOSHI = 'channelsShareTweetMohitJoshi',\r\n CHANNELS_POST_YOUR_THOUGHTS_IN_DISCUSSION_MOHIT_JOSHI = 'channelsPostYourThoughtsInDiscussionMohitJoshi',\r\n CHANNELS_VIEW_CORPORATE_SECTION = 'channelsViewCorporateSection',\r\n CHANNELS_VIEW_EXPERIENCE_WOW_PAGE = 'channelsViewExperienceWowPage',\r\n CHANNELS_VIEW_INFOSYS_KNOWLEDGE_INSTITUTE_PAGE = 'channelsViewInfosysKnowledgeInstitutePage',\r\n CHANNELS_VIEW_CMT_LEARNING_HUB_PAGE = 'channelsViewCmtLearningHubPage',\r\n CHANNELS_VIEW_FULL_STACK_SALES_LEADERS_PAGE = 'channelsViewFullStackSalesLeaderPage',\r\n\r\n // Experience Wow Page\r\n EXPERIENCE_WOW_PAGE = 'experienceWowPage',\r\n EXPERIENCE_WOW_PAGE_VIEW_PAGE_SECTIONS = 'experienceWowPageViewPageSections',\r\n EXPERIENCE_WOW_PAGE_CHECK_Wingspan_STATISTICS = 'experienceWowPageCheckWingspanStatistics',\r\n EXPERIENCE_WOW_PAGE_CHECK_INFY_ME_STATISTICS = 'experienceWowPageCheckInfyMeStatistics',\r\n EXPERIENCE_WOW_PAGE_PROVIDE_SUGGESTIONS = 'experienceWowPageProvideSuggestions',\r\n EXPERIENCE_WOW_PAGE_SEND_MAIL_FOR_BECOMING_COCREATOR = 'experienceWowPageSendMailForBecomingCocreator',\r\n\r\n // Infy Radio\r\n INFY_RADIO = 'infyRadio',\r\n INFY_RADIO_VIEW_PODCASTS_STRIP = 'infyRadioViewPodcastsStrip',\r\n\r\n // Infy TV\r\n INFY_TV = 'infyTv',\r\n INFY_TV_VIEW_JUST_FOR_YOU_SECTION = 'infyTvViewJustForYouSection',\r\n INFY_TV_VIEW_MUST_VIEW_STRIP = 'infyTvViewMustViewStrip',\r\n INFY_TV_VIEW_LATEST_STRIP = 'infyTvViewLatestStrip',\r\n INFY_TV_VIEW_CHANNELS_SECTION = 'infyTvViewChannelsSection',\r\n INFY_TV_VIEW_CHANNELS_STRIP = 'infyTvViewChannelsStrip',\r\n INFY_TV_VIEW_BROADCAST_SECTION = 'infyTvViewBroadcastSection',\r\n INFY_TV_VIEW_PREVIOUS_EVENTS_LIST = 'infyTvViewPreviousEventsList',\r\n INFY_TV_VIEW_LIVE_EVENTS_LIST = 'infyTvViewLiveEventsList',\r\n INFY_TV_VIEW_UPCOMING_EVENTS_LIST = 'infyTvViewUpcomingEventsList',\r\n\r\n // Leadership Messages\r\n LEADERSHIP_MESSAGES = 'leadershipMessages',\r\n LEADERSHIP_MESSAGES_VIEW_LEADERSHIP_VIDEO = 'leadershipMessagesViewLeadershipVideo',\r\n\r\n // Living Labs\r\n LIVING_LABS = 'livingLabs',\r\n LIVING_LABS_VIEW_LIVING_LABS_STRIP = 'livingLabsViewLivingLabsStrip',\r\n\r\n // Americas Confluence 2018\r\n AMERICAS_CONFLUENECE = 'americasConfluence',\r\n AMERICAS_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS = 'americasConfluenceViewConfluenceVideosStrips',\r\n\r\n // APAC Confluence 2019\r\n APAC_CONFLUENECE = 'apacConfluence',\r\n APAC_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS = 'apacConfluenceViewConfluenceVideosStrips',\r\n\r\n // EMEA Confluence 2018\r\n EMEA_CONFLUENECE = 'emeaConfluence',\r\n EMEA_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS = 'emeaConfluenceViewConfluenceVideosStrips',\r\n\r\n // Connect 2019\r\n CONNECT = 'connect',\r\n CONNECT_VIEW_CONTENT_STRIP = 'connectViewContentStrip',\r\n\r\n // Live Events\r\n LIVE_EVENTS = 'liveEvents',\r\n LIVE_EVENTS_WATCH_LIVE = 'liveEventsWatchLive',\r\n LIVE_EVENTS_WATCH_CLASSROOM_BROADCAST = 'liveEventsWatchClassroomBroadcast',\r\n LIVE_EVENTS_WATCH_THREE_SIXTY_VIDEO = 'liveEventsWatchThreeSixtyVideo',\r\n LIVE_EVENTS_WATCH_FAMILY_MATTERS_VIDEO = 'liveEventsWatchFamilyMattersVideo',\r\n LIVE_EVENTS_WATCH_CONFLUENCE_EVENTS = 'liveEventsWatchConfluenceEvents',\r\n\r\n // Digital Assistant Tour\r\n DIGITAL_ASSISTANT_TOUR = 'digitalAssistantTour',\r\n DIGITAL_ASSISTANT_TOUR_WATCH_TOUR_VIDEO = 'digitalAssistantTourWatchTourVideo',\r\n\r\n // Quick Tour\r\n QUICK_TOUR = 'quickTour',\r\n QUICK_TOUR_WATCH_TOUR_VIDEO = 'quickTourWatchTourVideo',\r\n\r\n // Logout\r\n LOGOUT = 'logout',\r\n LOGOUT_LOGS_OUT_FROM_APPLICATION = 'logoutLogsOutFromApplication',\r\n\r\n // My Analytics\r\n MY_ANALYTICS = 'myAnalytics',\r\n MY_ANALYTICS_APPLY_QUARTER_FILTERS = 'myAnalyticsApplyQuarterFilters',\r\n MY_ANALYTICS_VIEW_MY_LEARNING_SECTION = 'myAnalyticsViewMyLearningSection',\r\n MY_ANALYTICS_VIEW_MY_ASSESSMENT_SECTION = 'myAnalyticsViewMyAssessmentSection',\r\n MY_ANALYTICS_VIEW_MY_REFACTORING_SECTION = 'myAnalyticsViewMyRefactoringSection',\r\n MY_ANALYTICS_VIEW_MY_PLANS_SECTION = 'myAnalyticsViewMyPlansSection',\r\n MY_ANALYTICS_VIEW_MY_COLLABORATORS_SECTION = 'myAnalyticsViewMyCollaboratorsSection',\r\n MY_ANALYTICS_VIEW_MY_FEATURES_USAGE_SECTION = 'myAnalyticsViewTopCoursesSection',\r\n MY_ANALYTICS_VIEW_MY_LEARNING_MINUTES = 'myAnalyticsViewMyLearningMinutes',\r\n MY_ANALYTICS_VIEW_MY_LEARNING_POINTS = 'myAnalyticsViewMyLearningPoints',\r\n MY_ANALYTICS_VIEW_BADGES = 'myAnalyticsViewBadges',\r\n MY_ANALYTICS_VIEW_TIME_SPENT_BY_USER = 'myAnalyticsViewTimeSpentByUser',\r\n MY_ANALYTICS_VIEW_AVERAGE_MINUTES_ON_Wingspan = 'myAnalyticsViewAverageMinutesOnWingspan',\r\n MY_ANALYTICS_VIEW_AVERAGE_MINUTES_ACROSS_DIMENSIONS = 'myAnalyticsViewAverageMinutesAcrossDimensions',\r\n MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_USER = 'myAnalyticsViewPercentageTimeSpentByUser',\r\n MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_INFOSCIONS = 'myAnalyticsViewPercentageTimeSpentByInfoscions',\r\n MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_PEERS = 'myAnalyticsViewPercentageTimeSpentByPeers',\r\n MY_ANALYTICS_VIEW_TOTAL_ASSESSMENTS = 'myAnalyticsViewTotalAssessments',\r\n MY_ANALYTICS_VIEW_PENDING_ASSESSMENTS = 'myAnalyticsViewPendingAssessments',\r\n MY_ANALYTICS_VIEW_CERTIFICATIONS = 'myAnalyticsViewCertifications',\r\n MY_ANALYTICS_VIEW_ASSESSMENTS = 'myAnalyticsViewAssessments',\r\n MY_ANALYTICS_VIEW_RECENT_ASSESSMENTS = 'myAnalyticsViewRecentAssessments',\r\n MY_ANALYTICS_VIEW_ASSESSMENT_DETAILS = 'myAnalyticsViewAssessmentDetails',\r\n MY_ANALYTICS_VIEW_RECENT_ASSESSMENT = 'myAnalyticsViewRecentAssessment',\r\n MY_ANALYTICS_VIEW_MY_REFACTORING_PROGRAM = 'myAnalyticsViewMyRefactoringProgram',\r\n MY_ANALYTICS_VIEW_NAVIGATOR = 'myAnalyticsViewNavigator',\r\n MY_ANALYTICS_VIEW_AI_AND_AUTOMATION_PROGRESS = 'myAnalyticsViewAiAndAutomationProcess',\r\n MY_ANALYTICS_VIEW_MY_GOALS = 'myAnalyticsViewMyGoals',\r\n MY_ANALYTICS_VIEW_PLAYLIST = 'myAnalyticsViewPlaylist',\r\n MY_ANALYTICS_VIEW_GOALS_SHARED_WITH_USER = 'myAnalyticsViewGoalsSharedWithUser',\r\n MY_ANALYTICS_VIEW_DETAILED_COURSES_PROGRESS = 'myAnalyticsViewDetailedCoursesProgress',\r\n MY_ANALYTICS_VIEW_GOALS_SHARED_BY_USER = 'myAnalyticsViewGoalsSharedByUser',\r\n MY_ANALYTICS_VIEW_ARTIFACTS_SHARED_BY_USER = 'myAnalyticsViewArtifactsSharedByUser',\r\n MY_ANALYTICS_VIEW_EXPERTS_USER_CONTACTED = 'myAnalyticsViewExpertsUserContacted',\r\n MY_ANALYTICS_VIEW_DETAILED_GOALS_SHARING = 'myAnalyticsViewDetailedGoalsSharing',\r\n MY_ANALYTICS_VIEW_PLAYGROUNDS = 'myAnalyticsViewPlaygrounds',\r\n MY_ANALYTICS_VIEW_LIKES = 'myAnalyticsViewLikes',\r\n MY_ANALYTICS_VIEW_SEARCH = 'myAnalyticsViewSearch',\r\n MY_ANALYTICS_VIEW_INFY_TV = 'myAnalyticsViewInfyTv',\r\n MY_ANALYTICS_VIEW_INFY_RADIO = 'myAnalyticsViewInfyRadio',\r\n MY_ANALYTICS_VIEW_INFY_LIVE = 'myAnalyticsViewInfyLive',\r\n MY_ANALYTICS_VIEW_TOP_COURSES_BY_USER_UNIT = 'myAnalyticsViewTopCoursesByUserUnit',\r\n MY_ANALYTICS_VIEW_TOP_COURSES_BY_USER_PEERS = 'myAnalyticsViewTopCoursesbyUserPeers',\r\n\r\n // Learning Analytics\r\n LEARNING_ANALYTICS = 'learningAnalytics',\r\n LEARNING_ANALYTICS_SEARCH_FOR_PARTICIPANTS_AND_EDUCATORS = 'learningAnalyticsSearchForParticipantsAndEducators',\r\n LEARNING_ANALYTICS_UNIT_FILTER = 'learningAnalyticsUnitFilter',\r\n LEARNING_ANALYTICS_PU_FILTER = 'learningAnalyticsPuFilter',\r\n LEARNING_ANALYTICS_DU_FILTER = 'learningAnalyticsDuFilter',\r\n LEARNING_ANALYTICS_ACCOUNT_FILTER = 'learningAnalyticsAccountFilter',\r\n LEARNING_ANALYTICS_LOCATION_FILTER = 'learningAnalyticsLocationFilter',\r\n LEARNING_ANALYTICS_QUARTER_FILTER = 'learningAnalyticsQuarterFilter',\r\n LEARNING_ANALYTICS_COMPLETED_FILTER = 'learningAnalyticsCompletedFilter',\r\n LEARNING_ANALYTICS_ETA_FILTER = 'learningAnalyticsEtaFilter',\r\n LEARNING_ANALYTICS_UNIQUE_USERS_DATA = 'learningAnalyticsUniqueUsersData',\r\n LEARNING_ANALYTICS_USERS_BY_ONSITE_OFFSHORE = 'learningAnalyticsUsersByOnsiteOffshore',\r\n LEARNING_ANALYTICS_USERS_BY_DEVICE_TYPE = 'learningAnalyticsUsersByDeviceType',\r\n LEARNING_ANALYTICS_USERS_BY_UNIT = 'learningAnalyticsUsersByUnit',\r\n LEARNING_ANALYTICS_USERS_BY_TRACK = 'learningAnalyticsUsersByTrack',\r\n LEARNING_ANALYTICS_USERS_BY_PU_SALES = 'learningAnalyticsUsersByPuSales',\r\n LEARNING_ANALYTICS_USERS_BY_CU_TYPE = 'learningAnalyticsUsersByCuType',\r\n LEARNING_ANALYTICS_USERS_BY_SKILL = 'learningAnalyticsUsersBySkill',\r\n LEARNING_ANALYTICS_USERS_BY_TOPICS = 'learningAnalyticsUsersByTopics',\r\n LEARNING_ANALYTICS_USERS_BY_HORIZON = 'learningAnalyticsUsersByHorizon',\r\n LEARNING_ANALYTICS_USERS_GROWTH = 'learningAnalyticsUsersGrowth',\r\n LEARNING_ANALYTICS_USERS_DETAILS = 'learningAnalyticsUsersDetails',\r\n LEARNING_ANALYTICS_VIEW_ALL_TRAININGS_SECTION = 'learningAnalyticsViewAllTrainingsSection',\r\n LEARNING_ANALYTICS_TALENT_GRID_FILTER = 'learningAnalyticstalentGridFilter',\r\n LEARNING_ANALYTICS_STACK_FILTER = 'learningAnalyticsStackFilter',\r\n LEARNING_ANALYTICS_UNIQUE_PARTICIPANTS = 'learningAnalyticsUniqueParticipants',\r\n LEARNING_ANALYTICS_OVERALL_PARTICIPANTS = 'learningAnalyticsOverallParticipants',\r\n LEARNING_ANALYTICS_AVERAGE_DAYS = 'learningAnalyticsAverageDays',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_ONSITE_ONSHORE = 'learningAnalyticsParticipantsByOnsiteOnshore',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_UNIT = 'learningAnalyticsParticipantsByUnit',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_PU = 'learningAnalyticsParticipantsByPu',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_SKILL_TYPE = 'learningAnalyticsParticipantsBySkillType',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_SKILL = 'learningAnalyticsParticipantsBySkill',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_STACKS = 'learningAnalyticsParticipantsByStacks',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_NEW_SERVICES = 'learningAnalyticsParticipantsByNewServices',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_LEARNING_TRACK = 'learningAnalyticsParticipantsByLearningTrack',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_OFFERING_MODE = 'learningAnalyticsParticipantsByOfferingMode',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_TOPICS = 'learningAnalyticsParticipantsByTopics',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_ABCD = 'learningAnalyticsParticipantsByAbcd',\r\n LEARNING_ANALYTICS_PARTICIPANTS_DETAILS = 'learningAnalyticsParticipantsDetails',\r\n LEARNING_ANALYTICS_SCHEDULES_SECTION = 'learningAnalyticsSchedulesSection',\r\n LEARNING_ANALYTICS_SCHEDULE_DATE_FILTER = 'learningAnalyticsScheduleDateFilter',\r\n LEARNING_ANALYTICS_PARTICIPANTS = 'learningAnalyticsParticipants',\r\n LEARNING_ANALYTICS_EDUCATORS = 'learningAnalyticsEducators',\r\n LEARNING_ANALYTICS_COURSES = 'learningAnalyticsCourses',\r\n LEARNING_ANALYTICS_SCHEDULES = 'learningAnalyticsSchedules',\r\n LEARNING_ANALYTICS_VIEW_TRAINING_SCHEDULES_SECTION = 'learningAnalyticsTrainingSchedulesSection',\r\n LEARNING_ANALYTICS_COURSES_BY_OFFERING_MODE = 'learningAnalyticsCoursesByOfferingMode',\r\n LEARNING_ANALYTICS_COURSES_BY_TRACK = 'learningAnalyticsCoursesByTrack',\r\n LEARNING_ANALYTICS_COURSES_BY_TOPIC = 'learningAnalyticsCoursesByTopic',\r\n LEARNING_ANALYTICS_COURSES_BY_ABCD = 'learningAnalyticsCoursesByAbcd',\r\n LEARNING_ANALYTICS_COURSES_BY_SKILL = 'learningAnalyticsCoursesBySkill',\r\n\r\n // Apps Page\r\n APPS_PAGE = 'appsPage',\r\n APPS_PAGE_VIEW_DIFFERENT_APPS_ICONS = 'appsPageViewDifferentAppsIcons',\r\n\r\n // Course Card\r\n COURSE_CARD = 'courseCard',\r\n COURSE_CARD_LIKE_THE_COURSE_BUTTON = 'courseCardLikeTheCourseButton',\r\n COURSE_CARD_SHARE_THE_COURSE_BUTTON = 'courseCardShareTheCourseButton',\r\n COURSE_CARD_ADD_COURSE_TO_GOALS_BUTTON = 'courseCardAddCourseToGoalsButton',\r\n COURSE_CARD_ADD_COURSE_TO_PLAYLIST_BUTTON = 'courseCardAddCourseToPlaylistButton',\r\n COURSE_CARD_VIEW_MORE_OPTIONS_BUTTON = 'courseCardViewMoreOptionsButton',\r\n COURSE_CARD_START_COURSE_OPTION = 'courseCardStartCourseOption',\r\n COURSE_CARD_VIEW_TOC_OPTION = 'courseCardViewTocOption',\r\n COURSE_CARD_COHORTS_OPTION = 'courseCardCohortsOption',\r\n COURSE_CARD_ANALYTICS_OPTION = 'courseCardAnalyticsOption',\r\n\r\n // Search Results Page\r\n SEARCH_RESULTS_PAGE = 'searchResultsPage',\r\n SEARCH_RESULTS_PAGE_VIEW_LEARNING_SECTION = 'searchResultsPageViewLearningSection',\r\n SEARCH_RESULTS_PAGE_VIEW_CERTIFICATIONS_SECTION = 'searchResultsPageViewCertificationsSection',\r\n SEARCH_RESULTS_PAGE_VIEW_KNOWLEDGE_SECTION = 'searchResultsPageViewKnowledgeSection',\r\n SEARCH_RESULTS_PAGE_VIEW_PROJECTS_SECTION = 'searchResultsPageViewProjectsSection',\r\n SEARCH_RESULTS_PAGE_VIEW_SOCIAL_SECTION = 'searchResultsPageViewSocialSection',\r\n SEARCH_RESULTS_PAGE_CATALOG_FILTER = 'searchResultsPageCatalogFilter',\r\n SEARCH_RESULTS_PAGE_DURATION_FILTER = 'searchResultsPageDurationFilter',\r\n SEARCH_RESULTS_PAGE_CONTENT_TYPE_FILTER = 'searchResultsPageContentTypeFilter',\r\n SEARCH_RESULTS_PAGE_LEVEL_FILTER = 'searchResultsPageLevelFilter',\r\n SEARCH_RESULTS_PAGE_SOURCE_FILTER = 'searchResultsPageSourceFilter',\r\n SEARCH_RESULTS_PAGE_UNIT_FILTER = 'searchResultsPageUnitFilter',\r\n SEARCH_RESULTS_PAGE_TYPE_FILTER = 'searchResultsPageTypeFilter',\r\n SEARCH_RESULTS_PAGE_PUBLISHED_DATE_FILTER = 'searchResultsPagePublishedDateFilter',\r\n SEARCH_RESULTS_PAGE_CATEGORY_FILTER = 'searchResultsPageCategoryFilter',\r\n SEARCH_RESULTS_PAGE_ITEM_TYPE_FILTER = 'searchResultsPageItemTypeFilter',\r\n SEARCH_RESULTS_PAGE_TOPICS_FILTER = 'searchResultsPageTopicsFilter',\r\n SEARCH_RESULTS_PAGE_AUTHORS_FILTER = 'searchResultsPageAuthorsFilter',\r\n SEARCH_RESULTS_PAGE_TAGS_FILTER = 'searchResultsPageTagsFilter',\r\n SEARCH_RESULTS_PAGE_GROUPS_FILTER = 'searchResultsPageGroupsFilter',\r\n SEARCH_RESULTS_PAGE_VIEW_RESULT_CARDS = 'searchResultsPageViewResultCards',\r\n SEARCH_RESULTS_PAGE_VIEW_RELATED_CONCEPTS = 'searchResultsPageViewRelatedConcepts',\r\n\r\n // Lab42 Pages\r\n LAB_42_INTERVIEW = 'interview',\r\n LAB_42_DIALOGUE = 'dialogue',\r\n LAB_42_STRATEGY_MAP = 'strategyMap',\r\n LAB_42_VIRTUAL_CLASSROOM = 'virtualClassroom',\r\n LAB_42_PROJECT_STACK = 'projectStack',\r\n LAB_42_LIVE_TRANSCRIBE = 'liveTranscribe',\r\n LAB_42_EPOCH = 'epoch',\r\n\r\n // Learning Assistant Pages\r\n LEARNING_ASSISTANT_MAQ = 'learning-assistant-maq',\r\n LEARNING_ASSISTANT_ILIPDP = 'learning-assistant-ilipdp',\r\n}\r\n","export enum EInstance {\r\n INSTANCE = 'RootOrg',\r\n}\r\n","import { Directive, Input, OnInit, HostBinding, OnDestroy, AfterViewInit } from '@angular/core'\r\nimport { Subscription, fromEvent } from 'rxjs'\r\nimport { debounceTime } from 'rxjs/operators'\r\n\r\nenum ScrollingStateEnum {\r\n ScrollingUp,\r\n ScrollingDown,\r\n NoScrolling,\r\n}\r\n\r\n@Directive({\r\n selector: '[wsUtilsClassChangeOnScroll]',\r\n})\r\nexport class ClassChangeOnScrollDirective implements OnInit, OnDestroy, AfterViewInit {\r\n\r\n @Input() wsClassOnScrollDirChange = 5000\r\n\r\n @HostBinding('class.scrolling-down') get isScrollingDown() {\r\n return this.currState === ScrollingStateEnum.ScrollingDown\r\n }\r\n @HostBinding('class.scrolling-up') get isScrollingUp() {\r\n return this.currState === ScrollingStateEnum.ScrollingUp\r\n }\r\n @HostBinding('class.scrolling-no') get isNotScrolling() {\r\n return this.currState === ScrollingStateEnum.NoScrolling\r\n }\r\n @HostBinding('class.scrolled-down') hasScrolledDown = false\r\n\r\n private windowScrollSubscription: Subscription | null = null\r\n private timeoutTimer: any\r\n\r\n private lastScreenTop = 0\r\n private currState: ScrollingStateEnum = ScrollingStateEnum.NoScrolling\r\n constructor() { }\r\n ngOnInit() {\r\n this.windowScrollSubscription = fromEvent<Event>(window, 'scroll')\r\n .pipe(debounceTime(50))\r\n .subscribe(() => {\r\n clearTimeout(this.timeoutTimer)\r\n const curr = window.scrollY\r\n this.hasScrolledDown = curr > 56\r\n this.setScrollState(this.lastScreenTop, curr)\r\n this.lastScreenTop = curr\r\n })\r\n }\r\n\r\n ngAfterViewInit() { }\r\n ngOnDestroy() {\r\n if (this.windowScrollSubscription) {\r\n this.windowScrollSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n private setScrollState(prev: number = 0, curr: number = 0) {\r\n if (prev > curr) {\r\n this.currState = ScrollingStateEnum.ScrollingUp\r\n } else if (prev < curr) {\r\n this.currState = ScrollingStateEnum.ScrollingDown\r\n } else {\r\n this.currState = ScrollingStateEnum.NoScrolling\r\n }\r\n if (this.currState !== ScrollingStateEnum.NoScrolling) {\r\n this.resetScrollingState()\r\n }\r\n }\r\n private resetScrollingState() {\r\n this.timeoutTimer = setTimeout(\r\n () => {\r\n this.setScrollState()\r\n },\r\n this.wsClassOnScrollDirChange || 5000,\r\n )\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ClassChangeOnScrollDirective } from './class-change-on-scroll.directive'\r\n\r\n@NgModule({\r\n declarations: [ClassChangeOnScrollDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ClassChangeOnScrollDirective],\r\n})\r\nexport class ClassChangeOnScrollModule { }\r\n","import { Directive, Input, HostListener, HostBinding, OnChanges } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsDefaultThumbnail]',\r\n})\r\nexport class DefaultThumbnailDirective implements OnChanges {\r\n\r\n @Input() wsUtilsDefaultThumbnail = ''\r\n @Input() src = ''\r\n isSrcUpdateAttemptedForDefault = false\r\n\r\n @HostBinding('src') srcUrl = ''\r\n @HostListener('error') updateSrc() {\r\n if (!this.isSrcUpdateAttemptedForDefault) {\r\n this.srcUrl = this.wsUtilsDefaultThumbnail\r\n this.isSrcUpdateAttemptedForDefault = true\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.srcUrl = this.src\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { DefaultThumbnailDirective } from './default-thumbnail.directive'\r\n\r\n@NgModule({\r\n declarations: [DefaultThumbnailDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [DefaultThumbnailDirective],\r\n})\r\nexport class DefaultThumbnailModule { }\r\n","import { BreakpointObserver } from '@angular/cdk/layout'\r\nimport { Directive, HostBinding, Input, OnChanges, OnDestroy } from '@angular/core'\r\nimport { Subscription } from 'rxjs'\r\nimport { distinctUntilChanged } from 'rxjs/operators'\r\n\r\nexport interface IImageResponsiveUnit {\r\n [key: string]: string\r\n}\r\n\r\nconst customBreakPoints = {\r\n xs: '(max-width: 450px)',\r\n s: '(min-width: 450.001px) and (max-width: 768px)',\r\n m: '(min-width: 768.001px) and (max-width: 1024px)',\r\n l: '(min-width: 1024.001px) and (max-width: 1400px)',\r\n xl: '(min-width: 1400.001px) and (max-width: 1920px)',\r\n xxl: '(min-width: 1920.001px)',\r\n}\r\n\r\n@Directive({\r\n selector: '[wsUtilsImageResponsive]',\r\n})\r\nexport class ImageResponsiveDirective implements OnChanges, OnDestroy {\r\n\r\n @Input() src: IImageResponsiveUnit | null = null\r\n @HostBinding('src') srcBindUrl = ''\r\n\r\n currentSize = ''\r\n breakpointSubscription: Subscription | null = null\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n ) {\r\n this.breakpointSubscription = this.breakpointObserver\r\n .observe([\r\n customBreakPoints.xs,\r\n customBreakPoints.s,\r\n customBreakPoints.m,\r\n customBreakPoints.l,\r\n customBreakPoints.xl,\r\n customBreakPoints.xxl,\r\n ])\r\n .pipe(distinctUntilChanged())\r\n .subscribe(data => {\r\n // //console.log('data >', data)\r\n if (data.breakpoints[customBreakPoints.xxl]) {\r\n this.currentSize = 'xxl'\r\n } else if (data.breakpoints[customBreakPoints.xl]) {\r\n this.currentSize = 'xl'\r\n } else if (data.breakpoints[customBreakPoints.l]) {\r\n this.currentSize = 'l'\r\n } else if (data.breakpoints[customBreakPoints.m]) {\r\n this.currentSize = 'm'\r\n } else if (data.breakpoints[customBreakPoints.s]) {\r\n this.currentSize = 's'\r\n } else if (data.breakpoints[customBreakPoints.xs]) {\r\n this.currentSize = 'xs'\r\n } else {\r\n this.currentSize = 'xl'\r\n }\r\n this.setSrc()\r\n })\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.setSrc()\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.breakpointSubscription) {\r\n this.breakpointSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n private setSrc() {\r\n if (\r\n this.currentSize &&\r\n this.src &&\r\n this.src[this.currentSize]\r\n ) {\r\n this.srcBindUrl = this.src[this.currentSize]\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ImageResponsiveDirective } from './image-responsive.directive'\r\n\r\n@NgModule({\r\n declarations: [ImageResponsiveDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ImageResponsiveDirective],\r\n})\r\nexport class ImageResponsiveModule { }\r\n","import { Directive, OnInit, Output, EventEmitter, ElementRef, OnDestroy } from '@angular/core'\r\nimport { fromEvent } from 'rxjs'\r\nimport { debounceTime } from 'rxjs/operators'\r\n\r\n@Directive({\r\n selector: '[wsUtilsInViewPort]',\r\n})\r\nexport class InViewPortDirective implements OnInit, OnDestroy {\r\n\r\n private scroll: any\r\n private resize: any\r\n\r\n @Output() inViewport: EventEmitter<boolean> = new EventEmitter<boolean>()\r\n\r\n constructor(private _el: ElementRef) { }\r\n\r\n ngOnInit() {\r\n this.check()\r\n this.scroll =\r\n fromEvent(window, 'scroll').pipe(debounceTime(100)).subscribe(() => {\r\n this.check()\r\n })\r\n this.resize =\r\n fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe(() => {\r\n this.check()\r\n })\r\n\r\n // let limit = 1\r\n // this.scroll =\r\n // fromEvent(window, 'scroll').pipe(debounceTime(100)).subscribe(() => {\r\n // if (limit) {\r\n // this.check()\r\n // limit -= 1\r\n // }\r\n // })\r\n\r\n // this.resize =\r\n // fromEvent(window, 'resize').toPromise().then(() => {\r\n // this.check()\r\n // })\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.scroll.unsubscribe()\r\n this.resize.unsubscribe()\r\n }\r\n\r\n check(partial: boolean = true, direction: string = 'both') {\r\n const el = this._el.nativeElement\r\n\r\n const elSize = (el.offsetWidth * el.offsetHeight)\r\n\r\n const rec = el.getBoundingClientRect()\r\n\r\n const vp = {\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n }\r\n\r\n const tViz = rec.top >= 0 && rec.top < vp.height\r\n const bViz = rec.bottom > 0 && rec.bottom <= vp.height\r\n\r\n const lViz = rec.left >= 0 && rec.left < vp.width\r\n const rViz = rec.right > 0 && rec.right <= vp.width\r\n\r\n const vVisible = partial ? tViz || bViz : tViz && bViz\r\n const hVisible = partial ? lViz || rViz : lViz && rViz\r\n\r\n let event = false\r\n\r\n if (direction === 'both') {\r\n event = (elSize && vVisible && hVisible) ? true : false\r\n } else if (direction === 'vertical') {\r\n event = (elSize && vVisible) ? true : false\r\n } else if (direction === 'horizontal') {\r\n event = (elSize && hVisible) ? true : false\r\n }\r\n this.inViewport.emit(event)\r\n }\r\n}\r\n","import { InViewPortDirective } from './in-view-port.directive'\r\nimport { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\n\r\n@NgModule({\r\n declarations: [InViewPortDirective],\r\n exports: [InViewPortDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n})\r\nexport class InViewPortModule { }\r\n","import { Directive, OnChanges, Input, HostBinding, HostListener } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsNavigation]',\r\n})\r\nexport class NavigationDirective implements OnChanges {\r\n @Input() wsUtilsNavigation = ''\r\n @Input() openInNewTab = false\r\n @Input()\r\n @HostBinding('attr.routerLink') routeUrl = ''\r\n @HostListener('mousedown', ['$event']) onMouseEnter($event: Event) {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n $event.preventDefault()\r\n $event.stopPropagation()\r\n this.routeUrl = './'\r\n window.open(this.wsUtilsNavigation)\r\n }\r\n }\r\n constructor() { }\r\n\r\n ngOnChanges() {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n this.routeUrl = './'\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { NavigationDirective } from './navigation.directive'\r\n\r\n@NgModule({\r\n declarations: [NavigationDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [NavigationDirective],\r\n})\r\nexport class NavigationModule { }\r\n","import { Directive } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsPermission]',\r\n})\r\nexport class PermissionDirective {\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PermissionDirective } from './permission.directive'\r\n\r\n@NgModule({\r\n declarations: [PermissionDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PermissionDirective],\r\n})\r\nexport class PermissionModule { }\r\n","export function getStringifiedQueryParams(obj: { [key: string]: number | string | undefined | string[] }) {\r\n return Object.entries(obj)\r\n .filter(u => u[1])\r\n .map(u => {\r\n return `${u[0]}=${u[1]}`\r\n })\r\n .join('&')\r\n}\r\n","import { Component, OnInit, OnChanges, OnDestroy, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core'\r\nimport {\r\n fromEvent,\r\n Subscription,\r\n timer,\r\n} from 'rxjs'\r\nimport { debounceTime, throttleTime } from 'rxjs/operators'\r\nimport { TFetchStatus } from '../../constants/misc.constants'\r\n\r\n@Component({\r\n selector: 'ws-utils-horizontal-scroller',\r\n templateUrl: './horizontal-scroller.component.html',\r\n styleUrls: ['./horizontal-scroller.component.scss'],\r\n})\r\nexport class HorizontalScrollerComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n @Input()\r\n loadStatus: TFetchStatus = 'none'\r\n @Input()\r\n onHover = false\r\n @Output()\r\n loadNext = new EventEmitter()\r\n @ViewChild('horizontalScrollElem', { static: true })\r\n horizontalScrollElem: ElementRef | null = null\r\n\r\n enablePrev = false\r\n enableNext = false\r\n private scrollObserver: Subscription | null = null\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n if (this.horizontalScrollElem) {\r\n const horizontalScrollElem = this.horizontalScrollElem\r\n this.scrollObserver = fromEvent(\r\n horizontalScrollElem.nativeElement,\r\n 'scroll',\r\n )\r\n .pipe(debounceTime(100), throttleTime(100))\r\n .subscribe(_ => {\r\n this.updateNavigationBtnStatus(horizontalScrollElem\r\n .nativeElement as HTMLElement)\r\n })\r\n }\r\n }\r\n ngOnChanges() {\r\n timer(100).subscribe(() => {\r\n if (this.horizontalScrollElem) {\r\n this.updateNavigationBtnStatus(this.horizontalScrollElem\r\n .nativeElement as HTMLElement)\r\n }\r\n })\r\n }\r\n ngOnDestroy() {\r\n if (this.scrollObserver) {\r\n this.scrollObserver.unsubscribe()\r\n }\r\n }\r\n showPrev() {\r\n if (this.horizontalScrollElem) {\r\n // const elem = this.horizontalScrollElem.nativeElement\r\n // elem.scrollLeft -= 0.20 * elem.clientWidth\r\n if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,\r\n behavior: 'smooth',\r\n })\r\n }\r\n }\r\n }\r\n showNext() {\r\n if (this.horizontalScrollElem) {\r\n // const elem = this.horizontalScrollElem.nativeElement\r\n // elem.scrollLeft += 0.20 * elem.clientWidth\r\n if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,\r\n behavior: 'smooth',\r\n })\r\n }\r\n }\r\n }\r\n private updateNavigationBtnStatus(elem: HTMLElement) {\r\n this.enablePrev = true\r\n this.enableNext = true\r\n if (elem.scrollLeft === 0) {\r\n this.enablePrev = false\r\n }\r\n if (elem.scrollWidth === elem.clientWidth + elem.scrollLeft) {\r\n if (this.loadStatus === 'hasMore') {\r\n this.loadNext.emit()\r\n } else {\r\n this.enableNext = false\r\n }\r\n }\r\n }\r\n}\r\n","<section class=\"horizontal-scroll-container h-full\">\r\n <button i18n-aria-label name=\"content-backward-button\" mat-mini-fab color=\"primary\" (click)=\"showPrev()\"\r\n class=\"prevBtn hidden-touch border-radius-xs\" [hidden]=\"!enablePrev\" [ngClass]=\"{'prevBtnHover': onHover}\">\r\n <mat-icon>navigate_before</mat-icon>\r\n </button>\r\n <div name=\"horizontal-scroll-content-strip\" class=\"horizontal-scroll-content\" #horizontalScrollElem>\r\n <ng-content></ng-content>\r\n </div>\r\n <button i18n-aria-label name=\"content-forward-button\" mat-mini-fab (click)=\"showNext()\" color=\"primary\"\r\n class=\"nextBtn hidden-touch border-radius-xs\" [ngClass]=\"{'nextBtnHover': onHover}\"\r\n [hidden]=\"!enableNext || loadStatus === 'fetching'\">\r\n <mat-icon>navigate_next</mat-icon>\r\n </button>\r\n <div class=\"nextLoading\" *ngIf=\"loadStatus === 'fetching'\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n</section>","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { HorizontalScrollerComponent } from './horizontal-scroller.component'\r\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner'\r\n\r\n@NgModule({\r\n declarations: [HorizontalScrollerComponent],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n ],\r\n exports: [HorizontalScrollerComponent],\r\n})\r\nexport class HorizontalScrollerModule { }\r\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { Injectable } from '@angular/core'\n// import { KeycloakEvent, KeycloakEventType, KeycloakInitOptions, KeycloakService } from 'keycloak-angular'\nimport { ReplaySubject } from 'rxjs'\n// import { filter } from 'rxjs/operators'\n// import { AuthMicrosoftService } from './auth-microsoft.service'\n// import { ConfigurationsService } from './configurations.service'\n\n// interface IParsedToken {\n// email?: string\n// encEmail?: string\n// name?: string\n// preferred_username?: string\n// }\n\nconst storage = localStorage\nconst storageKey = 'kc'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthKeycloakService {\n private loginChangeSubject = new ReplaySubject<boolean>(1)\n constructor(\n // private configSvc: ConfigurationsService,\n // private keycloakSvc: KeycloakService,\n // private msAuthSvc: AuthMicrosoftService,\n ) {\n // this.loginChangeSubject.subscribe((isLoggedIn: boolean) => {\n // this.configSvc.isAuthenticated = isLoggedIn\n // if (\n // isLoggedIn &&\n // this.configSvc.instanceConfig &&\n // Boolean(this.configSvc.instanceConfig.disablePidCheck)\n // ) {\n // this.configSvc.userProfile = {\n // email: this.userEmail,\n // userName: this.userName,\n // userId: this.userId || '',\n // }\n // }\n // })\n }\n\n // Getters\n get isLoggedIn$() {\n return this.loginChangeSubject.asObservable()\n }\n // get isLoggedIn(): Promise<boolean> {\n // return this.keycloakSvc.isLoggedIn()\n // }\n // get isAuthenticated(): boolean | undefined {\n // return this.keycloakSvc.getKeycloakInstance().authenticated\n // }\n // get token(): string | undefined {\n // return this.keycloakSvc.getKeycloakInstance().token\n // }\n // get sessionId(): string | undefined {\n // return this.keycloakSvc.getKeycloakInstance().sessionId\n // }\n // get userId(): string | undefined {\n // const kc = this.keycloakSvc.getKeycloakInstance()\n // if (!kc) {\n // return\n // }\n // return (kc.tokenParsed && kc.tokenParsed.sub) || (kc.idTokenParsed && kc.idTokenParsed.sub)\n // }\n\n // get userEmail(): string | undefined {\n // const kc = this.keycloakSvc.getKeycloakInstance()\n\n // const tokenParsed = kc.tokenParsed as IParsedToken\n // const idTokenParsed = kc.idTokenParsed as IParsedToken\n // return (\n // (tokenParsed && tokenParsed.email) ||\n // (idTokenParsed && idTokenParsed.email) ||\n // (idTokenParsed && idTokenParsed.encEmail) ||\n // (tokenParsed && tokenParsed.preferred_username) ||\n // (idTokenParsed && idTokenParsed.preferred_username)\n // )\n // }\n\n // get userName(): string | undefined {\n // const kc = this.keycloakSvc.getKeycloakInstance()\n // return (\n // (kc.tokenParsed && (kc.tokenParsed as IParsedToken).name) ||\n // (kc.idTokenParsed && (kc.idTokenParsed as IParsedToken).name)\n // )\n // }\n\n // async initAuth(): Promise<boolean> {\n // if (!this.configSvc.instanceConfig) {\n // return false\n // }\n // const instanceConfig = this.configSvc.instanceConfig\n // if (instanceConfig.microsoft.isConfigured) {\n // this.msAuthSvc.init({ microsoft: instanceConfig.microsoft })\n // }\n // try {\n // this.setupGlobalAuthResponder()\n // this.addKeycloakEventListener()\n // return await this.keycloakSvc.init({\n // config: {\n // url: instanceConfig.keycloak.url,\n // realm: instanceConfig.keycloak.realm,\n // clientId: instanceConfig.keycloak.clientId,\n // },\n // initOptions: {\n // ...this.getSavedKcConfig(),\n // onLoad: instanceConfig.keycloak.onLoad || 'check-sso',\n // checkLoginIframe: false,\n // },\n // enableBearerInterceptor: true,\n // loadUserProfileAtStartUp: false,\n // bearerExcludedUrls: instanceConfig.keycloak.bearerExcludedUrls,\n // })\n // } catch (err) {\n // return false\n // }\n // }\n\n // login(\n // idpHint: 'E' | 'N' | 'S' = 'E',\n // redirectUrl: string = this.defaultRedirectUrl,\n // ): Promise<void> {\n // return this.keycloakSvc.login({\n // idpHint,\n // redirectUri: redirectUrl,\n // })\n // }\n\n // register(\n // redirectUrl: string = this.defaultRedirectUrl,\n // ): Promise<void> {\n // return this.keycloakSvc.register({\n // redirectUri: redirectUrl,\n // })\n // }\n /**\n * @deprecated this will be depricated\n */\n async logout(_redirectUrl = this.defaultRedirectUrl) {\n // window.location.href = `${_redirectUrl}apis/reset`\n window.location.href = `${_redirectUrl}public/logout`\n\n // storage.removeItem(storageKey)\n // await this.http.get('/apis/reset').toPromise()\n // if (this.msAuthSvc.isLogoutRequired) {\n // this.keycloakSvc.logout(this.msAuthSvc.logoutUrl(redirectUrl))\n // } else {\n // this.keycloakSvc.logout(redirectUrl)\n // }\n }\n async force_logout() {\n // const headers = new HttpHeaders({\n // 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\n // Pragma: 'no-cache',\n // Expires: '0',\n // })\n if (storage.getItem('telemetrySessionId')) {\n storage.removeItem('telemetrySessionId')\n }\n // try {\n // sessionStorage.clear()\n // localStorage.clear()\n // } catch {\n\n // }\n storage.removeItem(storageKey)\n if (localStorage.getItem('login') === 'true') {\n try {\n sessionStorage.clear()\n localStorage.clear()\n } catch {\n\n }\n window.location.href = `${this.defaultRedirectUrl}apis/reset`\n } else {\n window.location.href = `${this.defaultRedirectUrl}public/logout`\n }\n // window.location.href = '/public/logout'\n // await this.http.get('/apis/reset', { headers }).toPromise()\n }\n // private addKeycloakEventListener() {\n // this.keycloakSvc.keycloakEvents$.subscribe((event: KeycloakEvent) => {\n // switch (event.type) {\n // case KeycloakEventType.OnAuthError:\n // this.loginChangeSubject.next(false)\n // break\n // case KeycloakEventType.OnAuthLogout:\n // this.loginChangeSubject.next(false)\n // storage.removeItem(storageKey)\n // break\n // case KeycloakEventType.OnAuthRefreshError:\n // break\n // case KeycloakEventType.OnAuthRefreshSuccess:\n // break\n // case KeycloakEventType.OnAuthSuccess:\n // break\n // case KeycloakEventType.OnReady:\n // this.loginChangeSubject.next(event.args)\n // if (event.args) {\n // this.saveKeycloakConfig()\n // }\n // break\n // case KeycloakEventType.OnTokenExpired:\n // this.keycloakSvc.updateToken(60)\n // break\n // }\n // })\n // }\n\n // private setupGlobalAuthResponder() {\n // fromEvent<MessageEvent>(window, 'message')\n // .pipe(\n // filter(\n // (event: MessageEvent) =>\n // Boolean(event) &&\n // Boolean(event.data) &&\n // event.data.type === 'AUTH_REQUEST' &&\n // Boolean(event.source && typeof event.source.postMessage === 'function'),\n // ),\n // )\n // .subscribe(async (event: MessageEvent) => {\n // const contentWindow = event.source as Window\n // const token = await this.keycloakSvc.getToken()\n // const response = {\n // app: 'WEB_PORTAL',\n // type: 'AUTH_RESPONSE',\n // state: 'NONE',\n // plugin: 'NONE',\n // data: {\n // token,\n // id: event.data && event.data.data && event.data.data.id,\n // },\n // }\n // contentWindow.postMessage(response, '*')\n // })\n // }\n\n // Utility Methods\n // private saveKeycloakConfig() {\n // const kc = this.keycloakSvc.getKeycloakInstance()\n // const kcInitOptions: KeycloakInitOptions = {\n // idToken: kc.idToken,\n // refreshToken: kc.refreshToken,\n // timeSkew: kc.timeSkew,\n // token: kc.token,\n // }\n // storage.setItem(storageKey, JSON.stringify(kcInitOptions))\n // }\n // private getSavedKcConfig(): KeycloakInitOptions {\n // try {\n // // const lastSaved = KEYCLOAK_STORAGE.getItem(key);\n // const lastSaved = storage.getItem(storageKey)\n // if (lastSaved) {\n // const processed = JSON.parse(lastSaved)\n // if (\n // 'idToken' in processed &&\n // 'refreshToken' in processed &&\n // 'timeSkew' in processed &&\n // 'token' in processed\n // ) {\n // return processed\n // }\n // }\n // } catch (e) { }\n // return {}\n // }\n\n private get defaultRedirectUrl(): string {\n try {\n const baseUrl = document.baseURI\n return baseUrl || location.origin\n } catch (error) {\n return location.origin\n }\n }\n}\n","import { Platform } from '@angular/cdk/platform'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs'\r\nimport { Router, NavigationEnd, ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router'\r\nimport { WsEvents } from './event.model'\r\ninterface IWindowMobileAppModified extends Window {\r\n appRef?: any\r\n webkit?: any\r\n}\r\ndeclare var window: IWindowMobileAppModified\r\n\r\nconst RANDOM_ID_PER_USER = 0\r\ninterface IRecursiveData {\r\n identifier: string\r\n children: null | IRecursiveData[]\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UtilityService {\r\n currentRouteData: any[] = []\r\n constructor(\r\n private http: HttpClient,\r\n private platform: Platform,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n // private events: EventService,\r\n ) {\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationEnd) {\r\n // let snapshot = this.router.routerState.firstChild(this.activatedRoute).snapshot\r\n // console.log('this.route.snapshot :: ', this.route.snapshot)\r\n const snapshot = this.route.snapshot\r\n // console.log('root.snapshot.root.firstChild ', snapshot.root.firstChild)\r\n // console.log('firstChild ', snapshot.firstChild)\r\n const firstChild = snapshot.root.firstChild\r\n this.getChildRouteData(snapshot, firstChild)\r\n }\r\n })\r\n }\r\n\r\n private getChildRouteData(snapshot: ActivatedRouteSnapshot, firstChild: ActivatedRouteSnapshot | null) {\r\n if (firstChild) {\r\n if (firstChild.data) {\r\n // console.log('firstChild.data', firstChild.data)\r\n this.currentRouteData.push(firstChild.data)\r\n }\r\n if (firstChild.firstChild) {\r\n this.getChildRouteData(snapshot, firstChild.firstChild)\r\n }\r\n }\r\n }\r\n\r\n get randomId() {\r\n return RANDOM_ID_PER_USER + 1\r\n }\r\n\r\n getJson<T>(url: string): Observable<T> {\r\n return this.http.get<T>(url)\r\n }\r\n\r\n getLeafNodes<T extends IRecursiveData>(node: T, nodes: T[]): T[] {\r\n if ((node.children || []).length === 0) {\r\n nodes.push(node)\r\n } else {\r\n if (node.children) {\r\n node.children.forEach(child => {\r\n this.getLeafNodes(child, nodes)\r\n })\r\n }\r\n }\r\n return nodes\r\n }\r\n getPath<T extends IRecursiveData>(node: T, id: string): T[] {\r\n const path: T[] = []\r\n this.hasPath(node, path, id)\r\n return path\r\n }\r\n\r\n private hasPath<T extends IRecursiveData>(node: T, pathArr: T[], id: string): boolean {\r\n if (node == null) {\r\n return false\r\n }\r\n pathArr.push(node)\r\n if (node.identifier === id) {\r\n return true\r\n }\r\n const children = node.children || []\r\n if (children.some(u => this.hasPath(u, pathArr, id))) {\r\n return true\r\n }\r\n pathArr.pop()\r\n return false\r\n }\r\n\r\n get isMobile(): boolean {\r\n if (this.isIos || this.isAndroid) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n get isIos(): boolean {\r\n return this.platform.IOS\r\n }\r\n\r\n get isAndroid(): boolean {\r\n return this.platform.ANDROID\r\n }\r\n get isAndroidApp(): boolean {\r\n return Boolean(window.appRef)\r\n }\r\n\r\n get iOsAppRef() {\r\n if (\r\n window.webkit &&\r\n window.webkit.messageHandlers &&\r\n window.webkit.messageHandlers.appRef\r\n ) {\r\n return window.webkit.messageHandlers.appRef\r\n }\r\n return null\r\n }\r\n\r\n public setRouteData(data: any) {\r\n this.currentRouteData = data\r\n }\r\n\r\n get routeData(): WsEvents.ITelemetryPageContext {\r\n const data: WsEvents.ITelemetryPageContext = {\r\n module: '',\r\n pageId: '',\r\n }\r\n // tslint:disable-next-line: no-console\r\n // console.log('Final currentDataRoute get routeData()', this.currentRouteData)\r\n this.currentRouteData.map((rd: any) => {\r\n if (rd.pageId) {\r\n data.pageId = `${data.pageId}/${rd.pageId}`\r\n }\r\n if (rd.module) {\r\n data.module = rd.module\r\n }\r\n })\r\n return data\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core'\r\nimport { MatDialogRef } from '@angular/material/dialog'\r\n// import { Router } from '@angular/router'\r\nimport { AuthKeycloakService } from '../../services/auth-keycloak.service'\r\nimport { ConfigurationsService } from '../../services/configurations.service'\r\nimport { UtilityService } from '../../services/utility.service'\r\n\r\n@Component({\r\n selector: 'ws-utils-logout',\r\n templateUrl: './logout.component.html',\r\n styleUrls: ['./logout.component.scss'],\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n\r\n disabled = false\r\n isDownloadableIos = false\r\n isDownloadableAndroid = false\r\n constructor(\r\n public dialogRef: MatDialogRef<LogoutComponent>,\r\n private authSvc: AuthKeycloakService,\r\n private configSvc: ConfigurationsService,\r\n private utilitySvc: UtilityService,\r\n // private router: Router,\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.configSvc.restrictedFeatures) {\r\n this.isDownloadableIos = !this.configSvc.restrictedFeatures.has('iosDownload')\r\n this.isDownloadableAndroid = !this.configSvc.restrictedFeatures.has('androidDownload')\r\n }\r\n }\r\n\r\n confirmed() {\r\n this.disabled = true\r\n this.dialogRef.close()\r\n this.authSvc.force_logout()\r\n // this.router.navigate(['public', 'logout'])\r\n // this.router.logout()\r\n }\r\n\r\n get isDownloadable() {\r\n if (this.configSvc.instanceConfig && this.configSvc.instanceConfig.isContentDownloadAvailable &&\r\n (this.utilitySvc.iOsAppRef || this.utilitySvc.isAndroidApp)) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n}\r\n","<h1 mat-dialog-title i18n>Logout Now</h1>\r\n<div class=\"ws-mat-primary-text text-base pb-2 title-text\" *ngIf=\"isDownloadable\" i18n>\r\n Note: On logging out all the downloaded content will be deleted.\r\n</div>\r\n<div mat-dialog-content class=\"text-base hide-overflow\" i18n>\r\n Are you sure?\r\n</div>\r\n<div mat-dialog-actions class=\"flex-row-reverse\">\r\n <button mat-flat-button color=\"warn\" [disabled]=\"disabled\" (click)=\"confirmed()\" i18n>\r\n Yes\r\n </button>\r\n <button mat-button class=\"margin-right-xs\" [mat-dialog-close] cdkFocusInitial i18n>No</button>\r\n</div>","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatDialogModule } from '@angular/material/dialog'\r\n\r\nimport { LogoutComponent } from './logout.component'\r\n\r\n@NgModule({\r\n declarations: [LogoutComponent],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n ],\r\n entryComponents: [LogoutComponent],\r\n})\r\nexport class LogoutModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\ninterface IDateRange {\r\n fromDate: Date\r\n toDate: Date\r\n timeZone?: string\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeConciseDateRange',\r\n})\r\nexport class PipeConciseDateRangePipe implements PipeTransform {\r\n transform(dateRange: IDateRange): string {\r\n try {\r\n let conciseRange: string\r\n let prefix: string\r\n let suffix: string\r\n const fromDate = new Date(dateRange.fromDate)\r\n const toDate = new Date(dateRange.toDate)\r\n\r\n const fromDateObj = {\r\n day: fromDate.getDate(),\r\n month: fromDate.toLocaleString('default', { month: 'short' }),\r\n year: fromDate.getFullYear(),\r\n time: fromDate.getTime(),\r\n }\r\n\r\n const toDateObj = {\r\n day: toDate.getDate(),\r\n month: toDate.toLocaleString('default', { month: 'short' }),\r\n year: toDate.getFullYear(),\r\n time: toDate.getTime(),\r\n }\r\n\r\n if (fromDateObj.time === toDateObj.time) {\r\n conciseRange = `${fromDateObj.day} ${fromDateObj.month} ${fromDateObj.year}`\r\n return conciseRange\r\n }\r\n\r\n if (fromDateObj.year !== fromDateObj.year) {\r\n prefix = `${fromDateObj.day} ${fromDateObj.month} ${fromDateObj.year}`\r\n suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`\r\n conciseRange = `${prefix} - ${suffix}`\r\n return conciseRange\r\n }\r\n\r\n if (fromDateObj.month === toDateObj.month) {\r\n prefix = `${fromDateObj.day}`\r\n suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`\r\n } else {\r\n prefix = `${fromDateObj.day} ${fromDateObj.month}`\r\n suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`\r\n }\r\n\r\n conciseRange = `${prefix} - ${suffix}`\r\n return conciseRange\r\n } catch (e) {\r\n return `${dateRange.fromDate} - ${dateRange.toDate}`\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeConciseDateRangePipe } from './pipe-concise-date-range.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeConciseDateRangePipe],\r\n imports: [CommonModule],\r\n exports: [PipeConciseDateRangePipe],\r\n})\r\nexport class PipeConciseDateRangeModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeCountTransform',\r\n})\r\nexport class PipeCountTransformPipe implements PipeTransform {\r\n\r\n transform(value: number): string {\r\n const thousand = 1000\r\n const million = 1000000\r\n if (value > 0) {\r\n if (value < thousand) {\r\n return String(value)\r\n }\r\n if (value >= thousand && value < million) {\r\n const views = (value / thousand).toFixed(1)\r\n if (views.endsWith('0')) {\r\n return `${views.split('.')[0]}K`\r\n }\r\n return `${views}K`\r\n }\r\n {\r\n const views = (value / million).toFixed(1)\r\n if (views.endsWith('0')) {\r\n return `${views.split('.')[0]}M`\r\n }\r\n return `${views}M`\r\n }\r\n }\r\n return '0'\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeCountTransformPipe } from './pipe-count-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeCountTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeCountTransformPipe],\r\n})\r\nexport class PipeCountTransformModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\ninterface ICertificationDate {\r\n day: number\r\n month: number\r\n year: number\r\n timeZone?: string\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeDateConcat',\r\n})\r\nexport class PipeDateConcatPipe implements PipeTransform {\r\n private readonly months: string[]\r\n\r\n constructor() {\r\n this.months = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ]\r\n }\r\n\r\n transform(value: ICertificationDate): string {\r\n let dateStr = `${value.day} ${this.months[value.month - 1]} ${value.year}`\r\n if (value.timeZone) {\r\n dateStr += ` ${value.timeZone}`\r\n }\r\n\r\n return dateStr\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeDateConcatPipe } from './pipe-date-concat.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeDateConcatPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeDateConcatPipe],\r\n})\r\nexport class PipeDateConcatModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeDurationTransform',\r\n})\r\nexport class PipeDurationTransformPipe implements PipeTransform {\r\n\r\n transform(data: number, type: 'time24' | 'hms' | 'hour'): any {\r\n if (data <= 0) {\r\n return ''\r\n }\r\n const h = Math.floor(data / 3600)\r\n const m = Math.floor((data % 3600) / 60)\r\n const s = Math.floor((data % 3600) % 60)\r\n let duration = ''\r\n let space = ''\r\n\r\n switch (type) {\r\n case 'time24':\r\n return this.defaultDuration(h, m, s)\r\n case 'hms':\r\n if (h > 0) {\r\n duration += type === 'hms' ? `${h}h` : `${h} hr`\r\n }\r\n if (m > 0) {\r\n if (h > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${m}m` : `${space}${m} min`\r\n }\r\n if (s > 0 && h === 0) {\r\n if (m > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${s}s` : `${space}${s} sec`\r\n }\r\n return duration\r\n case 'hour':\r\n if (h === 0) {\r\n duration += 'less than an hour'\r\n }\r\n if (h === 1) {\r\n duration += `${h} hour`\r\n }\r\n if (h > 1) {\r\n duration += `${h} hours`\r\n }\r\n return duration\r\n default:\r\n return this.defaultDuration(h, m, s)\r\n }\r\n }\r\n\r\n defaultDuration(h: number, m: number, s: number) {\r\n let duration = ''\r\n duration += h > 0 ? `${h.toString().padStart(2)}:` : ''\r\n duration += m > 0 ? `${m.toString().padStart(2)}:` : '00:'\r\n duration += s > 0 ? s.toString().padStart(2) : '00'\r\n return duration\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeDurationTransformPipe } from './pipe-duration-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeDurationTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeDurationTransformPipe],\r\n})\r\nexport class PipeDurationTransformModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeHtmlTagRemoval',\r\n})\r\nexport class PipeHtmlTagRemovalPipe implements PipeTransform {\r\n\r\n transform(htmlString: string): string {\r\n return htmlString ? String(htmlString).replace(/<[^>]+>/gm, '') : ''\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeHtmlTagRemovalPipe } from './pipe-html-tag-removal.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeHtmlTagRemovalPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeHtmlTagRemovalPipe],\r\n})\r\nexport class PipeHtmlTagRemovalModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeFilter',\r\n})\r\nexport class PipeFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, keys: string, term: string): string {\r\n if (!term) {\r\n return value\r\n }\r\n return (value || []).filter((item: any) => keys.split(',')\r\n .some(key => item.hasOwnProperty(key) && new RegExp(`^${term}$`, 'gi').test(item[key])))\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeFilterPipe } from './pipe-filter.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeFilterPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeFilterPipe],\r\n})\r\nexport class PipeFilterModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeFilterSearch',\r\n})\r\nexport class PipeFilterSearchPipe implements PipeTransform {\r\n\r\n transform(items: any[], searchText: string, ...keys: any): any {\r\n if (!items) { return [] }\r\n if (!searchText) { return items }\r\n const searchTextLowerCase = searchText.toLowerCase()\r\n if (keys && keys.length) {\r\n const result = items.filter(it => {\r\n return it['personalDetails'][keys[0]].toLowerCase().includes(searchTextLowerCase)\r\n // keys.map((key: any) => {\r\n // console.log('key:', key)\r\n // console.log(`it['personalDetails'][key]`, it['personalDetails'][key])\r\n // return it['personalDetails'][key].toLowerCase().includes(searchTextLowerCase)\r\n // })\r\n })\r\n if (result && result.length <= 0) {\r\n return [-1]\r\n }\r\n return result\r\n }\r\n return items.filter(it => {\r\n return it.title.toLowerCase().includes(searchTextLowerCase)\r\n })\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeFilterSearchPipe } from './pipe-filter-search.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeFilterSearchPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeFilterSearchPipe],\r\n})\r\nexport class PipeFilterSearchModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeListFilter',\r\n})\r\nexport class PipeListFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, keys: string, term: string): string {\r\n if (!term) {\r\n return value\r\n }\r\n return (value || []).filter((item: any) => keys.split(',')\r\n .some(key => item.hasOwnProperty(key)\r\n && item[key] && (`${item[key]} `).toLocaleLowerCase().includes(term.toLocaleLowerCase())))\r\n // new RegExp(`^${term}$`, 'gi').test(item[key])\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeListFilterPipe } from './pipe-list-filter.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeListFilterPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeListFilterPipe],\r\n})\r\nexport class PipeListFilterModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport * as _moment from 'moment'\r\nconst moment = _moment\r\n\r\n@Pipe({\r\n name: 'pipeRelativeTime',\r\n})\r\nexport class PipeRelativeTimePipe implements PipeTransform {\r\n transform(value: number): string {\r\n if (value) {\r\n return moment((new Date(value))).fromNow()\r\n }\r\n return moment().startOf('hour').fromNow()\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeRelativeTimePipe } from './pipe-relative-time.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeRelativeTimePipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeRelativeTimePipe],\r\n})\r\nexport class PipeRelativeTimeModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { orderBy } from 'lodash'\r\n\r\n@Pipe({\r\n name: 'orderBy',\r\n})\r\n\r\nexport class OrderByPipe implements PipeTransform {\r\n transform = orderBy\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { OrderByPipe } from './pipe-order-by.pipe'\r\n\r\n@NgModule({\r\n declarations: [OrderByPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [OrderByPipe],\r\n})\r\nexport class PipeOrderByModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeLimitTo',\r\n})\r\nexport class PipeLimitToPipe implements PipeTransform {\r\n\r\n transform(data: any, limit: number = 5): any {\r\n if (!data || !data.length) {\r\n return null\r\n }\r\n if (Array.isArray(data)) {\r\n return data.slice(0, limit)\r\n }\r\n if (typeof data === 'string') {\r\n const slicedString = data.substr(0, limit)\r\n if (limit < data.length) {\r\n return `${slicedString}...`\r\n }\r\n return slicedString\r\n }\r\n return null\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeLimitToPipe } from './pipe-limit-to.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeLimitToPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeLimitToPipe],\r\n})\r\nexport class PipeLimitToModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\ninterface IUserName {\r\n firstName: string\r\n lastName: string\r\n email: string\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeNameTransform',\r\n})\r\nexport class PipeNameTransformPipe implements PipeTransform {\r\n\r\n transform(value: IUserName): string {\r\n let result = ''\r\n if (value.firstName) {\r\n result += value.firstName\r\n }\r\n if (value.lastName && value.lastName !== value.firstName) {\r\n result += ` ${value.lastName}`\r\n }\r\n if (result.trim() !== '') {\r\n return result\r\n }\r\n if (value.email) {\r\n return value.email\r\n }\r\n return 'Anonymous User'\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeNameTransformPipe } from './pipe-name-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeNameTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeNameTransformPipe],\r\n})\r\nexport class PipeNameTransformModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipePartialContent',\r\n})\r\nexport class PipePartialContentPipe implements PipeTransform {\r\n\r\n transform(value: any, keys: string[]): any {\r\n const result: { [key: string]: any } = {}\r\n for (const key of keys) {\r\n if (value[key]) {\r\n result[key] = value[key]\r\n }\r\n }\r\n return result\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipePartialContentPipe } from './pipe-partial-content.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipePartialContentPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipePartialContentPipe],\r\n})\r\nexport class PipePartialContentModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser'\r\n\r\n@Pipe({\r\n name: 'pipeSafeSanitizer',\r\n})\r\nexport class PipeSafeSanitizerPipe implements PipeTransform {\r\n\r\n constructor(protected sanitizer: DomSanitizer) { }\r\n public transform(\r\n value: string,\r\n type: string = 'html',\r\n ): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n case 'html':\r\n return this.sanitizer.bypassSecurityTrustHtml(value)\r\n case 'style':\r\n return this.sanitizer.bypassSecurityTrustStyle(value)\r\n case 'script':\r\n return this.sanitizer.bypassSecurityTrustScript(value)\r\n case 'url':\r\n return this.sanitizer.bypassSecurityTrustUrl(value)\r\n case 'resourceUrl':\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(value)\r\n default:\r\n throw new Error(`Invalid safe type specified: ${type}`)\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeSafeSanitizerPipe } from './pipe-safe-sanitizer.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeSafeSanitizerPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeSafeSanitizerPipe],\r\n})\r\nexport class PipeSafeSanitizerModule { }\r\n","import { Injectable } from '@angular/core'\r\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'\r\nimport { Observable, of } from 'rxjs'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, catchError } from 'rxjs/operators'\r\nimport { UtilityService } from '../services/utility.service'\r\nimport { ConfigurationsService } from '../services/configurations.service'\r\nimport { IResolveResponse } from './resolver.model'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExploreDetailResolve\r\n implements\r\n Resolve<\r\n | Observable<IResolveResponse<any>>\r\n | IResolveResponse<any>\r\n > {\r\n private baseUrl = this.configSvc.sitePath\r\n isIntranetAllowedSettings = false\r\n constructor(\r\n private http: HttpClient,\r\n private configSvc: ConfigurationsService,\r\n private utilitySvc: UtilityService,\r\n ) { }\r\n\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n _state: RouterStateSnapshot,\r\n ): Observable<IResolveResponse<any>> {\r\n this.isIntranetAllowedSettings = this.configSvc.isIntranetAllowed\r\n const tag = decodeURIComponent(route.params.tags)\r\n let url = ''\r\n if (route.data.pageUrl) {\r\n url = route.data.pageUrl\r\n }\r\n if (route.data.pageType === 'page' && route.data.pageKey) {\r\n url = `${this.baseUrl}/page/${route.data.pageKey}.json`\r\n }\r\n return this.http.get(url).pipe(\r\n map(pageData => ({ data: this.transformPageData(pageData, tag), error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }\r\n\r\n private transformPageData(pageData: any, tag: string) {\r\n const DELIMITER = '>'\r\n const path = tag.split(DELIMITER)\r\n pageData.pageLayout.widgetData.widgets = pageData.pageLayout.widgetData.widgets.map((widget: any) => {\r\n if (pageData.navigationBar && pageData.navigationBar.links) {\r\n pageData.navigationBar.links = pageData.navigationBar.links\r\n .filter((link: any) => link.widgetData.tags === tag)\r\n }\r\n\r\n if (widget.widgetSubType === 'cardBreadcrumb') {\r\n widget.widgetData.path = [{\r\n text: pageData.navigationBar.pageTitle,\r\n clickUrl: pageData.navigationBar.pageBackLink,\r\n }].concat(path.map((edge: string, idx: number) => ({\r\n text: edge,\r\n clickUrl: `/page/explore/${path.slice(0, idx + 1).join(DELIMITER)}`,\r\n })))\r\n }\r\n\r\n if (widget.widgetSubType === 'contentStripMultiple') {\r\n widget.widgetData.strips = widget.widgetData.strips.map((strip: any) => {\r\n strip.request.searchV6.filters[0].andFilters.push({ catalogPaths: [tag] })\r\n if (this.utilitySvc.isMobile && !this.isIntranetAllowedSettings) {\r\n strip.request.searchV6.filters[0].andFilters.push({ isInIntranet: ['false'] })\r\n }\r\n return strip\r\n })\r\n if (widget.widgetData.noDataWidget && widget.widgetData.noDataWidget.widgetData.strips) {\r\n widget.widgetData.noDataWidget.widgetData.strips = widget.widgetData.noDataWidget.widgetData.strips.map((strip: any) => {\r\n strip.request.searchV6.filters[0].andFilters.push({ catalogPaths: [tag] })\r\n if (this.utilitySvc.isMobile && !this.isIntranetAllowedSettings) {\r\n strip.request.searchV6.filters[0].andFilters.push({ isInIntranet: ['false'] })\r\n }\r\n return strip\r\n })\r\n }\r\n\r\n }\r\n return widget\r\n })\r\n\r\n return pageData\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'\r\nimport { Observable, of } from 'rxjs'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, catchError } from 'rxjs/operators'\r\nimport { IResolveResponse } from './resolver.model'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MarketingOfferingResolve\r\n implements\r\n Resolve<\r\n | Observable<IResolveResponse<any>>\r\n | IResolveResponse<any>\r\n > {\r\n constructor(\r\n private http: HttpClient,\r\n ) { }\r\n\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n _state: RouterStateSnapshot,\r\n ): Observable<IResolveResponse<any>> {\r\n const tag = route.params.tag\r\n return this.http.get(route.data.pageUrl).pipe(\r\n map(pageData => ({ data: this.transformPageData(pageData, tag), error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }\r\n\r\n private transformPageData(pageData: any, tag: string) {\r\n pageData.pageLayout.widgetData.widgets = pageData.pageLayout.widgetData.widgets.map((widget: any) => {\r\n if (widget.widgetSubType === 'contentStripMultiple') {\r\n widget.widgetData.strips = widget.widgetData.strips.map((strip: any) => {\r\n strip.request.search.filters.catalogPaths = [decodeURIComponent(tag)]\r\n return strip\r\n })\r\n }\r\n\r\n return widget\r\n })\r\n\r\n return pageData\r\n }\r\n}\r\n","export const JSON_MAP: any = {\r\n pagename: 'lexid',\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Inject, Injectable, LOCALE_ID } from '@angular/core'\r\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router'\r\nimport { forkJoin, Observable, of } from 'rxjs'\r\nimport { catchError, map, mergeMap } from 'rxjs/operators'\r\nimport { ConfigurationsService } from '../services/configurations.service'\r\nimport { JSON_MAP } from './page.constant'\r\nimport { NsPage } from './page.model'\r\nimport { IResolveResponse } from './resolver.model'\r\nimport { NsContent } from '../services/widget-content.model'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PageResolve implements Resolve<IResolveResponse<NsPage.IPage>> {\r\n private baseUrl = this.configSvc.sitePath\r\n constructor(\r\n private configSvc: ConfigurationsService,\r\n private http: HttpClient,\r\n @Inject(LOCALE_ID) private locale: string,\r\n ) { }\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n ): Observable<IResolveResponse<NsPage.IPage>> | IResolveResponse<NsPage.IPage> {\r\n if (route.data.pageUrl) {\r\n return this.getData(route.data.pageUrl)\r\n }\r\n if (route.data.pageType === 'feature' && route.data.pageKey) {\r\n return this.getData(`${this.baseUrl}/feature/${route.data.pageKey}`)\r\n }\r\n if (\r\n route.data.pageType === 'page' &&\r\n route.data.pageKey &&\r\n route.paramMap.has(route.data.pageKey)\r\n ) {\r\n return this.getData(`${this.baseUrl}/page/${route.paramMap.get(route.data.pageKey)}`)\r\n }\r\n if (\r\n route.data.pageType === 'page' &&\r\n route.data.pageKey &&\r\n route.data.pageKey === 'toc'\r\n ) {\r\n return this.getData(`${this.baseUrl}/page/${route.data.pageKey}`)\r\n }\r\n return {\r\n data: null,\r\n error: 'CONFIGURATION_ERROR_PAGE_URL_NOT_FORMED',\r\n }\r\n }\r\n\r\n private setS3Cookie(contentId: string): Observable<any> {\r\n return this.http.post(`/apis/protected/v8/content/setCookie`, { contentId }).pipe(\r\n catchError(_err => of(true)),\r\n )\r\n }\r\n\r\n private getContent(id: string) {\r\n return this.http\r\n .post<NsContent.IContent>(\r\n `/apis/protected/v8/content/${id}?hierarchyType=minimal`,\r\n ['status', 'artifactUrl'],\r\n )\r\n }\r\n\r\n private getData(url: string) {\r\n const id = (url.split('/').pop() as string).split('.')[0] || ''\r\n const equivalentId = id.startsWith('lex_auth_') ? id : JSON_MAP[id]\r\n if (equivalentId) {\r\n return forkJoin([this.setS3Cookie(equivalentId), this.getContent(equivalentId)]).pipe(\r\n mergeMap(([_, v]) => {\r\n if (v.status === 'Expired' || v.status === 'Deleted' || !v.artifactUrl) {\r\n return of({ data: null, error: 'NoContent' })\r\n }\r\n return this.http\r\n .get<NsPage.IPage>(`${v.artifactUrl}?ts=${new Date().getTime()}`)\r\n .pipe(\r\n map(data => ({ data, error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }\r\n const pageRequest = [\r\n (equivalentId ? this.setS3Cookie(equivalentId) : of(true)).pipe(\r\n mergeMap(() =>\r\n this.http.get<NsPage.IPage>(`${url}.json`).pipe(\r\n map(data => ({ data, error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n ),\r\n ),\r\n ),\r\n this.locale === 'en' || this.locale === 'en-US' ?\r\n of({ data: undefined as any, error: null }) :\r\n this.http.get<NsPage.IPage>(`${url}.${this.locale}.json`).pipe(\r\n map(data => ({ data, error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n ),\r\n ]\r\n return forkJoin(pageRequest).pipe(\r\n map(\r\n ([general, withLocale]): IResolveResponse<NsPage.IPage> => {\r\n if (withLocale.data) {\r\n return withLocale\r\n }\r\n return general\r\n },\r\n ),\r\n )\r\n }\r\n\r\n}\r\n","// tslint:disable:no-console\r\nimport { Injectable } from '@angular/core'\r\nimport { ConfigurationsService } from './configurations.service'\r\n\r\ntype consoleFun = (...args: any) => void\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoggerService {\r\n constructor(private configSvc: ConfigurationsService) { }\r\n\r\n private consoleError = console.error\r\n private consoleInfo = console.info\r\n private consoleLog = console.log\r\n private consoleWarn = console.warn\r\n private noConsole: consoleFun = () => { }\r\n\r\n get error() {\r\n return this.consoleError\r\n }\r\n get info() {\r\n return this.configSvc.isProduction ? this.noConsole : this.consoleInfo\r\n }\r\n get log() {\r\n return this.configSvc.isProduction ? this.noConsole : this.consoleLog\r\n }\r\n get warn() {\r\n return this.configSvc.isProduction ? this.noConsole : this.consoleWarn\r\n }\r\n\r\n removeConsoleAccess() {\r\n if (this.configSvc.isProduction) {\r\n return\r\n }\r\n const noConsoleWithError: consoleFun = () => {\r\n throw new Error('Console Functions Usage Are Not Allowed.')\r\n }\r\n // console.log = noConsoleWithError\r\n console.warn = noConsoleWithError\r\n console.info = noConsoleWithError\r\n console.error = noConsoleWithError\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { LoggerService } from './logger.service'\r\nimport { NsInstanceConfig } from './configurations.model'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { IWsMsTokenModelResponse } from './ms-office.model'\r\n// TODO: Use a url-search-polyfill if the site didnot work in IE 11\r\n\r\nconst msTokenExpiryDuration = 600\r\nconst storageKey = 'msLoginRequested'\r\nconst storage = localStorage\r\n\r\nconst API_ENDPOINTS = {\r\n sharePointToken: '/apis/protected/v8/user/token',\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthMicrosoftService {\r\n private msConfig: NsInstanceConfig.IMicrosoft = {\r\n clientId: '',\r\n tenant: '',\r\n defaultEmailId: '',\r\n validEmailExtensions: [],\r\n isConfigured: false,\r\n }\r\n private emailUsed: string | null = null\r\n private code: string | null = null\r\n private msToken: IWsMsTokenModelResponse = {\r\n accessToken: '',\r\n expiresOn: '',\r\n resource: '',\r\n tokenType: '',\r\n }\r\n\r\n constructor(private loggerSvc: LoggerService, private http: HttpClient) { }\r\n\r\n get isLogoutRequired(): boolean {\r\n return Boolean(this.msConfig.isConfigured && this.msConfig.clientId && this.emailUsed)\r\n }\r\n get loginUrl(): string | null {\r\n if (this.msConfig.isConfigured && this.msConfig.clientId) {\r\n const base = 'https://login.windows.net/common/oauth2/authorize'\r\n const searchParam = new URLSearchParams({\r\n response_type: 'code',\r\n client_id: this.msConfig.clientId,\r\n redirect_uri: window.location.href,\r\n })\r\n const fragment = location.search.substring(1)\r\n if (fragment) {\r\n return `${base}?${searchParam.toString()}#${fragment}`\r\n }\r\n return `${base}?${searchParam.toString()}`\r\n }\r\n return null\r\n }\r\n logoutUrl(redirectUrl: string) {\r\n if (this.isValidEmail(this.emailUsed || '')) {\r\n return `https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri=${redirectUrl}`\r\n }\r\n return redirectUrl\r\n }\r\n\r\n // Behavior Methods\r\n\r\n async init(config: Pick<NsInstanceConfig.IConfig, 'microsoft'>) {\r\n if (!config || !config.microsoft || !config.microsoft.isConfigured) {\r\n this.loggerSvc.warn('Empty/No Configuration passed, ignoring Microsoft Authentication')\r\n }\r\n this.msConfig = config.microsoft\r\n const queryParams = new URLSearchParams(location.search)\r\n if (queryParams.has('code') && queryParams.has('session_state')) {\r\n this.code = queryParams.get('code')\r\n if (!this.code) {\r\n return\r\n }\r\n let url = location.origin + location.pathname\r\n await this.exchangeTokenForCode(this.code, url)\r\n if (location.hash) {\r\n url += location.hash.substring(1)\r\n }\r\n history.replaceState(null, '', url)\r\n }\r\n }\r\n\r\n async login(email: string) {\r\n if (!this.isValidEmail(email)) {\r\n this.loggerSvc.warn(`Microsoft Login is not allowed for your emailId (${email})`)\r\n return\r\n }\r\n const loginUrl = this.loginUrl\r\n if (loginUrl) {\r\n location.assign(loginUrl)\r\n } else {\r\n this.loggerSvc.warn('Unable to identify Office Login URL, Ignoring login request')\r\n }\r\n }\r\n\r\n async getToken(email: string): Promise<string> {\r\n if (\r\n this.msToken &&\r\n this.isValid(this.msToken.accessToken, this.msToken.expiresOn) &&\r\n this.msToken.accessToken\r\n ) {\r\n return this.msToken.accessToken\r\n }\r\n if (this.isValidEmail(email)) {\r\n try {\r\n this.msToken = await this.getTokenForEmail(email)\r\n if (this.msToken.accessToken) {\r\n this.emailUsed = email\r\n return this.msToken.accessToken\r\n }\r\n } catch (error) {\r\n if (!this.code) {\r\n this.login(email)\r\n }\r\n }\r\n }\r\n if (this.msConfig.defaultEmailId && this.isValidEmail(this.msConfig.defaultEmailId)) {\r\n try {\r\n this.msToken = await this.getTokenForEmail(this.msConfig.defaultEmailId)\r\n if (this.msToken.accessToken) {\r\n this.emailUsed = this.msConfig.defaultEmailId\r\n return this.msToken.accessToken\r\n }\r\n } catch (error) { }\r\n }\r\n throw new Error('UNABLE TO FETCH MS AUTH TOKEN')\r\n }\r\n\r\n loginForSSOEnabledEmbed(email: string) {\r\n if (!this.isValidEmail(email)) {\r\n this.loggerSvc.warn('SSO Login request Ignored. Invalid Email Id for SSO Enabled Content')\r\n }\r\n let msPrevTS = 0\r\n try {\r\n msPrevTS = parseInt(storage.getItem(storageKey) || '0', 10)\r\n } catch (error) { }\r\n if (!msPrevTS || (msPrevTS && (Date.now() - msPrevTS) / 1000 > msTokenExpiryDuration)) {\r\n this.loggerSvc.info(\r\n `last login exceeded ${msTokenExpiryDuration} duration. Redirecting to O365 login`,\r\n )\r\n storage.setItem(storageKey, Date.now().toString())\r\n this.login(email)\r\n }\r\n }\r\n\r\n isValidEmail(email: string) {\r\n return this.msConfig.validEmailExtensions.some(ext => email.endsWith(ext))\r\n }\r\n\r\n isValid(accessToken: string | undefined, expiresOn: string | undefined): boolean {\r\n if (accessToken && expiresOn) {\r\n // TODO: Implement expiredOn and Date comparison based validity\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n async exchangeTokenForCode(code: string, redirectUrl: string): Promise<any> {\r\n const response = await this.http\r\n .get<IWsMsTokenModelResponse>(`${API_ENDPOINTS}?code=${code}&redirectUrl=${redirectUrl}`)\r\n .toPromise()\r\n return this.getInstanceFromResponse(response)\r\n }\r\n\r\n async getTokenForEmail(email: string): Promise<any> {\r\n const response = await this.http\r\n .get<IWsMsTokenModelResponse>(`${API_ENDPOINTS.sharePointToken}?email=${email}`)\r\n .toPromise()\r\n return this.getInstanceFromResponse(response)\r\n }\r\n\r\n getInstanceFromResponse(token: IWsMsTokenModelResponse) {\r\n return {\r\n accessToken: token.accessToken,\r\n expiresOn: token.expiresOn,\r\n resource: token.resource,\r\n tokenType: token.tokenType,\r\n }\r\n }\r\n}\r\n","export namespace WsEvents {\r\n export interface IWsEventsFromWidget {\r\n type: 'widget'\r\n widgetType: string\r\n widgetSubType: string\r\n }\r\n export interface IWsEventsFromPage {\r\n type: 'page'\r\n pageUrl: string\r\n pageType: string\r\n }\r\n export enum WsEventType {\r\n Action = 'Action',\r\n Telemetry = 'Telemetry',\r\n PageNavigation = 'PageNavigation',\r\n AccessRestrictedContentAccessed = 'AccessRestrictedContentAccessed',\r\n PageSlow = 'PageSlow',\r\n ErrorOccurred = 'ErrorOccurred',\r\n WidgetResolveError = 'WidgetResolveError',\r\n }\r\n export enum WsEventLogLevel {\r\n Warn = 'Warn',\r\n Error = 'Error',\r\n Info = 'Info',\r\n Log = 'Log',\r\n Trace = 'Trace',\r\n }\r\n export enum WsAuditTypes {\r\n Created = 'Created',\r\n Updated = 'Updated',\r\n Deleted = 'Deleted',\r\n }\r\n export enum WsTimeSpentType {\r\n Page = 'Page',\r\n Player = 'Player',\r\n }\r\n export enum WsTimeSpentMode {\r\n Play = 'Play',\r\n View = 'View',\r\n }\r\n export enum externalTelemetrypdata {\r\n RBCP = 'rbcp-web-ui',\r\n }\r\n\r\n export interface IWsEvents<T> {\r\n eventType: WsEventType\r\n eventLogLevel: WsEventLogLevel\r\n from: IWsEventsFromWidget | IWsEventsFromPage | string\r\n to: string\r\n data: T\r\n passThroughData?: any,\r\n pageContext?: any\r\n }\r\n\r\n export enum EnumTelemetrySubType {\r\n Init = 'Init',\r\n Interact = 'Interact',\r\n Loaded = 'Loaded',\r\n Unloaded = 'Unloaded',\r\n StateChange = 'StateChange',\r\n HeartBeat = 'HeartBeat',\r\n Search = 'Search',\r\n Feedback = 'Feedback',\r\n Impression = 'Impression',\r\n }\r\n\r\n export interface ITelemetryPageContext {\r\n pageId?: string,\r\n module?: string,\r\n pageIdExt?: string\r\n }\r\n\r\n export interface ITelemetryEdata {\r\n type: string\r\n subType?: string\r\n id?: string\r\n pageid?: string\r\n }\r\n\r\n export interface ITelemetryTabData {\r\n label: string,\r\n index: number,\r\n }\r\n\r\n export interface IWsEventTelemetry {\r\n eventSubType: EnumTelemetrySubType\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n // PDF Telemetry Event\r\n export enum EnumTelemetryPdfActivity {\r\n PAGE_CHANGED = 'PAGE_CHANGED',\r\n FULLSCREEN_ACTIVATED = 'FULLSCREEN_ACTIVATED',\r\n FULLSCREEN_DEACTIVATED = 'FULLSCREEN_DEACTIVATED',\r\n ZOOM_CHANGE = 'ZOOM_CHANGE',\r\n NONE = 'NONE',\r\n }\r\n export interface IWsEventTelemetryPdfData extends IWsEventTelemetry {\r\n activityType: EnumTelemetryPdfActivity\r\n currentPage: number\r\n totalPage: number\r\n activityStartedAt: Date | null\r\n object?: any\r\n }\r\n export type WsEventTelemetryPDF = IWsEvents<IWsEventTelemetryPdfData>\r\n\r\n // Interact Telemetry Event\r\n export interface IWsEventTelemetryInteract extends IWsEventTelemetry {\r\n edata: ITelemetryEdata\r\n object: any\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n export interface IWsEventTelemetryFeedback extends IWsEventTelemetry {\r\n edata: ITelemetryEdata\r\n object: any\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n export interface IWsEventTelemetryImpression extends IWsEventTelemetry {\r\n edata?: ITelemetryEdata\r\n object?: any\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n export interface IWsEventTelemetrySearch extends IWsEventTelemetry {\r\n type: string\r\n subType?: string\r\n query?: string\r\n filters?: string\r\n size?: number\r\n locale?: any\r\n }\r\n export interface IWsEventTelemetryHeartBeat extends IWsEventTelemetry {\r\n type: string\r\n // subType?: string\r\n // mode: string\r\n id: string\r\n // mimeType: string\r\n }\r\n export type WsEventTelemetryInteract = IWsEvents<IWsEventTelemetryInteract>\r\n export type WsEventTelemetryFeedback = IWsEvents<IWsEventTelemetryFeedback>\r\n export type WsEventTelemetryImpression = IWsEvents<IWsEventTelemetryImpression>\r\n export type WsEventTelemetrySearch = IWsEvents<IWsEventTelemetrySearch>\r\n export type WsEventTelemetryHeartBeat = IWsEvents<IWsEventTelemetryHeartBeat>\r\n\r\n // Multimedia Telemetry Data\r\n export enum EnumTelemetryMediaActivity {\r\n PLAYED = 'PLAYED',\r\n PAUSED = 'PAUSED',\r\n SEEKED = 'SEEKED',\r\n ENDED = 'ENDED',\r\n VOLUME_CHANGE = 'VOLUME_CHANGE',\r\n MUTE = 'MUTE',\r\n UNMUTE = 'UNMUTE',\r\n PLAYBACK_SPEED_CHANGE = 'PLAYBACK_SPEED_CHANGE',\r\n FULLSCREEN_ACTIVATED = 'FULLSCREEN_ACTIVATED',\r\n FULLSCREEN_DEACTIVATED = 'FULLSCREEN_DEACTIVATED',\r\n PICTURE_IN_PICTURE_ACTIVATED = 'PICTURE_IN_PICTURE_ACTIVATED',\r\n PICTURE_IN_PICTURE_DEACTIVATED = 'PICTURE_IN_PICTURE_DEACTIVATED',\r\n NONE = 'NONE',\r\n }\r\n export enum EnumTelemetryMediaState {\r\n PLAYING = 'PLAYING',\r\n PAUSED = 'PAUSED',\r\n ENDED = 'ENDED',\r\n BUFFERING = 'BUFFERING',\r\n NOT_STARTED = 'NOT_STARTED',\r\n }\r\n export interface IWsEventTelemetryMediaData extends IWsEventTelemetry {\r\n currentState: EnumTelemetryMediaState\r\n activityType: EnumTelemetryMediaActivity\r\n currentTime: number | null\r\n totalTime: number | null\r\n maxedSeekedTime: number\r\n activityStartedAt?: Date | null\r\n }\r\n export type WsEventTelemetryMedia = IWsEvents<IWsEventTelemetryMediaData>\r\n\r\n export enum EnumTelemetrymodules {\r\n CONTENT = 'content',\r\n FEEDBACK = 'feedback',\r\n COURSE = 'course',\r\n PROGRAM = 'program',\r\n EXPLORE = 'explore',\r\n LEARN = 'learn',\r\n HOME = 'home',\r\n DASHBOARD = 'dashboard',\r\n SEARCH = 'search',\r\n DISCUSS = 'discuss',\r\n COMPETENCY = 'competency',\r\n EVENTS = 'events',\r\n CAREER = 'career',\r\n PROFILE = 'profile',\r\n NETWORK = 'network',\r\n SUPPORT = 'support',\r\n }\r\n export enum EnumInteractTypes {\r\n CLICK = 'click',\r\n }\r\n export enum EnumInteractSubTypes {\r\n COURSE_TAB = 'course-tab',\r\n CAREER_TAB = 'career-tab',\r\n NETWORK_TAB = 'network-tab',\r\n COMPETENCY_TAB = 'competency-tab',\r\n PROFILE_EDIT_TAB = 'profile-edit-tab',\r\n DISCUSS_TAB = 'discuss-tab',\r\n EVENTS_TAB = 'events-tab',\r\n SIDE_MENU = 'side-menu',\r\n HOME_PAGE_STRIP_TABS = 'home-page-strip-tabs',\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Subject } from 'rxjs'\r\nimport { WsEvents } from './event.model'\r\nimport { UtilityService } from './utility.service'\r\n/* tslint:disable*/\r\nimport * as _ from 'lodash'\r\nimport * as _moment from 'moment'\r\nconst moment = _moment\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EventService {\r\n todaysEvents: any = []\r\n \r\n private eventsSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public events$ = this.eventsSubject.asObservable()\r\n\r\n private eventsChatbotSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public chatbotEvents$ = this.eventsChatbotSubject.asObservable()\r\n\r\n private eventsGetStartSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public getStartEvents$ = this.eventsGetStartSubject.asObservable()\r\n\r\n private eventsPRSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public getPREvents$ = this.eventsPRSubject.asObservable()\r\n environment: any\r\n\r\n\r\n constructor(\r\n private utilitySvc: UtilityService,\r\n @Inject('environment') environment: any,\r\n ) {\r\n this.environment = environment\r\n // this.focusChangeEventListener()\r\n }\r\n\r\n dispatchEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n event.pageContext = this.getContext(event.pageContext)\r\n this.eventsSubject.next(event)\r\n }\r\n\r\n dispatchChatbotEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n this.eventsChatbotSubject.next(event)\r\n }\r\n\r\n dispatchGetStartedEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n this.eventsGetStartSubject.next(event)\r\n }\r\n\r\n dispatchPlatformRatingEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n this.eventsPRSubject.next(event)\r\n }\r\n\r\n\r\n\r\n // helper functions\r\n raiseInteractTelemetry(edata: WsEvents.ITelemetryEdata, object: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n this.dispatchEvent<WsEvents.IWsEventTelemetryInteract>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Info,\r\n data: {\r\n edata,\r\n object,\r\n pageContext: this.getContext(pageContext),\r\n eventSubType: WsEvents.EnumTelemetrySubType.Interact,\r\n },\r\n from: '',\r\n to: 'Telemetry',\r\n })\r\n }\r\n\r\n raiseFeedbackTelemetry(edata: WsEvents.ITelemetryEdata, object: any, from?: string) {\r\n this.dispatchEvent<WsEvents.IWsEventTelemetryInteract>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Info,\r\n data: {\r\n edata,\r\n object,\r\n eventSubType: WsEvents.EnumTelemetrySubType.Feedback,\r\n },\r\n from: from || '',\r\n to: 'Telemetry',\r\n })\r\n }\r\n\r\n // Raise custom impression events eg:on tab change\r\n raiseCustomImpression(object: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n this.dispatchEvent<WsEvents.IWsEventTelemetryImpression>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Info,\r\n data: {\r\n object,\r\n pageContext: this.getContext(pageContext),\r\n eventSubType: WsEvents.EnumTelemetrySubType.Impression,\r\n },\r\n from: '',\r\n to: 'Telemetry',\r\n })\r\n }\r\n\r\n // private focusChangeEventListener() {\r\n // fromEvent(window, 'focus').subscribe(() => {\r\n // this.raiseInteractTelemetry('focus', 'gained', {})\r\n // })\r\n // fromEvent(window, 'blur').subscribe(() => {\r\n // this.raiseInteractTelemetry('focus', 'lost', {})\r\n // })\r\n // }\r\n\r\n // Method to get the context information about the telemetry interact event\r\n private getContext(pageContext: WsEvents.ITelemetryPageContext | undefined): WsEvents.ITelemetryPageContext {\r\n const routeDataContext = this.utilitySvc.routeData\r\n // initialize with the route data configuration - current route's pageID & module\r\n const finalContext: WsEvents.ITelemetryPageContext = {\r\n pageId: routeDataContext.pageId,\r\n module: routeDataContext.module,\r\n }\r\n if (pageContext) {\r\n // if context has pageIdExt, append it to the route's pageId\r\n if (pageContext.pageIdExt) {\r\n finalContext.pageId = `${routeDataContext.pageId}_${pageContext.pageIdExt}`\r\n } else if (pageContext.pageId) {\r\n // else context has pageId, override it to the final pageID\r\n finalContext.pageId = pageContext.pageId\r\n }\r\n // if context has module, override it to the final module\r\n if (pageContext.module) {\r\n finalContext.module = pageContext.module\r\n }\r\n }\r\n\r\n return finalContext\r\n }\r\n\r\n public handleTabTelemetry(subType: string, data: WsEvents.ITelemetryTabData, object?:any) {\r\n // raise a tab click interact event\r\n this.raiseInteractTelemetry(\r\n {\r\n subType,\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n id: `${_.camelCase(data.label)}-tab`,\r\n },\r\n {\r\n // context: {\r\n // position: data.index,\r\n // },\r\n ...object\r\n },\r\n {\r\n pageIdExt: `${_.camelCase(data.label)}-tab`,\r\n })\r\n\r\n // raise a tab click impression event\r\n this.raiseCustomImpression({\r\n context: {\r\n position: data.index,\r\n },\r\n ...object\r\n },{\r\n pageIdExt: `${_.camelCase(data.label)}-tab`,\r\n })\r\n }\r\n\r\n getPublicUrl(url: string): string {\r\n const mainUrl = url.split('/content').pop() || ''\r\n return `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`\r\n }\r\n\r\n allEventDateFormat(datetime: any) {\r\n const date = new Date(datetime).getDate()\r\n const year = new Date(datetime).getFullYear()\r\n const month = new Date(datetime).getMonth()\r\n const hours = new Date(datetime).getHours()\r\n const minutes = new Date(datetime).getMinutes()\r\n const seconds = new Date(datetime).getSeconds()\r\n const formatedDate = new Date(year, month, date, hours, minutes, seconds, 0)\r\n // let format = 'YYYY-MM-DD hh:mm a'\r\n // if (!timeAllow) {\r\n const format = 'YYYY-MM-DD'\r\n // }\r\n const readableDateMonth = moment(formatedDate).format(format)\r\n const finalDateTimeValue = `${readableDateMonth}`\r\n return finalDateTimeValue\r\n }\r\n\r\n compareDate(startDate: any) {\r\n const now = new Date()\r\n\r\n // tslint:disable-next-line:prefer-template\r\n const day = ('0' + (new Date().getDate())).slice(-2)\r\n const year = new Date().getFullYear()\r\n // tslint:disable-next-line:prefer-template\r\n const month = ('0' + (now.getMonth() + 1)).slice(-2)\r\n const todaysdate = `${year}-${month}-${day}`\r\n if (startDate === todaysdate) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n customDateFormat(date: any, time: any) {\r\n const stime = time.split('+')[0]\r\n const hour = stime.substr(0, 2)\r\n const min = stime.substr(2, 3)\r\n return `${date} ${hour}${min}`\r\n }\r\n\r\n\r\n setEventListData(eventObj: any) {\r\n if (eventObj !== undefined) {\r\n this.todaysEvents = []\r\n const data = eventObj\r\n // console.log('strip comp', data)\r\n Object.keys(data).forEach((index: any) => {\r\n const obj = data[index]\r\n const floor = Math.floor\r\n const hours = floor(obj.duration / 60)\r\n const minutes = obj.duration % 60\r\n const duration = (hours === 0) ? ((minutes === 0) ? '---' : `${minutes} minutes`) : (minutes === 0) ? (hours === 1) ?\r\n `${hours} hour` : `${hours} hours` : (hours === 1) ? `${hours} hour ${minutes} minutes` :\r\n `${hours} hours ${minutes} minutes`\r\n const creatordata = obj.creatorDetails !== undefined ? obj.creatorDetails : []\r\n const str = creatordata && creatordata.length > 0 ? creatordata.replace(/\\\\/g, '') : []\r\n const creatorDetails = str && str.length > 0 ? JSON.parse(str) : creatordata\r\n\r\n const stime = obj.startTime.split('+')[0]\r\n const hour = stime.substr(0, 2)\r\n const min = stime.substr(2, 3)\r\n const starttime = `${hour}${min}`\r\n\r\n const etime = obj.endTime.split('+')[0]\r\n const ehour = etime.substr(0, 2)\r\n const emin = etime.substr(2, 3)\r\n const endtime = `${ehour}${emin}`\r\n\r\n const eventDataObj = {\r\n event: obj,\r\n eventName: obj.name,\r\n eventStartTime: starttime,\r\n eventEndTime: endtime,\r\n eventStartDate: obj.startDate,\r\n eventCreatedOn: this.allEventDateFormat(obj.createdOn),\r\n eventDuration: duration,\r\n eventjoined: creatorDetails.length,\r\n eventThumbnail: obj.appIcon && (obj.appIcon !== null || obj.appIcon !== undefined) ?\r\n this.getPublicUrl(obj.appIcon) :\r\n '/assets/icons/Events_default.png',\r\n pastevent: false,\r\n }\r\n const isToday = this.compareDate(obj.startDate)\r\n if (isToday) {\r\n this.todaysEvents.push(eventDataObj)\r\n }\r\n })\r\n }\r\n}\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Injectable } from '@angular/core'\r\nimport { Observable, of } from 'rxjs'\r\nimport { catchError, retry } from 'rxjs/operators'\r\nimport { IContentRating } from '../models/contentRating.model'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { NsContentStripMultiple } from './content-strip-multiple.model'\r\nimport { NsContent } from './widget-content.model'\r\nimport { NSSearch } from './widget-search.model'\r\n\r\n// TODO: move this in some common place\r\nconst PROTECTED_SLAG_V8 = '/apis/protected/v8'\r\n\r\nconst API_END_POINTS = {\r\n CONTENT: `${PROTECTED_SLAG_V8}/content`,\r\n AUTHORING_CONTENT: `/apis/authApi/hierarchy`,\r\n CONTENT_LIKES: `${PROTECTED_SLAG_V8}/content/likeCount`,\r\n SET_S3_COOKIE: `${PROTECTED_SLAG_V8}/content/setCookie`,\r\n SET_S3_IMAGE_COOKIE: `${PROTECTED_SLAG_V8}/content/setImageCookie`,\r\n FETCH_MANIFEST: `${PROTECTED_SLAG_V8}/content/getWebModuleManifest`,\r\n FETCH_WEB_MODULE_FILES: `${PROTECTED_SLAG_V8}/content/getWebModuleFiles`,\r\n MULTIPLE_CONTENT: `${PROTECTED_SLAG_V8}/content/multiple`,\r\n CONTENT_SEARCH_V5: `${PROTECTED_SLAG_V8}/content/searchV5`,\r\n CONTENT_SEARCH_V6: `${PROTECTED_SLAG_V8}/content/searchV6`,\r\n CONTENT_SEARCH_REGION_RECOMMENDATION: `${PROTECTED_SLAG_V8}/content/searchRegionRecommendation`,\r\n CONTENT_HISTORY: `${PROTECTED_SLAG_V8}/user/history`,\r\n USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,\r\n CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,\r\n CONTENT_RATING_V2: `${PROTECTED_SLAG_V8}/user/rating/content/average-ratingInfo`,\r\n COLLECTION_HIERARCHY: (type: string, id: string) =>\r\n `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`,\r\n REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,\r\n MARK_AS_COMPLETE_META: (contentId: string) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WidgetContentService {\r\n constructor(\r\n private http: HttpClient,\r\n private configSvc: ConfigurationsService\r\n ) { }\r\n\r\n fetchMarkAsCompleteMeta(identifier: string): Promise<any> {\r\n const url = API_END_POINTS.MARK_AS_COMPLETE_META(identifier)\r\n return this.http.get(url).toPromise()\r\n }\r\n\r\n fetchContent(\r\n contentId: string,\r\n hierarchyType: 'all' | 'minimal' | 'detail' = 'detail',\r\n additionalFields: string[] = [],\r\n ): Observable<NsContent.IContent> {\r\n const url = `${API_END_POINTS.CONTENT}/${contentId}?hierarchyType=${hierarchyType}`\r\n return this.http\r\n .post<NsContent.IContent>(url, { additionalFields })\r\n .pipe(retry(1))\r\n }\r\n fetchAuthoringContent(contentId: string): Observable<NsContent.IContent> {\r\n const url = `${API_END_POINTS.AUTHORING_CONTENT}/${contentId}`\r\n return this.http.get<NsContent.IContent>(url).pipe(retry(1))\r\n }\r\n fetchMultipleContent(ids: string[]): Observable<NsContent.IContent[]> {\r\n return this.http.get<NsContent.IContent[]>(\r\n `${API_END_POINTS.MULTIPLE_CONTENT}/${ids.join(',')}`,\r\n )\r\n }\r\n fetchCollectionHierarchy(type: string, id: string, pageNumber: number = 0, pageSize: number = 1) {\r\n return this.http.get<NsContent.ICollectionHierarchyResponse>(\r\n `${API_END_POINTS.COLLECTION_HIERARCHY(\r\n type,\r\n id,\r\n )}?pageNumber=${pageNumber}&pageSize=${pageSize}`,\r\n )\r\n }\r\n\r\n fetchContentLikes(contentIds: { content_id: string[] }) {\r\n return this.http\r\n .post<{ [identifier: string]: number }>(API_END_POINTS.CONTENT_LIKES, contentIds)\r\n .toPromise()\r\n }\r\n fetchContentRatings(contentIds: { contentIds: string[] }) {\r\n return this.http\r\n .post(`${API_END_POINTS.CONTENT_RATING}/rating`, contentIds)\r\n .toPromise()\r\n }\r\n\r\n fetchContentRatingsV2(contentId: string) {\r\n return this.http\r\n .get<IContentRating>(`${API_END_POINTS.CONTENT_RATING_V2}/${contentId}`)\r\n }\r\n\r\n fetchContentHistory(contentId: string): Observable<NsContent.IContinueLearningData> {\r\n return this.http.get<NsContent.IContinueLearningData>(\r\n `${API_END_POINTS.CONTENT_HISTORY}/${contentId}`,\r\n )\r\n }\r\n\r\n async continueLearning(id: string, collectionId?: string, collectionType?: string): Promise<any> {\r\n return new Promise(async resolve => {\r\n if (collectionType &&\r\n collectionType.toLowerCase() === 'playlist') {\r\n const reqBody = {\r\n contextPathId: collectionId ? collectionId : id,\r\n resourceId: id,\r\n data: JSON.stringify({\r\n timestamp: Date.now(),\r\n contextFullPath: [collectionId, id],\r\n }),\r\n dateAccessed: Date.now(),\r\n contextType: 'playlist',\r\n }\r\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\r\n resolve(true)\r\n }\r\n )\r\n } else {\r\n const reqBody = {\r\n contextPathId: collectionId ? collectionId : id,\r\n resourceId: id,\r\n data: JSON.stringify({ timestamp: Date.now() }),\r\n dateAccessed: Date.now(),\r\n }\r\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\r\n resolve(true)\r\n })\r\n }\r\n })\r\n }\r\n saveContinueLearning(content: NsContent.IViewerContinueLearningRequest): Observable<any> {\r\n const url = API_END_POINTS.USER_CONTINUE_LEARNING\r\n return this.http.post<any>(url, content)\r\n }\r\n\r\n setS3Cookie(\r\n contentId: string,\r\n // _path: string,\r\n ): Observable<any> {\r\n return this.http\r\n .post(API_END_POINTS.SET_S3_COOKIE, { contentId })\r\n .pipe(catchError(_err => of(true)))\r\n }\r\n\r\n setS3ImageCookie(): Observable<any> {\r\n return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError(_err => of(true)))\r\n }\r\n\r\n fetchManifest(url: string): Observable<any> {\r\n return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url })\r\n }\r\n fetchWebModuleContent(url: string): Observable<any> {\r\n return this.http.get(`${API_END_POINTS.FETCH_WEB_MODULE_FILES}?url=${encodeURIComponent(url)}`)\r\n }\r\n search(req: NSSearch.ISearchRequest): Observable<NSSearch.ISearchApiResult> {\r\n req.query = req.query || ''\r\n return this.http.post<NSSearch.ISearchApiResult>(API_END_POINTS.CONTENT_SEARCH_V5, {\r\n request: req,\r\n })\r\n }\r\n searchRegionRecommendation(\r\n req: NSSearch.ISearchOrgRegionRecommendationRequest,\r\n ): Observable<NsContentStripMultiple.IContentStripResponseApi> {\r\n req.query = req.query || ''\r\n req.preLabelValue =\r\n (req.preLabelValue || '') +\r\n ((this.configSvc.userProfile && this.configSvc.userProfile.country) || '')\r\n req.filters = {\r\n ...req.filters,\r\n labels: [req.preLabelValue || ''],\r\n }\r\n return this.http.post<NsContentStripMultiple.IContentStripResponseApi>(\r\n API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION,\r\n { request: req },\r\n )\r\n }\r\n searchV6(req: NSSearch.ISearchV6Request): Observable<NSSearch.ISearchV6ApiResult> {\r\n req.query = req.query || ''\r\n return this.http.post<NSSearch.ISearchV6ApiResult>(API_END_POINTS.CONTENT_SEARCH_V6, req)\r\n }\r\n\r\n fetchContentRating(contentId: string): Observable<{ rating: number }> {\r\n return this.http.get<{ rating: number }>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`)\r\n }\r\n deleteContentRating(contentId: string): Observable<any> {\r\n return this.http.delete(`${API_END_POINTS.CONTENT_RATING}/${contentId}`)\r\n }\r\n addContentRating(contentId: string, data: { rating: number }): Observable<any> {\r\n return this.http.post<any>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`, data)\r\n }\r\n\r\n getFirstChildInHierarchy(content: NsContent.IContent): NsContent.IContent {\r\n if (!(content.children || []).length) {\r\n return content\r\n }\r\n if (\r\n content.contentType === 'Learning Path' &&\r\n !(content.artifactUrl && content.artifactUrl.length)\r\n ) {\r\n const child = content.children[0]\r\n return this.getFirstChildInHierarchy(child)\r\n }\r\n if (\r\n content.contentType === 'Resource' ||\r\n content.contentType === 'Knowledge Artifact' ||\r\n content.contentType === 'Learning Path'\r\n ) {\r\n return content\r\n }\r\n const firstChild = content.children[0]\r\n const resultContent = this.getFirstChildInHierarchy(firstChild)\r\n return resultContent\r\n }\r\n\r\n getRegistrationStatus(source: string): Promise<{ hasAccess: boolean; registrationUrl?: string }> {\r\n return this.http.get<any>(`${API_END_POINTS.REGISTRATION_STATUS}/${source}`).toPromise()\r\n }\r\n\r\n fetchConfig(url: string) {\r\n return this.http.get<any>(url)\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { filter } from 'rxjs/operators'\r\n// import { AuthKeycloakService } from './auth-keycloak.service'\r\nimport { NsInstanceConfig } from './configurations.model'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { WsEvents } from './event.model'\r\nimport { EventService } from './event.service'\r\nimport { LoggerService } from './logger.service'\r\nimport { NsContent } from './widget-content.model'\r\n\r\ndeclare var $t: any\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TelemetryService {\r\n previousUrl: string | null = null\r\n telemetryConfig: NsInstanceConfig.ITelemetryConfig | null = null\r\n pData: any = null\r\n contextCdata = []\r\n environment: any\r\n\r\n externalApps: any = {\r\n RBCP: 'rbcp-web-ui',\r\n }\r\n constructor(\r\n @Inject('environment') environment: any,\r\n private configSvc: ConfigurationsService,\r\n private eventsSvc: EventService,\r\n // private authSvc: AuthKeycloakService,\r\n private logger: LoggerService,\r\n ) {\r\n this.environment = environment\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.telemetryConfig = instanceConfig.telemetryConfig\r\n this.telemetryConfig = {\r\n ...this.telemetryConfig,\r\n pdata: {\r\n ...this.telemetryConfig.pdata,\r\n // pid: navigator.userAgent,\r\n id: `${environment.name}.${this.telemetryConfig.pdata.id}`,\r\n },\r\n uid: this.configSvc.userProfile && this.configSvc.userProfile.userId,\r\n // authtoken: this.authSvc.token,\r\n // tslint:disable-next-line: no-non-null-assertion\r\n channel: this.rootOrgId || this.telemetryConfig.channel,\r\n sid: this.getTelemetrySessionId,\r\n }\r\n this.pData = this.telemetryConfig.pdata\r\n this.addPlayerListener()\r\n this.addCustomEventListener()\r\n this.addInteractListener()\r\n this.addFeedbackListener()\r\n this.addTimeSpentListener()\r\n this.addSearchListener()\r\n this.addHearbeatListener()\r\n this.addCustomImpressionListener()\r\n }\r\n }\r\n\r\n get getTelemetrySessionId(): string {\r\n return localStorage.getItem('telemetrySessionId') || ''\r\n }\r\n\r\n get rootOrgId(): string {\r\n if (this.configSvc && this.configSvc.userProfile && this.configSvc.userProfile.rootOrgId) {\r\n return this.configSvc.userProfile.rootOrgId\r\n }\r\n return ''\r\n }\r\n\r\n start(edata: any, data: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n try {\r\n if (this.telemetryConfig) {\r\n $t.start(\r\n this.telemetryConfig,\r\n (pageContext && pageContext.pageId) ?\r\n pageContext.pageId\r\n : '',\r\n '1.0',\r\n {\r\n // id,\r\n type: edata.type,\r\n mode: edata.mode,\r\n pageid: (pageContext && pageContext.pageId) ?\r\n pageContext.pageId\r\n : '',\r\n duration: 1,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n ...(pageContext && pageContext.module ? { env: pageContext.module } : null),\r\n },\r\n object: {\r\n ...(data) && data,\r\n },\r\n }\r\n )\r\n } else {\r\n this.logger.error('Error Initializing Telemetry. Config missing.')\r\n }\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry start', e)\r\n }\r\n }\r\n\r\n end(edata: any, data: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n try {\r\n $t.end(\r\n {\r\n type: edata.type,\r\n mode: edata.mode,\r\n pageid: (pageContext && pageContext.pageId) ?\r\n pageContext.pageId\r\n : '',\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n ...(pageContext && pageContext.module ? { env: pageContext.module } : null),\r\n },\r\n object: {\r\n ...(data) && data,\r\n },\r\n },\r\n )\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry end', e)\r\n }\r\n }\r\n\r\n audit(type: string, props: string, data: any) {\r\n try {\r\n $t.audit(\r\n {\r\n type,\r\n props,\r\n // data,\r\n state: data, // Optional. Current State\r\n prevstate: '', // Optional. Previous State\r\n duration: '', // Optional.\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n },\r\n )\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry audit', e)\r\n }\r\n }\r\n\r\n heartbeat(type: string, id: string) {\r\n try {\r\n $t.heartbeat({\r\n id,\r\n // mode,\r\n type,\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry heartbeat', e)\r\n }\r\n }\r\n\r\n impression(data?: any) {\r\n try {\r\n const page = this.getPageDetails()\r\n if (data && data.pageContext) {\r\n // page.pageid = data.pageContext.pageId\r\n page.module = data.pageContext.module\r\n }\r\n const edata = {\r\n pageid: page.pageid, // Required. Unique page id\r\n type: page.pageUrlParts[0], // Required. Impression type (list, detail, view, edit, workflow, search)\r\n uri: page.pageUrl,\r\n }\r\n if (page.objectId) {\r\n const config = {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n env: page.module || (this.telemetryConfig && this.telemetryConfig.env),\r\n },\r\n object: {\r\n id: page.objectId,\r\n // This will override above id if the data has object in it.\r\n ...((data) ? data.object : {}),\r\n },\r\n }\r\n $t.impression(edata, config)\r\n } else {\r\n $t.impression(edata, {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n env: page.module || '',\r\n },\r\n object: {\r\n ...((data) ? data.object : {}),\r\n },\r\n })\r\n }\r\n this.previousUrl = page.pageUrl\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry impression', e)\r\n }\r\n }\r\n\r\n externalImpression(impressionData: any) {\r\n try {\r\n const page = this.getPageDetails()\r\n if (this.externalApps[impressionData.subApplicationName]) {\r\n const externalConfig = page.objectId ? {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[impressionData.subApplicationName],\r\n },\r\n },\r\n object: {\r\n id: page.objectId,\r\n },\r\n } : {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[impressionData.subApplicationName],\r\n },\r\n },\r\n }\r\n $t.impression(impressionData.data, externalConfig)\r\n }\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry externalImpression', e)\r\n }\r\n }\r\n\r\n addCustomImpressionListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryImpression) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Impression,\r\n ),\r\n )\r\n .subscribe(event => {\r\n try {\r\n // console.log('event.data::', event.data)\r\n this.impression(event.data)\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry impression', e)\r\n }\r\n })\r\n }\r\n\r\n addTimeSpentListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n event =>\r\n event &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.type === WsEvents.WsTimeSpentType.Page &&\r\n event.data.mode &&\r\n event.data,\r\n ),\r\n )\r\n .subscribe(event => {\r\n if (event.data.state === WsEvents.EnumTelemetrySubType.Loaded) {\r\n this.start(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n {},\r\n event.pageContext\r\n )\r\n }\r\n if (event.data.state === WsEvents.EnumTelemetrySubType.Unloaded) {\r\n this.end({\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n {},\r\n event.pageContext\r\n )\r\n }\r\n })\r\n }\r\n\r\n addCustomEventListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n event =>\r\n event &&\r\n event.eventType === WsEvents.WsEventType.Telemetry\r\n ),\r\n )\r\n .subscribe(event => {\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Loaded &&\r\n event.data.type !== WsEvents.WsTimeSpentType.Player\r\n ) {\r\n this.start(\r\n {\r\n type: event.data.type,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n )\r\n }\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Unloaded &&\r\n event.data.type !== WsEvents.WsTimeSpentType.Player\r\n ) {\r\n this.end(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n )\r\n }\r\n })\r\n }\r\n addPlayerListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n event =>\r\n event &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.type === WsEvents.WsTimeSpentType.Player &&\r\n event.data.mode &&\r\n event.data,\r\n ),\r\n )\r\n .subscribe(event => {\r\n const content: NsContent.IContent | null = event.data.content\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Loaded &&\r\n (!content ||\r\n (content.isIframeSupported || '').toLowerCase() === 'maybe' ||\r\n (content.isIframeSupported || '').toLowerCase() === 'yes' ||\r\n (content.mimeType === 'application/pdf' || 'application/json'))\r\n ) {\r\n this.start(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n\r\n )\r\n }\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Unloaded &&\r\n (!content ||\r\n (content.isIframeSupported || '').toLowerCase() === 'maybe' ||\r\n (content.isIframeSupported || '').toLowerCase() === 'yes' ||\r\n (content.mimeType === 'application/pdf' || 'application/json'))\r\n ) {\r\n this.end(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n )\r\n }\r\n })\r\n }\r\n\r\n addInteractListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryInteract) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Interact,\r\n ),\r\n )\r\n .subscribe(event => {\r\n const page = this.getPageDetails()\r\n if (typeof event.from === 'string' && this.externalApps[event.from]) {\r\n const externalConfig = {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[event.from],\r\n },\r\n },\r\n }\r\n try {\r\n $t.interact(event.data, externalConfig)\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry interact', e)\r\n }\r\n } else {\r\n // let interactid\r\n // if (event.data.edata.type === 'goal') {\r\n // interactid = page.pageUrlParts[4]\r\n // }\r\n try {\r\n $t.interact(\r\n {\r\n type: event.data.edata.type,\r\n subtype: event.data.edata.subType,\r\n // object: event.data.object,\r\n id: (event.data.edata && event.data.edata.id) ?\r\n event.data.edata.id\r\n : '',\r\n pageid: event.data.pageContext && event.data.pageContext.pageId || page.pageid,\r\n // target: { page },\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n ...(event.data.pageContext && event.data.pageContext.module ? { env: event.data.pageContext.module } : null),\r\n },\r\n object: {\r\n ...event.data.object,\r\n },\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry interact', e)\r\n }\r\n }\r\n })\r\n }\r\n\r\n addFeedbackListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryFeedback) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Feedback,\r\n ),\r\n )\r\n .subscribe(event => {\r\n const page = this.getPageDetails()\r\n try {\r\n $t.feedback(\r\n {\r\n rating: event.data.object.rating || 0,\r\n commentid: event.data.object.commentid || '',\r\n commenttxt: event.data.object.commenttxt || '',\r\n pageid: page.pageid,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n object: {\r\n id: event.data.object.contentId || event.data.object.id || '',\r\n type: event.data.edata.type || '',\r\n ver: `${(event.data.object.version || '1')}${''}`,\r\n rollup: {},\r\n },\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry interact', e)\r\n }\r\n })\r\n }\r\n\r\n addHearbeatListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryHeartBeat) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.HeartBeat,\r\n ),\r\n )\r\n .subscribe(event => {\r\n if (typeof event.from === 'string' && this.externalApps[event.from]) {\r\n const externalConfig = {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[event.from],\r\n },\r\n },\r\n }\r\n try {\r\n $t.heartbeat(event.data, externalConfig)\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry heartbeat', e)\r\n }\r\n } else {\r\n try {\r\n $t.heartbeat(\r\n {\r\n type: event.data.type,\r\n // subtype: event.data.eventSubType,\r\n id: event.data.id,\r\n // mimeType: event.data.mimeType,\r\n // mode: event.data.mode,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry heartbeat', e)\r\n }\r\n }\r\n })\r\n }\r\n\r\n addSearchListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetrySearch) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Search,\r\n ),\r\n )\r\n .subscribe(event => {\r\n try {\r\n $t.search(\r\n {\r\n query: event.data.query,\r\n filters: event.data.filters,\r\n size: event.data.size,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n },\r\n )\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry search', e)\r\n }\r\n })\r\n }\r\n\r\n getPageDetails() {\r\n const path = window.location.pathname.replace('/', '')\r\n const url = path + window.location.search\r\n return {\r\n pageid: path,\r\n pageUrl: url,\r\n pageUrlParts: path.split('/'),\r\n refferUrl: this.previousUrl,\r\n objectId: this.extractContentIdFromUrlParts(path.split('/')),\r\n module: '',\r\n }\r\n }\r\n\r\n extractContentIdFromUrlParts(urlParts: string[]) {\r\n // TODO: pick toc and viewer url from some configuration\r\n const tocIdx = urlParts.indexOf('toc')\r\n const viewerIdx = urlParts.indexOf('viewer')\r\n\r\n if (tocIdx === -1 && viewerIdx === -1) {\r\n return null\r\n }\r\n\r\n if (tocIdx !== -1 && tocIdx < urlParts.length - 1) {\r\n return urlParts[tocIdx + 1] // e.g. url /app/toc/<content_id>\r\n }\r\n\r\n if (viewerIdx !== -1 && viewerIdx < urlParts.length - 2) {\r\n return urlParts[viewerIdx + 2] // e.g. url /app/viewer/<content_type>/<content_id>\r\n }\r\n\r\n return null\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\n// import { ActivatedRoute, Router } from '@angular/router'\r\nimport { WidgetContentService } from './widget-content.service'\r\n// import { AuthKeycloakService } from './auth-keycloak.service'\r\n// import { ConfigurationsService } from './configurations.service'\r\nimport { WsEvents } from './event.model'\r\nimport { EventService } from './event.service'\r\nimport { TelemetryService } from './telemetry.service'\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubapplicationRespondService {\r\n subAppname = ''\r\n continueLearningData: any = null\r\n contentWindowinfo: any\r\n loaded = false\r\n constructor(\r\n // private configSvc: ConfigurationsService,\r\n private contentSvc: WidgetContentService,\r\n // private keyCloakSvc: AuthKeycloakService,\r\n // private activatedRoute: ActivatedRoute,\r\n // private router: Router,\r\n private eventSvc: EventService,\r\n private teleSvc: TelemetryService,\r\n ) {\r\n // this.changeContextrespond()\r\n // this.configSvc.prefChangeNotifier.subscribe(() => {\r\n // this.changeContextrespond()\r\n // })\r\n }\r\n // loadedRespond(contentWindow: any, applicationName: string, id?: string) {\r\n // if (id && this.activatedRoute.snapshot.queryParams.viewMode && this.activatedRoute.snapshot.queryParams.viewMode === 'RESUME') {\r\n // this.continueLearningData = null\r\n // this.contentSvc.fetchContentHistory(id).subscribe(\r\n // data => {\r\n // this.continueLearningData = data.continueData\r\n // if (this.configSvc && this.configSvc.userProfile) {\r\n // const firstName = this.configSvc.userProfile.userName ?\r\n // this.configSvc.userProfile.userName.split(' ', 2)[0] : ''\r\n // const lastName = this.configSvc.userProfile.userName ?\r\n // this.configSvc.userProfile.userName.split(' ', 2)[1] : ''\r\n // const viewMode: string = this.activatedRoute.snapshot.queryParams.viewMode ?\r\n // this.activatedRoute.snapshot.queryParams.viewMode : ''\r\n // const token = this.keyCloakSvc.token\r\n // const response = {\r\n // subApplicationName: applicationName,\r\n // requestId: 'LOADED',\r\n // parentContext: {\r\n // domainName: window.location.host,\r\n // url: this.router.url,\r\n // rootOrg: this.configSvc.rootOrg,\r\n // theme: this.configSvc.activeThemeObject ? {\r\n // name: this.configSvc.activeThemeObject.themeName,\r\n // ...this.configSvc.activeThemeObject.color,\r\n // } : '',\r\n // fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',\r\n // locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',\r\n // darkMode: this.configSvc.isDarkMode,\r\n // subApplicationStartMode: viewMode.toUpperCase(),\r\n // user: {\r\n // firstName,\r\n // lastName,\r\n // token,\r\n // userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',\r\n // roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],\r\n // },\r\n // heartbeatFrequency: '200',\r\n // },\r\n // data: this.continueLearningData.data ? {\r\n // continueLearning: this.continueLearningData.data,\r\n // } : null,\r\n // }\r\n // contentWindow.postMessage(response, '*')\r\n // this.contentWindowinfo = contentWindow\r\n // this.loaded = true\r\n // this.subAppname = applicationName\r\n // }\r\n // })\r\n // } else {\r\n // if (this.configSvc && this.configSvc.userProfile) {\r\n // const firstName = this.configSvc.userProfile.userName ?\r\n // this.configSvc.userProfile.userName.split(' ', 2)[0] : ''\r\n // const lastName = this.configSvc.userProfile.userName ?\r\n // this.configSvc.userProfile.userName.split(' ', 2)[1] : ''\r\n // const viewMode: string = this.activatedRoute.snapshot.queryParams.viewMode ?\r\n // this.activatedRoute.snapshot.queryParams.viewMode : ''\r\n // const token = this.keyCloakSvc.token\r\n // const response = {\r\n // subApplicationName: applicationName,\r\n // requestId: 'LOADED',\r\n // parentContext: {\r\n // domainName: window.location.host,\r\n // url: this.router.url,\r\n // rootOrg: this.configSvc.rootOrg,\r\n // theme: this.configSvc.activeThemeObject ? {\r\n // name: this.configSvc.activeThemeObject.themeName,\r\n // ...this.configSvc.activeThemeObject.color,\r\n // } : '',\r\n // fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',\r\n // locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',\r\n // darkMode: this.configSvc.isDarkMode,\r\n // subApplicationStartMode: viewMode.toUpperCase(),\r\n // user: {\r\n // firstName,\r\n // lastName,\r\n // token,\r\n // userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',\r\n // roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],\r\n // },\r\n // heartbeatFrequency: '200',\r\n // },\r\n // data: null,\r\n // }\r\n // contentWindow.postMessage(response, '*')\r\n // this.contentWindowinfo = contentWindow\r\n // this.loaded = true\r\n // this.subAppname = applicationName\r\n // }\r\n // }\r\n // }\r\n continueLearningRespond(id: string, continueLearning: any) {\r\n this.contentSvc.saveContinueLearning(\r\n {\r\n contextPathId: id,\r\n resourceId: id,\r\n data: JSON.stringify({ timestamp: Date.now(), data: continueLearning }),\r\n dateAccessed: Date.now(),\r\n },\r\n )\r\n .toPromise()\r\n .catch()\r\n }\r\n telemetryEvents(tData: any) {\r\n if (tData) {\r\n switch (tData.eventId) {\r\n case 'INTERACT':\r\n this.eventSvc.dispatchEvent<WsEvents.IWsEventTelemetryInteract>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Warn,\r\n data: {\r\n ...tData.data,\r\n eventSubType: WsEvents.EnumTelemetrySubType.Interact,\r\n },\r\n from: tData.subApplicationName,\r\n to: 'Telemetry',\r\n })\r\n break\r\n case 'HEARTBEAT':\r\n this.eventSvc.dispatchEvent<WsEvents.IWsEventTelemetryHeartBeat>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Trace,\r\n data: {\r\n ...tData.data,\r\n eventSubType: WsEvents.EnumTelemetrySubType.HeartBeat,\r\n },\r\n from: tData.subApplicationName,\r\n to: 'Telemetry',\r\n })\r\n break\r\n case 'IMPRESSION':\r\n this.teleSvc.externalImpression(tData.data)\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n }\r\n unsubscribeResponse() {\r\n this.subAppname = ''\r\n this.continueLearningData = null\r\n this.contentWindowinfo = null\r\n this.loaded = false\r\n }\r\n // changeContextrespond() {\r\n // if (this.loaded && this.contentWindowinfo && this.configSvc && this.configSvc.userProfile && this.subAppname) {\r\n // const firstName = this.configSvc.userProfile.userName ?\r\n // this.configSvc.userProfile.userName.split(' ', 2)[0] : ''\r\n // const lastName = this.configSvc.userProfile.userName ?\r\n // this.configSvc.userProfile.userName.split(' ', 2)[1] : ''\r\n // const viewMode: string = this.activatedRoute.snapshot.queryParams.viewMode ?\r\n // this.activatedRoute.snapshot.queryParams.viewMode : ''\r\n // const token = this.keyCloakSvc.token\r\n // const response = {\r\n // subApplicationName: this.subAppname,\r\n // requestId: 'CONTEXT_CHANGE',\r\n // parentContext: {\r\n // domainName: window.location.host,\r\n // url: this.router.url,\r\n // rootOrg: this.configSvc.rootOrg,\r\n // theme: this.configSvc.activeThemeObject ? {\r\n // name: this.configSvc.activeThemeObject.themeName,\r\n // ...this.configSvc.activeThemeObject.color,\r\n // } : '',\r\n // fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',\r\n // locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',\r\n // darkMode: this.configSvc.isDarkMode,\r\n // subApplicationStartMode: viewMode.toUpperCase(),\r\n // user: {\r\n // firstName,\r\n // lastName,\r\n // token,\r\n // userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',\r\n // roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],\r\n // },\r\n // heartbeatFrequency: '200',\r\n // },\r\n // }\r\n // this.contentWindowinfo.postMessage(response, '*')\r\n // }\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { IUserPreference } from './user-preference.model'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { debounceTime, retry, catchError } from 'rxjs/operators'\r\nimport { of } from 'rxjs'\r\nconst endpoints = {\r\n userPref: '/apis/protected/v8/user/preference',\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserPreferenceService {\r\n // do changes in the backend and update the store\r\n\r\n constructor(private http: HttpClient, private configurationSvc: ConfigurationsService) { }\r\n\r\n initialize() {\r\n this.configurationSvc.prefChangeNotifier\r\n .pipe(debounceTime(250))\r\n .subscribe((changedUserPref?: Partial<IUserPreference>) => {\r\n if (this.configurationSvc.isAuthenticated) {\r\n this.saveUserPreference(changedUserPref)\r\n }\r\n })\r\n }\r\n\r\n async fetchUserPreference(): Promise<IUserPreference> {\r\n const pref = await this.http.get<IUserPreference>(endpoints.userPref).toPromise()\r\n return pref\r\n }\r\n\r\n async saveUserPreference(changedUserPref?: Partial<IUserPreference>): Promise<boolean> {\r\n try {\r\n if (!changedUserPref) {\r\n return false\r\n }\r\n const newUserPref: IUserPreference = {\r\n ...this.configurationSvc.userPreference,\r\n pinnedApps:\r\n (changedUserPref && changedUserPref.pinnedApps) ||\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.pinnedApps) ||\r\n '',\r\n isDarkMode: this.configurationSvc.isDarkMode,\r\n isRTL: this.configurationSvc.isRTL,\r\n selectedTheme:\r\n (this.configurationSvc.activeThemeObject &&\r\n this.configurationSvc.activeThemeObject.themeClass) ||\r\n '',\r\n selectedFont:\r\n (this.configurationSvc.activeFontObject &&\r\n this.configurationSvc.activeFontObject.fontClass) ||\r\n '',\r\n selectedLangGroup:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.selectedLangGroup) ||\r\n '',\r\n selectedLocale:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.selectedLocale) ||\r\n '',\r\n colorPallet:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.colorPallet) ||\r\n [],\r\n defaultCardType:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.defaultCardType) ||\r\n '',\r\n completedActivity:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.completedActivity) ||\r\n [],\r\n ...(changedUserPref || {}),\r\n completedTour: this.configurationSvc.completedTour,\r\n profileSettings:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.profileSettings) ||\r\n this.configurationSvc.profileSettings,\r\n }\r\n const oldUserPref: IUserPreference | null = this.configurationSvc.userPreference\r\n this.configurationSvc.userPreference = newUserPref\r\n await this.http\r\n .put(endpoints.userPref, newUserPref)\r\n .pipe(\r\n retry(3),\r\n catchError(err => {\r\n this.configurationSvc.userPreference = oldUserPref\r\n return of(err)\r\n }),\r\n )\r\n .toPromise()\r\n return true\r\n } catch (err) {\r\n return false\r\n }\r\n }\r\n}\r\n","export namespace NsContent {\r\n export interface IContinueLearningData extends IContent {\r\n continueData: any\r\n }\r\n\r\n export interface IContent {\r\n platform?: any\r\n addedOn: string\r\n appIcon: string\r\n artifactUrl: string\r\n averageRating?: any\r\n body?: string\r\n certificationList?: IRelatedContentMeta[]\r\n certificationStatus?: TCertificationStatus\r\n certificationSubmissionDate?: string\r\n certificationUrl: string\r\n children: IContent[]\r\n childrenClassifiers?: string[]\r\n clients?: IClient[]\r\n collections?: IContent[]\r\n complexityLevel: string\r\n contentId: string\r\n contentType: EContentTypes\r\n contentUrlAtSource: string\r\n creatorContacts: ICreator[]\r\n\r\n creatorDetails: ICreator[]\r\n creatorLogo: string\r\n creatorPosterImage: string\r\n creatorThumbnail: string\r\n\r\n curatedTags: string[]\r\n description: string\r\n displayContentType: EDisplayContentTypes // For UI\r\n downloadUrl?: string\r\n duration: number\r\n exclusiveContent?: boolean\r\n expiryDate?: string\r\n equivalentCertifications?: IRelatedContentMeta[]\r\n hasAccess: boolean\r\n hasAssessment?: string\r\n idealScreenSize?: string\r\n identifier: string\r\n introductoryVideo?: string\r\n introductoryVideoIcon?: string\r\n learningTrack?: string\r\n isExternal: boolean\r\n isIframeSupported: 'Yes' | 'No' | 'Maybe'\r\n isInIntranet?: boolean\r\n keywords?: string[]\r\n kArtifacts?: IRelatedContentMeta[]\r\n lastUpdatedOn: string\r\n learningMode?: TLearningMode\r\n learningObjective: string\r\n labels?: string[]\r\n locale?: string\r\n hasTranslations?: { identifier: string; locale: string }[]\r\n isTranslationOf?: { identifier: string; locale: string }[]\r\n me_totalSessionsCount: number\r\n mediaType: string\r\n mimeType: EMimeTypes\r\n minWingspanVersion?: string\r\n msArtifactDetails?: IMSArtifactDetails\r\n mode?: ETagType\r\n name: string\r\n nextCertificationAttemptDate?: string\r\n playgroundInstructions?: string\r\n playgroundResources?: IResourcePlayground[]\r\n postContents?: IPrePostContent[]\r\n posterImage?: string\r\n preContents?: IPrePostContent[]\r\n preRequisites: string\r\n price?: {\r\n currency: string\r\n value: number\r\n }\r\n proctorUrl?: string\r\n progress?: IMarkAsCompleteProgress\r\n publishedOn: string\r\n recentCertificationAttemptScore?: number\r\n recommendationReasons?: string[]\r\n region?: string[]\r\n registrationUrl?: string\r\n registrationInstructions?: string\r\n resourceCategory?: string[]\r\n resourceType: string\r\n size?: number\r\n skills: ISkill[]\r\n softwareRequirements?: IResourceDetail[]\r\n sourceName: string\r\n sourceShortName: string\r\n sourceIconUrl?: string\r\n sourceUrl?: string\r\n ssoEnabled?: boolean\r\n status:\r\n | 'Draft'\r\n | 'InReview'\r\n | 'QualityReview'\r\n | 'Reviewed'\r\n | 'Processing'\r\n | 'Live'\r\n | 'Deleted'\r\n | 'MarkedForDeletion'\r\n | 'Expired'\r\n subTitle?: string\r\n subTitles?: ISubtitle[]\r\n studyMaterials?: IRelatedContentMeta[]\r\n systemRequirements?: string[]\r\n tags: ITag[]\r\n topics: IContentTopic[]\r\n totalLikes?: { [key: string]: number }\r\n totalRating?: number\r\n track: ITrack[]\r\n uniqueLearners?: number\r\n viewCount?: { [key: string]: number }\r\n reason?: string // required for Knowledge board\r\n trainingLHubCount?: number // for LHub trainings\r\n verifiers?: {\r\n // required for External Certifications\r\n name: string\r\n email: string\r\n id: string\r\n }[]\r\n references?: { url: string; title: string }[]\r\n resumePage?: number // For player WebModule in UI\r\n [key: string]: any\r\n }\r\n\r\n export interface IContentMinimal {\r\n appIcon: string\r\n artifactUrl: string\r\n complexityLevel: string\r\n contentType: EContentTypes\r\n description: string\r\n displayContentType?: EDisplayContentTypes\r\n duration: number\r\n identifier: string\r\n hasAccess?: boolean\r\n isInIntranet?: boolean\r\n learningMode?: TLearningMode\r\n mimeType: EMimeTypes\r\n name: string\r\n creatorDetails: ICreator[]\r\n creatorContacts: ICreator[]\r\n PosterImage: string\r\n resourceType?: string\r\n totalRating?: number\r\n }\r\n\r\n export interface ICollectionHierarchyResponse {\r\n data: IContent\r\n hasMore: boolean\r\n totalContents: number\r\n }\r\n\r\n export interface IRelatedContentMeta {\r\n identifier: string\r\n name: string\r\n }\r\n\r\n type TCertificationStatus = 'ongoing' | 'passed' | 'canAttempt' | 'cannotAttempt'\r\n export type TLearningMode = 'Self-Paced' | 'Instructor-Led' | 'Open' | 'Closed'\r\n\r\n interface IMarkAsCompleteProgress {\r\n progressStatus: 'open' | 'started' | 'completed'\r\n showMarkAsComplete: boolean\r\n markAsCompleteReason: string\r\n progressSupported: boolean\r\n progress: number | null\r\n }\r\n\r\n interface ITag {\r\n id: string\r\n type: string\r\n value: string\r\n }\r\n interface IMSArtifactDetails {\r\n channelId: string\r\n videoId: string\r\n }\r\n interface IClient {\r\n displayName: string\r\n id: string\r\n name: string\r\n }\r\n interface ISubtitle {\r\n srclang: string\r\n label: string\r\n url: string\r\n }\r\n interface IPrePostContent {\r\n identifier: string\r\n name: string\r\n }\r\n interface IResourceDetail {\r\n title?: string\r\n url?: string\r\n }\r\n interface IResourcePlayground {\r\n appIcon: string\r\n artifactUrl: string\r\n identifier: string\r\n name: string\r\n }\r\n interface ITrack {\r\n id: string\r\n name: string\r\n status: string\r\n visibility: string\r\n }\r\n interface ISkill {\r\n id: string\r\n category: string\r\n skill: string\r\n name: string\r\n }\r\n export interface ICreator {\r\n id: string\r\n name: string\r\n email: string\r\n }\r\n export interface IContentTopic {\r\n identifier: string\r\n name: string\r\n }\r\n // API Based\r\n\r\n export interface IContact {\r\n id: string\r\n name: string\r\n email: string\r\n }\r\n\r\n export interface IViewerContinueLearningRequest {\r\n resourceId: string\r\n contextPathId: string\r\n data: string\r\n dateAccessed: number\r\n contextType?: string\r\n }\r\n\r\n export enum EContentTypes {\r\n PROGRAM = 'Learning Path',\r\n CHANNEL = 'Channel',\r\n COURSE = 'Course',\r\n KNOWLEDGE_ARTIFACT = 'Knowledge Artifact',\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n MODULE = 'Collection',\r\n RESOURCE = 'Resource',\r\n }\r\n export enum EMiscPlayerSupportedCollectionTypes {\r\n PLAYLIST = 'Playlist',\r\n }\r\n export const PLAYER_SUPPORTED_COLLECTION_TYPES: string[] = [\r\n EContentTypes.COURSE,\r\n EContentTypes.MODULE,\r\n EContentTypes.PROGRAM,\r\n EMiscPlayerSupportedCollectionTypes.PLAYLIST,\r\n ]\r\n export const KB_SUPPORTED_CONTENT_TYPES: EContentTypes[] = [\r\n EContentTypes.COURSE,\r\n EContentTypes.MODULE,\r\n EContentTypes.PROGRAM,\r\n EContentTypes.RESOURCE,\r\n ]\r\n export const PLAYLIST_SUPPORTED_CONTENT_TYPES: EContentTypes[] = [\r\n EContentTypes.COURSE,\r\n EContentTypes.MODULE,\r\n EContentTypes.PROGRAM,\r\n EContentTypes.RESOURCE,\r\n ]\r\n export enum EMimeTypes {\r\n COLLECTION = 'application/vnd.ekstep.content-collection',\r\n HTML = 'application/html',\r\n ILP_FP = 'application/ilpfp',\r\n IAP = 'application/iap-assessment',\r\n M4A = 'audio/m4a',\r\n MP3 = 'audio/mpeg',\r\n MP4 = 'video/mp4',\r\n M3U8 = 'application/x-mpegURL',\r\n INTERACTION = 'video/interactive',\r\n PDF = 'application/pdf',\r\n QUIZ = 'application/quiz',\r\n DRAG_DROP = 'application/drag-drop',\r\n HTML_PICKER = 'application/htmlpicker',\r\n WEB_MODULE = 'application/web-module',\r\n WEB_MODULE_EXERCISE = 'application/web-module-exercise',\r\n YOUTUBE = 'video/x-youtube',\r\n HANDS_ON = 'application/integrated-hands-on',\r\n RDBMS_HANDS_ON = 'application/rdbms',\r\n CLASS_DIAGRAM = 'application/class-diagram',\r\n CHANNEL = 'application/channel',\r\n COLLECTION_RESOURCE = 'resource/collection',\r\n // Added on UI Only\r\n CERTIFICATION = 'application/certification',\r\n PLAYLIST = 'application/playlist',\r\n UNKNOWN = 'application/unknown',\r\n }\r\n export enum EDisplayContentTypes {\r\n ASSESSMENT = 'ASSESSMENT',\r\n AUDIO = 'AUDIO',\r\n CERTIFICATION = 'CERTIFICATION',\r\n CHANNEL = 'Channel',\r\n CLASS_DIAGRAM = 'CLASS_DIAGRAM',\r\n COURSE = 'COURSE',\r\n DEFAULT = 'DEFAULT',\r\n DRAG_DROP = 'DRAG_DROP',\r\n EXTERNAL_CERTIFICATION = 'EXTERNAL_CERTIFICATION',\r\n EXTERNAL_COURSE = 'EXTERNAL_COURSE',\r\n GOALS = 'GOALS',\r\n HANDS_ON = 'HANDS_ON',\r\n IAP = 'IAP',\r\n INSTRUCTOR_LED = 'INSTRUCTOR_LED',\r\n INTERACTIVE_VIDEO = 'INTERACTIVE_VIDEO',\r\n KNOWLEDGE_ARTIFACT = 'KNOWLEDGE_ARTIFACT',\r\n MODULE = 'MODULE',\r\n PDF = 'PDF',\r\n PLAYLIST = 'PLAYLIST',\r\n PROGRAM = 'PROGRAM',\r\n QUIZ = 'QUIZ',\r\n RESOURCE = 'RESOURCE',\r\n RDBMS_HANDS_ON = 'RDBMS_HANDS_ON',\r\n VIDEO = 'VIDEO',\r\n WEB_MODULE = 'WEB_MODULE',\r\n WEB_PAGE = 'WEB_PAGE',\r\n YOUTUBE = 'YOUTUBE',\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n }\r\n // for UI\r\n export enum EFilterCategory {\r\n ALL = 'ALL',\r\n LEARN = 'LEARN',\r\n PRACTICE = 'PRACTICE',\r\n ASSESS = 'ASSESS',\r\n }\r\n\r\n // for UI\r\n export enum ETagType {\r\n NEWLY_ADDED = 'NEWLY ADDED',\r\n }\r\n}\r\n"],"names":["BehaviorSubject","ReplaySubject","i0","Injectable","Breakpoints","map","i1","EventEmitter","MAT_DIALOG_DATA","i5","i6","i7","i8","i9","i10","Component","Inject","Output","CommonModule","ImageCropperModule","MatIconModule","MatButtonModule","MatDialogModule","MatToolbarModule","MatCardModule","MatTooltipModule","MatSliderModule","NgModule","EFeatures","EInstance","fromEvent","debounceTime","Directive","Input","HostBinding","HostListener","distinctUntilChanged","throttleTime","timer","i2","i3","i4","ViewChild","MatProgressSpinnerModule","storage","storageKey","NavigationEnd","i2.AuthKeycloakService","i3.ConfigurationsService","i4.UtilityService","Pipe","moment","_moment","orderBy","catchError","of","i2.ConfigurationsService","i3.UtilityService","forkJoin","mergeMap","LOCALE_ID","i1.ConfigurationsService","i1.LoggerService","WsEvents","Subject","_","retry","filter","i2.EventService","i3.LoggerService","i1.WidgetContentService","i3.TelemetryService","NsContent"],"mappings":"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"}
|