@sunbird-cb/toc 0.0.3 → 0.0.4-ang-17-20
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/fesm2022/sunbird-cb-toc.mjs +16767 -13555
- package/fesm2022/sunbird-cb-toc.mjs.map +1 -1
- package/index.d.ts +5883 -4
- package/package.json +13 -14
- package/esm2022/lib/_collection/_common/attendance-card/attendance-card.component.mjs +0 -55
- package/esm2022/lib/_collection/_common/attendance-card/attendance-card.module.mjs +0 -126
- package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.component.mjs +0 -32
- package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.module.mjs +0 -85
- package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.component.mjs +0 -100
- package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.module.mjs +0 -48
- package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.component.mjs +0 -120
- package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.module.mjs +0 -92
- package/esm2022/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.mjs +0 -48
- package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.component.mjs +0 -25
- package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.module.mjs +0 -41
- package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover-card.component.mjs +0 -89
- package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.module.mjs +0 -42
- package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.servive.mjs +0 -41
- package/esm2022/lib/_collection/_common/connection-name/connection-name.component.mjs +0 -78
- package/esm2022/lib/_collection/_common/connection-name/connection-name.module.mjs +0 -45
- package/esm2022/lib/_collection/_common/connection-name/profile-v2.model.mjs +0 -2
- package/esm2022/lib/_collection/_common/content-progress/content-progress.component.mjs +0 -70
- package/esm2022/lib/_collection/_common/content-progress/content-progress.module.mjs +0 -28
- package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.mjs +0 -187
- package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.mjs +0 -86
- package/esm2022/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.mjs +0 -31
- package/esm2022/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.mjs +0 -941
- package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.mjs +0 -183
- package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.mjs +0 -327
- package/esm2022/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.mjs +0 -297
- package/esm2022/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.mjs +0 -223
- package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.mjs +0 -887
- package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.mjs +0 -16
- package/esm2022/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.mjs +0 -43
- package/esm2022/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.mjs +0 -133
- package/esm2022/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.mjs +0 -66
- package/esm2022/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.mjs +0 -278
- package/esm2022/lib/_collection/_common/content-toc/content-services/handle-claim.service.mjs +0 -21
- package/esm2022/lib/_collection/_common/content-toc/content-services/review-component-data.service.mjs +0 -21
- package/esm2022/lib/_collection/_common/content-toc/content-toc.component.mjs +0 -847
- package/esm2022/lib/_collection/_common/content-toc/content-toc.module.mjs +0 -219
- package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.component.mjs +0 -209
- package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.module.mjs +0 -26
- package/esm2022/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.mjs +0 -19
- package/esm2022/lib/_collection/_common/content-toc/pipes/truncate.pipe.mjs +0 -23
- package/esm2022/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.mjs +0 -113
- package/esm2022/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.mjs +0 -110
- package/esm2022/lib/_collection/_common/display-content-type/display-content-type.component.mjs +0 -26
- package/esm2022/lib/_collection/_common/display-content-type/display-content-type.module.mjs +0 -19
- package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.mjs +0 -67
- package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.mjs +0 -28
- package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.component.mjs +0 -77
- package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.model.mjs +0 -2
- package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.module.mjs +0 -61
- package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.module.mjs +0 -20
- package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.mjs +0 -67
- package/esm2022/lib/_collection/_common/player-brief/player-brief.component.mjs +0 -139
- package/esm2022/lib/_collection/_common/player-brief/player-brief.module.mjs +0 -71
- package/esm2022/lib/_collection/_common/rating-summary/rating-summary.component.mjs +0 -34
- package/esm2022/lib/_collection/_common/rating-summary/rating-summary.module.mjs +0 -56
- package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.component.mjs +0 -25
- package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.module.mjs +0 -37
- package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.mjs +0 -32
- package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner.module.mjs +0 -30
- package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.mjs +0 -38
- package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.mjs +0 -51
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.component.mjs +0 -115
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.model.mjs +0 -12
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.module.mjs +0 -51
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.service.mjs +0 -61
- package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.component.mjs +0 -87
- package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.module.mjs +0 -36
- package/esm2022/lib/_collection/_common/user-image/user-image.component.mjs +0 -62
- package/esm2022/lib/_collection/_common/user-image/user-image.module.mjs +0 -24
- package/esm2022/lib/_collection/btn-page-back/btn-page-back.component.mjs +0 -192
- package/esm2022/lib/_collection/btn-page-back/btn-page-back.module.mjs +0 -44
- package/esm2022/lib/_collection/btn-page-back/btn-page-back.service.mjs +0 -99
- package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.component.mjs +0 -58
- package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.module.mjs +0 -67
- package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.component.mjs +0 -112
- package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.model.mjs +0 -2
- package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.module.mjs +0 -69
- package/esm2022/lib/_collection-api.mjs +0 -57
- package/esm2022/lib/_constants/widget-content.constants.mjs +0 -19
- package/esm2022/lib/_directives/tooltip.directive.mjs +0 -68
- package/esm2022/lib/_models/common.model.mjs +0 -2
- package/esm2022/lib/_models/error.model.mjs +0 -2
- package/esm2022/lib/_pipes/highlight.pipe.mjs +0 -24
- package/esm2022/lib/_services/rating.service.mjs +0 -89
- package/esm2022/lib/_services/samuhik-charcha.service.mjs +0 -29
- package/esm2022/lib/_services/viewer-route-util.mjs +0 -103
- package/esm2022/lib/_services/widget-content.model.mjs +0 -247
- package/esm2022/lib/_services/widget-content.service.mjs +0 -594
- package/esm2022/lib/_shared/translate-loader.factory.mjs +0 -9
- package/esm2022/lib/app-toc-lib.module.mjs +0 -499
- package/esm2022/lib/collection.config.mjs +0 -161
- package/esm2022/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.mjs +0 -37
- package/esm2022/lib/components/app-toc-banner/app-toc-banner.component.mjs +0 -1436
- package/esm2022/lib/components/app-toc-cios-home/app-toc-cios-home.component.mjs +0 -475
- package/esm2022/lib/components/app-toc-cios-home/consent-dialog.component.mjs +0 -119
- package/esm2022/lib/components/app-toc-cohorts/app-toc-cohorts.component.mjs +0 -80
- package/esm2022/lib/components/app-toc-content-card/app-toc-content-card.component.mjs +0 -249
- package/esm2022/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.mjs +0 -39
- package/esm2022/lib/components/app-toc-discussion/app-toc-discussion.component.mjs +0 -58
- package/esm2022/lib/components/app-toc-home/app-toc-home.component.mjs +0 -2229
- package/esm2022/lib/components/app-toc-home-v2/app-toc-home-v2.component.mjs +0 -2826
- package/esm2022/lib/components/app-toc-overview/app-toc-overview.component.mjs +0 -157
- package/esm2022/lib/components/app-toc-session-card/app-toc-session-card.component.mjs +0 -48
- package/esm2022/lib/components/app-toc-sessions/app-toc-sessions.component.mjs +0 -47
- package/esm2022/lib/components/app-toc-single-page/app-toc-single-page.component.mjs +0 -766
- package/esm2022/lib/components/completion-survey-form/completion-survey-form.component.mjs +0 -243
- package/esm2022/lib/components/create-batch-dialog/create-batch-dialog.component.mjs +0 -116
- package/esm2022/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.mjs +0 -44
- package/esm2022/lib/components/enroll-profile-form/enroll-profile-form.component.mjs +0 -1838
- package/esm2022/lib/components/enroll-questionnaire/enroll-questionnaire.component.mjs +0 -236
- package/esm2022/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.mjs +0 -213
- package/esm2022/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.mjs +0 -36
- package/esm2022/lib/components/public-survey-form/public-survey-form.component.mjs +0 -256
- package/esm2022/lib/components/survey-form-question/survey-form-question.component.mjs +0 -133
- package/esm2022/lib/components/survey-form-section/survey-form-section.component.mjs +0 -36
- package/esm2022/lib/models/app-toc-analytics.model.mjs +0 -2
- package/esm2022/lib/models/app-toc.model.mjs +0 -38
- package/esm2022/lib/models/auto-complete.model.mjs +0 -2
- package/esm2022/lib/models/card-content.model.mjs +0 -13
- package/esm2022/lib/models/content-strip-with-tabs.model.mjs +0 -2
- package/esm2022/lib/models/discussion-forum.model.mjs +0 -14
- package/esm2022/lib/models/goal.model.mjs +0 -2
- package/esm2022/lib/models/meta-tag.model.mjs +0 -8
- package/esm2022/lib/models/playlist.model.mjs +0 -2
- package/esm2022/lib/models/profile-revamp.model.mjs +0 -2
- package/esm2022/lib/models/rating.model.mjs +0 -2
- package/esm2022/lib/models/user-profile.model.mjs +0 -21
- package/esm2022/lib/resolvers/app-toc-cios-resolver.service.mjs +0 -24
- package/esm2022/lib/resolvers/app-toc-cios-user-enroll-resolver.service.mjs +0 -24
- package/esm2022/lib/resolvers/app-toc-content-read-resolver.service.mjs +0 -60
- package/esm2022/lib/resolvers/app-toc-ext-public-resolver.service.mjs +0 -25
- package/esm2022/lib/resolvers/app-toc-resolver.service.mjs +0 -106
- package/esm2022/lib/resolvers/config-resolver.service.mjs +0 -25
- package/esm2022/lib/resolvers/profile-resolver.service.mjs +0 -25
- package/esm2022/lib/resolvers/restricted-features-resolver.service.mjs +0 -25
- package/esm2022/lib/routes/app-toc-home/app-toc-home.component.mjs +0 -51
- package/esm2022/lib/routes/app-toc-home/app-toc-home.directive.mjs +0 -16
- package/esm2022/lib/routes/app-toc-home/app-toc-home.service.mjs +0 -18
- package/esm2022/lib/services/access-control.service.mjs +0 -56
- package/esm2022/lib/services/action.service.mjs +0 -23
- package/esm2022/lib/services/app-toc-v2.service.mjs +0 -220
- package/esm2022/lib/services/app-toc.service.mjs +0 -1275
- package/esm2022/lib/services/certificate.service.mjs +0 -69
- package/esm2022/lib/services/discuss-utils.service.mjs +0 -58
- package/esm2022/lib/services/editor.service.mjs +0 -34
- package/esm2022/lib/services/load-check.service.mjs +0 -21
- package/esm2022/lib/services/loader.service.mjs +0 -33
- package/esm2022/lib/services/mobile-apps.service.mjs +0 -67
- package/esm2022/lib/services/netcore.service.mjs +0 -56
- package/esm2022/lib/services/nps-grid.service.mjs +0 -31
- package/esm2022/lib/services/otp.service.mjs +0 -43
- package/esm2022/lib/services/profile-v2.service.mjs +0 -43
- package/esm2022/lib/services/reset-ratings.service.mjs +0 -19
- package/esm2022/lib/services/resource-download-helper.service.mjs +0 -64
- package/esm2022/lib/services/timer.service.mjs +0 -23
- package/esm2022/lib/services/title-tag.service.mjs +0 -71
- package/esm2022/lib/services/user-profile.service.mjs +0 -55
- package/esm2022/lib/services/viewer-data.service.mjs +0 -64
- package/esm2022/lib/services/viewer-util.service.mjs +0 -500
- package/esm2022/lib/share-toc/share-toc/share-toc.component.mjs +0 -291
- package/esm2022/lib/share-toc/share-toc.module.mjs +0 -119
- package/esm2022/public-api.mjs +0 -70
- package/esm2022/sunbird-cb-toc.mjs +0 -5
- package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts +0 -17
- package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts.map +0 -1
- package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts +0 -32
- package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts.map +0 -1
- package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts +0 -16
- package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts.map +0 -1
- package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts +0 -21
- package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts.map +0 -1
- package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts +0 -23
- package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts.map +0 -1
- package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts +0 -16
- package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts.map +0 -1
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts +0 -23
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts.map +0 -1
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts +0 -23
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts.map +0 -1
- package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts +0 -10
- package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts.map +0 -1
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts +0 -12
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts.map +0 -1
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts +0 -13
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts.map +0 -1
- package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts +0 -19
- package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts.map +0 -1
- package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts +0 -15
- package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts.map +0 -1
- package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts +0 -12
- package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts.map +0 -1
- package/lib/_collection/_common/connection-name/connection-name.component.d.ts +0 -18
- package/lib/_collection/_common/connection-name/connection-name.component.d.ts.map +0 -1
- package/lib/_collection/_common/connection-name/connection-name.module.d.ts +0 -15
- package/lib/_collection/_common/connection-name/connection-name.module.d.ts.map +0 -1
- package/lib/_collection/_common/connection-name/profile-v2.model.d.ts +0 -200
- package/lib/_collection/_common/connection-name/profile-v2.model.d.ts.map +0 -1
- package/lib/_collection/_common/content-progress/content-progress.component.d.ts +0 -17
- package/lib/_collection/_common/content-progress/content-progress.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-progress/content-progress.module.d.ts +0 -11
- package/lib/_collection/_common/content-progress/content-progress.module.d.ts.map +0 -1
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts +0 -39
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts +0 -20
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts +0 -12
- package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts +0 -184
- package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts +0 -42
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts +0 -55
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts +0 -48
- package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts +0 -49
- package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts +0 -136
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts +0 -9
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts +0 -17
- package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts +0 -41
- package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts +0 -22
- package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts +0 -46
- package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts +0 -11
- package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts +0 -11
- package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/content-toc.component.d.ts +0 -129
- package/lib/_collection/_common/content-toc/content-toc.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/content-toc.module.d.ts +0 -52
- package/lib/_collection/_common/content-toc/content-toc.module.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts +0 -30
- package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts +0 -10
- package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts +0 -8
- package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts +0 -8
- package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts +0 -29
- package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts +0 -25
- package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts.map +0 -1
- package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts +0 -15
- package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts.map +0 -1
- package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts +0 -10
- package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts.map +0 -1
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts +0 -13
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts.map +0 -1
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts +0 -11
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts.map +0 -1
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts +0 -23
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts.map +0 -1
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts +0 -9
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts.map +0 -1
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts +0 -19
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts.map +0 -1
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts +0 -9
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts.map +0 -1
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts +0 -16
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts.map +0 -1
- package/lib/_collection/_common/player-brief/player-brief.component.d.ts +0 -36
- package/lib/_collection/_common/player-brief/player-brief.component.d.ts.map +0 -1
- package/lib/_collection/_common/player-brief/player-brief.module.d.ts +0 -20
- package/lib/_collection/_common/player-brief/player-brief.module.d.ts.map +0 -1
- package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts +0 -15
- package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts.map +0 -1
- package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts +0 -14
- package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts.map +0 -1
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts +0 -12
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts.map +0 -1
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts +0 -12
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts.map +0 -1
- package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts +0 -16
- package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts.map +0 -1
- package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts +0 -11
- package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts.map +0 -1
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts +0 -17
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts.map +0 -1
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts +0 -12
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts.map +0 -1
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts +0 -35
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts.map +0 -1
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts +0 -18
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts.map +0 -1
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts +0 -16
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts.map +0 -1
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts +0 -16
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts.map +0 -1
- package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts +0 -22
- package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts.map +0 -1
- package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts +0 -13
- package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts.map +0 -1
- package/lib/_collection/_common/user-image/user-image.component.d.ts +0 -22
- package/lib/_collection/_common/user-image/user-image.component.d.ts.map +0 -1
- package/lib/_collection/_common/user-image/user-image.module.d.ts +0 -10
- package/lib/_collection/_common/user-image/user-image.module.d.ts.map +0 -1
- package/lib/_collection/btn-page-back/btn-page-back.component.d.ts +0 -48
- package/lib/_collection/btn-page-back/btn-page-back.component.d.ts.map +0 -1
- package/lib/_collection/btn-page-back/btn-page-back.module.d.ts +0 -15
- package/lib/_collection/btn-page-back/btn-page-back.module.d.ts.map +0 -1
- package/lib/_collection/btn-page-back/btn-page-back.service.d.ts +0 -23
- package/lib/_collection/btn-page-back/btn-page-back.service.d.ts.map +0 -1
- package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts +0 -20
- package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts.map +0 -1
- package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts +0 -16
- package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts.map +0 -1
- package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts +0 -26
- package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts.map +0 -1
- package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts +0 -22
- package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts.map +0 -1
- package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts +0 -19
- package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts.map +0 -1
- package/lib/_collection-api.d.ts +0 -35
- package/lib/_collection-api.d.ts.map +0 -1
- package/lib/_constants/widget-content.constants.d.ts +0 -8
- package/lib/_constants/widget-content.constants.d.ts.map +0 -1
- package/lib/_directives/tooltip.directive.d.ts +0 -18
- package/lib/_directives/tooltip.directive.d.ts.map +0 -1
- package/lib/_models/common.model.d.ts +0 -4
- package/lib/_models/common.model.d.ts.map +0 -1
- package/lib/_models/error.model.d.ts +0 -6
- package/lib/_models/error.model.d.ts.map +0 -1
- package/lib/_pipes/highlight.pipe.d.ts +0 -11
- package/lib/_pipes/highlight.pipe.d.ts.map +0 -1
- package/lib/_services/rating.service.d.ts +0 -19
- package/lib/_services/rating.service.d.ts.map +0 -1
- package/lib/_services/samuhik-charcha.service.d.ts +0 -14
- package/lib/_services/samuhik-charcha.service.d.ts.map +0 -1
- package/lib/_services/viewer-route-util.d.ts +0 -9
- package/lib/_services/viewer-route-util.d.ts.map +0 -1
- package/lib/_services/widget-content.model.d.ts +0 -516
- package/lib/_services/widget-content.model.d.ts.map +0 -1
- package/lib/_services/widget-content.service.d.ts +0 -102
- package/lib/_services/widget-content.service.d.ts.map +0 -1
- package/lib/_shared/translate-loader.factory.d.ts +0 -8
- package/lib/_shared/translate-loader.factory.d.ts.map +0 -1
- package/lib/app-toc-lib.module.d.ts +0 -89
- package/lib/app-toc-lib.module.d.ts.map +0 -1
- package/lib/collection.config.d.ts +0 -160
- package/lib/collection.config.d.ts.map +0 -1
- package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts +0 -18
- package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts.map +0 -1
- package/lib/components/app-toc-banner/app-toc-banner.component.d.ts +0 -226
- package/lib/components/app-toc-banner/app-toc-banner.component.d.ts.map +0 -1
- package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts +0 -79
- package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts.map +0 -1
- package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts +0 -23
- package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts.map +0 -1
- package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts +0 -32
- package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts.map +0 -1
- package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts +0 -48
- package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts.map +0 -1
- package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts +0 -15
- package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts.map +0 -1
- package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts +0 -22
- package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts.map +0 -1
- package/lib/components/app-toc-home/app-toc-home.component.d.ts +0 -315
- package/lib/components/app-toc-home/app-toc-home.component.d.ts.map +0 -1
- package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts +0 -397
- package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts.map +0 -1
- package/lib/components/app-toc-overview/app-toc-overview.component.d.ts +0 -48
- package/lib/components/app-toc-overview/app-toc-overview.component.d.ts.map +0 -1
- package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts +0 -23
- package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts.map +0 -1
- package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts +0 -15
- package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts.map +0 -1
- package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts +0 -150
- package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts.map +0 -1
- package/lib/components/completion-survey-form/completion-survey-form.component.d.ts +0 -43
- package/lib/components/completion-survey-form/completion-survey-form.component.d.ts.map +0 -1
- package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts +0 -28
- package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts.map +0 -1
- package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts +0 -16
- package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts.map +0 -1
- package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts +0 -196
- package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts.map +0 -1
- package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts +0 -45
- package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts.map +0 -1
- package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts +0 -55
- package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts.map +0 -1
- package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts +0 -19
- package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts.map +0 -1
- package/lib/components/public-survey-form/public-survey-form.component.d.ts +0 -44
- package/lib/components/public-survey-form/public-survey-form.component.d.ts.map +0 -1
- package/lib/components/survey-form-question/survey-form-question.component.d.ts +0 -21
- package/lib/components/survey-form-question/survey-form-question.component.d.ts.map +0 -1
- package/lib/components/survey-form-section/survey-form-section.component.d.ts +0 -14
- package/lib/components/survey-form-section/survey-form-section.component.d.ts.map +0 -1
- package/lib/models/app-toc-analytics.model.d.ts +0 -153
- package/lib/models/app-toc-analytics.model.d.ts.map +0 -1
- package/lib/models/app-toc.model.d.ts +0 -85
- package/lib/models/app-toc.model.d.ts.map +0 -1
- package/lib/models/auto-complete.model.d.ts +0 -28
- package/lib/models/auto-complete.model.d.ts.map +0 -1
- package/lib/models/card-content.model.d.ts +0 -20
- package/lib/models/card-content.model.d.ts.map +0 -1
- package/lib/models/content-strip-with-tabs.model.d.ts +0 -45
- package/lib/models/content-strip-with-tabs.model.d.ts.map +0 -1
- package/lib/models/discussion-forum.model.d.ts +0 -41
- package/lib/models/discussion-forum.model.d.ts.map +0 -1
- package/lib/models/goal.model.d.ts +0 -23
- package/lib/models/goal.model.d.ts.map +0 -1
- package/lib/models/meta-tag.model.d.ts +0 -7
- package/lib/models/meta-tag.model.d.ts.map +0 -1
- package/lib/models/playlist.model.d.ts +0 -24
- package/lib/models/playlist.model.d.ts.map +0 -1
- package/lib/models/profile-revamp.model.d.ts +0 -15
- package/lib/models/profile-revamp.model.d.ts.map +0 -1
- package/lib/models/rating.model.d.ts +0 -18
- package/lib/models/rating.model.d.ts.map +0 -1
- package/lib/models/user-profile.model.d.ts +0 -38
- package/lib/models/user-profile.model.d.ts.map +0 -1
- package/lib/resolvers/app-toc-cios-resolver.service.d.ts +0 -13
- package/lib/resolvers/app-toc-cios-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts +0 -13
- package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/app-toc-content-read-resolver.service.d.ts +0 -17
- package/lib/resolvers/app-toc-content-read-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts +0 -13
- package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/app-toc-resolver.service.d.ts +0 -17
- package/lib/resolvers/app-toc-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/config-resolver.service.d.ts +0 -12
- package/lib/resolvers/config-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/profile-resolver.service.d.ts +0 -12
- package/lib/resolvers/profile-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/restricted-features-resolver.service.d.ts +0 -12
- package/lib/resolvers/restricted-features-resolver.service.d.ts.map +0 -1
- package/lib/routes/app-toc-home/app-toc-home.component.d.ts +0 -20
- package/lib/routes/app-toc-home/app-toc-home.component.d.ts.map +0 -1
- package/lib/routes/app-toc-home/app-toc-home.directive.d.ts +0 -9
- package/lib/routes/app-toc-home/app-toc-home.directive.d.ts.map +0 -1
- package/lib/routes/app-toc-home/app-toc-home.service.d.ts +0 -9
- package/lib/routes/app-toc-home/app-toc-home.service.d.ts.map +0 -1
- package/lib/services/access-control.service.d.ts +0 -30
- package/lib/services/access-control.service.d.ts.map +0 -1
- package/lib/services/action.service.d.ts +0 -10
- package/lib/services/action.service.d.ts.map +0 -1
- package/lib/services/app-toc-v2.service.d.ts +0 -15
- package/lib/services/app-toc-v2.service.d.ts.map +0 -1
- package/lib/services/app-toc.service.d.ts +0 -162
- package/lib/services/app-toc.service.d.ts.map +0 -1
- package/lib/services/certificate.service.d.ts +0 -43
- package/lib/services/certificate.service.d.ts.map +0 -1
- package/lib/services/discuss-utils.service.d.ts +0 -34
- package/lib/services/discuss-utils.service.d.ts.map +0 -1
- package/lib/services/editor.service.d.ts +0 -18
- package/lib/services/editor.service.d.ts.map +0 -1
- package/lib/services/load-check.service.d.ts +0 -9
- package/lib/services/load-check.service.d.ts.map +0 -1
- package/lib/services/loader.service.d.ts +0 -17
- package/lib/services/loader.service.d.ts.map +0 -1
- package/lib/services/mobile-apps.service.d.ts +0 -39
- package/lib/services/mobile-apps.service.d.ts.map +0 -1
- package/lib/services/netcore.service.d.ts +0 -34
- package/lib/services/netcore.service.d.ts.map +0 -1
- package/lib/services/nps-grid.service.d.ts +0 -16
- package/lib/services/nps-grid.service.d.ts.map +0 -1
- package/lib/services/otp.service.d.ts +0 -21
- package/lib/services/otp.service.d.ts.map +0 -1
- package/lib/services/profile-v2.service.d.ts +0 -21
- package/lib/services/profile-v2.service.d.ts.map +0 -1
- package/lib/services/reset-ratings.service.d.ts +0 -9
- package/lib/services/reset-ratings.service.d.ts.map +0 -1
- package/lib/services/resource-download-helper.service.d.ts +0 -30
- package/lib/services/resource-download-helper.service.d.ts.map +0 -1
- package/lib/services/timer.service.d.ts +0 -10
- package/lib/services/timer.service.d.ts.map +0 -1
- package/lib/services/title-tag.service.d.ts +0 -22
- package/lib/services/title-tag.service.d.ts.map +0 -1
- package/lib/services/user-profile.service.d.ts +0 -25
- package/lib/services/user-profile.service.d.ts.map +0 -1
- package/lib/services/viewer-data.service.d.ts +0 -59
- package/lib/services/viewer-data.service.d.ts.map +0 -1
- package/lib/services/viewer-util.service.d.ts +0 -63
- package/lib/services/viewer-util.service.d.ts.map +0 -1
- package/lib/share-toc/share-toc/share-toc.component.d.ts +0 -57
- package/lib/share-toc/share-toc/share-toc.component.d.ts.map +0 -1
- package/lib/share-toc/share-toc.module.d.ts +0 -33
- package/lib/share-toc/share-toc.module.d.ts.map +0 -1
- package/public-api.d.ts +0 -56
- package/public-api.d.ts.map +0 -1
- package/sunbird-cb-toc.d.ts.map +0 -1
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class AppTocHomeDirective {
|
|
4
|
-
constructor(viewContainerRef) {
|
|
5
|
-
this.viewContainerRef = viewContainerRef;
|
|
6
|
-
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocHomeDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AppTocHomeDirective, selector: "[wsAppAppTocHome]", ngImport: i0 }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocHomeDirective, decorators: [{
|
|
11
|
-
type: Directive,
|
|
12
|
-
args: [{
|
|
13
|
-
selector: '[wsAppAppTocHome]',
|
|
14
|
-
}]
|
|
15
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRvYy1ob21lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9yb3V0ZXMvYXBwLXRvYy1ob21lL2FwcC10b2MtaG9tZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUE7O0FBSzNELE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsWUFDUyxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN2QyxDQUFDOytHQUpNLG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3dzQXBwQXBwVG9jSG9tZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBUb2NIb21lRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgKSB7IH1cblxufVxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { AppTocHomeComponent } from '../../components/app-toc-home/app-toc-home.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class AppTocHomeService {
|
|
5
|
-
constructor() { }
|
|
6
|
-
getComponent() {
|
|
7
|
-
return AppTocHomeComponent;
|
|
8
|
-
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocHomeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocHomeService, providedIn: 'root' }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocHomeService, decorators: [{
|
|
13
|
-
type: Injectable,
|
|
14
|
-
args: [{
|
|
15
|
-
providedIn: 'root',
|
|
16
|
-
}]
|
|
17
|
-
}], ctorParameters: function () { return []; } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRvYy1ob21lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvcm91dGVzL2FwcC10b2MtaG9tZS9hcHAtdG9jLWhvbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFBOztBQUsxRixNQUFNLE9BQU8saUJBQWlCO0lBRTVCLGdCQUNJLENBQUM7SUFFTCxZQUFZO1FBQ1YsT0FBTyxtQkFBbUIsQ0FBQTtJQUM1QixDQUFDOytHQVBVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFwcFRvY0hvbWVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2FwcC10b2MtaG9tZS9hcHAtdG9jLWhvbWUuY29tcG9uZW50J1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBwVG9jSG9tZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICApIHsgfVxuXG4gIGdldENvbXBvbmVudCgpOiBUeXBlPGFueT4ge1xuICAgIHJldHVybiBBcHBUb2NIb21lQ29tcG9uZW50XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Access Control Service stub
|
|
5
|
-
* Provides access control functionality for content authorization
|
|
6
|
-
*
|
|
7
|
-
* Note: This is a minimal stub. The consuming application should provide
|
|
8
|
-
* a proper implementation if full functionality is needed.
|
|
9
|
-
*/
|
|
10
|
-
export class AccessControlService {
|
|
11
|
-
constructor() {
|
|
12
|
-
this._hasAccess = true;
|
|
13
|
-
this._authoringConfig = {};
|
|
14
|
-
}
|
|
15
|
-
get hasAccess() {
|
|
16
|
-
return this._hasAccess;
|
|
17
|
-
}
|
|
18
|
-
set hasAccess(value) {
|
|
19
|
-
this._hasAccess = value;
|
|
20
|
-
}
|
|
21
|
-
get authoringConfig() {
|
|
22
|
-
return this._authoringConfig;
|
|
23
|
-
}
|
|
24
|
-
set authoringConfig(value) {
|
|
25
|
-
this._authoringConfig = value;
|
|
26
|
-
}
|
|
27
|
-
hasRole(role) {
|
|
28
|
-
// Default implementation - allow all roles
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
isAllowed(permission) {
|
|
32
|
-
// Default implementation - allow all permissions
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Check if user has access to content based on content type
|
|
37
|
-
*/
|
|
38
|
-
hasAccessFor(contentType) {
|
|
39
|
-
return true;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Get proxy URL for authoring
|
|
43
|
-
*/
|
|
44
|
-
proxyToAuthoringUrl(url) {
|
|
45
|
-
return url;
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
48
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlService, providedIn: 'root' }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlService, decorators: [{
|
|
51
|
-
type: Injectable,
|
|
52
|
-
args: [{
|
|
53
|
-
providedIn: 'root',
|
|
54
|
-
}]
|
|
55
|
-
}], ctorParameters: function () { return []; } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9zZXJ2aWNlcy9hY2Nlc3MtY29udHJvbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBRzFDOzs7Ozs7R0FNRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFJL0I7UUFIUSxlQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLHFCQUFnQixHQUFRLEVBQUUsQ0FBQTtJQUVuQixDQUFDO0lBRWhCLElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUN6QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFBO0lBQzlCLENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUE7SUFDL0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLDJDQUEyQztRQUMzQyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxTQUFTLENBQUMsVUFBa0I7UUFDMUIsaURBQWlEO1FBQ2pELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLFdBQW1CO1FBQzlCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CLENBQUMsR0FBVztRQUM3QixPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7K0dBNUNVLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcydcblxuLyoqXG4gKiBBY2Nlc3MgQ29udHJvbCBTZXJ2aWNlIHN0dWJcbiAqIFByb3ZpZGVzIGFjY2VzcyBjb250cm9sIGZ1bmN0aW9uYWxpdHkgZm9yIGNvbnRlbnQgYXV0aG9yaXphdGlvblxuICogXG4gKiBOb3RlOiBUaGlzIGlzIGEgbWluaW1hbCBzdHViLiBUaGUgY29uc3VtaW5nIGFwcGxpY2F0aW9uIHNob3VsZCBwcm92aWRlXG4gKiBhIHByb3BlciBpbXBsZW1lbnRhdGlvbiBpZiBmdWxsIGZ1bmN0aW9uYWxpdHkgaXMgbmVlZGVkLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQWNjZXNzQ29udHJvbFNlcnZpY2Uge1xuICBwcml2YXRlIF9oYXNBY2Nlc3MgPSB0cnVlXG4gIHByaXZhdGUgX2F1dGhvcmluZ0NvbmZpZzogYW55ID0ge31cblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0IGhhc0FjY2VzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzQWNjZXNzXG4gIH1cblxuICBzZXQgaGFzQWNjZXNzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faGFzQWNjZXNzID0gdmFsdWVcbiAgfVxuXG4gIGdldCBhdXRob3JpbmdDb25maWcoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aG9yaW5nQ29uZmlnXG4gIH1cblxuICBzZXQgYXV0aG9yaW5nQ29uZmlnKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9hdXRob3JpbmdDb25maWcgPSB2YWx1ZVxuICB9XG5cbiAgaGFzUm9sZShyb2xlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvLyBEZWZhdWx0IGltcGxlbWVudGF0aW9uIC0gYWxsb3cgYWxsIHJvbGVzXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGlzQWxsb3dlZChwZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvLyBEZWZhdWx0IGltcGxlbWVudGF0aW9uIC0gYWxsb3cgYWxsIHBlcm1pc3Npb25zXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB1c2VyIGhhcyBhY2Nlc3MgdG8gY29udGVudCBiYXNlZCBvbiBjb250ZW50IHR5cGVcbiAgICovXG4gIGhhc0FjY2Vzc0Zvcihjb250ZW50VHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcHJveHkgVVJMIGZvciBhdXRob3JpbmdcbiAgICovXG4gIHByb3h5VG9BdXRob3JpbmdVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB1cmxcbiAgfVxufVxuIl19
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ActionService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.resumeL = new BehaviorSubject('');
|
|
7
|
-
}
|
|
8
|
-
get getUpdateCompGroupO() {
|
|
9
|
-
return this.resumeL.asObservable();
|
|
10
|
-
}
|
|
11
|
-
set setUpdateCompGroupO(url) {
|
|
12
|
-
this.resumeL.next(url);
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionService, providedIn: 'root' }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionService, decorators: [{
|
|
18
|
-
type: Injectable,
|
|
19
|
-
args: [{
|
|
20
|
-
providedIn: 'root',
|
|
21
|
-
}]
|
|
22
|
-
}], ctorParameters: function () { return []; } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvc2VydmljZXMvYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFBOztBQUt0QyxNQUFNLE9BQU8sYUFBYTtJQUd0QjtRQUZRLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQTtJQUUvQixDQUFDO0lBRWhCLElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUN0QyxDQUFDO0lBQ0QsSUFBVyxtQkFBbUIsQ0FBQyxHQUFRO1FBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzFCLENBQUM7K0dBVlEsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlc3VtZUwgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oJycpXG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBwdWJsaWMgZ2V0IGdldFVwZGF0ZUNvbXBHcm91cE8oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc3VtZUwuYXNPYnNlcnZhYmxlKClcbiAgICB9XG4gICAgcHVibGljIHNldCBzZXRVcGRhdGVDb21wR3JvdXBPKHVybDogYW55KSB7XG4gICAgICAgIHRoaXMucmVzdW1lTC5uZXh0KHVybClcbiAgICB9XG4vLyAgIHB1YmxpYyBnZXRVcGRhdGVDb21wR3JvdXBCeUlkKGxvY2FsbElkOiBudW1iZXIpIHtcbi8vICAgICByZXR1cm4gLmZpcnN0KC5maWx0ZXIodGhpcy5maW5hbENvbXBEZXRhaWwudmFsdWUsIHsgbG9jYWxJZDogbG9jYWxsSWQgfSkpXG4vLyAgIH1cbn1cbiJdfQ==
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./app-toc.service";
|
|
4
|
-
export class AppTocV2Service {
|
|
5
|
-
constructor(tocSvc) {
|
|
6
|
-
this.tocSvc = tocSvc;
|
|
7
|
-
}
|
|
8
|
-
constructHeirarchyData(contentReadData) {
|
|
9
|
-
let contentHeirarchy = { ...contentReadData };
|
|
10
|
-
let leafNodes = [];
|
|
11
|
-
if (contentHeirarchy['preliminaryAssessmentDetail'] && Object.keys(contentHeirarchy['preliminaryAssessmentDetail']).length > 0) {
|
|
12
|
-
contentHeirarchy['children'] = [];
|
|
13
|
-
// Set parent reference for preliminary assessment (pre-assessment)
|
|
14
|
-
contentHeirarchy['preliminaryAssessmentDetail'].parent = contentHeirarchy.identifier;
|
|
15
|
-
// Mark this as the pre-assessment for milestone locking logic
|
|
16
|
-
contentHeirarchy['preliminaryAssessmentDetail'].isPreAssessment = true;
|
|
17
|
-
contentHeirarchy['children'].push(contentHeirarchy['preliminaryAssessmentDetail']);
|
|
18
|
-
leafNodes.push(contentReadData?.preliminaryAssessment || contentReadData?.preliminaryAssessmentDetail?.identifier);
|
|
19
|
-
}
|
|
20
|
-
// Track milestone index for proper locking logic
|
|
21
|
-
// All milestones are locked by default - unlocking is computed based on progress
|
|
22
|
-
let milestoneIndex = 0;
|
|
23
|
-
contentHeirarchy['milestones_v1'].forEach((milestone) => {
|
|
24
|
-
// All milestones are locked by default
|
|
25
|
-
// M1 unlocks when pre-assessment is completed
|
|
26
|
-
// M2+ unlock when previous milestone's mandatory content + assessment are completed
|
|
27
|
-
const shouldBeLocked = true;
|
|
28
|
-
let mileStoneData = {
|
|
29
|
-
"identifier": milestone.id,
|
|
30
|
-
"description": milestone.description,
|
|
31
|
-
"mimeType": "application/vnd.ekstep.content-collection",
|
|
32
|
-
"duration": "3600",
|
|
33
|
-
"primaryCategory": "Milestone",
|
|
34
|
-
"courseCategory": "Milestone",
|
|
35
|
-
"createdBy": "25311a4f-fa42-4cf7-882a-5e79198edfcb",
|
|
36
|
-
"name": milestone.name,
|
|
37
|
-
"contentType": "Course",
|
|
38
|
-
"isLocked": shouldBeLocked,
|
|
39
|
-
"milestoneIndex": milestoneIndex,
|
|
40
|
-
"status": "Live",
|
|
41
|
-
"leafNodes": [],
|
|
42
|
-
// Pre-computed flags for performance optimization
|
|
43
|
-
"isMilestone": true,
|
|
44
|
-
"isCollection": true,
|
|
45
|
-
"isModule": false,
|
|
46
|
-
"isResource": false,
|
|
47
|
-
"isLearningPathway": false,
|
|
48
|
-
"parent": contentHeirarchy.identifier
|
|
49
|
-
};
|
|
50
|
-
mileStoneData['children'] = [];
|
|
51
|
-
if (milestone?.courses && milestone?.courses?.length) {
|
|
52
|
-
milestone.courses.forEach((mileStoneCourse) => {
|
|
53
|
-
// Set parent reference for courses inside milestone
|
|
54
|
-
mileStoneCourse.parent = milestone.id;
|
|
55
|
-
if (mileStoneCourse && mileStoneCourse?.leafNodes && mileStoneCourse?.leafNodes?.length) {
|
|
56
|
-
leafNodes = [...leafNodes, ...mileStoneCourse.leafNodes];
|
|
57
|
-
mileStoneData['leafNodes'] = [...mileStoneData?.leafNodes, ...mileStoneCourse.leafNodes];
|
|
58
|
-
}
|
|
59
|
-
this.tocSvc.checkModuleWiseData(mileStoneCourse);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
if (milestone?.assessmentDetail) {
|
|
63
|
-
// Set parent reference for assessment inside milestone
|
|
64
|
-
milestone.assessmentDetail.parent = milestone.id;
|
|
65
|
-
leafNodes.push(milestone?.assessmentDetail?.identifier);
|
|
66
|
-
mileStoneData['leafNodes'] = [...mileStoneData?.leafNodes, milestone?.assessmentDetail?.identifier];
|
|
67
|
-
mileStoneData['children'].push(milestone?.assessmentDetail);
|
|
68
|
-
}
|
|
69
|
-
mileStoneData['children'] = [...milestone['courses'], ...mileStoneData['children']];
|
|
70
|
-
mileStoneData['leafNodesCount'] = mileStoneData['leafNodes'].length;
|
|
71
|
-
contentHeirarchy['children'] = contentHeirarchy['children'] ? [...contentHeirarchy['children'], mileStoneData] : [mileStoneData];
|
|
72
|
-
milestoneIndex++;
|
|
73
|
-
});
|
|
74
|
-
contentHeirarchy['leafNodes'] = [...leafNodes];
|
|
75
|
-
return contentHeirarchy;
|
|
76
|
-
}
|
|
77
|
-
mapContentHierarchyProgressUpdate(contentHeirarchyData, enrollmentListData) {
|
|
78
|
-
if (contentHeirarchyData && contentHeirarchyData.children) {
|
|
79
|
-
let totalLeafNodes = 0;
|
|
80
|
-
let totalCompletedLeafNodes = 0;
|
|
81
|
-
contentHeirarchyData.children.forEach((child) => {
|
|
82
|
-
if (child.primaryCategory === 'Milestone') {
|
|
83
|
-
this.updateMilestoneProgress(child, contentHeirarchyData?.identifier, enrollmentListData);
|
|
84
|
-
totalLeafNodes += child.leafNodesCount || 0;
|
|
85
|
-
totalCompletedLeafNodes += child.completedLeafNodesCount || 0;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
// For pre-assessment and other root-level content
|
|
89
|
-
const enrollment = this.findEnrollment(enrollmentListData, contentHeirarchyData?.identifier);
|
|
90
|
-
this.updateNodeProgress(child, enrollment);
|
|
91
|
-
const isCompleted = child.status === 2 || child.completionStatus === 2 || child.completionPercentage === 100;
|
|
92
|
-
totalLeafNodes += child.leafNodesCount || 1;
|
|
93
|
-
totalCompletedLeafNodes += isCompleted ? (child.leafNodesCount || 1) : 0;
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
if (totalLeafNodes > 0) {
|
|
97
|
-
contentHeirarchyData.completionPercentage = Math.round((totalCompletedLeafNodes / totalLeafNodes) * 100);
|
|
98
|
-
contentHeirarchyData.completionStatus = contentHeirarchyData.completionPercentage === 100 ? 2 : 1;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return contentHeirarchyData;
|
|
102
|
-
}
|
|
103
|
-
updateMilestoneProgress(milestone, parentContentIdentifier, enrollmentListData) {
|
|
104
|
-
let totalLeafNodes = 0;
|
|
105
|
-
let totalCompletedLeafNodes = 0;
|
|
106
|
-
let completedCourses = 0;
|
|
107
|
-
let totalCourses = 0;
|
|
108
|
-
if (milestone.children) {
|
|
109
|
-
milestone.children.forEach((child) => {
|
|
110
|
-
if (child.primaryCategory === 'Course') {
|
|
111
|
-
totalCourses += 1;
|
|
112
|
-
this.updateCourseProgress(child, parentContentIdentifier, enrollmentListData);
|
|
113
|
-
// Check both status and completionStatus for completion
|
|
114
|
-
if (child.status === 2 || child.completionStatus === 2 || child.completionPercentage >= 100) {
|
|
115
|
-
completedCourses += 1;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
// For assessments and other content, try multiple enrollment sources
|
|
120
|
-
// First try parent Learning Pathway enrollment
|
|
121
|
-
let enrollment = this.findEnrollment(enrollmentListData, parentContentIdentifier);
|
|
122
|
-
if (!enrollment) {
|
|
123
|
-
// Try milestone enrollment
|
|
124
|
-
enrollment = this.findEnrollment(enrollmentListData, milestone?.identifier);
|
|
125
|
-
}
|
|
126
|
-
this.updateNodeProgress(child, enrollment);
|
|
127
|
-
}
|
|
128
|
-
const leafNodes = child.leafNodesCount || 1;
|
|
129
|
-
totalLeafNodes += leafNodes;
|
|
130
|
-
// Check both status and completionStatus for completion
|
|
131
|
-
if (child.status === 2 || child.completionStatus === 2 || child.completionPercentage >= 100) {
|
|
132
|
-
totalCompletedLeafNodes += leafNodes;
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
milestone.leafNodesCount = totalLeafNodes;
|
|
137
|
-
milestone.completedLeafNodesCount = totalCompletedLeafNodes;
|
|
138
|
-
milestone.totalCourses = totalCourses;
|
|
139
|
-
milestone.completedCourses = completedCourses;
|
|
140
|
-
if (totalLeafNodes > 0) {
|
|
141
|
-
milestone.completionPercentage = Math.round((totalCompletedLeafNodes / totalLeafNodes) * 100);
|
|
142
|
-
milestone.completionStatus = milestone.completionPercentage === 100 ? 2 : 1;
|
|
143
|
-
milestone.status = milestone.completionPercentage === 100 ? 2 : 1;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
updateNodeProgress(node, enrollment) {
|
|
147
|
-
const nodeEnrollData = enrollment?.contentList?.find((ele) => ele?.contentId === node.identifier);
|
|
148
|
-
if (enrollment && nodeEnrollData && nodeEnrollData.status < 2) {
|
|
149
|
-
node.completionPercentage = nodeEnrollData.completionPercentage || nodeEnrollData.progress || 0;
|
|
150
|
-
node.completionStatus = nodeEnrollData.status;
|
|
151
|
-
}
|
|
152
|
-
else if (enrollment && nodeEnrollData && nodeEnrollData.status === 2) {
|
|
153
|
-
node.completionPercentage = 100;
|
|
154
|
-
node.completionStatus = 2;
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
node.completionPercentage = 0;
|
|
158
|
-
node.completionStatus = 0;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
updateCourseProgress(course, parentContentIdentifier, enrollmentListData) {
|
|
162
|
-
const enrollment = this.findEnrollment(enrollmentListData, course?.identifier);
|
|
163
|
-
if (enrollment?.completionPercentage === 100) {
|
|
164
|
-
// Enrollment shows 100% - mark course as complete
|
|
165
|
-
course.completionPercentage = 100;
|
|
166
|
-
course.completionStatus = 2;
|
|
167
|
-
course.status = 2;
|
|
168
|
-
this.tocSvc.mapCompletionChildPercentageProgram(course);
|
|
169
|
-
}
|
|
170
|
-
else if (enrollment && enrollment.completionPercentage > 0) {
|
|
171
|
-
// Enrollment has partial progress
|
|
172
|
-
course.completionPercentage = enrollment.completionPercentage || 0;
|
|
173
|
-
course.completionStatus = 1;
|
|
174
|
-
course.status = 1;
|
|
175
|
-
// Also update children
|
|
176
|
-
if (course.children && course.children.length > 0) {
|
|
177
|
-
course.children.forEach((child) => {
|
|
178
|
-
this.updateNodeProgress(child, enrollment);
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
if (course.children && course.children.length > 0) {
|
|
184
|
-
let totalLeafNodes = course.leafNodesCount || 0;
|
|
185
|
-
let totalCompleted = 0;
|
|
186
|
-
course.children.forEach((child) => {
|
|
187
|
-
this.updateNodeProgress(child, enrollment);
|
|
188
|
-
if (child.status === 2 || child.completionStatus === 2 || child.completionPercentage === 100) {
|
|
189
|
-
totalCompleted += child.leafNodesCount || 1;
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
// If it's a collection and doesn't have its own enrollment progress, calculate it
|
|
193
|
-
if (!enrollment || !course.completionPercentage || course.completionPercentage === 0) {
|
|
194
|
-
if (!totalLeafNodes) {
|
|
195
|
-
totalLeafNodes = course.children.reduce((acc, curr) => acc + (curr.leafNodesCount || 1), 0);
|
|
196
|
-
}
|
|
197
|
-
if (totalLeafNodes > 0) {
|
|
198
|
-
course.completionPercentage = Math.round((totalCompleted / totalLeafNodes) * 100);
|
|
199
|
-
course.completionStatus = course.completionPercentage === 100 ? 2 : (course.completionPercentage > 0 ? 1 : 0);
|
|
200
|
-
course.status = course.completionStatus;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
findEnrollment(enrollmentList, identifier) {
|
|
207
|
-
if (!enrollmentList || !enrollmentList.length)
|
|
208
|
-
return null;
|
|
209
|
-
return enrollmentList.find((el) => el.collectionId === identifier || el.contentId === identifier);
|
|
210
|
-
}
|
|
211
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocV2Service, deps: [{ token: i1.AppTocService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
212
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocV2Service, providedIn: 'root' }); }
|
|
213
|
-
}
|
|
214
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocV2Service, decorators: [{
|
|
215
|
-
type: Injectable,
|
|
216
|
-
args: [{
|
|
217
|
-
providedIn: 'root'
|
|
218
|
-
}]
|
|
219
|
-
}], ctorParameters: function () { return [{ type: i1.AppTocService }]; } });
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRvYy12Mi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL3NlcnZpY2VzL2FwcC10b2MtdjIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtJQUFJLENBQUM7SUFFOUMsc0JBQXNCLENBQUMsZUFBb0I7UUFDekMsSUFBSSxnQkFBZ0IsR0FBUSxFQUFFLEdBQUcsZUFBZSxFQUFFLENBQUE7UUFDbEQsSUFBSSxTQUFTLEdBQWEsRUFBRSxDQUFBO1FBQzVCLElBQUksZ0JBQWdCLENBQUMsNkJBQTZCLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzlILGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtZQUNqQyxtRUFBbUU7WUFDbkUsZ0JBQWdCLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFBO1lBQ3BGLDhEQUE4RDtZQUM5RCxnQkFBZ0IsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUE7WUFDdEUsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQTtZQUNsRixTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxxQkFBcUIsSUFBSSxlQUFlLEVBQUUsMkJBQTJCLEVBQUUsVUFBVSxDQUFDLENBQUE7U0FDbkg7UUFFRCxpREFBaUQ7UUFDakQsaUZBQWlGO1FBQ2pG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O2lCQUNGO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsY0FBbUIsRUFBRSxVQUFrQjtRQUM1RCxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQTtRQUMxRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEtBQUssVUFBVSxJQUFJLEVBQUUsQ0FBQyxTQUFTLEtBQUssVUFBVSxDQUFDLENBQUE7SUFDeEcsQ0FBQzsrR0EzTlUsZUFBZTttSEFBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBUb2NTZXJ2aWNlIH0gZnJvbSAnLi9hcHAtdG9jLnNlcnZpY2UnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwVG9jVjJTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvY1N2YzogQXBwVG9jU2VydmljZSkgeyB9XG5cbiAgY29uc3RydWN0SGVpcmFyY2h5RGF0YShjb250ZW50UmVhZERhdGE6IGFueSk6IGFueSB7XG4gICAgbGV0IGNvbnRlbnRIZWlyYXJjaHk6IGFueSA9IHsgLi4uY29udGVudFJlYWREYXRhIH1cbiAgICBsZXQgbGVhZk5vZGVzOiBzdHJpbmdbXSA9IFtdXG4gICAgaWYgKGNvbnRlbnRIZWlyYXJjaHlbJ3ByZWxpbWluYXJ5QXNzZXNzbWVudERldGFpbCddICYmIE9iamVjdC5rZXlzKGNvbnRlbnRIZWlyYXJjaHlbJ3ByZWxpbWluYXJ5QXNzZXNzbWVudERldGFpbCddKS5sZW5ndGggPiAwKSB7XG4gICAgICBjb250ZW50SGVpcmFyY2h5WydjaGlsZHJlbiddID0gW11cbiAgICAgIC8vIFNldCBwYXJlbnQgcmVmZXJlbmNlIGZvciBwcmVsaW1pbmFyeSBhc3Nlc3NtZW50IChwcmUtYXNzZXNzbWVudClcbiAgICAgIGNvbnRlbnRIZWlyYXJjaHlbJ3ByZWxpbWluYXJ5QXNzZXNzbWVudERldGFpbCddLnBhcmVudCA9IGNvbnRlbnRIZWlyYXJjaHkuaWRlbnRpZmllclxuICAgICAgLy8gTWFyayB0aGlzIGFzIHRoZSBwcmUtYXNzZXNzbWVudCBmb3IgbWlsZXN0b25lIGxvY2tpbmcgbG9naWNcbiAgICAgIGNvbnRlbnRIZWlyYXJjaHlbJ3ByZWxpbWluYXJ5QXNzZXNzbWVudERldGFpbCddLmlzUHJlQXNzZXNzbWVudCA9IHRydWVcbiAgICAgIGNvbnRlbnRIZWlyYXJjaHlbJ2NoaWxkcmVuJ10ucHVzaChjb250ZW50SGVpcmFyY2h5WydwcmVsaW1pbmFyeUFzc2Vzc21lbnREZXRhaWwnXSlcbiAgICAgIGxlYWZOb2Rlcy5wdXNoKGNvbnRlbnRSZWFkRGF0YT8ucHJlbGltaW5hcnlBc3Nlc3NtZW50IHx8IGNvbnRlbnRSZWFkRGF0YT8ucHJlbGltaW5hcnlBc3Nlc3NtZW50RGV0YWlsPy5pZGVudGlmaWVyKVxuICAgIH1cblxuICAgIC8vIFRyYWNrIG1pbGVzdG9uZSBpbmRleCBmb3IgcHJvcGVyIGxvY2tpbmcgbG9naWNcbiAgICAvLyBBbGwgbWlsZXN0b25lcyBhcmUgbG9ja2VkIGJ5IGRlZmF1bHQgLSB1bmxvY2tpbmcgaXMgY29tcHV0ZWQgYmFzZWQgb24gcHJvZ3Jlc3NcbiAgICBsZXQgbWlsZXN0b25lSW5kZXggPSAwXG4gICAgY29udGVudEhlaXJhcmNoeVsnbWlsZXN0b25lc192MSddLmZvckVhY2goKG1pbGVzdG9uZTogYW55KSA9PiB7XG4gICAgICAvLyBBbGwgbWlsZXN0b25lcyBhcmUgbG9ja2VkIGJ5IGRlZmF1bHRcbiAgICAgIC8vIE0xIHVubG9ja3Mgd2hlbiBwcmUtYXNzZXNzbWVudCBpcyBjb21wbGV0ZWRcbiAgICAgIC8vIE0yKyB1bmxvY2sgd2hlbiBwcmV2aW91cyBtaWxlc3RvbmUncyBtYW5kYXRvcnkgY29udGVudCArIGFzc2Vzc21lbnQgYXJlIGNvbXBsZXRlZFxuICAgICAgY29uc3Qgc2hvdWxkQmVMb2NrZWQgPSB0cnVlXG5cbiAgICAgIGxldCBtaWxlU3RvbmVEYXRhOiBhbnkgPSB7XG4gICAgICAgIFwiaWRlbnRpZmllclwiOiBtaWxlc3RvbmUuaWQsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogbWlsZXN0b25lLmRlc2NyaXB0aW9uLFxuICAgICAgICBcIm1pbWVUeXBlXCI6IFwiYXBwbGljYXRpb24vdm5kLmVrc3RlcC5jb250ZW50LWNvbGxlY3Rpb25cIixcbiAgICAgICAgXCJkdXJhdGlvblwiOiBcIjM2MDBcIixcbiAgICAgICAgXCJwcmltYXJ5Q2F0ZWdvcnlcIjogXCJNaWxlc3RvbmVcIixcbiAgICAgICAgXCJjb3Vyc2VDYXRlZ29yeVwiOiBcIk1pbGVzdG9uZVwiLFxuICAgICAgICBcImNyZWF0ZWRCeVwiOiBcIjI1MzExYTRmLWZhNDItNGNmNy04ODJhLTVlNzkxOThlZGZjYlwiLFxuICAgICAgICBcIm5hbWVcIjogbWlsZXN0b25lLm5hbWUsXG4gICAgICAgIFwiY29udGVudFR5cGVcIjogXCJDb3Vyc2VcIixcbiAgICAgICAgXCJpc0xvY2tlZFwiOiBzaG91bGRCZUxvY2tlZCxcbiAgICAgICAgXCJtaWxlc3RvbmVJbmRleFwiOiBtaWxlc3RvbmVJbmRleCxcbiAgICAgICAgXCJzdGF0dXNcIjogXCJMaXZlXCIsXG4gICAgICAgIFwibGVhZk5vZGVzXCI6IFtdLFxuICAgICAgICAvLyBQcmUtY29tcHV0ZWQgZmxhZ3MgZm9yIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvblxuICAgICAgICBcImlzTWlsZXN0b25lXCI6IHRydWUsXG4gICAgICAgIFwiaXNDb2xsZWN0aW9uXCI6IHRydWUsXG4gICAgICAgIFwiaXNNb2R1bGVcIjogZmFsc2UsXG4gICAgICAgIFwiaXNSZXNvdXJjZVwiOiBmYWxzZSxcbiAgICAgICAgXCJpc0xlYXJuaW5nUGF0aHdheVwiOiBmYWxzZSxcbiAgICAgICAgXCJwYXJlbnRcIjogY29udGVudEhlaXJhcmNoeS5pZGVudGlmaWVyXG4gICAgICB9XG4gICAgICBtaWxlU3RvbmVEYXRhWydjaGlsZHJlbiddID0gW11cbiAgICAgIGlmIChtaWxlc3RvbmU/LmNvdXJzZXMgJiYgbWlsZXN0b25lPy5jb3Vyc2VzPy5sZW5ndGgpIHtcbiAgICAgICAgbWlsZXN0b25lLmNvdXJzZXMuZm9yRWFjaCgobWlsZVN0b25lQ291cnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAvLyBTZXQgcGFyZW50IHJlZmVyZW5jZSBmb3IgY291cnNlcyBpbnNpZGUgbWlsZXN0b25lXG4gICAgICAgICAgbWlsZVN0b25lQ291cnNlLnBhcmVudCA9IG1pbGVzdG9uZS5pZFxuICAgICAgICAgIGlmIChtaWxlU3RvbmVDb3Vyc2UgJiYgbWlsZVN0b25lQ291cnNlPy5sZWFmTm9kZXMgJiYgbWlsZVN0b25lQ291cnNlPy5sZWFmTm9kZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgbGVhZk5vZGVzID0gWy4uLmxlYWZOb2RlcywgLi4ubWlsZVN0b25lQ291cnNlLmxlYWZOb2Rlc11cbiAgICAgICAgICAgIG1pbGVTdG9uZURhdGFbJ2xlYWZOb2RlcyddID0gWy4uLm1pbGVTdG9uZURhdGE/LmxlYWZOb2RlcywgLi4ubWlsZVN0b25lQ291cnNlLmxlYWZOb2Rlc11cblxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnRvY1N2Yy5jaGVja01vZHVsZVdpc2VEYXRhKG1pbGVTdG9uZUNvdXJzZSlcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGlmIChtaWxlc3RvbmU/LmFzc2Vzc21lbnREZXRhaWwpIHtcbiAgICAgICAgLy8gU2V0IHBhcmVudCByZWZlcmVuY2UgZm9yIGFzc2Vzc21lbnQgaW5zaWRlIG1pbGVzdG9uZVxuICAgICAgICBtaWxlc3RvbmUuYXNzZXNzbWVudERldGFpbC5wYXJlbnQgPSBtaWxlc3RvbmUuaWRcbiAgICAgICAgbGVhZk5vZGVzLnB1c2gobWlsZXN0b25lPy5hc3Nlc3NtZW50RGV0YWlsPy5pZGVudGlmaWVyKVxuICAgICAgICBtaWxlU3RvbmVEYXRhWydsZWFmTm9kZXMnXSA9IFsuLi5taWxlU3RvbmVEYXRhPy5sZWFmTm9kZXMsIG1pbGVzdG9uZT8uYXNzZXNzbWVudERldGFpbD8uaWRlbnRpZmllcl1cbiAgICAgICAgbWlsZVN0b25lRGF0YVsnY2hpbGRyZW4nXS5wdXNoKG1pbGVzdG9uZT8uYXNzZXNzbWVudERldGFpbClcbiAgICAgIH1cbiAgICAgIG1pbGVTdG9uZURhdGFbJ2NoaWxkcmVuJ10gPSBbLi4ubWlsZXN0b25lWydjb3Vyc2VzJ10sIC4uLm1pbGVTdG9uZURhdGFbJ2NoaWxkcmVuJ11dXG4gICAgICBtaWxlU3RvbmVEYXRhWydsZWFmTm9kZXNDb3VudCddID0gbWlsZVN0b25lRGF0YVsnbGVhZk5vZGVzJ10ubGVuZ3RoXG4gICAgICBjb250ZW50SGVpcmFyY2h5WydjaGlsZHJlbiddID0gY29udGVudEhlaXJhcmNoeVsnY2hpbGRyZW4nXSA/IFsuLi5jb250ZW50SGVpcmFyY2h5WydjaGlsZHJlbiddLCBtaWxlU3RvbmVEYXRhXSA6IFttaWxlU3RvbmVEYXRhXVxuXG4gICAgICBtaWxlc3RvbmVJbmRleCsrXG4gICAgfSlcbiAgICBjb250ZW50SGVpcmFyY2h5WydsZWFmTm9kZXMnXSA9IFsuLi5sZWFmTm9kZXNdXG4gICAgcmV0dXJuIGNvbnRlbnRIZWlyYXJjaHlcbiAgfVxuXG5cbiAgbWFwQ29udGVudEhpZXJhcmNoeVByb2dyZXNzVXBkYXRlKGNvbnRlbnRIZWlyYXJjaHlEYXRhOiBhbnksIGVucm9sbG1lbnRMaXN0RGF0YTogYW55KSB7XG4gICAgaWYgKGNvbnRlbnRIZWlyYXJjaHlEYXRhICYmIGNvbnRlbnRIZWlyYXJjaHlEYXRhLmNoaWxkcmVuKSB7XG4gICAgICBsZXQgdG90YWxMZWFmTm9kZXMgPSAwXG4gICAgICBsZXQgdG90YWxDb21wbGV0ZWRMZWFmTm9kZXMgPSAwXG5cbiAgICAgIGNvbnRlbnRIZWlyYXJjaHlEYXRhLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGNoaWxkLnByaW1hcnlDYXRlZ29yeSA9PT0gJ01pbGVzdG9uZScpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZU1pbGVzdG9uZVByb2dyZXNzKGNoaWxkLCBjb250ZW50SGVpcmFyY2h5RGF0YT8uaWRlbnRpZmllciwgZW5yb2xsbWVudExpc3REYXRhKVxuICAgICAgICAgIHRvdGFsTGVhZk5vZGVzICs9IGNoaWxkLmxlYWZOb2Rlc0NvdW50IHx8IDBcbiAgICAgICAgICB0b3RhbENvbXBsZXRlZExlYWZOb2RlcyArPSBjaGlsZC5jb21wbGV0ZWRMZWFmTm9kZXNDb3VudCB8fCAwXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRm9yIHByZS1hc3Nlc3NtZW50IGFuZCBvdGhlciByb290LWxldmVsIGNvbnRlbnRcbiAgICAgICAgICBjb25zdCBlbnJvbGxtZW50ID0gdGhpcy5maW5kRW5yb2xsbWVudChlbnJvbGxtZW50TGlzdERhdGEsIGNvbnRlbnRIZWlyYXJjaHlEYXRhPy5pZGVudGlmaWVyKVxuICAgICAgICAgIHRoaXMudXBkYXRlTm9kZVByb2dyZXNzKGNoaWxkLCBlbnJvbGxtZW50KVxuICAgICAgICAgIGNvbnN0IGlzQ29tcGxldGVkID0gY2hpbGQuc3RhdHVzID09PSAyIHx8IGNoaWxkLmNvbXBsZXRpb25TdGF0dXMgPT09IDIgfHwgY2hpbGQuY29tcGxldGlvblBlcmNlbnRhZ2UgPT09IDEwMFxuICAgICAgICAgIHRvdGFsTGVhZk5vZGVzICs9IGNoaWxkLmxlYWZOb2Rlc0NvdW50IHx8IDFcbiAgICAgICAgICB0b3RhbENvbXBsZXRlZExlYWZOb2RlcyArPSBpc0NvbXBsZXRlZCA/IChjaGlsZC5sZWFmTm9kZXNDb3VudCB8fCAxKSA6IDBcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgaWYgKHRvdGFsTGVhZk5vZGVzID4gMCkge1xuICAgICAgICBjb250ZW50SGVpcmFyY2h5RGF0YS5jb21wbGV0aW9uUGVyY2VudGFnZSA9IE1hdGgucm91bmQoKHRvdGFsQ29tcGxldGVkTGVhZk5vZGVzIC8gdG90YWxMZWFmTm9kZXMpICogMTAwKVxuICAgICAgICBjb250ZW50SGVpcmFyY2h5RGF0YS5jb21wbGV0aW9uU3RhdHVzID0gY29udGVudEhlaXJhcmNoeURhdGEuY29tcGxldGlvblBlcmNlbnRhZ2UgPT09IDEwMCA/IDIgOiAxXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb250ZW50SGVpcmFyY2h5RGF0YVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNaWxlc3RvbmVQcm9ncmVzcyhtaWxlc3RvbmU6IGFueSwgcGFyZW50Q29udGVudElkZW50aWZpZXI6IHN0cmluZywgZW5yb2xsbWVudExpc3REYXRhOiBhbnkpIHtcbiAgICBsZXQgdG90YWxMZWFmTm9kZXMgPSAwXG4gICAgbGV0IHRvdGFsQ29tcGxldGVkTGVhZk5vZGVzID0gMFxuICAgIGxldCBjb21wbGV0ZWRDb3Vyc2VzID0gMFxuICAgIGxldCB0b3RhbENvdXJzZXMgPSAwXG5cbiAgICBpZiAobWlsZXN0b25lLmNoaWxkcmVuKSB7XG4gICAgICBtaWxlc3RvbmUuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAoY2hpbGQucHJpbWFyeUNhdGVnb3J5ID09PSAnQ291cnNlJykge1xuICAgICAgICAgIHRvdGFsQ291cnNlcyArPSAxXG4gICAgICAgICAgdGhpcy51cGRhdGVDb3Vyc2VQcm9ncmVzcyhjaGlsZCwgcGFyZW50Q29udGVudElkZW50aWZpZXIsIGVucm9sbG1lbnRMaXN0RGF0YSlcbiAgICAgICAgICAvLyBDaGVjayBib3RoIHN0YXR1cyBhbmQgY29tcGxldGlvblN0YXR1cyBmb3IgY29tcGxldGlvblxuICAgICAgICAgIGlmIChjaGlsZC5zdGF0dXMgPT09IDIgfHwgY2hpbGQuY29tcGxldGlvblN0YXR1cyA9PT0gMiB8fCBjaGlsZC5jb21wbGV0aW9uUGVyY2VudGFnZSA+PSAxMDApIHtcbiAgICAgICAgICAgIGNvbXBsZXRlZENvdXJzZXMgKz0gMVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBGb3IgYXNzZXNzbWVudHMgYW5kIG90aGVyIGNvbnRlbnQsIHRyeSBtdWx0aXBsZSBlbnJvbGxtZW50IHNvdXJjZXNcbiAgICAgICAgICAvLyBGaXJzdCB0cnkgcGFyZW50IExlYXJuaW5nIFBhdGh3YXkgZW5yb2xsbWVudFxuICAgICAgICAgIGxldCBlbnJvbGxtZW50ID0gdGhpcy5maW5kRW5yb2xsbWVudChlbnJvbGxtZW50TGlzdERhdGEsIHBhcmVudENvbnRlbnRJZGVudGlmaWVyKVxuICAgICAgICAgIGlmICghZW5yb2xsbWVudCkge1xuICAgICAgICAgICAgLy8gVHJ5IG1pbGVzdG9uZSBlbnJvbGxtZW50XG4gICAgICAgICAgICBlbnJvbGxtZW50ID0gdGhpcy5maW5kRW5yb2xsbWVudChlbnJvbGxtZW50TGlzdERhdGEsIG1pbGVzdG9uZT8uaWRlbnRpZmllcilcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy51cGRhdGVOb2RlUHJvZ3Jlc3MoY2hpbGQsIGVucm9sbG1lbnQpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsZWFmTm9kZXMgPSBjaGlsZC5sZWFmTm9kZXNDb3VudCB8fCAxXG4gICAgICAgIHRvdGFsTGVhZk5vZGVzICs9IGxlYWZOb2Rlc1xuICAgICAgICAvLyBDaGVjayBib3RoIHN0YXR1cyBhbmQgY29tcGxldGlvblN0YXR1cyBmb3IgY29tcGxldGlvblxuICAgICAgICBpZiAoY2hpbGQuc3RhdHVzID09PSAyIHx8IGNoaWxkLmNvbXBsZXRpb25TdGF0dXMgPT09IDIgfHwgY2hpbGQuY29tcGxldGlvblBlcmNlbnRhZ2UgPj0gMTAwKSB7XG4gICAgICAgICAgdG90YWxDb21wbGV0ZWRMZWFmTm9kZXMgKz0gbGVhZk5vZGVzXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgbWlsZXN0b25lLmxlYWZOb2Rlc0NvdW50ID0gdG90YWxMZWFmTm9kZXNcbiAgICBtaWxlc3RvbmUuY29tcGxldGVkTGVhZk5vZGVzQ291bnQgPSB0b3RhbENvbXBsZXRlZExlYWZOb2Rlc1xuICAgIG1pbGVzdG9uZS50b3RhbENvdXJzZXMgPSB0b3RhbENvdXJzZXNcbiAgICBtaWxlc3RvbmUuY29tcGxldGVkQ291cnNlcyA9IGNvbXBsZXRlZENvdXJzZXNcblxuICAgIGlmICh0b3RhbExlYWZOb2RlcyA+IDApIHtcbiAgICAgIG1pbGVzdG9uZS5jb21wbGV0aW9uUGVyY2VudGFnZSA9IE1hdGgucm91bmQoKHRvdGFsQ29tcGxldGVkTGVhZk5vZGVzIC8gdG90YWxMZWFmTm9kZXMpICogMTAwKVxuICAgICAgbWlsZXN0b25lLmNvbXBsZXRpb25TdGF0dXMgPSBtaWxlc3RvbmUuY29tcGxldGlvblBlcmNlbnRhZ2UgPT09IDEwMCA/IDIgOiAxXG4gICAgICBtaWxlc3RvbmUuc3RhdHVzID0gbWlsZXN0b25lLmNvbXBsZXRpb25QZXJjZW50YWdlID09PSAxMDAgPyAyIDogMVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTm9kZVByb2dyZXNzKG5vZGU6IGFueSwgZW5yb2xsbWVudDogYW55KSB7XG5cbiAgICBjb25zdCBub2RlRW5yb2xsRGF0YSA9IGVucm9sbG1lbnQ/LmNvbnRlbnRMaXN0Py5maW5kKChlbGU6IGFueSkgPT4gZWxlPy5jb250ZW50SWQgPT09IG5vZGUuaWRlbnRpZmllcilcbiAgICBpZiAoZW5yb2xsbWVudCAmJiBub2RlRW5yb2xsRGF0YSAmJiBub2RlRW5yb2xsRGF0YS5zdGF0dXMgPCAyKSB7XG4gICAgICBub2RlLmNvbXBsZXRpb25QZXJjZW50YWdlID0gbm9kZUVucm9sbERhdGEuY29tcGxldGlvblBlcmNlbnRhZ2UgfHwgbm9kZUVucm9sbERhdGEucHJvZ3Jlc3MgfHwgMFxuICAgICAgbm9kZS5jb21wbGV0aW9uU3RhdHVzID0gbm9kZUVucm9sbERhdGEuc3RhdHVzXG4gICAgfSBlbHNlIGlmIChlbnJvbGxtZW50ICYmIG5vZGVFbnJvbGxEYXRhICYmIG5vZGVFbnJvbGxEYXRhLnN0YXR1cyA9PT0gMikge1xuICAgICAgbm9kZS5jb21wbGV0aW9uUGVyY2VudGFnZSA9IDEwMFxuICAgICAgbm9kZS5jb21wbGV0aW9uU3RhdHVzID0gMlxuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLmNvbXBsZXRpb25QZXJjZW50YWdlID0gMFxuICAgICAgbm9kZS5jb21wbGV0aW9uU3RhdHVzID0gMFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ291cnNlUHJvZ3Jlc3MoY291cnNlOiBhbnksIHBhcmVudENvbnRlbnRJZGVudGlmaWVyLCBlbnJvbGxtZW50TGlzdERhdGE6IGFueSkge1xuICAgIGNvbnN0IGVucm9sbG1lbnQgPSB0aGlzLmZpbmRFbnJvbGxtZW50KGVucm9sbG1lbnRMaXN0RGF0YSwgY291cnNlPy5pZGVudGlmaWVyKVxuXG4gICAgaWYgKGVucm9sbG1lbnQ/LmNvbXBsZXRpb25QZXJjZW50YWdlID09PSAxMDApIHtcbiAgICAgIC8vIEVucm9sbG1lbnQgc2hvd3MgMTAwJSAtIG1hcmsgY291cnNlIGFzIGNvbXBsZXRlXG4gICAgICBjb3Vyc2UuY29tcGxldGlvblBlcmNlbnRhZ2UgPSAxMDBcbiAgICAgIGNvdXJzZS5jb21wbGV0aW9uU3RhdHVzID0gMlxuICAgICAgY291cnNlLnN0YXR1cyA9IDJcbiAgICAgIHRoaXMudG9jU3ZjLm1hcENvbXBsZXRpb25DaGlsZFBlcmNlbnRhZ2VQcm9ncmFtKGNvdXJzZSlcbiAgICB9IGVsc2UgaWYgKGVucm9sbG1lbnQgJiYgZW5yb2xsbWVudC5jb21wbGV0aW9uUGVyY2VudGFnZSA+IDApIHtcbiAgICAgIC8vIEVucm9sbG1lbnQgaGFzIHBhcnRpYWwgcHJvZ3Jlc3NcbiAgICAgIGNvdXJzZS5jb21wbGV0aW9uUGVyY2VudGFnZSA9IGVucm9sbG1lbnQuY29tcGxldGlvblBlcmNlbnRhZ2UgfHwgMFxuICAgICAgY291cnNlLmNvbXBsZXRpb25TdGF0dXMgPSAxXG4gICAgICBjb3Vyc2Uuc3RhdHVzID0gMVxuICAgICAgLy8gQWxzbyB1cGRhdGUgY2hpbGRyZW5cbiAgICAgIGlmIChjb3Vyc2UuY2hpbGRyZW4gJiYgY291cnNlLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY291cnNlLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZU5vZGVQcm9ncmVzcyhjaGlsZCwgZW5yb2xsbWVudClcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGNvdXJzZS5jaGlsZHJlbiAmJiBjb3Vyc2UuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICBsZXQgdG90YWxMZWFmTm9kZXMgPSBjb3Vyc2UubGVhZk5vZGVzQ291bnQgfHwgMFxuICAgICAgICBsZXQgdG90YWxDb21wbGV0ZWQgPSAwXG5cbiAgICAgICAgY291cnNlLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZU5vZGVQcm9ncmVzcyhjaGlsZCwgZW5yb2xsbWVudClcbiAgICAgICAgICBpZiAoY2hpbGQuc3RhdHVzID09PSAyIHx8IGNoaWxkLmNvbXBsZXRpb25TdGF0dXMgPT09IDIgfHwgY2hpbGQuY29tcGxldGlvblBlcmNlbnRhZ2UgPT09IDEwMCkge1xuICAgICAgICAgICAgdG90YWxDb21wbGV0ZWQgKz0gY2hpbGQubGVhZk5vZGVzQ291bnQgfHwgMVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICAvLyBJZiBpdCdzIGEgY29sbGVjdGlvbiBhbmQgZG9lc24ndCBoYXZlIGl0cyBvd24gZW5yb2xsbWVudCBwcm9ncmVzcywgY2FsY3VsYXRlIGl0XG4gICAgICAgIGlmICghZW5yb2xsbWVudCB8fCAhY291cnNlLmNvbXBsZXRpb25QZXJjZW50YWdlIHx8IGNvdXJzZS5jb21wbGV0aW9uUGVyY2VudGFnZSA9PT0gMCkge1xuICAgICAgICAgIGlmICghdG90YWxMZWFmTm9kZXMpIHtcbiAgICAgICAgICAgIHRvdGFsTGVhZk5vZGVzID0gY291cnNlLmNoaWxkcmVuLnJlZHVjZSgoYWNjOiBudW1iZXIsIGN1cnI6IGFueSkgPT4gYWNjICsgKGN1cnIubGVhZk5vZGVzQ291bnQgfHwgMSksIDApXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0b3RhbExlYWZOb2RlcyA+IDApIHtcbiAgICAgICAgICAgIGNvdXJzZS5jb21wbGV0aW9uUGVyY2VudGFnZSA9IE1hdGgucm91bmQoKHRvdGFsQ29tcGxldGVkIC8gdG90YWxMZWFmTm9kZXMpICogMTAwKVxuICAgICAgICAgICAgY291cnNlLmNvbXBsZXRpb25TdGF0dXMgPSBjb3Vyc2UuY29tcGxldGlvblBlcmNlbnRhZ2UgPT09IDEwMCA/IDIgOiAoY291cnNlLmNvbXBsZXRpb25QZXJjZW50YWdlID4gMCA/IDEgOiAwKVxuICAgICAgICAgICAgY291cnNlLnN0YXR1cyA9IGNvdXJzZS5jb21wbGV0aW9uU3RhdHVzXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRW5yb2xsbWVudChlbnJvbGxtZW50TGlzdDogYW55LCBpZGVudGlmaWVyOiBzdHJpbmcpIHtcbiAgICBpZiAoIWVucm9sbG1lbnRMaXN0IHx8ICFlbnJvbGxtZW50TGlzdC5sZW5ndGgpIHJldHVybiBudWxsXG4gICAgcmV0dXJuIGVucm9sbG1lbnRMaXN0LmZpbmQoKGVsOiBhbnkpID0+IGVsLmNvbGxlY3Rpb25JZCA9PT0gaWRlbnRpZmllciB8fCBlbC5jb250ZW50SWQgPT09IGlkZW50aWZpZXIpXG4gIH1cblxuXG5cbn1cblxuIl19
|