@sunbird-cb/toc 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/_collection/_common/attendance-card/attendance-card.component.mjs +55 -0
- package/esm2022/lib/_collection/_common/attendance-card/attendance-card.module.mjs +126 -0
- package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.component.mjs +32 -0
- package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.module.mjs +85 -0
- package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.component.mjs +100 -0
- package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.module.mjs +48 -0
- package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.component.mjs +120 -0
- package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.module.mjs +92 -0
- package/esm2022/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.mjs +48 -0
- package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.component.mjs +25 -0
- package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.module.mjs +41 -0
- package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover-card.component.mjs +89 -0
- package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.module.mjs +42 -0
- package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.servive.mjs +41 -0
- package/esm2022/lib/_collection/_common/connection-name/connection-name.component.mjs +78 -0
- package/esm2022/lib/_collection/_common/connection-name/connection-name.module.mjs +45 -0
- package/esm2022/lib/_collection/_common/connection-name/profile-v2.model.mjs +2 -0
- package/esm2022/lib/_collection/_common/content-progress/content-progress.component.mjs +70 -0
- package/esm2022/lib/_collection/_common/content-progress/content-progress.module.mjs +28 -0
- package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.mjs +187 -0
- package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.mjs +86 -0
- package/esm2022/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.mjs +31 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.mjs +941 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.mjs +183 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.mjs +327 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.mjs +297 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.mjs +223 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.mjs +591 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.mjs +16 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.mjs +43 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.mjs +133 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.mjs +66 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.mjs +278 -0
- package/esm2022/lib/_collection/_common/content-toc/content-services/handle-claim.service.mjs +21 -0
- package/esm2022/lib/_collection/_common/content-toc/content-services/review-component-data.service.mjs +21 -0
- package/esm2022/lib/_collection/_common/content-toc/content-toc.component.mjs +847 -0
- package/esm2022/lib/_collection/_common/content-toc/content-toc.module.mjs +219 -0
- package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.component.mjs +209 -0
- package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.module.mjs +26 -0
- package/esm2022/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.mjs +19 -0
- package/esm2022/lib/_collection/_common/content-toc/pipes/truncate.pipe.mjs +23 -0
- package/esm2022/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.mjs +113 -0
- package/esm2022/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.mjs +110 -0
- package/esm2022/lib/_collection/_common/display-content-type/display-content-type.component.mjs +26 -0
- package/esm2022/lib/_collection/_common/display-content-type/display-content-type.module.mjs +19 -0
- package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.mjs +67 -0
- package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.mjs +28 -0
- package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.component.mjs +77 -0
- package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.model.mjs +2 -0
- package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.module.mjs +61 -0
- package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.module.mjs +20 -0
- package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.mjs +73 -0
- package/esm2022/lib/_collection/_common/player-brief/player-brief.component.mjs +139 -0
- package/esm2022/lib/_collection/_common/player-brief/player-brief.module.mjs +71 -0
- package/esm2022/lib/_collection/_common/rating-summary/rating-summary.component.mjs +34 -0
- package/esm2022/lib/_collection/_common/rating-summary/rating-summary.module.mjs +56 -0
- package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.component.mjs +25 -0
- package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.module.mjs +37 -0
- package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.mjs +32 -0
- package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner.module.mjs +30 -0
- package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.mjs +38 -0
- package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.mjs +51 -0
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.component.mjs +115 -0
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.model.mjs +12 -0
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.module.mjs +51 -0
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.service.mjs +61 -0
- package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.component.mjs +87 -0
- package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.module.mjs +36 -0
- package/esm2022/lib/_collection/_common/user-image/user-image.component.mjs +62 -0
- package/esm2022/lib/_collection/_common/user-image/user-image.module.mjs +24 -0
- package/esm2022/lib/_collection/btn-page-back/btn-page-back.component.mjs +192 -0
- package/esm2022/lib/_collection/btn-page-back/btn-page-back.module.mjs +44 -0
- package/esm2022/lib/_collection/btn-page-back/btn-page-back.service.mjs +99 -0
- package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.component.mjs +58 -0
- package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.module.mjs +67 -0
- package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.component.mjs +112 -0
- package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.model.mjs +2 -0
- package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.module.mjs +69 -0
- package/esm2022/lib/_collection-api.mjs +57 -0
- package/esm2022/lib/_constants/widget-content.constants.mjs +19 -0
- package/esm2022/lib/_directives/tooltip.directive.mjs +68 -0
- package/esm2022/lib/_models/common.model.mjs +2 -0
- package/esm2022/lib/_models/error.model.mjs +2 -0
- package/esm2022/lib/_pipes/highlight.pipe.mjs +24 -0
- package/esm2022/lib/_services/rating.service.mjs +89 -0
- package/esm2022/lib/_services/samuhik-charcha.service.mjs +29 -0
- package/esm2022/lib/_services/viewer-route-util.mjs +103 -0
- package/esm2022/lib/_services/widget-content.model.mjs +246 -0
- package/esm2022/lib/_services/widget-content.service.mjs +589 -0
- package/esm2022/lib/_shared/translate-loader.factory.mjs +9 -0
- package/esm2022/lib/app-toc-lib.module.mjs +499 -0
- package/esm2022/lib/collection.config.mjs +161 -0
- package/esm2022/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.mjs +37 -0
- package/esm2022/lib/components/app-toc-banner/app-toc-banner.component.mjs +1436 -0
- package/esm2022/lib/components/app-toc-cios-home/app-toc-cios-home.component.mjs +475 -0
- package/esm2022/lib/components/app-toc-cios-home/consent-dialog.component.mjs +119 -0
- package/esm2022/lib/components/app-toc-cohorts/app-toc-cohorts.component.mjs +80 -0
- package/esm2022/lib/components/app-toc-content-card/app-toc-content-card.component.mjs +249 -0
- package/esm2022/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.mjs +39 -0
- package/esm2022/lib/components/app-toc-discussion/app-toc-discussion.component.mjs +58 -0
- package/esm2022/lib/components/app-toc-home/app-toc-home.component.mjs +2229 -0
- package/esm2022/lib/components/app-toc-home-v2/app-toc-home-v2.component.mjs +2796 -0
- package/esm2022/lib/components/app-toc-overview/app-toc-overview.component.mjs +157 -0
- package/esm2022/lib/components/app-toc-session-card/app-toc-session-card.component.mjs +48 -0
- package/esm2022/lib/components/app-toc-sessions/app-toc-sessions.component.mjs +47 -0
- package/esm2022/lib/components/app-toc-single-page/app-toc-single-page.component.mjs +766 -0
- package/esm2022/lib/components/completion-survey-form/completion-survey-form.component.mjs +243 -0
- package/esm2022/lib/components/create-batch-dialog/create-batch-dialog.component.mjs +116 -0
- package/esm2022/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.mjs +44 -0
- package/esm2022/lib/components/enroll-profile-form/enroll-profile-form.component.mjs +1838 -0
- package/esm2022/lib/components/enroll-questionnaire/enroll-questionnaire.component.mjs +236 -0
- package/esm2022/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.mjs +213 -0
- package/esm2022/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.mjs +36 -0
- package/esm2022/lib/components/public-survey-form/public-survey-form.component.mjs +256 -0
- package/esm2022/lib/components/survey-form-question/survey-form-question.component.mjs +133 -0
- package/esm2022/lib/components/survey-form-section/survey-form-section.component.mjs +36 -0
- package/esm2022/lib/models/app-toc-analytics.model.mjs +2 -0
- package/esm2022/lib/models/app-toc.model.mjs +38 -0
- package/esm2022/lib/models/auto-complete.model.mjs +2 -0
- package/esm2022/lib/models/card-content.model.mjs +13 -0
- package/esm2022/lib/models/content-strip-with-tabs.model.mjs +2 -0
- package/esm2022/lib/models/discussion-forum.model.mjs +14 -0
- package/esm2022/lib/models/goal.model.mjs +2 -0
- package/esm2022/lib/models/meta-tag.model.mjs +8 -0
- package/esm2022/lib/models/playlist.model.mjs +2 -0
- package/esm2022/lib/models/profile-revamp.model.mjs +2 -0
- package/esm2022/lib/models/rating.model.mjs +2 -0
- package/esm2022/lib/models/user-profile.model.mjs +21 -0
- package/esm2022/lib/resolvers/app-toc-cios-resolver.service.mjs +24 -0
- package/esm2022/lib/resolvers/app-toc-cios-user-enroll-resolver.service.mjs +24 -0
- package/esm2022/lib/resolvers/app-toc-content-read-resolver.service.mjs +60 -0
- package/esm2022/lib/resolvers/app-toc-ext-public-resolver.service.mjs +25 -0
- package/esm2022/lib/resolvers/app-toc-resolver.service.mjs +106 -0
- package/esm2022/lib/resolvers/config-resolver.service.mjs +25 -0
- package/esm2022/lib/resolvers/profile-resolver.service.mjs +25 -0
- package/esm2022/lib/resolvers/restricted-features-resolver.service.mjs +25 -0
- package/esm2022/lib/routes/app-toc-home/app-toc-home.component.mjs +51 -0
- package/esm2022/lib/routes/app-toc-home/app-toc-home.directive.mjs +16 -0
- package/esm2022/lib/routes/app-toc-home/app-toc-home.service.mjs +18 -0
- package/esm2022/lib/services/access-control.service.mjs +56 -0
- package/esm2022/lib/services/action.service.mjs +23 -0
- package/esm2022/lib/services/app-toc-v2.service.mjs +47 -0
- package/esm2022/lib/services/app-toc.service.mjs +1001 -0
- package/esm2022/lib/services/certificate.service.mjs +69 -0
- package/esm2022/lib/services/discuss-utils.service.mjs +58 -0
- package/esm2022/lib/services/editor.service.mjs +34 -0
- package/esm2022/lib/services/load-check.service.mjs +21 -0
- package/esm2022/lib/services/loader.service.mjs +33 -0
- package/esm2022/lib/services/mobile-apps.service.mjs +67 -0
- package/esm2022/lib/services/netcore.service.mjs +56 -0
- package/esm2022/lib/services/nps-grid.service.mjs +31 -0
- package/esm2022/lib/services/otp.service.mjs +43 -0
- package/esm2022/lib/services/profile-v2.service.mjs +43 -0
- package/esm2022/lib/services/reset-ratings.service.mjs +19 -0
- package/esm2022/lib/services/resource-download-helper.service.mjs +64 -0
- package/esm2022/lib/services/timer.service.mjs +23 -0
- package/esm2022/lib/services/title-tag.service.mjs +71 -0
- package/esm2022/lib/services/user-profile.service.mjs +55 -0
- package/esm2022/lib/services/viewer-data.service.mjs +64 -0
- package/esm2022/lib/services/viewer-util.service.mjs +500 -0
- package/esm2022/lib/share-toc/share-toc/share-toc.component.mjs +291 -0
- package/esm2022/lib/share-toc/share-toc.module.mjs +119 -0
- package/esm2022/public-api.mjs +56 -0
- package/esm2022/sunbird-cb-toc.mjs +5 -0
- package/fesm2022/sunbird-cb-toc.mjs +23517 -0
- package/fesm2022/sunbird-cb-toc.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts +17 -0
- package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts.map +1 -0
- package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts +32 -0
- package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts.map +1 -0
- package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts +16 -0
- package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts.map +1 -0
- package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts +21 -0
- package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts.map +1 -0
- package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts +23 -0
- package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts.map +1 -0
- package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts +16 -0
- package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts.map +1 -0
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts +23 -0
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts.map +1 -0
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts +23 -0
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts.map +1 -0
- package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts +10 -0
- package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts.map +1 -0
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts +12 -0
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts.map +1 -0
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts +13 -0
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts.map +1 -0
- package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts +19 -0
- package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts.map +1 -0
- package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts +15 -0
- package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts.map +1 -0
- package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts +12 -0
- package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts.map +1 -0
- package/lib/_collection/_common/connection-name/connection-name.component.d.ts +18 -0
- package/lib/_collection/_common/connection-name/connection-name.component.d.ts.map +1 -0
- package/lib/_collection/_common/connection-name/connection-name.module.d.ts +15 -0
- package/lib/_collection/_common/connection-name/connection-name.module.d.ts.map +1 -0
- package/lib/_collection/_common/connection-name/profile-v2.model.d.ts +200 -0
- package/lib/_collection/_common/connection-name/profile-v2.model.d.ts.map +1 -0
- package/lib/_collection/_common/content-progress/content-progress.component.d.ts +17 -0
- package/lib/_collection/_common/content-progress/content-progress.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-progress/content-progress.module.d.ts +11 -0
- package/lib/_collection/_common/content-progress/content-progress.module.d.ts.map +1 -0
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts +39 -0
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts +20 -0
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts +12 -0
- package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts +184 -0
- package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts +42 -0
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts +55 -0
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts +48 -0
- package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts +49 -0
- package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts +92 -0
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts +9 -0
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts +17 -0
- package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts +41 -0
- package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts +22 -0
- package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts +46 -0
- package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts +11 -0
- package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts +11 -0
- package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/content-toc.component.d.ts +129 -0
- package/lib/_collection/_common/content-toc/content-toc.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/content-toc.module.d.ts +52 -0
- package/lib/_collection/_common/content-toc/content-toc.module.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts +30 -0
- package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts +10 -0
- package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts +8 -0
- package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts +8 -0
- package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts +29 -0
- package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts +25 -0
- package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts.map +1 -0
- package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts +15 -0
- package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts.map +1 -0
- package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts +10 -0
- package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts.map +1 -0
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts +13 -0
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts.map +1 -0
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts +11 -0
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts.map +1 -0
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts +23 -0
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts.map +1 -0
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts +9 -0
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts.map +1 -0
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts +19 -0
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts.map +1 -0
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts +9 -0
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts.map +1 -0
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts +17 -0
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts.map +1 -0
- package/lib/_collection/_common/player-brief/player-brief.component.d.ts +36 -0
- package/lib/_collection/_common/player-brief/player-brief.component.d.ts.map +1 -0
- package/lib/_collection/_common/player-brief/player-brief.module.d.ts +20 -0
- package/lib/_collection/_common/player-brief/player-brief.module.d.ts.map +1 -0
- package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts +15 -0
- package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts.map +1 -0
- package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts +14 -0
- package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts.map +1 -0
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts +12 -0
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts.map +1 -0
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts +12 -0
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts.map +1 -0
- package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts +16 -0
- package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts.map +1 -0
- package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts +11 -0
- package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts.map +1 -0
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts +17 -0
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts.map +1 -0
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts +12 -0
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts.map +1 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts +35 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts.map +1 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts +18 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts.map +1 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts +16 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts.map +1 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts +16 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts.map +1 -0
- package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts +22 -0
- package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts.map +1 -0
- package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts +13 -0
- package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts.map +1 -0
- package/lib/_collection/_common/user-image/user-image.component.d.ts +22 -0
- package/lib/_collection/_common/user-image/user-image.component.d.ts.map +1 -0
- package/lib/_collection/_common/user-image/user-image.module.d.ts +10 -0
- package/lib/_collection/_common/user-image/user-image.module.d.ts.map +1 -0
- package/lib/_collection/btn-page-back/btn-page-back.component.d.ts +48 -0
- package/lib/_collection/btn-page-back/btn-page-back.component.d.ts.map +1 -0
- package/lib/_collection/btn-page-back/btn-page-back.module.d.ts +15 -0
- package/lib/_collection/btn-page-back/btn-page-back.module.d.ts.map +1 -0
- package/lib/_collection/btn-page-back/btn-page-back.service.d.ts +23 -0
- package/lib/_collection/btn-page-back/btn-page-back.service.d.ts.map +1 -0
- package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts +20 -0
- package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts.map +1 -0
- package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts +16 -0
- package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts.map +1 -0
- package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts +26 -0
- package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts.map +1 -0
- package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts +22 -0
- package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts.map +1 -0
- package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts +19 -0
- package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts.map +1 -0
- package/lib/_collection-api.d.ts +35 -0
- package/lib/_collection-api.d.ts.map +1 -0
- package/lib/_constants/widget-content.constants.d.ts +8 -0
- package/lib/_constants/widget-content.constants.d.ts.map +1 -0
- package/lib/_directives/tooltip.directive.d.ts +18 -0
- package/lib/_directives/tooltip.directive.d.ts.map +1 -0
- package/lib/_models/common.model.d.ts +4 -0
- package/lib/_models/common.model.d.ts.map +1 -0
- package/lib/_models/error.model.d.ts +6 -0
- package/lib/_models/error.model.d.ts.map +1 -0
- package/lib/_pipes/highlight.pipe.d.ts +11 -0
- package/lib/_pipes/highlight.pipe.d.ts.map +1 -0
- package/lib/_services/rating.service.d.ts +19 -0
- package/lib/_services/rating.service.d.ts.map +1 -0
- package/lib/_services/samuhik-charcha.service.d.ts +14 -0
- package/lib/_services/samuhik-charcha.service.d.ts.map +1 -0
- package/lib/_services/viewer-route-util.d.ts +9 -0
- package/lib/_services/viewer-route-util.d.ts.map +1 -0
- package/lib/_services/widget-content.model.d.ts +515 -0
- package/lib/_services/widget-content.model.d.ts.map +1 -0
- package/lib/_services/widget-content.service.d.ts +101 -0
- package/lib/_services/widget-content.service.d.ts.map +1 -0
- package/lib/_shared/translate-loader.factory.d.ts +8 -0
- package/lib/_shared/translate-loader.factory.d.ts.map +1 -0
- package/lib/app-toc-lib.module.d.ts +89 -0
- package/lib/app-toc-lib.module.d.ts.map +1 -0
- package/lib/collection.config.d.ts +160 -0
- package/lib/collection.config.d.ts.map +1 -0
- package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts +18 -0
- package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts.map +1 -0
- package/lib/components/app-toc-banner/app-toc-banner.component.d.ts +226 -0
- package/lib/components/app-toc-banner/app-toc-banner.component.d.ts.map +1 -0
- package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts +79 -0
- package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts.map +1 -0
- package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts +23 -0
- package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts.map +1 -0
- package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts +32 -0
- package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts.map +1 -0
- package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts +48 -0
- package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts.map +1 -0
- package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts +15 -0
- package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts.map +1 -0
- package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts +22 -0
- package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts.map +1 -0
- package/lib/components/app-toc-home/app-toc-home.component.d.ts +315 -0
- package/lib/components/app-toc-home/app-toc-home.component.d.ts.map +1 -0
- package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts +386 -0
- package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts.map +1 -0
- package/lib/components/app-toc-overview/app-toc-overview.component.d.ts +48 -0
- package/lib/components/app-toc-overview/app-toc-overview.component.d.ts.map +1 -0
- package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts +23 -0
- package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts.map +1 -0
- package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts +15 -0
- package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts.map +1 -0
- package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts +150 -0
- package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts.map +1 -0
- package/lib/components/completion-survey-form/completion-survey-form.component.d.ts +43 -0
- package/lib/components/completion-survey-form/completion-survey-form.component.d.ts.map +1 -0
- package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts +28 -0
- package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts.map +1 -0
- package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts +16 -0
- package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts.map +1 -0
- package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts +196 -0
- package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts.map +1 -0
- package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts +45 -0
- package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts.map +1 -0
- package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts +55 -0
- package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts.map +1 -0
- package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts +19 -0
- package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts.map +1 -0
- package/lib/components/public-survey-form/public-survey-form.component.d.ts +44 -0
- package/lib/components/public-survey-form/public-survey-form.component.d.ts.map +1 -0
- package/lib/components/survey-form-question/survey-form-question.component.d.ts +21 -0
- package/lib/components/survey-form-question/survey-form-question.component.d.ts.map +1 -0
- package/lib/components/survey-form-section/survey-form-section.component.d.ts +14 -0
- package/lib/components/survey-form-section/survey-form-section.component.d.ts.map +1 -0
- package/lib/models/app-toc-analytics.model.d.ts +153 -0
- package/lib/models/app-toc-analytics.model.d.ts.map +1 -0
- package/lib/models/app-toc.model.d.ts +85 -0
- package/lib/models/app-toc.model.d.ts.map +1 -0
- package/lib/models/auto-complete.model.d.ts +28 -0
- package/lib/models/auto-complete.model.d.ts.map +1 -0
- package/lib/models/card-content.model.d.ts +20 -0
- package/lib/models/card-content.model.d.ts.map +1 -0
- package/lib/models/content-strip-with-tabs.model.d.ts +45 -0
- package/lib/models/content-strip-with-tabs.model.d.ts.map +1 -0
- package/lib/models/discussion-forum.model.d.ts +41 -0
- package/lib/models/discussion-forum.model.d.ts.map +1 -0
- package/lib/models/goal.model.d.ts +23 -0
- package/lib/models/goal.model.d.ts.map +1 -0
- package/lib/models/meta-tag.model.d.ts +7 -0
- package/lib/models/meta-tag.model.d.ts.map +1 -0
- package/lib/models/playlist.model.d.ts +24 -0
- package/lib/models/playlist.model.d.ts.map +1 -0
- package/lib/models/profile-revamp.model.d.ts +15 -0
- package/lib/models/profile-revamp.model.d.ts.map +1 -0
- package/lib/models/rating.model.d.ts +18 -0
- package/lib/models/rating.model.d.ts.map +1 -0
- package/lib/models/user-profile.model.d.ts +38 -0
- package/lib/models/user-profile.model.d.ts.map +1 -0
- package/lib/resolvers/app-toc-cios-resolver.service.d.ts +13 -0
- package/lib/resolvers/app-toc-cios-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts +13 -0
- package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/app-toc-content-read-resolver.service.d.ts +17 -0
- package/lib/resolvers/app-toc-content-read-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts +13 -0
- package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/app-toc-resolver.service.d.ts +17 -0
- package/lib/resolvers/app-toc-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/config-resolver.service.d.ts +12 -0
- package/lib/resolvers/config-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/profile-resolver.service.d.ts +12 -0
- package/lib/resolvers/profile-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/restricted-features-resolver.service.d.ts +12 -0
- package/lib/resolvers/restricted-features-resolver.service.d.ts.map +1 -0
- package/lib/routes/app-toc-home/app-toc-home.component.d.ts +20 -0
- package/lib/routes/app-toc-home/app-toc-home.component.d.ts.map +1 -0
- package/lib/routes/app-toc-home/app-toc-home.directive.d.ts +9 -0
- package/lib/routes/app-toc-home/app-toc-home.directive.d.ts.map +1 -0
- package/lib/routes/app-toc-home/app-toc-home.service.d.ts +9 -0
- package/lib/routes/app-toc-home/app-toc-home.service.d.ts.map +1 -0
- package/lib/services/access-control.service.d.ts +30 -0
- package/lib/services/access-control.service.d.ts.map +1 -0
- package/lib/services/action.service.d.ts +10 -0
- package/lib/services/action.service.d.ts.map +1 -0
- package/lib/services/app-toc-v2.service.d.ts +8 -0
- package/lib/services/app-toc-v2.service.d.ts.map +1 -0
- package/lib/services/app-toc.service.d.ts +131 -0
- package/lib/services/app-toc.service.d.ts.map +1 -0
- package/lib/services/certificate.service.d.ts +43 -0
- package/lib/services/certificate.service.d.ts.map +1 -0
- package/lib/services/discuss-utils.service.d.ts +34 -0
- package/lib/services/discuss-utils.service.d.ts.map +1 -0
- package/lib/services/editor.service.d.ts +18 -0
- package/lib/services/editor.service.d.ts.map +1 -0
- package/lib/services/load-check.service.d.ts +9 -0
- package/lib/services/load-check.service.d.ts.map +1 -0
- package/lib/services/loader.service.d.ts +17 -0
- package/lib/services/loader.service.d.ts.map +1 -0
- package/lib/services/mobile-apps.service.d.ts +39 -0
- package/lib/services/mobile-apps.service.d.ts.map +1 -0
- package/lib/services/netcore.service.d.ts +34 -0
- package/lib/services/netcore.service.d.ts.map +1 -0
- package/lib/services/nps-grid.service.d.ts +16 -0
- package/lib/services/nps-grid.service.d.ts.map +1 -0
- package/lib/services/otp.service.d.ts +21 -0
- package/lib/services/otp.service.d.ts.map +1 -0
- package/lib/services/profile-v2.service.d.ts +21 -0
- package/lib/services/profile-v2.service.d.ts.map +1 -0
- package/lib/services/reset-ratings.service.d.ts +9 -0
- package/lib/services/reset-ratings.service.d.ts.map +1 -0
- package/lib/services/resource-download-helper.service.d.ts +30 -0
- package/lib/services/resource-download-helper.service.d.ts.map +1 -0
- package/lib/services/timer.service.d.ts +10 -0
- package/lib/services/timer.service.d.ts.map +1 -0
- package/lib/services/title-tag.service.d.ts +22 -0
- package/lib/services/title-tag.service.d.ts.map +1 -0
- package/lib/services/user-profile.service.d.ts +25 -0
- package/lib/services/user-profile.service.d.ts.map +1 -0
- package/lib/services/viewer-data.service.d.ts +59 -0
- package/lib/services/viewer-data.service.d.ts.map +1 -0
- package/lib/services/viewer-util.service.d.ts +63 -0
- package/lib/services/viewer-util.service.d.ts.map +1 -0
- package/lib/share-toc/share-toc/share-toc.component.d.ts +57 -0
- package/lib/share-toc/share-toc/share-toc.component.d.ts.map +1 -0
- package/lib/share-toc/share-toc.module.d.ts +33 -0
- package/lib/share-toc/share-toc.module.d.ts.map +1 -0
- package/package.json +36 -0
- package/public-api.d.ts +44 -0
- package/public-api.d.ts.map +1 -0
- package/sunbird-cb-toc.d.ts.map +1 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { VIEWER_ROUTE_FROM_MIME } from '../../../../_services/viewer-route-util';
|
|
3
|
+
import { NsContent, WsEvents } from '@sunbird-cb/utils-v2';
|
|
4
|
+
import * as fileSaver from 'file-saver';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
import * as i2 from "@sunbird-cb/utils-v2";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@angular/material/icon";
|
|
10
|
+
import * as i5 from "@angular/material/progress-spinner";
|
|
11
|
+
import * as i6 from "@ngx-translate/core";
|
|
12
|
+
export class AppTocTeachersNotesComponent {
|
|
13
|
+
constructor(router, eventSvc) {
|
|
14
|
+
this.router = router;
|
|
15
|
+
this.eventSvc = eventSvc;
|
|
16
|
+
this.primaryCategory = NsContent.EPrimaryCategory;
|
|
17
|
+
this.downloadInProgress = {};
|
|
18
|
+
this.isDownloadingAll = false;
|
|
19
|
+
this.forPreview = false;
|
|
20
|
+
this.forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() { }
|
|
23
|
+
raiseDownloadAllTelemetry(subType) {
|
|
24
|
+
const event = {
|
|
25
|
+
eventType: WsEvents.WsEventType.Telemetry,
|
|
26
|
+
eventLogLevel: WsEvents.WsEventLogLevel.Info,
|
|
27
|
+
data: {
|
|
28
|
+
edata: {
|
|
29
|
+
type: "click",
|
|
30
|
+
id: this.notesDisplayType == 'Reference Resource' ? "teachers-note" : "reference-note",
|
|
31
|
+
pageid: `/app/toc/${this.content?.identifier}`,
|
|
32
|
+
subType: subType,
|
|
33
|
+
},
|
|
34
|
+
object: {
|
|
35
|
+
id: this.content?.identifier,
|
|
36
|
+
type: this.content?.courseCategory,
|
|
37
|
+
},
|
|
38
|
+
state: WsEvents.EnumTelemetrySubType.Interact,
|
|
39
|
+
eventSubType: WsEvents.EnumTelemetrySubType.Chatbot,
|
|
40
|
+
mode: 'view',
|
|
41
|
+
},
|
|
42
|
+
pageContext: {
|
|
43
|
+
pageId: `/app/toc/${this.content?.identifier}`,
|
|
44
|
+
module: this.notesDisplayType == 'Reference Resource' ? 'Amrit Gyaan Kosh' : 'Learn'
|
|
45
|
+
},
|
|
46
|
+
from: '',
|
|
47
|
+
to: 'Telemetry',
|
|
48
|
+
};
|
|
49
|
+
this.eventSvc.dispatchChatbotEvent(event);
|
|
50
|
+
}
|
|
51
|
+
downloadPDF(contentData) {
|
|
52
|
+
if (!contentData?.artifactUrl) {
|
|
53
|
+
console.error('No artifact URL provided');
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this.downloadInProgress[contentData.identifier] = true;
|
|
57
|
+
this.downloadFile(contentData.artifactUrl, contentData.name || 'download', contentData.identifier);
|
|
58
|
+
this.raiseDownloadAllTelemetry('download');
|
|
59
|
+
}
|
|
60
|
+
previewContent(contentData) {
|
|
61
|
+
this.router.navigate([`/app/amrit-gyaan-kosh/player/${VIEWER_ROUTE_FROM_MIME(contentData.mimeType)}/${contentData.identifier}`], {
|
|
62
|
+
queryParams: {
|
|
63
|
+
primaryCategory: this.primaryCategory.RESOURCE,
|
|
64
|
+
playerPreview: true,
|
|
65
|
+
collectionId: this.content.identifier,
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
downloadAllContent() {
|
|
70
|
+
if (!this.content?.referenceNodes?.length) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const teacherResources = this.content.referenceNodes.filter((ele) => ele?.resourceCategory === this.notesDisplayType && ele.artifactUrl);
|
|
74
|
+
if (teacherResources.length === 0) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
this.isDownloadingAll = true;
|
|
78
|
+
let completedCount = 0;
|
|
79
|
+
teacherResources.forEach((ele) => {
|
|
80
|
+
this.downloadInProgress[ele.identifier] = true;
|
|
81
|
+
this.downloadFile(ele.artifactUrl, ele.name || 'download', ele.identifier)
|
|
82
|
+
.finally(() => {
|
|
83
|
+
completedCount++;
|
|
84
|
+
if (completedCount === teacherResources.length) {
|
|
85
|
+
this.isDownloadingAll = false;
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
this.raiseDownloadAllTelemetry('download-all');
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Check if any download is currently in progress
|
|
93
|
+
*/
|
|
94
|
+
hasActiveDownloads() {
|
|
95
|
+
return this.isDownloadingAll || Object.values(this.downloadInProgress).some(status => status);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Check if content has any teacher resources
|
|
99
|
+
*/
|
|
100
|
+
hasTeacherResources() {
|
|
101
|
+
return this.content?.referenceNodes?.some((node) => node?.resourceCategory === this.notesDisplayType) || false;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Download file using multiple methods to ensure compatibility across browsers
|
|
105
|
+
* @returns Promise that resolves when download completes or fails
|
|
106
|
+
*/
|
|
107
|
+
downloadFile(url, fileName, identifier) {
|
|
108
|
+
// Add file extension if missing
|
|
109
|
+
const fileExtension = this.getFileExtension(url);
|
|
110
|
+
if (fileExtension && !fileName.toLowerCase().endsWith(fileExtension.toLowerCase())) {
|
|
111
|
+
fileName = `${fileName}.${fileExtension}`;
|
|
112
|
+
}
|
|
113
|
+
// Return a promise to track completion
|
|
114
|
+
return new Promise((resolve) => {
|
|
115
|
+
// Use fetch API instead of HttpClient for better control over the download
|
|
116
|
+
this.downloadInProgress[identifier] = true;
|
|
117
|
+
fetch(url, {
|
|
118
|
+
method: 'GET',
|
|
119
|
+
mode: 'cors',
|
|
120
|
+
})
|
|
121
|
+
.then(response => {
|
|
122
|
+
if (!response.ok) {
|
|
123
|
+
throw new Error('Network response was not ok');
|
|
124
|
+
}
|
|
125
|
+
return response.blob();
|
|
126
|
+
})
|
|
127
|
+
.then(blob => {
|
|
128
|
+
// Create a new blob with the correct MIME type if needed
|
|
129
|
+
const contentType = this.getMimeTypeFromUrl(url);
|
|
130
|
+
const newBlob = new Blob([blob], { type: contentType });
|
|
131
|
+
// Try to save the blob
|
|
132
|
+
this.saveBlob(newBlob, fileName);
|
|
133
|
+
resolve();
|
|
134
|
+
})
|
|
135
|
+
.catch(error => {
|
|
136
|
+
console.error('Fetch download failed:', error);
|
|
137
|
+
// Fallback to XHR which sometimes handles CORS better
|
|
138
|
+
this.downloadWithXHR(url, fileName).finally(resolve);
|
|
139
|
+
})
|
|
140
|
+
.finally(() => {
|
|
141
|
+
this.downloadInProgress[identifier] = false;
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Attempt download using XMLHttpRequest as a fallback
|
|
147
|
+
*/
|
|
148
|
+
downloadWithXHR(url, fileName) {
|
|
149
|
+
return new Promise((resolve) => {
|
|
150
|
+
const xhr = new XMLHttpRequest();
|
|
151
|
+
xhr.open('GET', url, true);
|
|
152
|
+
xhr.responseType = 'blob';
|
|
153
|
+
xhr.onload = () => {
|
|
154
|
+
if (xhr.status === 200) {
|
|
155
|
+
const contentType = xhr.getResponseHeader('Content-Type') || this.getMimeTypeFromUrl(url);
|
|
156
|
+
const blob = new Blob([xhr.response], { type: contentType });
|
|
157
|
+
this.saveBlob(blob, fileName);
|
|
158
|
+
resolve();
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
console.error('XHR download failed, trying direct iframe method');
|
|
162
|
+
this.tryDirectDownload(url, fileName);
|
|
163
|
+
resolve();
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
xhr.onerror = () => {
|
|
167
|
+
console.error('XHR download failed, trying direct iframe method');
|
|
168
|
+
this.tryDirectDownload(url, fileName);
|
|
169
|
+
resolve();
|
|
170
|
+
};
|
|
171
|
+
xhr.send();
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
getFileExtension(url) {
|
|
175
|
+
if (!url)
|
|
176
|
+
return '';
|
|
177
|
+
const urlParts = url.split('.');
|
|
178
|
+
if (urlParts.length > 1) {
|
|
179
|
+
return urlParts[urlParts.length - 1].split(/[?#]/)[0].toLowerCase();
|
|
180
|
+
}
|
|
181
|
+
return '';
|
|
182
|
+
}
|
|
183
|
+
getMimeTypeFromUrl(url) {
|
|
184
|
+
const extension = this.getFileExtension(url);
|
|
185
|
+
switch (extension) {
|
|
186
|
+
case 'pdf':
|
|
187
|
+
return 'application/pdf';
|
|
188
|
+
case 'mp4':
|
|
189
|
+
return 'video/mp4';
|
|
190
|
+
case 'doc':
|
|
191
|
+
case 'docx':
|
|
192
|
+
return 'application/msword';
|
|
193
|
+
case 'xls':
|
|
194
|
+
case 'xlsx':
|
|
195
|
+
return 'application/vnd.ms-excel';
|
|
196
|
+
case 'ppt':
|
|
197
|
+
case 'pptx':
|
|
198
|
+
return 'application/vnd.ms-powerpoint';
|
|
199
|
+
case 'jpg':
|
|
200
|
+
case 'jpeg':
|
|
201
|
+
return 'image/jpeg';
|
|
202
|
+
case 'png':
|
|
203
|
+
return 'image/png';
|
|
204
|
+
default:
|
|
205
|
+
return 'application/octet-stream'; // Default binary mime type
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
saveBlob(blob, fileName) {
|
|
209
|
+
try {
|
|
210
|
+
// For modern browsers using FileSaver
|
|
211
|
+
fileSaver.saveAs(blob, fileName);
|
|
212
|
+
}
|
|
213
|
+
catch (e) {
|
|
214
|
+
console.error('FileSaver failed, trying manual download', e);
|
|
215
|
+
// Manual download fallback
|
|
216
|
+
const url = window.URL.createObjectURL(blob);
|
|
217
|
+
const a = document.createElement('a');
|
|
218
|
+
a.style.display = 'none';
|
|
219
|
+
a.href = url;
|
|
220
|
+
a.download = fileName;
|
|
221
|
+
document.body.appendChild(a);
|
|
222
|
+
a.click();
|
|
223
|
+
window.URL.revokeObjectURL(url);
|
|
224
|
+
document.body.removeChild(a);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
tryDirectDownload(url, fileName) {
|
|
228
|
+
// Use iframe for potentially bypassing CORS issues
|
|
229
|
+
const iframe = document.createElement('iframe');
|
|
230
|
+
iframe.style.display = 'none';
|
|
231
|
+
document.body.appendChild(iframe);
|
|
232
|
+
try {
|
|
233
|
+
// Construct a download URL
|
|
234
|
+
const downloadUrl = url + (url.indexOf('?') === -1 ? '?' : '&') + 'download=true';
|
|
235
|
+
// Create a link inside the iframe and click it
|
|
236
|
+
const doc = iframe.contentDocument || iframe.contentWindow?.document;
|
|
237
|
+
if (doc) {
|
|
238
|
+
const a = doc.createElement('a');
|
|
239
|
+
a.href = downloadUrl;
|
|
240
|
+
a.download = fileName;
|
|
241
|
+
a.style.display = 'none';
|
|
242
|
+
doc.body.appendChild(a);
|
|
243
|
+
a.click();
|
|
244
|
+
doc.body.removeChild(a);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
catch (e) {
|
|
248
|
+
console.error('Iframe download approach failed:', e);
|
|
249
|
+
// Last resort - try download attribute on anchor tag
|
|
250
|
+
const a = document.createElement('a');
|
|
251
|
+
a.href = url;
|
|
252
|
+
a.download = fileName;
|
|
253
|
+
a.target = '_self'; // Important: use _self instead of _blank
|
|
254
|
+
document.body.appendChild(a);
|
|
255
|
+
a.click();
|
|
256
|
+
document.body.removeChild(a);
|
|
257
|
+
}
|
|
258
|
+
finally {
|
|
259
|
+
// Clean up the iframe
|
|
260
|
+
setTimeout(() => {
|
|
261
|
+
if (document.body.contains(iframe)) {
|
|
262
|
+
document.body.removeChild(iframe);
|
|
263
|
+
}
|
|
264
|
+
}, 1000);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocTeachersNotesComponent, deps: [{ token: i1.Router }, { token: i2.EventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
268
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AppTocTeachersNotesComponent, selector: "ws-widget-app-toc-teachers-notes", inputs: { content: "content", notesDisplayType: "notesDisplayType" }, ngImport: i0, template: "<div class=\"flex justify-between items-center\">\n <div class=\"teachers-note-header\">{{ 'apptocsinglepage.teachersNoteHeading' | translate }}</div>\n <div>\n <button [disabled]=\"hasActiveDownloads()\" (click)=\"downloadAllContent()\" class=\"download-all flex items-center\">\n <span *ngIf=\"!isDownloadingAll\">{{ 'apptocsinglepage.downaloadAllPdfs' | translate }}</span>\n <span *ngIf=\"isDownloadingAll\" class=\"flex items-center\">\n <mat-spinner diameter=\"16\" class=\"mr-2\"></mat-spinner>\n Downloading\n </span>\n </button>\n </div>\n</div>\n\n<div class=\"guide-container\" *ngIf=\"content?.referenceNodes\">\n <ng-container *ngFor=\"let note of content?.referenceNodes\">\n <div class=\"guide-card flex gap-4 justify-between\" *ngIf=\"note?.resourceCategory === notesDisplayType\">\n <div class=\"flex flex-col justify-center\">\n <div class=\"note-title\">{{note?.name}}</div>\n <!-- To remove view option in case of public preview of toc -->\n <ng-container *ngIf=\"!forPreview\">\n <div class=\"flex gap-2 pt-2\">\n <mat-icon class=\"material-symbols-outlined\">\n visibility\n </mat-icon>\n\n <a (click)=\"previewContent(note)\">\n <span class=\"view-pdf\">{{ 'apptocsinglepage.viewPDF' | translate }}</span>\n </a>\n </div>\n </ng-container>\n </div>\n <div>\n <div class=\"download-ind\">\n <a (click)=\"downloadPDF(note)\" class=\"download-link flex items-center\">\n <span *ngIf=\"!downloadInProgress[note.identifier]\">{{ 'apptocsinglepage.downloadPdf' | translate }}</span>\n <span *ngIf=\"downloadInProgress[note.identifier]\" class=\"flex items-center\">\n <mat-spinner diameter=\"16\" class=\"mr-2\"></mat-spinner>\n Downloading\n </span>\n </a>\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n\n<!-- No teachers resources message -->\n<div *ngIf=\"!hasTeacherResources()\" class=\"no-resources-message mt-4\">\n {{ 'apptocsinglepage.noTeachersResources' | translate }}\n</div>", styles: [".teachers-note-header{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}.download-all{padding:0 16px;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;color:#1b4ca1;cursor:pointer;background:transparent;border:none}.guide-container .view-pdf{font-size:14px;cursor:pointer;opacity:.8;color:#000}.guide-container .note-title{font-family:Lato;font-size:16px;font-weight:700;line-height:24px;text-align:left;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;color:#1b4ca1}.guide-container .guide-card{border-radius:8px;background-color:#fff;padding:16px;margin:16px 0}.guide-container .download-ind{padding:12px 16px;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;color:#1b4ca1;cursor:pointer;border-radius:40px;border-color:1px solid #c3c3c3}.download-btn,.download-link{cursor:pointer;transition:opacity .2s ease}.download-btn:disabled,.download-link:disabled{opacity:.6;cursor:not-allowed}.download-link{display:inline-flex;align-items:center}.no-resources-message{color:#666;font-style:italic;padding:1rem 0}mat-spinner{display:inline-block;vertical-align:middle;margin-right:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
269
|
+
}
|
|
270
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocTeachersNotesComponent, decorators: [{
|
|
271
|
+
type: Component,
|
|
272
|
+
args: [{ selector: 'ws-widget-app-toc-teachers-notes', template: "<div class=\"flex justify-between items-center\">\n <div class=\"teachers-note-header\">{{ 'apptocsinglepage.teachersNoteHeading' | translate }}</div>\n <div>\n <button [disabled]=\"hasActiveDownloads()\" (click)=\"downloadAllContent()\" class=\"download-all flex items-center\">\n <span *ngIf=\"!isDownloadingAll\">{{ 'apptocsinglepage.downaloadAllPdfs' | translate }}</span>\n <span *ngIf=\"isDownloadingAll\" class=\"flex items-center\">\n <mat-spinner diameter=\"16\" class=\"mr-2\"></mat-spinner>\n Downloading\n </span>\n </button>\n </div>\n</div>\n\n<div class=\"guide-container\" *ngIf=\"content?.referenceNodes\">\n <ng-container *ngFor=\"let note of content?.referenceNodes\">\n <div class=\"guide-card flex gap-4 justify-between\" *ngIf=\"note?.resourceCategory === notesDisplayType\">\n <div class=\"flex flex-col justify-center\">\n <div class=\"note-title\">{{note?.name}}</div>\n <!-- To remove view option in case of public preview of toc -->\n <ng-container *ngIf=\"!forPreview\">\n <div class=\"flex gap-2 pt-2\">\n <mat-icon class=\"material-symbols-outlined\">\n visibility\n </mat-icon>\n\n <a (click)=\"previewContent(note)\">\n <span class=\"view-pdf\">{{ 'apptocsinglepage.viewPDF' | translate }}</span>\n </a>\n </div>\n </ng-container>\n </div>\n <div>\n <div class=\"download-ind\">\n <a (click)=\"downloadPDF(note)\" class=\"download-link flex items-center\">\n <span *ngIf=\"!downloadInProgress[note.identifier]\">{{ 'apptocsinglepage.downloadPdf' | translate }}</span>\n <span *ngIf=\"downloadInProgress[note.identifier]\" class=\"flex items-center\">\n <mat-spinner diameter=\"16\" class=\"mr-2\"></mat-spinner>\n Downloading\n </span>\n </a>\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n\n<!-- No teachers resources message -->\n<div *ngIf=\"!hasTeacherResources()\" class=\"no-resources-message mt-4\">\n {{ 'apptocsinglepage.noTeachersResources' | translate }}\n</div>", styles: [".teachers-note-header{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}.download-all{padding:0 16px;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;color:#1b4ca1;cursor:pointer;background:transparent;border:none}.guide-container .view-pdf{font-size:14px;cursor:pointer;opacity:.8;color:#000}.guide-container .note-title{font-family:Lato;font-size:16px;font-weight:700;line-height:24px;text-align:left;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;color:#1b4ca1}.guide-container .guide-card{border-radius:8px;background-color:#fff;padding:16px;margin:16px 0}.guide-container .download-ind{padding:12px 16px;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;color:#1b4ca1;cursor:pointer;border-radius:40px;border-color:1px solid #c3c3c3}.download-btn,.download-link{cursor:pointer;transition:opacity .2s ease}.download-btn:disabled,.download-link:disabled{opacity:.6;cursor:not-allowed}.download-link{display:inline-flex;align-items:center}.no-resources-message{color:#666;font-style:italic;padding:1rem 0}mat-spinner{display:inline-block;vertical-align:middle;margin-right:8px}\n"] }]
|
|
273
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.EventService }]; }, propDecorators: { content: [{
|
|
274
|
+
type: Input
|
|
275
|
+
}], notesDisplayType: [{
|
|
276
|
+
type: Input
|
|
277
|
+
}] } });
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRvYy10ZWFjaGVycy1ub3Rlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vX2NvbW1vbi9jb250ZW50LXRvYy9hcHAtdG9jLXRlYWNoZXJzLW5vdGVzL2FwcC10b2MtdGVhY2hlcnMtbm90ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL19jb2xsZWN0aW9uL19jb21tb24vY29udGVudC10b2MvYXBwLXRvYy10ZWFjaGVycy1ub3Rlcy9hcHAtdG9jLXRlYWNoZXJzLW5vdGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFBO0FBRXhELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2hGLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3hFLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFBOzs7Ozs7OztBQVF2QyxNQUFNLE9BQU8sNEJBQTRCO0lBU3ZDLFlBQW1CLE1BQWMsRUFDeEIsUUFBc0I7UUFEWixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWM7UUFOL0Isb0JBQWUsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUE7UUFDNUMsdUJBQWtCLEdBQStCLEVBQUUsQ0FBQTtRQUNuRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUE7UUFDeEIsZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUtoQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFV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QUUsQ0FBQyxDQUFDLENBQUE7WUFFcEQscURBQXFEO1lBQ3JELE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDckMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUE7WUFDWixDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtZQUNyQixDQUFDLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQSxDQUFDLHlDQUF5QztZQUM1RCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM1QixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDVCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUM3QjtnQkFBUztZQUNSLHNCQUFzQjtZQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQ2xDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2lCQUNsQztZQUNILENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtTQUNUO0lBQ0gsQ0FBQzsrR0E5UlUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsOElDWnpDLDZvRUFpRE07OzRGRHJDTyw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0Usa0NBQWtDO3dIQU9uQyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IFZJRVdFUl9ST1VURV9GUk9NX01JTUUgfSBmcm9tICcuLi8uLi8uLi8uLi9fc2VydmljZXMvdmlld2VyLXJvdXRlLXV0aWwnXG5pbXBvcnQgeyBFdmVudFNlcnZpY2UsIE5zQ29udGVudCwgV3NFdmVudHMgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12MidcbmltcG9ydCAqIGFzIGZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3cy13aWRnZXQtYXBwLXRvYy10ZWFjaGVycy1ub3RlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtdG9jLXRlYWNoZXJzLW5vdGVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXBwLXRvYy10ZWFjaGVycy1ub3Rlcy5jb21wb25lbnQuc2NzcyddLFxufSlcblxuZXhwb3J0IGNsYXNzIEFwcFRvY1RlYWNoZXJzTm90ZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGNvbnRlbnQhOiBOc0NvbnRlbnQuSUNvbnRlbnRcbiAgQElucHV0KCkgbm90ZXNEaXNwbGF5VHlwZSE6IHN0cmluZ1xuICBwcmltYXJ5Q2F0ZWdvcnkgPSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeVxuICBkb3dubG9hZEluUHJvZ3Jlc3M6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge31cbiAgaXNEb3dubG9hZGluZ0FsbCA9IGZhbHNlXG4gIGZvclByZXZpZXcgPSBmYWxzZVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBwdWJsaWMgZXZlbnRTdmM6IEV2ZW50U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5mb3JQcmV2aWV3ID0gd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJy9wdWJsaWMvJykgfHwgd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJyZwcmV2aWV3PXRydWUnKVxuICB9XG5cbiAgbmdPbkluaXQoKSB7IH1cblxuICByYWlzZURvd25sb2FkQWxsVGVsZW1ldHJ5KHN1YlR5cGU6IHN0cmluZykge1xuICAgIGNvbnN0IGV2ZW50ID0ge1xuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXG4gICAgICBldmVudExvZ0xldmVsOiBXc0V2ZW50cy5Xc0V2ZW50TG9nTGV2ZWwuSW5mbyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgZWRhdGE6IHtcbiAgICAgICAgICB0eXBlOiBcImNsaWNrXCIsXG4gICAgICAgICAgaWQ6IHRoaXMubm90ZXNEaXNwbGF5VHlwZSA9PSAnUmVmZXJlbmNlIFJlc291cmNlJyA/IFwidGVhY2hlcnMtbm90ZVwiIDogXCJyZWZlcmVuY2Utbm90ZVwiLFxuICAgICAgICAgIHBhZ2VpZDogYC9hcHAvdG9jLyR7dGhpcy5jb250ZW50Py5pZGVudGlmaWVyfWAsXG4gICAgICAgICAgc3ViVHlwZTogc3ViVHlwZSxcbiAgICAgICAgfSxcbiAgICAgICAgb2JqZWN0OiB7XG4gICAgICAgICAgaWQ6IHRoaXMuY29udGVudD8uaWRlbnRpZmllcixcbiAgICAgICAgICB0eXBlOiB0aGlzLmNvbnRlbnQ/LmNvdXJzZUNhdGVnb3J5LFxuICAgICAgICB9LFxuICAgICAgICBzdGF0ZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuSW50ZXJhY3QsXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuQ2hhdGJvdCxcbiAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgfSxcbiAgICAgIHBhZ2VDb250ZXh0OiB7XG4gICAgICAgIHBhZ2VJZDogYC9hcHAvdG9jLyR7dGhpcy5jb250ZW50Py5pZGVudGlmaWVyfWAsXG4gICAgICAgIG1vZHVsZTogdGhpcy5ub3Rlc0Rpc3BsYXlUeXBlID09ICdSZWZlcmVuY2UgUmVzb3VyY2UnID8gJ0Ftcml0IEd5YWFuIEtvc2gnIDogJ0xlYXJuJ1xuICAgICAgfSxcbiAgICAgIGZyb206ICcnLFxuICAgICAgdG86ICdUZWxlbWV0cnknLFxuICAgIH1cbiAgICB0aGlzLmV2ZW50U3ZjLmRpc3BhdGNoQ2hhdGJvdEV2ZW50PFdzRXZlbnRzLklXc0V2ZW50VGVsZW1ldHJ5SW50ZXJhY3Q+KGV2ZW50KVxuICB9XG5cbiAgZG93bmxvYWRQREYoY29udGVudERhdGE6IGFueSkge1xuICAgIGlmICghY29udGVudERhdGE/LmFydGlmYWN0VXJsKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdObyBhcnRpZmFjdCBVUkwgcHJvdmlkZWQnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5kb3dubG9hZEluUHJvZ3Jlc3NbY29udGVudERhdGEuaWRlbnRpZmllcl0gPSB0cnVlXG4gICAgdGhpcy5kb3dubG9hZEZpbGUoY29udGVudERhdGEuYXJ0aWZhY3RVcmwsIGNvbnRlbnREYXRhLm5hbWUgfHwgJ2Rvd25sb2FkJywgY29udGVudERhdGEuaWRlbnRpZmllcilcbiAgICB0aGlzLnJhaXNlRG93bmxvYWRBbGxUZWxlbWV0cnkoJ2Rvd25sb2FkJylcbiAgfVxuXG4gIHByZXZpZXdDb250ZW50KGNvbnRlbnREYXRhOiBhbnkpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9hcHAvYW1yaXQtZ3lhYW4ta29zaC9wbGF5ZXIvJHtWSUVXRVJfUk9VVEVfRlJPTV9NSU1FKGNvbnRlbnREYXRhLm1pbWVUeXBlKX0vJHtjb250ZW50RGF0YS5pZGVudGlmaWVyfWBdLCB7XG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBwcmltYXJ5Q2F0ZWdvcnk6IHRoaXMucHJpbWFyeUNhdGVnb3J5LlJFU09VUkNFLFxuICAgICAgICBwbGF5ZXJQcmV2aWV3OiB0cnVlLFxuICAgICAgICBjb2xsZWN0aW9uSWQ6IHRoaXMuY29udGVudC5pZGVudGlmaWVyLFxuICAgICAgfSxcbiAgICB9KVxuICB9XG5cbiAgZG93bmxvYWRBbGxDb250ZW50KCkge1xuICAgIGlmICghdGhpcy5jb250ZW50Py5yZWZlcmVuY2VOb2Rlcz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCB0ZWFjaGVyUmVzb3VyY2VzID0gdGhpcy5jb250ZW50LnJlZmVyZW5jZU5vZGVzLmZpbHRlcihcbiAgICAgIChlbGU6IGFueSkgPT4gZWxlPy5yZXNvdXJjZUNhdGVnb3J5ID09PSB0aGlzLm5vdGVzRGlzcGxheVR5cGUgJiYgZWxlLmFydGlmYWN0VXJsXG4gICAgKVxuXG4gICAgaWYgKHRlYWNoZXJSZXNvdXJjZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmlzRG93bmxvYWRpbmdBbGwgPSB0cnVlXG4gICAgbGV0IGNvbXBsZXRlZENvdW50ID0gMFxuXG4gICAgdGVhY2hlclJlc291cmNlcy5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xuICAgICAgdGhpcy5kb3dubG9hZEluUHJvZ3Jlc3NbZWxlLmlkZW50aWZpZXJdID0gdHJ1ZVxuICAgICAgdGhpcy5kb3dubG9hZEZpbGUoZWxlLmFydGlmYWN0VXJsLCBlbGUubmFtZSB8fCAnZG93bmxvYWQnLCBlbGUuaWRlbnRpZmllcilcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgIGNvbXBsZXRlZENvdW50KytcbiAgICAgICAgICBpZiAoY29tcGxldGVkQ291bnQgPT09IHRlYWNoZXJSZXNvdXJjZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmlzRG93bmxvYWRpbmdBbGwgPSBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9KVxuICAgIHRoaXMucmFpc2VEb3dubG9hZEFsbFRlbGVtZXRyeSgnZG93bmxvYWQtYWxsJylcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbnkgZG93bmxvYWQgaXMgY3VycmVudGx5IGluIHByb2dyZXNzXG4gICAqL1xuICBoYXNBY3RpdmVEb3dubG9hZHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNEb3dubG9hZGluZ0FsbCB8fCBPYmplY3QudmFsdWVzKHRoaXMuZG93bmxvYWRJblByb2dyZXNzKS5zb21lKHN0YXR1cyA9PiBzdGF0dXMpXG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY29udGVudCBoYXMgYW55IHRlYWNoZXIgcmVzb3VyY2VzXG4gICAqL1xuICBoYXNUZWFjaGVyUmVzb3VyY2VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQ/LnJlZmVyZW5jZU5vZGVzPy5zb21lKChub2RlOiBhbnkpID0+IG5vZGU/LnJlc291cmNlQ2F0ZWdvcnkgPT09IHRoaXMubm90ZXNEaXNwbGF5VHlwZSkgfHwgZmFsc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBEb3dubG9hZCBmaWxlIHVzaW5nIG11bHRpcGxlIG1ldGhvZHMgdG8gZW5zdXJlIGNvbXBhdGliaWxpdHkgYWNyb3NzIGJyb3dzZXJzXG4gICAqIEByZXR1cm5zIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGRvd25sb2FkIGNvbXBsZXRlcyBvciBmYWlsc1xuICAgKi9cbiAgcHJpdmF0ZSBkb3dubG9hZEZpbGUodXJsOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEFkZCBmaWxlIGV4dGVuc2lvbiBpZiBtaXNzaW5nXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IHRoaXMuZ2V0RmlsZUV4dGVuc2lvbih1cmwpXG4gICAgaWYgKGZpbGVFeHRlbnNpb24gJiYgIWZpbGVOYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoZmlsZUV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgZmlsZU5hbWUgPSBgJHtmaWxlTmFtZX0uJHtmaWxlRXh0ZW5zaW9ufWBcbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gYSBwcm9taXNlIHRvIHRyYWNrIGNvbXBsZXRpb25cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIC8vIFVzZSBmZXRjaCBBUEkgaW5zdGVhZCBvZiBIdHRwQ2xpZW50IGZvciBiZXR0ZXIgY29udHJvbCBvdmVyIHRoZSBkb3dubG9hZFxuICAgICAgdGhpcy5kb3dubG9hZEluUHJvZ3Jlc3NbaWRlbnRpZmllcl0gPSB0cnVlXG5cbiAgICAgIGZldGNoKHVybCwge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBtb2RlOiAnY29ycycsXG4gICAgICB9KVxuICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZXR3b3JrIHJlc3BvbnNlIHdhcyBub3Qgb2snKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYmxvYigpXG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKGJsb2IgPT4ge1xuICAgICAgICAgIC8vIENyZWF0ZSBhIG5ldyBibG9iIHdpdGggdGhlIGNvcnJlY3QgTUlNRSB0eXBlIGlmIG5lZWRlZFxuICAgICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gdGhpcy5nZXRNaW1lVHlwZUZyb21VcmwodXJsKVxuICAgICAgICAgIGNvbnN0IG5ld0Jsb2IgPSBuZXcgQmxvYihbYmxvYl0sIHsgdHlwZTogY29udGVudFR5cGUgfSlcblxuICAgICAgICAgIC8vIFRyeSB0byBzYXZlIHRoZSBibG9iXG4gICAgICAgICAgdGhpcy5zYXZlQmxvYihuZXdCbG9iLCBmaWxlTmFtZSlcbiAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdGZXRjaCBkb3dubG9hZCBmYWlsZWQ6JywgZXJyb3IpXG5cbiAgICAgICAgICAvLyBGYWxsYmFjayB0byBYSFIgd2hpY2ggc29tZXRpbWVzIGhhbmRsZXMgQ09SUyBiZXR0ZXJcbiAgICAgICAgICB0aGlzLmRvd25sb2FkV2l0aFhIUih1cmwsIGZpbGVOYW1lKS5maW5hbGx5KHJlc29sdmUpXG4gICAgICAgIH0pXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmRvd25sb2FkSW5Qcm9ncmVzc1tpZGVudGlmaWVyXSA9IGZhbHNlXG4gICAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRlbXB0IGRvd25sb2FkIHVzaW5nIFhNTEh0dHBSZXF1ZXN0IGFzIGEgZmFsbGJhY2tcbiAgICovXG4gIHByaXZhdGUgZG93bmxvYWRXaXRoWEhSKHVybDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKVxuICAgICAgeGhyLm9wZW4oJ0dFVCcsIHVybCwgdHJ1ZSlcbiAgICAgIHhoci5yZXNwb25zZVR5cGUgPSAnYmxvYidcblxuICAgICAgeGhyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0geGhyLmdldFJlc3BvbnNlSGVhZGVyKCdDb250ZW50LVR5cGUnKSB8fCB0aGlzLmdldE1pbWVUeXBlRnJvbVVybCh1cmwpXG4gICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFt4aHIucmVzcG9uc2VdLCB7IHR5cGU6IGNvbnRlbnRUeXBlIH0pXG4gICAgICAgICAgdGhpcy5zYXZlQmxvYihibG9iLCBmaWxlTmFtZSlcbiAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdYSFIgZG93bmxvYWQgZmFpbGVkLCB0cnlpbmcgZGlyZWN0IGlmcmFtZSBtZXRob2QnKVxuICAgICAgICAgIHRoaXMudHJ5RGlyZWN0RG93bmxvYWQodXJsLCBmaWxlTmFtZSlcbiAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB4aHIub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignWEhSIGRvd25sb2FkIGZhaWxlZCwgdHJ5aW5nIGRpcmVjdCBpZnJhbWUgbWV0aG9kJylcbiAgICAgICAgdGhpcy50cnlEaXJlY3REb3dubG9hZCh1cmwsIGZpbGVOYW1lKVxuICAgICAgICByZXNvbHZlKClcbiAgICAgIH1cblxuICAgICAgeGhyLnNlbmQoKVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGdldEZpbGVFeHRlbnNpb24odXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdXJsKSByZXR1cm4gJydcblxuICAgIGNvbnN0IHVybFBhcnRzID0gdXJsLnNwbGl0KCcuJylcbiAgICBpZiAodXJsUGFydHMubGVuZ3RoID4gMSkge1xuICAgICAgcmV0dXJuIHVybFBhcnRzW3VybFBhcnRzLmxlbmd0aCAtIDFdLnNwbGl0KC9bPyNdLylbMF0udG9Mb3dlckNhc2UoKVxuICAgIH1cbiAgICByZXR1cm4gJydcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWltZVR5cGVGcm9tVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBleHRlbnNpb24gPSB0aGlzLmdldEZpbGVFeHRlbnNpb24odXJsKVxuXG4gICAgc3dpdGNoIChleHRlbnNpb24pIHtcbiAgICAgIGNhc2UgJ3BkZic6XG4gICAgICAgIHJldHVybiAnYXBwbGljYXRpb24vcGRmJ1xuICAgICAgY2FzZSAnbXA0JzpcbiAgICAgICAgcmV0dXJuICd2aWRlby9tcDQnXG4gICAgICBjYXNlICdkb2MnOlxuICAgICAgY2FzZSAnZG9jeCc6XG4gICAgICAgIHJldHVybiAnYXBwbGljYXRpb24vbXN3b3JkJ1xuICAgICAgY2FzZSAneGxzJzpcbiAgICAgIGNhc2UgJ3hsc3gnOlxuICAgICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCdcbiAgICAgIGNhc2UgJ3BwdCc6XG4gICAgICBjYXNlICdwcHR4JzpcbiAgICAgICAgcmV0dXJuICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCdcbiAgICAgIGNhc2UgJ2pwZyc6XG4gICAgICBjYXNlICdqcGVnJzpcbiAgICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJ1xuICAgICAgY2FzZSAncG5nJzpcbiAgICAgICAgcmV0dXJuICdpbWFnZS9wbmcnXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScgLy8gRGVmYXVsdCBiaW5hcnkgbWltZSB0eXBlXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzYXZlQmxvYihibG9iOiBCbG9iLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEZvciBtb2Rlcm4gYnJvd3NlcnMgdXNpbmcgRmlsZVNhdmVyXG4gICAgICBmaWxlU2F2ZXIuc2F2ZUFzKGJsb2IsIGZpbGVOYW1lKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZpbGVTYXZlciBmYWlsZWQsIHRyeWluZyBtYW51YWwgZG93bmxvYWQnLCBlKVxuXG4gICAgICAvLyBNYW51YWwgZG93bmxvYWQgZmFsbGJhY2tcbiAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpXG4gICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG4gICAgICBhLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSdcbiAgICAgIGEuaHJlZiA9IHVybFxuICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpXG4gICAgICBhLmNsaWNrKClcbiAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybClcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRyeURpcmVjdERvd25sb2FkKHVybDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gVXNlIGlmcmFtZSBmb3IgcG90ZW50aWFsbHkgYnlwYXNzaW5nIENPUlMgaXNzdWVzXG4gICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJylcbiAgICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICdub25lJ1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKVxuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCBhIGRvd25sb2FkIFVSTFxuICAgICAgY29uc3QgZG93bmxvYWRVcmwgPSB1cmwgKyAodXJsLmluZGV4T2YoJz8nKSA9PT0gLTEgPyAnPycgOiAnJicpICsgJ2Rvd25sb2FkPXRydWUnXG5cbiAgICAgIC8vIENyZWF0ZSBhIGxpbmsgaW5zaWRlIHRoZSBpZnJhbWUgYW5kIGNsaWNrIGl0XG4gICAgICBjb25zdCBkb2MgPSBpZnJhbWUuY29udGVudERvY3VtZW50IHx8IGlmcmFtZS5jb250ZW50V2luZG93Py5kb2N1bWVudFxuICAgICAgaWYgKGRvYykge1xuICAgICAgICBjb25zdCBhID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2EnKVxuICAgICAgICBhLmhyZWYgPSBkb3dubG9hZFVybFxuICAgICAgICBhLmRvd25sb2FkID0gZmlsZU5hbWVcbiAgICAgICAgYS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnXG4gICAgICAgIGRvYy5ib2R5LmFwcGVuZENoaWxkKGEpXG4gICAgICAgIGEuY2xpY2soKVxuICAgICAgICBkb2MuYm9keS5yZW1vdmVDaGlsZChhKVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0lmcmFtZSBkb3dubG9hZCBhcHByb2FjaCBmYWlsZWQ6JywgZSlcblxuICAgICAgLy8gTGFzdCByZXNvcnQgLSB0cnkgZG93bmxvYWQgYXR0cmlidXRlIG9uIGFuY2hvciB0YWdcbiAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcbiAgICAgIGEuaHJlZiA9IHVybFxuICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lXG4gICAgICBhLnRhcmdldCA9ICdfc2VsZicgLy8gSW1wb3J0YW50OiB1c2UgX3NlbGYgaW5zdGVhZCBvZiBfYmxhbmtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSlcbiAgICAgIGEuY2xpY2soKVxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKVxuICAgIH0gZmluYWxseSB7XG4gICAgICAvLyBDbGVhbiB1cCB0aGUgaWZyYW1lXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY29udGFpbnMoaWZyYW1lKSkge1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaWZyYW1lKVxuICAgICAgICB9XG4gICAgICB9LCAxMDAwKVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxuICA8ZGl2IGNsYXNzPVwidGVhY2hlcnMtbm90ZS1oZWFkZXJcIj57eyAnYXBwdG9jc2luZ2xlcGFnZS50ZWFjaGVyc05vdGVIZWFkaW5nJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImhhc0FjdGl2ZURvd25sb2FkcygpXCIgKGNsaWNrKT1cImRvd25sb2FkQWxsQ29udGVudCgpXCIgY2xhc3M9XCJkb3dubG9hZC1hbGwgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIWlzRG93bmxvYWRpbmdBbGxcIj57eyAnYXBwdG9jc2luZ2xlcGFnZS5kb3duYWxvYWRBbGxQZGZzJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaXNEb3dubG9hZGluZ0FsbFwiIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPG1hdC1zcGlubmVyIGRpYW1ldGVyPVwiMTZcIiBjbGFzcz1cIm1yLTJcIj48L21hdC1zcGlubmVyPlxuICAgICAgICBEb3dubG9hZGluZ1xuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZ3VpZGUtY29udGFpbmVyXCIgKm5nSWY9XCJjb250ZW50Py5yZWZlcmVuY2VOb2Rlc1wiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBub3RlIG9mIGNvbnRlbnQ/LnJlZmVyZW5jZU5vZGVzXCI+XG4gICAgPGRpdiBjbGFzcz1cImd1aWRlLWNhcmQgZmxleCBnYXAtNCBqdXN0aWZ5LWJldHdlZW5cIiAqbmdJZj1cIm5vdGU/LnJlc291cmNlQ2F0ZWdvcnkgPT09IG5vdGVzRGlzcGxheVR5cGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3RlLXRpdGxlXCI+e3tub3RlPy5uYW1lfX08L2Rpdj5cbiAgICAgICAgPCEtLSBUbyByZW1vdmUgdmlldyBvcHRpb24gaW4gY2FzZSBvZiBwdWJsaWMgcHJldmlldyBvZiB0b2MgIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZvclByZXZpZXdcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBwdC0yXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+XG4gICAgICAgICAgICAgIHZpc2liaWxpdHlcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG5cbiAgICAgICAgICAgIDxhIChjbGljayk9XCJwcmV2aWV3Q29udGVudChub3RlKVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpZXctcGRmXCI+e3sgJ2FwcHRvY3NpbmdsZXBhZ2Uudmlld1BERicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZG93bmxvYWQtaW5kXCI+XG4gICAgICAgICAgPGEgKGNsaWNrKT1cImRvd25sb2FkUERGKG5vdGUpXCIgY2xhc3M9XCJkb3dubG9hZC1saW5rIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFkb3dubG9hZEluUHJvZ3Jlc3Nbbm90ZS5pZGVudGlmaWVyXVwiPnt7ICdhcHB0b2NzaW5nbGVwYWdlLmRvd25sb2FkUGRmJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZG93bmxvYWRJblByb2dyZXNzW25vdGUuaWRlbnRpZmllcl1cIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxtYXQtc3Bpbm5lciBkaWFtZXRlcj1cIjE2XCIgY2xhc3M9XCJtci0yXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgICAgRG93bmxvYWRpbmdcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjwhLS0gTm8gdGVhY2hlcnMgcmVzb3VyY2VzIG1lc3NhZ2UgLS0+XG48ZGl2ICpuZ0lmPVwiIWhhc1RlYWNoZXJSZXNvdXJjZXMoKVwiIGNsYXNzPVwibm8tcmVzb3VyY2VzLW1lc3NhZ2UgbXQtNFwiPlxuICB7eyAnYXBwdG9jc2luZ2xlcGFnZS5ub1RlYWNoZXJzUmVzb3VyY2VzJyB8IHRyYW5zbGF0ZSB9fVxuPC9kaXY+Il19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class HandleClaimService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.eventData$ = new Subject();
|
|
7
|
+
}
|
|
8
|
+
getClaimData() {
|
|
9
|
+
return this.eventData$.asObservable();
|
|
10
|
+
}
|
|
11
|
+
setClaimData(reviewData) {
|
|
12
|
+
this.eventData$.next(reviewData);
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HandleClaimService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HandleClaimService, providedIn: 'root' }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HandleClaimService, decorators: [{
|
|
18
|
+
type: Injectable,
|
|
19
|
+
args: [{ providedIn: 'root' }]
|
|
20
|
+
}], ctorParameters: function () { return []; } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLWNsYWltLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vX2NvbW1vbi9jb250ZW50LXRvYy9jb250ZW50LXNlcnZpY2VzL2hhbmRsZS1jbGFpbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTs7QUFJMUMsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQjtRQUNRLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFBO0lBRHZCLENBQUM7SUFHVixZQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFBO0lBQ3pDLENBQUM7SUFFTSxZQUFZLENBQUMsVUFBZTtRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNwQyxDQUFDOytHQVZRLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRkwsTUFBTTs7NEZBRW5CLGtCQUFrQjtrQkFGOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuXG5leHBvcnQgY2xhc3MgSGFuZGxlQ2xhaW1TZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuICAgIHByaXZhdGUgZXZlbnREYXRhJCA9IG5ldyBTdWJqZWN0PGFueT4oKVxuXG4gICAgcHVibGljIGdldENsYWltRGF0YSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ldmVudERhdGEkLmFzT2JzZXJ2YWJsZSgpXG4gICAgfVxuXG4gICAgcHVibGljIHNldENsYWltRGF0YShyZXZpZXdEYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5ldmVudERhdGEkLm5leHQocmV2aWV3RGF0YSlcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ReviewComponentDataService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.reviewData$ = new Subject();
|
|
7
|
+
}
|
|
8
|
+
getReviewData() {
|
|
9
|
+
return this.reviewData$.asObservable();
|
|
10
|
+
}
|
|
11
|
+
setReviewData(reviewData) {
|
|
12
|
+
this.reviewData$.next(reviewData);
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReviewComponentDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReviewComponentDataService, providedIn: 'root' }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReviewComponentDataService, decorators: [{
|
|
18
|
+
type: Injectable,
|
|
19
|
+
args: [{ providedIn: 'root' }]
|
|
20
|
+
}], ctorParameters: function () { return []; } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aWV3LWNvbXBvbmVudC1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vX2NvbW1vbi9jb250ZW50LXRvYy9jb250ZW50LXNlcnZpY2VzL3Jldmlldy1jb21wb25lbnQtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTs7QUFJMUMsTUFBTSxPQUFPLDBCQUEwQjtJQUNuQztRQUNRLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQTtJQUR4QixDQUFDO0lBR1YsYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDMUMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFlO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7K0dBVlEsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FGYixNQUFNOzs0RkFFbkIsMEJBQTBCO2tCQUZ0QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5cbmV4cG9ydCBjbGFzcyBSZXZpZXdDb21wb25lbnREYXRhU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7IH1cbiAgICBwcml2YXRlIHJldmlld0RhdGEkID0gbmV3IFN1YmplY3Q8YW55PigpXG5cbiAgICBwdWJsaWMgZ2V0UmV2aWV3RGF0YSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXZpZXdEYXRhJC5hc09ic2VydmFibGUoKVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRSZXZpZXdEYXRhKHJldmlld0RhdGE6IGFueSkge1xuICAgICAgICB0aGlzLnJldmlld0RhdGEkLm5leHQocmV2aWV3RGF0YSlcbiAgICB9XG59XG4iXX0=
|